:root{color-scheme:light;--bg:#f6f8fb;--surface:#fff;--text:#172033;--muted:#5e6b80;--border:#dce3ee;--blue:#1e40af;--blue-soft:#eaf0ff;--warning:#805600;--purple:#7a369d;--green:#196b4a}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:44px;border:1px solid transparent;border-radius:10px;background:var(--blue);color:white;padding:10px 18px;font-weight:600;transition:background .15s}button:hover{background:#18358e}button:disabled{opacity:.55;cursor:wait}button.secondary{background:var(--surface);border-color:var(--border);color:var(--text)}button.secondary:hover{background:var(--blue-soft)}:focus-visible{outline:3px solid #6388f1;outline-offset:3px}input,select{min-height:44px;border:1px solid #aab6c9;border-radius:8px;background:white;color:var(--text);padding:8px 12px;max-width:100%}label{font-size:14px;font-weight:600}label input{display:block;margin-top:4px}[hidden]{display:none!important}a{color:var(--blue)}p,h1,h2{margin-top:0}h1{font-size:clamp(30px,3vw,42px);line-height:1.16;letter-spacing:-1.3px;margin-bottom:12px}h2{font-size:20px;line-height:1.35;letter-spacing:-.35px}.muted{color:var(--muted)}.topbar{padding:20px 4vw;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:10px;color:var(--text);font-size:22px;letter-spacing:-.8px;font-weight:750;text-decoration:none}.mark{display:grid;place-items:center;background:var(--blue);color:white;border-radius:10px;width:32px;height:32px;font-size:25px}.divider{color:#b0bacb;font-weight:400;margin:0 3px}.brand-sub{font-size:16px;font-weight:500;letter-spacing:0;color:var(--muted)}.tag{font-size:12px;font-weight:600;color:#805600;background:#fff4cf;padding:6px 10px;border-radius:7px;white-space:nowrap}main{max-width:1120px;padding:40px 28px 70px;margin:auto;min-height:calc(100vh - 155px)}.eyebrow{font-size:12px;letter-spacing:1.4px;font-weight:700;color:var(--blue);margin-bottom:14px}.welcome{max-width:780px;padding:64px 0 30px}.welcome h1{font-size:clamp(38px,5vw,62px);letter-spacing:-2px;line-height:1.1}.soft{color:#66738a}.intro{font-size:18px;color:var(--muted);margin:24px 0 38px}.entry-panel{border:1px solid var(--border);border-radius:16px;background:white;padding:26px;display:flex;gap:20px;align-items:flex-start}.entry-panel h2{margin:0 0 8px;font-size:18px}.entry-panel p{margin:0;color:var(--muted);max-width:550px}.entry-icon{color:var(--blue);background:var(--blue-soft);font-size:26px;min-width:44px;height:44px;border-radius:10px;display:grid;place-items:center}.welcome-footer{display:flex;gap:28px;flex-wrap:wrap;margin-top:32px;color:var(--muted);font-size:13px}.heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.heading .eyebrow{margin-bottom:10px}.heading p:last-child{margin:0}.actions{display:flex;align-items:flex-end;gap:12px}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);margin-bottom:28px;padding-bottom:12px}.tabs button{color:var(--muted);background:transparent}.tabs button[aria-pressed=true]{background:var(--blue-soft);color:var(--blue)}.metrics{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:16px;margin-bottom:28px}.metric{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px;display:flex;flex-direction:column;min-height:180px}.metric p{font-size:14px;margin-bottom:10px}.metric strong{font-size:42px;font-variant-numeric:tabular-nums;letter-spacing:-1px;font-weight:650;line-height:1.25;margin-bottom:16px}.metric span{font-size:12px;color:var(--muted);margin-top:auto}.metric.primary{background:var(--blue);color:white;border-color:var(--blue)}.metric.primary span{color:#e0e9ff}.metric .pending-pay{font-size:23px;letter-spacing:-.4px;margin-top:8px;color:var(--muted)}.calendar-panel{padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:16px}.calendar-heading{display:flex;gap:16px;align-items:baseline;justify-content:space-between;margin-bottom:24px}.calendar-heading h2{margin:0}.calendar-heading span{font-size:13px}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.weekdays{color:var(--muted);font-size:12px;text-align:center;margin-bottom:10px}.day{border:1px solid var(--border);border-radius:9px;min-height:80px;padding:10px;display:flex;flex-direction:column;align-items:flex-start;font-size:14px;gap:6px;background:#fafbfd}.day-label{font-size:12px;font-weight:600}.day.shift{background:#edf2ff;border-color:#b7c9fd;color:#1e40af}.day.outside{background:#e8f7ef;border-color:#add9bf;color:var(--green)}.day.admin-mark{background:#f5eafa;border-color:#d7b9e6;color:var(--purple)}.day.unknown{background:#fff5d8;border-color:#e5c976;color:var(--warning)}.day.plan{border-style:dashed}.day.today{outline:2px solid var(--blue);outline-offset:1px}.calendar-note{font-size:13px;color:var(--muted);margin:22px 0 16px}.legend{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:12px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:7px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%}.dot.shift{background:var(--blue)}.dot.outside{background:var(--green)}.dot.admin-mark{background:var(--purple)}.dot.unknown{background:var(--warning)}.sync{font-size:12px;margin-top:14px}.empty{border:1px solid var(--border);padding:36px;background:white;border-radius:14px;max-width:700px}.empty p{color:var(--muted);margin:0}.settings-intro{max-width:640px}.mapping-group{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:24px;margin:24px 0}.mapping-group h3{font-size:16px;margin:0 0 18px}.mapping-row{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:16px;padding:12px 0;border-top:1px solid var(--border)}.mapping-row select{width:100%}.save-row{display:flex;align-items:center;gap:20px}.save-row p{font-size:13px;margin:0}#status{padding:16px 20px;border:1px solid #e5c976;color:#745000;background:#fff7df;border-radius:10px;margin:0 0 24px}.footer{max-width:1120px;margin:auto;border-top:1px solid var(--border);padding:22px 28px;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted)}
@media(max-width:700px){.topbar{padding:16px 20px}.heading{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:1fr 1fr}.metric:last-child{grid-column:1/-1;min-height:135px}.metric{padding:20px;min-height:160px}.welcome{padding-top:32px}.calendar-panel{padding:18px}.day{padding:8px 5px;min-height:68px}.day-label{font-size:10px}.calendar-heading{flex-direction:column;gap:8px}.mapping-row{grid-template-columns:1fr;gap:8px}.save-row,.footer{align-items:flex-start;flex-direction:column}.brand-sub{font-size:14px}main{padding:28px 20px 48px}.welcome-footer{gap:12px 20px}.entry-panel{padding:20px;gap:14px}.entry-icon{display:none}}
@media(max-width:380px){.brand-sub,.divider{display:none}.calendar-panel{padding:12px}.weekdays,.calendar{gap:4px}.metric{padding:16px}.actions{flex-wrap:wrap}.day-label{font-size:9px}.day{min-height:62px}}
.day-label{overflow-wrap:anywhere;max-width:100%}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
