:root{--navy:#12233f;--teal:#0b7f7a;--bg:#f3f6f9;--card:#fff;--text:#1d2939;--muted:#667085;--border:#d9e1ea;--danger:#b42318;--success:#067647;--warn:#b54708;--info:#175cd3;--shadow:0 8px 24px rgba(18,35,63,.08)}*{box-sizing:border-box}body{margin:0;font:14px/1.45 Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--teal);text-decoration:none}.topbar{height:68px;background:var(--navy);color:#fff;display:flex;align-items:center;padding:0 22px;position:sticky;top:0;z-index:20;box-shadow:0 2px 10px rgba(0,0,0,.18)}.brand{display:flex;align-items:center;color:#fff;gap:10px;min-width:260px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--teal);font-weight:800;font-size:22px}.brand strong,.brand small{display:block}.brand small{opacity:.72;font-size:11px}.user-menu{margin-left:auto;display:flex;align-items:center;gap:12px}.user-menu small{opacity:.7}.user-menu a{color:#fff;border-left:1px solid rgba(255,255,255,.25);padding-left:12px}.menu-btn{display:none;margin-left:auto;background:transparent;border:0;color:white;font-size:24px}.app-shell{display:flex;min-height:calc(100vh - 96px)}.sidebar{width:245px;background:#fff;border-right:1px solid var(--border);padding:18px 12px;position:sticky;top:68px;height:calc(100vh - 68px)}.sidebar nav a{display:block;padding:11px 13px;margin:3px 0;border-radius:8px;color:#344054;font-weight:600}.sidebar nav a:hover,.sidebar nav a.active{background:#e8f5f4;color:#08635f}.content{flex:1;padding:26px;min-width:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.page-heading h1{margin:0;font-size:25px}.page-heading p{margin:4px 0 0;color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-block;border:1px solid var(--border);background:#fff;color:#344054;padding:9px 13px;border-radius:7px;font-weight:700;cursor:pointer}.btn:hover{box-shadow:0 2px 8px rgba(0,0,0,.08)}.btn.primary{background:var(--teal);border-color:var(--teal);color:#fff}.btn.danger{background:#fff0ee;border-color:#f1b7b2;color:var(--danger)}.btn.small{padding:6px 9px;font-size:12px}.grid{display:grid;gap:16px}.grid.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--border);border-radius:11px;padding:18px;box-shadow:var(--shadow)}.card h2,.card h3{margin-top:0}.metric strong{font-size:28px;display:block}.metric span{color:var(--muted)}.metric .trend{margin-top:8px;font-size:12px;color:var(--teal)}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:11px 12px;border-bottom:1px solid #edf0f3;text-align:left;vertical-align:top}th{background:#f8fafc;color:#475467;font-size:12px;text-transform:uppercase;letter-spacing:.03em}tr:hover td{background:#fafdfd}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef2f6;color:#475467;font-size:11px;font-weight:700}.badge.success{background:#ecfdf3;color:var(--success)}.badge.danger{background:#fef3f2;color:var(--danger)}.badge.warning{background:#fffaeb;color:var(--warn)}.badge.info{background:#eff8ff;color:var(--info)}.alert{padding:12px 14px;border-radius:8px;margin-bottom:14px;border:1px solid}.alert.success{background:#ecfdf3;border-color:#abefc6;color:var(--success)}.alert.danger{background:#fef3f2;border-color:#fecdca;color:var(--danger)}.alert.warning{background:#fffaeb;border-color:#fedf89;color:var(--warn)}.alert.info{background:#eff8ff;border-color:#b2ddff;color:var(--info)}form.card{max-width:1100px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full{grid-column:1/-1}.form-group label{font-weight:700;color:#344054}.form-group small{color:var(--muted)}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#111827;font:inherit}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid rgba(11,127,122,.18);border-color:var(--teal)}.checkbox-row{display:flex;gap:18px;flex-wrap:wrap}.checkbox-row label{font-weight:400}.section-title{border-bottom:1px solid var(--border);padding-bottom:8px;margin:22px 0 14px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.tabs a{padding:8px 11px;background:#fff;border:1px solid var(--border);border-radius:7px;color:#475467}.tabs a.active{background:var(--navy);color:#fff;border-color:var(--navy)}.empty{padding:35px;text-align:center;color:var(--muted)}.pagination{display:flex;gap:5px;margin-top:15px}.pagination a{border:1px solid var(--border);background:#fff;padding:7px 10px;border-radius:6px}.pagination a.active{background:var(--teal);color:#fff}.detail-list{display:grid;grid-template-columns:180px 1fr;gap:0}.detail-list dt,.detail-list dd{margin:0;padding:10px;border-bottom:1px solid #edf0f3}.detail-list dt{color:var(--muted);font-weight:700}.kpi-bar{height:10px;background:#eef2f6;border-radius:999px;overflow:hidden}.kpi-bar span{display:block;height:100%;background:var(--teal)}.punch-panel{text-align:center;padding:28px}.clock{font-size:38px;font-weight:800;color:var(--navy)}.punch-status{margin:10px 0 20px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#12233f,#164e63)}.login-card{width:min(440px,92vw);background:#fff;border-radius:14px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.3)}.login-brand{text-align:center;margin-bottom:22px}.login-brand .brand-mark{margin:0 auto 10px;color:#fff}.login-card h1{margin:0}.login-card p{color:var(--muted)}footer{text-align:center;padding:14px;color:var(--muted);font-size:12px}.print-only{display:none}@media(max-width:1050px){.grid.cards{grid-template-columns:repeat(2,1fr)}.sidebar{position:fixed;left:-260px;z-index:30;transition:.2s}.nav-open .sidebar{left:0}.menu-btn{display:block}.user-menu span,.user-menu small{display:none}.brand{min-width:auto}.content{padding:18px}}@media(max-width:680px){.grid.cards,.grid.two,.form-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column}.content{padding:14px}.topbar{padding:0 12px}.user-menu a:first-of-type{display:none}.detail-list{grid-template-columns:1fr}.detail-list dt{padding-bottom:2px}.detail-list dd{padding-top:2px}.card{padding:14px}}@media print{.topbar,.sidebar,.page-heading .actions,.tabs,footer,.no-print{display:none!important}.content{padding:0}.app-shell{display:block}.card,.table-wrap{box-shadow:none;border:0}.print-only{display:block}}

/* v1.4 employee document management */
.compact-heading{margin-bottom:10px}.compact-heading h2{margin:0;font-size:21px}.compact-heading p{margin:4px 0 0;color:var(--muted)}
.upload-panel>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;list-style:none}.upload-panel>summary::-webkit-details-marker{display:none}.upload-panel>summary:before{content:'▸';font-size:16px;color:var(--teal)}.upload-panel[open]>summary:before{content:'▾'}.upload-panel>summary strong{margin-right:auto}.upload-panel>summary span{color:var(--muted);font-size:12px}.embedded-form{margin-top:18px;border-top:1px solid var(--border);padding-top:18px}.document-table{min-width:1120px}.muted-row{opacity:.68}.ack-box summary{cursor:pointer;color:var(--teal);font-weight:700}.ack-box form{width:260px;padding-top:8px}.ack-box label{display:block;font-size:12px;margin-bottom:8px}.ack-box textarea{min-height:70px;margin-bottom:8px}
@media(max-width:680px){.upload-panel>summary{align-items:flex-start;flex-wrap:wrap}.upload-panel>summary span{width:100%;padding-left:22px}}
