@charset "UTF-8";
:root{--forest:#173c2c;--green:#256247;--green-light:#e9f2eb;--leaf:#a8bd70;--ink:#1f3029;--muted:#6e7c73;--line:#e1e7df;--surface:#fff;--canvas:#f5f7f2;--yellow:#f4eed5;--red:#a43d3d;--radius:14px;--shadow:0 3px 18px #1b3c2910}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #91af70;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:6px;font-size:32px;font-weight:650;line-height:1.2;letter-spacing:-1.1px}h2{font-size:18px;line-height:1.4;font-weight:650;letter-spacing:-.3px;margin-bottom:0}h3{font-size:14px;font-weight:650;line-height:1.5;margin-bottom:0}p{margin-bottom:14px}small{font-size:12px}strong{font-weight:650}.muted{color:var(--muted)}.small{font-size:12px}.nowrap{white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:-80px;left:16px;padding:12px 18px;background:var(--forest);color:white;border-radius:8px}.skip-link:focus{top:12px}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}.sidebar{background:var(--surface);border-right:1px solid var(--line);padding:30px 18px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:20}.brand{display:flex;align-items:center;gap:11px;color:var(--forest);font-size:17px;font-weight:700;line-height:1.2;letter-spacing:-.3px;padding:0 8px}.brand small{display:block;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.3px;margin-top:6px}.brand-mark{display:grid;place-items:center;flex:0 0 auto;height:40px;width:40px;background:var(--forest);color:#f4f8eb;border-radius:13px 13px 13px 4px;font-size:15px;letter-spacing:-.8px}.nav-caption{margin:42px 14px 13px;color:#89948c;font-size:10px;letter-spacing:1.3px;text-transform:uppercase}.nav-list{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 14px;color:#6c7870;border-radius:8px;font-weight:500;font-size:13px;transition:background .15s,color .15s}.nav-item:hover{background:#f3f6ef;color:var(--forest)}.nav-item.active{background:var(--green-light);color:var(--forest);font-weight:650}.nav-symbol{display:inline-flex;align-items:center;justify-content:center;width:19px;font-size:20px;font-weight:400;line-height:1}.sidebar-bottom{margin-top:auto;padding:28px 12px 0}.export-link{display:flex;align-items:center;gap:10px;color:var(--green);font-size:12px;font-weight:600;padding:12px 0}.export-link:hover{text-decoration:underline}.workspace-note{display:flex;align-items:center;gap:7px;font-size:10px;color:#87938a;border-top:1px solid var(--line);padding-top:17px;margin-top:10px}.status-dot{background:#77a36b;border-radius:50%;width:5px;height:5px;flex-shrink:0}.main-shell{min-width:0}.topbar{height:81px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fbfcf9}.topbar-company{font-size:10px;letter-spacing:1.7px;color:#758177;font-weight:650}.topbar-company span{color:#a5ada4;font-weight:400;letter-spacing:1px;margin-left:8px}.account-area{display:flex;align-items:center;gap:20px}.account-name{font-size:12px;font-weight:600;text-align:right;line-height:1.4}.account-name small{display:block;color:var(--muted);font-weight:400;font-size:10px;margin-top:2px}.account-area form{margin:0}.main-content{max-width:1560px;margin:0 auto;padding:37px 42px 20px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading p{color:var(--muted);margin:9px 0 0;font-size:13px}.eyebrow{font-size:9px;font-weight:700;color:#73866b;letter-spacing:1.7px;margin-bottom:12px}.page-footer{margin-top:42px;padding:18px 0 0;border-top:1px solid var(--line);font-size:10px;color:#9aa397;letter-spacing:.3px}.button{min-height:39px;padding:9px 15px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:7px;font-size:12px;font-weight:600;line-height:1.45;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s}.button-primary{background:var(--green);color:#fff;box-shadow:0 3px 6px #265e4710}.button-primary:hover{background:var(--forest);box-shadow:0 4px 10px #265e4720}.button-secondary{background:#fff;border-color:#d9e1d5;color:#46604b}.button-secondary:hover{background:#f1f5ed;border-color:#c7d3be}.button-quiet{background:transparent;color:#758070;border-color:var(--line)}.button-quiet:hover{background:#edf2e8}.button-small{min-height:31px;padding:5px 10px;font-size:11px}.button-full{width:100%}.button.is-busy{opacity:.6;cursor:wait}.text-link{font-size:12px;font-weight:600;color:var(--green)}.text-link:hover{text-decoration:underline}.text-link span{margin-left:5px}.back-link{display:inline-flex;color:var(--muted);font-size:12px;margin-bottom:22px}.back-link:hover{color:var(--green)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:27px 0 15px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:30px}.stat-card{padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}.stat-card:hover{border-color:#b8c6ab;box-shadow:var(--shadow)}.stat-label{font-size:12px;color:#7b867b}.stat-card strong{font-size:34px;line-height:1.25;letter-spacing:-1px;color:var(--forest);margin:10px 0 17px}.stat-meta{color:var(--green);font-size:11px;display:flex;justify-content:space-between;align-items:center}.balance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:15px}.balance-card{padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0}.balance-card:first-child{background:#edf3e7;border-color:#d7e2ca}.balance-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:21px}.balance-card-top h3{font-size:12px;color:#596b50}.balance-dot{height:6px;width:6px;border-radius:50%;background:#9ab67b;flex-shrink:0}.balance-value{margin-top:20px;font-size:37px;letter-spacing:-1.6px;font-weight:600;line-height:1.15;color:var(--forest);overflow-wrap:anywhere}.balance-value span{font-size:12px;letter-spacing:0;color:#728069;font-weight:400;margin-left:2px}.balance-caption{font-size:11px;color:#839079;margin-top:5px}.balance-breakdown{padding-top:15px;margin:18px 0 0;border-top:1px solid #dfe6d7;display:flex;flex-direction:column;gap:6px;font-size:10px}.balance-breakdown div{display:flex;justify-content:space-between;gap:9px}.balance-breakdown dt{color:#87917e}.balance-breakdown dd{margin:0;color:#536347;text-align:right;white-space:nowrap}.balance-origin{margin-top:14px;color:#929b8a;font-size:9px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.section-space{margin-top:27px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 24px 20px}.panel-heading h2{font-size:16px}.panel-heading p{margin:6px 0 0;color:var(--muted);font-size:11px}.table-scroll{overflow-x:auto;width:100%}.data-table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.data-table th{font-size:9px;text-transform:uppercase;letter-spacing:.9px;font-weight:600;color:#8b9689;background:#f9faf7;padding:12px 23px;border-top:1px solid #edf0e8;border-bottom:1px solid #edf0e8;white-space:nowrap}.data-table td{padding:17px 23px;border-bottom:1px solid #eef1eb;vertical-align:middle;line-height:1.5}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fcfdfb}.table-primary{font-size:12px;font-weight:600;color:#3c5140}.table-primary:hover{color:var(--green);text-decoration:underline}.table-secondary{font-size:10px;color:#99a18f;margin-top:3px}.table-action{text-align:right;white-space:nowrap}.date-separator{font-size:12px;color:#a5ada0;margin:0 9px}.badge{display:inline-flex;align-items:center;gap:5px;line-height:1.4;padding:5px 9px;border-radius:5px;font-size:10px;font-weight:500;background:#eef1eb;color:#71806b;white-space:nowrap}.badge::before{content:"";width:4px;height:4px;background:currentColor;border-radius:50%;flex-shrink:0}.badge-approved,.badge-success,.badge-active{background:#ecf4e8;color:#62804f}.badge-pending,.badge-warning{background:#faf3dd;color:#a48a3b}.badge-rejected,.badge-error,.badge-danger{background:#faeaea;color:#b27676}.badge-withdrawn,.badge-inactive,.badge-archived{background:#eef0ed;color:#8b9385}.badge-in-progress{background:#f7eee2;color:#a68251}.count-pill{background:#edf2e7;border:1px solid #e0e7d8;border-radius:7px;padding:7px 13px;font-size:11px;color:#6c825a;white-space:nowrap}.empty-state{text-align:center;padding:48px 24px}.empty-icon{font-size:29px;color:#9bad8e;display:inline-flex;align-items:center;justify-content:center;height:56px;width:56px;border:1px solid #e3eadc;border-radius:16px;background:#f5f8f0;margin-bottom:16px}.empty-state h3{font-size:15px;color:#617258;margin-bottom:7px}.empty-state p{max-width:400px;margin:0 auto;color:#939d89;font-size:12px}.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.quick-links>a{display:flex;align-items:center;gap:15px;padding:18px 21px;border:1px solid var(--line);border-radius:12px;background:#fafbf7}.quick-links>a:hover{border-color:#b9c9ac;background:#f0f5e9}.quick-links>a>span:first-child{font-size:24px;color:#8da17c}.quick-links>a>span:last-child{margin-left:auto;color:#a0ad92;font-size:16px}.quick-links strong{display:block;font-size:12px;color:#586d4b}.quick-links small{display:block;font-size:10px;color:#99a18f;margin-top:3px}.filter-bar{display:flex;align-items:end;gap:12px;padding:19px 23px;border-bottom:1px solid var(--line);flex-wrap:wrap}.filter-bar .field{margin-bottom:0;min-width:160px}.field-grow{flex:1}.field label,.django-form label{display:block;font-size:12px;font-weight:600;color:#56684c;margin-bottom:7px}.field input,.field select,.field textarea,.django-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.django-form select,.django-form textarea{display:block;width:100%;border:1px solid #dbe3d3;background:#fff;border-radius:7px;min-height:41px;padding:10px 12px;color:#3f5136;line-height:1.45;transition:border-color .15s}.field input::placeholder,.django-form input::placeholder{color:#a2ab9a}.field select,.django-form select{padding-right:30px}.field textarea,.django-form textarea{min-height:110px;resize:vertical}.field input:hover,.field select:hover,.django-form input:hover,.django-form select:hover{border-color:#b6c7a7}.field input:focus,.field select:focus,.field textarea:focus,.django-form input:focus,.django-form select:focus,.django-form textarea:focus{border-color:#8ea676;outline:none;box-shadow:0 0 0 3px #dae7cb70}.stack-form{display:flex;flex-direction:column;gap:20px;margin-top:29px}.django-form p{margin-bottom:21px}.django-form .helptext{display:block;margin-top:7px;color:#98a18e;font-size:11px}.django-form ul{list-style:none;padding:0;margin:7px 0}.django-form .errorlist{color:var(--red);background:#fff2ef;border-radius:7px;padding:9px 12px;font-size:12px;margin-bottom:13px}.django-form input[type=checkbox],.django-form input[type=radio]{accent-color:var(--green);height:16px;width:16px;vertical-align:middle;margin-right:6px}.form-layout{display:grid;grid-template-columns:minmax(0,680px) minmax(220px,290px);gap:25px;align-items:start}.form-panel{padding:28px 30px}.form-actions{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:23px;margin-top:26px;flex-wrap:wrap}.help-panel{background:#eef3e7;padding:25px;border:1px solid #dfe8d6;border-radius:var(--radius);color:#839176;font-size:12px}.help-panel h2{font-size:14px;color:#5c724b;margin:14px 0 12px}.help-panel p:last-child{margin-bottom:0}.help-icon{display:grid;place-items:center;width:24px;height:24px;border:1px solid #a9ba98;color:#8a9f76;border-radius:50%;font-size:14px}.notice{padding:13px 17px;border-radius:9px;background:#edf3e8;border:1px solid #dce7d3;color:#617952;font-size:12px;margin-bottom:20px}.notice-error,.notice-danger{background:#fceee9;color:#a8604e;border-color:#f0d6cc}.notice-success{background:#eaf4e5;color:#557f40;border-color:#d4e5c9}.notice-warning{background:#faf4e3;color:#9a813c;border-color:#ebdfb9}.notice-info{background:#edf2e8;color:#738565;border-color:#dfe6d7}.pagination{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 23px;border-top:1px solid var(--line)}.pagination>div{display:flex;gap:7px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:22px;align-items:start}.detail-section{padding:24px}.detail-section+.detail-section{border-top:1px solid var(--line)}.detail-section h2{font-size:15px;margin-bottom:18px}.key-values{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px;margin:0}.key-values>div.full-width{grid-column:1/-1}.key-values dt{font-size:10px;color:#99a18f;margin-bottom:6px}.key-values dd{margin:0;font-size:13px;color:#506145;overflow-wrap:anywhere}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.timeline{list-style:none;padding:0;margin:0}.timeline li{position:relative;padding:0 0 23px 23px;border-left:1px solid #e2e8da;margin-left:5px}.timeline li:last-child{border-left-color:transparent;padding-bottom:0}.timeline li::before{content:"";position:absolute;left:-4px;top:6px;width:7px;height:7px;background:#a9bd92;border:2px solid #edf4e7;border-radius:50%}.timeline-title{font-size:12px;font-weight:600;color:#5b6e4b}.timeline-meta{font-size:10px;color:#9aa28f;margin-top:4px}.timeline-comment{font-size:12px;color:#89957c;margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.profile-heading{display:flex;align-items:center;gap:20px}.person-avatar{width:60px;height:60px;border-radius:18px;background:#e2edda;color:#789065;display:grid;place-items:center;font-size:24px;flex-shrink:0}.profile-contact{display:flex;gap:24px;flex-wrap:wrap;margin-top:14px;color:#839175;font-size:12px}.document-name{display:flex;align-items:center;gap:12px}.file-icon{display:grid;place-items:center;width:32px;height:39px;border-radius:5px;background:#eef3e8;color:#8fa27d;font-size:9px;font-weight:650;flex-shrink:0}.document-note{padding:17px 23px;background:#fafbf8;border-top:1px solid var(--line);font-size:11px;color:#97a38b}.time-summary{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.time-summary strong{font-size:26px;color:var(--forest);letter-spacing:-.8px}.time-summary small{display:block;color:#8e9b82;font-size:10px}.login-body{background:#fff}.login-layout{min-height:100vh;display:grid;grid-template-columns:47% 53%}.login-story{position:relative;overflow:hidden;background:#183d2d;color:#fff;padding:45px 52px;display:flex;flex-direction:column;isolation:isolate}.login-brand{color:#f6f8ee;padding:0}.login-brand small{color:#91a88c}.login-brand .brand-mark{background:#416447;color:#edf4dc;border:1px solid #4d7250}.login-intro{margin:auto 0;padding:70px 0 80px;position:relative;z-index:2}.login-intro .eyebrow{color:#9ab884;letter-spacing:2px;font-size:10px}.login-intro h1{font-size:clamp(36px,4.3vw,66px);font-weight:500;letter-spacing:-2px;line-height:1.13;margin:21px 0 24px}.login-intro h1 span{color:#abc085}.login-intro p{color:#9fb392;font-size:13px;line-height:1.9}.login-story-footer{font-size:10px;letter-spacing:1px;color:#8aa17a;z-index:2}.field-lines{position:absolute;bottom:-150px;left:20%;width:900px;height:570px;border:1px solid #547744;border-radius:45%;transform:rotate(-34deg);z-index:-1;opacity:.3;box-shadow:0 0 0 32px #0000,0 0 0 33px #547744,0 0 0 66px #0000,0 0 0 67px #547744,0 0 0 100px #0000,0 0 0 101px #547744,0 0 0 134px #0000,0 0 0 135px #547744}.login-form-side{display:grid;place-items:center;padding:45px;background:#fcfdfb}.login-card{width:100%;max-width:350px}.login-card .eyebrow{color:#9ba68e}.login-card h2{font-size:28px;font-weight:600;letter-spacing:-.9px;margin-bottom:9px}.login-card>.muted{font-size:12px}.login-help{font-size:10px;color:#a2aa99;margin-top:27px;line-height:1.8;text-align:center}.login-card .button{min-height:43px;font-size:12px;justify-content:space-between;padding-left:16px;padding-right:16px}.calendar-toolbar{padding:20px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.calendar-navigation{display:flex;gap:9px;align-items:center}.icon-button{display:grid;place-items:center;width:32px;height:33px;border:1px solid #dce4d4;border-radius:6px;background:#fff;color:#849573;font-size:19px;line-height:1}.icon-button:hover{background:#f1f5eb}.calendar-period{font-size:17px;min-width:225px;line-height:1.3;margin-left:10px;text-transform:capitalize;color:#526849}.segmented-control{display:inline-flex;border:1px solid #dce4d4;border-radius:6px;overflow:hidden;background:#f8faf5}.segmented-control button{border:0;border-left:1px solid #dce4d4;background:transparent;color:#89997b;font-size:11px;padding:7px 13px;min-height:32px}.segmented-control button:first-child{border-left:0}.segmented-control button[aria-pressed=true]{background:#e8f0df;color:#557246}.calendar-tools{display:flex;align-items:center;gap:12px}.calendar-filters{display:flex;align-items:end;gap:12px;padding:14px 23px;border-bottom:1px solid var(--line);flex-wrap:wrap;background:#fbfcf9}.calendar-filters .field{min-width:160px;flex:1;max-width:230px}.calendar-filters .field label{font-size:9px;font-weight:500;color:#98a38c;margin-bottom:4px}.calendar-filters .field select,.calendar-filters .field input{min-height:34px;padding:6px 9px;font-size:11px}.calendar-status{font-size:10px;color:#95a086;margin-left:auto;min-height:16px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekday{padding:12px;text-align:left;font-size:9px;font-weight:600;color:#8b9a7e;letter-spacing:.6px;border-bottom:1px solid var(--line);background:#fbfcf9}.calendar-weekday.weekend{color:#abb49f}.calendar-day{padding:9px 7px 12px;min-height:130px;border-right:1px solid #e8ede2;border-bottom:1px solid #e8ede2;min-width:0;background:#fff}.calendar-day:nth-child(7n){border-right:0}.calendar-day.is-outside{background:#fafbf8}.calendar-day.is-outside .day-number{color:#bbc3b2}.calendar-day.is-weekend{background:#fcfdfb}.day-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;padding:0 3px}.day-number{font-size:11px;color:#8a977d;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;font-weight:500}.calendar-day.is-today .day-number{background:var(--green);color:#fff}.day-event-count{font-size:8px;color:#bac3b0}.day-events{display:flex;flex-direction:column;gap:4px}.calendar-event{display:block;width:100%;min-width:0;border-radius:4px;padding:5px 6px;background:#eaf1e3;border-left:2px solid #96b37e;text-align:left;color:#72925a;line-height:1.35;overflow:hidden;font-size:9px;white-space:normal}.calendar-event a{color:inherit}.calendar-event.event-birthday{background:#faf2d9;border-left-color:#cfb266;color:#a9904c}.calendar-event.event-pending{background:#f5f1e6;border-left-color:#c6b98c;color:#a99b73}.calendar-event-title{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis}.calendar-event-type{display:block;font-size:8px;opacity:.85;margin-top:1px}.calendar-event[href]:hover{filter:brightness(.96);text-decoration:underline}.calendar-grid.is-week .calendar-day{min-height:360px}.calendar-legend{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:15px 23px;color:#98a38c;font-size:10px}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:7px;height:7px;border-radius:2px;background:#a4bd8e}.legend-dot.birthday{background:#d7be77}.legend-dot.pending{background:#c7ba91}.calendar-privacy{font-size:10px;color:#a2ac98;padding:0 23px 17px}.calendar-error{margin:18px 23px}.calendar-loading{opacity:.55;pointer-events:none}.calendar-scroll{overflow-x:auto}.calendar-grid{min-width:660px}.error-page{max-width:600px;margin:75px auto;text-align:center}.error-code{font-size:66px;letter-spacing:-3px;color:#b9c7ab;font-weight:500;margin-bottom:13px}
@media(min-width:1500px){.balance-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.main-content{padding-left:54px;padding-right:54px}.topbar{padding-left:54px;padding-right:54px}}
@media(max-width:1200px){.app-shell{grid-template-columns:215px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.brand{font-size:15px;gap:9px}.main-content{padding:30px 28px 20px}.topbar{padding:0 28px}.balance-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.data-table th,.data-table td{padding-left:17px;padding-right:17px}.detail-grid{grid-template-columns:minmax(0,1fr) 280px}.form-layout{grid-template-columns:minmax(0,1fr) 240px}.calendar-period{font-size:15px;min-width:185px}.login-story{padding:38px}}
@media(max-width:960px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:25px 9px 17px}.brand{font-size:13px;gap:8px;padding:0 5px}.brand-mark{width:34px;height:36px;font-size:13px}.brand small{font-size:9px}.nav-item{padding:10px 10px;gap:9px;font-size:11px}.nav-caption{font-size:8px;letter-spacing:1px;margin-left:11px}.sidebar-bottom{padding-left:8px;padding-right:8px}.workspace-note{font-size:8px}.export-link{font-size:10px}.main-content{padding:28px 22px 20px}.topbar{padding:0 22px;height:72px}.topbar-company{font-size:9px}.topbar-company span{display:none}h1{font-size:28px}.stats-grid{gap:10px}.stat-card{padding:16px}.stat-label{font-size:10px}.stat-card strong{font-size:29px}.stat-meta{font-size:9px}.detail-grid{grid-template-columns:1fr}.form-layout{grid-template-columns:1fr}.help-panel{max-width:none;display:none}.section-heading>.small{display:none}.page-heading{gap:15px}.page-heading .button{font-size:10px;padding:8px 11px}.quick-links{gap:10px}.quick-links>a{padding:15px;gap:10px}.quick-links strong{font-size:11px}.quick-links small{font-size:9px}.calendar-toolbar{padding:16px}.calendar-filters{padding:13px 16px}.calendar-filters .field{min-width:130px}.calendar-period{min-width:160px}.login-story{padding:30px}.login-intro h1{font-size:44px}.login-form-side{padding:35px}.login-card h2{font-size:25px}}
@media(max-width:720px){.app-shell{display:block}.sidebar{position:static;height:auto;padding:18px 16px 0;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:16px}.brand small{display:none}.brand-mark{width:32px;height:32px;border-radius:10px 10px 10px 3px}.nav-caption,.sidebar-bottom{display:none}.nav-list{flex-direction:row;gap:4px;margin-top:17px;overflow-x:auto;padding-bottom:10px;scrollbar-width:thin}.nav-item{flex-shrink:0;padding:9px 12px;font-size:11px;gap:7px}.nav-symbol{font-size:16px;width:16px}.topbar{height:57px;padding:0 20px}.topbar-company{font-size:8px}.account-area{gap:12px}.account-name{font-size:10px}.account-name small{font-size:8px}.main-content{padding:25px 19px 18px}.page-heading{align-items:flex-start;margin-bottom:22px;gap:15px}.page-heading p{font-size:11px;max-width:330px}.page-heading .button{margin-top:7px;font-size:9px;white-space:normal;min-width:100px;text-align:center;min-height:35px;padding:8px}.eyebrow{font-size:8px;margin-bottom:9px}h1{font-size:25px;letter-spacing:-.8px}h2{font-size:16px}.stats-grid{gap:8px;margin-bottom:23px}.stat-card{padding:14px 12px}.stat-label{font-size:8px;line-height:1.6}.stat-card strong{font-size:26px;margin:8px 0 12px}.stat-meta{font-size:8px;gap:4px}.balance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.balance-card{padding:17px}.balance-card-top h3{font-size:11px}.balance-value{font-size:32px;margin-top:17px}.balance-breakdown{font-size:9px;gap:7px}.balance-caption{font-size:10px}.balance-origin{font-size:8px}.panel-heading{padding:19px 18px;gap:12px}.panel-heading h2{font-size:14px}.panel-heading p{font-size:10px}.text-link{font-size:10px}.data-table{font-size:10px}.data-table th{font-size:8px}.data-table th,.data-table td{padding:13px 15px}.table-primary{font-size:11px}.table-secondary{font-size:9px}.badge{font-size:8px;padding:4px 7px}.quick-links{grid-template-columns:1fr}.quick-links>a{padding:16px 19px}.quick-links strong{font-size:12px}.quick-links small{font-size:10px}.filter-bar{padding:15px;gap:9px}.filter-bar .field{min-width:120px}.filter-bar .field-grow{min-width:100%}.field input,.field select,.django-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.django-form select{font-size:14px}.form-panel{padding:23px 20px}.form-actions .button{font-size:11px}.key-values{gap:20px 18px}.key-values dd{font-size:12px}.detail-section{padding:22px 20px}.pagination{padding:15px;gap:10px}.pagination>.small{font-size:9px}.calendar-toolbar{padding:14px;gap:14px}.calendar-period{font-size:14px;min-width:0;margin-left:5px}.calendar-navigation{gap:6px;flex-wrap:wrap}.calendar-tools{width:100%;justify-content:space-between}.calendar-filters{padding:12px 14px;gap:10px}.calendar-filters .field{min-width:120px;max-width:none}.calendar-status{flex-basis:100%;margin-left:0}.calendar-legend{padding:14px;font-size:9px;gap:12px}.calendar-privacy{padding-left:14px;padding-right:14px;font-size:9px}.calendar-grid{min-width:620px}.calendar-day{min-height:110px}.calendar-grid.is-week .calendar-day{min-height:260px}.calendar-error{margin:14px}.profile-heading{gap:13px}.person-avatar{width:47px;height:47px;border-radius:14px;font-size:20px}.profile-contact{gap:12px}.count-pill{font-size:9px;padding:6px 9px}.login-layout{display:flex;flex-direction:column;min-height:100vh}.login-story{padding:23px 25px 25px;min-height:220px}.login-brand{font-size:16px}.login-brand small{display:block;font-size:9px}.login-intro{padding:27px 0 0;margin:0}.login-intro .eyebrow,.login-intro p,.login-story-footer{display:none}.login-intro h1{font-size:28px;letter-spacing:-.7px;line-height:1.25;margin:0}.login-intro h1 br{display:none}.login-intro h1 span{display:block}.login-form-side{padding:35px 25px 45px;flex:1;align-items:start}.login-card{max-width:400px}.login-card .eyebrow{font-size:8px}.login-card h2{font-size:25px}.login-help{font-size:10px}.page-footer{font-size:9px}}
@media(max-width:380px){.balance-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr}.stat-card{display:grid;grid-template-columns:1fr auto}.stat-card strong{grid-column:2;grid-row:1/3;margin:0}.stat-meta{margin-top:7px}.stat-label,.stat-meta{font-size:10px}.topbar-company{display:none}.account-area{width:100%;justify-content:space-between}.account-name{text-align:left}.page-heading{flex-direction:column}.page-heading .button{align-self:flex-start}.key-values{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{.sidebar,.topbar,.page-footer,.button,.filter-bar,.form-actions,.calendar-tools,.calendar-filters,.quick-links{display:none!important}.app-shell{display:block}.main-content{padding:0;max-width:none}.panel{border:1px solid #ddd;box-shadow:none}.data-table{font-size:9px}.calendar-grid{min-width:0}.calendar-day{min-height:80px}.page-heading{margin-bottom:20px}.balance-card{break-inside:avoid}body{background:#fff;color:#000}.table-scroll{overflow:visible}}
.balance-unbounded{font-size:20px;line-height:1.3;font-weight:600;letter-spacing:-.4px;color:var(--forest);margin-top:22px;min-height:40px}.button-danger{background:#fff2ef;border-color:#efdad0;color:#a76a56}.button-danger:hover{background:#fae6df;border-color:#e6bfae}.day-number{background:transparent;border:0;padding:0;cursor:pointer}.day-number:hover{background:#eaf0e2}.calendar-more{padding:3px 6px;border:0;background:transparent;color:#8e9e7b;font-size:9px;text-align:left;border-radius:3px}.calendar-more:hover{background:#f0f4e9;color:#5b7946}.calendar-day-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;padding:0 23px 23px}.calendar-day-list .calendar-event{padding:13px 15px;font-size:12px;border-left-width:3px}.calendar-day-list .calendar-event-type{font-size:10px;margin-top:4px}.stat-card strong.time-total{font-size:22px;line-height:1.65;letter-spacing:-.5px;overflow-wrap:anywhere}.data-table .table-secondary.preserve-lines{min-width:130px;max-width:300px}.messages:empty{display:none}
.settings-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:24px}.settings-action{display:flex;flex-direction:column;padding:23px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.settings-action:hover{border-color:#b5c5a6;box-shadow:var(--shadow)}.settings-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#edf3e6;color:#92aa7b;font-size:23px;margin-bottom:15px}.settings-action h2{font-size:14px;margin-bottom:10px}.settings-action p{font-size:11px;color:#8c9a7f;flex:1}.settings-action .text-link{font-size:11px;margin-top:9px}.role-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:19px 23px;background:#edf3e6;border:1px solid #dfe8d3;border-radius:var(--radius);margin-bottom:24px}.role-guide h2{font-size:12px;color:#607b4a;margin-bottom:6px}.role-guide p{font-size:10px;color:#8a9e77;margin:0}@media(max-width:960px){.settings-actions{grid-template-columns:1fr}.settings-action{padding:19px;display:block}.settings-icon{float:left;margin-right:16px;margin-bottom:0}.settings-action h2{margin-bottom:5px}.settings-action p{margin-bottom:12px;margin-left:51px}.settings-action .text-link{display:block;margin-left:51px}.role-guide{gap:15px;padding:18px}}@media(max-width:720px){.role-guide{grid-template-columns:1fr;gap:14px}.role-guide h2{font-size:12px}.role-guide p{font-size:11px}}
.google-signin{margin-top:26px}.login-card .google-signin .button{justify-content:center;background:#fff;color:#4a5d40}.login-divider{display:flex;align-items:center;gap:15px;color:#9aa78e;font-size:10px;margin:22px 0 -6px}.login-divider::before,.login-divider::after{content:"";height:1px;background:var(--line);flex:1}.login-provider-note{font-size:10px;text-align:center;color:#94a085;margin:16px 0 -9px}
/* Keep small informational text readable on the pale surfaces. */
.heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.settings-actions{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:960px){.settings-actions{grid-template-columns:1fr}}
.mobile-calendar-hint{display:none}@media(max-width:720px){.mobile-calendar-hint{display:block;padding:10px 14px;color:#6c7c61;font-size:9px;border-bottom:1px solid var(--line);background:#fafcf6}}
.demo-banner{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border:1px solid #e5ddbf;background:#faf5e6;color:#8a7743;border-radius:7px;padding:9px 13px;font-size:10px;margin-bottom:22px}.demo-banner span{font-weight:700;color:#78612b}.login-card .demo-banner{font-size:9px;padding:8px 11px;margin-bottom:24px}
.notification-preview{font-size:10px;margin-top:9px;color:#6c7c61;max-width:500px}.notification-preview summary{cursor:pointer;color:var(--green)}.notification-preview p{margin:10px 0 0;padding:12px 14px;background:#f5f8f0;border:1px solid var(--line);border-radius:7px;line-height:1.8}
.language-switcher{display:flex;align-items:center;gap:6px;margin:0}.language-switcher select{max-width:106px;min-height:31px;background:#fff;border:1px solid var(--line);color:#65765b;border-radius:6px;padding:5px 7px;font-size:10px}.login-language{display:flex;justify-content:flex-end;margin-bottom:22px}.login-language .language-switcher select{max-width:120px}.account-area .language-switcher{margin:0}@media(max-width:720px){.topbar-company{display:none}.account-area{justify-content:space-between;width:100%;gap:10px}.language-switcher select{max-width:95px;font-size:10px}.account-name{margin-left:auto}.login-intro h1 br::after{content:' '}}
.table-secondary,.balance-caption,.balance-breakdown dt,.balance-origin,.panel-heading p,.key-values dt,.timeline-meta,.document-note,.calendar-status,.calendar-privacy,.calendar-legend,.calendar-filters .field label,.login-help,.login-provider-note,.login-divider,.settings-action p,.role-guide p{color:#6c7c61}.data-table th,.calendar-weekday{color:#65775a}.badge-pending,.badge-warning{color:#80691f}.badge-rejected,.badge-error,.badge-danger{color:#914f4f}.badge-withdrawn,.badge-inactive,.badge-archived{color:#66715d}.badge-in-progress{color:#8b6633}.calendar-event{color:#52743b}.calendar-event.event-birthday{color:#806827}.calendar-event.event-pending{color:#806e39}.calendar-event-type{opacity:1}.calendar-day:not(.is-outside) .day-number{color:#647952}.calendar-day.is-today .day-number{color:#fff}.empty-state p{color:#748367}.quick-links small{color:#748367}.django-form .helptext{color:#748367}.stat-label{color:#6c7c61}.stat-meta{color:#557540}

.balance-calculation{margin-top:20px;border-top:1px solid var(--line);padding-top:12px}.balance-calculation summary{font-size:11px;color:var(--green);cursor:pointer}.balance-calculation .balance-breakdown{margin-top:15px}.django-form p[hidden]{display:none}

/* Employee timeline keeps readable day columns and native scrolling. */
.calendar-scroll[tabindex]:focus-visible{outline-offset:-3px}
.calendar-scroll.is-timeline{max-height:var(--timeline-height,66vh);min-height:200px;overflow-x:scroll;overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:auto;overscroll-behavior:contain;background:#fff}
.calendar-grid[hidden],.calendar-timeline[hidden],.calendar-scroll-hint[hidden]{display:none}
.calendar-scroll-hint{padding:9px 23px;border-bottom:1px solid var(--line);color:#6c7c61;background:#f8faf5;font-size:10px}
.calendar-timeline{--timeline-name-width:220px;min-width:calc(var(--timeline-name-width) + var(--timeline-days)*38px);width:100%;font-size:11px}
.timeline-row{display:grid;grid-template-columns:var(--timeline-name-width) minmax(0,1fr);border-bottom:1px solid #e4e9df;min-height:55px}
.timeline-header{position:sticky;top:0;z-index:8;min-height:52px;background:#f8faf5;box-shadow:0 1px 0 #dce4d6}
.timeline-person{position:sticky;left:0;z-index:3;background:#fff;border-right:1px solid #dce4d6;box-shadow:3px 0 5px #27412d06;padding:9px 12px;display:flex;gap:9px;align-items:center;min-width:0}
.timeline-corner{background:#f8faf5;color:#526849;font-weight:650;font-size:11px}
.timeline-person-info{min-width:0;line-height:1.4}.timeline-person-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#324d36;font-size:11px;font-weight:600}.timeline-person-name[href]:hover{text-decoration:underline}.timeline-person-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#75846a;font-size:9px;margin-top:3px}.timeline-avatar{flex:0 0 29px;width:29px;height:29px;border-radius:50%;background:#eef3e8;color:#7f966d;display:grid;place-items:center;font-size:9px;font-weight:650}
.timeline-days,.timeline-track{display:grid;grid-template-columns:repeat(var(--timeline-days),minmax(0,1fr));min-width:0}
.timeline-date{border-right:1px solid #e4e9df;min-width:0;text-align:center}.timeline-date-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;height:51px;padding:4px 0;border:0;background:transparent;color:#526849}.timeline-date-button:hover{background:#eaf1e3}.timeline-date small{font-size:8px;font-weight:500;color:#8b987e}.timeline-date-button>span{display:grid;place-items:center;width:23px;height:23px;font-size:11px;font-weight:600;border-radius:50%}.timeline-date.is-weekend{background:#eef2e8}.timeline-date.is-today{background:#eaf3df}.timeline-date.is-today .timeline-date-button>span{background:var(--green);color:white}
.timeline-track{grid-template-rows:repeat(var(--timeline-lanes),minmax(22px,1fr));align-content:stretch;position:relative;min-height:54px;padding:6px 0;isolation:isolate}.timeline-day-background{z-index:-1;align-self:stretch;margin-top:-6px;margin-bottom:-6px;border-right:1px solid #edf0e8;background:#fff}.timeline-day-background.is-weekend{background:#f5f7f1}.timeline-day-background.is-today{background:#f0f6e9;border-left:1px solid #c3d5b4;border-right:1px solid #c3d5b4}
.timeline-bar{display:block;align-self:center;min-width:0;height:20px;line-height:18px;margin:1px 2px;padding:0 5px;border:1px solid #a9c58e;border-radius:4px;background:#dfeecf;color:#4b6d36;font-size:9px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;text-align:left;z-index:1}.timeline-bar[href]:hover{background:#cde2b7;border-color:#779f5d}.timeline-bar.is-pending{background:#f6edce;border:1px dashed #bcaa68;color:#806b30}.timeline-bar.is-birthday{justify-self:center;width:25px;padding:0;text-align:center;background:#fff3cf;border-color:#dbc17d;font-size:13px;line-height:18px}.timeline-bar.continues-before{border-top-left-radius:0;border-bottom-left-radius:0;border-left-style:dashed}.timeline-bar.continues-after{border-top-right-radius:0;border-bottom-right-radius:0;border-right-style:dashed}.timeline-employee-row:hover .timeline-person{background:#f7faf2}
.timeline-empty{padding:36px 23px;display:flex;flex-direction:column;gap:7px;color:#748367;position:sticky;left:0;width:min(420px,100vw - 70px)}.timeline-empty strong{font-size:13px;color:#526849}
@media(max-width:720px){.calendar-timeline{--timeline-name-width:180px}.timeline-person{padding:8px 9px;gap:6px}.timeline-avatar{display:none}.timeline-person-name{font-size:10px}.calendar-scroll-hint{padding:9px 14px;font-size:9px}.calendar-tools{gap:8px}.segmented-control button{padding:7px 9px;font-size:10px}.calendar-scroll.is-timeline{max-height:var(--timeline-height,65vh)}.calendar-filters .field{max-width:none}}
@media print{.calendar-scroll.is-timeline{max-height:none;overflow:visible}.calendar-timeline{min-width:0;--timeline-name-width:150px}.timeline-header,.timeline-person{position:static}.timeline-person-info small{white-space:normal}.timeline-bar{font-size:7px}.calendar-scroll-hint{display:none}}

/* UI-01: current demo identity and normal password-based test sign-in. */
.demo-banner{display:block}.demo-notice>span{margin-right:7px}.demo-session{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e5ddbf;margin-top:9px;padding-top:9px}.demo-session-details{min-width:0}.demo-session p{margin:0}.demo-session p+p{margin-top:4px}.demo-session code{font:inherit;font-weight:600;overflow-wrap:anywhere}.demo-session form{margin:0;flex-shrink:0}.demo-session .button{white-space:normal;text-align:center}
.demo-login-options{margin:20px 0 0;padding:15px;background:#f6f8f2;border:1px solid var(--line);border-radius:9px}.demo-login-options h3{font-size:12px}.demo-login-options p{font-size:11px;color:var(--muted);margin:5px 0 11px}.demo-login-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.demo-login-choice{display:block;min-width:0;padding:9px 10px;text-align:left;border:1px solid #d9e1d5;border-radius:7px;background:#fff;color:#46604b;font-size:11px;line-height:1.4;overflow-wrap:anywhere}.demo-login-choice:hover{background:#edf3e7;border-color:#aabf9b}.demo-login-choice code{display:block;margin-top:3px;font-family:inherit;font-size:10px;color:var(--muted)}
@media(max-width:720px){.demo-session{align-items:flex-start;flex-direction:column;gap:9px}.demo-session form{max-width:100%}}

/* UI-05: separate personal requests, approval queue and company overview. */
.table-scroll{position:relative}
.request-heading-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.request-scopes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.request-scopes .button{white-space:normal;text-align:center}.request-scopes [aria-current=page]{background:var(--green-light);border-color:#aabf9b;color:var(--forest)}
.approval-queue-card{display:flex;align-items:center;gap:16px;margin:0 0 24px;padding:17px 21px;background:#f0f5e9;border:1px solid #d7e2ca;border-radius:12px}.approval-queue-card:hover{background:#e9f1e0;border-color:#b9c9ac}.approval-queue-card>div{flex:1;min-width:0}.approval-queue-card strong{font-size:13px;color:var(--forest)}.approval-queue-card p{margin:4px 0 0;font-size:11px;color:var(--muted)}.approval-queue-card .count-pill{flex-shrink:0;font-size:16px;font-weight:650}.approval-queue-card>span:last-child{color:var(--green)}
@media(max-width:720px){.request-heading-actions{gap:9px}.request-scopes{gap:6px}.approval-queue-card{gap:10px;padding:14px}.approval-queue-card>span:last-child{display:none}}
.request-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.request-row-actions>form{margin:0}.request-row-actions>.text-link{margin-left:3px}.request-rejection-control{display:flex}
.request-reject-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:0 18px 70px #173c2c40;text-align:left;white-space:normal;overflow:auto}.request-reject-dialog::backdrop{background:#17291f80}.request-reject-dialog h2{font-size:19px}.request-reject-summary{display:flex;flex-direction:column;gap:3px;margin:16px 0 20px;padding:12px 14px;background:var(--canvas);border-radius:8px;font-size:12px;overflow-wrap:anywhere}.request-reject-summary>span{color:var(--muted)}.request-reject-dialog textarea{min-height:90px}.request-reject-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:20px}
@media(max-width:720px){.request-row-actions{gap:6px}.request-reject-dialog{padding:20px}.request-reject-buttons .button{flex:1}}
.request-reject-dialog:not([open]){display:none}

/* UI-16: request changes and the separate administrative shortening queue. */
[data-confirm-open][hidden],[data-confirm-cancel][hidden]{display:none}.request-change-dialog[data-inline-fallback]:not(.is-enhanced){position:static;width:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none}.request-change-actions>h2{margin-bottom:16px}.request-change-action{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.request-change-action>summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--green)}.request-change-action>p{margin:12px 0}.request-change-action .django-form{margin-top:16px}.request-change-action .django-form .button{white-space:normal}
.request-change-history{list-style:none;padding:0;margin:0}.request-change-history>li{padding:18px 0;border-top:1px solid var(--line)}.request-change-history>li:first-child{padding-top:0;border-top:0}.request-change-history>li:last-child{padding-bottom:0}.request-change-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.request-change-heading .badge{white-space:normal}.request-change-values{margin-top:16px;gap:14px 20px}.request-change-values dd>span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.request-change-reason{font-size:12px;margin:16px 0 0}.shortening-queue{scroll-margin-top:20px}.shortening-queue>.section-heading p{margin:5px 0 0}.shortening-queue-list{display:grid;gap:14px}.shortening-review-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px}.shortening-review-actions>form{margin:0}.shortening-review-actions .button{white-space:normal}.shortening-queue-card{background:#faf7ec;border-color:#e8dfc4}.shortening-queue-card:hover{background:#f5efd9;border-color:#d8cba4}
@media(max-width:720px){.request-change-values{grid-template-columns:1fr}.shortening-queue>.section-heading{align-items:flex-start}.request-change-heading{flex-wrap:wrap}.shortening-review-actions{gap:8px}}

/* UI-06: personal notification access using the existing controls and panels. */
.notification-control{position:relative;flex-shrink:0}.notification-bell{position:relative;display:flex;align-items:center;justify-content:center;width:35px;height:35px;border:1px solid var(--line);border-radius:7px;color:var(--green);background:#fff}.notification-bell:hover,.notification-bell[aria-expanded=true]{background:var(--green-light)}.notification-count{position:absolute;right:-6px;top:-6px;min-width:17px;padding:1px 4px;border-radius:9px;background:var(--green);color:#fff;font-size:9px;line-height:15px;text-align:center}
.notification-panel{position:absolute;right:0;top:calc(100% + 12px);z-index:60;width:min(430px,calc(100vw - 24px));max-height:min(70vh,640px);overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 10px 35px #173c2c26;font-size:13px;text-align:left}.notification-panel[hidden]{display:none}.notification-panel-heading,.notification-panel-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px}.notification-panel-heading h2{font-size:16px}.notification-panel-heading{border-bottom:1px solid var(--line)}.notification-panel-footer{border-top:1px solid var(--line)}.notification-panel-footer .button{white-space:normal}.notification-panel-empty{padding:26px 16px;color:var(--muted);font-size:12px}
.personal-notification{padding:20px 23px;border-bottom:1px solid var(--line);min-width:0;overflow-wrap:anywhere}.personal-notification:last-child{border-bottom:0}.personal-notification.is-unread{background:#f3f7ee;border-left:3px solid #8fae70;padding-left:20px}.personal-notification-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:5px 18px}.personal-notification-heading h3{font-size:13px;min-width:0}.personal-notification-heading time{font-size:10px;color:var(--muted);white-space:nowrap}.personal-notification-context{font-size:11px;color:var(--muted);margin:5px 0 0}.personal-notification-body{font-size:12px;margin:9px 0 0;white-space:pre-wrap}.personal-notification-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:12px}.personal-notification-footer form,.notification-decision-actions>form{margin:0}.notification-decision-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:13px}.notification-decision-actions .button{white-space:normal}.personal-notification .shortening-review-actions{margin-top:13px}.notification-preview-list .personal-notification{padding:15px 16px}.notification-preview-list .personal-notification.is-unread{padding-left:13px}.notification-preview-list .personal-notification-heading h3{font-size:12px}.notification-preview-list .personal-notification-body{font-size:11px}
@media(max-width:720px){.notification-panel{position:fixed;left:12px;right:12px;top:var(--notification-panel-top,72px);width:auto;max-height:calc(100dvh - var(--notification-panel-top,72px) - 12px)}.notification-bell{width:32px;height:32px}.personal-notification{padding:17px 15px}.personal-notification.is-unread{padding-left:12px}.notification-panel-heading,.notification-panel-footer{padding:13px}.personal-notification-heading{gap:5px}.personal-notification-footer{gap:8px}}
.personal-notification-change{font-size:11px;margin:8px 0 0}.personal-notification-change>span{display:block}
[data-unread-badge][hidden],[data-notification-action-state][hidden],[data-notification-dialog-state][hidden]{display:none}[data-notification-disabled]{opacity:.55;cursor:not-allowed}.notification-action-state{margin:10px 0 0}

/* UI-04: current approval stages and the stored daily breakdown. */
.approval-progress-summary{margin:14px 0 18px}.approval-progress-summary dd>small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.approval-progress-warning{margin:14px 0}.approval-stages{list-style:none;margin:16px 0 0;padding:0}.approval-stage{position:relative;display:flex;align-items:flex-start;gap:11px;padding:12px 10px;border-bottom:1px solid var(--line)}.approval-stage:last-child{border-bottom:0}.approval-stage-number{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;border:1px solid var(--line);border-radius:50%;font-size:11px;color:var(--muted);background:#fff}.approval-stage-content{flex:1;min-width:0}.approval-stage-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:5px 12px}.approval-stage-heading h3{font-size:12px;overflow-wrap:anywhere}.approval-stage-content time{display:block;color:var(--muted);font-size:10px;margin-top:4px}.approval-stage-state{font-size:10px;border-radius:5px;padding:3px 7px;background:#eef1eb;color:#71806b}.approval-stage.is-current{background:var(--green-light);border-radius:8px;border-bottom-color:transparent}.approval-stage.is-current .approval-stage-number{border-color:#9db486;color:var(--green)}.approval-stage.is-current .approval-stage-state{background:#faf3dd;color:#a48a3b}.approval-stage.is-approved .approval-stage-state{background:#ecf4e8;color:#62804f}.approval-stage.is-rejected .approval-stage-state{background:#faeaea;color:#b27676}
.request-current-approver,.request-approval-warning{font-size:10px;line-height:1.45;margin-top:6px;max-width:210px;white-space:normal;overflow-wrap:anywhere}.request-current-approver{color:#536347}.request-current-approver small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.request-approval-warning{color:#9a813c}.period-breakdown{margin-top:22px;padding-top:14px;border-top:1px solid var(--line)}.period-breakdown>summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--green)}.period-breakdown>p{margin:12px 0}.period-breakdown>.table-scroll{margin-top:12px;max-height:260px;overflow:auto}.period-breakdown .data-table th,.period-breakdown .data-table td{padding:9px 13px}
@media(max-width:720px){.approval-progress-summary{grid-template-columns:1fr;gap:12px}.approval-stage{padding:10px 7px;gap:9px}.approval-stage-heading{align-items:flex-start}.request-current-approver,.request-approval-warning{max-width:170px}}

/* Request creation uses the same fields on the page and in its dialog. */
.request-create-dialog{width:min(660px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);margin:auto;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:0 18px 70px #173c2c40;overflow:auto;overscroll-behavior:contain}.request-create-dialog:not([open]){display:none}.request-create-dialog::backdrop{background:#17291f80}.request-create-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.request-create-dialog-heading h2{font-size:21px;margin:0}.request-create-dialog-heading .icon-button{flex-shrink:0}.request-create-page{max-width:720px}.request-create-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:17px 18px}.request-create-field{min-width:0}.request-create-wide{grid-column:1/-1}.request-create-field[hidden],.request-create-form [hidden]{display:none}.request-create-form .request-create-instruction{margin:-6px 0 0}.request-create-form .helptext:empty{display:none}.request-create-form .errorlist{margin-top:7px}.request-create-form textarea{min-height:82px}.request-create-privacy{margin-top:12px!important;margin-bottom:16px!important}.request-create-form .request-preview-state{margin:0}.request-preview{border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--canvas)}.request-preview-state:empty{display:none}.request-preview .notice{margin-bottom:14px}.request-preview .notice ul{padding-left:16px;list-style:disc}.request-preview-charge{padding-top:12px;margin-top:12px;border-top:1px solid var(--line)}.request-preview-charge h3{font-size:12px;margin-bottom:9px}.request-preview-quota,.request-preview-note,.request-preview-restrictions{margin:12px 0 0!important}.request-preview-restrictions{padding-left:17px!important;list-style:disc!important}.request-create-actions{gap:8px;margin-top:18px;padding-top:18px}.request-create-actions .button{white-space:normal}.request-create-fallback{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line)}.request-create-dialog [aria-disabled=true]{cursor:wait}.request-create-form input,.request-create-form select,.request-create-form textarea{min-width:0;max-width:100%}
@media(max-width:480px){.request-create-dialog{padding:18px}.request-create-dialog-heading{margin-bottom:18px}.request-create-grid{gap:14px 12px}.request-create-field input,.request-create-field select,.request-create-field textarea{font-size:16px}.request-create-field input[type=date],.request-create-field input[type=time]{padding-left:7px;padding-right:7px}.request-create-actions .button{flex:1 1 120px}.request-create-actions [data-request-create-cancel]{flex-basis:100%}.request-preview{padding:12px}.request-preview .key-values{gap:12px}.request-create-page{padding:20px 16px}}

/* UI-02: global creation and own-profile access stay usable on narrow screens. */
.topbar{height:auto;min-height:81px;padding-top:12px;padding-bottom:12px;gap:18px}.topbar-company{flex-shrink:0}.account-area{min-width:0;flex-wrap:wrap;justify-content:flex-end;gap:14px}.account-name{max-width:210px;min-width:0;overflow-wrap:anywhere}.account-profile-link{display:block;color:inherit;border-radius:5px}.account-profile-link:hover .account-display-name,.account-profile-link:hover .account-profile-label{text-decoration:underline}.account-profile-label{display:block;font-size:10px;font-weight:600;color:var(--green);margin-top:3px}.header-request-create{flex-shrink:0}.account-area>.language-switcher{flex-shrink:0}.account-area>.account-name{margin-left:0}
@media(max-width:1100px){.topbar-company{display:none}.account-area{width:100%;justify-content:flex-end}}
@media(max-width:720px){.topbar{min-height:57px;padding-top:12px;padding-bottom:12px}.account-area{justify-content:space-between;gap:12px}.account-area>.account-name{max-width:145px;margin-left:0}.account-profile-link .account-display-name{display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-profile-link>small{display:none}.account-profile-label{font-size:11px;margin-top:0}.account-profile-link{padding:7px 0}.header-request-create{font-size:11px;min-height:34px}.account-area .language-switcher select{max-width:95px}}

/* Final functional pass: compact tables, profile sections and shared links. */
.data-table th,.data-table td{padding:12px 18px}.panel-heading{padding:18px 20px}.detail-section{padding:21px}.page-heading{margin-bottom:22px}.heading-actions,.balance-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.profile-heading{min-width:0}.profile-heading>div:last-child{min-width:0}.profile-heading h1{overflow-wrap:anywhere}.profile-photo{object-fit:cover;display:block;flex-shrink:0}.profile-tabs{flex-wrap:wrap}.profile-year-filter{padding:0 0 17px;border-bottom:0}.profile-balances{margin-bottom:20px}.balance-card-actions{margin-top:16px}.career-fields{display:grid;gap:7px;margin:12px 0 0;font-size:11px}.career-fields>div{display:grid;grid-template-columns:minmax(80px,1fr) minmax(0,2fr);gap:10px}.career-fields dt{color:var(--muted)}.career-fields dd{margin:0;overflow-wrap:anywhere}.profile-drive .detail-section>p{margin-bottom:15px}.table-entry-details{margin-top:7px;white-space:normal;min-width:140px;max-width:360px}.table-entry-details summary{font-size:11px;cursor:pointer;color:var(--green)}.table-entry-details p{margin:8px 0;font-size:11px}.report-filters .field{min-width:145px;max-width:250px}.report-filters .field-grow{max-width:none}.report-filters select{max-width:100%}.resource-item{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:20px;border-bottom:1px solid var(--line)}.resource-item:last-child{border-bottom:0}.resource-item-main{min-width:0;flex:1}.resource-title{font-size:15px;font-weight:600;color:var(--green);overflow-wrap:anywhere}.resource-title:hover{text-decoration:underline}.resource-item-main>p{font-size:12px;margin:10px 0 0;color:var(--muted)}.resource-item-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.calendar-options{display:flex;flex-wrap:wrap;gap:12px 22px;padding:12px 23px;border-bottom:1px solid var(--line);font-size:11px;color:#5c6e50}.calendar-options label{display:flex;align-items:center;gap:6px;cursor:pointer}.calendar-options input{accent-color:var(--green)}.calendar-scopes [aria-pressed=true]{background:var(--green-light);border-color:#adc49a;color:var(--forest)}.calendar-event:not(.event-birthday),.timeline-bar:not(.is-birthday){border-color:var(--event-color,#83a36e);background:color-mix(in srgb,var(--event-color,#83a36e) 16%,white);color:color-mix(in srgb,var(--event-color,#83a36e) 70%,black)}.calendar-event.event-pending,.timeline-bar.is-pending{border-style:dashed}.timeline-date.is-holiday,.timeline-day-background.is-holiday,.calendar-day.is-holiday{background:#fbf5e5}.calendar-holiday-label{font-size:9px;line-height:1.3;padding:3px 4px 7px;color:#8b733b;overflow-wrap:anywhere}.calendar-filters .field{min-width:140px}.calendar-legend{gap:10px 18px}
@media(max-width:720px){.data-table th,.data-table td{padding:10px 12px}.panel-heading{padding:16px}.detail-section{padding:18px}.profile-heading{gap:12px}.profile-heading h1{font-size:23px}.profile-tabs{gap:6px}.profile-tabs .button{padding:6px 10px}.career-fields>div{grid-template-columns:1fr;gap:3px}.resource-item{flex-direction:column;gap:14px;padding:17px}.resource-item-actions{justify-content:flex-start}.calendar-options{padding:12px 14px;font-size:10px}.report-filters .field{min-width:120px;max-width:none;flex:1}.report-filters .field-grow{flex-basis:100%}.profile-drive .heading-actions{align-items:flex-start}.profile-drive .button{white-space:normal}.balance-card-actions .button{white-space:normal}}
