:root{--bg:#f4f6f8;--card:#fff;--ink:#17202a;--muted:#68717d;--line:#dfe4ea;--brand:#16324f;--accent:#2e6f95;--danger:#b42318;--warn:#b54708;--ok:#027a48}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.shell{max-width:1320px;margin:auto;padding:24px}.topbar{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.brand h1{margin:0;font-size:24px}.brand p{color:var(--muted);margin:4px 0 0}.nav{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.nav form{margin:0}.nav a,.button,.nav-button{border:1px solid var(--line);cursor:pointer;font-weight:700;font:inherit;background:#fff;border-radius:9px;padding:10px 14px}.nav-button{color:var(--danger)}.button.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.button.danger{color:var(--danger)}.grid{gap:16px;display:grid}.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 2px 8px #1423320a}.kpi-label{color:var(--muted);text-transform:uppercase;font-size:13px;font-weight:700}.kpi-value{margin-top:8px;font-size:34px;font-weight:800}.section-title{justify-content:space-between;align-items:center;margin:24px 0 10px;display:flex}.section-title h2{margin:0}.section-title span{color:var(--muted);font-size:13px}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 14px}th{text-transform:uppercase;color:var(--muted);background:#f8fafb;font-size:12px}.badge{border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800;display:inline-flex}.badge.ok{color:var(--ok);background:#ecfdf3}.badge.warn{color:var(--warn);background:#fff7ed}.badge.danger{color:var(--danger);background:#fef3f2}.points{font-size:18px;font-weight:900}.form{gap:12px;display:grid}.form label{font-size:13px;font-weight:700}.form input,.form select,.form textarea,.inline-form select,.search-label input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;padding:11px}.two-col{grid-template-columns:1fr 1fr}.checkbox-label{align-self:end;align-items:center;gap:8px;padding-bottom:11px;display:flex!important}.checkbox-label input{width:auto}.inline-form{align-items:center;gap:8px;display:flex}.inline-form select{min-width:120px;padding:9px}.inline-form .button{padding:9px 12px}.notice{color:#24485e;background:#eef6fb;border:1px solid #c8deeb;border-radius:9px;margin-bottom:16px;padding:12px 14px}.notice.success{color:var(--ok);background:#ecfdf3;border-color:#abefc6}.notice.error{color:var(--danger);background:#fef3f2;border-color:#fecdca}.status-text{text-transform:capitalize;font-weight:800}.status-terminated{color:var(--danger)}.status-leave{color:var(--warn)}.status-inactive{color:var(--muted)}.status-active{color:var(--ok)}.empty{text-align:center;color:var(--muted);padding:30px}.import-result{margin-bottom:18px}.import-kpis{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:12px}.import-kpis div{border:1px solid var(--line);background:#f8fafb;border-radius:10px;padding:12px}.import-kpis strong{font-size:24px;display:block}.import-kpis span{color:var(--muted);margin-top:4px;font-size:12px;display:block}.import-error{color:var(--danger);background:#fef3f2;border-color:#fecdca;margin-bottom:16px}.bulk-actions{justify-content:space-between;align-items:center;gap:16px;margin:14px 0;display:flex}.bulk-actions p{color:var(--muted);margin:0}.bulk-actions-bottom{justify-content:flex-end}.employee-toolbar{align-items:flex-end}.search-label{min-width:min(420px,70vw);font-size:13px;font-weight:700;display:block}.search-label input{margin-top:6px;display:block}.field-help{color:var(--muted);margin-top:6px;font-size:12px;display:block}.error-text{color:var(--danger)}.documentation-policy{margin-bottom:18px}.documentation-policy h3{margin-top:0}.threshold-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.threshold-grid div{border:1px solid var(--line);background:#f8fafb;border-radius:10px;padding:12px}.threshold-grid strong,.threshold-grid span{display:block}.threshold-grid span{color:var(--muted);margin-top:4px;font-size:12px}.documentation-list{gap:14px;display:grid}.documentation-summary{border-bottom:1px solid var(--line);grid-template-columns:1.2fr .6fr 1fr .8fr;gap:14px;padding-bottom:14px;display:grid}.documentation-summary strong{margin-top:5px;display:block}.documentation-form{grid-template-columns:1fr 1fr auto;align-items:end;margin-top:14px}.documentation-form textarea{resize:vertical}.documentation-form .button{white-space:nowrap}.employee-search-card{margin-bottom:22px}.employee-profile-search{grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:12px;display:grid}.employee-profile-search label{font-size:13px;font-weight:700}.employee-profile-search input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;margin-top:6px;padding:11px;display:block}.employee-search-results{gap:8px;margin-top:14px;display:grid}.employee-search-results p{color:var(--muted);margin:0 0 4px}.employee-search-results a{border:1px solid var(--line);background:#f8fafb;border-radius:9px;justify-content:space-between;gap:16px;padding:11px 12px;display:flex}.employee-search-results a:hover{border-color:var(--accent);background:#eef6fb}.employee-search-results span{color:var(--muted);text-transform:capitalize}.report-heading{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding:22px;display:flex}.report-heading h1{margin:4px 0;font-size:30px}.report-heading p{color:var(--muted);margin:0}.report-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}.employee-profile-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.employee-profile-kpis .card{flex-direction:column;gap:10px;display:flex}.employee-profile-kpis strong{font-size:20px}.notes-cell{white-space:normal;min-width:280px;line-height:1.4}.employee-timeline{gap:0;display:grid}.employee-timeline article{border-bottom:1px solid var(--line);grid-template-columns:170px 1fr;gap:22px;padding:18px 0;display:grid}.employee-timeline article:last-child{border-bottom:0}.employee-timeline article>div:first-child{flex-direction:column;gap:6px;display:flex}.employee-timeline article span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.employee-timeline h3{margin:0 0 5px}.employee-timeline p{color:var(--muted);margin:4px 0}.timeline-notes{white-space:pre-wrap;background:#f8fafb;border-radius:8px;padding:10px;color:var(--ink)!important}.report-table{break-inside:avoid}@media (max-width:1000px){.import-kpis,.threshold-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.documentation-summary,.documentation-form,.employee-profile-kpis{grid-template-columns:1fr 1fr}}@media (max-width:800px){.kpis,.two-col{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start;gap:15px}.shell{padding:14px}.section-title,.bulk-actions{flex-direction:column;align-items:flex-start;gap:8px}.search-label{min-width:100%}.documentation-form,.employee-profile-search{grid-template-columns:1fr}.employee-timeline article{grid-template-columns:1fr;gap:8px}}@media (max-width:600px){.import-kpis,.threshold-grid,.documentation-summary,.employee-profile-kpis{grid-template-columns:1fr 1fr}.inline-form{min-width:280px}.report-heading{flex-direction:column;gap:12px}}@media print{body{background:#fff;font-size:11px}.shell{max-width:none;padding:0}.topbar,.no-print{display:none!important}.employee-report{padding:0}.report-heading,.card,.table-wrap{box-shadow:none;border-color:#bbb}.report-heading{margin-bottom:10px;padding:14px}.report-heading h1{font-size:24px}.employee-profile-kpis{grid-template-columns:repeat(4,1fr);gap:8px}.employee-profile-kpis .card{padding:10px}.kpi-value{font-size:24px}.section-title{margin:16px 0 6px}.section-title h2{font-size:16px}th,td{padding:7px 8px;font-size:10px}.notes-cell{min-width:160px}.employee-timeline article{grid-template-columns:120px 1fr;padding:10px 0}.employee-timeline{padding:10px}.badge{border:1px solid #999;color:#000!important;background:#fff!important}}
.topbar{flex-wrap:wrap;gap:16px}.nav{width:100%}.location-switcher{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:9px;padding:8px 10px;display:flex}.location-switcher label{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.location-switcher select{min-width:230px;color:var(--ink);cursor:pointer;font:inherit;background:#fff;border:0;font-weight:800}.location-switcher select:focus{outline:2px solid var(--accent);outline-offset:3px}@media (max-width:600px){.location-switcher,.location-switcher select{width:100%}}@media print{.location-switcher{display:none}}
:root{--sidebar:#102a43;--sidebar-soft:#173f5f;--sidebar-text:#d9e7f2;--focus:#2f80ed}body{background:linear-gradient(145deg,#eef3f7 0%,#f8fafc 48%,#eef5f7 100%);min-height:100vh}.app-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.app-sidebar{background:linear-gradient(180deg,var(--sidebar),#0b2033);height:100vh;color:var(--sidebar-text);flex-direction:column;gap:28px;padding:22px 16px;display:flex;position:sticky;top:0;box-shadow:10px 0 30px #102a431a}.sidebar-brand{align-items:center;gap:11px;padding:0 8px;display:flex}.sidebar-brand>div{gap:2px;display:grid}.sidebar-brand strong{color:#fff;font-size:17px}.sidebar-brand span{color:#a9c2d5;font-size:12px}.brand-mark{background:#2f80ed;border-radius:11px;place-items:center;width:38px;height:38px;font-weight:900;box-shadow:0 8px 18px #2f80ed4d;color:#fff!important;font-size:14px!important;display:grid!important}.app-nav{gap:6px;display:grid}.app-nav a{color:#bfd2e1;border-radius:10px;align-items:center;gap:11px;padding:11px 12px;font-size:14px;font-weight:700;transition:background .15s,color .15s,transform .15s;display:flex}.app-nav a:hover{color:#fff;background:#ffffff14;transform:translate(2px)}.app-nav a.active{color:var(--sidebar);background:#fff;box-shadow:0 8px 22px #00000029}.sidebar-footer{border-top:1px solid #ffffff1f;gap:3px;margin-top:auto;padding:14px 10px 4px;display:grid}.sidebar-footer>span{color:#fff;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.sidebar-footer small{text-transform:capitalize;color:#96b2c7}.sidebar-footer form{margin-top:9px}.sidebar-footer button{color:#dce9f2;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:8px;width:100%;padding:8px;font-weight:700}.sidebar-footer button:hover{background:#ffffff14}.app-workspace{min-width:0}.workspace-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#ffffffdb;border-bottom:1px solid #dce5ec;justify-content:space-between;align-items:center;gap:18px;min-height:92px;padding:18px clamp(18px,3vw,40px);display:flex;position:sticky;top:0}.workspace-header h1{letter-spacing:-.02em;margin:3px 0 0;font-size:22px}.workspace-eyebrow{text-transform:uppercase;letter-spacing:.11em;color:#6b7c8a;font-size:11px;font-weight:800}.content-shell{max-width:1240px;margin:0 auto;padding:28px clamp(16px,3vw,38px) 48px}.content-shell main{animation:.18s ease-out content-in}.content-shell .card,.content-shell .table-wrap{box-shadow:0 8px 24px #1f3a500e}.content-shell .section-title h2{letter-spacing:-.02em}.location-switcher{box-shadow:0 4px 14px #1f3a500f}.page-intro{margin-bottom:22px}.page-intro h2{letter-spacing:-.03em;margin:0 0 6px;font-size:27px}.page-intro p{color:var(--muted);max-width:720px;margin:0;line-height:1.5}.form-section-title{border-top:1px solid var(--line);text-transform:uppercase;letter-spacing:.06em;color:var(--brand);grid-column:1/-1;margin:8px 0 0;padding-top:14px;font-size:13px;font-weight:900}.account-create-card{grid-template-columns:minmax(180px,.6fr) minmax(420px,1.4fr);gap:26px;margin-bottom:28px;display:grid}.account-create-card h3{margin:0 0 5px;font-size:20px}.account-create-card p{color:var(--muted);margin:0;line-height:1.45}.access-fieldset{border:1px solid var(--line);border-radius:9px;align-items:center;gap:18px;padding:10px 12px;display:flex}.access-fieldset legend{padding:0 5px;font-size:13px;font-weight:700}.access-fieldset label,.location-checks label{align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.access-fieldset input,.location-checks input{width:auto}.location-checks{gap:12px;min-width:150px;display:flex}.roster-preview{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.roster-preview h3{margin:0 0 14px}.roster-change-lists{grid-template-columns:1fr 1fr;gap:10px;margin:14px 0;display:grid}.roster-change-lists>div{border:1px solid var(--line);background:#f8fafb;border-radius:10px;padding:12px}.roster-change-lists p{color:var(--muted);margin:5px 0 0;line-height:1.45}.dashboard-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.profile-management{grid-template-columns:minmax(220px,.8fr) minmax(420px,1.2fr);align-items:center;gap:24px;margin-bottom:18px;display:grid}.profile-management h2{margin:5px 0}.profile-management p{color:var(--muted);margin:0;line-height:1.45}.profile-management-actions{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:12px;display:flex}.profile-management-actions form{align-items:end;gap:10px;display:flex}.profile-management-actions label{gap:6px;font-size:13px;font-weight:700;display:grid}.profile-management-actions select{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:150px;padding:10px}.attendance-record-list{gap:12px;display:grid}.attendance-record-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:16px 18px;box-shadow:0 6px 18px #1f3a500b}.attendance-record-card header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.attendance-record-card h3{margin:5px 0 0;font-size:17px}.attendance-record-date{color:var(--muted);font-size:13px;font-weight:700}.attendance-record-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.attendance-record-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.attendance-record-facts>div{background:#f6f9fb;border-radius:9px;gap:4px;padding:10px 12px;display:grid}.attendance-record-facts span,.attendance-record-notes span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:800}.attendance-record-facts strong{font-size:14px}.attendance-record-notes{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.attendance-record-notes p{white-space:pre-wrap;margin:5px 0 0;line-height:1.45}@keyframes content-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.app-sidebar{gap:12px;height:auto;padding:12px 14px;position:static}.sidebar-brand{display:none}.app-nav{padding-bottom:2px;display:flex;overflow-x:auto}.app-nav a{white-space:nowrap}.sidebar-footer{display:none}.workspace-header{align-items:flex-start;min-height:auto;position:static}.content-shell{padding-top:20px}.account-create-card,.profile-management{grid-template-columns:1fr}.profile-management-actions{justify-content:flex-start}}@media (max-width:620px){.workspace-header{flex-direction:column}.workspace-header .location-switcher{width:100%}.workspace-header .location-switcher select{min-width:0}.app-nav a span{font-size:13px}.content-shell{padding-left:12px;padding-right:12px}.roster-change-lists,.dashboard-kpis,.attendance-record-facts{grid-template-columns:1fr}.attendance-record-card header,.profile-management-actions,.profile-management-actions form{flex-direction:column;align-items:stretch}.attendance-record-actions{justify-content:flex-start}.profile-management-actions select,.profile-management-actions .button{width:100%}}@media print{.app-shell{display:block}.app-sidebar,.workspace-header{display:none}.content-shell{max-width:none;padding:0}}
