:root{--font: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--r: 8px;--r-sm: 6px;--bg: #F4F5F7;--surface: #FFFFFF;--surface2: #F7F8FA;--border: #E3E6EA;--border-strong: #CBD1D8;--text: #111827;--text2: #374151;--muted: #5F6875;--accent: #1E3A5F;--accent-hover: #16304F;--accent-soft: #E7EDF5;--accent-ink: #1E3A5F;--on-accent: #FFFFFF;--link: #1F4E8C;--ok: #13653A;--ok-bg: #E6F4EC;--warn: #8A5300;--warn-bg: #FDF2D9;--bad: #B42318;--bad-bg: #FCEBEA;--info: #1D4ED8;--info-bg: #E8EEFC;--neu: #3F4752;--neu-bg: #EDEFF2;--shadow: 0 1px 2px rgba(16, 24, 40, .05);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .14);--focus: 0 0 0 3px rgba(30, 58, 95, .25);color-scheme:light}:root[data-theme=dark]{--bg: #0D1015;--surface: #14181F;--surface2: #191E26;--border: #262C36;--border-strong: #353D49;--text: #E7EAEE;--text2: #C2C8D0;--muted: #939CA8;--accent: #3E6DAA;--accent-hover: #4A7AB8;--accent-soft: #1B2636;--accent-ink: #A9C4EA;--link: #9CBCEB;--ok: #6FCF97;--ok-bg: #12261B;--warn: #E6B657;--warn-bg: #2A2113;--bad: #F2928A;--bad-bg: #2C1716;--info: #93B4F5;--info-bg: #162036;--neu: #BAC1CB;--neu-bg: #222833;--shadow: none;--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5);--focus: 0 0 0 3px rgba(156, 188, 235, .3);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--link)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:none;box-shadow:var(--focus)}h1,h2,h3,h4{margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mono{font-family:var(--mono);font-size:12.5px}.muted{color:var(--muted)}.sm{font-size:12.5px;color:var(--muted)}.grow{flex:1 1 auto;min-width:0}.row{display:flex;align-items:center;gap:8px}.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:16px}.shell{display:flex;min-height:100vh}.sidebar{width:248px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:30}.brand{display:flex;align-items:center;gap:10px;padding:0 18px;min-height:56px;border-bottom:1px solid var(--border);text-decoration:none;color:inherit}.brand-mark{width:30px;height:30px;border-radius:7px;background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.brand-name{font-weight:600;font-size:14px;line-height:1.2}.brand-sub{font-size:12px;color:var(--muted);line-height:1.3}.nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:14px}.nav-group{display:flex;flex-direction:column;gap:1px}.nav-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px 10px 6px}.nav-item{display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border-radius:var(--r-sm);text-decoration:none;font-size:13.5px;font-weight:500;color:var(--text2)}.nav-item:hover{background:var(--surface2);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.nav-item .count{margin-left:auto;font-size:11px;font-weight:600;min-width:20px;height:18px;padding:0 6px;border-radius:9px;background:var(--accent-soft);color:var(--accent-ink);display:inline-flex;align-items:center;justify-content:center}.nav-item.active .count{background:var(--surface)}.nav-item .ext{margin-left:auto;color:var(--muted)}.side-foot{padding:12px 14px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px}.main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.topbar{min-height:56px;display:flex;align-items:center;gap:12px;padding:10px 24px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.icon-btn.menu-btn{display:none}.content{width:100%;max-width:1280px;padding:24px 32px 64px;display:flex;flex-direction:column;gap:20px}.content.narrow{max-width:1040px}.scrim{display:none}@media (max-width: 900px){.sidebar{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-lg)}.sidebar.open{transform:none}.scrim.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:25}.icon-btn.menu-btn{display:inline-flex}.content{padding:20px 16px 48px}.topbar{padding:10px 16px}}.search{flex:1 1 260px;max-width:520px;position:relative;display:flex;align-items:center}.search svg{position:absolute;left:11px;color:var(--muted);pointer-events:none}.search input{width:100%;height:36px;border:1px solid var(--border);background:var(--surface2);border-radius:var(--r-sm);padding:0 12px 0 34px;font-size:13.5px}.tools{margin-left:auto;display:flex;align-items:center;gap:4px}.vr{width:1px;height:24px;background:var(--border);margin:0 6px}.ph{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.ph-text{flex:1 1 320px;min-width:0}.crumb{font-size:12.5px;color:var(--muted);margin-bottom:4px;display:flex;gap:6px;align-items:center}.crumb a{color:var(--link);text-decoration:none}.h1{font-size:22px;font-weight:600;letter-spacing:-.01em}.sub{font-size:13.5px;color:var(--muted);margin:4px 0 0;max-width:760px}.h2{font-size:15px;font-weight:600}.btn{height:36px;padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:13.5px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;white-space:nowrap;text-decoration:none}.btn:hover:not(:disabled){background:var(--surface2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-danger{color:var(--bad);border-color:var(--bad)}.btn-danger-solid{background:var(--bad);border-color:var(--bad);color:#fff}.btn-sm{height:30px;padding:0 10px;font-size:12.5px}.btn-lg{height:44px;padding:0 18px;font-size:14.5px}.btn-block{width:100%}.btn-link{border:0;background:none;padding:0;height:auto;color:var(--link);font-weight:500;cursor:pointer;font-size:13px}.btn-link:hover{text-decoration:underline}.icon-btn{width:36px;height:36px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--text2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative;text-decoration:none;flex-shrink:0}.icon-btn:hover{background:var(--surface2);border-color:var(--border)}.icon-btn.bordered{border-color:var(--border-strong)}.icon-btn .dot{position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--bad);border:2px solid var(--surface)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);min-width:0}.card-h{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.card-t{font-size:14px;font-weight:600}.card-d{font-size:12.5px;color:var(--muted);margin-top:2px}.card-h .push{margin-left:auto}.card-b{padding:16px}.link{color:var(--link);font-size:13px;font-weight:500;text-decoration:none}.link:hover{text-decoration:underline}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.kpi{padding:16px 18px;display:flex;flex-direction:column;gap:4px}.kpi .lbl{font-size:12.5px;color:var(--muted);font-weight:500}.kpi .val{font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.15}.kpi .foot{font-size:12.5px;color:var(--text2)}.cols{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}.col-main{flex:2 1 560px;min-width:0;display:flex;flex-direction:column;gap:20px}.col-side{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:20px}.pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap}.pill .d{width:6px;height:6px;border-radius:50%;background:currentColor}.t-ok{background:var(--ok-bg);color:var(--ok)}.t-warn{background:var(--warn-bg);color:var(--warn)}.t-bad{background:var(--bad-bg);color:var(--bad)}.t-info{background:var(--info-bg);color:var(--info)}.t-neu{background:var(--neu-bg);color:var(--neu)}.tag{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:5px;font-size:12.5px;font-weight:500;border:1px solid var(--border-strong);color:var(--text2);background:var(--surface);white-space:nowrap}.av{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);font-size:11.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.av img{width:100%;height:100%;object-fit:cover}.av-lg{width:56px;height:56px;font-size:19px}.tw{overflow-x:auto}.tbl{min-width:100%}.tr{display:grid;align-items:center;gap:12px;padding:0 16px;min-height:52px;border-bottom:1px solid var(--border);font-size:13.5px}.tr:last-child{border-bottom:0}.tr.th{min-height:38px;background:var(--surface2);font-size:12px;font-weight:500;color:var(--muted)}.tr>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr.click{cursor:pointer}.tr.click:hover,.tr.open{background:var(--surface2)}.th-sort{all:unset;cursor:pointer;display:inline-flex;gap:4px;align-items:center}.th-sort.on{color:var(--text)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);overflow-x:auto}.tab{all:unset;cursor:pointer;padding:10px 12px;font-size:13.5px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;font-weight:500}.tab.on{color:var(--text);border-color:var(--accent)}.tab:focus-visible{box-shadow:var(--focus)}.tab .c{font-size:12px;color:var(--muted);margin-left:6px;background:var(--neu-bg);padding:1px 6px;border-radius:9px}.seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--r-sm);overflow:hidden;flex-shrink:0;max-width:100%}.seg button{all:unset;cursor:pointer;padding:0 11px;height:30px;display:inline-flex;align-items:center;font-size:12.5px;font-weight:500;color:var(--text2);border-right:1px solid var(--border);background:var(--surface)}.seg button:last-child{border-right:0}.seg button.on{background:var(--accent);color:var(--on-accent)}.seg button.on.none{background:var(--neu-bg);color:var(--neu)}.seg button.def{box-shadow:inset 0 -2px 0 var(--border-strong)}.seg button:disabled{cursor:not-allowed;opacity:.7}.seg button:focus-visible{box-shadow:var(--focus)}.field{display:flex;flex-direction:column;gap:6px}.field>span,.label{font-size:12.5px;font-weight:500;color:var(--text2)}.input,.select,.textarea{width:100%;height:36px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--r-sm);padding:0 10px;font-size:13.5px}.textarea{height:90px;padding:8px 10px;resize:vertical}.select{padding:0 8px}.input:disabled,.select:disabled{background:var(--surface2);color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.filters .search{max-width:none}.filters .search input{background:var(--surface);border-color:var(--border-strong);height:34px}.filters .select{width:auto;flex:0 1 180px;min-width:130px;height:34px}.check{display:inline-flex;gap:8px;align-items:center;font-size:13.5px;cursor:pointer}.check input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .full{grid-column:1 / -1}@media (max-width: 700px){.form-grid{grid-template-columns:1fr}}.switch{width:36px;height:20px;border-radius:10px;background:var(--accent);position:relative;border:0;cursor:pointer;padding:0;flex-shrink:0}.switch:after{content:"";position:absolute;top:3px;right:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:all .12s}.switch.off{background:var(--border-strong)}.switch.off:after{right:17px}.switch:disabled{opacity:.6;cursor:not-allowed}.setting{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--border)}.setting:last-child{border-bottom:0}.setting .l{flex:1 1 300px;min-width:0}.setting .t{font-size:13.5px;font-weight:500}.setting .d{font-size:12.5px;color:var(--muted)}.banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--r);border:1px solid;font-size:13.5px}.banner.warn{border-color:var(--warn);background:var(--warn-bg)}.banner.bad{border-color:var(--bad);background:var(--bad-bg)}.banner.info{border-color:var(--info);background:var(--info-bg)}.banner>svg{flex-shrink:0}.banner.warn>svg{color:var(--warn)}.banner.bad>svg{color:var(--bad)}.banner.info>svg{color:var(--info)}.empty{padding:32px 16px;text-align:center;color:var(--muted);font-size:13.5px}.list-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);font-size:13.5px}.list-row:last-child{border-bottom:0}.kv{display:flex;justify-content:space-between;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);font-size:13.5px}.kv:last-child{border-bottom:0}.bar{height:8px;border-radius:4px;background:var(--surface2);border:1px solid var(--border);overflow:hidden}.bar>span{display:block;height:100%;background:var(--accent)}.dialog-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;z-index:100}.dialog{width:100%;max-width:460px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:20px;display:flex;flex-direction:column;gap:14px}.dialog h2{font-size:16px;font-weight:600}.dialog .actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.toasts{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:200;max-width:calc(100vw - 40px)}.toast{background:var(--text);color:var(--bg);padding:10px 14px;border-radius:var(--r-sm);font-size:13.5px;box-shadow:var(--shadow-lg);max-width:420px}.toast.bad{background:var(--bad);color:#fff}.auth{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.auth-top{display:flex;align-items:center;gap:10px;padding:18px 28px}.auth-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 16px 64px}.auth-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:32px;display:flex;flex-direction:column;gap:18px}.auth-card h1{font-size:22px;font-weight:600;letter-spacing:-.01em}.auth-card p{margin:0;color:var(--text2)}.auth-foot{text-align:center;padding:0 16px 24px;font-size:12px;color:var(--muted)}.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.steps li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;font-size:13px;color:var(--text2)}.steps .n{width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);font:600 11.5px var(--mono);display:flex;align-items:center;justify-content:center}.code-input{font:600 24px var(--mono);letter-spacing:.4em;text-align:center;height:52px}.who{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface2)}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--muted)}.diff-old{background:var(--bad-bg);color:var(--bad);padding:2px 8px;border-radius:4px;text-decoration:line-through}.diff-new{background:var(--ok-bg);color:var(--ok);padding:2px 8px;border-radius:4px}.stepper{display:flex;gap:0;overflow-x:auto;padding:14px 16px}.step{flex:1 1 0;min-width:110px;display:flex;flex-direction:column;gap:6px;position:relative}.step .bar2{height:4px;border-radius:2px;background:var(--border);margin-right:6px}.step.done .bar2{background:var(--accent)}.step.now .bar2{background:var(--accent);opacity:.55}.step .lb{font-size:12.5px;font-weight:500;color:var(--muted)}.step.now .lb,.step.done .lb{color:var(--text)}.step .ds{font-size:11.5px;color:var(--muted)}.pipeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.pipe{all:unset;cursor:pointer;padding:12px 16px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:2px}.pipe:last-child{border-right:0}.pipe:hover{background:var(--surface2)}.pipe.on{box-shadow:inset 0 -2px 0 var(--accent);background:var(--surface2)}.pipe .n{font-size:22px;font-weight:600;letter-spacing:-.02em}.pipe .l{font-size:12.5px;color:var(--muted);font-weight:500}.pipe:focus-visible{box-shadow:var(--focus)}.dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px 20px;padding:16px}.dl>div>dt{font-size:12px;color:var(--muted);font-weight:500;margin-bottom:3px}.dl>div>dd{margin:0;font-size:13.5px;word-break:break-word}.dl dl,.dl{margin:0}.prose{padding:14px 16px;border-bottom:1px solid var(--border)}.prose:last-child{border-bottom:0}.prose h3{font-size:12px;color:var(--muted);font-weight:500;margin-bottom:4px}.prose p{margin:0;white-space:pre-wrap;word-break:break-word;font-size:13.5px}.action-box{padding:16px;display:flex;flex-direction:column;gap:12px}.action-box .t{font-weight:600}.votes{display:flex;flex-direction:column;gap:8px;padding:14px 16px}.vote-row{display:grid;grid-template-columns:120px minmax(0,1fr) 28px;gap:10px;align-items:center;font-size:13px}.hist{padding:4px 16px}.hist-i{display:grid;grid-template-columns:14px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}.hist-i:last-child{border-bottom:0}.hist-i .dot2{width:8px;height:8px;border-radius:50%;background:var(--border-strong);margin-top:6px}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:90}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(620px,100vw);background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:95;display:flex;flex-direction:column}.drawer-h{display:flex;align-items:flex-start;gap:10px;padding:16px;border-bottom:1px solid var(--border)}.drawer-b{flex:1;overflow-y:auto}.drawer-f{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dialog.wide{max-width:720px;max-height:calc(100vh - 32px);overflow-y:auto}.pre{white-space:pre-wrap;font-family:var(--mono);font-size:12px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 12px;max-height:260px;overflow:auto}.callout{padding:12px 14px;border-radius:var(--r-sm);background:var(--surface2);border:1px solid var(--border);font-size:13px}.seg.grid2{display:grid;grid-template-columns:1fr 1fr}.seg.grid2 button{justify-content:center;height:34px;border-bottom:1px solid var(--border)}.seg.grid2 button:nth-child(2n){border-right:0}.seg.grid2 button:nth-last-child(-n+2){border-bottom:0}.report-sec{display:flex;flex-direction:column;gap:14px;margin-bottom:28px}.report-h{font-size:16px;font-weight:600;margin:0;letter-spacing:-.01em}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.bars{display:flex;flex-direction:column;gap:6px}.bar-row{display:grid;grid-template-columns:minmax(90px,38%) 1fr 40px;gap:10px;align-items:center;font-size:13px;padding:2px 0;border-radius:4px}.bar-row:hover{background:var(--surface2)}.bar-l{color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-t{height:12px}.bar-f{height:100%;min-width:3px;background:var(--accent);border-radius:0 4px 4px 0}.bar-v{text-align:right;color:var(--text);font-size:12.5px}@media (max-width: 520px){.report-grid{grid-template-columns:1fr}}@media print{.sidebar,.topbar,.scrim,.no-print{display:none!important}.shell,.main,.content{display:block!important;padding:0!important;max-width:none!important}.card{break-inside:avoid;box-shadow:none!important}.bar-f{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.report-sec .kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.brand-badge{flex-shrink:0;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}.fto-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.fto-item{display:flex;gap:10px;padding:9px 16px;border-bottom:1px solid var(--border);font-size:13.5px;align-items:flex-start}.print-only{display:none}@media print{.print-only{display:block}.fto-record .tw{overflow:visible}.fto-record .tbl{min-width:0!important}.fto-sec{break-inside:avoid}}.ck-bar{gap:10px}.ck-search{position:relative;flex:1 1 260px;max-width:360px}.ck-search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.ck-search .input{padding-left:32px}.ck-help{margin:0;padding:10px 16px;color:var(--muted);border-bottom:1px solid var(--border)}.ck-bulk{position:sticky;top:56px;z-index:6;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;background:var(--accent-soft);border-bottom:1px solid var(--border);font-size:13px}.ck-bulk .select{height:30px;font-size:13px}.ck-sec{border-bottom:1px solid var(--border)}.ck-sec.dragging{opacity:.45}.ck-sec.drop-above{box-shadow:inset 0 3px 0 var(--accent)}.ck-head{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 8px;background:var(--surface2);position:sticky;top:0;z-index:2;min-height:48px}.ck-toggle{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--text);cursor:pointer;padding:4px 2px;font:inherit}.ck-title{font-weight:600;font-size:14px}.ck-rename{max-width:320px;height:32px}.ck-count{color:var(--muted);white-space:nowrap}.ck-grip{display:inline-flex;color:var(--muted);cursor:grab;padding:4px 2px;border-radius:4px;flex-shrink:0}.ck-grip:hover{color:var(--text);background:var(--surface)}.ck-grip:active{cursor:grabbing}.ck-menu-wrap{position:relative}.ck-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:200px;padding:4px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);box-shadow:0 8px 24px #0000002e}.ck-menu button{display:block;width:100%;text-align:left;border:0;background:none;color:var(--text);padding:8px 10px;border-radius:4px;font:inherit;font-size:13px;cursor:pointer}.ck-menu button:hover:not(:disabled){background:var(--surface2)}.ck-menu button:disabled{color:var(--muted);cursor:default}.ck-menu button.danger{color:var(--bad)}.ck-items{padding:4px 0 8px}.ck-item{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;min-height:42px;border-top:1px solid transparent;position:relative}.ck-item:hover,.ck-item:focus-visible{background:var(--surface2);outline:none}.ck-item:focus-visible{box-shadow:inset 2px 0 0 var(--accent)}.ck-item.sel{background:var(--accent-soft)}.ck-item.off .ck-text{color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 50%,transparent)}.ck-item.dragging{opacity:.4}.ck-item.drop-above:before,.ck-drop-end{content:"";display:block;height:3px;background:var(--accent);border-radius:2px}.ck-item.drop-above:before{position:absolute;left:8px;right:12px;top:-2px}.ck-drop-end{margin:2px 12px 2px 8px}.ck-num{width:34px;flex-shrink:0;text-align:right;color:var(--muted);font-size:12px}.ck-text{min-width:0;cursor:default;line-height:1.4;font-size:13.5px}.ck-text[role=button]{cursor:text}.ck-desc{color:var(--muted);font-size:12.5px}.ck-tags{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.ck-tags .sm{color:var(--muted);white-space:nowrap}.ck-actions{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;opacity:0;transition:opacity .12s}.ck-actions .icon-btn{width:30px;height:30px}.ck-item:hover .ck-actions,.ck-item:focus-within .ck-actions,.ck-item.sel .ck-actions{opacity:1}@media (hover: none){.ck-actions{opacity:1}}.ck-item.editing{background:var(--surface2);padding:10px 12px 10px 52px}.ck-edit{display:flex;flex-direction:column;gap:8px;width:100%}.ck-empty{padding:14px 16px 14px 52px;color:var(--muted);border:1px dashed transparent;margin:4px 12px;border-radius:var(--r-sm)}.ck-empty.drop-on{border-color:var(--accent);background:var(--accent-soft)}.ck-add{display:flex;align-items:flex-start;gap:8px;padding:4px 12px 4px 94px}.ck-add svg{margin-top:10px;flex-shrink:0}.ck-add .input{height:auto;min-height:34px;padding:7px 10px;resize:none;font:inherit;font-size:13.5px;background:transparent;border-style:dashed}.ck-add .input:focus{background:var(--surface);border-style:solid}.ck-drop-tail{margin:8px 12px 12px;padding:14px;text-align:center;border:1px dashed var(--border-strong);border-radius:var(--r-sm);color:var(--muted);font-size:13px}.ck-drop-tail.on{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}@media (max-width: 640px){.ck-item{flex-wrap:wrap}.ck-text{flex-basis:calc(100% - 110px)}.ck-tags{margin-left:52px}.ck-item.editing,.ck-add,.ck-empty{padding-left:12px}.ck-num{width:28px}}.ck-add-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 0}.ck-days{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 16px;border-bottom:1px solid var(--border)}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:14px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text2);font:inherit;font-size:12.5px;cursor:pointer}.chip .c{font-size:11px;color:var(--muted)}.chip:hover{background:var(--surface2)}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.chip.on .c{color:inherit;opacity:.85}.chip.warn:not(.on){border-color:var(--warn)}.day-tag{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap;margin-left:6px;background:var(--accent-soft);color:var(--accent-ink)}.day-tag.none{background:transparent;border:1px dashed var(--border-strong);color:var(--muted);font-weight:500}.day-tag.d4{background:var(--ok-bg);color:var(--ok)}.ck-tags .day-tag{margin-left:0}.day-pick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.day-opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;text-align:left}.day-opt .d{font-weight:600;font-size:13.5px}.day-opt .n{font-size:12px;color:var(--muted);min-height:16px}.day-opt:hover:not(:disabled){background:var(--surface2)}.day-opt.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}.day-opt:disabled{opacity:.5;cursor:not-allowed}.days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px}.day{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);min-height:150px}.day.next{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.day.done{background:color-mix(in srgb,var(--ok-bg) 60%,var(--surface))}.day.open{outline:2px solid var(--accent);outline-offset:-2px}.day-n{font-weight:600}.day-big{font-size:20px;font-weight:600;letter-spacing:-.01em}.day-meta{color:var(--muted)}.day-open{margin:0 16px 16px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface2)}.day-open ul{margin:0;padding-left:18px;columns:2;column-gap:28px;font-size:13px}.day-open li{break-inside:avoid;margin-bottom:4px}@media (max-width: 900px){.days{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.days{grid-template-columns:1fr;padding:12px}.day{min-height:0}.day-pick{grid-template-columns:1fr 1fr}.day-open ul{columns:1}}.bulk-list{max-height:300px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 14px}
