:root{--acid: #CCFF00;--acid-strong: #B8E600;--acid-deep: #5C7300;--acid-tint: #F5FFD6;--ink: #171A14;--text-muted: #5A6152;--surface: #FFFFFF;--bg: #F7F8F4;--border: #E2E6DA;--border-strong: #82896F;--danger: #C5221F;--danger-tint: #FDECEA;--warn: #9E5E00;--warn-tint: #FFF4E0;--dark-bg: #0E100A;--dark-panel: #171B10;--dark-panel-2: #202614;--dark-text: #F2F5E9;--dark-muted: #A3AB93;--dark-border: #2C331E;--radius-sm: 6px;--radius-md: 10px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(23,26,20,.06), 0 4px 12px rgba(23,26,20,.05);--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--accent-text: var(--acid-deep);--ink-on-acid: #171A14;--focus-ring: var(--ink);--select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23171A14' stroke-width='1.5'/%3E%3C/svg%3E");--select-chevron-on-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23F2F5E9' stroke-width='1.5'/%3E%3C/svg%3E");color-scheme:light}html[data-theme=dark]{--ink: #F2F5E9;--text-muted: #A3AB93;--surface: #1A1E15;--bg: #12140E;--border: #2C331E;--border-strong: #767E6B;--acid-tint: #26300A;--danger: #F87171;--danger-tint: #3A1614;--warn: #F5B942;--warn-tint: #3A2A0C;--shadow-1: 0 1px 2px rgba(0,0,0,.45), 0 4px 12px rgba(0,0,0,.35);--accent-text: var(--acid);--focus-ring: var(--acid);--select-chevron: var(--select-chevron-on-dark);color-scheme:dark}html[data-theme=dark] app-checkin-view,html[data-theme=dark] app-headcount-view,html[data-theme=dark] app-headcount-hub{--ink: #171A14;color-scheme:light;color:var(--ink)}html[data-theme=dark] app-color-preset-picker .swatch{border-color:var(--swatch-base)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.5}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-3);line-height:1.25;font-weight:700;color:inherit}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1rem}h4,h5,h6{font-size:1rem}p{margin:0 0 var(--space-3)}a{color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}button{min-height:44px;padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-sm);background:var(--acid);color:var(--ink-on-acid);font-family:var(--font-sans);font-size:1rem;font-weight:600;line-height:1.2;cursor:pointer;touch-action:manipulation}button:where(:hover):where(:not(:disabled)){background:var(--acid-strong)}button:where(:disabled){opacity:.55;cursor:default}input,select,textarea{min-height:44px;padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:1rem}input::placeholder,textarea::placeholder{color:var(--text-muted)}textarea{resize:vertical}.flex-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.wrap-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--space-2) var(--space-3);min-width:0}.wrap-row>.row-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:inherit;margin-inline-start:auto}.wrap-row>.row-actions-start{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:inherit}.wrap-row-head{container:wrap-row-head / inline-size}@container wrap-row-head (width < 448px){.wrap-row-head>.row-actions{flex:1 1 100%}.wrap-row-head>.row-actions>*{flex:1 1 auto}.wrap-row-head>.row-actions>.btn-danger{flex:0 0 auto}}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 var(--space-4)}@media(min-width:640px){.container{padding:0 var(--space-5)}}.page-body{padding-top:var(--space-4);padding-bottom:var(--space-6)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:var(--space-4)}@media(min-width:640px){.card{padding:var(--space-5)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:1rem;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;touch-action:manipulation}.btn-primary{background:var(--acid);color:var(--ink-on-acid);border-color:transparent}.btn-primary:hover:not(:disabled){background:var(--acid-strong)}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}.btn-ghost:hover:not(:disabled){background:var(--acid-tint)}.btn-danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-tint)}.badge{display:inline-flex;align-items:center;padding:2px var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-muted);font-size:.8rem;font-weight:600;line-height:1.6}.badge-acid{background:var(--acid);border-color:var(--accent-text);color:var(--ink-on-acid)}.alert-error,.alert-success,.alert-warn{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid;font-size:.95rem}.alert-error{background:var(--danger-tint);border-color:var(--danger);color:var(--danger)}.alert-success{background:var(--acid-tint);border-color:var(--accent-text);color:var(--accent-text)}.alert-warn{background:var(--warn-tint);border-color:var(--warn);color:var(--warn)}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.label{font-size:.9rem;font-weight:600;color:var(--ink)}.table{width:100%;border-collapse:collapse;background:var(--surface)}.table th,.table td{padding:var(--space-3);border-bottom:1px solid var(--border);text-align:left}.table th{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--text-muted)}
