:root{--bg:#f3f7f5;--surface:#fff;--surface-soft:#eef5f1;--surface-hover:#e5f3ec;--text:#17312a;--muted:#667872;--border:#d9e4df;--primary:#0b5338;--primary-hover:#073d2a;--danger:#bd4c43;--success:#278a67;--warning:#9b6c10;--accent:#169b62;--blue:#3977a6;--gold:#b88717;--navy:#0a2d22;--navy-soft:#103d2e;--mint:#49bf8a;--radius-sm:6px;--radius-md:8px;--radius-lg:8px;--radius-xl:8px;--shadow:0 10px 28px #0b533814;--shadow-lg:0 24px 64px #08312433}html[data-theme=dark]{--bg:#121716;--surface:#1b211f;--surface-soft:#242b28;--surface-hover:#30342b;--text:#f3f1e9;--muted:#abb5b0;--border:#3a433f;--primary:#65d6a3;--primary-hover:#8ae5bb;--danger:#ff8a80;--success:#76d3a5;--warning:#ffc46b;--accent:#65d6a3;--blue:#8eb4e3;--gold:#e1b65f;--shadow:0 18px 50px #00000059;--shadow-lg:0 24px 70px #00000073}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{max-width:100%}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}a{color:inherit}:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 65%, transparent);outline-offset:3px}::selection{background:color-mix(in srgb, var(--primary) 24%, transparent)}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:0;line-height:1.15}p{line-height:1.55}.screen-center{min-height:100dvh;color:var(--muted);place-items:center;display:grid}.muted{color:var(--muted)}.eyebrow{color:var(--primary);letter-spacing:0;text-transform:uppercase;margin-bottom:.75rem;font-size:.75rem;font-weight:800}*{scrollbar-width:thin;scrollbar-color:var(--primary) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--primary) 70%, var(--surface));background-clip:padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--primary);background-clip:padding-box}.sidebar{border-right:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, var(--bg));flex-direction:column;justify-content:space-between;height:100vh;padding:1rem;display:flex;position:sticky;top:0}.sidebar-brand{gap:.25rem;display:grid}.sidebar-brand-title{letter-spacing:0;margin:0;font-size:1.45rem;font-weight:900}.sidebar-brand-subtitle{color:var(--muted);margin:0;font-size:.9rem}.nav-list{flex-direction:column;gap:.35rem;margin-top:1.5rem;display:flex}.nav-item{border-radius:var(--radius-md);min-height:42px;color:var(--muted);overflow-wrap:anywhere;align-items:center;padding:.72rem .85rem;font-weight:700;text-decoration:none;display:flex}.nav-item:hover,.nav-item.active{color:var(--text);background:var(--surface);box-shadow:var(--shadow)}.page-header{justify-content:space-between;align-items:flex-start;gap:1.25rem;margin-bottom:1.5rem;display:flex}.page-header h1{letter-spacing:0;margin-bottom:.35rem;font-size:2.25rem;line-height:1.05}.page-header p{color:var(--muted);margin:0}.page-grid{grid-template-columns:1fr 420px;gap:1.25rem;display:grid}.section-stack{grid-template-columns:minmax(0,1fr);gap:1.25rem;min-width:0;display:grid}@media (max-width:920px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);height:auto;padding:.85rem 1rem;position:static}.nav-list{flex-direction:row;gap:.5rem;margin-top:1rem;padding-bottom:.2rem;display:flex;overflow-x:auto}.nav-item{white-space:nowrap;flex:none;min-height:38px}.app-content{padding:1.25rem}.page-grid{grid-template-columns:1fr}}@media (max-width:560px){.page-header{flex-direction:column;gap:.85rem}.page-header h1{font-size:1.75rem}}.users-page-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem;display:grid}@media (max-width:980px){.users-page-grid{grid-template-columns:1fr}}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow);padding:clamp(1rem,1.8vw,1.25rem)}.card-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.card-header>*{min-width:0}.card-header h2{margin:0}.primary-button,.secondary-button,.danger-button,.ghost-button{border-radius:var(--radius-md);overflow-wrap:anywhere;border:0;min-height:42px;padding:.75rem .95rem;font-weight:800;line-height:1.15;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}.primary-button{background:var(--primary);color:#fff}.primary-button:hover{background:var(--primary-hover)}.secondary-button{background:var(--surface-soft);color:var(--text);border:1px solid var(--border)}.ghost-button{color:var(--text);border:1px solid var(--border);background:0 0}.danger-button{background:var(--danger);color:#fff}.message{color:var(--primary);margin:0;font-weight:700}.error-message{border-radius:var(--radius-md);color:var(--danger);background:#dc26261f;margin:0;padding:.85rem 1rem;font-weight:700}.status-pill{background:var(--surface-soft);width:-moz-fit-content;width:fit-content;color:var(--muted);overflow-wrap:anywhere;border-radius:999px;align-items:center;padding:.35rem .7rem;font-size:.8rem;font-weight:800;display:inline-flex}.status-draft{background:#64748b24}.status-submitted{color:var(--primary);background:#2563eb24}.status-approved{color:var(--success);background:#16a34a24}.status-rejected{color:var(--danger);background:#dc262624}.table-wrapper{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.9rem}th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.modal-backdrop{z-index:20;background:#0f172a8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}@media (max-width:780px){.modal-grid{grid-template-columns:1fr}}.generated-password-box{border:1px dashed var(--primary);border-radius:var(--radius-md);background:#2563eb14;gap:.5rem;margin-top:1rem;padding:1rem;display:grid}.generated-password-box strong{letter-spacing:.08em;font-size:1.15rem}.schedule-days-grid{grid-template-columns:repeat(7,minmax(130px,1fr));gap:1rem;display:grid}.schedule-day-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);gap:.75rem;padding:1rem;display:grid}@media (max-width:1180px){.schedule-days-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:680px){.schedule-days-grid{grid-template-columns:1fr}}.users-create-card{align-self:start}.users-list-card{min-height:0}.users-scroll-list{max-height:720px;padding-right:.35rem;overflow-y:auto}.users-filter-bar{margin-bottom:1rem}.users-filter-bar input{width:100%}.user-card{min-width:0}.user-card h3,.user-card p{overflow-wrap:anywhere}.workload-profile-form-card{gap:1.25rem;display:grid}.workload-days-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-soft);gap:.85rem;padding:1rem;display:grid}.workload-days-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem;display:grid}.workload-day-toggle{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;justify-content:center;align-items:center;gap:.45rem;min-height:44px;display:flex}.workload-day-toggle input,.workload-override-toggle input{width:18px;height:18px;accent-color:var(--primary)}.workload-override-toggle{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-soft);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.workload-override-toggle>div{gap:.2rem;display:grid}.workload-override-toggle span{color:var(--muted);font-size:.85rem}.approval-filter-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-soft);color:inherit;text-align:left;cursor:pointer;gap:.35rem;padding:1rem;display:grid}.approval-filter-card strong{font-size:1.4rem}.approval-queue-item{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-soft);gap:.9rem;padding:1rem;display:grid}.approval-queue-main{justify-content:space-between;align-items:start;gap:1rem;display:flex}.approval-queue-note{border-radius:var(--radius-md);background:var(--surface);gap:.35rem;padding:.8rem;display:grid}.approval-toolbar{margin-bottom:1rem}.approval-queue-list{gap:.85rem;max-height:620px;padding-right:.35rem;display:grid;overflow-y:auto}.approval-queue-list::-webkit-scrollbar{width:10px}.approval-queue-list::-webkit-scrollbar-track{background:var(--surface-soft);border-radius:999px}.approval-queue-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.approval-queue-list::-webkit-scrollbar-thumb:hover{background:var(--muted)}.approval-filter-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;display:grid}.approval-filter-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-soft);color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex}.approval-filter-card.active{border-color:var(--primary);background:#2563eb1f}.approval-toolbar{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.approval-toolbar label{flex:1}.approval-queue-list{gap:.85rem;display:grid}.approval-queue-item{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:1rem}.approval-queue-item.selected{border-color:var(--primary);background:#2563eb14}.approval-queue-main{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.9rem;display:grid}.approval-queue-select input{width:auto;margin-top:.3rem}.approval-queue-note{border-radius:var(--radius-md);background:var(--surface-soft);margin-top:.75rem;padding:.75rem}@media (max-width:700px){.approval-toolbar{flex-direction:column;align-items:stretch}.approval-queue-main{grid-template-columns:auto minmax(0,1fr)}.approval-queue-main .status-pill{grid-column:2;justify-self:start}}@media (max-width:900px){.approval-filter-grid{grid-template-columns:repeat(2,1fr)}.approval-queue-main{flex-direction:column}.workload-days-grid{grid-template-columns:repeat(2,1fr)}}.workload-percentage-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.workload-percentage-presets button{border:1px solid var(--border);background:var(--surface-soft);min-height:38px;color:var(--muted);border-radius:6px;font-weight:800}.workload-percentage-presets button.active{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 11%, var(--surface));color:var(--primary)}@media (max-width:620px){.card-header{flex-direction:column;align-items:stretch}.form-actions{width:100%}.form-actions>button,.form-actions>a{flex:160px}}.form-stack{gap:1rem;display:grid}label{color:var(--muted);gap:.45rem;font-size:.9rem;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;color:var(--text);outline:none;padding:.8rem .9rem}textarea{resize:vertical;min-height:110px}input:focus,select:focus,textarea:focus{border-color:var(--primary)}.form-grid{grid-template-columns:repeat(2,1fr);gap:.9rem;display:grid}.form-actions{flex-wrap:wrap;gap:.75rem;display:flex}.checkbox-row{color:var(--text);align-items:center;gap:.6rem;display:flex}.checkbox-row input{width:auto}.toggle-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.toggle-row>div{gap:.15rem;display:grid}.toggle-row input{width:18px;height:18px;accent-color:var(--primary)}@media (max-width:680px){.form-grid{grid-template-columns:1fr}.form-actions button{width:100%}}.auth-screen{grid-template-columns:minmax(360px,520px) 1fr;min-height:100vh;display:grid}.auth-panel{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;justify-content:center;gap:2rem;min-height:100vh;padding:clamp(1.5rem,5vw,4rem);display:flex;position:relative}.auth-toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex;position:absolute;top:2rem;left:clamp(1.5rem,5vw,4rem);right:clamp(1.5rem,5vw,4rem)}.auth-brand{min-width:0}.auth-brand-title{letter-spacing:0;margin:0;font-size:1.65rem;font-weight:900}.auth-brand-subtitle{color:var(--muted);margin:.25rem 0 0}.auth-panel h1{letter-spacing:0;margin-bottom:.4rem;font-size:2.25rem}.auth-visual{place-items:center;padding:2rem;display:grid}.auth-visual-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(135deg, #2563eb2e, transparent), var(--surface);max-width:580px;box-shadow:var(--shadow);padding:clamp(2rem,5vw,4rem)}.auth-visual-card h2{letter-spacing:0;margin-bottom:1rem;font-size:4rem;line-height:.95}.auth-visual-card p{color:var(--muted);line-height:1.7}@media (max-width:860px){.auth-screen{grid-template-columns:1fr}.auth-panel{border-right:0}.auth-visual{display:none}}@media (max-width:520px){.auth-toolbar{position:static}.auth-panel{justify-content:flex-start}}.dashboard-hero{background:linear-gradient(135deg, #2563eb2e, transparent), var(--surface);justify-content:space-between;align-items:flex-end;min-height:230px;display:flex}.dashboard-hero h2{letter-spacing:0;margin-bottom:.5rem;font-size:3rem}.status-dot{background:var(--muted);border-radius:999px;width:1.15rem;height:1.15rem;box-shadow:0 0 0 8px #64748b24}.status-dot.active{background:var(--success);box-shadow:0 0 0 8px #16a34a29}.balance-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;display:grid}.balance-card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-soft);gap:.35rem;min-width:0;padding:1rem;display:grid}.balance-card span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.balance-card strong{overflow-wrap:anywhere;letter-spacing:0;min-width:0;font-size:1.35rem}.balance-card.main{background:linear-gradient(135deg, #2563eb24, transparent), var(--surface-soft);border-color:#2563eb59}.statistics-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1.25rem;display:grid}.statistics-section{gap:1rem;display:grid}.statistics-section-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.statistics-section-heading h2{margin:0}.statistics-overview-grid{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:1.25rem;display:grid}.statistics-hero-card{min-height:100%}.statistics-card{min-width:0}.statistics-progress-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);grid-template-columns:minmax(0,1fr) minmax(140px,.8fr) auto;align-items:center;gap:.85rem;padding:.9rem;display:grid}.statistics-progress-row>div:first-child{gap:.25rem;display:grid}.statistics-progress-row span{color:var(--muted);font-size:.85rem}.statistics-progress-track{background:var(--surface);border:1px solid var(--border);border-radius:999px;height:.7rem;overflow:hidden}.statistics-progress-track span{border-radius:inherit;background:var(--primary);height:100%;display:block}.statistics-graphs-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.statistics-graph-card{gap:1rem;display:grid}.statistics-bar-chart{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);grid-template-columns:repeat(auto-fit,minmax(34px,1fr));align-items:end;gap:.65rem;min-height:240px;padding:1rem .75rem .35rem;display:grid}.statistics-bar-group{text-align:center;grid-template-rows:minmax(170px,1fr) auto;gap:.5rem;min-width:0;display:grid}.statistics-bars{justify-content:center;align-items:end;gap:.25rem;min-height:170px;display:flex}.statistics-bar{border-radius:999px 999px 4px 4px;width:min(18px,38%);min-height:4px}.statistics-bar.worked{background:var(--primary)}.statistics-bar.soll{background:var(--success)}.statistics-bar-group strong,.statistics-line-labels span{min-width:0;color:var(--muted);overflow-wrap:anywhere;font-size:.75rem}.statistics-graph-legend{color:var(--muted);flex-wrap:wrap;gap:.8rem;font-size:.85rem;font-weight:800;display:flex}.statistics-graph-legend span{align-items:center;gap:.35rem;display:inline-flex}.statistics-graph-legend span:before{content:"";border-radius:999px;width:.7rem;height:.7rem}.statistics-graph-legend .worked:before{background:var(--primary)}.statistics-graph-legend .soll:before{background:var(--success)}.statistics-line-chart{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);gap:.65rem;padding:1rem .75rem .35rem;display:grid}.statistics-line-chart svg{width:100%;min-height:220px;overflow:visible}.statistics-line-chart path{fill:none;stroke:var(--primary);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.statistics-line-chart circle{fill:var(--surface);stroke:var(--primary);stroke-width:2px}.statistics-line-chart .zero-line{stroke:var(--border);stroke-width:1.5px;stroke-dasharray:3 3}.statistics-line-labels{text-align:center;grid-template-columns:repeat(auto-fit,minmax(28px,1fr));gap:.35rem;display:grid}.statistics-calendar-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:1.25rem;display:grid}.statistics-calendar-card{gap:.75rem;display:grid}.statistics-calendar-weekdays,.statistics-calendar-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;display:grid}.statistics-calendar-weekdays span{color:var(--muted);text-align:center;text-transform:uppercase;font-size:.72rem;font-weight:800}.statistics-calendar-day{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);align-content:start;gap:.35rem;min-width:0;min-height:104px;padding:.55rem;display:grid}.statistics-calendar-day.empty{visibility:hidden}.statistics-calendar-day.muted-day{background:0 0}.statistics-calendar-day strong{font-size:.95rem}.statistics-calendar-day span,.statistics-calendar-day b,.statistics-calendar-day em{min-width:0;color:var(--muted);overflow-wrap:anywhere;font-size:.72rem;font-style:normal;line-height:1.2}.statistics-calendar-day b{width:-moz-fit-content;width:fit-content;max-width:100%;color:var(--primary);background:#2563eb1f;border-radius:999px;padding:.2rem .35rem}.statistics-calendar-summary-list{gap:.6rem;margin-top:1rem;display:grid}@media (max-width:980px){.statistics-grid,.statistics-overview-grid,.statistics-graphs-grid,.statistics-calendar-grid{grid-template-columns:1fr}}@media (max-width:760px){.balance-grid{grid-template-columns:1fr}.statistics-section-heading,.statistics-progress-row{grid-template-columns:1fr;align-items:stretch}.statistics-calendar-weekdays{display:none}.statistics-calendar-month{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-calendar-day.empty{display:none}}.calendar-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.calendar-month-picker{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.calendar-month-title{text-align:center;letter-spacing:0;min-width:150px;font-size:1.15rem;font-weight:900}.calendar-month-button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:42px;height:42px;color:var(--text);cursor:pointer;font-size:1.25rem;font-weight:900;transition:border-color .2s,color .2s,transform .2s,box-shadow .2s}.calendar-month-button:hover{border-color:var(--primary);color:var(--primary);box-shadow:var(--shadow);transform:translateY(-1px)}.calendar-wrapper{width:100%;padding-bottom:.25rem;overflow-x:auto}.calendar-grid{grid-template-columns:repeat(7,minmax(112px,1fr));gap:.6rem;min-width:840px;display:grid}.calendar-weekday{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:.75rem;font-size:.75rem;font-weight:900}.calendar-day{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:left;min-height:154px;color:inherit;cursor:pointer;outline:none;flex-direction:column;gap:.5rem;padding:.8rem;transition:border-color .2s,transform .2s,box-shadow .2s,background .2s,opacity .2s;display:flex}.calendar-day:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent)}.calendar-day:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-2px)}.calendar-day.off{background:var(--surface-soft)}.calendar-day.outside-month{opacity:.42}.calendar-day.today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary), var(--shadow)}.calendar-day-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.calendar-day-number{font-size:1rem;font-weight:900}.calendar-day-badge{background:var(--primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 .45rem;font-size:.7rem;font-weight:900;display:inline-flex}.calendar-day-meta{color:var(--muted);gap:.2rem;font-size:.78rem;display:grid}.calendar-day-meta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-events{gap:.35rem;margin-top:auto;display:grid}.calendar-day-indicators{display:none}.calendar-event{border-radius:var(--radius-sm);width:100%;min-width:0;min-height:30px;color:var(--primary);text-align:left;background:#2563eb1f;border:0;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:.35rem;padding:.35rem .45rem;font-size:.75rem;font-weight:800;transition:transform .15s,opacity .15s;display:grid}.calendar-event-icon,.calendar-event-status{align-items:center;gap:.25rem;display:inline-flex}.calendar-event-icon svg{width:14px;height:14px}.calendar-event-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.calendar-event-status{background:color-mix(in srgb, currentColor 9%, var(--surface));white-space:nowrap;border-radius:4px;padding:.16rem .3rem;font-size:.58rem;line-height:1}.calendar-event-status svg{width:10px;height:10px}.calendar-event-status.status-approved{color:var(--success)}.calendar-event-status.status-submitted{color:var(--warning)}.calendar-event-status.status-rejected{color:var(--danger)}.calendar-event-status.status-draft{color:var(--muted)}.calendar-event.status-rejected{box-shadow:inset 3px 0 0 var(--danger)}.calendar-event.status-submitted{box-shadow:inset 3px 0 0 var(--warning)}.event-time-entry{background:color-mix(in srgb, var(--blue) 12%, var(--surface));color:var(--blue)}.calendar-event:hover{opacity:.9}.event-vacation,.event-holiday{color:var(--success);background:#16a34a26}.event-sick,.event-sick-with-certificate{color:var(--warning);background:#d9770626}.event-therapy,.event-doctor{color:var(--primary);background:#28615a24}.event-vocational-school,.event-intercompany-course,.event-school{color:#5d4f8b;background:#5d4f8b24}.event-public-holiday{color:var(--success);background:#257a4624}.event-absence{color:var(--danger);background:#dc262626}.event-compensation{color:var(--primary);background:#2563eb26}.event-other{background:var(--surface-soft);color:var(--muted)}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#0f172aa6;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);width:min(1100px,100%);max-height:92vh;box-shadow:var(--shadow-lg);padding:1.5rem;overflow-y:auto}.calendar-modal{width:min(820px,100%);padding:0}.calendar-modal-header{z-index:5;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 96%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:0;padding:1rem 1.25rem;position:sticky;top:0}.calendar-modal-form{padding:1.25rem}.calendar-event-detail-summary{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.calendar-event-detail-summary>div{border-right:1px solid var(--border);gap:.25rem;min-width:0;padding:.8rem;display:grid}.calendar-event-detail-summary>div:last-child{border-right:0}.calendar-event-detail-summary span{color:var(--muted);font-size:.7rem}.calendar-event-detail-summary strong{overflow-wrap:anywhere;min-width:0;font-size:.85rem}.modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:1rem;display:grid}.event-pending{color:var(--warning);background:#d9770626}.compact-stack{gap:.6rem}.weekday-toggle-grid{flex-wrap:wrap;gap:.5rem;display:flex}.weekday-toggle{border:1px solid var(--border);background:var(--surface-soft);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:.45rem;padding:.55rem .75rem;font-size:.85rem;font-weight:800;display:inline-flex}.weekday-toggle input{width:auto;margin:0}@media (max-width:900px){.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-month-picker{justify-content:flex-start}.modal-grid{grid-template-columns:1fr}}@media (max-width:620px){.calendar-wrapper{max-width:100%;overflow-x:clip}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;width:100%;min-width:0}.calendar-day{justify-content:flex-start;gap:.3rem;min-width:0;min-height:68px;padding:.4rem .3rem;position:relative}.calendar-day-meta,.calendar-events{display:none}.calendar-day-header{justify-content:center}.calendar-day-number{font-size:.85rem}.calendar-day-badge{width:17px;min-width:17px;height:17px;margin:-.2rem -.15rem 0 0;padding:0;font-size:.55rem;position:absolute;top:0;right:0}.calendar-day-indicators{justify-content:center;gap:3px;min-height:8px;display:flex}.calendar-day-indicators .event-dot{background:var(--primary);border-radius:50%;width:6px;height:6px}.calendar-day-indicators .event-vacation,.calendar-day-indicators .event-holiday,.calendar-day-indicators .event-public-holiday{background:var(--success)}.calendar-day-indicators .event-sick,.calendar-day-indicators .event-sick-with-certificate{background:var(--warning)}.calendar-day-indicators .event-absence{background:var(--danger)}.calendar-day-indicators .event-vocational-school,.calendar-day-indicators .event-intercompany-course,.calendar-day-indicators .event-school{background:#5d4f8b}.calendar-weekday{text-align:center;padding:.35rem 0;font-size:.62rem}.calendar-modal{max-height:calc(100vh - 1rem)}.calendar-modal-header,.calendar-modal-form{padding:.9rem}.calendar-event-detail-summary{grid-template-columns:1fr}.calendar-event-detail-summary>div{border-right:0;border-bottom:1px solid var(--border)}.calendar-event-detail-summary>div:last-child{border-bottom:0}.day-entry-list .calendar-event{min-height:44px}}@media (pointer:coarse){.calendar-day[role=button],.calendar-event,.day-entry-button{touch-action:manipulation}}.app-shell{grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:40;border-right:1px solid var(--border);background:var(--surface);flex-direction:column;justify-content:space-between;gap:1rem;height:100vh;padding:1.1rem .85rem;display:flex;position:sticky;top:0}.sidebar-main{min-height:0;overflow-y:auto}.sidebar-brand-row,.sidebar-brand,.sidebar-profile,.nav-item,.mobile-header,.page-controls,.period-control,.session-status,.live-indicator,.label-with-icon,.text-link,.admin-role-badge{align-items:center;display:flex}.sidebar-brand-row{justify-content:space-between;gap:.5rem;padding:0 .35rem}.sidebar-brand{min-width:0;color:var(--text);gap:.7rem;text-decoration:none}.brand-mark{background:var(--primary);color:#fff;border-radius:8px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.sidebar-brand>span:last-child,.sidebar-profile-copy{gap:.1rem;min-width:0;display:grid}.sidebar-brand strong{font-size:1.05rem;font-weight:850}.sidebar-brand small,.sidebar-profile small{color:var(--muted);font-size:.72rem}.nav-list{gap:.25rem;margin-top:1.65rem;display:grid}.nav-section-label{color:var(--muted);text-transform:uppercase;margin:1.05rem 0 .35rem;padding:0 .75rem;font-size:.68rem;font-weight:800}.nav-item{min-height:43px;color:var(--muted);border-radius:7px;gap:.72rem;padding:.65rem .75rem;font-size:.9rem;font-weight:720;text-decoration:none;transition:background .16s,color .16s}.nav-item:hover{color:var(--text);background:var(--surface-soft);box-shadow:none}.nav-item.active{color:var(--primary);background:color-mix(in srgb, var(--primary) 11%, var(--surface));box-shadow:inset 3px 0 var(--primary)}.sidebar-profile{border:1px solid var(--border);min-width:0;color:var(--text);border-radius:8px;gap:.65rem;padding:.7rem;text-decoration:none}.sidebar-profile-copy{flex:1}.sidebar-profile-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.avatar{background:color-mix(in srgb, var(--accent) 16%, var(--surface));width:34px;height:34px;color:var(--accent);border-radius:50%;flex:0 0 34px;place-items:center;font-size:.78rem;font-weight:850;display:grid}.app-main{min-width:0}.app-content{width:100%;max-width:1480px;margin:0 auto;padding:clamp(1.2rem,2.4vw,2.4rem)}.mobile-header,.sidebar-close,.navigation-scrim{display:none}.page-header{align-items:center;margin-bottom:1.65rem}.page-header h1{overflow-wrap:anywhere;margin:0 0 .35rem;font-size:2.15rem;font-weight:820}.card h2,.card h3{overflow-wrap:anywhere}.page-header p:last-child{max-width:680px}.page-controls{flex-wrap:wrap;justify-content:flex-end;gap:.7rem}.period-control,.calendar-month-picker,.month-picker{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:.35rem;min-height:44px;padding:.25rem}.month-picker{align-items:center;display:flex;position:relative}.month-picker-trigger,.month-picker-today{min-height:36px;color:var(--text);background:0 0;border:0;font-weight:800}.month-picker-trigger{justify-content:center;align-items:center;gap:.45rem;min-width:168px;padding:0 .65rem;display:inline-flex}.month-picker-trigger:hover,.month-picker-today:hover{color:var(--primary);background:var(--surface-soft)}.month-picker-today{border-left:1px solid var(--border);padding:0 .7rem}.month-picker-popover{z-index:30;border:1px solid var(--border);background:var(--surface);width:min(320px,100vw - 2rem);box-shadow:var(--shadow-lg);border-radius:8px;padding:.75rem;position:absolute;top:calc(100% + .5rem);right:0}.month-picker-year{text-align:center;grid-template-columns:38px 1fr 38px;align-items:center;gap:.5rem;margin-bottom:.65rem;display:grid}.month-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.month-picker-option{background:var(--surface-soft);min-height:44px;color:var(--text);text-transform:capitalize;border:1px solid #0000;border-radius:6px;grid-template-columns:1fr auto;align-items:center;gap:.2rem;padding:.55rem;font-weight:700;display:grid}.month-picker-option.current{border-color:color-mix(in srgb, var(--primary) 35%, var(--border))}.month-picker-option.selected{background:var(--primary);color:#fff}.period-control strong,.calendar-month-title{text-align:center;min-width:148px;padding:0 .45rem;font-size:.88rem}.user-scope-selector{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:auto minmax(120px,1fr);align-items:center;gap:.55rem;min-width:min(260px,100%);padding:.25rem .25rem .25rem .75rem;display:grid}.user-scope-selector>span{color:var(--muted);white-space:nowrap;align-items:center;gap:.4rem;font-size:.78rem;display:inline-flex}.user-scope-selector select{background-color:var(--surface-soft);border:0;min-height:36px;padding:.35rem 2rem .35rem .6rem;font-size:.84rem}.read-only-badge,.admin-role-badge,.count-badge{background:color-mix(in srgb, var(--blue) 13%, var(--surface));width:-moz-fit-content;width:fit-content;color:var(--blue);border-radius:999px;padding:.4rem .65rem;font-size:.76rem;font-weight:800}.icon-button{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--text);border-radius:7px;flex:0 0 38px;place-items:center;padding:0;text-decoration:none;transition:border-color .16s,background .16s,color .16s;display:inline-grid}.icon-button:hover{border-color:var(--primary);background:var(--surface-hover);color:var(--primary)}.icon-button.danger:hover{border-color:var(--danger);color:var(--danger)}.sidebar-close.icon-button{display:none}.primary-button,.secondary-button,.danger-button,.ghost-button{border-radius:7px;justify-content:center;align-items:center;gap:.45rem;min-height:42px;font-size:.86rem;font-weight:780;display:inline-flex}.primary-button:hover,.secondary-button:hover,.danger-button:hover,.ghost-button:hover{box-shadow:none;transform:none}.card{box-shadow:var(--shadow);border-radius:8px;padding:clamp(1rem,1.8vw,1.35rem)}.card-header h2,.card-header h3{margin-bottom:0}.content-loader{min-height:360px;color:var(--muted);justify-content:center;align-items:center;gap:.65rem;display:flex}.async-state{width:100%;min-height:clamp(280px,42vh,440px);color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:.8rem;padding:clamp(1.5rem,5vw,3rem);display:grid}.async-state.compact{min-height:150px;padding:1.25rem}.async-state p{max-width:48ch;margin:0}.async-state strong{color:var(--text);margin-bottom:.25rem;font-size:.95rem;display:block}.async-state-icon{background:color-mix(in srgb, var(--muted) 10%, var(--surface));width:44px;height:44px;color:var(--muted);border-radius:50%;place-items:center;display:inline-grid}.async-state-icon svg{width:21px;height:21px}.async-state-icon.loading{background:color-mix(in srgb, var(--primary) 12%, var(--surface));color:var(--primary)}.async-state.error .async-state-icon{background:color-mix(in srgb, var(--danger) 12%, var(--surface));color:var(--danger)}.async-state.empty{min-height:190px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-header{align-items:flex-end}.session-status{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:999px;gap:.48rem;padding:.5rem .7rem;font-size:.78rem;font-weight:750}.session-status>span,.live-indicator>span{background:var(--muted);border-radius:50%;width:7px;height:7px}.session-status.active,.live-indicator.active{color:var(--success)}.session-status.active>span,.live-indicator.active>span{background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb, var(--success) 15%, transparent)}.dashboard-layout{grid-template-columns:minmax(320px,.9fr) minmax(380px,1.1fr);gap:1rem;display:grid}.tracking-card,.today-worktime-card{min-height:400px}.tracking-card{align-content:space-between;gap:1.25rem;display:grid}.tracking-card-heading{align-items:flex-start;gap:.85rem;display:flex}.tracking-card-heading h2{margin-bottom:.35rem}.tracking-icon,.stat-card-icon,.admin-panel-icon,.master-data-item-icon,.danger-modal-icon{background:color-mix(in srgb, var(--primary) 12%, var(--surface));width:42px;height:42px;color:var(--primary);border-radius:8px;flex:0 0 42px;place-items:center;display:grid}.tracking-icon svg,.stat-card-icon svg,.admin-panel-icon svg,.master-data-item-icon svg,.danger-modal-icon svg{width:20px;height:20px}.tracking-icon.active{background:color-mix(in srgb, var(--success) 13%, var(--surface));color:var(--success)}.tracking-form textarea{min-height:76px}.action-button{width:100%}.label-with-icon{gap:.35rem}.today-worktime-card{align-content:space-between;display:grid}.live-indicator{color:var(--muted);gap:.4rem;font-size:.78rem;font-weight:800}.today-worktime-visual{grid-template-columns:minmax(190px,.85fr) minmax(180px,1.15fr);align-items:center;gap:clamp(1rem,3vw,2rem);display:grid}.worktime-ring{aspect-ratio:1;width:min(100%,220px);margin:0 auto;position:relative}.worktime-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.worktime-ring circle{fill:none;stroke-width:10px}.ring-track{stroke:var(--surface-soft)}.ring-value{stroke:var(--primary);stroke-linecap:round;transition:stroke-dashoffset .35s}.worktime-ring>div{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.worktime-ring strong{font-size:2rem}.worktime-ring span{color:var(--muted);font-size:.8rem}.worktime-breakdown{gap:.7rem;margin:0;display:grid}.worktime-breakdown>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:.75rem;padding:.8rem 0;display:flex}.worktime-breakdown dt{color:var(--muted);font-size:.8rem}.worktime-breakdown dd{margin:0;font-weight:800}.dashboard-balance-card{grid-column:1/-1}.text-link{color:var(--primary);gap:.35rem;font-size:.8rem;font-weight:800;text-decoration:none}.dashboard-metrics{border-top:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dashboard-metrics>div{border-right:1px solid var(--border);gap:.35rem;min-width:0;padding:1rem;display:grid}.dashboard-metrics>div:first-child{padding-left:0}.dashboard-metrics>div:last-child{border-right:0}.dashboard-metrics span{color:var(--muted);font-size:.73rem}.dashboard-metrics strong{overflow-wrap:anywhere;font-size:1.25rem}.dashboard-metrics .positive strong{color:var(--success)}.dashboard-metrics .negative strong{color:var(--danger)}.holiday-balance-card{grid-column:1/-1}.holiday-balance-card .stat-card-icon{background:color-mix(in srgb, var(--success) 12%, var(--surface));color:var(--success)}.holiday-balance-grid{border:1px solid var(--border);background:var(--border);border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:1rem;display:grid;overflow:hidden}.holiday-balance-grid>div{background:var(--surface);gap:.3rem;min-width:0;padding:.9rem;display:grid}.holiday-balance-grid span{color:var(--muted);font-size:.75rem}.holiday-balance-grid strong{font-size:1.35rem}.approvals-callout{grid-column:1/-1;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;display:grid}.approvals-callout h2{margin:0;font-size:1.05rem}.statistics-dashboard,.statistics-section{gap:1rem;display:grid}.statistics-dashboard{gap:2rem}.section-heading{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.section-heading h2{margin:0;font-size:1.25rem}.stats-card-grid,.school-statistics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.school-credit-summary{color:var(--primary);font-size:.82rem;font-weight:800}.stat-card{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:8px;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.stat-card>div{gap:.2rem;min-width:0;display:grid}.stat-card span:not(.stat-card-icon),.stat-card small{color:var(--muted);font-size:.72rem}.stat-card strong{overflow-wrap:anywhere;font-size:1.25rem}.stat-card.tone-primary .stat-card-icon{background:color-mix(in srgb, var(--blue) 13%, var(--surface));color:var(--blue)}.stat-card.tone-positive .stat-card-icon{background:color-mix(in srgb, var(--success) 13%, var(--surface));color:var(--success)}.stat-card.tone-warning .stat-card-icon{background:color-mix(in srgb, var(--warning) 13%, var(--surface));color:var(--warning)}.attendance-value{color:var(--primary);font-size:1.5rem}.attendance-layout{grid-template-columns:minmax(270px,.7fr) minmax(0,1.3fr);gap:.8rem;display:grid}.attendance-progress-card{align-content:center;gap:1.25rem;display:grid}.attendance-progress-copy{gap:.25rem;display:grid}.attendance-progress-copy span,.attendance-progress-copy small{color:var(--muted)}.attendance-progress-copy strong{font-size:3rem}.progress-track{background:var(--surface-soft);border-radius:999px;height:9px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--primary);height:100%;display:block}.day-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.day-stat-grid .stat-card:last-child{grid-column:1/-1}.charts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.chart-card{min-width:0}.saldo-chart-card{grid-column:1/-1}.chart-card .card-header{align-items:center}.chart-card h3{font-size:1rem}.chart-legend{color:var(--muted);gap:.7rem;font-size:.7rem;display:flex}.chart-legend span:before{content:"";border-radius:2px;width:7px;height:7px;margin-right:.3rem;display:inline-block}.chart-legend .worked:before{background:var(--primary)}.chart-legend .target:before{background:var(--gold)}.bar-chart{border-bottom:1px solid var(--border);grid-template-columns:repeat(12,minmax(26px,1fr));align-items:end;gap:.45rem;height:230px;padding:1rem .5rem 0;display:grid;overflow-x:auto}.bar-chart-group{text-align:center;grid-template-rows:1fr auto;gap:.45rem;min-width:26px;height:100%;display:grid}.bar-chart-bars{justify-content:center;align-items:flex-end;gap:3px;min-height:170px;display:flex}.bar-chart .bar{border-radius:3px 3px 0 0;width:min(13px,42%);min-height:3px}.bar-chart .bar.worked{background:var(--primary)}.bar-chart .bar.target{background:var(--gold);opacity:.72}.bar-chart small,.line-chart small{color:var(--muted);font-size:.65rem}.line-chart svg{width:100%;height:220px;overflow:visible}.line-chart path{fill:none;stroke:var(--blue);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.line-chart circle{fill:var(--surface);stroke:var(--blue);stroke-width:1.7px}.line-chart .zero-line{stroke:var(--border);stroke-width:1px;stroke-dasharray:2 2}.line-chart-labels{text-align:center;grid-template-columns:repeat(12,minmax(24px,1fr));gap:.25rem;display:grid}.statistics-calendar-layout{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:.8rem;display:grid}.mini-calendar-weekdays,.mini-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.mini-calendar-weekdays{color:var(--muted);text-align:center;margin-bottom:.45rem;font-size:.67rem;font-weight:800}.mini-calendar-day{border:1px solid var(--border);background:var(--surface-soft);border-radius:6px;align-content:space-between;gap:.25rem;min-height:62px;padding:.5rem;display:grid;position:relative}.mini-calendar-day span{color:var(--muted);font-size:.63rem}.mini-calendar-day.has-work{border-bottom:3px solid var(--primary)}.mini-calendar-day.has-event:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:.45rem;right:.45rem}.calendar-summary-card .card-header>svg{color:var(--primary)}.event-summary-list{display:grid}.event-summary-list>div{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.55rem;min-width:0;padding:.62rem 0;display:grid}.event-summary-list span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.event-summary-list small{color:var(--muted)}.event-dot{background:var(--primary);border-radius:50%;width:8px;height:8px}.admin-summary-bar{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1rem;display:grid}.admin-summary-item{border:0;border-right:1px solid var(--border);min-width:0;color:var(--text);text-align:left;background:0 0;border-radius:0;align-items:center;gap:.7rem;padding:1rem 1.15rem;display:flex}.admin-summary-item:last-child{border-right:0}.admin-summary-item>svg{color:var(--primary);flex:none}.admin-summary-item>span{min-width:0;display:grid}.admin-summary-item strong{font-size:1.25rem}.admin-summary-item small{color:var(--muted)}.admin-summary-item:hover,.admin-summary-item.active{color:var(--primary);background:color-mix(in srgb, var(--primary) 7%, var(--surface))}.admin-summary-item.active{box-shadow:inset 0 -3px 0 var(--primary)}.admin-workspace{gap:1rem;display:grid}.brand-mark img{width:30px;height:30px;display:block}.auth-brand-title{align-items:center;gap:.65rem;display:flex}.auth-brand-title img{width:38px;height:38px}.page-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.segmented-control{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:-moz-fit-content;width:fit-content;max-width:100%;padding:.25rem;display:flex;overflow-x:auto}.segmented-control button{min-height:36px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:.45rem .8rem;font-size:.8rem;font-weight:750}.segmented-control button.active{background:var(--surface-hover);color:var(--primary)}.admin-content-grid{grid-template-columns:minmax(260px,.6fr) minmax(0,1.4fr);gap:1rem;display:grid}.admin-create-panel{align-self:start}.admin-panel-icon{margin-bottom:1rem}.master-data-list{display:grid}.master-data-row{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.7rem;min-width:0;padding:.8rem 0;display:grid}.master-data-row>div:nth-child(2){min-width:0;display:grid}.master-data-row strong,.master-data-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.master-data-row small{color:var(--muted)}.master-data-item-icon{flex-basis:36px;width:36px;height:36px}.access-control-stack{gap:1rem;display:grid}.permission-workspace-nav{z-index:5;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:.25rem;padding:.3rem;display:flex;position:sticky;top:0;overflow-x:auto}.permission-workspace-nav button{border-radius:var(--radius-sm);min-height:40px;color:var(--muted);background:0 0;border:0;flex:none;align-items:center;gap:.45rem;padding:.55rem .75rem;font-weight:750;display:inline-flex}.permission-workspace-nav button:hover,.permission-workspace-nav button.active{color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, var(--surface))}.permission-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.permission-summary-grid article{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:.75rem;padding:1rem;display:flex}.permission-summary-grid svg{color:var(--primary)}.permission-summary-grid div{display:grid}.permission-summary-grid strong{font-size:1.25rem}.permission-summary-grid span{color:var(--muted);font-size:.78rem}.permission-guide-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.permission-guide-steps>button{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;color:var(--text);background:var(--surface-soft);text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.85rem;display:grid}.permission-guide-steps>button:hover{border-color:var(--primary);color:var(--primary)}.permission-guide-steps>button>span{color:#fff;background:var(--primary);border-radius:50%;place-items:center;width:28px;height:28px;font-size:.75rem;font-weight:850;display:grid}.permission-guide-steps>button>div{gap:.2rem;min-width:0;display:grid}.permission-guide-steps small{color:var(--muted)}.permission-search-control{gap:.35rem;max-width:520px;display:grid}.access-control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.access-control-grid-wide{grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr)}.permission-organigram{overflow:hidden}.organigram-root{border:1px solid color-mix(in srgb, var(--primary) 30%, var(--border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--primary) 7%, var(--surface));align-items:flex-start;gap:.9rem;width:min(620px,100%);margin:0 auto;padding:1rem;display:flex}.organigram-root>svg{width:30px;height:30px;color:var(--primary)}.organigram-root h2,.organigram-root p{margin:0}.organigram-branches{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem;padding-top:2.1rem;display:grid;position:relative}.organigram-branches:before{content:"";background:var(--border-strong);width:1px;height:1.35rem;position:absolute;top:0;left:50%}.organigram-role{text-align:left;border:1px solid var(--border);border-radius:var(--radius-md);min-width:0;color:var(--text);background:var(--surface-raised);gap:.35rem;padding:.9rem;display:grid;position:relative}.organigram-role:hover,.organigram-role.selected{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 12%, transparent)}.organigram-role-heading{align-items:center;gap:.5rem;display:flex}.organigram-role-heading svg{width:18px;color:var(--primary)}.organigram-role>small,.organigram-members{color:var(--muted)}.organigram-members{text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.organigram-open{color:var(--primary);align-items:center;gap:.25rem;margin-top:.25rem;font-size:.75rem;font-weight:750;display:inline-flex}.permission-role-sidebar{align-content:start;gap:1rem;display:grid}.permission-role-list{gap:.3rem;display:grid}.permission-role-list>button{border-radius:var(--radius-sm);color:var(--text);text-align:left;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem;display:flex}.permission-role-list>button:hover,.permission-role-list>button.active{border-color:var(--border);color:var(--primary);background:var(--surface-soft)}.permission-role-list span{display:grid}.permission-role-list small{color:var(--muted)}.permission-editor-panel{min-width:0}.permission-editor-actions{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.permission-editor-actions small{flex:220px}.permission-category-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem;display:grid}.permission-category{border:1px solid var(--border);border-radius:var(--radius-sm);align-content:start;gap:.45rem;min-width:0;padding:.75rem;display:grid}.permission-category legend{color:var(--muted);text-transform:uppercase;padding:0 .35rem;font-size:.78rem;font-weight:700}.permission-checkbox{cursor:pointer;align-items:flex-start;gap:.55rem;display:flex}.permission-checkbox input{width:auto;margin-top:.25rem}.permission-checkbox span{min-width:0;display:grid}.permission-checkbox small{color:var(--muted);font-size:.7rem}.organigram-user-picker{gap:.35rem;max-width:520px;margin-bottom:1rem;display:grid}.permission-override-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.6rem;display:grid}.permission-override-grid>label{border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:minmax(0,1fr) minmax(145px,auto);align-items:center;gap:.7rem;padding:.65rem;display:grid}.permission-override-grid>label.override-grant{border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:color-mix(in srgb, var(--success) 5%, var(--surface))}.permission-override-grid>label.override-deny{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 5%, var(--surface))}.permission-override-grid span{min-width:0;display:grid}.permission-override-grid small{color:var(--muted)}.permission-user-summary{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);grid-template-columns:minmax(0,1fr) minmax(240px,.6fr);align-items:end;gap:1rem;padding:1rem;display:grid}.permission-user-summary>div{display:grid}.permission-user-summary span{color:var(--muted)}.permission-user-summary label{gap:.35rem;display:grid}.effective-permissions{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);gap:.55rem;padding:1rem;display:grid}.effective-permissions>div{flex-wrap:wrap;gap:.35rem;display:flex}.scoped-access-row .status-pill{white-space:normal;text-align:center}.calendar-access-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(120px,auto) auto;align-items:center;gap:.75rem;padding:.75rem 0;display:grid}.calendar-access-row:last-child{border-bottom:0}.calendar-access-row>div{min-width:0;display:grid}.calendar-access-row strong,.calendar-access-row small{text-overflow:ellipsis;overflow:hidden}.calendar-access-row small{color:var(--muted)}.permissions-page-header{align-items:center}.permissions-header-icons{color:var(--primary);align-items:center;gap:.45rem;display:flex}.permissions-header-icons svg{border:1px solid color-mix(in srgb, var(--primary) 24%, var(--border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--primary) 8%, var(--surface));width:40px;height:40px;padding:.55rem}.permission-user-target-access{border:1px solid var(--border);border-radius:var(--radius-md);gap:.8rem;padding:1rem;display:grid}.permission-user-target-access .card-header{margin:0}.permission-user-access-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.permission-user-access-columns>article{border-radius:var(--radius-sm);background:var(--surface-soft);align-content:start;gap:.5rem;min-width:0;padding:.8rem;display:grid}.permission-user-access-item{border-top:1px solid var(--border);justify-content:space-between;gap:.7rem;padding-top:.45rem;display:flex}.permission-user-access-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.permission-user-access-item small{color:var(--primary);text-align:right}.calendar-rights-workspace{gap:1rem;display:grid}.calendar-rights-recipient{border-color:color-mix(in srgb, var(--primary) 24%, var(--border))}.calendar-recipient-controls{grid-template-columns:minmax(180px,.45fr) minmax(260px,1fr);gap:.8rem;display:grid}.calendar-recipient-controls label{gap:.35rem;display:grid}.calendar-rights-matrix{min-width:0}.calendar-rights-search{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:.45rem;min-width:min(320px,100%);padding:0 .65rem;display:flex}.calendar-rights-search:focus-within{border-color:var(--primary);box-shadow:var(--focus-ring)}.calendar-rights-search input{min-width:0;box-shadow:none;border:0;padding-inline:0}.calendar-rights-search input:focus{box-shadow:none}.calendar-rights-search svg{color:var(--muted);flex:none}.calendar-rights-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-bottom:.75rem;display:grid}.calendar-rights-legend>span{border-radius:var(--radius-sm);color:var(--muted);background:var(--surface-soft);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.15rem .4rem;padding:.65rem;font-size:.76rem;display:grid}.calendar-rights-legend strong{color:var(--text)}.calendar-rights-legend>span>:last-child{grid-column:1/-1}.calendar-rights-notice{border:1px solid color-mix(in srgb, var(--warning) 38%, var(--border));border-radius:var(--radius-sm);color:var(--text);background:color-mix(in srgb, var(--warning) 8%, var(--surface));align-items:flex-start;gap:.55rem;margin:0 0 .75rem;padding:.75rem;display:flex}.calendar-rights-notice svg{color:var(--warning);flex:none}.calendar-rights-list{display:grid}.calendar-rights-row{border-top:1px solid var(--border);grid-template-columns:minmax(240px,1fr) minmax(330px,.85fr);align-items:center;gap:1rem;padding:.75rem 0;display:grid}.calendar-rights-owner{align-items:center;gap:.65rem;min-width:0;display:flex}.calendar-rights-owner>span:last-child{min-width:0;display:grid}.calendar-rights-owner strong,.calendar-rights-owner small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-rights-owner small{color:var(--muted)}.calendar-rights-options{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;padding:.25rem;display:grid}.calendar-rights-options button{border-radius:calc(var(--radius-sm) - 3px);min-height:36px;color:var(--muted);background:0 0;border:0;padding:.4rem;font-size:.75rem;font-weight:750}.calendar-rights-options button.active{color:var(--text);background:var(--surface);box-shadow:var(--shadow-xs)}.calendar-rights-options button.access-view.active{color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, var(--surface))}.calendar-rights-options button.access-edit.active{color:var(--success);background:color-mix(in srgb, var(--success) 10%, var(--surface))}.row-actions{gap:.35rem;display:flex}.status-active{color:var(--success);background:color-mix(in srgb, var(--success) 11%, var(--surface))}.empty-state{min-height:220px;color:var(--muted);place-content:center;justify-items:center;gap:.55rem;display:grid}.modal-card-compact{text-align:center;width:min(420px,100%)}.modal-card-compact .form-actions{justify-content:center}.danger-modal-icon{background:color-mix(in srgb, var(--danger) 12%, var(--surface));color:var(--danger);margin:0 auto 1rem}.page-grid{grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:1rem}.users-list-card,.users-create-card{box-shadow:var(--shadow)}.users-page-grid.create-only,.users-page-grid.manage-only{grid-template-columns:minmax(0,920px);justify-content:center}.users-page-grid.manage-only .users-list-card{width:100%}.employment-report-layout{grid-template-columns:minmax(240px,300px) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.report-history-panel{max-height:calc(100vh - 2rem);position:sticky;top:1rem;overflow:auto}.report-history-list{gap:.35rem;display:grid}.report-history-list>button{border-radius:var(--radius-sm);min-width:0;color:var(--text);text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;padding:.7rem;display:grid}.report-history-list>button:hover,.report-history-list>button.active{border-color:color-mix(in srgb, var(--primary) 35%, var(--border));background:color-mix(in srgb, var(--primary) 7%, var(--surface))}.report-history-list>button>span:last-child{min-width:0;display:grid}.report-history-list strong,.report-history-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.report-history-list small{color:var(--muted)}.report-history-icon{width:34px;height:34px;color:var(--primary);background:color-mix(in srgb, var(--primary) 11%, var(--surface));border-radius:8px;place-items:center;display:grid}.report-workspace,.report-editor{gap:1rem;min-width:0;display:grid}.report-setup-card{width:min(720px,100%);margin:0 auto}.report-step-heading,.report-section-heading{align-items:flex-start;gap:.85rem;margin-bottom:1.25rem;display:flex}.report-step-heading>span,.report-section-heading>span{color:#fff;background:var(--primary);border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:.78rem;font-weight:850;display:grid}.report-step-heading h2,.report-step-heading p,.report-section-heading h2,.report-section-heading p{margin:0}.report-range-picker{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:0;display:grid}.report-range-picker legend{margin-bottom:.5rem;font-weight:750}.report-range-picker button{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:46px;color:var(--muted);background:var(--surface);padding:.55rem;font-weight:700}.report-range-picker button:hover,.report-range-picker button.active{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb, var(--primary) 7%, var(--surface))}.report-period-preview{border:1px solid color-mix(in srgb, var(--primary) 30%, var(--border));border-radius:var(--radius-sm);color:var(--primary);background:color-mix(in srgb, var(--primary) 6%, var(--surface));align-items:center;gap:.7rem;padding:.85rem;display:flex}.report-period-preview>div{display:grid}.report-period-preview span{color:var(--muted);font-size:.75rem}.report-document-header{border-top:4px solid var(--primary);justify-content:space-between;align-items:center;gap:1rem;display:flex}.report-document-header h2,.report-document-header p{margin:0}.report-document-mark{border-radius:var(--radius-sm);color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--surface));align-items:center;gap:.5rem;padding:.65rem .8rem;font-weight:750;display:flex}.report-source-summary{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);background:var(--surface-soft);flex-wrap:wrap;align-items:center;gap:.65rem 1rem;padding:.8rem 1rem;font-size:.8rem;display:flex}.report-source-summary strong{color:var(--text);margin-right:auto}.report-section{min-width:0}.report-operational-grid,.report-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.report-metric-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.report-metric-editor{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);align-content:start;gap:.75rem;min-width:0;padding:.9rem;display:grid}.report-metric-editor h3{margin:0;font-size:.98rem}.report-value-control{grid-template-columns:minmax(90px,1fr) auto;gap:.45rem;display:grid}.unit-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:repeat(2,minmax(38px,1fr));padding:.2rem;display:grid}.unit-toggle button{min-width:38px;color:var(--muted);background:0 0;border:0;border-radius:5px;font-weight:800}.unit-toggle button.active{color:#fff;background:var(--primary)}.input-suffix{position:relative}.input-suffix input{padding-right:2.2rem}.input-suffix span{color:var(--muted);font-weight:750;position:absolute;top:50%;right:.8rem;transform:translateY(-50%)}.report-editor-actions{z-index:4;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 94%, transparent);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:flex-end;gap:.6rem;padding:.85rem;display:flex;position:sticky;bottom:0}.user-card.card{border:0;border-bottom:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;padding:.9rem 0}.approval-filter-card,.approval-queue-item{border-radius:7px}.approval-filter-card.active,.approval-queue-item.selected{border-color:color-mix(in srgb, var(--primary) 55%, var(--border));background:color-mix(in srgb, var(--primary) 8%, var(--surface))}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141b179e}.modal-card{box-shadow:var(--shadow-lg);border-radius:8px}.calendar-day{box-shadow:none;border-radius:7px}.calendar-day:hover{box-shadow:var(--shadow);transform:none}.calendar-day.read-only{cursor:default}.calendar-day.read-only:hover{border-color:var(--border);box-shadow:none}.calendar-event{border-radius:4px}.calendar-workload-overlay{border:1px solid color-mix(in srgb, var(--primary) 28%, var(--border));border-left:3px solid var(--primary);background:color-mix(in srgb, var(--primary) 7%, var(--surface));border-radius:7px;grid-template-columns:auto repeat(3,minmax(120px,auto));justify-content:start;align-items:center;gap:1.25rem;margin:1rem 0;padding:.8rem 1rem;display:grid}.calendar-workload-overlay>div{gap:.15rem;display:grid}.calendar-workload-overlay span{color:var(--muted);font-size:.72rem}.calendar-workload-overlay strong{font-size:.95rem}.calendar-workload-icon{background:var(--surface);border-radius:7px;place-items:center;width:38px;height:38px;display:grid;color:var(--primary)!important}.workload-timeline{gap:.2rem;margin-top:1rem;display:grid}.workload-timeline-step{justify-items:center;display:grid}.workload-timeline-node{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;grid-template-columns:minmax(110px,.35fr) minmax(0,1fr);align-items:center;gap:1rem;width:100%;padding:.85rem 1rem;display:grid}.workload-timeline-node.active{border-color:color-mix(in srgb, var(--primary) 48%, var(--border));background:color-mix(in srgb, var(--primary) 8%, var(--surface))}.workload-timeline-node>div:first-child,.timeline-detail{gap:.25rem;display:grid}.workload-timeline-node strong{font-size:1.35rem}.timeline-period{width:-moz-fit-content;width:fit-content;color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:800}.timeline-period.present{color:var(--primary)}.timeline-period.future{color:var(--warning)}.timeline-detail span{font-weight:700}.timeline-detail small{color:var(--muted)}.timeline-detail .status-pill{margin-top:.2rem}.workload-timeline-arrow{color:var(--muted);margin:.15rem 0}.workload-timeline.compact .workload-timeline-node{padding:.7rem .8rem}.user-details-modal{width:min(1080px,100%)}.user-detail-primary-actions{flex-wrap:wrap;gap:.6rem;margin:.85rem 0 1rem;display:flex}.user-details-grid{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.user-summary-panel{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:0;padding:1rem}.user-summary-panel h3{margin-bottom:.4rem}.user-detail-section{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.user-detail-list{gap:.5rem;display:grid}.user-detail-list-row{border:1px solid var(--border);background:var(--surface-soft);border-radius:6px;grid-template-columns:minmax(120px,auto) minmax(160px,1fr) auto;align-items:center;gap:.75rem 1rem;min-width:0;padding:.75rem .85rem;display:grid}.user-detail-list-row.approval-row{grid-template-columns:auto minmax(120px,auto) minmax(160px,1fr) minmax(180px,auto)}.user-detail-row-icon{background:color-mix(in srgb, var(--primary) 12%, var(--surface));width:28px;height:28px;color:var(--primary);border-radius:50%;place-items:center;display:inline-grid}.user-detail-row-date{white-space:nowrap;color:var(--muted);font-size:.78rem;font-weight:700}.user-detail-row-title,.user-detail-row-meta{overflow-wrap:anywhere;min-width:0}.user-detail-list-row .status-pill{justify-self:start}.audit-summary-bar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1.25rem;display:grid}.audit-summary-bar>div{border-right:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;min-width:0;padding:.9rem 1rem;display:grid}.audit-summary-bar>div:last-child{border-right:0}.audit-summary-bar svg{color:var(--primary)}.audit-summary-bar span{color:var(--muted);font-size:.78rem}.audit-summary-bar strong{font-size:1.15rem}.audit-workspace{gap:1rem;display:grid}.audit-toolbar{border:1px solid var(--border);background:var(--surface);grid-template-columns:minmax(250px,.9fr) minmax(190px,.55fr) minmax(260px,1.2fr);align-items:stretch;gap:.75rem;padding:.75rem;display:grid}.audit-filter-control,.audit-search-control{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;align-items:center;min-width:0;display:grid}.audit-filter-control{grid-template-columns:auto minmax(0,1fr);gap:.55rem;padding-left:.75rem}.audit-filter-control>span{color:var(--muted);white-space:nowrap;font-size:.78rem}.audit-filter-control select,.audit-search-control input{min-width:0;box-shadow:none;background:0 0;border:0}.audit-search-control{color:var(--muted);grid-template-columns:auto minmax(0,1fr);padding-left:.75rem}.audit-log-list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.audit-log-row{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.85rem;padding:1rem 0;display:grid}.audit-log-icon{background:color-mix(in srgb, var(--primary) 12%, var(--surface));width:38px;height:38px;color:var(--primary);border-radius:8px;place-items:center;display:grid}.audit-log-icon.action-password_reset{background:color-mix(in srgb, var(--warning) 13%, var(--surface));color:var(--warning)}.audit-log-icon.action-calendar_changed{background:color-mix(in srgb, var(--blue) 13%, var(--surface));color:var(--blue)}.audit-log-icon.action-approval{background:color-mix(in srgb, var(--success) 13%, var(--surface));color:var(--success)}.audit-log-content{gap:.45rem;min-width:0;display:grid}.audit-log-title-row,.audit-log-context,.audit-log-metadata{flex-wrap:wrap;align-items:center;display:flex}.audit-log-title-row{gap:.6rem}.audit-log-title-row strong{font-size:.95rem}.audit-log-context{color:var(--muted);gap:.45rem 1rem;font-size:.75rem}.audit-log-context span,.audit-log-context time{overflow-wrap:anywhere;align-items:center;gap:.35rem;min-width:0;display:inline-flex}.audit-log-metadata{gap:.4rem}.audit-log-metadata span{border:1px solid var(--border);color:var(--muted);border-radius:5px;padding:.28rem .45rem;font-size:.7rem;font-weight:700}.audit-log-list.compact{border-top:0;gap:.45rem;display:grid}.audit-log-list.compact .audit-log-row{border:1px solid var(--border);background:var(--surface-soft);border-radius:6px;padding:.75rem}.audit-log-list.compact .audit-log-icon{width:32px;height:32px}.day-entry-section{border-bottom:1px solid var(--border);gap:.55rem;padding-bottom:1rem;display:grid}.day-entry-list{gap:.45rem;display:grid}.day-entry-button{border:1px solid var(--border);background:var(--surface-soft);width:100%;min-height:42px;color:var(--text);text-align:left;border-radius:7px;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .75rem;display:flex}.day-entry-button strong{color:var(--primary);font-size:.76rem}.day-entry-button.pending{border-color:color-mix(in srgb, var(--warning) 45%, var(--border));background:color-mix(in srgb, var(--warning) 9%, var(--surface))}.holiday-management-modal{width:min(760px,100%)}.holiday-management-layout{grid-template-columns:minmax(0,1.25fr) minmax(230px,.75fr);gap:1rem;display:grid}.entitlement-list{align-content:start;gap:.5rem;display:grid}.entitlement-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(100px,1fr) repeat(4,minmax(72px,auto));align-items:center;gap:.65rem;padding:.75rem;font-size:.78rem;display:grid}.entitlement-row span{color:var(--muted)}input,select,textarea{background:var(--surface);border-radius:7px;min-height:42px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent)}.auth-screen{background:var(--surface);grid-template-columns:minmax(340px,480px) minmax(0,1fr)}.auth-panel{border-right:1px solid var(--border)}.auth-mobile-band-logo{display:none}.weekday-selection-hint{color:var(--muted);margin:-.25rem 0 0;font-size:.78rem}.locale-switcher{border:1px solid var(--border);background:var(--surface-soft);min-width:0;color:var(--muted);border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.4rem;padding-left:.65rem;display:inline-grid}.locale-switcher select{min-height:38px;box-shadow:none;color:var(--text);background-color:#0000;border:0;padding:.35rem 2rem .35rem .25rem;font-size:.8rem;font-weight:750}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-panel h1,.auth-brand-title,.auth-visual-card h2{letter-spacing:0}.auth-visual{color:#f5faf7;background:#1f3b34;place-items:end start;position:relative;overflow:hidden}.auth-visual-band-logo{z-index:1;filter:brightness(0)invert();opacity:.82;width:clamp(190px,20vw,300px);height:auto;position:absolute;top:clamp(2.5rem,5vw,4.5rem);right:clamp(2.5rem,5vw,5rem)}.auth-visual:before{content:"";pointer-events:none;border:1px solid #ffffff26;position:absolute;inset:1.5rem}.auth-visual-card{max-width:720px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:clamp(2rem,6vw,5rem);position:relative}.auth-visual-card h2{font-size:4rem;line-height:1.02}.auth-visual-card p{color:#f5faf7bf}@media (max-width:1180px){.stats-card-grid,.school-statistics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-calendar-layout{grid-template-columns:1fr}.dashboard-layout{grid-template-columns:minmax(290px,.9fr) minmax(330px,1.1fr)}.report-metric-grid-three{grid-template-columns:1fr}}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{width:min(290px,88vw);box-shadow:var(--shadow-lg);transition:transform .2s;position:fixed;left:0;transform:translate(-102%)}.sidebar.open{transform:translate(0)}.sidebar-close.icon-button{display:inline-grid}.navigation-scrim{z-index:35;background:#141b1780;border:0;position:fixed;inset:0}.navigation-scrim.visible{display:block}.mobile-header{z-index:30;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;min-height:58px;padding:.55rem 1rem;display:flex;position:sticky;top:0}.mobile-profile-link{color:var(--text)}.app-content{padding:1.15rem}.dashboard-layout,.attendance-layout,.admin-content-grid,.access-control-grid,.page-grid{grid-template-columns:1fr}.permission-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-user-summary,.calendar-rights-row,.permission-guide-steps{grid-template-columns:1fr}.permission-workspace-nav{top:58px}.tracking-card,.today-worktime-card{min-height:auto}.holiday-management-layout{grid-template-columns:1fr}.calendar-workload-overlay{grid-template-columns:auto repeat(2,minmax(110px,1fr))}.calendar-workload-overlay>div:last-child{grid-column:2/-1}.audit-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-search-control{grid-column:1/-1}.employment-report-layout{grid-template-columns:1fr}.report-history-panel{max-height:none;position:static}.report-history-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.auth-mobile-band-logo{opacity:.72;width:clamp(140px,34vw,190px);height:auto;margin-top:.5rem;display:block}}@media (max-width:700px){.page-header,.dashboard-header{flex-direction:column;align-items:stretch}.page-header-actions{justify-content:stretch;width:100%}.page-header-actions>*{flex:1;justify-content:center}.permission-summary-grid,.report-range-picker,.report-operational-grid,.report-metric-grid,.report-history-list{grid-template-columns:1fr}.report-document-header{flex-direction:column;align-items:flex-start}.report-editor-actions{grid-template-columns:1fr;display:grid}.report-editor-actions>button{justify-content:center;width:100%}.page-controls{justify-content:stretch}.user-scope-selector{width:100%}.period-control,.calendar-month-picker,.month-picker{justify-content:space-between;width:100%}.period-control strong,.calendar-month-title{flex:1;min-width:0}.today-worktime-visual{grid-template-columns:1fr}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metrics>div{border-bottom:1px solid var(--border)}.dashboard-metrics>div:nth-child(2){border-right:0}.dashboard-metrics>div:nth-last-child(-n+2){border-bottom:0}.dashboard-metrics>div:first-child{padding-left:1rem}.charts-grid{grid-template-columns:1fr}.saldo-chart-card{grid-column:auto}.admin-summary-bar{grid-template-columns:1fr}.admin-summary-item{border-right:0;border-bottom:1px solid var(--border)}.admin-summary-item:last-child{border-bottom:0}.admin-summary-item.active{box-shadow:inset 3px 0 0 var(--primary)}.section-heading{align-items:center}.audit-summary-bar{grid-template-columns:1fr}.audit-summary-bar>div{border-right:0;border-bottom:1px solid var(--border)}.audit-summary-bar>div:last-child{border-bottom:0}.audit-toolbar{grid-template-columns:1fr}.audit-search-control{grid-column:auto}.calendar-access-row{grid-template-columns:minmax(0,1fr) auto}.calendar-access-row>span{display:none}.calendar-access-row>div,.calendar-access-row>select{grid-column:1/-1}.permission-override-grid>label,.calendar-recipient-controls,.permission-user-access-columns,.calendar-rights-legend{grid-template-columns:1fr}.calendar-rights-matrix .card-header{flex-direction:column;align-items:stretch}.calendar-rights-search{width:100%;min-width:0}.organigram-branches{grid-template-columns:1fr}.permissions-header-icons{display:none}}@media (max-width:520px){.app-content{padding:.9rem}.page-header h1{font-size:1.65rem}.stats-card-grid,.day-stat-grid,.school-statistics-grid{grid-template-columns:1fr}.month-picker-trigger{flex:1;min-width:0}.month-picker-today{display:none}.month-picker-popover{width:100%;left:0;right:0}.day-stat-grid .stat-card:last-child{grid-column:auto}.dashboard-metrics,.holiday-balance-grid,.user-details-grid,.workload-timeline-node,.permission-category-grid,.permission-override-grid{grid-template-columns:1fr}.permission-workspace-nav button{padding-inline:.65rem}.permission-editor-actions>button{justify-content:center;width:100%}.calendar-rights-options{grid-template-columns:1fr}.calendar-rights-options button{text-align:left}.calendar-workload-overlay{grid-template-columns:auto 1fr;gap:.75rem}.calendar-workload-overlay>div:last-child{grid-column:2}.user-detail-list-row{grid-template-columns:minmax(0,1fr) auto}.user-detail-list-row.approval-row{grid-template-columns:auto minmax(0,1fr)}.approval-row .user-detail-row-icon{grid-row:1/3}.approval-row .user-detail-row-date,.approval-row .user-detail-row-title{grid-column:2}.approval-row .user-detail-row-meta{grid-column:1/-1;padding-left:44px}.user-detail-list-row:not(.approval-row) .user-detail-row-date{grid-area:1/1}.user-detail-list-row:not(.approval-row) .status-pill{grid-area:1/2}.user-detail-list-row:not(.approval-row) .user-detail-row-title{grid-area:2/1/auto/-1}.dashboard-metrics>div{border-right:0;border-bottom:1px solid var(--border)}.dashboard-metrics>div:nth-last-child(2){border-bottom:1px solid var(--border)}.dashboard-metrics>div:last-child{border-bottom:0}.approvals-callout{grid-template-columns:auto 1fr}.approvals-callout .icon-button{grid-column:2}.mini-calendar-day{min-height:48px;padding:.35rem}.mini-calendar-day span{display:none}.master-data-row{grid-template-columns:auto minmax(0,1fr) auto}.master-data-row>.status-pill{display:none}.user-scope-selector{grid-template-columns:1fr;padding:.5rem}.user-scope-selector select{width:100%}.auth-panel{padding:1.25rem}.entitlement-row{grid-template-columns:1fr 1fr}.audit-log-row{grid-template-columns:34px minmax(0,1fr);gap:.65rem}.audit-log-icon{width:34px;height:34px}.audit-log-context{gap:.35rem;display:grid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link{z-index:200;background:var(--primary);color:#fff;border-radius:7px;padding:.7rem .9rem;font-weight:800;text-decoration:none;transition:transform .16s;position:fixed;top:.75rem;left:.75rem;transform:translateY(calc(-100% - 1rem))}.skip-link:focus{transform:translateY(0)}.app-main:focus,.modal-card:focus{outline:none}.fatal-error-screen,.not-found-state{text-align:center;place-content:center;justify-items:center;gap:.8rem;min-height:100dvh;padding:clamp(1.25rem,5vw,3rem);display:grid}.not-found-state{min-height:min(680px,100dvh - 4rem)}.fatal-error-screen h1,.not-found-state h1{margin:0;font-size:2.25rem}.fatal-error-screen p,.not-found-state>p:not(.eyebrow){max-width:48ch;color:var(--muted);margin:0}.fatal-error-icon,.not-found-icon{background:color-mix(in srgb, var(--danger) 12%, var(--surface));width:52px;height:52px;color:var(--danger);border-radius:8px;place-items:center;display:grid}.not-found-icon{background:color-mix(in srgb, var(--primary) 12%, var(--surface));color:var(--primary)}.fatal-error-icon svg,.not-found-icon svg{width:25px;height:25px}.modal-backdrop{padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));overscroll-behavior:contain}.modal-card{overscroll-behavior:contain;max-height:calc(100dvh - 2rem)}.modal-detail-section{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;min-width:0;padding:1rem}.modal-detail-section h3{margin-bottom:.35rem}.modal-detail-full,.modal-actions{margin-top:1rem}@media (max-width:900px){.sidebar:not(.open){visibility:hidden}.mobile-header{min-height:calc(58px + env(safe-area-inset-top));padding-top:max(.55rem, env(safe-area-inset-top));padding-right:max(1rem, env(safe-area-inset-right));padding-left:max(1rem, env(safe-area-inset-left))}.app-content{padding-bottom:max(1.15rem, env(safe-area-inset-bottom))}}@media (max-width:600px){.modal-backdrop{padding:max(.75rem, env(safe-area-inset-top)) 0 0;align-items:end}.modal-card{width:100%;max-height:calc(100dvh - max(.75rem, env(safe-area-inset-top)));padding-right:max(1rem, env(safe-area-inset-right));padding-bottom:max(1rem, env(safe-area-inset-bottom));padding-left:max(1rem, env(safe-area-inset-left));border-bottom:0;border-left:0;border-right:0;border-radius:8px 8px 0 0}button,.nav-item,.mobile-profile-link{min-height:44px}}@media (forced-colors:active){.nav-item.active,.status-pill,.calendar-event,.progress-track span,.ring-value{forced-color-adjust:none}}@media print{.sidebar,.mobile-header,.report-page-header,.report-history-panel,.report-editor-actions,.message,.error-message{display:none!important}.app-shell{display:block}.app-content{max-width:none;padding:0}.employment-report-layout{display:block}.report-editor{gap:.45rem}.report-editor .card{break-inside:avoid;box-shadow:none}.report-metric-editor textarea,.report-operational-grid textarea{resize:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{background:var(--bg);font-family:Aptos,Segoe UI,Arial,sans-serif}.app-shell{grid-template-columns:264px minmax(0,1fr)}.sidebar{background:var(--navy);color:#eaf0f3;border-right:0;padding:1.65rem 1rem 1.1rem}.sidebar-brand-row{padding:0 .35rem}.sidebar-brand{color:#fff}.sidebar-brand strong{letter-spacing:0;text-transform:uppercase;font-size:.95rem}.sidebar-brand-copy{align-content:center}.sidebar-band-wordmark{filter:brightness(0)invert();opacity:.72;width:104px;height:auto;margin-top:.15rem}.brand-mark{border:2px solid var(--accent);width:36px;height:36px;color:var(--accent);background:0 0;border-radius:50%;flex-basis:36px}.nav-list{margin-top:2rem}.nav-section-label{color:#7f95a6}.nav-item{color:#9aabba;font-size:.84rem;font-weight:680;line-height:1.2}.nav-item span{white-space:nowrap;min-width:0}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:#fff;box-shadow:inset 3px 0 var(--accent);background:#ffffff17}.nav-item.active svg{color:var(--accent)}.sidebar-profile{color:#fff;background:#ffffff09;border-color:#284056}.sidebar-profile:hover,.sidebar-profile.active{border-color:var(--accent);background:#ffffff12}.sidebar-profile small,.sidebar-brand small{color:#91a3b2}.sidebar-profile .avatar{background:var(--accent);color:var(--navy)}.app-main{background:var(--bg)}.app-content{max-width:1440px;padding:2.5rem 2.75rem 3rem}.page-header{margin-bottom:2rem}.page-header h1{font-size:2.35rem;font-weight:800}.page-header p:last-child{color:var(--muted)}.eyebrow{color:color-mix(in srgb, var(--primary) 82%, var(--muted))}.card,.overview-panel,.team-capacity-panel,.overview-metric,.team-summary-item{border-color:color-mix(in srgb, var(--border) 86%, transparent);background:var(--surface);box-shadow:var(--shadow)}.card{padding:1.25rem}.primary-button,.secondary-button,.danger-button,.ghost-button{justify-content:center;align-items:center;gap:.48rem;text-decoration:none;display:inline-flex}.primary-button{background:var(--primary)}html:not([data-theme=dark]) .primary-button{color:#fff}.overview-header .primary-button{background:var(--accent);color:var(--navy)}.overview-header .primary-button:hover{background:#e6ba33}tbody tr:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.mobile-header{background:color-mix(in srgb, var(--bg) 94%, transparent)}.mobile-header .icon-button{background:var(--surface)}.session-status{white-space:nowrap}.calendar-modal-header{flex-direction:row;align-items:flex-start}.calendar-modal-header .icon-button{margin-left:auto}.overview-header{align-items:flex-end}.overview-header h1{margin-bottom:.55rem}.overview-workspace{grid-template-columns:minmax(0,1fr);gap:1.35rem;min-width:0;display:grid}.dashboard-primary-actions{order:-1}.overview-metrics{grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(210px,.8fr));gap:1rem;display:grid}.overview-metric{border:1px solid var(--border);border-radius:8px;align-items:center;gap:1rem;min-width:0;min-height:148px;padding:1.25rem;display:flex}.overview-metric>div{gap:.2rem;min-width:0;display:grid}.overview-metric span,.overview-metric small{color:var(--muted)}.overview-metric strong{overflow-wrap:anywhere;font-size:1.75rem}.overview-metric strong.positive{color:var(--success)}.overview-metric strong.negative{color:var(--danger)}.overview-metric.saldo-critical{border-color:color-mix(in srgb, var(--warning) 48%, var(--border));background:color-mix(in srgb, var(--warning) 7%, var(--surface))}.saldo-warning-modal{text-align:center;width:min(460px,100%)}.saldo-warning-modal .card-header{text-align:left}.saldo-warning-icon{border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto .8rem;display:grid}.saldo-warning-icon svg{width:30px;height:30px}.saldo-warning-icon.positive{background:color-mix(in srgb, var(--warning) 14%, var(--surface));color:var(--warning)}.saldo-warning-icon.negative{background:color-mix(in srgb, var(--danger) 12%, var(--surface));color:var(--danger)}.saldo-warning-value{margin-bottom:.75rem;font-size:clamp(2rem,8vw,3rem);line-height:1;display:block}.saldo-warning-modal>.primary-button{justify-content:center;width:100%;margin-top:.6rem}.primary-metric{align-content:center;display:grid}.overview-metric-heading{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex!important}.overview-metric-heading>div{gap:.2rem;display:grid}.overview-metric-heading>span{color:var(--success);font-weight:800}.overview-progress-track,.team-progress-track,.today-progress-track{background:var(--surface-soft);border-radius:999px;position:relative;overflow:hidden}.overview-progress-track{height:8px;margin:.65rem 0 .35rem}.overview-progress-track span,.team-progress-track span,.today-progress-track>span{border-radius:inherit;background:var(--mint);height:100%;display:block}.overview-metric-icon,.summary-icon{background:var(--surface-soft);width:44px;height:44px;color:var(--primary);border-radius:8px;flex:0 0 44px;place-items:center;display:grid}.overview-metric-icon svg,.summary-icon svg{width:21px;height:21px}.overview-metric-icon.balance{background:var(--green-pale,#e8f7f1);color:var(--success)}.overview-metric-icon.vacation{background:var(--surface-hover);color:var(--gold)}.overview-main-grid,.overview-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.overview-panel,.team-capacity-panel{border:1px solid var(--border);border-radius:8px;min-width:0;padding:1.35rem}.overview-panel-heading,.team-capacity-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.2rem;display:flex}.overview-panel-heading>*{min-width:0}.overview-panel-heading h2,.team-capacity-heading h2{margin:0;font-size:1.12rem}.overview-panel-heading .eyebrow,.team-capacity-heading .eyebrow{margin-bottom:.35rem}.today-tracking-panel,.weekly-chart-panel{min-height:395px}.today-tracking-value{align-items:baseline;gap:.65rem;margin-top:2rem;display:flex}.today-tracking-value strong{font-size:2.65rem}.today-tracking-value span,.today-tracking-meta span{color:var(--muted)}.today-progress-track{height:10px;margin:1.25rem 0 .85rem;overflow:visible}.today-progress-track i{background:var(--navy);border-radius:2px;width:3px;height:20px;position:absolute;top:50%;transform:translate(-50%,-50%)}html[data-theme=dark] .today-progress-track i{background:var(--accent)}.today-tracking-meta{justify-content:space-between;align-items:center;gap:1rem;display:flex}.today-tracking-meta span{align-items:center;gap:.42rem;font-size:.82rem;display:inline-flex}.tracking-controls{grid-template-columns:minmax(0,1fr) auto;gap:.75rem;margin-top:2.5rem;display:grid}.tracking-controls label,.tracking-controls input{width:100%}.tracking-controls input{min-height:44px}.weekly-chart{grid-template-columns:repeat(7,minmax(38px,1fr));align-items:end;gap:.55rem;height:230px;padding-top:.5rem;display:grid}.weekly-chart-day{justify-items:center;gap:.35rem;min-width:0;display:grid}.weekly-chart-column{background:var(--surface-soft);border-radius:5px 5px 2px 2px;width:min(30px,72%);height:155px;position:relative;overflow:hidden}.weekly-chart-column>span{background:#9babb5;border-radius:5px 5px 2px 2px;position:absolute;bottom:0;left:0;right:0}.weekly-chart-day.current .weekly-chart-column>span{background:var(--accent)}.weekly-chart-column>i{z-index:2;background:var(--navy);height:2px;position:absolute;left:0;right:0}html[data-theme=dark] .weekly-chart-column>i{background:#fff}.weekly-chart-day strong{text-transform:capitalize;font-size:.78rem}.weekly-chart-day small{color:var(--muted);white-space:nowrap;font-size:.68rem}.weekly-chart-summary{border-top:1px solid var(--border);gap:1.5rem;padding-top:.85rem;display:flex}.weekly-chart-summary span{color:var(--muted);gap:.15rem;font-size:.75rem;display:grid}.weekly-chart-summary strong{color:var(--text);font-size:.9rem}.upcoming-list{margin:0;padding:0;list-style:none;display:grid}.upcoming-list li{border-bottom:1px solid var(--border);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:.8rem;min-width:0;padding:.75rem 0;display:grid}.upcoming-list li:last-child{border-bottom:0}.upcoming-date{background:var(--surface-hover);width:44px;height:48px;color:var(--text);text-align:center;border-radius:6px;place-content:center;display:grid}.upcoming-date strong{font-size:1.05rem;line-height:1}.upcoming-date small{color:var(--gold);text-transform:uppercase;font-size:.66rem;font-weight:800}.upcoming-list li>div{gap:.2rem;min-width:0;display:grid}.upcoming-list li>div span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.activity-panel .audit-log-list.compact{max-height:none}.pending-approval-link{border-top:1px solid var(--border);color:var(--text);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-top:.85rem;padding-top:.85rem;text-decoration:none;display:grid}.pending-approval-link>span:nth-child(2){gap:.12rem;display:grid}.pending-approval-link small{color:var(--muted)}.overview-metric-icon.pending{background:var(--surface-hover);color:var(--warning)}.team-page-header{align-items:flex-end}.team-workspace{gap:1rem;display:grid}.team-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}.team-summary-item{border:1px solid var(--border);border-radius:8px;align-items:center;gap:.8rem;min-width:0;padding:1rem;display:flex}.team-summary-item>div{gap:.15rem;min-width:0;display:grid}.team-summary-item span:not(.summary-icon){color:var(--muted);font-size:.76rem}.team-summary-item strong{font-size:1.45rem}.summary-icon.positive{color:var(--success);background:#e8f7f1}.summary-icon.learning{color:var(--blue);background:#e9f1f8}.summary-icon.warning{background:var(--surface-hover);color:var(--warning)}html[data-theme=dark] .summary-icon.positive,html[data-theme=dark] .summary-icon.learning{background:var(--surface-soft)}.team-capacity-total{justify-items:end;gap:.1rem;display:grid}.team-capacity-total span,.team-capacity-total small{color:var(--muted);font-size:.72rem}.team-capacity-total strong{color:var(--success);font-size:1.5rem}.team-toolbar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:minmax(220px,1fr) auto;gap:.75rem;margin-bottom:1rem;padding:.8rem 0;display:grid}.search-control{min-width:0;color:var(--muted);align-items:center;gap:.55rem;display:flex}.search-control input{background:0 0;border:0;width:100%;min-height:40px}.compact-select-control{color:var(--muted);align-items:center;gap:.55rem;font-size:.78rem;display:flex}.compact-select-control select{min-height:40px}.team-member-list{min-width:0}.team-table-header,.team-member-row{grid-template-columns:minmax(230px,1.35fr) minmax(130px,.75fr) minmax(125px,.7fr) minmax(180px,1fr) 120px;align-items:center;gap:1rem;display:grid}.team-table-header{color:var(--muted);text-transform:uppercase;padding:.65rem .8rem;font-size:.68rem;font-weight:800}.team-member-row{border-top:1px solid var(--border);min-height:88px;padding:.8rem}.team-member-row:hover{background:color-mix(in srgb, var(--accent) 7%, transparent)}.team-member-identity{align-items:center;gap:.75rem;min-width:0;display:flex}.team-avatar{background:var(--accent);width:42px;height:42px;color:var(--navy);border-radius:50%;flex:0 0 42px;place-items:center;font-size:.78rem;font-weight:850;display:grid}.team-member-identity>div{gap:.12rem;min-width:0;display:grid}.team-member-identity strong,.team-member-identity span,.team-member-identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.team-member-identity span,.team-member-identity small,.team-week-hours span{color:var(--muted);font-size:.74rem}.team-status{width:-moz-fit-content;width:fit-content;color:var(--muted);align-items:center;gap:.45rem;font-size:.78rem;font-weight:750;display:inline-flex}.team-status>span{background:currentColor;border-radius:50%;width:7px;height:7px}.team-status.available{color:var(--success)}.team-status.learning{color:var(--blue)}.team-status.pending{color:var(--warning)}.team-status.away{color:var(--muted)}.team-week-hours{gap:.15rem;display:grid}.team-capacity-cell{gap:.45rem;display:grid}.team-capacity-copy{color:var(--muted);justify-content:space-between;align-items:center;gap:.5rem;font-size:.7rem;display:flex}.team-capacity-copy strong{color:var(--text);font-size:.78rem}.team-progress-track{height:5px}.team-member-actions{justify-content:flex-end;gap:.35rem;display:flex}.team-member-actions .icon-button{flex-basis:34px;width:34px;height:34px}@media (max-width:1180px){.app-content{padding:2rem}.team-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-table-header,.team-member-row{grid-template-columns:minmax(210px,1.3fr) minmax(120px,.7fr) minmax(150px,1fr) 110px}.team-table-header>span:nth-child(3),.team-week-hours{display:none}}@media (max-width:900px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{padding-top:max(1.25rem, env(safe-area-inset-top))}.sidebar-close.icon-button{color:#fff;background:0 0;border-color:#284056}.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.primary-metric{grid-column:1/-1}.overview-main-grid,.overview-secondary-grid{grid-template-columns:minmax(0,1fr)}.today-tracking-panel,.weekly-chart-panel{min-height:auto}}@media (max-width:720px){html,body,#root,.app-shell,.app-main,.app-content{min-width:0;max-width:100%}html,body{overflow-x:clip}.app-content{padding:1.25rem 1rem 2rem}.page-header>*,.page-controls,.page-controls>*,.section-stack,.section-stack>*{min-width:0;max-width:100%}.month-picker .icon-button{flex:0 0 44px}.page-header h1{font-size:1.8rem}.overview-header,.team-page-header{align-items:stretch}.overview-header .primary-button,.team-page-header .primary-button{width:100%}.team-toolbar{grid-template-columns:1fr}.compact-select-control{grid-template-columns:auto minmax(0,1fr);display:grid}.team-table-header{display:none}.team-member-row{grid-template-columns:minmax(0,1fr) auto;gap:.8rem;padding:1rem .25rem}.team-member-identity{grid-column:1}.team-status{grid-area:1/2;justify-self:end}.team-capacity-cell{grid-column:1/-1}.team-member-actions{grid-column:1/-1;justify-content:flex-start}}@media (max-width:520px){.overview-metrics,.team-summary-grid{grid-template-columns:1fr}.primary-metric{grid-column:auto}.overview-metric{min-height:128px}.today-tracking-value strong{font-size:2.15rem}.tracking-controls{grid-template-columns:1fr;margin-top:1.75rem}.overview-panel-heading{flex-wrap:wrap;gap:.65rem}.today-tracking-panel .overview-panel-heading>div{flex:175px}.session-status{white-space:normal;max-width:100%}.weekly-chart{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;width:100%}.weekly-chart-column{width:min(24px,78%)}.weekly-chart-day small{display:none}.upcoming-list li{grid-template-columns:44px minmax(0,1fr)}.upcoming-list .status-pill{grid-column:2}.team-capacity-heading{flex-direction:column;align-items:flex-start}.team-capacity-total{justify-items:start}.team-member-row{grid-template-columns:1fr}.team-status,.team-member-identity,.team-capacity-cell,.team-member-actions{grid-column:1}.team-status{grid-row:auto;justify-self:start;padding-left:54px}}
