:root{--paper:#f6f1e6;--paper-2:#efe8d8;--card:#fcfaf4;--ink:#17231e;--muted:#5c6660;--faint:#8a938d;--pine:#0f4a3c;--pine-d:#0a352b;--pine-soft:#e9f1ec;--lake:#2c6e8f;--lake-soft:#e6eef3;--dawn:#dd9430;--dawn-soft:#fbeed4;--clay:#c2563a;--clay-soft:#fbeae4;--line:#17231e24;--line-s:#17231e14;--ring:#0f4a3c2e;--shadow-sm:0 1px 2px #17231e0f;--shadow:0 1px 2px #17231e0f, 0 18px 40px -28px #17231e66;--shadow-pop:0 1px 2px #17231e14, 0 24px 50px -24px #0a352b80;--display:"Fraunces", ui-serif, "Songti SC", serif;--body:"Spline Sans", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--mono:"SFMono-Regular", ui-monospace, "JetBrains Mono", Menlo, monospace;--r-sm:8px;--r:12px;--r-lg:16px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--body);letter-spacing:.005em;color:var(--ink);background-color:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:radial-gradient(120% 80% at 92% -6%,#dd94301f,#0000 60%),radial-gradient(100% 60% at -6% 0,#2c6e8f1a,#0000 55%);background-attachment:fixed;margin:0;font-size:15px;line-height:1.6}::selection{background:var(--dawn);color:#231a06}h1,h2,h3{font-family:var(--display);color:var(--ink);letter-spacing:-.01em;margin:0}a{color:var(--pine);text-decoration:none}a:hover{color:var(--pine-d)}.shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.sidebar{color:#e7efe9;background:radial-gradient(130% 60% at 0% 0%, #2c6e8f47, transparent 60%), linear-gradient(180deg, var(--pine) 0%, var(--pine-d) 100%);border-right:1px solid #0003;flex-direction:column;gap:6px;height:100vh;padding:22px 16px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;padding:6px 10px 18px;display:flex}.brand .mark{background:var(--clay);border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 0 4px #c2563a38}.brand .name{font-family:var(--display);letter-spacing:.01em;color:#fff;font-size:20px;font-weight:900;line-height:1}.brand .sub{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#e7efe999;margin-top:5px;font-size:10.5px;display:block}.nav{flex-direction:column;gap:3px;margin-top:4px;display:flex}.nav a{color:#e7efe9c7;border-radius:10px;align-items:center;gap:11px;padding:9px 12px;font-size:14.5px;font-weight:500;transition:background .16s,color .16s;display:flex}.nav a svg{opacity:.85;flex:none;width:18px;height:18px}.nav a:hover{color:#fff;background:#ffffff12}.nav a[aria-current=page]{color:#fff;box-shadow:inset 3px 0 0 var(--dawn);background:#ffffff1f}.nav a[aria-current=page] svg{opacity:1;color:var(--dawn)}.side-foot{flex-direction:column;gap:12px;margin-top:auto;display:flex}.env-chip{color:#e7efe9b8;background:#0000002e;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:11.5px;display:flex}.env-chip .ic{background:var(--dawn);border-radius:50%;flex:none;width:7px;height:7px}.who{border-top:1px solid #ffffff1a;align-items:center;gap:11px;padding-top:14px;display:flex}.who .avatar{width:34px;height:34px;font-family:var(--display);color:var(--pine-d);background:linear-gradient(160deg, #f4e3bf, var(--dawn));border-radius:50%;flex:none;place-items:center;font-size:15px;font-weight:700;display:grid}.who .who-text{color:#eef4ef;flex:1;min-width:0;font-size:13px;line-height:1.35}.who .who-text span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.who form{margin:0}.who button{color:#e7efe9d9;background:0 0;border:1px solid #ffffff38;border-radius:8px;min-height:auto;padding:6px 10px;font-size:12.5px}.who button:hover{color:#fff;background:#ffffff1a;border-color:#fff6}.content{min-width:0;padding:34px 40px 64px}.page{max-width:1080px;margin:0 auto}.page-head{margin-bottom:22px}.page-head .eyebrow{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--lake);font-size:11.5px;font-weight:600}.page-head h1{margin:6px 0 0;font-size:clamp(26px,3.4vw,34px);font-weight:600;line-height:1.1}.page-head .lede{color:var(--muted);max-width:64ch;margin:8px 0 0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}.card-pad{padding:18px 20px}.section-title{font-family:var(--display);margin:30px 0 12px;font-size:19px;font-weight:600}.section-title:first-child{margin-top:0}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (width<=920px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:18px 20px 20px;position:relative;overflow:hidden}.kpi:before{content:"";background:var(--c,var(--pine));width:4px;position:absolute;top:0;bottom:0;left:0}.kpi .label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:11.5px}.kpi .num{font-family:var(--display);color:var(--ink);font-variant-numeric:tabular-nums;margin-top:8px;font-size:2.7rem;font-weight:600;line-height:1.05}.kpi.k-lead{--c:var(--lake)}.kpi.k-quote{--c:var(--dawn)}.kpi.k-group{--c:var(--pine)}.kpi.k-conv{--c:var(--clay)}.toolbar{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;padding:14px 16px;display:flex}.toolbar .tb-label{color:var(--muted);margin-right:2px;font-size:12.5px;font-weight:600}input,select,textarea{font-family:var(--body);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;min-height:36px;padding:8px 11px;font-size:14px;transition:border-color .15s,box-shadow .15s}input::placeholder{color:var(--faint)}input:focus,select:focus,textarea:focus{border-color:var(--pine);box-shadow:0 0 0 3px var(--ring);outline:none}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235C6660' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;padding-right:28px}input[type=number]{width:6.5rem}label.field{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}label.field input{color:var(--ink);font-weight:400}button,.btn{font-family:var(--body);cursor:pointer;border:1px solid var(--line);color:var(--ink);border-radius:var(--r-sm);white-space:nowrap;background:#fff;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:9px 15px;font-size:14px;font-weight:600;line-height:1;transition:background .15s,border-color .15s,box-shadow .15s,transform 50ms;display:inline-flex}button:hover,.btn:hover{box-shadow:var(--shadow-sm);background:#fff;border-color:#17231e47}button:active,.btn:active{transform:translateY(1px)}button:focus-visible,.btn:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}button.primary,.btn.primary{background:var(--pine);border-color:var(--pine);color:#fff}button.primary:hover,.btn.primary:hover{background:var(--pine-d);border-color:var(--pine-d);box-shadow:0 6px 16px -8px #0a352bb3}button.accent,.btn.accent{background:var(--dawn);border-color:var(--dawn);color:#2e1f04}button.accent:hover,.btn.accent:hover{background:#cf871f;border-color:#cf871f}button.danger,.btn.danger{color:var(--clay);background:#fff;border-color:#c2563a66}button.danger:hover,.btn.danger:hover{background:var(--clay-soft);border-color:var(--clay)}button.sm,.btn.sm{min-height:32px;padding:6px 11px;font-size:13px}button.ghost,.btn.ghost{border-color:var(--line);color:var(--pine);background:0 0}.table-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}table.data{border-collapse:collapse;width:100%;font-size:14px}table.data thead th{text-align:left;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--paper-2);border-bottom:1px solid var(--line);white-space:nowrap;padding:11px 16px;font-size:11px;font-weight:600}table.data tbody td{border-bottom:1px solid var(--line-s);vertical-align:middle;padding:11px 16px}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr{transition:background .12s}table.data tbody tr:hover{background:#0f4a3c06}table.data td.id{font-family:var(--mono);color:var(--faint);font-size:12.5px}table.data td.name{color:var(--ink);font-weight:600}table.data td.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.rowform{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.rowform input[type=number]{width:5.5rem}.cell-actions{align-items:center;gap:8px;display:flex}.cell-actions form{margin:0}.badge{font-family:var(--mono);letter-spacing:.02em;border:1px solid var(--line);background:var(--card);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.badge:before{content:"";opacity:.8;background:currentColor;border-radius:50%;width:6px;height:6px}.badge.badge-draft{color:var(--muted);background:var(--paper-2)}.badge.badge-pending_approval{color:#97651a;background:var(--dawn-soft);border-color:#dd943073}.badge.badge-approved{color:var(--pine);background:var(--pine-soft);border-color:#0f4a3c59}.badge.badge-rejected{color:var(--clay);background:var(--clay-soft);border-color:#c2563a66}.badge.lake{color:var(--lake);background:var(--lake-soft);border-color:#2c6e8f59}.error{color:#8c2f1c;background:var(--clay-soft);border-radius:var(--r-sm);border:1px solid #c2563a66;align-items:flex-start;gap:9px;margin:0 0 16px;padding:10px 14px;font-size:14px;display:flex}.empty{text-align:center;color:var(--faint);padding:26px 16px;font-size:13.5px}.q-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px 18px;margin:10px 0 22px;font-size:14px;display:flex}.q-meta .k{color:var(--faint)}.back-link{color:var(--muted);align-items:center;gap:6px;margin-bottom:6px;font-size:13.5px;display:inline-flex}.back-link:hover{color:var(--pine)}.totals{justify-content:flex-end;align-items:baseline;gap:12px;padding:16px 4px 4px;display:flex}.totals .k{color:var(--muted);font-size:14px}.totals .v{font-family:var(--display);color:var(--pine);font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:600}.actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.builder{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;padding:16px;display:flex}.copy-block{margin-top:8px}pre.copy{font-family:var(--mono);color:var(--ink);border-radius:var(--r);white-space:pre-wrap;background:#fbf7ec;border:1px dashed #0f4a3c59;margin:0 0 12px;padding:16px 18px;font-size:13px;line-height:1.6}.await-note{color:#97651a;background:var(--dawn-soft);border-radius:var(--r-sm);border:1px solid #dd943073;align-items:center;gap:9px;padding:10px 14px;font-size:14px;font-weight:600;display:inline-flex}.auth{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);width:100%;max-width:410px;box-shadow:var(--shadow-pop);padding:34px 32px 28px}.auth-brand{align-items:center;gap:11px;margin-bottom:4px;display:flex}.auth-brand .mark{background:var(--clay);border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 4px #c2563a2e}.auth-brand .name{font-family:var(--display);color:var(--ink);font-size:19px;font-weight:900}.auth-eyebrow{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--lake);margin:18px 0 4px;font-size:11px;font-weight:600}.auth h1{margin:0 0 22px;font-size:26px;font-weight:600}.auth form{flex-direction:column;gap:16px;display:flex}.auth .field input{min-height:42px;font-size:15px}.auth .primary{min-height:44px;margin-top:4px;font-size:15px}.auth .hint{color:var(--muted);border-top:1px solid var(--line-s);margin:18px 0 0;padding-top:16px;font-size:12.5px;line-height:1.6}.auth .hint code{font-family:var(--mono);background:var(--paper-2);color:var(--pine);border-radius:5px;padding:1px 6px;font-size:11.5px}@media (width<=760px){.shell{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;gap:10px 16px;height:auto;position:static}.brand{padding:0}.nav{flex-flow:wrap;margin-top:0}.side-foot{flex-direction:row;align-items:center;margin:0 0 0 auto}.who{border:none;padding-top:0}.env-chip{display:none}.content{padding:22px 18px 48px}}
