:root{--bg:#0f1220;--surface:#1a1f35;--surface-2:#232a45;--text:#eef1fb;--muted:#9aa3c7;--accent:#5b8cff;--accent-strong:#3f6fe0;--danger:#ff6b6b;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;cursor:pointer;background:var(--surface-2);color:var(--text);border:none;border-radius:10px;padding:12px 16px}button:active{transform:scale(.98)}.login{flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:100dvh;padding:24px;display:flex}.brand{letter-spacing:4px;margin:0;font-size:44px}.subtitle{color:var(--muted);margin:0 0 24px}.login-form{flex-direction:column;gap:12px;width:100%;max-width:340px;display:flex}.login-form label{color:var(--muted);font-size:14px}.login-form input{border:1px solid var(--surface-2);background:var(--surface);color:var(--text);text-align:center;letter-spacing:2px;border-radius:12px;padding:14px;font-size:20px}.login-form button{background:var(--accent);padding:14px;font-size:18px}.error{color:var(--danger);text-align:center;margin:4px 0 0}.calendar{max-width:520px;margin:0 auto;padding:12px 12px 96px}.cal-header{background:var(--bg);z-index:2;padding-top:8px;position:sticky;top:0}.cal-top{color:var(--muted);justify-content:space-between;align-items:center;display:flex}.worker-name{color:var(--text);font-weight:600}.link{color:var(--muted);background:0 0;padding:6px 4px}.cal-nav{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.cal-nav h1{text-align:center;flex:1;margin:0;font-size:20px}.nav-btn{background:var(--surface);padding:6px 16px;font-size:22px;line-height:1}.total{text-align:center;color:var(--muted);margin:6px 0 12px}.total strong{color:var(--accent);font-size:20px}.grid{flex-direction:column;gap:6px;display:flex}.grid-head,.grid-row{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.wd{text-align:center;color:var(--muted);padding-bottom:2px;font-size:12px}.cell{aspect-ratio:1;border-radius:var(--radius);background:var(--surface);color:var(--text);border:1px solid #0000;justify-content:center;align-items:center;padding:0;font-size:16px;display:flex}.cell-empty{background:0 0}.cell.weekend{opacity:.55}.cell.state-none{border-color:var(--surface-2);color:var(--muted);background:0 0}.cell.state-full{background:var(--accent);color:#fff;font-weight:700}.cell.state-half{background:linear-gradient(135deg, var(--accent) 0 50%, var(--surface) 50% 100%);color:#fff;font-weight:700}.daynum{pointer-events:none}.actionbar{padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--surface-2);gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.actionbar>button,.export-wrap{flex:1}.actionbar button{background:var(--surface-2);width:100%}.actionbar button.active{background:var(--accent);color:#fff}.export-wrap{position:relative}.export-menu{background:var(--surface-2);border-radius:10px;flex-direction:column;gap:4px;min-width:120px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px);right:0}.range-hint{background:var(--surface-2);text-align:center;color:var(--muted);border-radius:10px;margin-bottom:10px;padding:10px 12px}.range-actions{align-items:center;gap:8px;display:inline-flex}.range-actions button{background:var(--accent);color:#fff;padding:6px 14px}.print-only{display:none}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{color:#000;background:#fff}.cal-header,.grid,.actionbar,.range-hint{display:none!important}.print-only{display:block}.print-report table{border-collapse:collapse;width:100%}.print-report th,.print-report td{text-align:left;border:1px solid #999;padding:6px 10px}}
