@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #060913;--bg-2: #0b1022;--card: rgba(255, 255, 255, .055);--card-strong: rgba(255, 255, 255, .085);--card-hover: rgba(255, 255, 255, .1);--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--text: #eef1ff;--muted: #a3abd0;--dim: #6c7499;--accent: #8b7bff;--accent-2: #22d3ee;--accent-3: #f472b6;--grad: linear-gradient(135deg, #8b7bff 0%, #5b8cff 50%, #22d3ee 100%);--grad-go: linear-gradient(135deg, #34d399 0%, #10b981 45%, #22d3ee 100%);--grad-stop: linear-gradient(135deg, #fb7185 0%, #f43f5e 50%, #c026d3 100%);--ok: #34d399;--bad: #fb7185;--warn: #fbbf24;--c-vac: #38bdf8;--c-sick: #f472b6;--c-flex: #fbbf24;--c-free: #a78bfa;--c-holiday: #fb923c;--radius: 22px;--radius-sm: 14px;--shadow: 0 10px 40px -12px rgba(0, 0, 0, .6);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter Variable,system-ui,-apple-system,sans-serif;font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent-2)}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.aurora:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(1200px 800px at 50% -10%,#141b3d 0%,transparent 60%),var(--bg)}.aurora .blob{position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(90px);opacity:.28;mix-blend-mode:screen;animation:drift 26s ease-in-out infinite alternate}.aurora .b1{background:#6d5dfc;top:-25vmax;left:-15vmax}.aurora .b2{background:#0ea5e9;bottom:-30vmax;right:-20vmax;animation-delay:-8s;opacity:.22}.aurora .b3{background:#db2777;top:30%;left:45%;width:40vmax;height:40vmax;opacity:.12;animation-delay:-16s}.running .aurora .b2{background:#10b981}@keyframes drift{0%{transform:translate(0) scale(1)}50%{transform:translate(6vmax,4vmax) scale(1.08)}to{transform:translate(-4vmax,8vmax) scale(.95)}}.grain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.card{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);box-shadow:var(--shadow),inset 0 1px #ffffff0f}.card-title{display:flex;align-items:center;gap:8px;justify-content:space-between;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}.card-title .left{display:flex;align-items:center;gap:8px}.card-title svg{width:15px;height:15px;opacity:.85}.fade-in{animation:fadeIn .45s cubic-bezier(.2,.8,.2,1) both}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.stagger>*{animation:fadeIn .5s cubic-bezier(.2,.8,.2,1) both}.stagger>*:nth-child(2){animation-delay:.04s}.stagger>*:nth-child(3){animation-delay:.08s}.stagger>*:nth-child(4){animation-delay:.12s}.stagger>*:nth-child(5){animation-delay:.16s}.stagger>*:nth-child(6){animation-delay:.2s}.stagger>*:nth-child(n+7){animation-delay:.24s}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:12px;border:1px solid var(--border-strong);background:var(--card-strong);font-weight:600;font-size:14px;transition:transform .12s,background .2s,border-color .2s,opacity .2s;white-space:nowrap}.btn:hover{background:var(--card-hover)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn svg{width:17px;height:17px}.btn.primary{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 8px 24px -8px #6e64ffb3}.btn.danger{color:var(--bad);border-color:#fb718559;background:#fb718514}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{color:var(--text);background:var(--card)}.btn.sm{padding:6px 10px;font-size:13px;border-radius:10px}.btn.icon{padding:8px;border-radius:10px}.btn.block{width:100%}.input,select.input,textarea.input{width:100%;padding:11px 13px;border-radius:12px;background:#00000040;border:1px solid var(--border-strong);outline:none;transition:border-color .2s,box-shadow .2s;font-size:15px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #8b7bff40}.input::-webkit-calendar-picker-indicator{filter:invert(1) opacity(.6)}.input[type=date],.input[type=time]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;min-width:0;max-width:100%;min-height:46px;line-height:22px;text-align:left}.input::-webkit-date-and-time-value{text-align:left;margin:0}textarea.input{resize:vertical;min-height:70px}label.field{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:6px;font-size:13px;color:var(--muted);font-weight:500}.row{display:flex;gap:10px;align-items:center}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.grid2>*{min-width:0}.muted{color:var(--muted)}.dim{color:var(--dim)}.small{font-size:13px}.tiny{font-size:11.5px}.ok{color:var(--ok)}.bad{color:var(--bad)}.warn{color:var(--warn)}.spacer{height:16px}.seg{display:inline-flex;padding:4px;gap:4px;border-radius:13px;background:#00000040;border:1px solid var(--border)}.seg button{white-space:nowrap;border:0;background:transparent;padding:7px 12px;border-radius:9px;font-size:13px;font-weight:600;color:var(--muted);transition:all .2s}.seg button.on{background:var(--card-hover);color:var(--text);box-shadow:0 2px 10px #0000004d}.seg.wrap{flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--card-strong);border:1px solid var(--border)}.chip.ok{color:var(--ok);background:#34d3991a;border-color:#34d39940}.chip.bad{color:var(--bad);background:#fb71851a;border-color:#fb718540}.chip.warn{color:var(--warn);background:#fbbf241a;border-color:#fbbf2440}.chip svg{width:12px;height:12px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.app{position:relative;z-index:1;min-height:100%}.desk{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:26px 16px;display:flex;flex-direction:column;gap:6px;border-right:1px solid var(--border);background:linear-gradient(180deg,#0a0e20b3,#06091380);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 22px}.brand-logo{width:38px;height:38px;border-radius:12px;background:var(--grad);display:grid;place-items:center;box-shadow:0 6px 20px -6px #6e64ffcc}.brand-logo svg{width:20px;height:20px;color:#fff}.brand-name{font-weight:750;font-size:17px;letter-spacing:-.01em}.brand-sub{font-size:12px;color:var(--dim)}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:var(--muted);font-weight:550;font-size:14.5px;border:1px solid transparent;background:transparent;text-align:left;transition:all .2s}.nav-item svg{width:19px;height:19px}.nav-item:hover{color:var(--text);background:var(--card)}.nav-item.on{color:var(--text);background:var(--card-strong);border-color:var(--border)}.nav-item.on svg{color:var(--accent)}.side-clock{margin-top:auto}.side-clock .card{padding:16px}.main{padding:32px clamp(20px,3vw,44px) 60px;max-width:1400px;width:100%}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-head h1{margin:0;font-size:30px;letter-spacing:-.025em;font-weight:750}.page-head .sub{color:var(--muted);margin-top:4px;font-size:14.5px}@media (max-width: 1100px) and (min-width: 768px){.desk{grid-template-columns:84px 1fr}.sidebar{padding:22px 12px;align-items:center}.brand{padding:0 0 18px}.brand-text,.nav-item span,.side-clock{display:none}.nav-item{justify-content:center;padding:13px}}.mob{overflow-x:clip;min-height:100vh;padding:calc(var(--safe-top) + 14px) 16px calc(var(--safe-bottom) + 96px)}.mob:before,.mob:after{content:"";position:fixed;left:0;right:0;z-index:29;pointer-events:none}.mob:before{top:0;height:calc(var(--safe-top) + 8px);background:linear-gradient(var(--bg) 55%,rgba(6,9,19,0))}.mob:after{bottom:0;height:calc(var(--safe-bottom) + 56px);background:linear-gradient(rgba(6,9,19,0),var(--bg) 45%)}.mob-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.mob-head h1{margin:0;font-size:26px;letter-spacing:-.02em;font-weight:750}.mob-head .sub{font-size:13px;color:var(--muted)}.tabbar{position:fixed;left:10px;right:10px;bottom:calc(var(--safe-bottom) + 10px);z-index:30;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:7px;border-radius:24px;background:#0e1226b8;border:1px solid var(--border-strong);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);box-shadow:0 16px 40px -10px #000000b3}.tab{display:grid;justify-items:center;gap:3px;padding:7px 0 6px;border:0;background:transparent;color:var(--dim);font-size:10.5px;font-weight:600;border-radius:17px;transition:all .2s}.tab svg{width:22px;height:22px}.tab.on{color:var(--text);background:#ffffff14}.tab.on svg{color:var(--accent)}.tab .live{position:relative}.tab .live:after{content:"";position:absolute;top:-1px;right:-3px;width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 2px #0e1226;animation:pulse 1.6s infinite}.clock-card{display:grid;justify-items:center;gap:18px;padding:26px 20px 24px;overflow:hidden}.clock-card:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;z-index:-1;background:radial-gradient(closest-side,rgba(139,123,255,.22),transparent 70%);transition:background .6s}.running .clock-card:before{background:radial-gradient(closest-side,rgba(52,211,153,.2),transparent 70%)}.ring-wrap{position:relative;width:min(74vw,300px);aspect-ratio:1}.desk .ring-wrap{width:300px}.ring-wrap svg{width:100%;height:100%;transform:rotate(-90deg);overflow:visible}.ring-track{fill:none;stroke:#ffffff12}.ring-bar{fill:none;stroke-linecap:round;transition:stroke-dasharray .8s cubic-bezier(.2,.8,.2,1)}.ring-glow{filter:drop-shadow(0 0 10px rgba(139,123,255,.7))}.running .ring-glow{filter:drop-shadow(0 0 12px rgba(52,211,153,.75));animation:glow 2.4s ease-in-out infinite}@keyframes glow{50%{filter:drop-shadow(0 0 22px rgba(52,211,153,.95))}}.ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;gap:2px}.ring-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:600}.ring-time{font-size:clamp(40px,13vw,54px);font-weight:750;letter-spacing:-.03em;line-height:1.05}.ring-time .sec{font-size:.45em;color:var(--muted);font-weight:600;margin-left:2px}.ring-sub{font-size:13.5px;color:var(--muted)}.ring-over{color:var(--ok);font-weight:650}.clock-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:210px;padding:16px 30px;border-radius:999px;border:0;font-size:18px;font-weight:700;color:#fff;letter-spacing:.01em;background:var(--grad-go);box-shadow:0 14px 34px -10px #10b981d9;transition:transform .15s,box-shadow .3s}.clock-btn svg{width:22px;height:22px}.clock-btn:active{transform:scale(.96)}.clock-btn.stop{background:var(--grad-stop);box-shadow:0 14px 34px -10px #f43f5ed9}.clock-btn:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:inherit;border:2px solid rgba(52,211,153,.4);animation:ripple 2.2s ease-out infinite;pointer-events:none}.clock-btn.stop:after{border-color:#fb718559}@keyframes ripple{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.18)}}@keyframes pulse{50%{opacity:.35}}.status-line{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}.status-line .dot{background:var(--dim)}.running .status-line .dot{background:var(--ok);animation:pulse 1.6s infinite}.note-inline{width:100%;max-width:380px}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{padding:16px;display:grid;gap:6px;align-content:start;overflow:hidden}.tile .t-label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.07em}.tile .t-label svg{width:15px;height:15px}.tile .t-value{font-size:26px;font-weight:750;letter-spacing:-.02em}.tile .t-sub{font-size:12.5px;color:var(--dim)}.tile .t-icon{position:absolute;right:-14px;bottom:-18px;width:84px;height:84px;opacity:.06}.meter{display:grid;gap:8px}.meter-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.meter-val{font-size:22px;font-weight:750;letter-spacing:-.02em}.meter-val .of{font-size:14px;color:var(--muted);font-weight:600}.meter-bar{position:relative;height:12px;border-radius:99px;background:#ffffff12;overflow:visible}.meter-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--grad);transition:width .8s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 16px -2px #6e64ffb3}.meter-fill.over{background:var(--grad-go);box-shadow:0 0 16px -2px #34d399b3}.meter-mark{position:absolute;top:-5px;bottom:-5px;width:2px;border-radius:2px;background:#fff;opacity:.85}.meter-foot{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);gap:8px;flex-wrap:wrap}.timeline{position:relative;height:54px;margin-top:4px}.tl-track{position:absolute;left:0;right:0;top:10px;height:22px;border-radius:8px;background:#ffffff0d}.tl-seg{position:absolute;top:10px;height:22px;border-radius:7px;background:var(--grad);box-shadow:0 0 14px -3px #6e64ffcc;cursor:pointer;transition:filter .2s}.tl-seg:hover{filter:brightness(1.2)}.tl-seg.running{background:var(--grad-go);box-shadow:0 0 14px -3px #34d399e6}.tl-gap{position:absolute;top:14px;height:14px;border-radius:4px;background:repeating-linear-gradient(45deg,rgba(251,191,36,.35) 0 4px,transparent 4px 8px)}.tl-now{position:absolute;top:4px;height:34px;width:2px;background:#fff;border-radius:2px;box-shadow:0 0 8px #fff}.tl-tick{position:absolute;top:38px;font-size:10.5px;color:var(--dim);transform:translate(-50%)}.tl-tick:before{content:"";position:absolute;left:50%;top:-6px;height:4px;width:1px;background:var(--dim)}.tl-empty{display:grid;place-items:center;height:54px;color:var(--dim);font-size:13.5px}.wbars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:end;height:150px}.wbar{display:grid;grid-template-rows:1fr auto auto;gap:6px;height:100%;justify-items:center}.wbar-col{position:relative;width:100%;max-width:38px;height:100%;border-radius:10px;background:#ffffff0d;overflow:hidden}.wbar-fill{position:absolute;left:0;right:0;bottom:0;border-radius:10px;background:var(--grad);transition:height .8s cubic-bezier(.2,.8,.2,1)}.wbar-fill.over{background:var(--grad-go)}.wbar-fill.abs{background:repeating-linear-gradient(135deg,#38bdf880 0,#38bdf880 6px,#38bdf833 6px,#38bdf833 12px)}.wbar-target{position:absolute;left:3px;right:3px;height:2px;background:#ffffff80;border-radius:2px}.wbar-day{font-size:12px;color:var(--muted);font-weight:600}.wbar-day.today{color:var(--text)}.wbar-val{font-size:11px;color:var(--dim)}.dash{display:grid;gap:14px}.desk .dash{grid-template-columns:minmax(340px,400px) minmax(0,1fr);gap:18px;align-items:start}.desk .dash .col{display:grid;gap:18px}.desk .tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media (max-width: 1250px){.desk .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 960px){.desk .dash{grid-template-columns:minmax(0,1fr)}}.meters2{display:grid;gap:18px}.desk .meters2{grid-template-columns:1fr 1fr;gap:26px}.warn-list{display:grid;gap:8px}.warn-item{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;font-size:13.5px;background:#fbbf2414;border:1px solid rgba(251,191,36,.2)}.warn-item svg{width:17px;height:17px;color:var(--warn);flex:none}.warn-item.info{background:#8b7bff14;border-color:#8b7bff33}.warn-item.info svg{color:var(--accent)}.warn-item.bad{background:#fb718514;border-color:#fb718540}.warn-item.bad svg{color:var(--bad)}.upnext{display:grid;gap:10px}.upnext-item{display:flex;align-items:center;gap:12px}.upnext-badge{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;text-align:center;line-height:1;background:var(--card-strong);border:1px solid var(--border);flex:none}.upnext-badge b{font-size:16px}.upnext-badge small{font-size:9.5px;color:var(--muted);text-transform:uppercase;display:block;margin-top:2px}.month-nav{display:flex;align-items:center;gap:8px}.month-nav .label{font-weight:700;font-size:16px;min-width:150px;text-align:center}.sum-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.sum-strip .card{padding:14px 16px}.sum-strip .k{font-size:11.5px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.07em}.sum-strip .v{font-size:22px;font-weight:750;margin-top:4px;letter-spacing:-.02em}.mob .sum-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.week-group{margin-bottom:18px}.week-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 6px 8px;font-size:13px;color:var(--muted);font-weight:600}.week-head .kw{color:var(--text);font-weight:700}.week-head .mini{width:120px;height:6px;border-radius:9px;background:#ffffff14;overflow:hidden}.week-head .mini>div{height:100%;background:var(--grad);border-radius:9px}.days{padding:6px}.day-row{display:grid;grid-template-columns:92px 1fr 70px 70px 70px 84px 40px;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;transition:background .2s}.day-row+.day-row{border-top:1px solid rgba(255,255,255,.04)}.day-row:hover{background:#ffffff08}.day-row.today{background:#8b7bff14;box-shadow:inset 3px 0 0 var(--accent)}.day-row.weekend{opacity:.75}.day-row .date b{display:block;font-size:15px}.day-row .date span{font-size:12px;color:var(--muted)}.day-row .cell{text-align:right;font-size:14px}.day-row .cell small{display:block;font-size:10.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}.day-head{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--dim);font-weight:600;padding-top:4px;padding-bottom:4px}.day-head:hover{background:none}.segs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}.seg-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 6px 4px 4px;border-radius:10px;background:#8b7bff1a;border:1px solid rgba(139,123,255,.22);font-size:13.5px}.seg-chip.running{background:#34d3991a;border-color:#34d3994d}.seg-chip input[type=time]{background:transparent;border:1px solid transparent;border-radius:7px;padding:2px 4px;width:78px;font-variant-numeric:tabular-nums;outline:none;font-size:13.5px}.seg-chip input[type=time]:hover{border-color:var(--border-strong)}.seg-chip input[type=time]:focus{border-color:var(--accent);background:#0000004d}.seg-chip input[type=time]::-webkit-calendar-picker-indicator{display:none}.seg-chip .run{color:var(--ok);font-weight:600;padding:0 6px;font-size:12.5px}.seg-chip .tag-note{color:var(--muted);font-size:12px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seg-chip .edited{color:var(--warn)}.seg-chip button{border:0;background:transparent;color:var(--dim);padding:2px;border-radius:6px;display:grid}.seg-chip button:hover{color:var(--text);background:#ffffff14}.seg-chip button svg{width:14px;height:14px}.day-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:4px 10px;border-radius:10px;font-weight:600}.mday{padding:14px 16px;display:grid;gap:10px}.mday+.mday{margin-top:10px}.mday.today{box-shadow:var(--shadow),inset 0 0 0 1px #8b7bff73}.mday-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.mday-head .d{font-weight:700;font-size:16px}.mday-head .d span{color:var(--muted);font-weight:500;font-size:13px;margin-left:6px}.mday-segs{display:grid;gap:6px}.mseg{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#ffffff0a;border:1px solid var(--border);text-align:left;width:100%}.mseg .bar{width:4px;align-self:stretch;border-radius:4px;background:var(--grad)}.mseg.running .bar{background:var(--grad-go)}.mseg .t{font-weight:650;font-size:15px}.mseg .n{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mseg .dur{margin-left:auto;font-size:14px;color:var(--muted)}.mday-foot{display:flex;gap:14px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#03050c99;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px;animation:bdIn .25s both}@keyframes bdIn{0%{opacity:0}}.sheet{width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;background:linear-gradient(180deg,#151a33,#0d1124);border:1px solid var(--border-strong);border-radius:26px;padding:22px;box-shadow:0 30px 80px -20px #000000e6;animation:popIn .32s cubic-bezier(.2,.9,.3,1.15) both}@keyframes popIn{0%{opacity:0;transform:scale(.94) translateY(10px)}}.mob-sheet{place-items:end stretch;padding:0}.mob-sheet .sheet{width:100%;border-radius:28px 28px 0 0;padding:12px 18px calc(var(--safe-bottom) + 20px);max-height:92vh;animation:slideUp .38s cubic-bezier(.2,.9,.3,1) both}@keyframes slideUp{0%{transform:translateY(100%)}}.grabber{width:40px;height:5px;border-radius:9px;background:#fff3;margin:0 auto 14px}.sheet h2{margin:0 0 4px;font-size:21px;letter-spacing:-.02em}.sheet .sheet-sub{color:var(--muted);font-size:13.5px;margin-bottom:18px}.sheet-body{display:grid;gap:14px}.sheet-actions{display:flex;gap:10px;margin-top:20px}.sheet-actions .grow{flex:1}.history{display:grid;gap:8px;margin-top:4px}.hist-item{font-size:12.5px;padding:9px 11px;border-radius:11px;background:#ffffff0a;border:1px solid var(--border)}.hist-item .when{color:var(--dim);font-size:11.5px}.hist-item del{color:var(--bad);text-decoration-color:#fb718599}.hist-item ins{color:var(--ok);text-decoration:none}.toasts{position:fixed;z-index:200;left:50%;transform:translate(-50%);top:calc(var(--safe-top) + 14px);display:grid;gap:8px;width:min(440px,calc(100% - 32px))}.toast{padding:12px 16px;border-radius:14px;background:#14182eeb;border:1px solid var(--border-strong);box-shadow:var(--shadow);font-size:14px;display:flex;gap:10px;align-items:center;animation:popIn .3s both;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.toast.err{border-color:#fb718580}.toast svg{width:18px;height:18px;flex:none}.toast.err svg{color:var(--bad)}.toast.ok svg{color:var(--ok)}.stats-grid{display:grid;gap:14px}.dash,.stats-grid,.abs-layout,.set-grid{grid-template-columns:minmax(0,1fr)}.card,.set-grid>*>*,.dash>*,.stats-grid>*,.abs-layout>*,.set-grid>*,.dash .col>*,.abs-layout .col>*{min-width:0}.desk .stats-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.desk .span-12{grid-column:span 12}.desk .span-8{grid-column:span 8}.desk .span-6{grid-column:span 6}.desk .span-4{grid-column:span 4}@media (max-width: 1100px){.desk .span-8,.desk .span-6,.desk .span-4{grid-column:span 12}}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart text{fill:var(--dim);font-size:11px;font-family:inherit}.chart .gridline{stroke:#ffffff0f}.chart .zero{stroke:#ffffff40;stroke-dasharray:3 4}.chart-tip{font-size:13px;color:var(--muted);min-height:20px;margin-top:6px}.kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.kv .k{font-size:12px;color:var(--muted)}.kv .v{font-size:20px;font-weight:700;letter-spacing:-.01em}.heat{overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.heat-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,13px);gap:3px;width:max-content}.heat-cell{width:13px;height:13px;border-radius:3.5px;background:#ffffff0d;cursor:pointer;transition:transform .15s}.heat-cell:hover{transform:scale(1.35)}.heat-cell.today{outline:1.5px solid #fff;outline-offset:1px}.heat-cell.empty{visibility:hidden}.heat-months{display:flex;font-size:11px;color:var(--dim);margin-bottom:6px;height:14px;position:relative}.heat-legend{display:flex;gap:14px;align-items:center;font-size:11.5px;color:var(--muted);margin-top:10px;flex-wrap:wrap}.heat-legend span{display:inline-flex;align-items:center;gap:5px}.heat-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}.hbars{display:grid;gap:10px}.hbar{display:grid;grid-template-columns:34px 1fr 52px;gap:10px;align-items:center;font-size:13px}.hbar-track{height:10px;border-radius:9px;background:#ffffff0f;overflow:hidden}.hbar-fill{height:100%;border-radius:9px;background:var(--grad)}.abs-layout{display:grid;gap:14px}.desk .abs-layout{grid-template-columns:380px minmax(0,1fr);gap:18px;align-items:start}.desk .abs-layout .col{display:grid;gap:18px}.vac-ring{display:flex;align-items:center;gap:20px}.vac-ring .ring-wrap{width:128px}.vac-stats{display:grid;gap:8px;flex:1}.vac-stats div{display:flex;justify-content:space-between;font-size:14px}.vac-stats b{font-variant-numeric:tabular-nums}.abs-list{display:grid;gap:8px}.abs-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#ffffff09;border:1px solid var(--border)}.abs-item .ico{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;font-size:18px;flex:none}.abs-item .t{font-weight:650;font-size:14.5px}.abs-item .s{font-size:12.5px;color:var(--muted)}.abs-item.past{opacity:.6}.hol-list{display:grid;grid-template-columns:1fr;gap:6px}.desk .hol-list{grid-template-columns:1fr 1fr}.hol-item{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;padding:8px 10px;border-radius:10px}.hol-item.past{color:var(--dim)}.hol-item.next{background:#fb923c1a;border:1px solid rgba(251,146,60,.3)}.set-grid{display:grid;gap:14px}.desk .set-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.sched{padding:14px;border-radius:16px;background:#ffffff09;border:1px solid var(--border);display:grid;gap:12px}.sched+.sched{margin-top:10px}.sched-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.sched-days label{display:grid;gap:4px;font-size:11.5px;color:var(--muted);text-align:center;font-weight:600}.sched-days input{text-align:center;padding:8px 2px;font-size:13.5px}.list-btns{display:grid;gap:8px}.audit-item{display:grid;gap:2px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}.login{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;z-index:1}.login .card{width:min(400px,100%);padding:34px 28px;display:grid;gap:18px;text-align:center}.login .brand-logo{width:64px;height:64px;border-radius:20px;margin:0 auto}.login .brand-logo svg{width:32px;height:32px}.login h1{margin:0;font-size:26px;letter-spacing:-.02em}.shake{animation:shake .4s}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.loading{min-height:100vh;display:grid;place-items:center;position:relative;z-index:1}.spinner{width:42px;height:42px;border-radius:50%;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.report{background:#fff;color:#111;border-radius:18px;padding:36px 40px;box-shadow:var(--shadow)}.report h1{margin:0;font-size:24px}.report .meta{color:#555;font-size:13px;margin-top:4px}.report table{width:100%;border-collapse:collapse;margin-top:22px;font-size:12.5px;font-variant-numeric:tabular-nums}.report th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#666;border-bottom:2px solid #222;padding:6px}.report td{padding:5px 6px;border-bottom:1px solid #e5e5e5}.report td.r,.report th.r{text-align:right}.report tr.we td{color:#999}.report tr.special td{background:#f7f7fb}.report tfoot td{font-weight:700;border-top:2px solid #222;border-bottom:0;padding-top:8px}.report .summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}.report .summary div{border:1px solid #ddd;border-radius:10px;padding:10px 12px}.report .summary small{display:block;color:#666;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}.report .summary b{font-size:18px}.report .sign{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:56px;font-size:12px;color:#555}.report .sign div{border-top:1px solid #333;padding-top:6px}.mob .report{padding:20px 14px;overflow-x:auto}.offline-pill{position:fixed;z-index:150;left:50%;transform:translate(-50%);top:calc(var(--safe-top) + 8px);display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--warn);background:#1e1808d9;border:1px solid rgba(251,191,36,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);white-space:nowrap}.passkey-btn{width:100%;max-width:320px;justify-self:center}.toggles{display:grid;gap:2px}.toggle-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:14px;cursor:pointer}.toggle-row:last-child{border-bottom:0}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;width:46px;height:28px;border-radius:999px;position:relative;cursor:pointer;background:#ffffff1f;border:1px solid var(--border-strong);transition:background .2s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0006;transition:transform .2s cubic-bezier(.2,.8,.2,1)}.switch:checked{background:var(--grad);border-color:transparent}.switch:checked:after{transform:translate(18px)}.list-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#ffffff09;border:1px solid var(--border);font-size:14px}.list-row>.grow{min-width:0}.token-box{display:grid;gap:8px;padding:12px;border-radius:14px;background:#fbbf240f;border:1px dashed rgba(251,191,36,.4)}.token-box code{word-break:break-all;font-size:13px;-webkit-user-select:all;user-select:all}.token-box .btn{justify-self:start}.howto{color:var(--muted);line-height:1.55}.howto ol{margin:0 0 12px;padding-left:20px;display:grid;gap:6px}.howto b{color:var(--text)}.howto code,.url-item code{font-size:12px;padding:1px 6px;border-radius:6px;background:#0000004d;color:var(--text);word-break:break-all}.url-list{display:grid;gap:6px}.url-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;align-items:center;text-align:left;width:100%;padding:9px 12px;border-radius:12px;border:1px solid var(--border);background:#ffffff08;color:var(--text);cursor:pointer}.url-item .tiny{grid-column:1 / -1}.url-item code{justify-self:start}.url-item:hover{border-color:var(--border-strong)}.loc-switch{display:inline-flex;gap:4px;padding:3px;border-radius:12px;background:#00000038;border:1px solid var(--border);justify-self:center}.loc-switch button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--dim);padding:6px 11px;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.loc-switch button.on{background:#8b7bff38;color:var(--text)}.loc-switch button.on.soft{background:#ffffff0f;color:var(--muted)}.loc-switch.compact{justify-self:start}.loc-switch.compact button{padding:3px 8px;font-size:12px}.mday .loc-switch{justify-self:start}.tax-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tax-box{padding:14px;border-radius:16px;background:#ffffff09;border:1px solid var(--border);display:grid;gap:3px}.tax-box .k{font-size:12.5px;color:var(--muted)}.tax-box .v{font-size:26px;font-weight:750;letter-spacing:-.02em}.tax-box .s{font-size:11.5px;color:var(--dim)}.tax-box .a{font-size:17px;font-weight:700;color:var(--ok);margin-top:4px}.plan-result{padding:13px 14px;border-radius:14px;background:#8b7bff14;border:1px solid rgba(139,123,255,.25);font-size:14px;line-height:1.5}.week-plan{display:grid;gap:14px}.wp-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.wp-day{display:grid;justify-items:center;gap:2px;padding:9px 2px 8px;border-radius:14px;cursor:pointer;border:1px solid var(--border);background:#ffffff08;color:var(--muted);transition:all .2s}.wp-day .wd{font-size:11.5px;font-weight:700;color:var(--text)}.wp-day .dt{font-size:10.5px;color:var(--dim)}.wp-day .ic{font-size:19px;line-height:1.2;height:24px}.wp-day.office{background:#8b7bff29;border-color:#8b7bff73}.wp-day.home{background:#34d3991a;border-color:#34d39966}.wp-day.today{box-shadow:0 0 0 1.5px var(--accent) inset}.wp-day.past{opacity:.55}.wp-day:disabled{opacity:.45;cursor:default}.feed-head{display:flex;align-items:center;gap:8px;font-size:14px}.feed-head .tiny{margin-left:auto}.feed-link{display:grid;gap:8px}@media print{@page{size:A4;margin:14mm}body{background:#fff!important}.aurora,.grain,.sidebar,.tabbar,.no-print,.toasts,.offline-pill,.mob:before,.mob:after{display:none!important}.desk{display:block}.main,.mob{padding:0!important;max-width:none}.report{box-shadow:none;border-radius:0;padding:0}}.pin{display:grid;justify-items:center;gap:22px;width:100%}.pin-dots{display:flex;gap:16px;height:18px;align-items:center}.pin-dot{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.35);transition:all .15s}.pin-dot.on{background:var(--grad);border-color:transparent;box-shadow:0 0 12px #8b7bffcc;transform:scale(1.1)}.pin-keys{display:grid;grid-template-columns:repeat(3,76px);gap:16px 22px}.pin-key{width:76px;height:76px;border-radius:50%;border:1px solid var(--border-strong);background:#ffffff0f;font-size:30px;font-weight:500;display:grid;place-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .12s,transform .08s;font-variant-numeric:tabular-nums;user-select:none;-webkit-user-select:none}.pin-key:active{background:#ffffff38;transform:scale(.94)}.pin-key.fn{background:transparent;border-color:transparent;font-size:15px;color:var(--muted)}.pin-key.fn svg{width:26px;height:26px}.pin-key.ok{background:var(--grad);border-color:transparent;color:#fff}.pin-key:disabled{opacity:.4}.pin-msg{min-height:20px;font-size:14px;text-align:center}.lock{min-height:100vh;display:grid;place-items:center;padding:calc(var(--safe-top) + 24px) 20px calc(var(--safe-bottom) + 24px);position:relative;z-index:1}.lock-inner{display:grid;justify-items:center;gap:22px;width:min(380px,100%);text-align:center}.lock-clock{font-size:15px;color:var(--muted);display:flex;align-items:center;gap:8px;justify-content:center}.lock-clock .dot{background:var(--ok);animation:pulse 1.6s infinite}.lock-time{font-size:40px;font-weight:750;letter-spacing:-.02em}.link-btn{background:none;border:0;color:var(--muted);font-size:14px;text-decoration:underline;text-underline-offset:3px;padding:6px}.link-btn:hover{color:var(--text)}@media (max-height: 700px){.pin-keys{grid-template-columns:repeat(3,64px);gap:12px 20px}.pin-key{width:64px;height:64px;font-size:26px}}a.btn{text-decoration:none}.icloud{display:grid;gap:10px;padding:14px;border-radius:16px;background:#38bdf80d;border:1px solid rgba(56,189,248,.22)}.icloud a{color:var(--accent)}.cal-pick{display:grid;gap:6px}.cal-pick .url-item:disabled{opacity:.45;cursor:default}.cal-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}.spinner.sm{width:16px;height:16px;border-width:2px}.vac-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.vac-bar{display:flex;height:14px;border-radius:999px;overflow:hidden;background:var(--surface-2, rgba(255,255,255,.06))}.vac-seg{height:100%;transition:width .4s ease}.vac-seg.taken,.vac-legend i.taken{background:var(--c-vac)}.vac-seg.planned,.vac-legend i.planned{background:repeating-linear-gradient(45deg,var(--c-vac) 0 4px,rgba(56,189,248,.45) 4px 8px)}.vac-seg.rest,.vac-legend i.rest{background:#34d3998c}.vac-seg.expired,.vac-legend i.expired{background:#fb718599}.vac-legend{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--muted)}.vac-legend span{display:inline-flex;align-items:center;gap:6px}.vac-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.vac-legend b{color:var(--text)}.vac-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;margin-top:4px}.vac-month{display:grid;justify-items:center;gap:2px}.vac-month-track{width:100%;max-width:22px;height:54px;border-radius:6px;background:#ffffff0d;display:flex;align-items:flex-end;overflow:hidden}.vac-month-fill{width:100%;background:var(--c-vac);border-radius:6px 6px 0 0;min-height:0}.vac-month.cur .vac-month-track{outline:1px solid var(--accent)}.vac-month .num{min-height:1.2em}.vac-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.vac-type{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text);font:inherit;font-size:13px;cursor:pointer;text-align:left;min-width:0}.vac-type:hover{background:#ffffff0a}.vac-type i{width:8px;height:8px;border-radius:50%;flex:none}.vac-type .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
