:root{--color-bg: #f6f5f1;--color-surface: #ffffff;--color-text: #1f1f1d;--color-muted: #6b6a64;--color-border: #dddcd5;--color-primary: #185fa5;--color-primary-text: #ffffff;--color-success: #3b6d11;--color-success-bg: #eaf3de;--color-warning: #854f0b;--color-warning-bg: #faeeda;--color-danger: #a32d2d;--color-danger-bg: #fcebeb;--color-info-bg: #e6f1fb;--radius: 10px;--space: 16px;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--color-bg: #161615;--color-surface: #222220;--color-text: #f1efe8;--color-muted: #a7a59d;--color-border: #3a3a37;--color-primary: #378add;--color-success: #97c459;--color-success-bg: #27500a;--color-warning: #fac775;--color-warning-bg: #633806;--color-danger: #f09595;--color-danger-bg: #791f1f;--color-info-bg: #0c447c}}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font);font-size:16px;line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}h1,h2,h3{margin:0;font-weight:600;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.3rem}h3{font-size:1.05rem}a{color:var(--color-primary)}.muted{color:var(--color-muted)}.small{font-size:.85rem}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.empty{color:var(--color-muted);text-align:center;padding:24px 0}.stack{display:flex;flex-direction:column;gap:var(--space)}.stack-sm{display:flex;flex-direction:column;gap:10px}.full-page-center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space)}input,select,button{font:inherit}input[type=text],input[type=password],input[type=month],input[type=datetime-local],select{width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text)}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>span{font-size:.9rem;color:var(--color-muted)}.field--inline{flex-direction:row;align-items:center;margin:0}.field--inline input{width:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 16px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);text-decoration:none;cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--color-muted)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-text)}.btn--danger{color:var(--color-danger);border-color:var(--color-danger)}.btn--ghost{background:transparent;border-color:transparent}.btn--ghost:hover:not(:disabled){background:var(--color-surface)}.btn--small{min-height:36px;padding:4px 10px;font-size:.9rem;align-self:flex-start}.btn--block{width:100%}.alert{padding:10px 14px;border-radius:var(--radius);font-size:.95rem}.alert--error{background:var(--color-danger-bg);color:var(--color-danger)}.alert--success{background:var(--color-success-bg);color:var(--color-success)}.alert--warning{background:var(--color-warning-bg);color:var(--color-warning)}.alert--info{background:var(--color-info-bg);color:var(--color-primary)}.badge{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;font-size:.8rem;font-weight:500}.badge--success{background:var(--color-success-bg);color:var(--color-success)}.badge--warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge--muted{background:var(--color-border);color:var(--color-muted)}.spinner{display:flex;align-items:center;gap:10px;color:var(--color-muted);padding:12px 0}.spinner__circle{width:20px;height:20px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space)}.login__card{width:100%;max-width:380px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:28px 24px;display:flex;flex-direction:column;gap:16px}.login__card h1{text-align:center}.login__logo{align-self:center}.clock{min-height:100vh;max-width:480px;margin:0 auto;padding:var(--space);display:flex;flex-direction:column;gap:var(--space)}.clock__header{display:flex;justify-content:space-between;align-items:flex-start}.clock__header p{margin:0}.clock__action{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 0}.clock__hint{text-align:center;font-size:.85rem}.status{padding:10px 14px;border-radius:var(--radius);font-weight:500}.status--on{background:var(--color-success-bg);color:var(--color-success)}.status--off{background:var(--color-surface);color:var(--color-muted);border:1px solid var(--color-border)}.clock-button{width:min(70vw,240px);aspect-ratio:1;border-radius:50%;border:none;color:#fff;font-size:1.25rem;font-weight:600;padding:16px;cursor:pointer;transition:transform .1s ease}.clock-button:active:not(:disabled){transform:scale(.97)}.clock-button:disabled{opacity:.6;cursor:progress}.clock-button--start{background:#3b6d11}.clock-button--stop{background:#a32d2d}.manager{min-height:100vh}.manager__header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:8px var(--space);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.manager__brand{display:flex;align-items:center;gap:8px}.manager__actions{display:flex;gap:4px}.manager__nav{display:flex;gap:4px;overflow-x:auto;padding:8px var(--space);background:var(--color-surface);border-bottom:1px solid var(--color-border);scrollbar-width:none}.nav-link{padding:8px 14px;border-radius:999px;color:var(--color-muted);text-decoration:none;white-space:nowrap}.nav-link--active{background:var(--color-info-bg);color:var(--color-primary);font-weight:500}.manager__content{max-width:1000px;margin:0 auto;padding:var(--space)}.page-title{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.toolbar>select{flex:1 1 220px;width:auto}.month-picker{display:flex;align-items:center;gap:4px}.month-picker input{width:auto}.cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}.card--warning{border-color:var(--color-warning)}.card--muted{opacity:.65}.card__title{margin-bottom:2px}.card__row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;flex-direction:row}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.assign{display:flex;flex-direction:column;gap:8px}.assign__other{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.assign__other>select,.assign__other>input{flex:1 1 200px;width:auto}.summary{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}.metric{flex:1 1 140px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:10px 14px;display:flex;flex-direction:column}.metric strong{font-size:1.4rem;font-variant-numeric:tabular-nums}.totals{list-style:none;margin:0;padding:0}.totals__row{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:6px 0;border-top:1px solid var(--color-border)}.totals__row:first-child{border-top:none}.table-wrapper{overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table th,.table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.table th{font-weight:500;color:var(--color-muted)}.table tbody tr:last-child td{border-bottom:none}.table .positions{display:flex;gap:10px}.clickable{cursor:pointer}details summary{cursor:pointer;color:var(--color-muted);padding:8px 0}.table select.select--compact{min-height:34px;width:auto;min-width:140px;padding:4px 8px}.table select.select--warning{border-color:var(--color-warning);color:var(--color-warning)}
