:root{color-scheme:dark;--bg:#061121;--panel:#0c1d33;--panel2:#102640;--line:#1d3855;--text:#edf5ff;--muted:#91a7bf;--green:#38d996;--yellow:#f2c75c;--red:#f07878;--blue:#62a9ff}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(ellipse at 50% -20%,#153456 0,transparent 55%),var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",Segoe UI,sans-serif;min-height:100vh;padding:env(safe-area-inset-top) 14px calc(24px + env(safe-area-inset-bottom))}
button,input,textarea{font:inherit}.app{max-width:620px;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:center;padding:20px 3px 17px}.eyebrow{font-size:10px;letter-spacing:1.5px;color:#7f9bb8;font-weight:800}.topbar h1{font-size:21px;margin:5px 0 0;letter-spacing:-.4px}.icon-btn{border:1px solid var(--line);background:var(--panel);color:var(--text);width:43px;height:43px;border-radius:14px;font-size:23px}
.panel{background:linear-gradient(145deg,rgba(17,42,68,.98),rgba(9,26,46,.98));border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 12px 35px #0002}.hero{padding:21px 18px 17px;text-align:center}.status-line{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:900;letter-spacing:1.8px}.dot{width:8px;height:8px;border-radius:50%;background:#70849a}.dot.active{background:var(--green);box-shadow:0 0 12px #38d99699}.dot.paused{background:var(--yellow)}.live-label{font-size:9px;color:var(--muted);font-weight:600;letter-spacing:1px;margin-left:7px}.hero-total{font-size:clamp(34px,9vw,48px);font-weight:800;letter-spacing:-1.8px;margin:18px 0 3px;font-variant-numeric:tabular-nums}.hero-total small{font-size:14px;letter-spacing:0;color:#9fb3c8;font-weight:600}.subtle{color:var(--muted);font-size:12px;line-height:1.5}.controls{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}.control{border:0;border-radius:13px;min-height:52px;font-size:13px;font-weight:900;letter-spacing:1px;color:#071426;transition:filter .15s}.control:disabled{opacity:.28;filter:grayscale(1)}.start,.resume{background:var(--green)}.pause{background:var(--yellow)}.stop{background:#e77c7c;color:#260b12}.hint{font-size:11px;color:var(--muted);margin-top:14px;min-height:16px}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.stat{padding:15px}.stat-value{font-size:20px;font-weight:800;margin:8px 0 2px;font-variant-numeric:tabular-nums}
.calendar-panel,.history-panel,.data-panel{margin-top:12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.section-head h2{font-size:18px;margin:5px 0 0;letter-spacing:-.3px}.month-nav{display:flex;align-items:center;gap:5px}.month-nav button,.close-btn{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:10px;min-width:34px;height:34px}.month-nav #todayBtn{font-size:11px;padding:0 10px}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays{text-align:center;color:#7892ad;font-size:10px;font-weight:800;margin-bottom:7px}.calendar-cell{min-height:55px;border:1px solid transparent;border-radius:11px;background:#0a1b30;color:#dce9f7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;position:relative}.calendar-cell.empty{background:transparent}.calendar-cell.worked{background:#103a36;border-color:#1c725b}.calendar-cell.selected{outline:2px solid var(--blue);outline-offset:1px}.calendar-cell .hours{font-size:8px;color:#73e2b6;font-weight:800}.calendar-cell.today:before{content:"";position:absolute;top:5px;right:6px;width:4px;height:4px;background:var(--blue);border-radius:50%}.calendar-legend{display:flex;gap:17px;margin:13px 0;color:var(--muted);font-size:10px}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;background:#103a36}.legend-dot.none{background:#52657a}.selected-day{border-top:1px solid var(--line);padding-top:11px;font-size:11px;color:#b5c7d9;min-height:27px}
.count{font-size:10px;color:var(--muted)}.history{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#091a2d;border:1px solid #19334d;border-radius:13px;padding:12px}.history-main{min-width:0}.history-date{font-size:12px;font-weight:750}.history-meta{font-size:10px;color:var(--muted);margin-top:4px}.history-right{text-align:right;white-space:nowrap}.history-duration{font-size:12px;color:var(--green);font-weight:800}.edit-btn{margin-top:5px;border:0;background:none;color:#8dbbff;font-size:10px;padding:3px}.empty-state{text-align:center;color:var(--muted);font-size:12px;padding:18px 5px}
.data-panel p{margin:0 0 12px}.data-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.secondary{border:1px solid #2b4b69;background:#102944;color:#dcecff;border-radius:11px;padding:12px 8px;font-size:11px;font-weight:750;text-align:center}.file-label{display:block;cursor:pointer}.file-label input{display:none}.tiny{font-size:9px!important;color:#7189a2!important;margin-top:10px!important}footer{text-align:center;color:#647e98;font-size:10px;padding:20px 10px}
dialog{width:min(92vw,470px);border:1px solid var(--line);border-radius:19px;background:#0b1d32;color:var(--text);padding:20px;box-shadow:0 20px 80px #0009}dialog::backdrop{background:#020813bb}dialog form>label{display:block;font-size:11px;color:#a9bfd4;margin:13px 0}dialog input,dialog textarea{display:block;width:100%;margin-top:6px;padding:11px;border-radius:9px;border:1px solid var(--line);background:#061426;color:var(--text);font-size:12px}dialog textarea{font-family:ui-monospace,monospace}.dialog-actions{display:flex;justify-content:space-between;gap:8px;margin-top:16px}.primary,.danger-outline{border-radius:10px;padding:11px 15px;border:0;font-size:12px;font-weight:800}.primary{background:var(--green);color:#062016}.danger-outline{background:transparent;border:1px solid #9b454d;color:#ff9b9b}.close-btn{font-size:22px}
#toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#e8f3ff;color:#071426;border-radius:12px;padding:11px 16px;font-size:12px;font-weight:700;transition:.2s;z-index:5;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:520px){.controls{grid-template-columns:repeat(4,1fr)}.calendar-cell{min-height:65px}.app{padding-bottom:20px}}
