:root{--ink:#102a2b;--muted:#627172;--line:#dce5e3;--surface:#fff;--canvas:#f5f8f7;--green:#0d6b58;--green-dark:#075142;--green-soft:#e2f1eb;--amber:#ab6700;--amber-soft:#fff2da;--red:#b23a37;--red-soft:#fcedec}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}.app-frame{min-height:100vh;display:flex}.sidebar{color:#d7e7e2;background:#082a27;flex-direction:column;width:265px;padding:23px 14px 18px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{color:#fff;align-items:center;gap:11px;padding:3px 11px 23px;text-decoration:none;display:flex}.brand-mark{color:#123a32;background:#cae780;border-radius:11px;place-items:center;width:37px;height:37px;font-size:19px;font-weight:800;display:grid}.brand strong{letter-spacing:-.5px;font-size:19px;display:block}.brand small{color:#86a8a1;letter-spacing:1.7px;margin-top:1px;font-size:9px;font-weight:800;display:block}.workspace-switcher{color:#effaf7;text-align:left;background:#103b36;border:1px solid #27534d;border-radius:12px;align-items:center;gap:9px;width:100%;margin-bottom:22px;padding:10px;display:flex}.workspace-switcher span:nth-child(2){flex:1;min-width:0}.workspace-switcher b,.workspace-switcher small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.workspace-switcher b{font-size:12px}.workspace-switcher small{color:#95b4ad;margin-top:3px;font-size:10px}.workspace-avatar{color:#513600;background:#e9bb6b;border-radius:8px;place-items:center;width:30px;height:30px;font-size:10px;font-weight:800;display:grid}.nav-group{margin:0 0 18px}.nav-group>p{color:#86a8a1;letter-spacing:1px;margin:0 11px 7px;font-size:10px;font-weight:800}.nav-link,.sidebar-bottom a,.sidebar-bottom button{color:#bdd4ce;width:100%;font:inherit;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;margin:1px 0;padding:9px 11px;text-decoration:none;display:flex}.nav-link:hover,.nav-link.active{color:#fff;background:#14554a}.nav-link.active{box-shadow:inset 3px 0 #cae780}.sidebar-bottom{border-top:1px solid #245048;margin-top:auto;padding-top:15px}.sidebar-bottom button{cursor:pointer}.content{width:calc(100% - 265px);min-width:0;margin-left:265px}.topbar{border-bottom:1px solid var(--line);z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;justify-content:space-between;align-items:center;height:72px;padding:0 35px;display:flex;position:sticky;top:0}.search{color:#7c8c8c;align-items:center;gap:9px;width:min(440px,55%);display:flex}.search input{width:100%;font:inherit;color:var(--ink);background:0 0;border:0;outline:0}.top-actions{align-items:center;gap:10px;display:flex}.quick-add,.primary-action{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:9px;align-items:center;gap:7px;padding:10px 14px;font:700 13px inherit;display:inline-flex}.quick-add:hover,.primary-action:hover{background:var(--green-dark)}.icon-button,.profile,.mobile-menu{border:1px solid var(--line);color:#36514d;background:#fff;border-radius:9px;place-items:center;min-width:38px;height:38px;display:grid;position:relative}.icon-button i{background:#d85f4f;border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:9px}.profile{gap:7px;padding:3px 5px 3px 3px;display:flex}.profile span{color:#0d5d4e;background:#d9e8e4;border-radius:7px;place-items:center;width:29px;height:29px;font-size:11px;font-weight:800;display:grid}.mobile-menu{display:none}.main{max-width:1600px;padding:34px 38px 55px}.page-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:27px;display:flex}.eyebrow{color:var(--green);letter-spacing:1.15px;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:800}.page-header h1{letter-spacing:-1px;margin:0 0 7px;font-size:29px}.description{color:var(--muted);margin:0;line-height:1.5}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:23px;display:grid}.stat-card,.card{background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:0 2px 8px #17362e08}.stat-card{padding:18px}.stat-card p{color:var(--muted);margin:0 0 12px;font-size:12px}.stat-card h2{letter-spacing:-.7px;margin:0;font-size:24px}.stat-card small{color:#758382;margin-top:8px;display:block}.stat-card small.positive{color:#148066}.grid{grid-template-columns:1.25fr .75fr;gap:18px;display:grid}.card{padding:21px}.card-head{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.card h2{letter-spacing:-.25px;margin:0;font-size:16px}.card a{color:var(--green);font-size:12px;font-weight:700;text-decoration:none}.attention{gap:9px;display:grid}.attention-item,.activity-item{border-top:1px solid #edf1f0;align-items:center;gap:12px;padding:12px 0;display:flex}.attention-item:first-child,.activity-item:first-child{border-top:0}.attention-icon{background:var(--amber-soft);width:35px;height:35px;color:var(--amber);border-radius:9px;place-items:center;display:grid}.attention-item strong,.activity-item strong{font-size:13px;display:block}.attention-item small,.activity-item small{color:var(--muted);margin-top:3px;display:block}.count{color:var(--red);background:var(--red-soft);border-radius:6px;margin-left:auto;padding:4px 7px;font-size:11px;font-weight:800}.occupancy{align-items:center;gap:22px;padding:8px 0 14px;display:flex}.ring{background:conic-gradient(var(--green) 0 86%,#e6edeb 86%);border-radius:50%;place-items:center;width:112px;height:112px;display:grid;position:relative}.ring:before{content:"";background:#fff;border-radius:50%;width:83px;height:83px;position:absolute}.ring b{font-size:20px;position:relative}.legend{color:var(--muted);gap:8px;font-size:12px;display:grid}.legend i{background:var(--green);border-radius:50%;width:9px;height:9px;margin-right:7px;display:inline-block}.legend i.empty{background:#dce6e3}.kpi-strip{border-top:1px solid #edf1f0;grid-template-columns:repeat(3,1fr);margin-top:5px;padding-top:15px;display:grid}.kpi-strip span{color:var(--muted);font-size:11px}.kpi-strip b{margin-top:4px;font-size:14px;display:block}.activity-dot{background:#65a799;border-radius:50%;width:9px;height:9px}.activity-item time{color:#85918f;margin-left:auto;font-size:11px}.table-card{margin-top:18px}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{color:#72807e;text-transform:uppercase;letter-spacing:.75px;padding:0 0 10px;font-size:10px}.data-table td{border-top:1px solid #edf1f0;padding:12px 0;font-size:12px}.data-table strong{display:block}.data-table small{color:var(--muted)}.badge{background:var(--green-soft);color:var(--green);border-radius:99px;padding:4px 7px;font-size:10px;font-weight:800;display:inline-block}.badge.due{background:var(--amber-soft);color:var(--amber)}.badge.overdue{background:var(--red-soft);color:var(--red)}.placeholder{text-align:center;place-items:center;min-height:440px;display:grid}.placeholder .placeholder-icon{background:var(--green-soft);width:52px;height:52px;color:var(--green);border-radius:15px;place-items:center;margin:0 auto 14px;display:grid}.placeholder h2{margin:0 0 8px;font-size:19px}.placeholder p{color:var(--muted);max-width:430px;margin:0 auto 18px;line-height:1.55}.portal-wrap{background:#f5f8f7;min-height:100vh;padding:30px}.portal-header{justify-content:space-between;align-items:center;max-width:1000px;margin:0 auto 25px;display:flex}.portal-brand{color:var(--ink);font-size:18px;font-weight:800}.portal-card{max-width:1000px;margin:0 auto}.portal-nav{flex-wrap:wrap;gap:6px;margin:0 0 20px;display:flex}.portal-nav span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:7px;padding:8px 11px;font-size:12px}.portal-welcome{color:#fff;background:linear-gradient(120deg,#0c5f4e,#0a362f);border-radius:14px;padding:27px}.portal-welcome p{color:#bdd5cf}.portal-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:17px;display:grid}@media (max-width:1000px){.sidebar{width:225px}.content{width:calc(100% - 225px);margin-left:225px}.main{padding:27px}.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}}@media (max-width:720px){.sidebar{display:none}.content{width:100%;margin:0}.mobile-menu{display:grid}.topbar{padding:0 17px}.search{display:none}.main{padding:22px 17px}.page-header{flex-direction:column;align-items:flex-start}.stats,.portal-grid{grid-template-columns:1fr}.grid{gap:14px}.quick-add{padding:9px;font-size:0}.quick-add svg{margin:0}.data-table{min-width:670px}.table-card{overflow:auto}.portal-wrap{padding:18px}}.brand-logo{object-fit:contain;flex:0 0 44px;width:44px;height:44px}.workspace-logo{object-fit:contain;border-radius:7px;width:30px;height:30px}.stepper{border:1px solid var(--line);background:#fff;border-radius:13px;gap:16px;margin-bottom:18px;padding:14px;display:flex;overflow-x:auto}.stepper button{border:1px solid var(--line);color:var(--muted);cursor:pointer;white-space:nowrap;background:#f7faf9;border-radius:9px;flex:0 0 120px;padding:10px 8px;font:700 11px inherit}.stepper button.active{background:var(--green);border-color:var(--green);color:#fff}.record-form{max-width:1100px;margin:0 auto}.form-section{border:1px solid var(--line);background:#fff;border-radius:13px;padding:24px;box-shadow:0 2px 8px #17362e08}.date-selectors{grid-template-columns:1fr 1fr 1.3fr;gap:8px;display:grid}.date-selectors select{min-width:0}.form-error{color:var(--red);background:var(--red-soft);border-radius:8px;padding:10px 12px;font-weight:700}@media (max-width:720px){.stepper{gap:16px;margin-left:-2px;margin-right:-2px}.brand-logo{flex-basis:42px;width:42px;height:42px}}.phone-input{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;display:flex;overflow:hidden}.phone-input>span{color:var(--muted);border-right:1px solid var(--line);background:#f7faf9;padding:10px 9px;font-weight:700}.phone-input input{flex:1;min-width:0;border:0!important;border-radius:0!important}.repeatable-row-actions{grid-column:1/-1;justify-content:flex-end;display:flex}.repeatable-row-actions .filter-button,.card-head .filter-button{border:1px solid var(--line);width:auto;color:var(--ink);cursor:pointer;background:#f7faf9;border-radius:8px;padding:8px 14px;font:700 12px inherit}.repeatable-row-actions .filter-button:hover,.card-head .filter-button:hover{background:var(--green-soft);color:var(--green)}.repeatable-row-actions .filter-button{background:var(--red-soft);color:var(--red);border-color:#efc7c5}.repeatable-row-actions .filter-button:hover{color:#922e2b;background:#f8dedd}.card-head .filter-button{background:var(--green-soft);color:var(--green);border-color:#b9ddd1}.card-head .filter-button:hover{background:var(--green);color:#fff}.form-footer .filter-button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;padding:10px 16px;font:700 13px inherit}.form-footer .filter-button:hover{color:var(--green);background:#f0f6f3;border-color:#b9d6cc}.review-panel{gap:16px;display:grid}.review-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.review-heading h2{margin:0 0 5px;font-size:21px}.review-heading p:last-child{color:var(--muted);margin:0}.review-status{background:var(--green-soft);color:var(--green);white-space:nowrap;border-radius:99px;padding:7px 11px;font-size:11px;font-weight:800}.review-group{border:1px solid var(--line);background:#fbfdfc;border-radius:11px;padding:15px}.review-group h3{color:var(--ink);margin:0 0 12px;font-size:14px}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;display:grid}.review-grid span{color:var(--muted);margin-bottom:3px;font-size:11px;display:block}.review-grid strong{text-transform:capitalize;font-size:13px}.review-consent{background:var(--green-soft);color:var(--green);border-radius:9px;padding:12px;font-size:12px;font-weight:700}@media (max-width:600px){.review-heading{flex-direction:column}.review-grid{grid-template-columns:1fr}}.brand-logo{object-fit:contain;background:#fff;border-radius:9px;flex:0 0 44px;width:44px;height:44px;padding:5px;box-shadow:0 1px 2px #0000002e}.access-assignments{border-top:1px solid var(--line);margin-top:8px;padding-top:18px}.access-row{border:1px solid var(--line);background:#fbfdfc;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 17px;margin-top:12px;padding:15px;display:grid}.access-row .remove-access{background:var(--red-soft);color:var(--red);cursor:pointer;border:1px solid #efc7c5;border-radius:8px;grid-column:1/-1;justify-self:end;padding:8px 14px;font:700 12px inherit}.access-row .remove-access:hover{background:#f8dedd}@media (max-width:720px){.access-row{grid-template-columns:1fr}}.access-assignments{grid-column:1/-1}.page-header .primary-action{text-decoration:none}.directory-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:15px;display:flex}.directory-toolbar input{border:1px solid var(--line);min-width:280px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;outline:none;flex:1;padding:10px 11px}.directory-toolbar input:focus{border-color:var(--green);box-shadow:0 0 0 3px #0d6b581c}.directory-toolbar .filter-button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#f7faf9;border-radius:8px;padding:9px 12px;font:700 12px inherit;text-decoration:none}.directory-toolbar .filter-button:hover{background:var(--green-soft);color:var(--green)}.empty-cell .primary-action{color:#fff;font-size:13px;text-decoration:none}.empty-cell .primary-action:hover{color:#fff}:root{--brand-logo-size:44px}.sidebar{overflow:hidden}.sidebar-scroll{scrollbar-gutter:stable;height:100%;padding:23px 14px 18px;overflow:hidden auto}.sidebar-scroll>.brand{margin-top:0}.sidebar-scroll>.sidebar-bottom{padding-bottom:0}.preview-banner{color:#704900;background:#fff2da;border:1px solid #e5c477;border-radius:9px;margin-bottom:18px;padding:12px 15px;font-weight:700}.calendar-grid{border:1px solid var(--line);grid-template-columns:repeat(7,minmax(90px,1fr));display:grid;overflow:auto}.calendar-grid>strong{color:var(--muted);text-transform:uppercase;background:#f7faf9;padding:10px;font-size:11px}.calendar-day{border-top:1px solid var(--line);border-right:1px solid var(--line);min-height:105px;padding:7px}.calendar-day small{color:var(--muted)}.calendar-event{text-align:left;cursor:pointer;background:var(--green-soft);width:100%;color:var(--green-dark);border:0;border-radius:5px;margin-top:5px;padding:5px;font-size:10px;display:block}.calendar-event.pending{background:var(--amber-soft);color:var(--amber)}.calendar-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.calendar-month-picker{border:1px solid var(--line);color:var(--muted);border-radius:6px;margin-top:6px;padding:4px;display:block}.payroll-table-wrap{max-width:100%;overflow-x:auto}.payroll-table{min-width:1250px}.payroll-table th,.payroll-table td{white-space:nowrap;padding-left:12px;padding-right:12px}.role-section{margin-top:28px}.role-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:14px;display:grid}.role-card{flex-direction:column;align-items:flex-start;gap:9px;display:flex}.role-card h3{margin:0;font-size:16px}.role-card p{color:var(--muted);min-height:55px;margin:0;line-height:1.5}.role-card small{color:var(--muted)}.role-icon{background:var(--green-soft);width:38px;height:38px;color:var(--green);border-radius:10px;place-items:center;font-size:20px;display:grid}.secondary-action{border:1px solid var(--line);color:var(--green);cursor:pointer;background:#fff;border-radius:8px;padding:9px 12px;font:700 12px inherit}.permission-row{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:start;gap:18px;padding:14px 0;display:grid}.permission-checks{color:var(--muted);flex-wrap:wrap;gap:9px;font-size:12px;display:flex}.permission-checks label{align-items:center;gap:5px;display:flex}.role-modal{gap:15px!important;width:100%!important;max-width:1100px!important;margin:0!important;display:grid!important;position:static!important}.sticky-save{color:#fff;background:#082a27;border-radius:10px;justify-content:space-between;align-items:center;margin-top:18px;padding:12px 15px;display:flex;position:sticky;bottom:14px;box-shadow:0 5px 22px #0000002e}@media (max-width:800px){.role-grid{grid-template-columns:1fr 1fr}}@media (max-width:700px){.permission-row{grid-template-columns:1fr}}@media (max-width:520px){.role-grid{grid-template-columns:1fr}}.card a.primary-action{color:#fff}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow:auto hidden}.table-wrap .data-table{min-width:900px}.table-wrap .data-table th,.table-wrap .data-table td{white-space:nowrap;padding-left:12px;padding-right:12px}.table-wrap .data-table th:first-child,.table-wrap .data-table td:first-child{padding-left:0}.table-wrap .data-table th:last-child,.table-wrap .data-table td:last-child{padding-right:0}.calendar-card,.calendar-upcoming{grid-column:1/-1;width:100%}.upcoming-leave-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;display:grid}.upcoming-leave-list .attention-item{width:100%}@media (max-width:720px){.upcoming-leave-list{grid-template-columns:1fr}}.summary-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:17px;padding-bottom:15px;display:flex}.summary-heading h2{margin:0 0 5px}.summary-heading p:last-child{color:var(--muted);margin:0}.summary-status{background:var(--green-soft);color:var(--green);border-radius:99px;padding:7px 11px;font-size:11px;font-weight:800}.summary-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.summary-grid div{background:#f7faf9;border:1px solid #e7efed;border-radius:9px;padding:12px}.summary-grid span{color:var(--muted);margin-bottom:6px;font-size:11px;display:block}.summary-grid strong{font-size:13px}@media (max-width:720px){.summary-grid{grid-template-columns:repeat(2,1fr)}}.directory-toolbar select{border:1px solid var(--line);min-width:145px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:8px;outline:none;padding:10px 30px 10px 11px}.directory-toolbar select:focus{border-color:var(--green);box-shadow:0 0 0 3px #0d6b581c}.directory-toolbar input[type=date]{flex:0 155px;min-width:145px}.directory-toolbar button.filter-button{white-space:nowrap;background:#f7faf9}.directory-toolbar button.filter-button:hover{background:var(--green-soft)}@media (max-width:720px){.directory-toolbar input,.directory-toolbar select,.directory-toolbar input[type=date]{flex:1;min-width:100%}}
.form-page{background:var(--canvas);min-height:100vh;padding:46px 20px}.record-form{max-width:1010px;margin:0 auto}.form-intro{grid-template-columns:150px 1fr;align-items:start;gap:24px;margin-bottom:25px;display:grid}.form-intro>a{color:var(--green);align-items:center;gap:6px;padding-top:9px;font-weight:700;text-decoration:none;display:flex}.form-intro h1{letter-spacing:-1px;margin:0 0 7px;font-size:29px}.form-intro>div>p:last-child{color:var(--muted);margin:0}.form-section{border:1px solid var(--line);background:#fff;border-radius:13px;margin:15px 0;padding:26px}.form-section-title{margin-bottom:19px}.form-section-title p{color:var(--green);letter-spacing:1px;margin:0 0 5px;font-size:10px;font-weight:800}.form-section-title h2{margin:0 0 5px;font-size:17px}.form-section-title span{color:var(--muted);font-size:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 17px;display:grid}.form-field{gap:7px;display:grid}.form-field.wide{grid-column:1/-1}.form-field>span{color:#2e4543;font-size:12px;font-weight:700}.form-field input,.form-field select,.form-field textarea{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #cfdbd8;border-radius:8px;outline:none;padding:10px 11px}.form-field textarea{resize:vertical;min-height:88px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #0d6b581c}.form-check{color:#36514d;align-items:center;gap:9px;padding-top:22px;font-size:12px;display:flex}.form-check input{accent-color:var(--green);width:16px;height:16px}.form-footer{color:var(--muted);justify-content:space-between;align-items:center;padding:10px 0 38px;font-size:12px;display:flex}@media (max-width:720px){.form-page{padding:24px 13px}.form-intro{grid-template-columns:1fr;gap:12px}.form-section{padding:19px}.form-grid{grid-template-columns:1fr}.form-field.wide{grid-column:auto}.form-footer{flex-direction:column-reverse;align-items:flex-start;gap:14px}}.record-form>.form-intro{grid-template-columns:auto 1fr;align-items:center;gap:14px;margin-bottom:14px}.record-form>.form-intro>a{white-space:nowrap;padding-top:0}.record-form>.form-intro h1{margin-bottom:3px;font-size:25px}.record-form>.form-intro .eyebrow{margin-bottom:4px}.record-form>.form-intro>div>p:last-child{font-size:12px}.record-form>.form-intro{margin-bottom:7px}.record-form>.stepper{margin-top:0;padding-top:8px}.form-grid>.wide{grid-column:1/-1}.form-grid>.wide>.form-grid{width:100%}
