:root{color-scheme:light;--bg: #f3f5f2;--surface: #ffffff;--surface-2: #f6f8f5;--surface-3: #ecf0ec;--ink: #121a16;--ink-2: #3c4842;--muted: #5f6b64;--line: #e2e7e1;--line-strong: #c8d0c9;--brand: #27801a;--brand-strong: #1c6412;--brand-bright: #68d838;--brand-wash: #eaf6e5;--brand-line: #bfe3b2;--link: #1c6412;--btn-primary-bg: #27801a;--btn-primary-hover: #1f6b14;--btn-primary-ink: #ffffff;--btn-danger-bg: #b42318;--btn-danger-hover: #951b12;--sun: #f5a524;--chart: #2a8a1c;--focus: #27801a;--panel: #182028;--panel-2: #11181e;--panel-ink: #dde5e8;--panel-muted: #94a3ab;--success-bg: #e6f5e0;--success-ink: #1c6412;--success-dot: #3aa628;--success-line: #bfe3b2;--warning-bg: #fdf1d3;--warning-ink: #7a4d00;--warning-dot: #e0920b;--warning-line: #f1d48a;--danger-bg: #fde9e7;--danger-ink: #a11d12;--danger-dot: #d83a2c;--danger-line: #f5c0ba;--info-bg: #e4eefc;--info-ink: #1b4f9c;--info-dot: #3b7be0;--info-line: #bcd4f6;--teal-bg: #e0f3f0;--teal-ink: #0f5c53;--teal-dot: #1b9c8c;--teal-line: #b3e0d9;--neutral-bg: #eceff0;--neutral-ink: #3d4a44;--neutral-dot: #8a968f;--neutral-line: #d5dbd6;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 14.5px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 27px;--fs-3xl: 36px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 18px;--r-pill: 999px;--shadow-1: 0 1px 2px rgba(16, 24, 20, .05);--shadow-2: 0 1px 2px rgba(16, 24, 20, .04), 0 6px 18px -8px rgba(16, 24, 20, .12);--shadow-3: 0 4px 10px -4px rgba(16, 24, 20, .12), 0 22px 48px -16px rgba(16, 24, 20, .3);--control-h: 40px;--topbar-h: 60px;--bottomnav-h: 62px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0d1216;--surface: #151c22;--surface-2: #1a2229;--surface-3: #222c34;--ink: #e9eeeb;--ink-2: #c3cdc7;--muted: #97a59d;--line: #253039;--line-strong: #3a4854;--brand: #74dc47;--brand-strong: #93e86e;--brand-wash: #17301a;--brand-line: #2b5a26;--link: #86e35f;--btn-primary-bg: #68d838;--btn-primary-hover: #7ee252;--btn-primary-ink: #0b1a10;--btn-danger-bg: #c8372b;--btn-danger-hover: #d9483b;--chart: #68d838;--focus: #86e35f;--panel: #0a0f13;--panel-2: #0d1317;--success-bg: #15321a;--success-ink: #8fe46c;--success-dot: #68d838;--success-line: #265a25;--warning-bg: #3a2c0c;--warning-ink: #f6c55f;--warning-dot: #f5a524;--warning-line: #5e4712;--danger-bg: #3d1a17;--danger-ink: #ff9d93;--danger-dot: #f0564a;--danger-line: #6a2823;--info-bg: #14294a;--info-ink: #94bdff;--info-dot: #5a96f0;--info-line: #234272;--teal-bg: #0f302d;--teal-ink: #6fd9cb;--teal-dot: #2bb5a4;--teal-line: #1b4e49;--neutral-bg: #232c33;--neutral-ink: #c3cdc7;--neutral-dot: #7d8a85;--neutral-line: #36424b;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 22px -10px rgba(0, 0, 0, .6);--shadow-3: 0 4px 10px -4px rgba(0, 0, 0, .5), 0 24px 54px -16px rgba(0, 0, 0, .8)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0d1216;--surface: #151c22;--surface-2: #1a2229;--surface-3: #222c34;--ink: #e9eeeb;--ink-2: #c3cdc7;--muted: #97a59d;--line: #253039;--line-strong: #3a4854;--brand: #74dc47;--brand-strong: #93e86e;--brand-wash: #17301a;--brand-line: #2b5a26;--link: #86e35f;--btn-primary-bg: #68d838;--btn-primary-hover: #7ee252;--btn-primary-ink: #0b1a10;--btn-danger-bg: #c8372b;--btn-danger-hover: #d9483b;--chart: #68d838;--focus: #86e35f;--panel: #0a0f13;--panel-2: #0d1317;--success-bg: #15321a;--success-ink: #8fe46c;--success-dot: #68d838;--success-line: #265a25;--warning-bg: #3a2c0c;--warning-ink: #f6c55f;--warning-dot: #f5a524;--warning-line: #5e4712;--danger-bg: #3d1a17;--danger-ink: #ff9d93;--danger-dot: #f0564a;--danger-line: #6a2823;--info-bg: #14294a;--info-ink: #94bdff;--info-dot: #5a96f0;--info-line: #234272;--teal-bg: #0f302d;--teal-ink: #6fd9cb;--teal-dot: #2bb5a4;--teal-line: #1b4e49;--neutral-bg: #232c33;--neutral-ink: #c3cdc7;--neutral-dot: #7d8a85;--neutral-line: #36424b;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 22px -10px rgba(0, 0, 0, .6);--shadow-3: 0 4px 10px -4px rgba(0, 0, 0, .5), 0 24px 54px -16px rgba(0, 0, 0, .8)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--bg)}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--ink);font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}a{color:var(--link);text-underline-offset:2px}a:hover{color:var(--brand)}h1,h2,h3,h4{letter-spacing:-.012em;line-height:1.25;margin:0}p{margin:0 0 var(--s-3)}p:last-child{margin-bottom:0}button,input,select,textarea{font:inherit;color:inherit}code{font-family:var(--mono);font-size:.92em}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:var(--brand-line);color:var(--ink)}.icon{flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.18em}.only-phone{display:none}.muted{color:var(--muted);font-size:var(--fs-sm)}.small{font-size:var(--fs-xs)}.text-warning{color:var(--warning-ink)}.text-success{color:var(--success-ink)}.num{font-variant-numeric:tabular-nums;text-align:right}.nowrap{white-space:nowrap}.divider{height:1px;background:var(--line);margin:var(--s-4) 0}.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--btn-primary-bg);color:var(--btn-primary-ink);padding:8px 14px;border-radius:var(--r-md);font-weight:600;text-decoration:none}.skip-link:focus{top:10px}.app{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:18px 12px 14px;background:linear-gradient(180deg,var(--panel) 0%,var(--panel-2) 100%);color:var(--panel-ink);overflow-y:auto;border-right:1px solid rgba(255,255,255,.04)}.brand{display:flex;align-items:center;gap:11px;padding:4px 8px 18px;text-decoration:none;color:#fff}.brand:hover{color:#fff}.brand img{height:38px;width:auto;border-radius:9px}.brand strong{font-size:15.5px;display:block;line-height:1.15;letter-spacing:-.01em}.brand span span{font-size:11.5px;color:var(--panel-muted);display:block;margin-top:2px}.nav-group{margin-bottom:6px}.nav-label{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--panel-muted);padding:12px 12px 6px}.nav-item{position:relative;display:flex;align-items:center;gap:11px;padding:9px 12px;margin:1px 0;border-radius:var(--r-md);color:var(--panel-ink);text-decoration:none;font-size:14px;transition:background .12s ease,color .12s ease}.nav-item .nav-icon{position:relative;display:inline-flex;opacity:.8}.nav-item .nav-dot{display:none}.nav-item .nav-text{flex:1;min-width:0}.nav-item:hover{background:#ffffff12;color:#fff}.nav-item[aria-current=page]{background:#68d83826;color:#fff;font-weight:600}.nav-item[aria-current=page]:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--brand-bright)}.nav-item[aria-current=page] .nav-icon{opacity:1;color:var(--brand-bright)}.nav-item:focus-visible{outline-color:var(--brand-bright)}.nav-badge{min-width:20px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-pill);background:var(--sun);color:#201400;font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums}.sidebar-foot{margin-top:auto;padding:14px 10px 2px;font-size:12px;color:var(--panel-muted);border-top:1px solid rgba(255,255,255,.08);display:grid;gap:10px}.sidebar-tagline{font-style:italic;opacity:.85}.identity{display:grid;gap:5px;font-size:12px}.identity select{width:100%;height:36px;padding:0 8px;border-radius:var(--r-md);border:1px solid rgba(255,255,255,.16);background:#ffffff12;color:#fff;font-size:13px}.identity select option{color:#111;background:#fff}.shell{min-width:0;display:flex;flex-direction:column;min-height:100vh}.topbar{position:sticky;top:0;z-index:30;height:var(--topbar-h);display:flex;align-items:center;gap:var(--s-4);padding:0 28px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}.topbar-brand{display:none}.topbar-title{display:flex;align-items:center;gap:6px;min-width:0;font-size:var(--fs-base);color:var(--muted);white-space:nowrap}.topbar-title strong{color:var(--ink);font-weight:650;overflow:hidden;text-overflow:ellipsis}.search{flex:1 1 auto;max-width:440px;margin-left:auto;display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface-2);color:var(--muted);transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.search:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 22%,transparent);background:var(--surface)}.search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:var(--fs-base);height:100%}.search input::placeholder{color:var(--muted)}.search-close{display:none}.topbar-tools{display:flex;align-items:center;gap:6px;flex:none}.user{display:flex;align-items:center;gap:9px;padding:4px 4px 4px 8px;min-width:0}.user-text{display:flex;align-items:center;gap:8px;min-width:0}.user-name{font-size:var(--fs-sm);font-weight:600;color:var(--ink);max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-chip{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:var(--r-pill);background:var(--brand-wash);color:var(--brand-strong);border:1px solid var(--brand-line);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#1d3a28,#2f6a2c);color:#eaffdf;font-weight:700;letter-spacing:.02em}.main{flex:1;min-width:0;padding:26px 28px 40px}.main-inner{max-width:1280px;margin:0 auto}.bottomnav{display:none}.app-footer{margin-top:32px;font-size:var(--fs-xs);color:var(--muted)}@media(max-width:1100px){.user-text .user-name{display:none}}@media(max-width:900px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.only-phone{display:inline-flex}.only-desktop{display:none}.topbar{height:54px;padding:0 10px 0 12px;gap:10px;background:var(--panel);border-bottom:0;color:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}.topbar-brand{display:inline-flex}.topbar-brand img{height:30px;border-radius:7px;display:block}.topbar-title{flex:1}.topbar-title .topbar-group,.topbar-title .icon{display:none}.topbar-title strong{color:#fff;font-size:16px}.topbar .icon-btn{color:#fff}.topbar .icon-btn:hover{background:#ffffff1f;color:#fff}.topbar .user-text{display:none}.topbar .user{padding:0 2px}.topbar .install-btn span,.search{display:none}.topbar.is-searching .search{display:flex;position:absolute;left:10px;right:10px;top:8px;max-width:none;margin:0;z-index:2;background:var(--surface);box-shadow:var(--shadow-2)}.topbar.is-searching .search-close{display:inline-flex;border:0;background:transparent;color:var(--muted);padding:6px;cursor:pointer}.main{padding:16px 14px calc(var(--bottomnav-h) + 28px + env(safe-area-inset-bottom))}.bottomnav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:30;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}.bottomnav a,.bottomnav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:50px;padding:4px 2px;border:0;background:transparent;border-radius:var(--r-md);color:var(--muted);text-decoration:none;font-size:11px;font-weight:500;cursor:pointer}.bottomnav .nav-icon{position:relative;display:inline-flex;padding:3px 14px;border-radius:var(--r-pill)}.bottomnav .nav-badge{display:none}.bottomnav .nav-dot{position:absolute;top:1px;right:9px;width:9px;height:9px;border-radius:50%;background:var(--sun);border:2px solid var(--surface)}.bottomnav a[aria-current=page],.bottomnav button.is-active{color:var(--brand-strong);font-weight:650}.bottomnav a[aria-current=page] .nav-icon,.bottomnav button.is-active .nav-icon{background:var(--brand-wash)}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#080c0f8c;display:flex;align-items:flex-end;animation:fade-in .15s ease}.sheet{width:100%;max-height:86vh;overflow-y:auto;background:var(--surface);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:8px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:var(--shadow-3);animation:sheet-up .2s ease}.sheet-handle{width:40px;height:4px;border-radius:4px;background:var(--line-strong);margin:4px auto 12px}.sheet-user{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}.sheet-user .user-text{flex:1;flex-direction:column;align-items:flex-start;gap:4px}.sheet-user .user-text .user-name{display:block;font-size:var(--fs-md);max-width:none}.sheet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 0}.sheet-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);text-decoration:none;font-size:var(--fs-sm);font-weight:550;text-align:center}.sheet-item .nav-icon{color:var(--brand);display:inline-flex}.sheet-item .nav-dot,.sheet-item .nav-badge{display:none}.sheet-item[aria-current=page]{border-color:var(--brand);background:var(--brand-wash);color:var(--brand-strong)}.sheet-tools{display:grid;gap:10px}.sheet-tools .identity{color:var(--muted)}.sheet-tools .identity select{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);height:var(--control-h)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}.signin-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px 16px;background:radial-gradient(900px 500px at 85% -10%,rgba(245,165,36,.22),transparent 60%),radial-gradient(700px 500px at 0% 110%,rgba(104,216,56,.2),transparent 60%),linear-gradient(160deg,#182028,#121a1f 55%,#17301f)}.signin{width:100%;max-width:420px;text-align:center;padding:36px 30px 28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-3)}.signin-mark{width:84px;height:84px;margin:0 auto 18px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(145deg,#182028,#1d3a28);box-shadow:var(--shadow-2)}.signin-mark img{height:56px;width:auto;border-radius:10px}.signin h1{font-size:var(--fs-xl);margin-bottom:8px}.signin p{color:var(--muted);margin:0 0 22px}.signin-tagline{display:block;margin-top:18px;font-size:var(--fs-xs);color:var(--muted);font-style:italic}.signin-screen .app-footer{margin:0;color:#a9b6bd}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s-3) var(--s-4);margin:0 0 var(--s-5)}.page-head-main{min-width:0;flex:1 1 320px}.page-title{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.page-head h1{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.02em;overflow-wrap:anywhere}.page-sub{margin:6px 0 0;color:var(--muted);font-size:var(--fs-base);max-width:78ch}.page-actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:6px;font-size:var(--fs-sm);color:var(--muted)}.crumb{display:inline-flex;align-items:center;gap:2px;min-width:0}.crumb a{color:var(--muted);text-decoration:none;font-weight:550}.crumb a:hover{color:var(--brand);text-decoration:underline}.crumb [aria-current]{color:var(--ink-2);overflow-wrap:anywhere}.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);margin-bottom:var(--s-4);box-shadow:var(--shadow-2);min-width:0;scroll-margin-top:calc(var(--topbar-h) + 64px)}.card-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--s-3);margin-bottom:var(--s-4)}.card-titles{flex:1 1 220px;min-width:0}.card-head h2{font-size:var(--fs-md);font-weight:650;color:var(--ink);overflow-wrap:anywhere}.card-sub{margin:4px 0 0;font-size:var(--fs-sm);color:var(--muted);max-width:86ch}.card-icon{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r-md);background:var(--brand-wash);color:var(--brand-strong)}.card-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center}.card-body>:last-child{margin-bottom:0}.card-accent-brand{border-top:3px solid var(--brand)}.card-accent-warning{border-top:3px solid var(--warning-dot)}.card-accent-danger{border-top:3px solid var(--danger-dot)}.card-accent-info{border-top:3px solid var(--info-dot)}.anchor{scroll-margin-top:calc(var(--topbar-h) + 64px)}.section-title{margin:var(--s-6) 0 var(--s-3)}.section-title:first-child{margin-top:0}.section-title h3{display:flex;align-items:center;gap:10px;font-size:var(--fs-md);font-weight:650}.section-title p{margin:4px 0 0;color:var(--muted);font-size:var(--fs-sm)}.step-no{flex:none;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--brand-wash);color:var(--brand-strong);border:1px solid var(--brand-line);font-size:12px;font-weight:700}.sub-head{font-size:var(--fs-sm);font-weight:600;color:var(--muted);margin:var(--s-5) 0 var(--s-3)}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:var(--s-4) var(--s-5);margin:0}.fact{min-width:0}.fact dt{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:3px}.fact dd{margin:0;font-size:var(--fs-base);color:var(--ink);overflow-wrap:anywhere}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--control-h);padding:0 16px;border:1px solid transparent;border-radius:var(--r-md);font-size:var(--fs-base);font-weight:600;line-height:1.2;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .05s ease;-webkit-tap-highlight-color:transparent}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-ink);box-shadow:var(--shadow-1),inset 0 1px #ffffff29}.btn-primary:hover{background:var(--btn-primary-hover);color:var(--btn-primary-ink)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong);box-shadow:var(--shadow-1)}.btn-secondary:hover{background:var(--surface-2);border-color:var(--muted);color:var(--ink)}.btn-danger{background:var(--btn-danger-bg);color:#fff;box-shadow:var(--shadow-1)}.btn-danger:hover{background:var(--btn-danger-hover);color:#fff}.btn-ghost{background:transparent;color:var(--link)}.btn-ghost:hover{background:var(--brand-wash);color:var(--brand-strong)}.btn-sm{min-height:32px;padding:0 11px;font-size:var(--fs-sm);border-radius:var(--r-sm);gap:5px}.btn-lg{min-height:46px;padding:0 22px;font-size:var(--fs-md)}.btn-full{width:100%}.btn:disabled{background:var(--surface-3);color:var(--muted);border-color:var(--line);box-shadow:none;cursor:not-allowed;opacity:.85}.btn+.btn{margin-left:var(--s-2)}.actions>.btn+.btn,.page-actions>.btn+.btn,.card-actions>.btn+.btn,.dialog-actions>.btn+.btn,.pager>.btn+.btn,.sheet-tools>.btn+.btn{margin-left:0}.spinner{width:15px;height:15px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--ink-2);cursor:pointer;transition:background .12s ease,color .12s ease}.icon-btn:hover{background:var(--surface-3);color:var(--ink)}.icon-btn-secondary{border-color:var(--line-strong);background:var(--surface)}.icon-btn-danger:hover{background:var(--danger-bg);color:var(--danger-ink)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2)}.actions-end{justify-content:flex-end}.actions-note{margin-top:var(--s-3);gap:var(--s-2) var(--s-3)}.actions-note>.muted{flex:1 1 260px}.card-body>.actions{margin-top:var(--s-3)}.link-more{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-sm);font-weight:600;text-decoration:none}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:var(--s-3);min-width:0;font-size:var(--fs-base)}.field-label{font-size:var(--fs-sm);font-weight:550;color:var(--ink-2)}.field-help{font-size:var(--fs-xs);color:var(--muted)}.field-error{font-size:var(--fs-xs);color:var(--danger-ink);font-weight:550}.field-invalid .input{border-color:var(--danger-dot)}.input{display:block;width:100%;max-width:380px;min-height:var(--control-h);padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font-size:var(--fs-base);line-height:1.3;transition:border-color .12s ease,box-shadow .12s ease}.input::placeholder{color:color-mix(in srgb,var(--muted) 80%,transparent)}.input:hover{border-color:var(--muted)}.input:focus{outline:0;border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 24%,transparent)}.input:disabled{background:var(--surface-3);color:var(--muted);cursor:not-allowed}.input[readonly]{background:var(--surface-2)}.input-full{max-width:none}.input-auto{width:auto;max-width:100%;min-width:150px;align-self:flex-start}.input-sm{width:auto;max-width:200px;align-self:flex-start}.input-xs{width:96px;max-width:96px}.input-area{min-height:110px;resize:vertical;line-height:1.45}.input-file{padding:7px 10px;height:auto}.input-file::file-selector-button{margin-right:12px;padding:5px 12px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}select.input{padding-right:30px}.form-grid{display:grid;gap:0 var(--s-4);align-items:start}.form-grid .input{max-width:none}.form-grid>.field{display:grid;grid-template-rows:subgrid;grid-row:span 3;gap:5px 0}.form-grid>.field>.field-label{align-self:end}.inline-form{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--s-3) var(--s-5)}.inline-form>.field{margin-bottom:0;flex:0 1 320px}.inline-form>.actions{min-height:var(--control-h);margin-top:25px}.inline-form>.facts{flex:1 1 280px}.check{display:flex;align-items:flex-start;gap:9px;font-size:var(--fs-base);color:var(--ink-2);cursor:pointer;padding:6px 0;min-height:var(--control-h);align-items:center}.check input{flex:none;width:18px;height:18px;accent-color:var(--btn-primary-bg)}.code-copy{-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;background:var(--surface-3);padding:2px 6px;border-radius:var(--r-sm)}.copy-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);padding:10px 12px;border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface-2)}.copy-row .code-copy{flex:1 1 220px;background:transparent;padding:0}.visit-form{display:flex;flex-wrap:wrap;gap:0 var(--s-4);align-items:flex-end}.visit-form>.field{flex:0 1 auto;min-width:0}.visit-form>.field:has(.input:not(.input-sm)){flex:1 1 200px}.visit-form>.field .input:not(.input-sm){max-width:none}.visit-form>.check{margin-bottom:var(--s-3)}.visit-action{margin-top:var(--s-3);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.client-note{display:block;max-width:46ch;overflow-wrap:anywhere;white-space:pre-wrap;color:var(--ink-2)}.journey-steps{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s-2);margin:0 0 var(--s-4);padding:0}.journey-step{display:flex;align-items:center;gap:8px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);color:var(--muted);font-size:var(--fs-sm);font-weight:600}.journey-step.is-done{background:var(--success-bg);color:var(--success-ink);border-color:var(--success-line)}.journey-step.is-stopped{background:var(--warning-bg);color:var(--warning-ink);border-color:var(--warning-line)}.journey-mark{flex:none;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1.5px solid currentColor;font-size:12px;font-weight:700}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.timeline{list-style:none;margin:0;padding:0 0 0 6px}.timeline li{position:relative;padding:0 0 var(--s-4) 22px;border-left:2px solid var(--line)}.timeline li:last-child{border-left-color:transparent;padding-bottom:0}.timeline li:before{content:"";position:absolute;left:-6px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--neutral-dot);box-shadow:0 0 0 3px var(--surface)}.timeline li.tone-info:before{background:var(--info-dot)}.timeline li.tone-success:before{background:var(--success-dot)}.timeline li.tone-warning:before{background:var(--warning-dot)}.timeline-when{display:block;font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.timeline-label{font-weight:550}.timeline-detail{display:block;margin-top:2px;font-size:var(--fs-sm);color:var(--ink-2);overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:760px){.journey-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}.table-wrap{overflow:auto;max-height:min(72vh,760px);margin:0 calc(var(--s-5) * -1);padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.card-body>.table-wrap:last-child{border-bottom:0;margin-bottom:calc(var(--s-5) * -1);border-radius:0 0 var(--r-lg) var(--r-lg)}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-base)}.table th{position:sticky;top:0;z-index:1;text-align:left;padding:10px 14px;font-size:11.5px;font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap}.table th.num{text-align:right}.table td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:break-word}.table th:first-child,.table td:first-child{padding-left:var(--s-5)}.table th:last-child,.table td:last-child{padding-right:var(--s-5)}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-2) 60%,transparent)}.table tbody tr:hover td{background:var(--surface-2)}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--brand-wash)}.table tr.clickable:focus-visible{outline-offset:-2px}.table td .btn{margin:0}.table td .actions{flex-wrap:wrap;width:max-content;max-width:300px}.cell-main{font-weight:600;color:var(--ink);text-decoration:none}a.cell-main:hover{color:var(--brand);text-decoration:underline}.message-text{white-space:pre-wrap;margin:8px 0 0;padding:10px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--fs-sm);max-width:46ch}details.table-view{margin-top:var(--s-3);font-size:var(--fs-sm);color:var(--muted)}details.table-view summary{cursor:pointer;width:fit-content;padding:4px 0}details.table-view .table-wrap{margin:var(--s-2) 0 0;border:1px solid var(--line);border-radius:var(--r-md);max-height:300px}details.table-view .table th:first-child,details.table-view .table td:first-child{padding-left:14px}@media(max-width:700px){.table.stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.table.stack,.table.stack tbody,.table.stack tr,.table.stack td{display:block;width:100%}.table.stack tr{border:1px solid var(--line);border-radius:var(--r-md);padding:10px 14px;margin-bottom:10px;background:var(--surface);box-shadow:var(--shadow-1)}.table.stack tbody tr:last-child{margin-bottom:0}.table.stack td,.table.stack td:first-child,.table.stack td:last-child{display:grid;grid-template-columns:minmax(88px,34%) minmax(0,1fr);gap:10px;padding:6px 0;border-bottom:0;background:transparent!important;text-align:left;white-space:normal}.table.stack td:before{content:attr(data-label);color:var(--muted);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding-top:2px}.table.stack td:empty{display:none}.table.stack td.cell-actions{display:block;padding-top:10px}.table.stack td.cell-actions:before{content:none}.table.stack td .actions{width:auto;max-width:none}.table.stack td{overflow-wrap:anywhere}.table.stack tr.clickable:active{background:var(--brand-wash)}.table-wrap:has(>.table.stack){margin:0;overflow:visible;max-height:none;border:0}.card-body>.table-wrap:has(>.table.stack):last-child{margin-bottom:0}}.badge{display:inline-flex;align-items:center;gap:6px;justify-self:start;border-radius:var(--r-pill);padding:2px 10px 2px 8px;font-size:var(--fs-xs);font-weight:650;line-height:1.5;white-space:nowrap;border:1px solid transparent}.badge-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.badge-success{background:var(--success-bg);color:var(--success-ink);border-color:var(--success-line)}.badge-success .badge-dot{background:var(--success-dot)}.badge-warning{background:var(--warning-bg);color:var(--warning-ink);border-color:var(--warning-line)}.badge-warning .badge-dot{background:var(--warning-dot)}.badge-danger{background:var(--danger-bg);color:var(--danger-ink);border-color:var(--danger-line)}.badge-danger .badge-dot{background:var(--danger-dot)}.badge-info{background:var(--info-bg);color:var(--info-ink);border-color:var(--info-line)}.badge-info .badge-dot{background:var(--info-dot)}.badge-teal{background:var(--teal-bg);color:var(--teal-ink);border-color:var(--teal-line)}.badge-teal .badge-dot{background:var(--teal-dot)}.badge-neutral{background:var(--neutral-bg);color:var(--neutral-ink);border-color:var(--neutral-line)}.badge-neutral .badge-dot{background:var(--neutral-dot)}.notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin:0 0 var(--s-4);border:1px solid;border-radius:var(--r-md);font-size:var(--fs-base)}.notice-icon{margin-top:2px}.notice-body{flex:1;min-width:0;overflow-wrap:anywhere}.notice-body p{margin:0 0 4px}.notice-title{display:block;margin-bottom:2px}.notice-close{flex:none;border:0;background:transparent;color:inherit;opacity:.7;cursor:pointer;padding:3px;border-radius:var(--r-sm);display:inline-grid}.notice-close:hover{opacity:1;background:color-mix(in srgb,currentColor 12%,transparent)}.notice-success{background:var(--success-bg);color:var(--success-ink);border-color:var(--success-line)}.notice-warning{background:var(--warning-bg);color:var(--warning-ink);border-color:var(--warning-line)}.notice-error{background:var(--danger-bg);color:var(--danger-ink);border-color:var(--danger-line)}.notice-info{background:var(--info-bg);color:var(--info-ink);border-color:var(--info-line)}.notice a{color:inherit;font-weight:600}.notice-compact{padding:9px 12px;font-size:var(--fs-sm);margin:var(--s-3) 0 0}.card-body>.notice:not(.notice-compact):first-child{margin-top:0}.toasts{position:fixed;right:20px;bottom:20px;z-index:60;display:grid;gap:8px;width:min(380px,calc(100vw - 28px))}.toasts .notice{margin:0;box-shadow:var(--shadow-3);animation:sheet-up .18s ease}@media(max-width:900px){.toasts{right:14px;bottom:calc(var(--bottomnav-h) + 16px + env(safe-area-inset-bottom))}}.skeleton{display:block;background:linear-gradient(90deg,var(--surface-3) 0%,var(--surface-2) 45%,var(--surface-3) 90%);background-size:220% 100%;border-radius:var(--r-sm);animation:shimmer 1.3s ease-in-out infinite}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-100% 0}}.skeleton-table{display:grid;gap:0}.skeleton-row{display:grid;gap:var(--s-5);padding:14px 0;border-bottom:1px solid var(--line)}.skeleton-row:last-child{border-bottom:0}.empty{color:var(--muted);font-size:var(--fs-base);margin:0}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:var(--s-8) var(--s-4);color:var(--muted)}.empty-state strong{display:block;color:var(--ink);font-size:var(--fs-md);margin-bottom:2px}.empty-state p{margin:0;max-width:52ch;font-size:var(--fs-base)}.empty-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--surface-3);color:var(--muted)}.empty-action{margin-top:6px}.empty-compact{flex-direction:row;text-align:left;align-items:center;padding:var(--s-3) 0;gap:12px}.empty-compact .empty-icon{width:38px;height:38px;flex:none}.empty-compact strong{font-size:var(--fs-base)}.empty-compact>div:not(.empty-action){flex:1 1 240px;min-width:0}.empty-compact p{max-width:none}.empty-compact .empty-action{margin:0 0 0 auto}.tabs{display:flex;gap:4px;margin:0 0 var(--s-4);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 14px;border:0;background:transparent;color:var(--muted);font-weight:600;font-size:var(--fs-base);cursor:pointer;white-space:nowrap;border-radius:var(--r-md) var(--r-md) 0 0}.tab:hover{color:var(--ink);background:var(--surface-3)}.tab[aria-selected=true]{color:var(--brand-strong)}.tab[aria-selected=true]:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--brand)}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:var(--surface-3);color:var(--ink-2);font-size:11.5px;font-weight:650;font-variant-numeric:tabular-nums}.tab[aria-selected=true] .tab-count{background:var(--brand-wash);color:var(--brand-strong)}.jump-nav{position:sticky;top:var(--topbar-h);z-index:20;display:flex;gap:6px;margin:0 -28px var(--s-4);padding:8px 28px;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.jump-nav::-webkit-scrollbar{display:none}.jump-nav button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 14px 0 8px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line-strong);color:var(--ink-2);font-weight:600;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap}.jump-nav button:hover{background:var(--brand-wash);color:var(--brand-strong)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:16px;background:#080c0f8c;animation:fade-in .12s ease}.dialog{width:min(460px,100%);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--s-6);box-shadow:var(--shadow-3);animation:sheet-up .16s ease}.dialog h2{font-size:var(--fs-lg);margin-bottom:var(--s-3)}.dialog-message{color:var(--muted)}.dialog .field{margin-bottom:0}.dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-5)}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-3)}.filter-search{flex:1 1 260px;max-width:440px;display:flex;align-items:center;gap:8px;min-height:var(--control-h);padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);color:var(--muted)}.filter-search:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 24%,transparent)}.filter-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);height:100%}.filter-select{width:auto;min-width:150px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--s-4)}.chip{display:inline-flex;align-items:center;gap:7px;min-height:34px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);border-radius:var(--r-pill);padding:0 6px 0 13px;font-size:var(--fs-sm);font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s ease,border-color .12s ease}.chip:hover{background:var(--surface-2);border-color:var(--muted)}.chip[aria-pressed=true]{background:var(--brand-wash);border-color:var(--brand);color:var(--brand-strong)}.chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 7px;border-radius:var(--r-pill);background:var(--surface-3);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:650;font-size:11.5px}.chip[aria-pressed=true] .chip-count{background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--brand-strong)}.pager{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-4)}.pager-info{margin-right:auto;font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums}.card-body>.table-wrap+.pager{margin-top:var(--s-4)}.grid{display:grid;gap:var(--s-4);margin-bottom:var(--s-4)}.grid-kpi{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-kpi-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}.grid-2{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.grid-2e{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid>.card{margin-bottom:0}@media(max-width:1180px){.grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3,.grid-2e{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){.grid-kpi:not(.grid-kpi-2)>.hero,.grid-kpi:not(.grid-kpi-2)>.kpi:last-child{grid-column:1 / -1}.grid-kpi .kpi{padding:14px 16px}}.kpi{padding:18px 20px}.kpi-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.kpi-label{font-size:var(--fs-sm);font-weight:550;color:var(--muted)}.kpi-icon{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r-md);background:var(--brand-wash);color:var(--brand-strong)}.kpi-value{font-size:var(--fs-3xl);font-weight:700;line-height:1.1;margin:8px 0 6px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.kpi-note{font-size:var(--fs-sm);color:var(--ink-2)}.hero{background:linear-gradient(135deg,#182028,#1c3527 58%,#2a5a2c);color:#fff;border-color:transparent;overflow:hidden}.hero:after{content:"";position:absolute;right:-52px;top:-52px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,#f5a52480,#f5a5241f 55%,#f5a52400 70%);pointer-events:none}.hero .kpi-label,.hero .kpi-note{color:#cfdcd3;position:relative}.hero .kpi-icon{background:#ffffff1f;color:#fff;position:relative;z-index:1}.hero .kpi-value{font-size:46px;position:relative}.delta{display:inline-flex;align-items:center;gap:3px;font-weight:700;padding:1px 8px;border-radius:var(--r-pill);font-variant-numeric:tabular-nums}.delta-up{background:#68d83833;color:#a4f07f}.delta-down{background:#f0564a38;color:#ffb0a8}.delta-flat,.delta-none{background:#ffffff24;color:#fff}.todo-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.todo{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink);text-decoration:none;transition:border-color .12s ease,background .12s ease,transform .08s ease}.todo:hover{border-color:var(--brand);background:var(--brand-wash);color:var(--ink)}.todo-icon{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:var(--r-md);background:var(--surface-3);color:var(--muted)}.todo-text{flex:1;min-width:0}.todo-text strong{display:block;font-size:var(--fs-base);font-weight:600}.todo-text small{display:block;color:var(--muted);font-size:var(--fs-xs)}.todo-count{min-width:34px;height:28px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-pill);background:var(--surface-3);color:var(--muted);font-weight:700;font-variant-numeric:tabular-nums}.todo-go{color:var(--muted)}.todo.is-waiting{background:var(--surface);border-color:var(--line-strong)}.todo.is-waiting .todo-icon{background:var(--warning-bg);color:var(--warning-ink)}.todo.is-waiting .todo-count{background:var(--warning-bg);color:var(--warning-ink);border:1px solid var(--warning-line)}.list{list-style:none;margin:0;padding:0}.list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:var(--fs-base)}.list li:first-child{padding-top:0}.list li:last-child{border-bottom:0;padding-bottom:0}.list-main{display:flex;align-items:center;gap:11px;min-width:0;text-decoration:none;color:var(--ink)}.list-main strong{display:block;font-weight:600;overflow-wrap:anywhere}.list-main:hover strong{color:var(--brand)}.list small{color:var(--muted);display:block;font-size:var(--fs-xs)}.bars{display:grid;gap:12px;font-size:var(--fs-sm)}.bar-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:5px}.bar-label{color:var(--ink-2);line-height:1.25;min-width:0}.bar-value{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:650;white-space:nowrap}.bar-hint{color:var(--muted);font-weight:400}.bar-track{height:8px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.bar-fill{display:block;height:100%;min-width:0;background:var(--chart);border-radius:var(--r-pill);transition:width .3s ease}.funnel{list-style:none;margin:0;padding:0}.funnel-row{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:14px;align-items:center;min-height:36px}.funnel-track{display:flex;align-items:center;gap:10px;min-width:0}.funnel-bar{flex:none;height:30px;max-width:calc(100% - 96px);background:linear-gradient(90deg,color-mix(in srgb,var(--chart) 70%,transparent),var(--chart));border-radius:4px var(--r-sm) var(--r-sm) 4px;transition:width .3s ease}.funnel-label{display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:550;font-size:var(--fs-sm);line-height:1.25}.funnel-count{font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink);white-space:nowrap;font-size:var(--fs-base)}.funnel-conv{display:flex;align-items:center;gap:4px;width:fit-content;margin:3px 0 3px calc(40% + 14px);padding:1px 9px;border-radius:var(--r-pill);background:var(--surface-3);color:var(--ink-2);font-size:11.5px;font-weight:650;font-variant-numeric:tabular-nums}.chart{position:relative}.chart svg{display:block;width:100%;height:auto;overflow:visible}.chart .grid-line{stroke:var(--line);stroke-width:1;stroke-dasharray:3 4}.chart .axis-line{stroke:var(--line-strong);stroke-width:1}.chart .tick{fill:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.chart .area-line{fill:none;stroke:var(--chart);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart .area-stop-top{stop-color:var(--chart);stop-opacity:.3}.chart .area-stop-bottom{stop-color:var(--chart);stop-opacity:.02}.chart .dot{fill:var(--surface);stroke:var(--chart);stroke-width:2;transition:r .1s ease}.chart .dot.is-last,.chart .dot.is-active{fill:var(--chart);stroke:var(--surface)}.chart .cursor-line{stroke:var(--line-strong);stroke-width:1;stroke-dasharray:3 3}.chart .col-label{fill:var(--ink);font-size:11.5px;font-weight:700}.chart .hit{outline:none;cursor:crosshair}.chart-tip{position:absolute;z-index:5;pointer-events:none;transform:translate(-50%,-100%);background:#10171c;color:#fff;padding:7px 10px;border-radius:var(--r-md);font-size:var(--fs-sm);white-space:nowrap;box-shadow:var(--shadow-3);border:1px solid rgba(255,255,255,.1)}.chart-tip b{font-weight:700}.chart-tip span{display:block;color:#b7c4cb;font-size:var(--fs-xs)}.draft-box{margin-top:var(--s-4);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--fs-sm)}.draft-intro{font-size:var(--fs-base)}.draft-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4)}.draft-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.draft-head strong{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-base)}.draft-text{min-height:96px;resize:vertical;font-size:var(--fs-sm);line-height:1.45}.draft-text-long{min-height:150px}.draft-foot{margin-top:var(--s-3)}@media(max-width:900px){.draft-grid{grid-template-columns:minmax(0,1fr)}}.status-list{margin:0;display:grid}.status-list>div{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--s-4);padding:11px 0;border-bottom:1px solid var(--line);align-items:center}.status-list>div:first-child{padding-top:0}.status-list>div:last-child{border-bottom:0}.status-list dt{color:var(--ink-2);font-size:var(--fs-sm)}.status-list dd{margin:0;overflow-wrap:anywhere}@media(max-width:700px){.status-list>div{grid-template-columns:minmax(0,1fr);gap:4px}}.bill-photo{display:block;width:100%;max-height:78vh;object-fit:contain;border:1px solid var(--line);border-radius:var(--r-md);background:#fff}.bill-pdf{height:70vh}.verify-table tr.mismatch td{background:var(--warning-bg)!important}.verify-table .mismatch-tag{color:var(--warning-ink);font-size:var(--fs-xs);font-weight:700}.verify-table .confidence{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap}.verify-table .input{width:100%;min-width:118px;max-width:200px}@media(max-width:700px){.verify-table.stack tr.mismatch{background:var(--warning-bg);border-color:var(--warning-line)}.verify-table .input{max-width:none;width:100%}}.complete-box{margin-top:var(--s-4);padding:var(--s-4);border:1px solid;border-radius:var(--r-md);font-size:var(--fs-sm)}.complete-box.is-complete{background:var(--success-bg);border-color:var(--success-line)}.complete-box.is-incomplete{background:var(--warning-bg);border-color:var(--warning-line)}.complete-head{display:flex;align-items:flex-start;gap:8px;font-size:var(--fs-base);color:var(--ink)}.complete-box.is-complete .complete-head .icon{color:var(--success-dot)}.complete-box.is-incomplete .complete-head .icon{color:var(--warning-dot)}.complete-group{margin-top:var(--s-3);color:var(--ink)}.complete-group ul{margin:4px 0 0 18px;padding:0}.complete-group li{margin:2px 0}.complete-warning>strong{color:var(--warning-ink)}.complete-info>strong{color:var(--info-ink)}.complete-neutral>strong{color:var(--ink-2)}.result-box{margin-top:var(--s-4);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--fs-sm)}.result-box ul{margin:6px 0 0 18px;padding:0}.result-sources{margin-top:var(--s-3)}.picker{border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--s-4);margin:var(--s-3) 0 var(--s-4);background:var(--surface-2)}.picker-title{display:block;margin-bottom:var(--s-3)}.picker-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:var(--s-2);align-items:end}.picker-row .input{max-width:none}.picker-list{list-style:none;margin:var(--s-3) 0 0;padding:0;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);font-size:var(--fs-sm)}.picker-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 6px 4px 12px;border-bottom:1px solid var(--line)}.picker-list li:last-child{border-bottom:0}.quote-editor{margin-top:var(--s-6)}.quote-section{margin:var(--s-4) 0;padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.quote-section h4{font-size:var(--fs-base);font-weight:650;margin-bottom:var(--s-2)}.quote-lines{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.quote-lines th{text-align:left;padding:4px 4px 6px;font-size:11.5px;font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.quote-lines td{padding:3px 4px;vertical-align:middle}.quote-lines th:first-child,.quote-lines td:first-child{padding-left:0}.quote-lines .q-qty,.quote-lines .q-unit{width:96px}.quote-lines .q-amount{width:170px}.quote-lines th.q-amount{text-align:right}.quote-lines .q-remove{width:42px;text-align:right;padding-right:0}.quote-lines input.num{text-align:right}.reason-box{border:1px solid var(--warning-dot);background:var(--warning-bg);color:var(--ink);border-radius:var(--r-md);padding:var(--s-4);margin:var(--s-3) 0}.reason-box>strong{display:block;font-size:var(--fs-sm);color:var(--warning-ink);margin-bottom:var(--s-3)}.reason-box .field:last-child{margin-bottom:0}.quote-summary{position:sticky;bottom:12px;z-index:5;margin:var(--s-4) 0 0;padding:12px 16px;border:1px solid var(--brand-line);border-radius:var(--r-md);background:color-mix(in srgb,var(--brand-wash) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-2);font-size:var(--fs-base)}.quote-summary p{margin:0}.quote-summary strong{font-variant-numeric:tabular-nums;white-space:nowrap}.quote-summary .total{font-size:var(--fs-md);color:var(--brand-strong)}.quote-summary .muted{font-size:var(--fs-sm)}@media(max-width:900px){.quote-summary{bottom:calc(var(--bottomnav-h) + 14px + env(safe-area-inset-bottom))}.jump-nav{top:54px;margin:0 -14px var(--s-4);padding:8px 14px}}@media(max-width:700px){.page-head h1{font-size:var(--fs-xl)}.card{padding:var(--s-4);border-radius:var(--r-md)}.table-wrap{margin:0 calc(var(--s-4) * -1)}.kpi-value{font-size:30px}.hero .kpi-value{font-size:40px}.btn{min-height:44px}.btn-sm{min-height:40px;padding:0 13px}.icon-btn{width:42px;height:42px}.input{max-width:none;min-height:44px;font-size:16px}.input-sm,.input-auto{width:100%;max-width:none}.input-area{min-height:130px}.input-xs{width:110px;max-width:110px}.inline-form>.field{flex:1 1 100%}.inline-form>.actions{margin-top:0}.visit-form>.field{flex:1 1 100%}.filter-search{flex-basis:100%;max-width:none;min-height:44px}.filter-search input{font-size:16px}.filter-select{flex:1 1 0;min-width:0}.chips{flex-wrap:nowrap;overflow-x:auto;margin-left:calc(var(--s-4) * -1);margin-right:calc(var(--s-4) * -1);padding:0 var(--s-4) 4px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{min-height:40px}.tab{min-height:44px}.page-actions{width:100%}.empty-compact{flex-wrap:wrap}.empty-compact .empty-action{margin-left:50px}.quote-lines thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.quote-lines,.quote-lines tbody{display:block}.quote-lines tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr) 42px;gap:6px;padding:8px 0;border-bottom:1px solid var(--line)}.quote-lines tr:last-child{border-bottom:0}.quote-lines td{display:block;padding:0;width:auto!important}.quote-lines td.q-desc{grid-column:1 / -1}.quote-section{padding:var(--s-3)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.sidebar,.topbar,.bottomnav,.jump-nav,.page-actions{display:none!important}.app{display:block}.card{box-shadow:none;break-inside:avoid}}
