:root{--bg: #ECECE8;--surface: #FFFFFF;--surface-2: #F4F4F1;--soft: #E6E6E2;--line: #D9D9D4;--line-strong: #BDBDB7;--ink: #231F20;--ink-2: #3A3A37;--muted: #5E5E5A;--logo-ink: #231F20;--accent: #B5121B;--accent-ink: #FFFFFF;--accent-soft: #F7E6E7;--primary: #231F20;--primary-ink: #FFFFFF;--ok: #2E7D4F;--ok-soft: #E3F1E8;--warn: #B7791F;--warn-soft: #FBF0D9;--bad: #C2410C;--bad-soft: #FCE7DC;--body: "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--r-card: 20px;--r-field: 12px;--r-btn: 14px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #141213;--surface: #1E1B1C;--surface-2: #262223;--soft: #2A2627;--line: #4A4A47;--line-strong: #6A6A66;--ink: #F4F1EF;--ink-2: #D9D9D4;--muted: #B8B8B2;--logo-ink: #F4F1EF;--accent: #FF3B41;--accent-fill: #D41A23;--accent-ink: #FFFFFF;--accent-soft: #3A1A1B;--primary: #F4F1EF;--primary-ink: #231F20;--ok: #5FBF87;--ok-soft: #1E3327;--warn: #E0A64A;--warn-soft: #3A2E17;--bad: #F07A4A;--bad-soft: #3B2318;color-scheme:dark}}:root[data-theme=dark]{--bg: #141213;--surface: #1E1B1C;--surface-2: #262223;--soft: #2A2627;--line: #4A4A47;--line-strong: #6A6A66;--ink: #F4F1EF;--ink-2: #D9D9D4;--muted: #B8B8B2;--logo-ink: #F4F1EF;--accent: #FF3B41;--accent-fill: #D41A23;--accent-ink: #FFFFFF;--accent-soft: #3A1A1B;--primary: #F4F1EF;--primary-ink: #231F20;--ok: #5FBF87;--ok-soft: #1E3327;--warn: #E0A64A;--warn-soft: #3A2E17;--bad: #F07A4A;--bad-soft: #3B2318;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:16px/1.45 var(--body);-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}.top{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--line);padding:calc(8px + env(safe-area-inset-top,0px)) 12px 8px}.top-in{max-width:820px;margin:0 auto;display:grid;grid-template-columns:minmax(44px,1fr) auto minmax(44px,1fr);align-items:center;gap:8px}.top-in>:last-child{justify-self:end}.top h1{font-size:17px;font-weight:800;letter-spacing:-.01em;margin:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-logo{display:flex;justify-content:center}.top .logo{height:22px;width:auto;flex:none}main{max-width:820px;margin:0 auto;padding:14px 16px calc(96px + env(safe-area-inset-bottom,0px))}.back-home{justify-self:start;display:flex;align-items:center;border:0;background:none;color:var(--ink-2);font-weight:600;font-size:15px;padding:6px 8px 6px 0;cursor:pointer}.back-home svg{width:24px;height:24px}.icon-btn{border:0;background:none;color:var(--ink);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.icon-btn:hover{background:var(--soft)}.icon-btn svg{width:24px;height:24px}.avatar{flex:none;width:34px;height:34px;border-radius:50%;border:0;background:var(--primary);color:var(--primary-ink);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#00000073;opacity:0;pointer-events:none;transition:opacity .2s}.scrim.on{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;bottom:0;left:0;z-index:31;width:min(300px,84vw);background:var(--surface);display:flex;flex-direction:column;transform:translate(-102%);transition:transform .22s ease-out;box-shadow:0 0 30px #0000002e}.drawer.on{transform:none}.drawer-band{position:relative;background:#fff;color:#231f20;display:flex;align-items:center;gap:10px;padding:calc(16px + env(safe-area-inset-top,0px)) 12px 30px 18px}.drawer-band:before{content:"";position:absolute;left:0;right:0;bottom:5px;height:8px;background:#d41a23}.band-tail{position:absolute;right:0;bottom:0;width:100px;height:22px;display:block}.drawer-band a{display:flex}.drawer-band .logo{height:20px;width:auto;--logo-ink: #231F20}.band-hq{font-size:12px;font-weight:800;letter-spacing:.12em;color:#231f20}.band-icon{display:none!important}.band-icon img{width:36px;height:36px;border-radius:8px;border:1px solid #D9D9D4}.drawer-x,.drawer-shrink{border:0;background:#231f2012;color:#231f20;width:32px;height:32px;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;flex:none}.drawer-x{margin-left:auto}.drawer-shrink{display:none;margin-left:auto;font-size:18px}.nav{position:relative}.rail-search{width:100%;border:0;background:none;cursor:pointer}.drawer-body{flex:1;overflow-y:auto;padding:12px 10px}.drawer-search{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:0 12px;margin-bottom:8px;color:var(--muted)}.drawer-search svg{width:18px;height:18px;flex:none}.drawer-search input{flex:1;min-width:0;border:0;background:none;padding:10px 0;outline:none}.nav-h{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;cursor:pointer;text-align:left;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:10px 0 2px;padding:8px 12px;border-radius:10px}.nav-h:hover{background:var(--surface-2)}.nav-h>span:first-child{flex:1}.nav-h .nav-n{margin-left:0;letter-spacing:0}.nav-h svg{width:16px;height:16px;transform:rotate(90deg);transition:transform .15s}.nav-h[aria-expanded=false] svg{transform:none}.nav-wx{margin-left:auto;display:flex;align-items:center;gap:4px;font-size:13px;font-weight:700;color:var(--ink-2)}.nav .nav-wx svg{width:17px;height:17px;color:var(--warn)}.nav{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;color:var(--ink);text-decoration:none;font-size:15px;font-weight:500}.nav svg{width:20px;height:20px;color:var(--muted);flex:none}.nav:hover{background:var(--surface-2)}.nav[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:700}.nav[aria-current=page] svg{color:var(--accent)}.nav-n{margin-left:auto;font-size:12px;font-weight:700;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:1px 8px}.nav[aria-current=page] .nav-n,.nav-n.late{background:var(--accent);color:#fff}.drawer-me{display:flex;align-items:center;gap:10px;border:0;border-top:1px solid var(--line);background:none;text-align:left;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));cursor:pointer}.drawer-me b{display:block;font-size:14px}.drawer-me small{display:block;font-size:12px;color:var(--muted)}@media(min-width:1100px){.drawer{transform:none;box-shadow:none;border-right:1px solid var(--line);width:280px}.scrim,.drawer-x,.menu-btn{display:none}.drawer-shrink{display:block}.page{margin-left:280px;transition:margin-left .2s}.drawer{transition:width .2s}.drawer.rail{width:72px}body.menu-rail .page{margin-left:72px}body.menu-rail .addbar{left:72px}.drawer.rail .drawer-band{flex-direction:column;padding:14px 0 30px;gap:8px}.drawer.rail .band-tail{width:50px;height:11px}.drawer.rail .drawer-band:before{bottom:2.5px;height:4px}.drawer.rail .band-logo,.drawer.rail .band-hq,.drawer.rail .drawer-search,.drawer.rail .nav-t,.drawer.rail .nav-h,.drawer.rail .nav-wx{display:none!important}.drawer.rail .band-icon{display:flex!important}.drawer.rail .drawer-shrink{margin:0}.drawer.rail .drawer-body{padding:10px 8px;scrollbar-width:none}.drawer.rail .drawer-body::-webkit-scrollbar{display:none}.drawer.rail .drawer-body>div+div{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.drawer.rail .nav{justify-content:center;padding:11px 0}.drawer.rail .nav svg{width:22px;height:22px}.drawer.rail .nav-n{position:absolute;top:3px;right:6px;font-size:10px;padding:0 5px;background:var(--accent);color:#fff}.drawer.rail .drawer-me{justify-content:center;padding:12px 0}.top-logo{grid-column:2}}.today{padding-bottom:70px}.today-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}.wx{display:flex;align-items:center;gap:6px;flex:none;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:5px 12px 5px 9px;color:var(--ink);text-decoration:none;font-size:13px}.wx svg{width:20px;height:20px;color:var(--warn)}.wx b{font-size:15px;font-weight:800}.wx span{color:var(--muted);font-weight:500}.today-date{margin:0 2px;font-size:13px;font-weight:500;color:var(--muted)}.today-h{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:2px 2px 8px}.today-h span{color:var(--accent)}.brief-lede{font-size:17px;line-height:1.5;color:var(--ink-2);margin:0 2px 10px}.sec-h{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:18px 4px 6px}.card.flat{padding:2px 14px;border-radius:16px;margin-bottom:0}.bi{display:flex;gap:2px;padding:11px 0}.bi+.bi{border-top:1px solid var(--line)}.bi-text{font-weight:600}.bi>.tick{margin:0 12px 0 0;width:26px;height:26px;position:relative}.bi>.tick:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px}.tick.alert,.tick.hot{border-color:var(--accent)}.tick.warn{border-color:var(--warn)}.tick:not(.on):hover{background:var(--ok-soft);border-color:var(--ok)}.bi.done .bi-text{text-decoration:line-through;color:var(--muted);font-weight:500}.bi.done .small{opacity:.7}.glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:12px 0 0}.glance .tile{text-align:left;cursor:pointer;font:inherit;color:inherit}.glance .tile:hover{border-color:var(--line-strong)}.glance .tile b span{font-size:13px;font-weight:500;color:var(--muted)}.addbar{position:fixed;left:0;right:0;bottom:0;z-index:18;padding:8px 12px calc(10px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,var(--bg) 70%,transparent)}.addbar-kinds,.addbar-box{max-width:796px;margin:0 auto}.addbar-kinds{display:flex;gap:6px;padding:0 4px 6px}.addbar-kinds .chip{padding:5px 12px;font-size:13px}.addbar-box{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line-strong);border-radius:26px;padding:5px 5px 5px 8px;box-shadow:0 4px 16px #00000014}.addbar-box input{flex:1;min-width:0;border:0;background:none;padding:9px 6px;outline:none}.addbar-cam,.addbar-go{flex:none;width:38px;height:38px;border-radius:50%;border:0;display:flex;align-items:center;justify-content:center;cursor:pointer}.addbar-cam{background:none;color:var(--muted)}.addbar-go{background:var(--primary);color:var(--primary-ink)}.addbar-go:disabled{background:var(--line-strong);cursor:default}.addbar-cam svg,.addbar-go svg{width:21px;height:21px}body:has(.addbar) .toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}@media(min-width:1100px){.addbar{left:280px;transition:left .2s}}.chev{width:20px;height:20px;color:var(--muted);flex:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:16px;margin-bottom:12px}.list{display:flex;flex-direction:column;gap:8px}.row-item{display:flex;gap:12px;align-items:center;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer}.row-item:hover{border-color:var(--line-strong)}.row-main{flex:1;min-width:0}.row-title{font-weight:700;overflow-wrap:anywhere}.row-meta{font-size:13.5px;color:var(--muted);overflow-wrap:anywhere}.row-end{text-align:right;font-variant-numeric:tabular-nums;font-weight:700;flex:none}.row-end small{display:block;font-weight:400;color:var(--muted);font-size:12px}.row-item.has-more{padding-right:6px}.row-more{flex:none;border:0;background:none;color:var(--muted);padding:8px;margin:-8px 0;border-radius:10px;cursor:pointer}.row-more:hover,.row-more:focus-visible{background:var(--surface-2);color:var(--ink)}.row-more svg{width:22px;height:22px}.folder-n{color:var(--muted);font-weight:500;margin-left:6px}.group-h{display:flex;justify-content:space-between;align-items:baseline;margin:18px 2px 8px}.group-h h2{font-size:17px;font-weight:800;margin:0}.group-h span{font-size:12.5px;color:var(--muted)}.empty{color:var(--muted);text-align:center;padding:34px 12px}.err{background:var(--bad-soft);color:var(--bad);border-radius:12px;padding:10px 14px;margin:8px 0;font-size:14px}.err-retry{display:flex;align-items:center;gap:10px}.err-retry>span{flex:1}.err-btn{padding:7px 12px;font-size:13px;font-weight:700;color:var(--bad);border-color:var(--bad);background:var(--surface);flex:none}.skel{display:grid;gap:10px;padding:8px 0}.skel-row{height:54px;border-radius:14px;background:linear-gradient(90deg,var(--soft) 25%,var(--surface-2) 50%,var(--soft) 75%);background-size:200% 100%;animation:skel 1.3s linear infinite}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skel-row{animation:none}}.note{background:var(--warn-soft);color:var(--ink-2);border-radius:12px;padding:10px 14px;margin:8px 0;font-size:14px}.okmsg{background:var(--ok-soft);color:var(--ok);border-radius:12px;padding:10px 14px;margin:8px 0;font-size:14px}.muted{color:var(--muted)}.small{font-size:13px}.search{width:100%;padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--r-field);background:var(--surface);margin-bottom:10px}.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}a.chip{text-decoration:none}.chip{flex:none;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:7px 13px;min-height:40px;font-size:13.5px;font-weight:500;cursor:pointer;white-space:nowrap}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.chip b{font-weight:700;margin-left:4px}.seg{display:flex;gap:4px;background:var(--soft);padding:5px;border-radius:16px;margin-bottom:14px}.seg button{flex:1;border:0;background:none;border-radius:11px;padding:10px;font-weight:600;color:var(--ink-2);cursor:pointer}.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--soft);color:var(--ink-2);white-space:nowrap}.badge.red{background:var(--accent-soft);color:var(--accent)}.badge.green{background:var(--ok-soft);color:var(--ok)}.badge.amber{background:var(--warn-soft);color:var(--warn)}label.f{display:block;font-size:13px;color:var(--muted);font-weight:500;margin:12px 0 5px}.inp,select.inp,textarea.inp{width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-field);padding:12px 14px}textarea.inp{min-height:90px;resize:vertical}.inp:focus,.search:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check{display:flex;gap:10px;align-items:center;margin:12px 0 0;font-weight:500}.check input{width:20px;height:20px;accent-color:var(--accent)}.btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--r-btn);padding:12px 16px;font-weight:600;cursor:pointer}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink);font-weight:700}.btn.dark{background:var(--ink);border-color:var(--ink);color:var(--bg)}.btn.danger{color:var(--bad)}.btn.block{width:100%;padding:15px;font-size:17px}.btn:disabled{opacity:.5;cursor:default}.actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.actions .btn{flex:1}.fab{position:fixed;right:18px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:15;width:58px;height:58px;border-radius:50%;border:0;background:var(--primary);color:var(--primary-ink);font-size:30px;line-height:1;box-shadow:0 6px 18px #00000038;cursor:pointer}.pick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pick label{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:76px;border-radius:var(--r-btn);font-weight:700;font-size:17px;cursor:pointer;overflow:hidden}.pick .cam{background:var(--primary);color:var(--primary-ink)}.pick .file{background:var(--surface);border:1px solid var(--line-strong)}.pick input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.preview img{max-width:100%;max-height:360px;border-radius:var(--r-field);border:1px solid var(--line);display:block;margin-top:12px}.thumb{width:52px;height:52px;border-radius:10px;background:var(--soft);flex:none;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--muted);object-fit:cover}.photos{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.photos img{width:92px;height:92px;object-fit:cover;border-radius:10px;border:1px solid var(--line);cursor:pointer}.totals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.totals div{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px 12px}.totals b{display:block;font-size:19px;font-weight:800;font-variant-numeric:tabular-nums}.totals small{color:var(--muted);font-size:12px}.suggest{border:1px solid var(--line);border-radius:var(--r-field);background:var(--surface);margin-top:4px;overflow:hidden}.suggest button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;padding:10px 14px;cursor:pointer}.suggest button:last-child{border-bottom:0}.suggest small{display:block;color:var(--muted)}.sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000073;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--surface);width:100%;max-width:640px;max-height:92vh;overflow:auto;border-radius:22px 22px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px))}.sheet-h{display:flex;align-items:center;gap:10px;margin-bottom:6px}.sheet-h h2{font-size:20px;font-weight:800;margin:0;flex:1;overflow-wrap:anywhere}.x{border:0;background:var(--soft);width:44px;height:44px;border-radius:50%;font-size:20px;cursor:pointer;flex:none}@media(min-width:700px){.sheet-back{align-items:center}.sheet{border-radius:22px}}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(92px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:999px;font-weight:600;z-index:60;max-width:90vw}.toast-act{margin-left:14px;border:0;background:none;color:var(--accent);font-weight:800;cursor:pointer;padding:0;font-size:inherit}.toast.toast-error{background:var(--bad);color:#fff}.quick{padding:12px}.quick .row{display:flex;gap:8px}.quick .row .inp{flex:1;min-width:0}.quick .chips{padding:8px 0 0}.tally{display:flex;gap:8px;flex-wrap:wrap;margin:0 2px 8px;font-size:13.5px;color:var(--muted)}.tally b{color:var(--ink)}.md{overflow-wrap:anywhere}.md h2{font-size:19px;font-weight:800;margin:22px 0 8px}.md h3{font-size:16.5px;font-weight:700;margin:16px 0 6px}.md p,.md li{color:var(--ink-2)}.md ul,.md ol{padding-left:22px}.md li{margin-bottom:5px}.md li:has(>input[type=checkbox]){list-style:none;margin-left:-22px}.md input[type=checkbox]{width:18px;height:18px;margin-right:8px;vertical-align:-3px;accent-color:var(--ok)}.md table{border-collapse:collapse;width:100%;font-size:14px;display:block;overflow-x:auto}.md th,.md td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.md th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.md code{background:var(--soft);border-radius:999px;padding:2px 9px;font:500 13px var(--body)}.flag{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--line-strong);margin-right:10px;flex:none;margin-top:7px}.flag.alert{background:var(--accent)}.flag.warn{background:var(--warn)}.flag.ok,.flag.good{background:var(--ok)}.signin{max-width:400px;margin:10vh auto 0;padding:0 16px}.signin .logo{height:34px;width:auto;display:block;margin-bottom:26px}.signin h1{font-size:26px;font-weight:800;margin:0 0 6px}.pin-wrap{position:relative}.pin-wrap .inp{padding-right:70px}.pin-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--accent);font:inherit;font-size:14px;font-weight:700;padding:8px 10px;cursor:pointer;border-radius:8px}.home-hint{padding:12px 14px}.home-hint-h{display:flex;align-items:center;justify-content:space-between;gap:8px}.home-hint-h .x{width:34px;height:34px;font-size:17px}.home-hint p{margin:4px 0 0}.numbers-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.num-h{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin:16px 2px 8px}.num-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.num-grid.big{grid-template-columns:repeat(3,minmax(0,1fr))}.tile{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px;min-width:0;display:flex;flex-direction:column;gap:2px}.tile small{color:var(--muted);font-size:12.5px;font-weight:500}.tile b{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em;overflow-wrap:anywhere}.num-grid.big .tile b{font-size:20px}.tile.strong{background:var(--ink);border-color:var(--ink);color:var(--bg)}.tile.strong small,.tile.strong .tile-sub{color:var(--bg);opacity:.8}.tile.warn{border-color:var(--warn)}.tile-sub{font-size:12px;color:var(--muted)}.change{font-size:12px;font-weight:700}.change.up{color:var(--ok)}.change.down{color:var(--accent)}.tile.strong .change.up{color:#8fe3b0}.num-ytd{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px}.num-ytd small{display:block;color:var(--muted);font-size:12.5px}.num-ytd b{display:block;font-size:19px;font-weight:800;font-variant-numeric:tabular-nums}@media(max-width:360px){.num-grid.big{grid-template-columns:1fr 1fr}}.tick{flex:none;width:28px;height:28px;border-radius:50%;border:2px solid var(--line-strong);background:var(--surface);color:#fff;font-weight:800;font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.tick.on{background:var(--ok);border-color:var(--ok)}.linkish{background:none;border:0;padding:0;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer}.est-line{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:8px 0;border-bottom:1px solid var(--line)}.est-line .qty{grid-column:1;font-size:13px;color:var(--muted)}.est-line .amt{grid-row:1;grid-column:2;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.est-section{font-weight:700;padding:12px 0 4px;white-space:pre-wrap}.est-total{display:flex;justify-content:space-between;padding:4px 0;font-variant-numeric:tabular-nums}.est-total.big{font-weight:800;font-size:17px;border-top:1px solid var(--line-strong);margin-top:4px;padding-top:8px}.sf-row{text-decoration:none;color:inherit;align-items:flex-start}.sf-id{flex:none;display:inline-block;background:var(--accent);color:#fff;font-size:12px;font-weight:800;letter-spacing:.03em;padding:4px 9px;border-radius:8px;white-space:nowrap;margin-top:1px}.sf-id.big{font-size:14px;padding:5px 11px}.sf-when{color:var(--accent);font-weight:600}.sf{padding-bottom:70px}.sf-back{display:inline-block;margin:0 2px 10px;font-weight:600;text-decoration:none}.sf-head{display:flex;justify-content:space-between;align-items:center}.sf-title{font-size:22px;font-weight:800;letter-spacing:-.01em;margin:10px 0 12px}.sf-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 12px}.sf-meta div{background:var(--surface-2);border-radius:12px;padding:8px 10px;min-width:0}.sf-meta dt{font-size:11.5px;color:var(--muted)}.sf-meta dd{margin:0;font-weight:700;font-size:14px;overflow-wrap:anywhere}.sf-intro{margin:0;color:var(--ink-2);font-size:14.5px}@media(max-width:480px){.sf-meta{grid-template-columns:1fr 1fr}}.sf-sec{display:flex;flex-direction:column;gap:16px}.sf-sec-h{display:flex;align-items:center;gap:10px}.sf-sec-h h3{font-size:17px;font-weight:800;margin:0}.sf-num{flex:none;width:30px;height:30px;border-radius:9px;background:var(--accent);color:#fff;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center}.sf-note{margin:-6px 0 0;color:var(--muted);font-size:14px}.sf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px 12px}.sf-field{display:flex;flex-direction:column;gap:6px;min-width:0}.sf-label{font-size:14px;font-weight:600;color:var(--ink)}.sf-label.small{font-size:12.5px;font-weight:500;color:var(--muted)}.sf-label.req:after{content:" *";color:var(--accent)}.sf-hint{font-size:13px;color:var(--muted);margin-top:-3px}.sf-field.missing>.inp,.sf-field.missing .sf-opts,.sf-field.missing .sf-ticks,.sf-field.missing .sf-assess,.sf-field.missing .sf-sig,.sf-field.missing .sf-table{box-shadow:0 0 0 2px var(--accent);border-radius:var(--r-field)}.sf-opts{display:flex;flex-wrap:wrap;gap:8px}.sf-opts.col{flex-direction:column}.sf-opt{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--r-btn);padding:11px 14px;font-weight:600;cursor:pointer;line-height:1.25}.sf-opt:before{content:"";flex:none;width:18px;height:18px;border-radius:50%;border:2px solid var(--line-strong);background:var(--surface)}.sf-opt.box:before{border-radius:5px}.sf-opt[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.sf-opt[aria-pressed=true]:before{border-color:var(--bg);background:var(--accent);box-shadow:inset 0 0 0 3px var(--ink)}.sf-opt.stop[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.sf-opt.stop[aria-pressed=true]:before{border-color:#fff;background:#fff;box-shadow:inset 0 0 0 3px var(--accent)}.sf-ticks{display:flex;flex-direction:column;gap:8px}.sf-tick{display:flex;gap:12px;align-items:flex-start;text-align:left;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--r-btn);padding:11px 14px;cursor:pointer;font-weight:500}.sf-tick .tick{width:24px;height:24px;font-size:13px;margin-top:-1px}.sf-tick.on{border-color:var(--ok);background:var(--ok-soft)}.sf-assess{border:1px solid var(--line);border-radius:var(--r-field);overflow:hidden}.sf-ahead{background:var(--soft);padding:8px 12px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}.sf-arow{display:grid;grid-template-columns:minmax(140px,1.1fr) auto minmax(160px,1.3fr);gap:8px 12px;align-items:center;padding:10px 12px;border-top:1px solid var(--line)}.sf-assess>:first-child{border-top:0}.sf-aname{font-weight:600;font-size:14.5px}.sf-aname small{display:block;font-weight:400;color:var(--muted);font-size:12.5px}.sf-arow .inp{padding:9px 12px}@media(max-width:680px){.sf-arow{grid-template-columns:1fr}.sf-arow .sf-seg{justify-self:start}}.sf-seg{display:inline-flex;gap:3px;background:var(--soft);padding:3px;border-radius:12px}.sf-seg button{border:0;background:none;border-radius:9px;min-width:50px;padding:8px 10px;font-weight:700;font-size:13.5px;color:var(--ink-2);cursor:pointer}.sf-seg button[aria-pressed=true][data-t=ok]{background:var(--ok);color:#fff}.sf-seg button[aria-pressed=true][data-t=bad]{background:var(--accent);color:#fff}.sf-seg button[aria-pressed=true][data-t=na]{background:var(--ink);color:var(--bg)}.sf-table{display:flex;flex-direction:column;gap:10px}.sf-trow{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;align-items:end;background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:12px}.sf-tcell{display:flex;flex-direction:column;gap:5px;min-width:0}.sf-tcell.wide{grid-column:1 / -1}.sf-tcell .inp{background:var(--surface)}.sf-rm{position:absolute;top:8px;right:12px}.sf-add{align-self:flex-start}.sf-sig{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;align-items:start}.sf-sig>div{display:flex;flex-direction:column;gap:5px}.sf-pad{position:relative;height:150px;border:1px solid var(--line-strong);border-radius:var(--r-field);background:#fff;touch-action:none;overflow:hidden}.sf-pad canvas{width:100%;height:100%;display:block}.sf-pad-ph{position:absolute;left:14px;right:14px;bottom:28px;border-bottom:1.5px dashed #BDBDB7;color:#5e5e5a;font-size:13px;padding-bottom:4px;pointer-events:none}.sf-pad-clr{position:absolute;top:8px;right:12px}.sf-photo{margin:0;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.sf-notice{display:flex;flex-direction:column;gap:6px;align-items:flex-start;border-radius:14px;padding:12px 14px;font-size:14.5px;color:var(--ink-2);background:var(--soft)}.sf-notice b{color:var(--ink);font-size:15.5px}.sf-notice ul{margin:0;padding-left:20px}.sf-notice .btn{padding:9px 14px;margin-top:4px}.sf-notice.warn{background:var(--warn-soft)}.sf-notice.warn b{color:var(--warn)}.sf-notice.stop{background:var(--accent-soft)}.sf-notice.stop b{color:var(--accent)}.sf-notice.ok{background:var(--ok-soft)}.sf-notice.ok b{color:var(--ok)}.sf-phone{font-size:24px;font-weight:800;color:var(--accent);text-decoration:none;font-variant-numeric:tabular-nums}.sf-bar{position:fixed;left:0;right:0;bottom:0;z-index:18;background:var(--surface);border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 16px #0000000f}.sf-bar-in{max-width:796px;margin:0 auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sf-prog{flex:1;min-width:170px;display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.sf-track{height:6px;background:var(--soft);border-radius:6px;overflow:hidden}.sf-track div{height:100%;background:var(--ok);transition:width .25s}@media(max-width:520px){.sf-prog{flex-basis:100%}.sf-bar .btn{flex:1}}@media(min-width:1100px){.sf-bar{left:280px}body.menu-rail .sf-bar{left:72px}}body:has(.sf-bar) .toast{bottom:calc(110px + env(safe-area-inset-bottom,0px))}.top-end{display:flex;align-items:center;gap:2px;justify-self:end}.top-end .icon-btn{color:var(--ink-2)}.sr-box{margin-bottom:4px;background:var(--surface)}.sr-box input{font-size:16px}.qline{border:1px solid var(--line);border-radius:14px;padding:10px;margin-bottom:8px;background:var(--surface)}.qline.section{background:var(--soft);border-color:transparent;margin-top:6px}.qline.section .inp{font-weight:700}.qline-nums{display:grid;grid-template-columns:72px auto 1fr auto;gap:8px;align-items:center;margin-top:8px}.qline-nums b{font-variant-numeric:tabular-nums}.qline-opts{display:flex;gap:16px;margin-top:8px;color:var(--muted)}.qline-opts label{display:flex;gap:6px;align-items:center}.qline-tools{display:flex;gap:6px;justify-content:flex-end;margin-top:8px}.qline-tools{gap:10px}.qline-tools .btn{min-width:44px;min-height:44px;padding:6px 12px}.row-item>svg{width:22px;height:22px;color:var(--muted);flex:none}.lede-row{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px}.lede-row .tick{margin-top:2px;width:26px;height:26px}.lede-row .brief-lede{margin:0}a.row-item{text-decoration:none;color:inherit}.qp{min-height:100vh;background:#ecece8;color:#1a1a1a;font-family:Arial,Helvetica,sans-serif;padding:16px 0 40px}.qp-page{background:#fff;max-width:760px;margin:0 auto;padding:0 28px 28px;box-shadow:0 4px 24px #0000001f;font-size:14px;line-height:1.45}.qp-banner{max-width:760px;margin:0 auto;background:#fff;padding:22px 28px 0}.qp-banner img{display:block;width:62%;max-width:420px;height:auto}.qp-bar{height:4px;background:#d41a23;margin-top:8px}.qp h1{font-size:24px;margin:18px 0 14px}.qp-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.qp-title{font-size:15px;font-weight:700;margin:8px 0 4px}.qp-intro{margin:0 0 8px;white-space:pre-wrap}.qp-files{margin:0 0 12px;display:flex;gap:14px;flex-wrap:wrap}.qp-files a{color:#03c;font-weight:700;text-decoration:underline}.qp-lines{width:100%;border-collapse:collapse;margin:6px 0 18px}.qp-lines th{text-align:left;font-weight:700;border-bottom:2px solid #1a1a1a;padding:6px 4px}.qp-lines td{padding:6px 4px;vertical-align:top;white-space:pre-wrap}.qp-lines .r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.qp-lines tr.sec td{font-weight:700;padding-top:12px}.qp-lines tr.off td{color:#5e5e5a}.qp-lines tfoot td{border-top:1px solid #1a1a1a;font-weight:700}.qp-lines tfoot tr.tot td{border-top:2px solid #1a1a1a;font-size:15px}.qp-ack{display:flex;gap:12px;align-items:flex-start;border:1px solid #1a1a1a;padding:12px 14px;margin:14px 0;cursor:pointer}.qp-ack input{width:20px;height:20px;margin:2px 0 0;flex:none}.qp-ack a{color:#03c;text-decoration:underline}.qp-ack.done{background:#eef9f1;border-color:#1f9d55;cursor:default}.qp-tick{width:26px;height:26px;border-radius:50%;background:#1f9d55;color:#fff;display:grid;place-items:center;font-weight:800;flex:none}.qp-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.qp-grid label,.qp-accept label.lbl{display:block;font-weight:700;font-size:13px}.qp-inp{display:block;width:100%;margin-top:4px;padding:11px 12px;border:1px solid #9C9C97;border-radius:6px;font:inherit;font-size:16px}.qp-sigtabs{display:flex;gap:8px;margin:14px 0 8px}.qp-sigtabs button{font:inherit;padding:8px 12px;border:1px solid #9C9C97;background:#fff;border-radius:999px;cursor:pointer}.qp-sigtabs button.on{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.qp-pad{position:relative;border:1px dashed #9C9C97;border-radius:8px;background:#f4f4f1}.qp-pad canvas{display:block;width:100%;height:160px;touch-action:none}.qp-clear{position:absolute;right:8px;top:8px;font:inherit;font-size:12px;padding:4px 8px;border:1px solid #9C9C97;background:#fff;border-radius:6px;cursor:pointer}.qp-typed{font-family:Brush Script MT,Segoe Script,Apple Chancery,cursive;font-size:38px;padding:20px 16px;border:1px dashed #9C9C97;border-radius:8px;background:#f4f4f1;min-height:90px}.qp-btn{display:inline-block;font:inherit;font-weight:700;padding:10px 16px;border-radius:8px;border:0;background:#d41a23;color:#fff;text-decoration:none;cursor:pointer}.qp-btn.big{width:100%;padding:15px;font-size:17px;margin-top:14px}.qp-btn:disabled{opacity:.6}.qp-small{font-size:12.5px;color:#555}.qp-docs{margin-top:26px;border-top:1px solid #ccc;padding-top:6px}.qp-docs h3{margin:0;font-size:15px}.qp-docs h3 button{width:100%;text-align:left;font:inherit;font-weight:700;padding:12px 0;background:none;border:0;border-bottom:1px solid #e3e3e3;cursor:pointer;display:flex;justify-content:space-between}.qp-docs h3 button span{font-weight:500;color:#03c;font-size:13px}.qp-doc{padding:6px 0 14px;font-size:13px}.qp-doc h4{margin:12px 0 4px;font-size:13.5px}.qp-doc h5{margin:10px 0 2px;font-size:13px}.qp-doc li{margin:0 0 4px 18px}.qp-doc p{margin:0 0 6px}.qp-foot{font-size:11.5px;color:#666;margin-top:24px}.qp-foot a{color:#03c}.qp .err{background:#fdecec;color:#b3121a;padding:10px 12px;border-radius:8px;margin:10px 0}@media(max-width:560px){.qp{padding:0 0 24px}.qp-page,.qp-banner{padding-left:16px;padding-right:16px}.qp-grid{grid-template-columns:1fr}.qp-banner img{width:80%}}main:has(.pj){max-width:1240px}.pj{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}.pj-row{display:grid;grid-template-columns:104px minmax(0,1.3fr) minmax(0,1.3fr) 112px 210px 104px;gap:12px;align-items:center;width:100%;padding:11px 16px;border:0;border-top:1px solid var(--line);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.pj-row:hover{background:var(--surface-2)}.pj-head{border-top:0;cursor:default;background:var(--surface-2);font-size:12.5px;font-weight:700;color:var(--muted);padding-block:10px}.pj-head:hover{background:var(--surface-2)}.pj-no{font-weight:700;font-variant-numeric:tabular-nums}.pj-name,.pj-client{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pj-name{font-weight:600}.pj-client{color:var(--ink-2)}.pj-date{font-size:13.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}.pj-status{display:inline-block;width:100%;max-width:112px;text-align:center;font-size:12.5px;font-weight:700;padding:5px 8px;border-radius:8px;background:var(--soft);color:var(--muted);white-space:nowrap}.pj-status.progress{background:var(--accent-soft);color:var(--accent)}.pj-status.ongoing{background:var(--ink);color:var(--bg)}.pj-status.hold{background:var(--warn-soft);color:var(--warn)}.pj-status.done{background:var(--ok-soft);color:var(--ok)}.pj-status.lost{text-decoration:line-through}.pj-flow{display:flex;flex-direction:column;gap:3px;min-width:0}.pj-flow small{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pj-bar{display:flex;gap:2px;height:16px}.pj-bar i{flex:1;background:var(--soft);clip-path:polygon(0 0,78% 0,100% 50%,78% 100%,0 100%,22% 50%)}.pj-bar i:first-child{clip-path:polygon(0 0,78% 0,100% 50%,78% 100%,0 100%);border-radius:3px 0 0 3px}.pj-bar i.on{background:var(--ink-2)}.pj-bar.progress i.on{background:var(--accent)}.pj-bar.ongoing i.on{background:var(--ink)}.pj-bar.hold i.on{background:var(--warn)}.pj-bar.done i.on{background:var(--ok)}@media(max-width:860px){.pj-head{display:none}.pj-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"no st" "name name" "client date" "wf wf";gap:4px 10px;padding:12px 14px}.pj-row:first-of-type{border-top:0}.pj-no{grid-area:no;font-size:13px;color:var(--muted)}.pj-name{grid-area:name;white-space:normal}.pj-client{grid-area:client;font-size:13.5px}.pj-date{grid-area:date;font-size:12.5px}.pj-st{grid-area:st}.pj-status{width:auto;padding:3px 9px}.pj-wf{grid-area:wf;margin-top:4px}}.xd-head{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--warn-soft)}.xd-head span{font-size:13px;color:var(--ink-2)}.xd-row{text-decoration:none;color:inherit;align-items:center}.xd-row .flag{margin-top:0}.xd-amt{font-weight:700;font-variant-numeric:tabular-nums;margin-left:10px}.xd-more{display:block;padding:10px 16px}.card.flat.xd{padding:0;overflow:hidden}.xd .bi{padding:11px 16px;gap:10px}.arrange-btn{display:block;margin:14px 12px 4px}.arrange{-webkit-user-select:none;user-select:none}.arr{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:12px;background:var(--surface)}.arr svg{width:20px;height:20px;color:var(--muted);flex:none}.arr-g{margin-top:10px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.arr-p{margin-left:8px}.arr.dragging{background:var(--soft);box-shadow:0 4px 14px #0000001f}.arr-grip{cursor:grab;touch-action:none;font-size:18px;line-height:1;color:var(--muted);padding:6px 4px;margin:-6px 0;border-radius:8px}.arr-grip:active{cursor:grabbing;background:var(--soft)}.arr-steps{margin-left:auto;display:flex;gap:2px;flex:none}.arr-step{border:0;background:none;color:var(--muted);width:34px;height:34px;margin:-6px 0;border-radius:8px;cursor:pointer;font-size:16px;line-height:1}.arr-step:hover,.arr-step:focus-visible{background:var(--soft);color:var(--ink)}.arr-step:disabled{opacity:.3;cursor:default}.nb-daybar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin:0 0 6px}.nb-daybar .icon-btn{font-size:30px;line-height:1;color:var(--ink-2)}.nb-date{position:relative;text-align:center;cursor:pointer}.nb-date b{display:block;font-size:18px;font-weight:800}.nb-date span{font-size:13px;color:var(--muted)}.nb-date input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;cursor:pointer}.nb-title{font-size:18px;font-weight:700;margin-bottom:10px}.nb-tools{position:sticky;top:calc(57px + env(safe-area-inset-top,0px));z-index:10;display:flex;align-items:center;gap:4px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:6px;margin:0 0 10px;box-shadow:0 2px 10px #0000000f}.nb-tool{width:44px;height:44px;border:0;border-radius:12px;background:none;color:var(--ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer}.nb-tool[aria-pressed=true]{background:var(--soft);box-shadow:inset 0 0 0 2px var(--ink)}.nb-tool:disabled{opacity:.35;cursor:default}.nb-dot{width:20px;height:20px;border-radius:50%;box-shadow:0 0 0 1.5px var(--line-strong)}.nb-hi{width:22px;height:12px;border-radius:3px;opacity:.8}.nb-size{width:22px;border-radius:3px;background:currentColor}.nb-gap{flex:1}.nb-status{font-size:12px;color:var(--ok);padding:0 6px;white-space:nowrap}.nb-status.warn{color:var(--warn)}.nb-paper{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 1px 4px #0000000d}.nb-paper canvas{position:absolute;left:0;top:0;display:block}.nb-live{cursor:crosshair;user-select:none;-webkit-user-select:none}.nb-must{position:absolute;border:0;background:none;border-radius:10px;cursor:pointer;z-index:2}.nb-must:focus-visible{outline:2px solid var(--accent)}.nb-carried{margin:0 0 10px}.nb-read{margin-top:12px}.nb-read summary{cursor:pointer;color:var(--ink-2)}.nb-write{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;margin:10px 0 0}.nb-write svg{width:20px;height:20px}.nbs{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}.nbs:last-child{border-bottom:0}.nbs-main{flex:1;min-width:0}.nbs-main .badge{margin:0 0 4px}.nbs-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.nbs-acts .btn{padding:6px 12px;font-size:14px}@media(max-width:560px){.nbs{flex-direction:column}.nbs-acts{justify-content:flex-start}}.nb-links{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin:0 0 8px}.nb-months{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.nb-month{display:block;padding:14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:inherit}.nb-month b{display:block;font-size:17px}.nb-month span{font-size:12px;color:var(--muted)}.nb-month.now{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.nb-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:0 0 12px}.nb-cal-h{text-align:center;font-size:12px;font-weight:700;color:var(--muted);padding:2px 0}.nb-cal-d{position:relative;display:flex;align-items:center;justify-content:center;height:44px;border-radius:10px;background:var(--surface);border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:600}.nb-cal-d.nb-flag{background:var(--warn-soft)}.nb-cal-d.nb-hol{background:var(--accent-soft);color:var(--accent)}.nb-cal-d.nb-today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.nb-cal-d i{position:absolute;bottom:5px;width:5px;height:5px;border-radius:50%;background:var(--ink-2)}.nb-qbtns{display:flex;gap:6px}.nb-qbtns .btn{padding:6px 14px}.pj-install{display:block;font-size:12px;color:var(--accent);font-weight:600}.nb-install{display:block;margin:10px 0 0}.cal-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.cal-type i,.cal-swatch{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;flex:none}.cal-swatch{width:14px;height:14px;margin:0}.cal-item{display:block;width:100%;text-align:left;border:0;border-radius:8px;padding:5px 8px;margin:0 0 4px;color:#fff;font-size:13px;line-height:1.3;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-item.g{background:var(--surface);border:1.5px solid;border-left-width:5px}.cal-month{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cal-h{text-align:center;font-size:12px;font-weight:700;color:var(--muted)}.cal-cell{min-height:84px;display:flex;flex-direction:column;gap:2px;align-items:stretch;text-align:left;padding:4px;border-radius:10px;border:1px solid var(--line);background:var(--surface);cursor:pointer;overflow:hidden;color:var(--ink)}.cal-cell.out{opacity:.45}.cal-cell.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cal-n{font-weight:700;font-size:13px}.cal-dot{display:block;font-size:10.5px;line-height:1.25;color:#fff;border-radius:4px;padding:1px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-dot.g{color:var(--ink);background:none;border-left:3px solid;border-radius:2px}.cal-more{font-size:11px;color:var(--muted)}.cal-week{display:grid;gap:8px}.cal-wday{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:8px 10px}.cal-wday.today{border-color:var(--accent)}.cal-wh{border:0;background:none;padding:0 0 6px;font:inherit;color:inherit;cursor:pointer}.cal-add{border:1px dashed var(--line-strong);background:none;border-radius:8px;padding:4px 8px;font-size:13px;color:var(--muted);cursor:pointer}.cal-allday{margin:0 0 8px}.cal-day{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}.cal-slot{display:grid;grid-template-columns:54px 1fr;min-height:34px;border-top:1px solid var(--line);cursor:pointer}.cal-slot:first-child{border-top:0}.cal-slot:not(.hour){border-top-style:dashed}.cal-slot:hover{background:var(--soft)}.cal-t{font-size:12px;color:var(--muted);padding:4px 6px;background:var(--surface-2)}.cal-sitems{padding:3px 6px 0}@media(max-width:560px){.cal-cell{min-height:64px}.cal-dot{font-size:9.5px}}.time-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.time-top .inp{width:auto;min-width:140px}.time-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 12px}.time-nav b{font-size:17px}.time-nav .btn{min-width:48px}.time-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.time-totals>div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 10px;display:grid;grid-template-columns:auto 1fr;column-gap:6px;align-items:center}.time-totals small{color:var(--ink-2);font-size:12px}.time-totals b{grid-column:1 / -1;font-size:17px;margin-top:2px}.time-totals .time-dot{margin:0;width:10px;height:10px}.time-dot{flex:none;width:12px;height:12px;border-radius:50%;margin-right:10px;background:var(--ink-2)}.time-dot.shop,.time-seg.shop{background:var(--accent)}.time-dot.travel,.time-seg.travel{background:var(--warn)}.time-dot.site,.time-seg.site{background:var(--ok)}.time-dot.stop,.time-seg.stop{background:var(--line-strong)}.time-bar-wrap{margin:0 0 14px}.time-bar{position:relative;height:22px;border-radius:8px;background:var(--soft);overflow:hidden}.time-seg{position:absolute;top:0;bottom:0;border:0;padding:0;cursor:pointer}.time-bar-ends{display:flex;justify-content:space-between;margin-top:4px}.time-steps{padding-left:20px;margin:0}.time-steps li{margin:0 0 14px;line-height:1.5}.time-steps .btn{display:inline-block;margin:6px 0;text-decoration:none}.time-kv{display:grid;grid-template-columns:90px 1fr auto;gap:8px;align-items:center;padding:4px 0}.time-kv code{overflow-wrap:anywhere;font-size:12px}@media(max-width:420px){.time-totals{grid-template-columns:repeat(2,1fr)}}
