:root{color-scheme:light;--bg: #f6f7f4;--surface: #ffffff;--surface-2: #f0f4f1;--ink: #1e2b24;--muted: #69746d;--line: #dbe2dc;--accent: #17876d;--accent-dark: #0f6a56;--amber: #c97b22;--rose: #b94a56;--blue: #376b8d;--green-soft: #e5f4ee;--amber-soft: #fff1dc;--rose-soft: #fae7e9;--blue-soft: #e5f0f6;--shadow: 0 18px 45px rgba(33, 43, 36, .09);--radius: 8px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}#loginRoot:empty{display:none}.auth-locked{overflow:hidden}.auth-locked .app-shell{display:none}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#0a1a3a14,#17876d0f),var(--bg)}.login-card{width:min(430px,100%);padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.login-brand{display:grid;gap:14px;justify-items:center;text-align:center;margin-bottom:22px}.login-brand img{width:min(220px,76%);max-height:150px;object-fit:contain}.login-brand h1{margin:0;font-size:1.35rem}.login-form{display:grid;gap:12px}.login-submit{width:100%;margin-top:4px}.login-help{margin:2px 0 0;color:var(--muted);font-size:.82rem;text-align:center}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:#fbfcfa;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 14px;z-index:20}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;padding:8px 10px 18px}.brand-mark{width:42px;height:42px;border-radius:var(--radius);display:grid;place-items:center;background:var(--green-soft);color:var(--accent-dark);border:1px solid #c7e6db}.brand strong{display:block;font-size:1.05rem}.brand small{display:block;color:var(--muted);margin-top:2px}.side-nav{display:grid;gap:4px;overflow-y:auto;padding-right:4px}.nav-link{min-height:42px;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius);color:#46524b;text-decoration:none;border:1px solid transparent}.nav-link:hover{background:var(--surface-2)}.nav-link.active{color:var(--accent-dark);background:var(--green-soft);border-color:#c7e6db;font-weight:700}.nav-link svg,.brand svg,button svg{width:18px;height:18px;flex:0 0 auto}.sidebar-foot{margin-top:auto;padding:12px 10px 2px;color:var(--muted);display:grid;gap:7px;font-size:.86rem}.storage-status{display:flex;align-items:center;gap:8px}.sidebar-foot small{display:block;color:#536058;line-height:1.35}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.workspace{min-width:0;display:flex;flex-direction:column}.topbar{min-height:76px;background:#f6f7f4eb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:15;display:grid;grid-template-columns:auto minmax(180px,max-content) minmax(220px,1fr) auto;align-items:center;gap:14px;padding:14px 26px}.topbar h1{margin:0;font-size:clamp(1.15rem,1.8vw,1.55rem);line-height:1.2}.topbar-title{min-width:0;position:relative;z-index:2}.event-ticker{justify-self:center;z-index:1;width:min(100%,760px);min-width:0;height:44px;display:flex;align-items:center;overflow:hidden;border:1px solid rgba(33,174,234,.38);border-radius:var(--radius);background:linear-gradient(135deg,#ffffffdb,#e7f7ffdb),var(--surface);box-shadow:inset 0 0 18px #21aeea1a,0 10px 28px #14436914}.ticker-label{height:100%;display:inline-flex;align-items:center;gap:7px;padding:0 12px;color:var(--accent-dark);font-size:.8rem;font-weight:800;text-transform:uppercase;border-right:1px solid rgba(33,174,234,.28);background:#21aeea1a;white-space:nowrap}.ticker-label svg{width:16px;height:16px}.ticker-viewport{min-width:0;overflow:hidden;flex:1 1 auto;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.ticker-track{display:flex;width:max-content;animation:ticker-scroll 28s linear infinite}.event-ticker:hover .ticker-track{animation-play-state:paused}.ticker-group{display:flex;align-items:center;gap:28px;padding:0 14px;flex:0 0 auto}.ticker-item{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:#31536c;font-size:.88rem}.ticker-item strong{color:var(--accent-dark)}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.eyebrow{margin:0 0 2px;color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase}.topbar-actions{display:flex;align-items:center;gap:10px;position:relative;z-index:2}.today-chip,.badge,.pill{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:4px 9px;border-radius:999px;white-space:nowrap;font-size:.82rem;font-weight:700;color:#425049;background:var(--surface-2);border:1px solid var(--line)}.badge.success,.pill.success{color:#0f6a56;background:var(--green-soft);border-color:#c7e6db}.badge.warning,.pill.warning{color:#8a520f;background:var(--amber-soft);border-color:#f2d8a8}.badge.danger,.pill.danger{color:#963744;background:var(--rose-soft);border-color:#efc4ca}.badge.info,.pill.info{color:#2d5d7d;background:var(--blue-soft);border-color:#c5ddea}.main{width:min(1460px,100%);margin:0 auto;padding:24px 26px 42px}.page{display:grid;gap:18px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.page-head h2{margin:0;font-size:1.32rem}.page-head p{max-width:780px;margin:6px 0 0;color:var(--muted);line-height:1.5}.actions,.toolbar,.table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.button,.ghost-button,.icon-button,.danger-button{border:1px solid transparent;min-height:38px;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:700}.button{padding:8px 13px;background:var(--accent);color:#fff;border-color:var(--accent)}.button:hover{background:var(--accent-dark)}.ghost-button{padding:8px 12px;background:var(--surface);color:#38453e;border-color:var(--line)}.ghost-button:hover{background:var(--surface-2)}.danger-button{padding:8px 12px;background:var(--rose-soft);color:#963744;border-color:#efc4ca}.icon-button{width:38px;height:38px;padding:0;background:var(--surface);color:#3b4740;border-color:var(--line)}.icon-button:hover{background:var(--surface-2)}.icon-button.small{width:32px;height:32px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric-card,.panel,.table-panel,.event-card,.profile-aside,.profile-main,.report-panel,.settings-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.metric-card{min-height:124px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric-icon{width:38px;height:38px;border-radius:var(--radius);display:grid;place-items:center;border:1px solid var(--line)}.metric-icon.green{color:var(--accent-dark);background:var(--green-soft);border-color:#c7e6db}.metric-icon.amber{color:#8a520f;background:var(--amber-soft);border-color:#f2d8a8}.metric-icon.rose{color:#963744;background:var(--rose-soft);border-color:#efc4ca}.metric-icon.blue{color:#2d5d7d;background:var(--blue-soft);border-color:#c5ddea}.metric-card strong{font-size:1.9rem;line-height:1}.metric-card span{color:var(--muted);font-size:.9rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:16px}.dashboard-charts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mini-chart{padding:14px;background:linear-gradient(135deg,#fffffff5,#e7f7ff94),var(--surface);border:1px solid rgba(33,174,234,.24);border-radius:var(--radius);box-shadow:var(--shadow)}.mini-chart-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.mini-chart-head span{display:inline-flex;align-items:center;gap:7px;color:#31536c;font-weight:800}.mini-bars{display:grid;gap:8px}.mini-bar-row{display:grid;grid-template-columns:76px minmax(0,1fr) 24px;align-items:center;gap:8px;font-size:.82rem}.mini-bar-track{height:8px;overflow:hidden;border-radius:999px;background:#e7edf0}.mini-bar-track span{display:block;height:100%;border-radius:inherit}.mini-bar-track .success{background:#22a884}.mini-bar-track .warning{background:#e0a13a}.mini-bar-track .danger{background:#d45b68}.mini-bar-track .info{background:#38aeea}.panel,.table-panel,.report-panel{padding:16px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.panel-title h3{margin:0;font-size:1rem}.event-list,.compact-list,.alert-list{display:grid;gap:10px}.alert-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#fffffffa,#e7f7ff6b),var(--surface)}.quick-toggle{width:100%;min-height:40px;background:#fbfcfa}.event-card{box-shadow:none;padding:12px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center}.event-card .event-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius);background:var(--surface-2);color:var(--accent-dark)}.event-card strong{display:block;line-height:1.25}.event-card span{display:block;color:var(--muted);font-size:.88rem;margin-top:2px}.empty-state{padding:24px;border:1px dashed #c8d2cb;border-radius:var(--radius);color:var(--muted);background:#fbfcfa;text-align:center}.toolbar{padding:12px;background:#fbfcfa;border:1px solid var(--line);border-radius:var(--radius)}.input,.select,.textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);min-height:38px;padding:8px 10px;outline:none}.textarea{min-height:92px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #17876d1f}.toolbar .search-wrap{min-width:240px;flex:1 1 260px}.toolbar .select-wrap{min-width:170px;flex:0 1 220px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}table{width:100%;min-width:860px;border-collapse:collapse;background:var(--surface)}th,td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle;text-align:left}th{background:#f3f6f3;color:#435149;font-size:.82rem;text-transform:uppercase;white-space:nowrap}td{color:#2d3832}tbody tr:hover{background:#fbfcfa}tbody tr:last-child td{border-bottom:0}.cell-main{display:grid;gap:2px}.cell-main strong{color:var(--ink)}.cell-main small{color:var(--muted)}.table-footer{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted)}.pagination{display:flex;align-items:center;gap:6px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:grid;gap:6px}.field.full{grid-column:1 / -1}.field label{font-weight:700;font-size:.88rem}.field small{color:var(--muted);line-height:1.35}.required{color:var(--rose)}.checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid var(--line);border-radius:var(--radius);padding:10px;background:#fbfcfa}.check-item{display:flex;align-items:center;gap:8px;min-height:30px}.radio-group{display:flex;flex-wrap:wrap;gap:10px}.radio-card{min-height:38px;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfa;font-weight:700}.radio-card:has(input:checked){border-color:#c7e6db;color:var(--accent-dark);background:var(--green-soft)}.modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:#1118146b}.modal{width:min(920px,100%);max-height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius);box-shadow:0 24px 70px #00000038;border:1px solid var(--line)}.modal-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-head h3{margin:0}.modal form{min-height:0;overflow:hidden;display:flex;flex:1 1 auto;flex-direction:column}.modal-body{padding:18px;overflow-y:auto;flex:1 1 auto;min-height:0;overscroll-behavior:contain}.modal-foot{padding:14px 18px;border-top:1px solid var(--line);display:flex;flex:0 0 auto;justify-content:flex-end;gap:10px;background:var(--surface)}.profile-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:16px}.profile-aside,.profile-main{padding:16px}.profile-name{display:grid;gap:8px;margin-bottom:16px}.profile-name h2{margin:0;font-size:1.35rem}.profile-photo-card{display:grid;justify-items:center;gap:10px;margin:-4px 0 14px;padding:12px;background:#fbfcfa;border:1px solid var(--line);border-radius:var(--radius)}.profile-photo-card img,.profile-photo-empty{width:min(150px,70%);aspect-ratio:3 / 4;border-radius:6px;border:1px solid var(--line);background:var(--surface)}.profile-photo-card img{display:block;object-fit:cover}.profile-photo-empty{display:grid;place-items:center;align-content:center;gap:8px;color:var(--muted);font-weight:700;text-align:center}.profile-photo-empty svg{width:28px;height:28px;color:var(--accent-dark)}.profile-photo-button{width:100%;cursor:pointer}.profile-photo-button input{display:none}.profile-facts{display:grid;gap:10px}.fact{padding:10px;background:#fbfcfa;border:1px solid var(--line);border-radius:var(--radius)}.fact span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:2px;text-transform:uppercase;font-weight:700}.tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:14px}.tab{min-height:34px;border:1px solid var(--line);background:var(--surface);color:#3b4740;border-radius:var(--radius);padding:7px 10px;font-weight:700}.tab.active{background:var(--green-soft);color:var(--accent-dark);border-color:#c7e6db}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.detail-item{padding:12px;background:#fbfcfa;border:1px solid var(--line);border-radius:var(--radius);min-width:0}.detail-item.full{grid-column:1 / -1}.detail-item span{color:var(--muted);display:block;font-size:.78rem;text-transform:uppercase;font-weight:700;margin-bottom:4px}.detail-item strong,.detail-item p{margin:0;overflow-wrap:anywhere}.calendar{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-head{background:#f3f6f3;color:#435149;font-size:.78rem;text-transform:uppercase;font-weight:800}.calendar-head div,.calendar-day{min-height:42px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px}.calendar-head div:nth-child(7n),.calendar-day:nth-child(7n){border-right:0}.calendar-day{min-height:106px;background:#fff;display:grid;align-content:start;gap:5px}.calendar-day.muted{background:#f7f8f6;color:#9aa49d}.day-number{font-weight:800;color:#3f4c45}.vacation-chip{min-height:24px;border-radius:6px;background:var(--amber-soft);border:1px solid #f2d8a8;color:#7b4a11;padding:3px 5px;font-size:.76rem;font-weight:700;overflow:hidden;text-overflow:ellipsis}.agenda-controls{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.agenda-count-box{display:flex;align-items:center;font-weight:800}.agenda-count-box strong{font-size:1rem}.agenda-day.today{outline:2px solid rgba(33,174,234,.38);outline-offset:-2px}.agenda-chip,.agenda-more{min-height:22px;display:block;border-radius:6px;padding:3px 5px;font-size:.72rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-chip.success{color:#0f6a56;background:var(--green-soft);border:1px solid #c7e6db}.agenda-chip.warning{color:#8a520f;background:var(--amber-soft);border:1px solid #f2d8a8}.agenda-chip.danger{color:#963744;background:var(--rose-soft);border:1px solid #efc4ca}.agenda-chip.info,.agenda-more{color:#2d5d7d;background:var(--blue-soft);border:1px solid #c5ddea}.report-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.print-brand{display:flex;align-items:center;gap:14px;padding:12px;margin-bottom:14px;border:1px solid rgba(33,174,234,.24);border-radius:var(--radius);background:#fbfdff}.print-brand img{width:70px;height:52px;object-fit:contain}.print-brand strong,.print-brand span{display:block}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-group{box-shadow:none;padding:14px}.settings-group-full{grid-column:1 / -1}.settings-form,.backup-actions,.audit-list{display:grid;gap:10px}.backup-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.file-restore-button{cursor:pointer}.file-restore-button input{display:none}.audit-item{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(150px,.6fr) minmax(0,1fr);gap:10px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfa}.audit-item span,.audit-item small{display:block;color:var(--muted)}.settings-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.settings-head h3{margin:0;font-size:1rem}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.editable-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:var(--radius);padding:6px 8px;background:#fbfcfa;max-width:100%}.editable-chip span{overflow-wrap:anywhere}.toast{position:fixed;right:18px;bottom:18px;z-index:90;min-width:260px;max-width:420px;padding:12px 14px;border-radius:var(--radius);background:#1f2a23;color:#fff;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.toast.show{opacity:1;transform:translateY(0)}.file-note{color:var(--muted);font-size:.84rem}.mobile-only{display:none}@media(max-width:1180px){.topbar{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"menu title actions" "ticker ticker ticker";gap:10px 12px}#menuToggle{grid-area:menu}.topbar-title{grid-area:title}.event-ticker{grid-area:ticker;width:100%;max-width:none;height:40px}.topbar-actions{grid-area:actions}.metric-grid,.dashboard-charts{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.profile-layout{grid-template-columns:1fr}.report-controls,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;transform:translate(-102%);width:min(310px,calc(100vw - 32px));transition:transform .2s ease;box-shadow:var(--shadow)}body.menu-open .sidebar{transform:translate(0)}.topbar{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"menu title" "ticker ticker";padding:12px 16px}.topbar-actions{display:none}.event-ticker{display:flex;height:38px}.main{padding:18px 16px 32px}.page-head{display:grid}.metric-grid,.dashboard-charts,.settings-grid,.report-controls,.detail-grid,.form-grid,.alert-card,.audit-item,.backup-actions,.checklist{grid-template-columns:1fr}.table-footer{align-items:flex-start;flex-direction:column}.modal-backdrop{padding:12px}}@media print{.sidebar,.topbar,.toolbar,.report-controls,.page-head .actions,.table-actions,.modal-backdrop,.toast{display:none!important}.app-shell{display:block}.main{padding:0;width:100%}.panel,.table-panel,.report-panel{box-shadow:none}}.ticker-track.static{animation:none}.task-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.task-summary article{display:flex;align-items:center;justify-content:space-between;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.task-summary span{color:var(--muted);font-weight:700}.task-summary strong{font-size:2rem;color:var(--accent)}.employee-task-list{display:grid;gap:16px}.employee-task-card{padding:22px;border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.employee-task-card.overdue{border-left-color:var(--rose)}.employee-task-head,.employee-task-head>div,.employee-task-actions,.employee-task-meta{display:flex;align-items:center;gap:12px}.employee-task-head{justify-content:space-between}.employee-task-head h3{margin:0}.employee-task-card>p{margin:16px 0;color:var(--ink);line-height:1.6}.employee-task-meta{justify-content:space-between;color:var(--muted);font-size:.92rem}.employee-task-meta span{display:inline-flex;align-items:center;gap:7px}.employee-task-meta svg{width:17px}.employee-task-meta strong{color:var(--rose)}.employee-task-actions{margin-top:18px}.task-note-form{display:grid;gap:8px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.task-note-form label{font-weight:700}.task-note-form .ghost-button{justify-self:start}.portal-access-modal{max-width:640px}.portal-access-employee{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:22px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2)}.portal-access-employee>div{display:grid;gap:3px}.portal-access-employee span:not(.badge):not(.brand-mark){color:var(--muted);font-size:.9rem}.portal-access-fields small{color:var(--muted)}@media(max-width:720px){.task-summary{grid-template-columns:1fr}.employee-task-head,.employee-task-head>div,.employee-task-meta{align-items:flex-start;flex-direction:column}.portal-access-employee{grid-template-columns:auto minmax(0,1fr)}.portal-access-employee .badge{grid-column:1 / -1;justify-self:start}}@media(max-width:600px){.login-screen{min-height:100dvh;padding:14px}.login-card{width:100%;padding:20px 16px;border-radius:14px}.login-brand{gap:10px;margin-bottom:18px}.login-brand img{width:min(180px,64%);max-height:105px}.login-brand h1{font-size:1.18rem}.login-form{gap:14px}.login-form .input,.login-submit{min-height:48px;font-size:16px}.employee-portal .sidebar{width:min(290px,calc(100vw - 48px));padding:14px 12px}.employee-portal .nav-link{min-height:48px;font-size:1rem}.employee-portal .topbar{grid-template-columns:44px minmax(0,1fr) 44px;grid-template-areas:"menu title actions" "ticker ticker ticker";gap:8px;padding:10px 12px}.employee-portal .topbar-actions{grid-area:actions;display:flex}.employee-portal .today-chip{display:none}.employee-portal .topbar-logout{width:44px;min-width:44px;height:44px;padding:0;justify-content:center;font-size:0}.employee-portal .topbar-logout svg{width:20px;height:20px}.employee-portal .topbar-title .eyebrow{display:none}.employee-portal .topbar h1{overflow:hidden;font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}.employee-portal .event-ticker{height:36px}.employee-portal .ticker-label{padding:0 9px;font-size:.7rem}.employee-portal .ticker-item{font-size:.78rem}.employee-portal .main{padding:14px 12px 28px}.employee-portal .page{gap:12px}.employee-portal .page-head h2{font-size:1.3rem}.employee-portal .page-head p{font-size:.92rem;line-height:1.45}.employee-portal .profile-layout{gap:12px}.employee-portal .profile-aside{display:grid;grid-template-columns:104px minmax(0,1fr);grid-template-areas:"name name" "photo facts";align-items:start;gap:12px;padding:14px}.employee-portal .profile-name{grid-area:name;margin:0}.employee-portal .profile-name h2{font-size:1.18rem}.employee-portal .profile-photo-card{grid-area:photo;gap:6px;margin:0;padding:7px}.employee-portal .profile-photo-card img,.employee-portal .profile-photo-empty{width:100%}.employee-portal .profile-facts{grid-area:facts;gap:7px}.employee-portal .fact{padding:8px}.employee-portal .fact span{font-size:.68rem}.employee-portal .fact strong{display:block;overflow-wrap:anywhere;font-size:.86rem}.employee-portal .profile-main{min-width:0;padding:12px}.employee-portal .tabs{flex-wrap:nowrap;overflow-x:auto;margin-inline:-12px;padding:0 12px 10px;scrollbar-width:thin;scroll-snap-type:x proximity}.employee-portal .tab{flex:0 0 auto;min-height:42px;display:inline-flex;align-items:center;scroll-snap-align:start}.employee-portal .detail-grid{gap:8px}.employee-portal .detail-item{padding:10px}.employee-portal .profile-main .table-wrap{margin-inline:-12px;padding-inline:12px;overflow-x:auto;overscroll-behavior-inline:contain}.employee-portal .profile-main table{min-width:620px}.employee-portal .task-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.employee-portal .task-summary article{min-width:0;align-items:flex-start;flex-direction:column;gap:5px;padding:12px 10px;border-radius:12px}.employee-portal .task-summary span{font-size:.74rem}.employee-portal .task-summary strong{font-size:1.55rem}.employee-portal .employee-task-card{padding:16px 14px;border-radius:14px}.employee-portal .employee-task-head{gap:10px}.employee-portal .employee-task-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.employee-portal .employee-task-actions>*{width:100%;justify-content:center}.employee-portal .task-note-form .ghost-button{width:100%;justify-content:center}}@media(max-width:390px){.employee-portal .profile-aside{grid-template-columns:88px minmax(0,1fr)}.employee-portal .task-summary span{font-size:.68rem}}.production-portal{min-height:100dvh;background:var(--bg)}.production-portal.auth-locked{overflow:auto}.production-login .login-card{border-radius:18px}.login-message,.login-copy{margin:0 0 16px;color:var(--muted);line-height:1.5;text-align:center}.login-message{padding:10px;border:1px solid #c7e6db;border-radius:var(--radius);color:var(--accent-dark);background:var(--green-soft)}.link-button{border:0;color:var(--accent-dark);background:transparent;font:inherit;font-weight:700}.mfa-input{letter-spacing:.45em;text-align:center;font-size:1.3rem}.mfa-enrollment{display:grid;justify-items:center;gap:12px;margin-bottom:16px;color:var(--muted);text-align:center}.mfa-enrollment p{margin:0;line-height:1.45}.mfa-enrollment img{width:min(220px,78vw);padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff}.secure-loading{min-height:100dvh;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-weight:700}.portal-shell{min-height:100dvh}.portal-header{min-height:76px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px clamp(16px,4vw,54px);border-bottom:1px solid var(--line);background:#fbfcfaf0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.portal-header .brand{padding:0}.portal-user{display:flex;align-items:center;gap:12px;color:var(--muted);font-weight:700}.portal-nav{position:sticky;top:76px;z-index:18;display:flex;justify-content:center;gap:6px;padding:9px 16px;overflow-x:auto;border-bottom:1px solid var(--line);background:var(--surface)}.portal-nav a{min-height:40px;display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;color:var(--ink);text-decoration:none;font-weight:800;white-space:nowrap}.portal-nav a:hover{color:var(--accent-dark);background:var(--green-soft)}.portal-nav a span{min-width:22px;padding:2px 6px;border-radius:999px;color:#fff;background:var(--accent);text-align:center;font-size:.75rem}.portal-content{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:28px 0 64px}.portal-section{scroll-margin-top:150px;margin-bottom:20px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.portal-section .page-head{margin-bottom:18px}.employee-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.employee-overview article{min-width:0;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfa}.employee-overview span,.secure-document-list article span{display:block;margin-bottom:4px;color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase}.employee-overview strong{overflow-wrap:anywhere}.secure-document-list{display:grid;gap:9px}.secure-document-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfa}.secure-document-list article span{margin:3px 0 0}@media(max-width:760px){.portal-header{min-height:68px;padding:9px 12px}.portal-header .brand small,.portal-user>span{display:none}.portal-header .brand-mark{width:40px;height:40px}.portal-nav{top:68px;justify-content:flex-start;padding-inline:12px}.portal-content{width:calc(100% - 24px);padding-top:14px}.portal-section{scroll-margin-top:130px;padding:16px 14px;border-radius:14px}.employee-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.employee-overview article{padding:11px}.secure-document-list article{align-items:flex-start;flex-direction:column}.secure-document-list button{width:100%;justify-content:center}}
