/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.static{position:static}.sticky{position:sticky}.table{display:table}.table-row{display:table-row}}:root{--ink:#13221d;--ink-soft:#31413b;--green:#19865f;--green-dark:#116c4c;--green-bright:#45c18d;--green-wash:#e4f3eb;--sand:#ebe5d7;--cream:#f4f2eb;--paper:#fffef9;--white:#fff;--line:#d9ddd5;--line-soft:#e8eae5;--muted:#6d7772;--warning:#d88931;--danger:#be594e;--blue:#4c7da5;--sidebar-width:252px;--shadow:0 16px 42px #13221d12;--shadow-small:0 8px 22px #13221d12;--font-compact-xs:10px;--font-compact-sm:11px;--font-label:12px;--font-body-sm:13px;--font-body:14px;--font-body-lg:15px}*{box-sizing:border-box}html{background:var(--cream);scroll-behavior:smooth}body{background:linear-gradient(#13221d06 1px, transparent 1px), linear-gradient(90deg, #13221d06 1px, transparent 1px), var(--cream);color:var(--ink);background-size:28px 28px;min-width:320px;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}input,select,textarea{accent-color:var(--green)}.admin-shell{min-height:100vh}.sidebar{background:var(--sand);color:var(--ink);width:var(--sidebar-width);z-index:50;border-right:1px solid #116c4c94;flex-direction:column;padding:0 14px 16px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{justify-content:center;align-items:center;gap:8px;height:94px;margin:0 4px 24px;padding:0 4px;display:flex;position:relative}.sidebar-brand-logo{flex:0 178px;justify-content:center;align-items:center;width:178px;min-width:0;height:72px;transition:opacity .16s,transform .16s;display:inline-flex;overflow:hidden}.sidebar-brand-logo:hover{opacity:.88;transform:translateY(-1px)}.sidebar-brand-logo img{object-fit:contain;width:100%;height:100%;display:block}.sidebar-close{color:var(--ink);background:0 0;border:0;padding:6px;display:none;position:absolute;right:0}.sidebar-close:hover{background:#116c4c17;border-radius:8px}.sidebar-section-label{color:#5d6d65;font-size:var(--font-label);letter-spacing:.14em;text-transform:uppercase;margin:0 11px 8px;font-weight:850}.sidebar-nav{gap:4px;display:grid}.sidebar-link{color:var(--ink-soft);font-size:var(--font-body-lg);border:1px solid #0000;border-radius:11px;align-items:center;gap:12px;min-height:43px;padding:0 12px;font-weight:650;transition:background .16s,color .16s,transform .16s;display:flex;position:relative}.sidebar-link:hover{color:var(--green-dark);background:#116c4c17;transform:translate(2px)}.sidebar-link.active{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.sidebar-link.active:before{background:var(--green-bright);content:"";border-radius:2px;width:3px;height:20px;position:absolute;left:-2px}.sidebar-link.active svg{color:var(--green-bright)}.sidebar-link small{color:var(--green-dark);font-size:var(--font-compact-xs);letter-spacing:.08em;background:#116c4c1c;border-radius:999px;margin-left:auto;padding:4px 6px}.sidebar-link.active small{color:#fff;background:#ffffff24}.sidebar-spacer{flex:1;min-height:28px}.sidebar-user{background:#ffffff5c;border:1px solid #13221d1c;border-radius:12px;grid-template-columns:36px minmax(0,1fr) 30px;align-items:center;gap:10px;margin-top:18px;padding:10px;display:grid}.sidebar-user strong,.sidebar-user span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-user strong{font-size:var(--font-body)}.sidebar-user span{color:#65736c;font-size:var(--font-label);margin-top:4px}.sidebar-user .avatar{width:36px;height:36px}.sidebar-logout{color:#65736c;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:flex}.sidebar-logout:hover{color:var(--green-dark);background:#116c4c1a}.sidebar-backdrop{display:none}.admin-content{margin-left:var(--sidebar-width);min-width:0;min-height:100vh}.admin-topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:30;background:#fffef9e6;justify-content:space-between;align-items:center;height:70px;padding:0 clamp(20px,3vw,46px);display:flex;position:sticky;top:0}.topbar-title{align-items:center;gap:12px;display:flex}.topbar-title span,.topbar-title strong{display:block}.topbar-title span{color:var(--muted);font-size:var(--font-label);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px}.topbar-title strong{font-size:14px}.mobile-menu-button{background:var(--paper);border:1px solid var(--line);border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;display:none}.topbar-actions{align-items:center;gap:10px;display:flex}.version-chip{background:var(--paper);border:1px solid var(--line);color:var(--ink-soft);font-size:var(--font-body-sm);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;height:36px;padding:0 11px;font-weight:800;display:flex}.version-status-dot{background:var(--green-bright);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #45c18d21}.version-label-short{display:none}.version-chip.update-available{color:#755316;cursor:pointer;background:#fff3d8;border-color:#e5c675}.version-chip.update-available:hover{background:#ffedc1;border-color:#d8b34f}.version-chip.update-available svg{flex:none}.connection-chip{color:var(--muted);font-size:var(--font-body-sm);background:#f1f1eb;border-radius:999px;align-items:center;gap:6px;padding:8px 11px;font-weight:750;display:flex}.connection-chip.online{background:var(--green-wash);color:var(--green-dark)}.connection-chip.offline{color:#963f36;background:#f9e5df}.notification-bell{background:var(--paper);border:1px solid var(--line);border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:flex;position:relative}.notification-bell>span{background:var(--danger);border:2px solid var(--paper);color:#fff;font-size:var(--font-compact-xs);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-weight:900;display:flex;position:absolute;top:-4px;right:-4px}.topbar-avatar{background:var(--ink);color:#fff;font-size:var(--font-body-sm);letter-spacing:.04em;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-weight:850;display:flex}.page-content{max-width:1740px;margin:0 auto;padding:38px clamp(20px,3vw,46px) 64px}.toast-stack{z-index:100;gap:10px;width:calc(100vw - 44px);max-width:360px;display:grid;position:fixed;top:86px;right:22px}.clock-toast{background:var(--paper);border:1px solid var(--line);border-radius:15px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;animation:.22s ease-out toast-in;display:grid;box-shadow:0 20px 55px #13221d2e}.toast-icon{border-radius:11px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.toast-icon.in{background:var(--green-wash);color:var(--green)}.toast-icon.out{background:var(--sand);color:var(--ink-soft)}.clock-toast span,.clock-toast strong,.clock-toast small{display:block}.clock-toast>div:nth-child(2)>span{color:var(--green);font-size:var(--font-compact-sm);letter-spacing:.09em;text-transform:uppercase;font-weight:850}.clock-toast strong{font-size:var(--font-body-lg);margin-top:3px}.clock-toast small{color:var(--muted);font-size:var(--font-label);margin-top:4px}.clock-toast>button{color:var(--muted);background:0 0;border:0;padding:7px}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)scale(.98)}}.page-header{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px;display:flex}.page-header>div:first-child{min-width:0}.eyebrow,.panel-heading>div>span{color:var(--green);font-size:var(--font-label);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-weight:850}.page-header h1{letter-spacing:-.05em;margin:0;font-size:clamp(31px,4vw,49px);line-height:1}.page-header>div:first-child>p:last-child{color:var(--muted);font-size:var(--font-body-lg);max-width:720px;margin:13px 0 0;line-height:1.6}.page-actions{flex:none;align-items:center;gap:10px;display:flex}.date-clock{border-right:1px solid var(--line);flex-direction:column;align-items:flex-end;margin-right:4px;padding-right:15px;display:flex}.date-clock span{color:var(--muted);font-size:var(--font-label);text-transform:capitalize}.date-clock strong{font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin-top:3px;font-size:24px}.button{font-size:var(--font-body);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:41px;padding:0 15px;font-weight:750;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 8px 18px #19865f29}.button-primary:hover:not(:disabled){background:var(--green-dark)}.button-secondary{background:var(--paper);border-color:var(--line);color:var(--ink)}.button-secondary:hover:not(:disabled){box-shadow:var(--shadow-small)}.button-danger{background:var(--danger);border-color:var(--danger);color:#fff}.button-danger:hover:not(:disabled){background:#9f463d;box-shadow:0 8px 18px #be594e2e}.button-ghost{color:var(--muted);background:0 0;border-color:#0000}.button-small{min-height:34px;padding:0 12px}.publish-button{min-width:164px}.text-link{color:var(--green);font-size:var(--font-body-sm);background:0 0;border:0;align-items:center;gap:5px;padding:5px;font-weight:800;display:inline-flex}.text-link:hover{color:var(--green-dark)}.error-banner,.success-banner{font-size:var(--font-body);border-radius:11px;margin-bottom:16px;padding:12px 15px}.error-banner{color:#873c34;background:#fae5df;border:1px solid #efc2b9}.success-banner{background:var(--green-wash);color:var(--green-dark);border:1px solid #badfcd}.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffef9f7;border-radius:16px;min-width:0;overflow:hidden}.panel-flat{border:1px solid var(--line);background:#fffef9b8;border-radius:13px}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:74px;padding:17px 21px;display:flex}.panel-heading>div>span{margin-bottom:5px;display:block}.panel-heading h2{letter-spacing:-.025em;margin:0;font-size:18px}.panel-heading>small{background:var(--green-wash);color:var(--green-dark);font-size:var(--font-compact-sm);border-radius:999px;padding:6px 9px;font-weight:850}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.metric-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{border:1px solid var(--line);border-radius:15px;min-height:136px;padding:20px;display:grid}.metric-label{justify-content:space-between;align-items:center;display:flex}.metric-label>span:first-child{font-size:var(--font-body-sm);letter-spacing:.025em;font-weight:800}.metric-icon{background:#13221d12;border-radius:8px;justify-content:center;align-items:center;width:31px;height:31px;display:flex}.metric-card>strong{letter-spacing:-.05em;align-self:end;margin-top:16px;font-size:38px;line-height:1}.metric-card>small{font-size:var(--font-label);opacity:.66;margin-top:6px}.metric-card.green{background:var(--green);border-color:var(--green);color:#fff}.metric-card.green .metric-icon{background:#ffffff21}.metric-card.sand{background:var(--sand)}.metric-card.ink{background:var(--ink);border-color:var(--ink);color:#fff}.metric-card.ink .metric-icon{color:var(--green-bright);background:#ffffff17}.metric-card.paper{background:var(--paper)}.compact-metrics .metric-card{min-height:122px}.empty-state{text-align:center;flex-direction:column;align-items:center;min-height:220px;padding:40px 25px;display:flex}.empty-state>span{background:var(--green-wash);color:var(--green);border-radius:13px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:15px;font-size:18px;font-weight:900;display:flex}.empty-state>strong{font-size:14px}.empty-state p{color:var(--muted);font-size:var(--font-body-sm);max-width:370px;margin:7px 0 0;line-height:1.6}.empty-state .button{margin-top:16px}.loading-rows{gap:10px;padding:21px;display:grid}.loading-rows>span{background:#eceee9;border-radius:9px;height:49px;animation:1.35s ease-in-out infinite alternate shimmer}.loading-rows.compact>span{height:58px}@keyframes shimmer{to{background:#f7f7f3}}.avatar{background:var(--ink);color:#fff;font-size:var(--font-label);letter-spacing:.04em;border-radius:10px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-weight:850;display:flex}.avatar-green{background:var(--green)}.status-dot{background:#a6ada9;border-radius:50%;width:7px;height:7px;display:inline-block}.status-dot.online{background:var(--green-bright);box-shadow:0 0 0 4px #45c18d1c}.overview-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:16px;margin-bottom:16px;display:grid}.presence-list{padding:3px 21px 10px}.presence-row{border-bottom:1px solid var(--line-soft);grid-template-columns:38px minmax(130px,1fr) auto 50px;align-items:center;gap:12px;min-height:68px;display:grid}.presence-row:last-child{border-bottom:0}.employee-copy strong,.employee-copy span{display:block}.employee-copy strong{font-size:var(--font-body-lg)}.employee-copy span{color:var(--muted);font-size:var(--font-label);margin-top:4px}.state-pill{font-size:var(--font-compact-sm);border-radius:999px;align-items:center;gap:5px;padding:6px 8px;font-weight:850;display:flex}.state-pill>span{border-radius:50%;width:5px;height:5px}.state-pill.present{background:var(--green-wash);color:var(--green-dark)}.state-pill.present>span{background:var(--green)}.state-pill.absent{color:#65706b;background:#eceeeb}.state-pill.absent>span{background:#8a948f}.presence-row time{color:var(--ink-soft);font-size:var(--font-body-sm);font-variant-numeric:tabular-nums;text-align:right}.today-plan-list{gap:9px;padding:15px 17px 8px;display:grid}.today-project{border:1px solid var(--line-soft);background:#f7f6f1;border-radius:11px;grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:9px 11px 9px 7px;display:grid}.project-color{border-radius:999px;width:4px;height:32px}.today-project strong,.today-project span{display:block}.today-project strong{font-size:var(--font-body)}.today-project>div span{color:var(--muted);font-size:var(--font-compact-sm);margin-top:4px;line-height:1.4}.today-project>small{background:var(--green-wash);color:var(--green-dark);font-size:var(--font-compact-sm);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-weight:850;display:flex}.terminal-strip{border-top:1px solid var(--line);gap:5px;margin-top:10px;padding:12px 17px 15px;display:grid}.terminal-strip>div{font-size:var(--font-compact-sm);grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.terminal-strip>div span:nth-child(2){color:var(--muted)}.terminal-strip strong{font-size:var(--font-compact-xs);text-transform:uppercase}.activity-panel{box-shadow:none}.data-table{padding:0 21px 9px}.table-row{border-top:1px solid var(--line-soft);font-size:var(--font-body-sm);grid-template-columns:1.35fr 1fr .9fr 1fr .85fr;align-items:center;gap:14px;min-height:51px;display:grid}.table-row.table-head{color:var(--muted);font-size:var(--font-compact-sm);letter-spacing:.07em;text-transform:uppercase;border-top:0;min-height:40px;font-weight:850}.table-row strong{font-size:var(--font-body)}.table-row time{font-variant-numeric:tabular-nums}.action-label{font-weight:750}.action-0{color:var(--green)}.action-1{color:var(--ink-soft)}.toolbar{align-items:center;gap:12px;min-height:61px;margin-bottom:13px;padding:10px;display:flex}.search-field{background:var(--paper);border:1px solid var(--line);border-radius:9px;flex:1;align-items:center;gap:8px;min-height:39px;padding:0 11px;display:flex}.search-field svg{color:var(--muted);flex:none}.search-field input{font-size:var(--font-body-sm);background:0 0;border:0;outline:none;width:100%}.search-field input::placeholder{color:#9da49f}.select-control{align-items:center;gap:7px;display:flex}.select-control>span{color:var(--muted);font-size:var(--font-label);font-weight:700}.select-control select{background:var(--paper);border:1px solid var(--line);font-size:var(--font-label);border-radius:9px;outline:none;min-height:39px;padding:0 29px 0 10px}.result-count{color:var(--muted);font-size:var(--font-label);text-align:right;min-width:72px}.check-control{color:var(--muted);font-size:var(--font-label);white-space:nowrap;align-items:center;gap:7px;display:flex}.dialog-layer{z-index:200;background:#13221d7a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog{background:var(--paper);border:1px solid #ffffff80;border-radius:18px;width:100%;max-width:720px;max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 25px 80px #13221d47}.dialog-narrow{max-width:590px}.dialog-header{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:18px 20px;display:grid}.dialog-symbol{background:var(--green-wash);color:var(--green);border-radius:11px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.dialog-header span{color:var(--green);font-size:var(--font-compact-sm);letter-spacing:.1em;text-transform:uppercase;font-weight:850;display:block}.dialog-header h2{letter-spacing:-.025em;margin:3px 0 0;font-size:18px}.dialog-close{color:var(--muted);background:0 0;border:0;padding:8px;font-size:24px;line-height:1}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;display:grid}.field{gap:6px;display:grid}.field-wide{grid-column:1/-1}.field>span,.color-field legend{color:var(--ink-soft);font-size:var(--font-label);font-weight:750}.field input,.field select,.field textarea{border:1px solid var(--line);font-size:var(--font-body);background:#fff;border-radius:9px;outline:none;width:100%;min-height:40px;padding:0 11px}.field textarea{resize:vertical;min-height:86px;padding:10px 11px;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #19865f14}.toggle-field{border:1px solid var(--line);background:#f6f5ef;border-radius:11px;align-items:flex-start;gap:10px;padding:12px;display:flex}.toggle-field>input{margin-top:5px}.toggle-field>span{grid-template-columns:20px 1fr;gap:2px;display:grid}.toggle-field svg{color:var(--green);grid-row:1/span 2}.toggle-field strong{font-size:var(--font-body-sm)}.toggle-field small{color:var(--muted);font-size:var(--font-compact-sm)}.dialog-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:8px;margin:4px -20px -20px;padding:15px 20px;display:flex}.audit-hint{background:var(--green-wash);color:var(--green-dark);border-radius:10px;align-items:flex-start;gap:9px;padding:11px;display:flex}.audit-hint svg{flex:none;margin-top:1px}.audit-hint p{margin:0}.audit-hint strong,.audit-hint span{display:block}.audit-hint strong{font-size:var(--font-label)}.audit-hint span{font-size:var(--font-compact-sm);opacity:.78;margin-top:2px;line-height:1.5}.color-field{border:0;gap:8px;margin:0;padding:0;display:flex}.color-field legend{margin-bottom:8px}.color-field label{box-shadow:0 0 0 1px var(--line);border:3px solid #fff;border-radius:50%;width:29px;height:29px;position:relative;overflow:hidden}.color-field input{opacity:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.color-field label:has(input:checked){box-shadow:0 0 0 2px var(--ink)}.color-field span{font-size:0}.employee-panel{box-shadow:none}.employee-table-head,.employee-table-row{grid-template-columns:1.45fr .9fr .9fr 1fr .65fr 34px;align-items:center;gap:14px;padding:0 19px;display:grid}.employee-table-head{color:var(--muted);font-size:var(--font-compact-sm);letter-spacing:.07em;text-transform:uppercase;min-height:44px;font-weight:850}.employee-table-row{border-top:1px solid var(--line-soft);font-size:var(--font-body-sm);min-height:66px}.employee-name-cell{align-items:center;gap:10px;min-width:0;display:flex}.employee-name-cell>div:not(.avatar){min-width:0}.employee-name-cell strong,.employee-name-cell span{display:block}.employee-name-cell strong{font-size:var(--font-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.employee-name-cell span{color:var(--muted);font-size:var(--font-compact-sm);margin-top:4px}.access-chips{flex-wrap:wrap;gap:5px;display:flex}.access-chips>span{background:var(--green-wash);color:var(--green-dark);font-size:var(--font-compact-xs);border-radius:999px;align-items:center;gap:4px;padding:5px 7px;font-weight:800;display:flex}.access-chips>span.pending{color:#3c7095;background:#e6f1f8}.access-chips>span.failed{color:#963f36;background:#fae5df}.access-chips>span.chip-open{background:var(--sand);color:var(--ink-soft)}.access-chips>span.vacation{color:#865b18;background:#fff0c9}.access-chips em{color:var(--muted);font-size:var(--font-compact-sm);font-style:normal}.status-badge{font-size:var(--font-compact-sm);align-items:center;gap:5px;font-weight:800;display:flex}.status-badge>span{border-radius:50%;width:6px;height:6px}.status-badge.active{color:var(--green)}.status-badge.active>span{background:var(--green)}.status-badge.inactive{color:var(--muted)}.status-badge.inactive>span{background:var(--muted)}.status-badge.vacation{color:#a76a13}.status-badge.vacation>span{background:#d99a35;box-shadow:0 0 0 4px #d99a351f}.icon-button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:8px;justify-content:center;align-items:center;width:31px;height:31px;display:flex}.icon-button:hover,.icon-button.selected{background:var(--green-wash);color:var(--green);border-color:#bddfcd}.terminal-create-block{border:1px solid var(--line);background:#f6f5ef;border-radius:13px;overflow:hidden}.terminal-create-block .terminal-toggle{background:0 0;border:0;border-radius:0}.terminal-create-fields{border-top:1px solid var(--line);grid-template-columns:.85fr 1.15fr;gap:14px;padding:14px;display:grid}.field-help{color:var(--muted);font-size:var(--font-compact-sm);line-height:1.45}.device-choice-field{border:0;margin:0;padding:0}.device-choice-field legend{color:var(--ink-soft);font-size:var(--font-label);margin-bottom:6px;font-weight:750}.device-choice-list{gap:6px;display:grid}.device-choice{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:center;gap:9px;min-height:46px;padding:7px 10px;display:flex}.device-choice>span{grid-template-columns:22px 1fr;align-items:center;gap:2px;min-width:0;display:grid}.device-choice svg{color:var(--green);grid-row:1/span 2}.device-choice strong,.device-choice small{display:block}.device-choice strong{font-size:var(--font-label)}.device-choice small{color:var(--muted);font-size:var(--font-compact-xs)}.terminal-security-note{background:var(--green-wash);color:var(--green-dark);border:1px solid #c8e2d4;border-radius:10px;grid-column:1/-1;align-items:flex-start;gap:9px;padding:10px;display:flex}.terminal-security-note>svg{flex:none;margin-top:1px}.terminal-security-note p{margin:0}.terminal-security-note strong,.terminal-security-note span{display:block}.terminal-security-note strong{font-size:var(--font-label)}.terminal-security-note span{font-size:var(--font-compact-sm);opacity:.8;margin-top:3px;line-height:1.5}.employee-detail-dialog{max-width:820px}.employee-detail-content{gap:14px;padding:18px;display:grid}.employee-detail-summary{background:var(--ink);color:#fff;border-radius:13px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;display:grid}.employee-detail-summary .avatar{width:42px;height:42px}.employee-detail-summary strong,.employee-detail-summary span{display:block}.employee-detail-summary strong{font-size:var(--font-body)}.employee-detail-summary span{color:#aebbb5;font-size:var(--font-compact-sm);margin-top:4px}.employee-detail-summary .button-secondary{color:#fff;background:#ffffff17;border-color:#ffffff24}.employee-access-section{background:#f4faf7;border:1px solid #c8e2d4;border-radius:13px;overflow:hidden}.employee-access-head{background:var(--green-wash);border-bottom:1px solid #c8e2d4;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.employee-access-head>div{align-items:center;gap:9px;display:flex}.employee-access-head>div>span{background:var(--green-dark);color:#fff;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.employee-access-head small,.employee-access-head h3{display:block}.employee-access-head small{color:var(--green-dark);font-size:var(--font-compact-xs);letter-spacing:.09em;text-transform:uppercase;font-weight:850}.employee-access-head h3{font-size:var(--font-body);margin:3px 0 0}.portal-status{font-size:var(--font-compact-xs);border-radius:999px;padding:6px 9px}.portal-status.active{background:var(--green-dark);color:#fff}.portal-status.pending{color:#815b18;background:#fff3d8}.portal-status.disabled{color:#873c34;background:#fae5df}.employee-access-create{grid-template-columns:minmax(180px,.8fr) minmax(240px,1.2fr) auto;align-items:end;gap:12px;padding:13px;display:grid}.employee-access-create>p{color:var(--muted);font-size:var(--font-compact-sm);margin:0 0 3px;line-height:1.5}.employee-access-actions{flex-wrap:wrap;align-items:center;gap:8px;padding:13px;display:flex}.employee-access-actions>div{flex:1;min-width:180px}.employee-access-actions strong,.employee-access-actions span{display:block}.employee-access-actions strong{font-size:var(--font-body-sm)}.employee-access-actions span{color:var(--muted);font-size:var(--font-compact-sm);margin-top:3px}.employee-activation-result{color:#725313;background:#fffdf5;border-bottom:1px solid #e5d59f;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;display:grid}.employee-activation-result>svg{align-self:start;margin-top:2px}.employee-activation-result strong,.employee-activation-result span,.employee-activation-result small{display:block}.employee-activation-result strong{font-size:var(--font-body-sm)}.employee-activation-result span{font-size:var(--font-compact-sm);margin-top:3px}.employee-activation-result code{background:var(--ink);color:#fff;letter-spacing:.13em;border-radius:8px;margin:9px 0 6px;padding:7px 11px;font-size:22px;font-weight:900;display:inline-block}.employee-activation-result small{color:#816d3f;font-size:var(--font-compact-xs);line-height:1.45}.employee-access-hint{color:var(--muted);font-size:var(--font-compact-xs);background:#ffffff85;border-top:1px solid #d6e9df;margin:0;padding:8px 13px;line-height:1.5}.access-chips .portal-active{background:var(--green-wash);color:var(--green-dark)}.access-chips .portal-pending{color:#815b18;background:#fff3d8}.access-chips .portal-disabled{color:#873c34;background:#fae5df}.vacation-section{background:#fffdf5;border:1px solid #ead8aa;border-radius:13px;overflow:hidden}.vacation-section-head{background:#fff7dc;border-bottom:1px solid #ead8aa;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.vacation-title{align-items:center;gap:9px;display:flex}.vacation-title>span{color:#fff;background:#e3a94e;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.vacation-title small,.vacation-title h3{display:block}.vacation-title small{color:#9a6a20;font-size:var(--font-compact-xs);letter-spacing:.09em;text-transform:uppercase;font-weight:850}.vacation-title h3{font-size:var(--font-body);margin:3px 0 0}.vacation-section-head>strong{color:#865b18;font-size:var(--font-compact-xs);background:#fff;border:1px solid #ead8aa;border-radius:999px;padding:5px 8px}.vacation-form{grid-template-columns:125px 145px minmax(150px,1fr) auto;align-items:end;gap:8px;padding:12px;display:grid}.vacation-form .field input{background:#fff}.vacation-form .button{white-space:nowrap;min-height:40px}.vacation-list{border-top:1px solid #f0e2bd;padding:0 12px;display:grid}.vacation-list article{border-bottom:1px solid #f0e7cf;grid-template-columns:32px minmax(0,1fr) auto 31px;align-items:center;gap:9px;min-height:55px;padding:7px 0;display:grid}.vacation-list article:last-child{border-bottom:0}.vacation-list article.active{color:#815711}.vacation-date-icon{color:#a76a13;background:#fff0c9;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.vacation-list article strong,.vacation-list article>div>span{display:block}.vacation-list article strong{font-size:var(--font-label)}.vacation-list article>div>span{color:var(--muted);font-size:var(--font-compact-xs);margin-top:3px}.vacation-list article em{color:#fff;letter-spacing:.08em;background:#e3a94e;border-radius:999px;padding:4px 6px;font-size:9px;font-style:normal;font-weight:900}.vacation-list-empty{color:var(--muted);font-size:var(--font-label);border-top:1px solid #f0e2bd;justify-content:center;align-items:center;gap:7px;padding:16px;display:flex}.vacation-list-empty svg{color:#d39a40}.vacation-hint{color:#795f35;font-size:var(--font-compact-xs);background:#fbf4df;border-top:1px solid #f0e2bd;margin:0;padding:8px 12px;line-height:1.5}.terminal-section{border:1px solid var(--line);border-radius:13px;overflow:hidden}.terminal-section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 15px;display:flex}.terminal-section-head span,.terminal-link-panel>div>span{color:var(--green);font-size:var(--font-compact-sm);letter-spacing:.1em;text-transform:uppercase;font-weight:850;display:block}.terminal-section-head h3,.terminal-link-panel h3{margin:4px 0 0;font-size:14px}.terminal-section-head>small{background:var(--green-wash);color:var(--green-dark);font-size:var(--font-compact-xs);border-radius:999px;padding:5px 8px;font-weight:850}.terminal-empty{color:var(--muted);align-items:center;gap:11px;padding:24px 16px;display:flex}.terminal-empty>svg{color:var(--green)}.terminal-empty strong,.terminal-empty span{display:block}.terminal-empty strong{color:var(--ink);font-size:var(--font-body-sm)}.terminal-empty span{font-size:var(--font-compact-sm);margin-top:3px;line-height:1.5}.terminal-assignment-list{gap:9px;padding:11px;display:grid}.terminal-assignment-card{border:1px solid var(--line-soft);background:#faf9f5;border-radius:11px;overflow:hidden}.terminal-assignment-card.active{border-color:#cde2d6}.terminal-assignment-card.failed{border-color:#efc2b9}.terminal-assignment-main{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.terminal-device-icon{background:var(--ink);color:var(--green-bright);border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.terminal-assignment-main>div strong,.terminal-assignment-main>div span{display:block}.terminal-assignment-main>div strong{font-size:var(--font-body-sm)}.terminal-assignment-main>div span{color:var(--muted);font-size:var(--font-compact-sm);margin-top:4px}.terminal-assignment-main b{color:var(--ink-soft);font-weight:850}.terminal-status{font-size:var(--font-compact-xs);border-radius:999px;align-items:center;gap:4px;padding:6px 8px;font-weight:850;display:inline-flex}.terminal-status.ready{background:var(--green-wash);color:var(--green-dark)}.terminal-status.chip-open{background:var(--sand);color:var(--ink-soft)}.terminal-status.pending{color:#3c7095;background:#e6f1f8}.terminal-status.failed{color:#963f36;background:#fae5df}.terminal-status.missing{color:#65706b;background:#eceeeb}.terminal-next-step,.terminal-progress,.terminal-failure{border-top:1px solid var(--line-soft);align-items:flex-start;gap:9px;padding:10px;display:flex}.terminal-next-step{background:var(--green-wash);color:var(--green-dark)}.terminal-next-step>svg,.terminal-progress>svg,.terminal-failure>svg{flex:none;margin-top:1px}.terminal-next-step p{margin:0}.terminal-next-step strong,.terminal-next-step span{display:block}.terminal-next-step strong{font-size:var(--font-label)}.terminal-next-step span,.terminal-progress span,.terminal-failure>span{font-size:var(--font-compact-sm);margin-top:3px;line-height:1.5}.terminal-progress{color:#3c7095;background:#eef5f9;align-items:center}.terminal-progress>svg{animation:1.5s linear infinite terminal-spin}.terminal-failure{color:#873c34;background:#fae5df;align-items:center}.terminal-failure>span{flex:1;margin:0}@keyframes terminal-spin{to{transform:rotate(360deg)}}.terminal-link-panel{border:1px solid var(--line);background:#f7f6f1;border-radius:13px;grid-template-columns:minmax(180px,.8fr) minmax(330px,1.2fr);align-items:end;gap:16px;padding:14px;display:grid}.terminal-link-panel p{color:var(--muted);font-size:var(--font-compact-sm);margin:5px 0 0;line-height:1.5}.terminal-inline-form{grid-template-columns:1.2fr .65fr auto;align-items:end;gap:8px;display:grid}.terminal-existing-form{grid-template-columns:1fr auto;align-items:end;gap:8px;display:grid}.terminal-link-panel.existing{background:#fff}.employee-delete-zone{background:#fff7f4;border:1px solid #efc2b9;border-radius:13px;justify-content:space-between;align-items:center;gap:18px;padding:14px;display:flex}.employee-delete-zone strong,.employee-delete-zone span{display:block}.employee-delete-zone strong{color:#873c34;font-size:var(--font-body-sm)}.employee-delete-zone span{color:var(--muted);font-size:var(--font-compact-sm);margin-top:4px;line-height:1.5}.employee-delete-zone .button{flex:none}.time-panel{box-shadow:none;overflow-x:auto}.time-table{min-width:880px}.time-table-head,.time-table-row{grid-template-columns:1.25fr .85fr .85fr .75fr 1fr 1.1fr;align-items:center;gap:12px;padding:0 18px;display:grid}.time-table-head{color:var(--muted);font-size:var(--font-compact-sm);letter-spacing:.07em;text-transform:uppercase;min-height:43px;font-weight:850}.time-table-row{border-top:1px solid var(--line-soft);font-size:var(--font-body-sm);min-height:64px}.time-table-row time{font-variant-numeric:tabular-nums}.time-table-row>span:nth-child(5) small{color:var(--muted);font-size:var(--font-compact-sm);margin-top:3px;display:block}.action-badge{font-size:var(--font-compact-sm);align-items:center;gap:5px;font-weight:800;display:flex}.action-badge>span{border-radius:50%;width:6px;height:6px}.action-badge.clock-in{color:var(--green)}.action-badge.clock-in>span{background:var(--green)}.action-badge.clock-out{color:var(--ink-soft)}.action-badge.clock-out>span{background:var(--muted)}.source-chip{background:#eff1ed;border-radius:999px;justify-self:start;padding:5px 7px}.reason-cell{color:var(--muted);font-size:var(--font-compact-sm);line-height:1.4}.planning-toolbar{justify-content:space-between;align-items:center;min-height:68px;margin-bottom:13px;padding:10px 13px;display:flex}.week-switcher{align-items:center;gap:12px;display:flex}.week-switcher>button{background:var(--paper);border:1px solid var(--line);border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.week-switcher div{text-align:center;min-width:180px}.week-switcher span,.week-switcher strong{display:block}.week-switcher span{color:var(--green);font-size:var(--font-compact-sm);text-transform:uppercase;font-weight:850}.week-switcher strong{font-size:var(--font-body);margin-top:4px}.publication-status{align-items:center;gap:9px;padding-right:7px;display:flex}.publication-status>span{border-radius:50%;width:9px;height:9px}.publication-status>span.draft{background:var(--warning);box-shadow:0 0 0 5px #d889311a}.publication-status>span.published{background:var(--green);box-shadow:0 0 0 5px #19865f1a}.publication-status strong,.publication-status small{text-align:right;display:block}.publication-status strong{font-size:var(--font-label)}.publication-status small{color:var(--muted);font-size:var(--font-compact-xs);margin-top:3px}.planning-workspace{grid-template-columns:238px minmax(0,1fr);align-items:start;gap:13px;display:grid}.resource-tray{position:sticky;top:84px}.resource-tabs{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;padding:7px;display:grid}.resource-tabs button{color:var(--muted);font-size:var(--font-compact-sm);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:34px;padding:0 6px;font-weight:800;display:flex}.resource-tabs button.active{background:var(--green-wash);color:var(--green-dark)}.resource-tabs button span{font-size:var(--font-compact-xs);background:#13221d14;border-radius:999px;padding:3px 5px}.resource-search{border:1px solid var(--line-soft);background:#f7f6f1;border-radius:8px;align-items:center;gap:6px;min-height:35px;margin:10px;padding:0 9px;display:flex}.resource-search svg{color:var(--muted)}.resource-search input{font-size:var(--font-label);background:0 0;border:0;outline:none;width:100%}.resource-list{gap:6px;min-height:180px;max-height:470px;padding:0 10px 10px;display:grid;overflow:auto}.resource-list .loading-rows{padding:0}.resource-card{--resource-color:var(--green);border:1px solid var(--line);border-left:4px solid var(--resource-color);cursor:grab;text-align:left;background:#fff;border-radius:9px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:48px;padding:6px 7px 6px 6px;display:grid}.resource-card:hover,.resource-card.selected{border-color:var(--resource-color)}@supports (color:color-mix(in lab, red, red)){.resource-card:hover,.resource-card.selected{border-color:color-mix(in srgb, var(--resource-color) 65%, white)}}.resource-card:hover,.resource-card.selected{box-shadow:0 5px 15px #13221d0f}.resource-card.selected{background:var(--resource-color)}@supports (color:color-mix(in lab, red, red)){.resource-card.selected{background:color-mix(in srgb, var(--resource-color) 10%, white)}}.resource-card:focus-visible{outline:3px solid var(--resource-color)}@supports (color:color-mix(in lab, red, red)){.resource-card:focus-visible{outline:3px solid color-mix(in srgb, var(--resource-color) 28%, transparent)}}.resource-card:focus-visible{outline-offset:2px}.resource-symbol{background:var(--resource-color);align-items:center}@supports (color:color-mix(in lab, red, red)){.resource-symbol{background:color-mix(in srgb, var(--resource-color) 14%, white)}}.resource-symbol{color:var(--resource-color);border-radius:8px;justify-content:center;width:30px;height:30px;display:flex}.resource-card strong,.resource-card small{display:block}.resource-card strong{font-size:var(--font-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resource-card small{color:var(--muted);font-size:var(--font-compact-xs);margin-top:3px}.resource-menu-trigger{color:#8d9892;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;width:29px;height:29px;padding:0;display:flex}.resource-menu-trigger:hover,.resource-menu-trigger:focus-visible{background:var(--resource-color)}@supports (color:color-mix(in lab, red, red)){.resource-menu-trigger:hover,.resource-menu-trigger:focus-visible{background:color-mix(in srgb, var(--resource-color) 12%, white)}}.resource-menu-trigger:hover,.resource-menu-trigger:focus-visible{color:var(--resource-color);outline:none}.tray-empty{color:var(--muted);font-size:var(--font-label);text-align:center;padding:30px 10px}.tray-add-button{border:0;border-top:1px solid var(--line);color:var(--green);font-size:var(--font-label);background:0 0;justify-content:center;align-items:center;gap:6px;width:100%;min-height:42px;font-weight:800;display:flex}.drag-help{background:#f2f1eb;grid-template-columns:18px 1fr;gap:6px;padding:10px;display:grid}.drag-help span{background:var(--ink);color:#fff;font-size:var(--font-compact-xs);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-weight:800;display:flex}.drag-help p{color:var(--muted);font-size:var(--font-compact-xs);margin:4px 0 0}.planning-board-wrap{overflow:hidden}.board-topline{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:50px;padding:0 15px;display:flex}.board-topline>div{font-size:var(--font-body-sm);align-items:center;gap:7px;font-weight:800;display:flex}.board-topline svg{color:var(--green)}.board-topline small{color:var(--muted);font-size:var(--font-compact-sm);margin-left:3px;font-weight:650}.planning-board{overflow-x:auto}.board-empty-hint{border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--font-label);background:#f7f6f1;padding:9px 14px}.board-grid{grid-template-columns:112px repeat(var(--project-count), minmax(180px,1fr)) 190px 210px;min-width:var(--board-min-width);display:grid}.planning-board.no-projects .board-grid{grid-template-columns:112px 190px 210px}.board-header-grid{border-bottom:1px solid var(--line);background:#f6f5f0}.day-header,.project-header,.school-header,.vacation-header{min-height:78px;padding:12px}.day-header{border-right:1px solid var(--line);flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.day-header span{color:var(--muted);font-size:var(--font-compact-sm);letter-spacing:.08em;font-weight:850}.day-header small{font-size:var(--font-label);margin-top:4px;font-weight:800}.project-header{border-right:1px solid var(--line);border-top:4px solid var(--green);flex-direction:column;justify-content:center;display:flex;position:relative}.project-header>span{color:var(--green);font-size:var(--font-compact-xs);letter-spacing:.08em;font-weight:850}.project-header strong{font-size:var(--font-body);margin-top:4px;line-height:1.25}.project-header small{color:var(--muted);font-size:var(--font-compact-xs);align-items:center;gap:3px;margin-top:5px;display:flex}.project-edit-button{border:1px solid var(--line);color:var(--muted);opacity:.55;background:#fff;border-radius:7px;justify-content:center;align-items:center;width:26px;height:26px;transition:opacity .15s,transform .15s,color .15s,border-color .15s;display:flex;position:absolute;top:7px;right:7px;transform:translateY(-2px)}.project-header:hover .project-edit-button,.project-edit-button:focus-visible{opacity:1;transform:translateY(0)}.project-edit-button:hover{color:var(--green);border-color:#b9dcca}.school-header{border-right:1px solid var(--line);border-top:4px solid var(--blue);background:#eef4f8;grid-template-columns:26px minmax(0,1fr);align-items:center;display:grid}.school-header>svg{color:#3d7198;grid-row:1/span 3}.school-header>span{color:#557b97;font-size:var(--font-compact-xs);letter-spacing:.08em;font-weight:850}.school-header strong{font-size:var(--font-body);margin-top:2px;line-height:1.2}.school-header small{color:#718998;font-size:var(--font-compact-xs);margin-top:2px}.vacation-header{background:#fff5d9;border-top:4px solid #dda044;grid-template-columns:26px minmax(0,1fr);align-items:center;display:grid}.vacation-header>svg{color:#b87515;grid-row:1/span 3}.vacation-header>span{color:#9c671b;font-size:var(--font-compact-xs);letter-spacing:.08em;font-weight:850}.vacation-header strong{font-size:var(--font-body);margin-top:2px;line-height:1.2}.vacation-header small{color:#9c7c4d;font-size:var(--font-compact-xs);margin-top:2px}.board-day-row{border-bottom:1px solid var(--line)}.board-day-row:last-child{border-bottom:0}.board-day{border-right:1px solid var(--line);background:#faf9f5;flex-direction:column;justify-content:center;min-height:118px;padding:12px;display:flex}.board-day strong,.board-day span{display:block}.board-day strong{font-size:var(--font-body-sm)}.board-day span{color:var(--green);font-size:var(--font-label);margin-top:4px;font-weight:750}.planning-cell{border:0;border-right:1px solid var(--line);outline-offset:-3px;text-align:left;background:#fff9;outline:2px solid #0000;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:6px;min-height:118px;padding:7px;transition:background .14s,box-shadow .14s,outline-color .14s,transform .14s;display:flex;position:relative}.planning-cell:hover,.selection-active .planning-cell:hover{background:var(--green-wash)}.selection-active .planning-cell{cursor:copy;background:#e4f3eb3b}.planning-cell.drop-active{outline-color:var(--green);background:#dff3e8;transform:scale(.992);box-shadow:inset 0 0 24px #19865f1f}.planning-cell.drop-active:after{color:#fff;content:"Hier ablegen";font-size:var(--font-compact-xs);pointer-events:none;white-space:nowrap;z-index:3;background:#19865fe6;border-radius:999px;align-items:center;min-height:23px;padding:0 9px;font-weight:850;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.planning-cell.drop-active:has(.assignment-chip):after{opacity:.9;top:calc(100% - 19px)}.cell-placeholder{color:#bec4c0;font-size:var(--font-compact-sm);flex:100%;justify-content:center;align-self:stretch;align-items:center;width:100%;min-height:92px;font-weight:750;display:flex}.selection-active .cell-placeholder{color:var(--green)}.assignment-chip{--resource-color:var(--green);background:#fff;background:var(--resource-color);align-items:center}@supports (color:color-mix(in lab, red, red)){.assignment-chip{background:color-mix(in srgb, var(--resource-color) 11%, white)}}.assignment-chip{border:1px solid var(--resource-color)}@supports (color:color-mix(in lab, red, red)){.assignment-chip{border:1px solid color-mix(in srgb, var(--resource-color) 36%, white)}}.assignment-chip{box-shadow:inset 3px 0 var(--resource-color), 0 3px 8px #13221d0d;color:var(--ink);cursor:grab;text-align:left;border-radius:7px;flex:0 auto;width:max-content;max-width:100%;min-height:34px;padding:5px 9px 5px 11px;transition:opacity .12s,transform .12s,box-shadow .12s;display:inline-flex}.assignment-chip:hover{box-shadow:inset 3px 0 var(--resource-color), 0 5px 12px #13221d1a;transform:translateY(-1px)}.assignment-chip:focus-visible{outline:3px solid var(--resource-color)}@supports (color:color-mix(in lab, red, red)){.assignment-chip:focus-visible{outline:3px solid color-mix(in srgb, var(--resource-color) 25%, transparent)}}.assignment-chip:focus-visible{outline-offset:1px}.assignment-chip strong{font-size:var(--font-body);text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;line-height:1.15;overflow:hidden}.assignment-chip.drag-source,.resource-card.drag-source{opacity:.28;transform:scale(.96)}.magnet-density-busy{gap:4px}.planning-cell.magnet-density-busy .assignment-chip,.vacation-cell.magnet-density-busy .vacation-chip{min-height:30px;padding-top:4px;padding-bottom:4px}.planning-cell.magnet-density-busy .assignment-chip strong,.vacation-cell.magnet-density-busy .vacation-chip strong{font-size:var(--font-body-sm)}.magnet-density-crowded{gap:3px}.planning-cell.magnet-density-crowded .assignment-chip,.vacation-cell.magnet-density-crowded .vacation-chip{min-height:27px;padding:3px 7px 3px 9px}.planning-cell.magnet-density-crowded .assignment-chip strong,.vacation-cell.magnet-density-crowded .vacation-chip strong{font-size:var(--font-label)}.school-cell{background:#f5f9fb}.school-cell:hover,.selection-active .school-cell:hover,.school-cell.drop-active{background:#e4f0f6}.school-cell.drop-active{outline-color:var(--blue);box-shadow:inset 0 0 24px #4c7da524}.school-cell.drop-active:after{background:#4c7da5f0}.school-placeholder{color:#9db2c0}.school-cell-unavailable{color:var(--muted);font-size:var(--font-compact-xs);text-align:center;justify-content:center;align-items:center;min-height:118px;padding:8px;display:flex}.vacation-cell{background:#fffbec;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:6px;min-height:118px;padding:7px;display:flex}.vacation-chip{background:#fbf3e7;border:1px solid #e8ce8e;border-radius:7px;flex:0 auto;align-items:center;width:max-content;max-width:100%;min-height:34px;padding:5px 9px 5px 11px;display:inline-flex;box-shadow:inset 3px 0 #d79632,0 3px 8px #8a5d1a0f}.vacation-chip strong{font-size:var(--font-body);text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;line-height:1.15;overflow:hidden}.vacation-empty{color:#b5a17d;font-size:var(--font-compact-xs);flex:100%;justify-content:center;align-self:stretch;align-items:center;font-weight:700;display:flex}.dialog-delete-action{margin-right:auto}.drag-magnet{--drag-tilt:0deg;--resource-color:var(--green);background:#fff;background:var(--resource-color);align-items:center;animation:.58s ease-in-out infinite alternate magnet-float}@supports (color:color-mix(in lab, red, red)){.drag-magnet{background:color-mix(in srgb, var(--resource-color) 12%, white)}}.drag-magnet{border:1px solid var(--resource-color)}@supports (color:color-mix(in lab, red, red)){.drag-magnet{border:1px solid color-mix(in srgb, var(--resource-color) 42%, white)}}.drag-magnet{box-shadow:inset 4px 0 var(--resource-color), 0 16px 35px #13221d38, 0 4px 10px #13221d1a;pointer-events:none;min-width:90px;max-width:240px;min-height:40px;transform:translate(-18px,-22px) rotate(var(--drag-tilt));transform-origin:18px;z-index:500;border-radius:9px;padding:7px 12px 7px 14px;transition:transform 80ms linear;display:inline-flex;position:fixed;top:0;left:0}.drag-magnet strong{font-size:var(--font-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@keyframes magnet-float{0%{margin-top:-1px}to{margin-top:2px}}.context-menu-backdrop{z-index:690;background:0 0;border:0;padding:0;position:fixed;inset:0}.resource-context-menu{background:var(--paper);border:1px solid var(--line);z-index:700;border-radius:13px;gap:9px;width:276px;padding:11px;display:grid;position:fixed;box-shadow:0 20px 55px #13221d38,0 5px 15px #13221d17}.resource-context-heading{border-bottom:1px solid var(--line-soft);grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:1px 1px 10px;display:grid}.resource-context-heading>span{--resource-color:var(--green);background:var(--resource-color);align-items:center}@supports (color:color-mix(in lab, red, red)){.resource-context-heading>span{background:color-mix(in srgb, var(--resource-color) 13%, white)}}.resource-context-heading>span{color:var(--resource-color);border-radius:9px;justify-content:center;width:34px;height:34px;display:flex}.resource-context-heading strong,.resource-context-heading small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.resource-context-heading strong{font-size:var(--font-body)}.resource-context-heading small{color:var(--muted);font-size:var(--font-compact-sm);margin-top:3px}.resource-color-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.resource-color-grid button{background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;height:31px;padding:0;display:flex}.resource-color-grid button:hover{background:#f3f2ed}.resource-color-grid button.active{border-color:var(--ink)}.resource-color-grid button>span{background:var(--swatch-color);box-shadow:0 0 0 1px var(--swatch-color);border:2px solid #fff;border-radius:50%}@supports (color:color-mix(in lab, red, red)){.resource-color-grid button>span{box-shadow:0 0 0 1px color-mix(in srgb, var(--swatch-color) 55%, #c8ccc6)}}.resource-color-grid button>span{width:21px;height:21px}.custom-color-choice{border:1px solid var(--line-soft);color:var(--ink-soft);font-size:var(--font-label);border-radius:8px;justify-content:space-between;align-items:center;min-height:36px;padding:5px 8px 5px 10px;font-weight:750;display:flex}.custom-color-choice input{cursor:pointer;background:0 0;border:0;width:34px;height:25px;padding:0}.context-menu-action{color:var(--ink-soft);font-size:var(--font-label);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;width:100%;min-height:34px;padding:0 9px;font-weight:750;display:flex}.context-menu-action:hover{background:var(--green-wash);color:var(--green-dark)}.context-menu-action.danger{color:#9b443a}.context-menu-action.danger:hover{color:#873c34;background:#fae5df}.context-menu-action:disabled,.resource-color-grid button:disabled{cursor:wait;opacity:.5}.resource-context-menu>p{color:var(--muted);font-size:var(--font-compact-xs);margin:0;padding:0 3px 1px;line-height:1.4}.statistics-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:14px;margin-bottom:14px;display:grid}.chart-panel .panel-heading>svg{color:var(--green)}.hours-chart{gap:13px;padding:20px;display:grid}.chart-row{grid-template-columns:minmax(135px,.7fr) minmax(180px,1.5fr) 58px;align-items:center;gap:12px;display:grid}.chart-row>div:first-child{align-items:center;gap:8px;min-width:0;display:flex}.chart-row .avatar{width:30px;height:30px}.chart-row strong{font-size:var(--font-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chart-row>strong{text-align:right}.bar-track{background:#edf0eb;border-radius:999px;height:9px;overflow:hidden}.bar-track span{background:linear-gradient(90deg,var(--green),var(--green-bright));border-radius:inherit;height:100%;display:block}.rule-list{padding:12px 19px 18px;display:grid}.rule-list>div{border-bottom:1px solid var(--line-soft);padding:12px 0}.rule-list span,.rule-list strong{display:block}.rule-list span{color:var(--muted);font-size:var(--font-compact-sm)}.rule-list strong{font-size:var(--font-body-sm);margin-top:4px}.rule-list p{background:var(--green-wash);color:var(--green-dark);font-size:var(--font-compact-sm);border-radius:9px;margin:14px 0 0;padding:10px;line-height:1.6}.statistics-table-panel{box-shadow:none}.statistics-table-head,.statistics-table-row{grid-template-columns:1.5fr .65fr .8fr .65fr .55fr .55fr;align-items:center;gap:12px;padding:0 19px;display:grid}.statistics-table-head{color:var(--muted);font-size:var(--font-compact-sm);letter-spacing:.06em;text-transform:uppercase;min-height:42px;font-weight:850}.statistics-table-row{border-top:1px solid var(--line-soft);font-size:var(--font-body-sm);min-height:62px}.balance{font-weight:850}.balance.positive{color:var(--green)}.balance.negative{color:var(--danger)}.audit-assurance{background:var(--ink);color:#fff;border-radius:13px;align-items:center;gap:12px;margin-bottom:13px;padding:14px 16px;display:flex}.audit-assurance>svg{color:var(--green-bright);flex:none}.audit-assurance strong,.audit-assurance span{display:block}.audit-assurance strong{font-size:var(--font-body-sm)}.audit-assurance span{color:#b8c5bf;font-size:var(--font-compact-sm);margin-top:3px;line-height:1.5}.audit-panel{box-shadow:none}.audit-list{padding:17px 22px}.audit-entry{grid-template-columns:36px minmax(0,1fr);display:grid}.audit-line{flex-direction:column;align-items:center;display:flex}.audit-icon{background:var(--green-wash);color:var(--green);border-radius:9px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.audit-line>i{background:var(--line);flex:1;width:1px;margin:5px 0}.audit-copy{border-bottom:1px solid var(--line-soft);margin-left:11px;padding:7px 0 18px}.audit-entry:last-child .audit-copy{border-bottom:0}.audit-copy>div{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.audit-copy>div>strong{font-size:var(--font-body);line-height:1.45}.audit-category{font-size:var(--font-compact-xs);border-radius:999px;flex:none;padding:5px 7px;font-weight:800}.audit-category.time{color:#3c7095;background:#e6f1f8}.audit-category.planning{background:var(--green-wash);color:var(--green-dark)}.audit-category.people{color:#825493;background:#f2e9f5}.audit-category.settings{background:var(--sand);color:var(--ink-soft)}.audit-copy p{color:var(--muted);font-size:var(--font-compact-sm);align-items:center;gap:6px;margin:9px 0 0;display:flex}.audit-copy .avatar{width:22px;height:22px}.audit-copy p strong{color:var(--ink-soft)}.settings-grid{grid-template-columns:1.25fr .75fr;gap:14px;margin-bottom:14px;display:grid}.settings-card .panel-heading>svg{color:var(--green)}.settings-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:20px;display:grid}.input-suffix{position:relative}.input-suffix input{padding-right:45px}.input-suffix span{color:var(--muted);font-size:var(--font-compact-sm);position:absolute;top:15px;right:11px}.settings-save{border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;align-items:center;margin:4px -20px -20px;padding:14px 20px;display:flex}.settings-save p{color:var(--muted);font-size:var(--font-compact-sm);margin:0}.infrastructure-list{gap:12px;padding:16px;display:grid}.site-block{border:1px solid var(--line-soft);background:#f7f6f1;border-radius:11px;padding:11px}.site-block>div:first-child,.terminal-row{align-items:center;gap:9px;display:flex}.site-heading{justify-content:space-between}.site-heading-copy{align-items:center;gap:9px;min-width:0;display:flex}.site-heading .icon-button,.terminal-row .icon-button{flex:none}.terminal-row .icon-button{margin-left:auto}.site-heading .icon-button.danger:hover,.terminal-row .icon-button.danger:hover{color:var(--danger);background:#fae5df;border-color:#e8b5aa}.site-icon{background:var(--ink);color:var(--green-bright);border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.site-block p,.terminal-row p{margin:0}.site-block strong,.site-block small,.terminal-row strong,.terminal-row small{display:block}.site-block strong{font-size:var(--font-body-sm)}.site-block small{color:var(--muted);font-size:var(--font-compact-xs);margin-top:3px}.terminal-row{border-top:1px solid var(--line);margin-top:10px;padding:10px 2px 0}.terminal-row p strong{font-size:var(--font-label)}.connector-row{border-top:1px solid var(--line);color:var(--green);grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:10px;padding:10px 2px 0;display:grid}.connector-row p{color:var(--ink);margin:0}.connector-row strong,.connector-row small{display:block}.connector-row strong{font-size:var(--font-label)}.connector-row small{color:var(--muted);font-size:var(--font-compact-xs);margin-top:3px}.connector-row .icon-button{width:29px;height:29px}.connector-actions{align-items:center;gap:7px;display:flex}.connector-actions .icon-button.danger:hover{color:var(--danger);background:#fae5df;border-color:#e8b5aa}.connector-revoked{color:#963f36;font-size:var(--font-compact-xs);background:#fae5df;border-radius:999px;padding:5px 8px;font-weight:800}.connector-code-result{gap:15px;padding:20px;display:grid}.connector-code-result .terminal-security-note{grid-column:auto}.connector-code-result textarea{border:1px solid var(--line);color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--font-compact-sm);resize:none;background:#fff;border-radius:9px;width:100%;min-height:132px;padding:11px;line-height:1.45}.connector-code-result .button{justify-self:end}.admin-access-panel{box-shadow:none}.admin-access-note{background:var(--green-wash);color:var(--green-dark);border-bottom:1px solid #cce5d7;align-items:center;gap:10px;padding:11px 18px;display:flex}.admin-access-note strong,.admin-access-note span{display:block}.admin-access-note strong{font-size:var(--font-label)}.admin-access-note span{font-size:var(--font-compact-sm);opacity:.76;margin-top:2px}.admin-list{padding:0 19px 10px}.admin-row{border-bottom:1px solid var(--line-soft);grid-template-columns:36px minmax(180px,1fr) 100px 150px;align-items:center;gap:11px;min-height:64px;display:grid}.admin-row:last-child{border-bottom:0}.admin-row>div strong,.admin-row>div span{display:block}.admin-row>div strong{font-size:var(--font-body-sm)}.admin-row>div span{color:var(--muted);font-size:var(--font-compact-sm);margin-top:3px}.admin-row>small{color:var(--muted);font-size:var(--font-compact-sm);text-align:right}.role-badge{font-size:var(--font-compact-xs);border-radius:999px;justify-self:start;padding:6px 8px;font-weight:850}.role-badge.owner{background:var(--ink);color:#fff}.role-badge.admin{background:var(--green-wash);color:var(--green-dark)}.role-badge.planner{background:var(--sand);color:var(--ink-soft)}.pending-avatar{background:var(--sand);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.admin-row.pending{opacity:.7}.auth-page{background:radial-gradient(circle at 50% 0, #19865f1f, transparent 42%), var(--cream);justify-content:center;align-items:center;min-height:100vh;padding:28px 16px;display:flex}.auth-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;width:100%;max-width:460px;padding:32px;box-shadow:0 26px 70px #13221d24}.auth-card-wide{max-width:540px}.auth-card>img{object-fit:contain;width:200px;height:78px;margin:0 auto 20px;display:block}.auth-heading{border-bottom:1px solid var(--line-soft);text-align:center;margin-bottom:22px;padding-bottom:22px}.auth-heading>span{color:var(--green-dark);font-size:var(--font-body-sm);align-items:center;gap:7px;font-weight:800;display:inline-flex}.auth-heading h1{letter-spacing:-.035em;margin:12px 0 5px;font-size:30px}.auth-heading p{color:var(--muted);font-size:var(--font-body);margin:0}.auth-card form{gap:15px;display:grid}.auth-card label{color:var(--ink-soft);font-size:var(--font-body-sm);gap:7px;font-weight:750;display:grid}.auth-card label input{border:1px solid var(--line);font-size:var(--font-body-lg);background:#fff;border-radius:10px;outline:none;height:46px;padding:0 13px;transition:border-color .15s,box-shadow .15s}.auth-card label input:focus{border-color:var(--green);box-shadow:0 0 0 3px #19865f1f}.auth-card label small{color:var(--muted);font-size:var(--font-label);font-weight:500}.auth-error{color:#8c362e;font-size:var(--font-body-sm);background:#fff0ee;border:1px solid #edc7c1;border-radius:9px;padding:10px 12px}.auth-submit{justify-content:center;width:100%;min-height:46px;margin-top:4px}.auth-mode-button{color:var(--green-dark);font-size:var(--font-body-sm);background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:7px;font-weight:750;display:inline-flex}.auth-mode-button:hover{text-decoration:underline}.auth-pin-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.auth-security-hint{background:var(--green-wash);color:var(--green-dark);font-size:var(--font-compact-sm);border:1px solid #c8e2d4;border-radius:9px;margin:0;padding:10px 11px;line-height:1.5}.auth-card>small{color:var(--muted);font-size:var(--font-label);text-align:center;margin-top:18px;display:block}.employee-portal-page{background:radial-gradient(circle at 10% 0, #19865f24, transparent 34%), var(--cream);min-height:100vh}.employee-portal-header{background:#ebe5d7e6;border-bottom:1px solid #116c4c6b;justify-content:space-between;align-items:center;height:82px;padding:0 clamp(18px,5vw,70px);display:flex}.employee-portal-header>img{object-fit:contain;width:160px;height:62px}.employee-portal-content{max-width:980px;margin:0 auto;padding:46px 20px 70px}.employee-welcome>span{color:var(--green);font-size:var(--font-label);letter-spacing:.13em;text-transform:uppercase;font-weight:900}.employee-welcome h1{letter-spacing:-.05em;margin:8px 0 3px;font-size:clamp(35px,6vw,54px)}.employee-welcome p{color:var(--muted);font-size:var(--font-body-lg);margin:0 0 28px}.employee-portal-grid{grid-template-columns:1.25fr .75fr;gap:16px;display:grid}.employee-clock-card,.employee-profile-card,.employee-events-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-small);border-radius:18px}.employee-clock-card{background:var(--ink);color:#fff;grid-template-columns:1fr auto;align-items:center;gap:20px;min-height:270px;padding:25px;display:grid}.employee-clock-card.present{background:linear-gradient(135deg,var(--green-dark),#0d4f3a)}.employee-clock-status span,.employee-clock-status small{display:block}.employee-clock-status span{align-items:center;gap:8px;font-size:19px;font-weight:850;display:flex}.employee-clock-status small{color:#ffffffb3;font-size:var(--font-body-sm);margin-top:7px}.employee-clock-card>svg{color:var(--green-bright)}.employee-clock-button{color:var(--green-dark);background:#fff;grid-column:1/-1;justify-content:center;min-height:54px;font-size:17px}.employee-clock-button:hover{background:var(--green-wash)}.employee-clock-hint{color:#ffffffad;font-size:var(--font-compact-sm);grid-column:1/-1;align-items:center;gap:6px;margin:-8px 0 0;display:flex}.employee-profile-card{padding:22px}.employee-profile-card>span,.employee-events-card>span{color:var(--green);font-size:var(--font-label);letter-spacing:.1em;text-transform:uppercase;font-weight:900}.employee-profile-card dl{gap:0;margin:17px 0 0;display:grid}.employee-profile-card dl>div{border-top:1px solid var(--line-soft);padding:15px 0}.employee-profile-card dt{color:var(--muted);font-size:var(--font-label)}.employee-profile-card dd{font-size:var(--font-body-lg);align-items:center;gap:5px;margin:5px 0 0;font-weight:800;display:flex}.employee-events-card{grid-column:1/-1;padding:22px}.employee-events-card>div{margin-top:14px;display:grid}.employee-events-card>div>div{border-top:1px solid var(--line-soft);grid-template-columns:9px minmax(130px,.4fr) 1fr;align-items:center;gap:9px;min-height:48px;display:grid}.employee-events-card i{border-radius:50%;width:8px;height:8px}.employee-events-card i.in{background:var(--green-bright)}.employee-events-card i.out{background:var(--muted)}.employee-events-card strong{font-size:var(--font-body-sm)}.employee-events-card small{color:var(--muted);font-size:var(--font-body-sm);text-align:right}.employee-events-card p{color:var(--muted);font-size:var(--font-body-sm)}.tv-shell{background:var(--cream);flex-direction:column;max-width:none;height:100vh;margin:0;padding:0;display:flex;overflow:hidden}.tv-header{background:var(--sand);color:var(--ink);border-bottom:1px solid #116c4c94;flex:0 0 88px;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 28px;display:grid}.tv-brand{justify-content:center;align-items:center;width:176px;height:70px;display:flex;overflow:hidden}.tv-brand img{object-fit:contain;width:100%;height:100%;display:block}.tv-week{text-align:center}.tv-week span,.tv-week strong{display:block}.tv-week span{color:var(--green-dark);font-size:var(--font-label);letter-spacing:.1em;text-transform:uppercase;font-weight:850}.tv-week strong{margin-top:5px;font-size:17px}.tv-clock{text-align:right}.tv-clock strong,.tv-clock span{display:block}.tv-clock strong{font-variant-numeric:tabular-nums;font-size:25px}.tv-clock span{color:#65736c;font-size:var(--font-compact-sm);text-transform:capitalize;margin-top:3px}.tv-board{flex:1;min-height:0;overflow:hidden}.tv-grid{grid-template-columns:116px repeat(var(--project-count),minmax(0,1fr)) 190px 210px;display:grid}.tv-board.no-projects .tv-grid{grid-template-columns:116px 190px 210px}.tv-grid-header{background:#e9e7de;height:78px}.tv-day-header{color:var(--muted);font-size:var(--font-body-sm);letter-spacing:.08em;border-right:1px solid #cfd3cc;justify-content:center;align-items:center;font-weight:850;display:flex}.tv-project-header{border-right:1px solid #cfd3cc;border-top:5px solid var(--green);flex-direction:column;justify-content:center;min-width:0;padding:8px 10px;display:flex}.tv-project-header>span{color:var(--green);letter-spacing:.08em;font-size:clamp(9px,.65vw,11px);font-weight:850}.tv-project-header strong{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:clamp(15px,1.05vw,20px);line-height:1.15;overflow:hidden}.tv-project-header small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:clamp(9px,.58vw,10px);overflow:hidden}.tv-school-header{border-right:1px solid #cfd3cc;border-top:5px solid var(--blue);background:#eaf2f7;grid-template-columns:28px minmax(0,1fr);align-items:center;min-width:0;padding:8px 10px;display:grid}.tv-school-header>svg{color:#3d7198;grid-row:1/span 2}.tv-school-header strong{font-size:clamp(18px,1.28vw,24px);line-height:1.1}.tv-school-header small{color:#718998;margin-top:2px;font-size:clamp(9px,.58vw,10px)}.tv-vacation-header{background:#fff2c9;border-top:5px solid #dda044;grid-template-columns:28px minmax(0,1fr);align-items:center;min-width:0;padding:8px 10px;display:grid}.tv-vacation-header>svg{color:#b87515;grid-row:1/span 2}.tv-vacation-header strong{font-size:clamp(18px,1.28vw,24px);line-height:1.1}.tv-vacation-header small{color:#96794e;margin-top:2px;font-size:clamp(9px,.58vw,10px)}.tv-day-row{border-bottom:1px solid #d6dad3;height:calc(16.6667vh - 33.6667px);min-height:72px}.tv-day{background:#eeece4;border-right:1px solid #cfd3cc;flex-direction:column;justify-content:center;align-items:center;display:flex}.tv-day strong{font-size:clamp(16px,1vw,21px)}.tv-day span{color:var(--green);margin-top:4px;font-size:clamp(13px,.8vw,17px);font-weight:800}.tv-cell{background:#fffef9cc;border-right:1px solid #d6dad3;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:5px;padding:5px;display:flex;overflow:hidden}.tv-assignment{--resource-color:var(--green);background:#fff;background:var(--resource-color);align-items:center}@supports (color:color-mix(in lab, red, red)){.tv-assignment{background:color-mix(in srgb, var(--resource-color) 12%, white)}}.tv-assignment{border:1px solid var(--resource-color)}@supports (color:color-mix(in lab, red, red)){.tv-assignment{border:1px solid color-mix(in srgb, var(--resource-color) 38%, white)}}.tv-assignment{box-shadow:inset 3px 0 var(--resource-color);border-radius:6px;flex:0 auto;width:max-content;max-width:100%;min-height:34px;padding:5px 8px 5px 11px;display:inline-flex}.tv-assignment strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-size:clamp(16px,.95vw,20px);line-height:1.12;overflow:hidden}.tv-school-cell{background:#f3f8fb}.tv-vacation-cell{background:#fffbeb;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:5px;padding:5px;display:flex;overflow:hidden}.tv-vacation-assignment{background:#faf2e5;border:1px solid #e3c67e;border-radius:6px;flex:0 auto;align-items:center;width:max-content;max-width:100%;min-height:34px;padding:5px 8px 5px 11px;display:inline-flex;box-shadow:inset 3px 0 #d79632}.tv-vacation-assignment strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-size:clamp(16px,.95vw,20px);line-height:1.12;overflow:hidden}.tv-cell.magnet-density-busy,.tv-vacation-cell.magnet-density-busy{gap:4px}.tv-cell.magnet-density-busy .tv-assignment,.tv-vacation-cell.magnet-density-busy .tv-vacation-assignment{min-height:29px;padding-top:3px;padding-bottom:3px}.tv-cell.magnet-density-busy .tv-assignment strong,.tv-vacation-cell.magnet-density-busy .tv-vacation-assignment strong{font-size:clamp(14px,.82vw,17px)}.tv-cell.magnet-density-crowded,.tv-vacation-cell.magnet-density-crowded{gap:3px}.tv-cell.magnet-density-crowded .tv-assignment,.tv-vacation-cell.magnet-density-crowded .tv-vacation-assignment{min-height:25px;padding:2px 6px 2px 9px}.tv-cell.magnet-density-crowded .tv-assignment strong,.tv-vacation-cell.magnet-density-crowded .tv-vacation-assignment strong{font-size:clamp(12px,.72vw,15px)}.tv-footer{background:var(--paper);border-top:1px solid var(--line);color:var(--muted);font-size:var(--font-compact-sm);flex:0 0 36px;justify-content:space-between;align-items:center;padding:0 20px;display:flex}.tv-footer>span{align-items:center;gap:7px;display:flex}.tv-footer i{background:var(--green-bright);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #45c18d1f}.tv-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.tv-empty>span{background:var(--green-wash);color:var(--green);border-radius:18px;justify-content:center;align-items:center;width:78px;height:78px;font-size:34px;font-weight:900;display:flex}.tv-empty h1{letter-spacing:-.04em;margin:22px 0 0;font-size:30px}.tv-empty p{color:var(--muted);font-size:var(--font-body-lg);margin:9px 0 0}@media (width<=1260px){.metric-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid,.statistics-grid{grid-template-columns:1fr}.planning-workspace{grid-template-columns:210px minmax(0,1fr)}.employee-table-head,.employee-table-row{grid-template-columns:1.4fr .8fr .8fr 1fr .6fr 34px;gap:9px}}@media (width<=1050px){:root{--sidebar-width:218px}.settings-grid{grid-template-columns:1fr}.planning-workspace{display:block}.resource-tray{margin-bottom:13px;position:static}.resource-list{grid-template-columns:repeat(3,minmax(0,1fr));min-height:0;max-height:200px}.drag-help{display:none}.resource-tabs{max-width:420px}}@media (width<=820px){.sidebar{width:252px;transition:transform .2s;transform:translate(-105%);box-shadow:20px 0 50px #13221d3d}.sidebar.open{transform:translate(0)}.sidebar-brand-logo{flex-basis:164px;width:164px;height:68px}.sidebar-close{display:block}.sidebar-backdrop{opacity:0;pointer-events:none;z-index:45;background:#13221d59;border:0;transition:opacity .2s;display:block;position:fixed;inset:0}.sidebar-backdrop.visible{opacity:1;pointer-events:auto}.admin-content{margin-left:0}.mobile-menu-button{display:flex}.page-header{flex-direction:column;align-items:flex-start}.page-actions{flex-wrap:wrap;width:100%}.date-clock{align-items:flex-start;margin-right:auto}.employee-panel,.statistics-table-panel{overflow-x:auto}.employee-table,.statistics-table{min-width:790px}.settings-form{grid-template-columns:1fr}.settings-form .field{grid-column:1}.terminal-create-fields,.terminal-link-panel,.employee-access-create{grid-template-columns:1fr}.terminal-inline-form{grid-template-columns:1fr 1fr auto}.vacation-form{grid-template-columns:1fr 1fr}.vacation-note-field{grid-column:1/-1}}@media (width<=650px){.admin-topbar{height:62px;padding:0 14px}.page-content{padding:27px 14px 48px}.topbar-title span{display:none}.version-chip{border-radius:9px;height:38px;padding:0 9px}.version-label-long{display:none}.version-label-short{display:inline}.connection-chip span{display:none}.connection-chip{border-radius:9px;justify-content:center;width:38px;height:38px;padding:0}.page-header{margin-bottom:23px}.page-header h1{font-size:34px}.page-header>div:first-child>p:last-child{font-size:var(--font-body)}.page-actions .button{flex:1}.metric-grid,.metric-grid-four{grid-template-columns:1fr}.metric-card{min-height:112px}.metric-card>strong{font-size:34px}.presence-row{grid-template-columns:36px minmax(110px,1fr) auto}.presence-row time{display:none}.state-pill{justify-content:center;width:26px;height:26px;padding:0;font-size:0}.state-pill>span{width:7px;height:7px}.table-head{display:none}.table-row{grid-template-columns:1fr auto;gap:6px;padding:10px 0}.table-row>span:nth-child(3),.table-row>span:nth-child(4){display:none}.table-row time{grid-area:1/2}.toolbar{flex-direction:column;align-items:stretch}.result-count{text-align:left;padding:0 4px}.select-control{justify-content:space-between}.select-control select{flex:1}.form-grid{grid-template-columns:1fr}.form-grid .field,.form-grid .field-wide,.form-grid .toggle-field,.form-grid .audit-hint,.form-grid .dialog-actions,.form-grid .color-field{grid-column:1}.dialog-layer{padding:10px}.terminal-create-fields,.terminal-inline-form,.terminal-existing-form,.vacation-form{grid-template-columns:1fr}.vacation-note-field{grid-column:1}.employee-detail-summary{grid-template-columns:42px minmax(0,1fr)}.employee-detail-summary .button{grid-column:1/-1}.terminal-assignment-main{grid-template-columns:34px minmax(0,1fr)}.terminal-status{grid-column:2;justify-self:start}.terminal-failure{flex-wrap:wrap;align-items:stretch}.terminal-failure .button{width:100%}.employee-delete-zone{flex-direction:column;align-items:stretch}.employee-delete-zone .button{width:100%}.employee-activation-result{grid-template-columns:24px 1fr;align-items:start}.employee-activation-result .button{grid-column:1/-1;width:100%}.employee-access-actions{flex-direction:column;align-items:stretch}.employee-access-actions>div{min-width:0}.employee-access-actions .button{width:100%}.auth-pin-grid{grid-template-columns:1fr}.employee-portal-header{height:72px;padding:0 16px}.employee-portal-header>img{width:132px;height:52px}.employee-portal-content{padding:34px 14px 50px}.employee-portal-grid{grid-template-columns:1fr}.employee-events-card{grid-column:1}.employee-clock-card{min-height:245px}.employee-events-card>div>div{grid-template-columns:9px 1fr;padding:8px 0}.employee-events-card small{text-align:left;grid-column:2}.resource-list{grid-template-columns:1fr 1fr}.planning-toolbar{flex-direction:column;align-items:stretch;gap:10px}.board-topline small{display:none}.week-switcher{justify-content:space-between}.publication-status{border-top:1px solid var(--line);padding:9px 4px 0}.publication-status strong,.publication-status small{text-align:left}.statistics-table-head,.statistics-table-row{min-width:720px}.admin-row{grid-template-columns:36px 1fr auto;padding:8px 0}.admin-row>small{display:none}.settings-save{flex-direction:column;align-items:stretch;gap:10px}.settings-card .panel-heading{flex-direction:column;align-items:stretch;gap:12px}.settings-card .panel-heading .button{width:100%}.connector-code-result .button{justify-self:stretch}.toast-stack{width:calc(100vw - 24px);top:72px;right:12px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.loading-rows>span,.clock-toast,.terminal-progress>svg,.drag-magnet{animation:none}.sidebar-brand-logo,.sidebar-link,.sidebar,.planning-cell,.assignment-chip,.resource-card,.drag-magnet{transition:none}}
