:root{--ink: #0a0a0a;--ink-hover: #262626;--ink-active: #000000;--ink-2: #404040;--ink-3: #525252;--ink-4: #737373;--ink-5: #a3a3a3;--ink-6: #c4c4c4;--paper: #ffffff;--canvas: #fafafa;--canvas-2: #f4f4f5;--canvas-3: #ebebeb;--line: #ededed;--line-2: #e0e0e0;--line-strong: #d4d4d4;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-soft: #eff6ff;--accent-ring: rgba(37, 99, 235, .18);--ok: #15803d;--ok-soft: #f0f9f2;--ok-line: #cfe8d6;--warn: #b45309;--warn-soft: #fdf6ec;--warn-line: #f0dcbe;--danger: #b91c1c;--danger-soft: #fdf0f0;--danger-line: #f0cccc;--info: #1d4ed8;--info-soft: #eff6ff;--info-line: #cfdffa;--muted: #525252;--muted-soft: #f4f4f5;--muted-line: #e0e0e0;--font-sans: "HarmonyOS Sans SC", "MiSans", "PingFang SC", "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", "Cascadia Mono", Consolas, "Liberation Mono", monospace;--fs-display: clamp(2.25rem, 3.2vw, 2.75rem);--fs-title: 1.5rem;--fs-h: 1.0625rem;--fs-body: .9375rem;--fs-sm: .875rem;--fs-xs: .8125rem;--fs-label: .75rem;--fs-num-xl: 3.25rem;--fs-num: 2.125rem;--fs-num-sm: 1.5rem;--lh-tight: 1.15;--lh-snug: 1.35;--lh-normal: 1.6;--lh-relaxed: 1.75;--ls-display: -.028em;--ls-title: -.018em;--ls-label: .08em;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--sp-20: 5rem;--r-card: 18px;--r-card-sm: 12px;--r-ctl: 10px;--r-full: 999px;--shadow-xs: 0 1px 2px rgba(10, 10, 10, .04);--shadow-sm: 0 1px 3px rgba(10, 10, 10, .06);--shadow-md: 0 8px 24px rgba(10, 10, 10, .07);--shadow-lg: 0 24px 64px rgba(10, 10, 10, .14);--shadow-focus: 0 0 0 3px var(--accent-ring);--sidebar-w: 236px;--topbar-h: 64px;--content-max: 1280px;--ease: cubic-bezier(.32, .72, 0, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .14s;--dur: .22s;--dur-slow: .38s}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur: 0ms;--dur-slow: 0ms}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-normal);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,svg,video,canvas{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:none;padding:0;cursor:pointer}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}ul,ol{list-style:none;padding:0}table{border-collapse:collapse;width:100%}::selection{background:var(--ink);color:var(--paper)}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-2);border:3px solid transparent;background-clip:content-box;border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--ink-5);background-clip:content-box}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:var(--r-ctl)}h1,h2,h3,h4{font-weight:600;line-height:var(--lh-tight);letter-spacing:var(--ls-title);color:var(--ink)}h1{font-size:var(--fs-display);letter-spacing:var(--ls-display)}h2{font-size:var(--fs-title)}h3{font-size:var(--fs-h)}h4{font-size:var(--fs-body)}p{color:var(--ink-3)}strong,b{font-weight:600;color:var(--ink)}small{font-size:var(--fs-xs)}code,kbd,pre{font-family:var(--font-mono);font-size:.9em}.num,td.num,th.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.overline{font-size:var(--fs-label);font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ink-4)}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.stack-sm{gap:var(--sp-2)}.stack-lg{gap:var(--sp-8)}.row{display:flex;align-items:center;gap:var(--sp-3)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}.row-wrap{flex-wrap:wrap}.spacer{flex:1 1 auto}.grid{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(var(--col-min, 240px),1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1080px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--sp-6)}.card-flush{padding:0;overflow:hidden}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-5)}.card-head h3{font-size:var(--fs-h);letter-spacing:-.01em}.card-head p{font-size:var(--fs-xs);color:var(--ink-4);margin-top:3px}.card-link{display:block;transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.card-link:hover{border-color:var(--line-strong);transform:translateY(-1px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:40px;padding:0 var(--sp-4);border:1px solid transparent;border-radius:var(--r-ctl);font-size:var(--fs-sm);font-weight:500;white-space:nowrap;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.btn:active:not(:disabled){transform:scale(.985)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover:not(:disabled){background:var(--ink-hover)}.btn-primary:active:not(:disabled){background:var(--ink-active)}.btn-secondary{background:var(--paper);border-color:var(--line-strong);color:var(--ink)}.btn-secondary:hover:not(:disabled){background:var(--canvas-2);border-color:var(--ink-5)}.btn-ghost{background:transparent;color:var(--ink-3)}.btn-ghost:hover:not(:disabled){background:var(--canvas-2);color:var(--ink)}.btn-danger{background:var(--paper);border-color:var(--danger-line);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.btn-danger-solid{background:var(--danger);color:var(--paper)}.btn-danger-solid:hover:not(:disabled){background:#991b1b}.btn-sm{height:32px;padding:0 var(--sp-3);font-size:var(--fs-xs)}.btn-lg{height:48px;padding:0 var(--sp-6);font-size:var(--fs-body)}.btn-block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-ctl);color:var(--ink-3);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.icon-btn:hover{background:var(--canvas-2);color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:500;color:var(--ink-3);white-space:nowrap;transition:color var(--dur-fast) var(--ease)}.text-link:hover{color:var(--ink)}.field{display:flex;flex-direction:column;gap:var(--sp-2)}.field>label,.field-label{font-size:var(--fs-xs);font-weight:500;color:var(--ink-2)}.field-hint{font-size:var(--fs-label);color:var(--ink-4);line-height:var(--lh-snug)}.field-error{font-size:var(--fs-label);color:var(--danger)}.input,.select,.textarea{width:100%;min-height:40px;padding:9px var(--sp-3);background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-ctl);font-size:var(--fs-sm);color:var(--ink);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.input::placeholder,.textarea::placeholder{color:var(--ink-5)}.input:hover:not(:disabled),.select:hover:not(:disabled),.textarea:hover:not(:disabled){border-color:var(--ink-5)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #0a0a0a14}.input:disabled,.select:disabled,.textarea:disabled{background:var(--canvas-2);color:var(--ink-5);cursor:not-allowed}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.textarea{min-height:96px;resize:vertical;line-height:var(--lh-normal)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--sp-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--sp-3) center;cursor:pointer}.check{display:inline-flex;align-items:flex-start;gap:var(--sp-3);cursor:pointer;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-snug)}.check input[type=checkbox],.check input[type=radio]{flex:none;width:17px;height:17px;margin-top:1px;accent-color:var(--ink);cursor:pointer}.switch{position:relative;display:inline-flex;align-items:center;width:40px;height:22px;flex:none;background:var(--line-strong);border-radius:var(--r-full);transition:background var(--dur) var(--ease)}.switch[data-on=true]{background:var(--ink)}.switch:after{content:"";position:absolute;left:2px;width:18px;height:18px;background:var(--paper);border-radius:50%;box-shadow:var(--shadow-xs);transition:transform var(--dur) var(--ease)}.switch[data-on=true]:after{transform:translate(18px)}.range{width:100%;height:20px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}.range::-webkit-slider-runnable-track{height:3px;background:var(--line-2);border-radius:var(--r-full)}.range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;margin-top:-6.5px;background:var(--ink);border-radius:50%;border:none}.range::-moz-range-track{height:3px;background:var(--line-2);border-radius:var(--r-full)}.range::-moz-range-thumb{width:16px;height:16px;background:var(--ink);border:none;border-radius:50%}.table-wrap{overflow-x:auto}.table{font-size:var(--fs-sm)}.table thead th{padding:0 var(--sp-4) var(--sp-3);text-align:left;font-size:var(--fs-label);font-weight:600;letter-spacing:.04em;color:var(--ink-4);white-space:nowrap;border-bottom:1px solid var(--line)}.table tbody td{padding:var(--sp-4);border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background var(--dur-fast) var(--ease)}.table tbody tr:hover{background:var(--canvas)}.table tbody tr[data-selected=true]{background:var(--canvas-2)}.table .cell-strong{color:var(--ink);font-weight:500}.table .cell-muted{color:var(--ink-4);font-size:var(--fs-xs)}.table .col-num{text-align:right;font-variant-numeric:tabular-nums}.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--line)}.pager-info{font-size:var(--fs-xs);color:var(--ink-4)}.pager-actions{display:flex;align-items:center;gap:var(--sp-2)}.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--r-full);font-size:var(--fs-label);font-weight:500;line-height:1.5;white-space:nowrap;background:var(--canvas-2);color:var(--ink-3)}.tag-ok{background:var(--ok-soft);color:var(--ok)}.tag-warn{background:var(--warn-soft);color:var(--warn)}.tag-danger{background:var(--danger-soft);color:var(--danger)}.tag-info{background:var(--info-soft);color:var(--info)}.tag-ink{background:var(--ink);color:var(--paper)}.tag-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.notice{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-card-sm);font-size:var(--fs-xs);line-height:var(--lh-snug);background:var(--canvas-2);color:var(--ink-3);border:1px solid var(--line)}.notice-info{background:var(--info-soft);border-color:var(--info-line);color:var(--ink-2)}.notice-warn{background:var(--warn-soft);border-color:var(--warn-line);color:var(--ink-2)}.notice-danger{background:var(--danger-soft);border-color:var(--danger-line);color:var(--ink-2)}.notice-ok{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ink-2)}.stat{display:flex;flex-direction:column;gap:var(--sp-2)}.stat-label{font-size:var(--fs-xs);color:var(--ink-4);display:flex;align-items:center;gap:var(--sp-2)}.stat-value{font-size:var(--fs-num);font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}.stat-unit{font-size:var(--fs-xs);font-weight:500;color:var(--ink-4);margin-left:4px;letter-spacing:0}.stat-detail{font-size:var(--fs-label);color:var(--ink-4)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-12) var(--sp-6);text-align:center;color:var(--ink-4)}.empty-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-full);background:var(--canvas-2);color:var(--ink-4)}.empty h4{font-size:var(--fs-body);color:var(--ink)}.empty p{font-size:var(--fs-xs);max-width:42ch;color:var(--ink-4)}.spinner{width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.spinner-lg{width:22px;height:22px;border-width:2.5px}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .9s linear infinite}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}.spin{animation:none}}.skeleton{background:linear-gradient(90deg,var(--canvas-2) 25%,var(--canvas-3) 37%,var(--canvas-2) 63%);background-size:400% 100%;border-radius:var(--r-ctl);animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none;background:var(--canvas-2)}}.divider{height:1px;background:var(--line);border:none}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0a0a0a52;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in var(--dur) var(--ease)}@keyframes fade-in{0%{opacity:0}}.modal{position:fixed;z-index:51;top:50%;left:50%;transform:translate(-50%,-50%);width:min(720px,calc(100vw - 2rem));max-height:min(86vh,900px);display:flex;flex-direction:column;background:var(--paper);border-radius:var(--r-card);box-shadow:var(--shadow-lg);overflow:hidden;animation:modal-in var(--dur) var(--ease)}@keyframes modal-in{0%{opacity:0;transform:translate(-50%,-48%) scale(.98)}}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--line)}.modal-body{padding:var(--sp-6);overflow-y:auto;flex:1 1 auto}.modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--line);background:var(--canvas)}.dialog{width:min(440px,calc(100vw - 2rem))}.dialog-body{padding:var(--sp-6) var(--sp-6) var(--sp-5)}.dialog-body h3{font-size:1.0625rem;font-weight:600;letter-spacing:-.01em}.dialog-desc{margin-top:var(--sp-2);font-size:var(--fs-sm);line-height:var(--lh-relaxed);color:var(--ink-4)}.dialog-field{margin-top:var(--sp-5)}.dialog-count{align-self:flex-end;font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-60px;left:var(--sp-4);z-index:100;padding:var(--sp-3) var(--sp-4);background:var(--ink);color:var(--paper);border-radius:var(--r-ctl);font-size:var(--fs-sm);transition:top var(--dur) var(--ease)}.skip-link:focus{top:var(--sp-4)}.app-shell{display:flex;min-height:100vh;background:var(--canvas)}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:40;width:var(--sidebar-w);display:flex;flex-direction:column;background:var(--paper);border-right:1px solid var(--line)}.sidebar-top{display:flex;align-items:center;justify-content:space-between;height:var(--topbar-h);padding:0 var(--sp-5);flex:none}.brand{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.brand-mark{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;background:var(--ink);color:var(--paper);border-radius:10px}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-name{font-size:.9375rem;font-weight:600;letter-spacing:-.01em;color:var(--ink);line-height:1.25}.brand-name span{font-weight:400;color:var(--ink-4);margin-left:1px}.brand-sub{font-size:10px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-5);line-height:1.4}.sidebar-nav{flex:1 1 auto;overflow-y:auto;padding:var(--sp-4) var(--sp-3);display:flex;flex-direction:column;gap:2px}.nav-group-label{padding:var(--sp-4) var(--sp-3) var(--sp-2);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-5)}.nav-item{display:flex;align-items:center;gap:var(--sp-3);height:40px;padding:0 var(--sp-3);border-radius:var(--r-ctl);color:var(--ink-3);font-size:var(--fs-sm);font-weight:500;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.nav-item:hover{background:var(--canvas-2);color:var(--ink);text-decoration:none}.nav-item-active,.nav-item-active:hover{background:var(--ink);color:var(--paper)}.nav-item svg{flex:none;opacity:.9}.nav-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-foot{flex:none;padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--line);display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-label);color:var(--ink-4)}.main-shell{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;margin-left:var(--sidebar-w)}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);height:var(--topbar-h);padding:0 var(--sp-8);background:#fafafad1;-webkit-backdrop-filter:blur(12px) saturate(180%);backdrop-filter:blur(12px) saturate(180%);border-bottom:1px solid var(--line)}.topbar-left,.topbar-right{display:flex;align-items:center;gap:var(--sp-4);min-width:0}.topbar-context{font-size:var(--fs-sm);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-context strong{font-weight:600;color:var(--ink)}.segmented{display:inline-flex;padding:3px;background:var(--canvas-2);border-radius:var(--r-ctl);gap:2px}.segmented button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 var(--sp-3);border-radius:7px;font-size:var(--fs-xs);font-weight:500;color:var(--ink-4);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.segmented button:hover{color:var(--ink)}.segmented button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-xs)}.segmented-lg{padding:4px}.segmented-lg button{height:36px;padding:0 var(--sp-4);font-size:var(--fs-sm)}.segmented .live-dot{width:6px;height:6px;border-radius:50%;background:var(--ink-4)}.segmented button[aria-pressed=true] .live-dot{background:var(--danger)}.user-chip{display:flex;align-items:center;gap:var(--sp-3);padding:3px var(--sp-3) 3px 3px;border-radius:var(--r-full);transition:background var(--dur-fast) var(--ease)}.user-chip:hover{background:var(--canvas-2)}.avatar{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;background:var(--ink);color:var(--paper);border-radius:50%;font-size:var(--fs-label);font-weight:600}.user-meta{display:flex;flex-direction:column;line-height:1.25}.user-meta strong{font-size:var(--fs-xs);font-weight:600}.user-meta small{font-size:11px;color:var(--ink-4)}.main-content{flex:1 1 auto;width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--sp-8) var(--sp-8) var(--sp-16);display:flex;flex-direction:column;gap:var(--sp-10)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-6);flex-wrap:wrap}.page-head h1{font-size:var(--fs-display);font-weight:600;letter-spacing:var(--ls-display);line-height:1.1}.page-head .page-desc{margin-top:var(--sp-3);font-size:var(--fs-sm);color:var(--ink-4);max-width:68ch}.page-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.origin-note{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-label);color:var(--ink-4)}.origin-note .dot{width:6px;height:6px;border-radius:50%;background:var(--ink-5);flex:none}.origin-note[data-origin=REAL] .dot{background:var(--danger)}.app-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;padding:var(--sp-5) var(--sp-8);border-top:1px solid var(--line);font-size:var(--fs-label);color:var(--ink-5)}.mobile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;background:#0a0a0a4d;border:none;animation:fade-in var(--dur) var(--ease)}.mobile-only{display:none}@media(max-width:1024px){.mobile-only{display:inline-flex}.sidebar{transform:translate(-100%);transition:transform var(--dur) var(--ease);box-shadow:var(--shadow-lg);border-right:none}.sidebar-open{transform:none}.main-shell{margin-left:0}.topbar{padding:0 var(--sp-5)}.main-content{padding:var(--sp-6) var(--sp-5) var(--sp-12)}.app-footer{padding:var(--sp-5)}.topbar-context{display:none}}@media(max-width:640px){.user-meta{display:none}.segmented button{padding:0 var(--sp-2)}}.app-toaster{--normal-bg: var(--paper);--normal-border: var(--line);--normal-text: var(--ink);--success-bg: var(--paper);--success-border: var(--ok-line);--success-text: var(--ok);--error-bg: var(--paper);--error-border: var(--danger-line);--error-text: var(--danger);--warning-bg: var(--paper);--warning-border: var(--warn-line);--warning-text: var(--warn);font-family:var(--font-sans)}.app-toaster [data-sonner-toast]{border-radius:var(--r-ctl);box-shadow:var(--shadow-md);font-size:var(--fs-xs);padding:var(--sp-3) var(--sp-4)}.app-toaster [data-sonner-toast] [data-title]{font-weight:500;line-height:var(--lh-snug)}.app-toaster [data-sonner-toast] [data-description]{color:var(--ink-4)}.app-toaster [data-sonner-toast] [data-button],.app-toaster [data-sonner-toast] [data-close-button]{border-radius:7px}.login{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh;background:var(--paper)}.login-brand{display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-10);padding:var(--sp-10) var(--sp-12);background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 80% at 85% 8%,#ffffff12,#fff0 55%);pointer-events:none}.login-brand-top,.login-brand-main,.login-brand-foot{position:relative;z-index:1}.login-brand-main{max-width:34rem}.login-brand h1{font-size:clamp(2.25rem,4vw,3.25rem);font-weight:600;letter-spacing:-.035em;line-height:1.12;color:var(--paper)}.login-brand-main>p{margin-top:var(--sp-5);font-size:var(--fs-body);line-height:var(--lh-relaxed);color:#ffffff9e;max-width:30rem}.login-points{margin-top:var(--sp-10);display:flex;flex-direction:column;gap:var(--sp-3)}.login-points li{display:flex;align-items:baseline;gap:var(--sp-3);font-size:var(--fs-sm);color:#ffffffc7;padding-top:var(--sp-3);border-top:1px solid rgba(255,255,255,.1)}.login-point-num{font-family:var(--font-mono);font-size:var(--fs-label);color:#fff6;flex:none}.login-brand-foot{font-size:var(--fs-label);color:#ffffff61}.brand-tone-light .brand-mark{background:var(--paper);color:var(--ink)}.brand-tone-light .brand-name{color:var(--paper)}.brand-tone-light .brand-name span{color:#ffffff80}.brand-tone-light .brand-sub{color:#ffffff6b}.login-form-side{display:flex;align-items:center;justify-content:center;padding:var(--sp-10) var(--sp-6)}.login-form-wrap{width:100%;max-width:348px}.login-form-wrap h2{font-size:1.75rem;font-weight:600;letter-spacing:-.02em}.login-form-desc{margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-4)}.login-form{margin-top:var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-5)}.login-form .btn{width:100%;margin-top:var(--sp-1)}.login-password{position:relative}.login-password .input{padding-right:42px}.login-reveal{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;color:var(--ink-4);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.login-reveal:hover{background:var(--canvas-2);color:var(--ink)}.login-hint{margin-top:var(--sp-8);padding-top:var(--sp-5);border-top:1px solid var(--line);font-size:var(--fs-xs);line-height:var(--lh-relaxed);color:var(--ink-4)}.login-hint code{padding:1px 5px;background:var(--canvas-2);border-radius:5px;font-size:.9em;color:var(--ink-2)}@media(max-width:900px){.login{grid-template-columns:minmax(0,1fr)}.login-brand{padding:var(--sp-8) var(--sp-6);gap:var(--sp-8)}.login-brand h1{font-size:1.75rem}.login-brand-main>p,.login-points,.login-brand-foot{display:none}.login-form-side{padding:var(--sp-8) var(--sp-6) var(--sp-12);align-items:flex-start}}.dash-section{display:flex;flex-direction:column}.dash-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap}.dash-section-head h2{font-size:var(--fs-title);letter-spacing:-.02em}.dash-section-head>span{font-size:var(--fs-xs);color:var(--ink-4)}.chart{height:200px;min-height:160px}.chart-lg{height:264px}.chart-legend{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--ink-4);white-space:nowrap}.chart-legend>span{width:8px;height:8px;border-radius:2px;background:var(--ink)}.chart-tip{display:flex;flex-direction:column;gap:2px;padding:var(--sp-2) var(--sp-3);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-ctl);box-shadow:var(--shadow-sm);font-size:var(--fs-xs)}.chart-tip span{color:var(--ink-4);font-size:var(--fs-label)}.chart-tip strong{font-variant-numeric:tabular-nums}.dash-foot{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--line);font-size:var(--fs-label);color:var(--ink-4)}.dash-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-4);align-items:start}@media(max-width:980px){.dash-split{grid-template-columns:minmax(0,1fr)}}.feed{display:flex;flex-direction:column}.feed-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}.feed-row:last-child{border-bottom:none}.feed-row:first-child{padding-top:0}.feed-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border-radius:8px;background:var(--canvas-2);color:var(--ink-4)}.feed-body{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.feed-body strong{font-size:var(--fs-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-body small{font-size:var(--fs-label);color:var(--ink-4)}.dash-guide{display:flex;flex-direction:column;gap:var(--sp-6)}.dash-guide-head h3{font-size:var(--fs-h)}.dash-guide-head p{margin-top:3px;font-size:var(--fs-xs);color:var(--ink-4)}.dash-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3)}@media(max-width:780px){.dash-steps{grid-template-columns:minmax(0,1fr)}}.dash-step{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-card-sm);text-align:left;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.dash-step:hover{border-color:var(--line-strong);background:var(--canvas)}.dash-step>svg{color:var(--ink-5);flex:none;transition:transform var(--dur) var(--ease),color var(--dur) var(--ease)}.dash-step:hover>svg{color:var(--ink);transform:translate(2px)}.dash-step-num{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink-5);flex:none}.dash-step-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;border-radius:9px;background:var(--canvas-2);color:var(--ink-3);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.dash-step:hover .dash-step-icon{background:var(--ink);color:var(--paper)}.dash-step-text{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.dash-step-text strong{font-size:var(--fs-sm);font-weight:500}.dash-step-text small{font-size:var(--fs-label);color:var(--ink-4)}.taskhist-filters{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(130px,1fr));gap:var(--sp-3);align-items:end;margin-bottom:var(--sp-5);padding-bottom:var(--sp-5);border-bottom:1px solid var(--line)}@media(max-width:900px){.taskhist-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.taskhist-filters{grid-template-columns:minmax(0,1fr)}}.taskhist-name{display:block}.taskhist-sub{display:block;margin-top:2px}.taskhist-actions{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.taskhist-action{font-size:var(--fs-xs);font-weight:500;color:var(--ink-3);white-space:nowrap;transition:color var(--dur-fast) var(--ease)}.taskhist-action:hover:not(:disabled){color:var(--ink);text-decoration:underline;text-underline-offset:3px}.taskhist-action:disabled{color:var(--ink-5);cursor:not-allowed}.taskhist-empty{padding:var(--sp-12) var(--sp-6);text-align:center;font-size:var(--fs-sm);color:var(--ink-4)}.taskhist-note{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--line);font-size:var(--fs-label);line-height:var(--lh-normal);color:var(--ink-4)}.videorev-modal .modal-head h2{font-size:var(--fs-h)}.videorev-close:disabled{opacity:.4;cursor:not-allowed}.videorev-modal .notice{margin-bottom:var(--sp-4)}.videorev-meta{margin-bottom:var(--sp-4);font-size:var(--fs-sm);color:var(--ink-3)}.videorev-player{margin-bottom:var(--sp-5);border-radius:var(--r-card-sm);overflow:hidden;background:var(--ink)}.videorev-player video{width:100%;max-height:44vh;background:var(--ink)}.videorev-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-5)}.videorev-toolbar strong{font-size:var(--fs-sm);font-weight:500}.videorev-warn{margin-top:var(--sp-3);font-size:var(--fs-xs);color:var(--warn)}.videorev-subhead{margin:var(--sp-6) 0 var(--sp-3);padding-top:var(--sp-5);border-top:1px solid var(--line);font-size:var(--fs-h)}.videorev-action{font-size:var(--fs-xs);font-weight:500;color:var(--ink-3);white-space:nowrap;transition:color var(--dur-fast) var(--ease)}.videorev-action:hover:not(:disabled){color:var(--ink);text-decoration:underline;text-underline-offset:3px}.videorev-action:disabled{color:var(--ink-5);cursor:not-allowed}.videorev-note{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--line);font-size:var(--fs-label);line-height:var(--lh-normal);color:var(--ink-4)}.videorev-foot-note{margin-right:auto;max-width:46ch;font-size:var(--fs-label);line-height:var(--lh-snug);color:var(--ink-4)}.monitor-tabs{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.monitor-rule{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-label);color:var(--ink-4)}.dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-10) var(--sp-6);border:1.5px dashed var(--line-strong);border-radius:var(--r-card-sm);background:var(--canvas);text-align:center;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.dropzone.is-dragging{border-color:var(--ink);border-style:solid;background:var(--canvas-2)}.dropzone.has-file{border-style:solid;border-color:var(--line);background:var(--paper)}.dropzone-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:var(--sp-1);border-radius:var(--r-full);background:var(--paper);border:1px solid var(--line);color:var(--ink-3)}.dropzone.is-dragging .dropzone-icon{background:var(--ink);border-color:var(--ink);color:var(--paper)}.dropzone>strong{font-size:var(--fs-body);font-weight:500;color:var(--ink);word-break:break-all}.dropzone-hint{font-size:var(--fs-xs);color:var(--ink-4)}.dropzone-actions{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-4);flex-wrap:wrap;justify-content:center}.monitor-config{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-5);margin-top:var(--sp-6);align-items:start}@media(max-width:780px){.monitor-config{grid-template-columns:minmax(0,1fr)}}.monitor-mode-info{display:flex;align-items:flex-start;gap:var(--sp-2);margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-card-sm);background:var(--canvas-2);font-size:var(--fs-xs);line-height:var(--lh-snug);color:var(--ink-4)}.monitor-mode-info svg{flex:none;margin-top:2px}.monitor-submit{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid var(--line);flex-wrap:wrap}.monitor-submit>div{display:flex;flex-direction:column}.monitor-submit strong{font-size:var(--fs-sm);font-weight:500}.monitor-submit span{font-size:var(--fs-xs);color:var(--ink-4)}.progress-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--sp-2);font-size:var(--fs-xs);color:var(--ink-4)}.progress-row strong{font-size:var(--fs-sm);color:var(--ink)}.progress{height:5px;border-radius:var(--r-full);background:var(--canvas-2);overflow:hidden}.progress>span{display:block;height:100%;border-radius:var(--r-full);background:var(--ink);transition:width var(--dur-slow) var(--ease)}.result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4);margin:var(--sp-5) 0;padding:var(--sp-5) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.result-stats>div{display:flex;flex-direction:column;gap:4px}.result-stats span{font-size:var(--fs-xs);color:var(--ink-4)}.result-stats strong{font-size:var(--fs-num-sm);font-weight:600;letter-spacing:-.02em;line-height:1}.player{position:relative;border-radius:var(--r-card-sm);overflow:hidden;background:#0a0a0a}.player video{width:100%;max-height:460px}.player-mark{position:absolute;top:var(--sp-3);left:var(--sp-3);padding:3px 10px;border-radius:var(--r-full);background:#0a0a0a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffdb;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;pointer-events:none}.monitor-note{margin-top:var(--sp-4);font-size:var(--fs-label);color:var(--ink-4)}.monitor-waiting{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-4);font-size:var(--fs-sm);color:var(--ink-3)}.monitor-task-actions{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-5);flex-wrap:wrap}.monitor-snapshot{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.monitor-snapshot>strong{font-size:var(--fs-sm);font-weight:500}.monitor-snapshot>span{font-size:var(--fs-xs);color:var(--ink-4)}.disclosure{margin-top:var(--sp-4);border-top:1px solid var(--line);padding-top:var(--sp-3)}.disclosure>summary{cursor:pointer;font-size:var(--fs-xs);color:var(--ink-4);list-style:none;display:flex;align-items:center;gap:var(--sp-2);-webkit-user-select:none;user-select:none}.disclosure>summary:before{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform var(--dur) var(--ease)}.disclosure[open]>summary:before{transform:rotate(45deg)}.disclosure>summary:hover{color:var(--ink)}.rule-snapshot{margin-top:var(--sp-3);padding:var(--sp-4);background:var(--canvas-2);border-radius:var(--r-ctl);font-size:var(--fs-label);line-height:1.6;color:var(--ink-3);overflow-x:auto;max-height:320px}.live-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-full);background:var(--canvas-2);font-size:var(--fs-label);color:var(--ink-4)}.live-badge>span{width:6px;height:6px;border-radius:50%;background:var(--ink-5)}.live-badge.is-on{background:var(--danger-soft);color:var(--danger)}.live-badge.is-on>span{background:var(--danger);animation:live-pulse 1.6s var(--ease-in-out) infinite}@keyframes live-pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.live-badge.is-on>span{animation:none}}.live-stage{position:relative;aspect-ratio:16 / 9;margin-top:var(--sp-2);border-radius:var(--r-card-sm);overflow:hidden;background:#0a0a0a}.live-video{width:100%;height:100%;object-fit:contain}.live-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.live-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-6);text-align:center;color:#ffffff73}.live-placeholder h4{font-size:var(--fs-h);color:#fff}.live-placeholder p{font-size:var(--fs-xs);color:#ffffff73;max-width:34ch}.live-count{position:absolute;top:var(--sp-4);left:var(--sp-4);display:flex;flex-direction:column;gap:2px;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-card-sm);background:#0a0a0a9e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff}.live-count span{font-size:var(--fs-label);color:#fff9}.live-count strong{font-size:var(--fs-num-sm);font-weight:600;line-height:1;color:#fff}.live-count small{font-size:var(--fs-xs);font-weight:400;color:#fff9}.live-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);margin-top:var(--sp-5);flex-wrap:wrap}.live-stats{display:flex;align-items:center;gap:var(--sp-6);margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--ink-4);flex-wrap:wrap}.live-stats strong{color:var(--ink);font-weight:600}.live-stats>div:first-child{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--danger)}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--danger)}.pipeline-head h3{font-size:var(--fs-h)}.pipeline-head p{margin-top:3px;font-size:var(--fs-xs);color:var(--ink-4)}.pipeline-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-4);margin-top:var(--sp-5)}@media(max-width:900px){.pipeline-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.pipeline-steps{grid-template-columns:minmax(0,1fr)}}.pipeline-steps li{display:flex;flex-direction:column;gap:3px;padding-top:var(--sp-4);border-top:2px solid var(--ink)}.pipeline-num{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink-4)}.pipeline-steps strong{font-size:var(--fs-sm);font-weight:600}.pipeline-steps small{font-size:var(--fs-label);color:var(--ink-4);line-height:var(--lh-snug)}.pipeline-privacy{display:flex;align-items:flex-start;gap:var(--sp-2);margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--line);font-size:var(--fs-xs);line-height:var(--lh-snug);color:var(--ink-4)}.pipeline-privacy svg{flex:none;margin-top:2px}.audit-panel{display:flex;flex-direction:column}.audit-toolbar{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-3) 0;margin-bottom:var(--sp-2);font-size:var(--fs-xs);color:var(--ink-4)}.audit-toolbar label{display:inline-flex;align-items:center;gap:var(--sp-2)}.audit-date,.audit-search{height:36px;min-height:36px;width:auto}.audit-search{width:220px}@media(max-width:640px){.audit-search{width:100%}}.audit-flow{display:inline-flex;align-items:center;gap:var(--sp-2);white-space:nowrap}.audit-arrow{color:var(--ink-5);font-size:var(--fs-xs)}.audit-reason{display:block;margin-bottom:2px;font-size:var(--fs-label);color:var(--ink-4)}.audit-note{font-size:var(--fs-xs);color:var(--ink-4);padding:var(--sp-5) 0}.events-notice>svg{flex:none;margin-top:2px}.events-tabs{margin-bottom:var(--sp-5)}.events-tabs button[aria-selected=true]{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-xs)}.events-filters{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-4)}.events-search{width:260px}@media(max-width:640px){.events-search{width:100%}}.events-tools{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-3) 0;font-size:var(--fs-xs);color:var(--ink-4)}.events-tools label{display:inline-flex;align-items:center;gap:var(--sp-2)}.events-tools .input,.events-tools .btn{height:36px;min-height:36px}.events-date{width:auto}.events-task{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink-4)}.events-error{margin-bottom:var(--sp-3);font-size:var(--fs-xs);color:var(--danger)}.events-alert{margin-bottom:var(--sp-4)}.events-batch{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--canvas-2);border:1px solid var(--line);border-radius:var(--r-card-sm)}.events-batch strong{font-size:var(--fs-sm);font-weight:500}.events-ledger{display:flex;flex-direction:column}.events-check-cell{width:44px}.events-check{width:17px;height:17px;accent-color:var(--ink);cursor:pointer}.events-risk{max-width:240px;white-space:normal;line-height:var(--lh-snug)}.events-flag{display:block;margin-top:2px;font-size:var(--fs-label);color:var(--danger)}.events-modal{width:min(920px,calc(100vw - 2rem))}.events-dialog .icon-btn:disabled{opacity:.4;cursor:not-allowed}.events-meta{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;font-size:var(--fs-xs);color:var(--ink-4)}.events-video{width:100%;max-height:46vh;border-radius:var(--r-card-sm);background:var(--ink)}.events-hint{font-size:var(--fs-xs);color:var(--ink-4);line-height:var(--lh-snug)}.events-risk-note{margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--ink-4)}.events-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.settle-panel{display:flex;flex-direction:column;gap:var(--sp-5)}.settle-panel .card-head{margin-bottom:0}.settle-block{display:flex;flex-direction:column}.settle-notice>svg{flex:none;margin-top:2px}.settle-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.settle-ratio{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;font-size:var(--fs-xs);color:var(--ink-2)}.settle-ratio .input{width:88px;flex:none}.settle-help{margin-top:var(--sp-3);font-size:var(--fs-label);line-height:var(--lh-snug);color:var(--ink-4);max-width:84ch}.settle-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-4);padding-top:var(--sp-5);border-top:1px solid var(--line)}@media(max-width:860px){.settle-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.settle-metrics{grid-template-columns:minmax(0,1fr)}}.settle-metrics .stat-value{font-size:var(--fs-num-sm)}.settle-note{margin-top:var(--sp-3);font-size:var(--fs-xs);line-height:var(--lh-snug);color:var(--ink-4)}.settle-disclosure{border-top:1px solid var(--line);padding-top:var(--sp-3)}.settle-disclosure>summary{display:flex;align-items:center;gap:var(--sp-2);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;font-size:var(--fs-xs);color:var(--ink-4)}.settle-disclosure>summary::-webkit-details-marker{display:none}.settle-disclosure>summary:before{content:"";width:5px;height:5px;flex:none;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform var(--dur) var(--ease)}.settle-disclosure[open]>summary:before{transform:rotate(45deg)}.settle-disclosure>summary:hover{color:var(--ink)}.settle-disclosure .table-wrap{margin-top:var(--sp-4)}.settle-checks{display:flex;flex-direction:column;gap:var(--sp-3)}.settle-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.settle-link{display:inline;margin:0 4px;font-weight:500;color:var(--ink);text-decoration:underline;text-underline-offset:2px}.settle-link:hover{color:var(--ink-2)}.plan-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}.plan-form .full{grid-column:1 / -1}@media(max-width:720px){.plan-form{grid-template-columns:minmax(0,1fr)}.plan-form .full{grid-column:auto}}.plan-override{margin-top:var(--sp-4)}.plan-actions{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-5);flex-wrap:wrap}.plan-warn{margin-top:var(--sp-4)}.plan-notice>svg{flex:none;margin-top:2px}.plan-predict{display:flex;align-items:flex-end;gap:var(--sp-5);margin-bottom:var(--sp-5);flex-wrap:wrap}.plan-field-sm{width:200px;flex:none}.plan-buffer{display:flex;flex-direction:column;gap:var(--sp-2);flex:1 1 200px;min-width:160px}.plan-buffer .field-label strong{font-variant-numeric:tabular-nums}.plan-forecast-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5);padding-top:var(--sp-5);border-top:1px solid var(--line)}@media(max-width:560px){.plan-forecast-stats{grid-template-columns:minmax(0,1fr)}}.plan-note{margin-top:var(--sp-3);font-size:var(--fs-xs);line-height:var(--lh-snug);color:var(--ink-4)}.plan-disclosure{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--line)}.plan-disclosure>summary{display:flex;align-items:center;gap:var(--sp-2);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;font-size:var(--fs-xs);color:var(--ink-4)}.plan-disclosure>summary::-webkit-details-marker{display:none}.plan-disclosure>summary:before{content:"";width:5px;height:5px;flex:none;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform var(--dur) var(--ease)}.plan-disclosure[open]>summary:before{transform:rotate(45deg)}.plan-disclosure>summary:hover{color:var(--ink)}.plan-snapshot{margin-top:var(--sp-3);padding:var(--sp-4);max-height:320px;overflow-x:auto;border-radius:var(--r-ctl);background:var(--canvas-2);font-size:var(--fs-label);line-height:1.6;color:var(--ink-3)}.plan-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-4);align-items:start}@media(max-width:980px){.plan-split{grid-template-columns:minmax(0,1fr)}}.plan-chart{height:240px;min-height:200px}.plan-legend{display:inline-flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;font-size:var(--fs-label);color:var(--ink-4);white-space:nowrap}.plan-legend>span{display:inline-flex;align-items:center;gap:6px}.plan-legend i{width:8px;height:8px;border-radius:2px;flex:none}.plan-legend .is-prepared{background:#d4d4d4}.plan-legend .is-actual{background:#0a0a0a}.plan-tip{display:flex;flex-direction:column;gap:3px;padding:var(--sp-2) var(--sp-3);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-ctl);box-shadow:var(--shadow-sm);font-size:var(--fs-xs)}.plan-tip>span{font-size:var(--fs-label);color:var(--ink-4)}.plan-tip strong{display:inline-flex;align-items:center;gap:6px;font-weight:500}.plan-tip i{width:8px;height:8px;border-radius:2px;flex:none}.plan-cell-sub{display:block;margin-top:2px;font-size:var(--fs-label);color:var(--ink-4)}.plan-action{font-size:var(--fs-xs);font-weight:500;color:var(--ink-3);white-space:nowrap;transition:color var(--dur-fast) var(--ease)}.plan-action:hover{color:var(--ink);text-decoration:underline;text-underline-offset:2px}.plan-rules{display:flex;flex-direction:column;gap:var(--sp-3)}.plan-rules-lead{font-size:var(--fs-sm);line-height:var(--lh-snug);color:var(--ink-3);max-width:76ch}.plan-rules-list{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-1);padding-top:var(--sp-4);border-top:1px solid var(--line)}.plan-rules-list li{display:flex;align-items:baseline;gap:var(--sp-3);font-size:var(--fs-xs);line-height:var(--lh-snug);color:var(--ink-3)}.plan-rules-list li>span{flex:none;font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink-5)}.reports-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-5);flex-wrap:wrap}.reports-date{width:min(220px,100%)}.reports-toolbar-side{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.reports-scope{font-size:var(--fs-xs);color:var(--ink-4)}.reports-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-4);align-items:start}@media(max-width:980px){.reports-split{grid-template-columns:minmax(0,1fr)}}.reports-chart{height:240px;min-height:180px}.reports-chart-tip{display:flex;flex-direction:column;gap:2px;padding:var(--sp-2) var(--sp-3);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-ctl);box-shadow:var(--shadow-sm);font-size:var(--fs-xs)}.reports-chart-tip span{color:var(--ink-4);font-size:var(--fs-label)}.reports-chart-tip strong{font-variant-numeric:tabular-nums}.reports-prep{display:flex;flex-direction:column}.reports-prep-row{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:var(--sp-4);padding:var(--sp-4) 0;border-bottom:1px solid var(--line)}.reports-prep-row:first-child{padding-top:0}.reports-prep-row:last-child{border-bottom:none;padding-bottom:0}.reports-prep-cell{display:flex;flex-direction:column;gap:3px;min-width:0}.reports-prep-cell>span{font-size:var(--fs-label);color:var(--ink-4)}.reports-prep-cell>strong{font-size:var(--fs-sm);font-weight:600;color:var(--ink)}.reports-prep-cell>strong small{font-size:var(--fs-label);font-weight:400;color:var(--ink-4)}@media(max-width:560px){.reports-prep-row{grid-template-columns:minmax(0,1fr);gap:var(--sp-3)}}.calib{display:flex;flex-direction:column;gap:var(--sp-4)}.calib-actions{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.calib-hint{font-size:var(--fs-label);line-height:var(--lh-snug);color:var(--ink-4)}.calib-video{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3)}.calib-source{display:block;width:100%;max-height:240px;border:1px solid var(--line);border-radius:var(--r-ctl);background:#0a0a0a}.calib-modes{align-self:flex-start}.calib-canvas{position:relative;width:100%;overflow:hidden;border:1px solid var(--line-2);border-radius:var(--r-card-sm);background-color:var(--canvas-2);background-position:center;background-size:100% 100%;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.calib-canvas[aria-disabled=true]{cursor:not-allowed}.calib-canvas svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.calib-badge{position:absolute;top:var(--sp-3);right:var(--sp-3);display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--r-full);background:#0a0a0a9e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:var(--fs-label);font-weight:500;pointer-events:none}.calib-coords{--col-min: 140px}.settings-split{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:var(--sp-4);align-items:start}@media(max-width:1024px){.settings-split{grid-template-columns:minmax(0,1fr)}}.settings-fields{display:flex;flex-direction:column;gap:var(--sp-4)}.settings-rules{--col-min: 200px}.settings-labels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-4);margin-top:var(--sp-4)}@media(max-width:780px){.settings-labels{grid-template-columns:minmax(0,1fr)}}.settings-meals{gap:var(--sp-5)}.settings-meal-row{display:flex;align-items:center;gap:var(--sp-2)}.settings-meal-row .input{flex:1 1 auto;min-width:0}.settings-meal-row>span{flex:none;font-size:var(--fs-xs);color:var(--ink-4)}.settings-runtime{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-4)}@media(max-width:720px){.settings-runtime{grid-template-columns:repeat(2,minmax(0,1fr))}}.settings-runtime-cell{display:flex;flex-direction:column;gap:3px;min-width:0}.settings-runtime-cell>span{font-size:var(--fs-label);color:var(--ink-4)}.settings-runtime-cell>strong{font-size:var(--fs-sm);font-weight:600;color:var(--ink)}.settings-policy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-5);margin-top:var(--sp-6)}@media(max-width:720px){.settings-policy{grid-template-columns:minmax(0,1fr)}}.settings-policy-item{display:flex;flex-direction:column;gap:4px;padding-top:var(--sp-4);border-top:1px solid var(--line)}.settings-policy-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin-bottom:var(--sp-1);border-radius:8px;background:var(--canvas-2);color:var(--ink-3)}.settings-policy-item>strong{font-size:var(--fs-sm);font-weight:600}.settings-policy-item>p{font-size:var(--fs-xs);color:var(--ink-4);line-height:var(--lh-snug)}.settings-note{margin-top:var(--sp-5);padding-top:var(--sp-3);border-top:1px solid var(--line);font-size:var(--fs-label);line-height:var(--lh-snug);color:var(--ink-4)}.settings-savebar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);flex-wrap:wrap}.settings-savebar>div{min-width:0}.settings-savebar>div>strong{display:block;font-size:var(--fs-sm);font-weight:600}.settings-savebar>div>p{margin-top:3px;font-size:var(--fs-xs);color:var(--ink-4)}
