@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/admin/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/admin/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/admin/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/admin/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/admin/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/admin/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/admin/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/admin/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/admin/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/admin/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/admin/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/admin/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/admin/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/admin/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/admin/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/admin/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/admin/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/admin/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/admin/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/admin/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/admin/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/admin/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/admin/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/admin/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/admin/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/admin/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/admin/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/admin/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/admin/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/admin/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/admin/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/admin/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/admin/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/admin/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/admin/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink-900: #0c1c38;--ink-700: #1d3053;--teal-600: #17708a;--teal-500: #1e8fa3;--green-500: #3fc873;--green-600: #2fae60;--mist-50: #f6f8fa;--mist-100: #eef2f5;--line-200: #dbe3ea;--slate-500: #64748b;--danger-500: #d64550;--amber-500: #d97e22;--ramp: linear-gradient(90deg, #17708a 0%, #2aa387 55%, #3fc873 100%);--font-display: "Bricolage Grotesque Variable", system-ui, sans-serif;--font-body: "Instrument Sans Variable", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--radius-card: 12px;--radius-control: 8px;--shadow-card: 0 1px 2px rgb(12 28 56 / .06), 0 4px 16px rgb(12 28 56 / .05);--sidebar-w: 232px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);font-size:14.5px;line-height:1.5;color:var(--ink-900);background:var(--mist-50);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}a{color:var(--teal-600);text-decoration:none}a:hover{color:var(--teal-500);text-decoration:underline}:focus-visible{outline:2px solid var(--teal-600);outline-offset:2px}img{max-width:100%}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.shell{min-height:100vh;--imp-h: 0px}.imp-banner{position:fixed;inset:0 0 auto 0;z-index:60;display:flex;align-items:center;gap:10px;padding:7px 16px;background:#f9ecde;border-bottom:1px solid rgb(217 126 34 / .4);color:#7a4310}.imp-banner-text{flex:1;min-width:0;font-size:13px;line-height:1.35}.imp-banner-text strong{color:#5c330b}.imp-banner-fail{font-weight:600}.imp-exit-btn{flex:none;min-height:30px;padding:0 14px;border:1px solid rgb(217 126 34 / .55);border-radius:var(--radius-control);background:#fff;color:#7a4310;font:600 13px var(--font-body);cursor:pointer}.imp-exit-btn:hover:not(:disabled){background:#fdf6ee}.imp-exit-btn:disabled{opacity:.6;cursor:default}.sidebar{position:fixed;inset:var(--imp-h, 0px) auto 0 0;width:var(--sidebar-w);background:var(--ink-900);color:#fff;display:flex;flex-direction:column;padding:18px 12px;gap:20px;overflow-y:auto;z-index:30}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px;color:#fff;border-radius:var(--radius-control)}.brand:hover{color:#fff;text-decoration:none}.wordmark{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.02em}.nav{display:flex;flex-direction:column;gap:18px}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-label{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#ffffff6b;padding:0 10px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-control);color:#ffffffbd;font-weight:500;font-size:14px;transition:background .15s,color .15s}.nav-item:hover{background:#ffffff12;color:#fff;text-decoration:none}.nav-item.active{background:var(--ink-700);color:#fff}.nav-item svg{flex:none}.main{margin-left:var(--sidebar-w);padding-top:var(--imp-h, 0px);display:flex;flex-direction:column;min-height:100vh;min-width:0}.topbar{position:sticky;top:var(--imp-h, 0px);z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;height:58px;padding:0 28px;background:#fff;border-bottom:1px solid var(--line-200)}.topbar-tenant{display:flex;align-items:baseline;gap:10px;min-width:0}.topbar-tenant-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-tenant-slug{font-family:var(--font-mono);font-size:12px;color:var(--slate-500)}.avatar-btn{width:34px;height:34px;border-radius:50%;border:none;background:var(--ink-700);color:#fff;font:600 12.5px var(--font-body);letter-spacing:.02em;cursor:pointer}.avatar-btn:hover{background:var(--ink-900)}.user-menu{position:relative}.menu{position:absolute;right:0;top:calc(100% + 8px);width:224px;background:#fff;border:1px solid var(--line-200);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:6px;z-index:40}.menu-id{padding:8px 10px 10px;border-bottom:1px solid var(--line-200);margin-bottom:6px}.menu-name{font-weight:600;font-size:14px}.menu-email{font-size:12.5px;color:var(--slate-500);overflow:hidden;text-overflow:ellipsis}.menu-item{display:flex;align-items:center;gap:8px;width:100%;border:none;background:none;padding:8px 10px;border-radius:var(--radius-control);font:500 14px var(--font-body);color:var(--ink-900);cursor:pointer;text-align:left}.menu-item:hover{background:var(--mist-100)}.content{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:28px 28px 72px}.boot{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--slate-500);background:var(--mist-50)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}.page-head h1{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.page-lede{margin-top:4px;color:var(--slate-500);font-size:14px;max-width:64ch}.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.card{background:#fff;border:1px solid var(--line-200);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.card-pad{padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--line-200)}.card-head h2{font-size:15px;font-weight:600}.card-head .card-sub{width:100%;font-size:13px;color:var(--slate-500)}.stack{display:flex;flex-direction:column;gap:16px}.stack-lg{display:flex;flex-direction:column;gap:22px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.stat{padding:16px 18px}.stat-label{font-size:13px;font-weight:500;color:var(--slate-500)}.stat-value{margin-top:6px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:23px;font-weight:500;letter-spacing:-.01em;line-height:1.2}.stat-value.money,.stat-value.vol{font-size:23px}.stat-sub{margin-top:4px;font-size:12.5px;color:var(--slate-500)}.money,.vol,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.93em}.money.pos{color:var(--green-600)}.money.neg{color:var(--danger-500)}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:20px;white-space:nowrap}.chip-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.chip-teal{color:#135f75;background:#17708a1a}.chip-green{color:#1d7a44;background:#3fc87324}.chip-amber{color:#955013;background:#d97e2221}.chip-danger{color:#b02a34;background:#d645501c}.chip-slate{color:#47566b;background:#64748b1f}.chip-navy{color:var(--ink-700);background:#1d30531c}.chip-set{display:flex;flex-wrap:wrap;gap:5px;max-width:340px}.slug-chip{font-family:var(--font-mono);font-size:12px;padding:1px 7px;border-radius:6px;background:var(--mist-100);color:var(--ink-700);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 14px var(--font-body);padding:9px 16px;border-radius:var(--radius-control);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,filter .15s;text-decoration:none}.btn:disabled{opacity:.55;cursor:default}a.btn:hover{text-decoration:none}.btn-primary{background:var(--ink-900);color:#fff}.btn-primary:hover:not(:disabled){background:var(--ink-700);color:#fff}.btn-ramp{background:var(--ramp);color:#fff}.btn-ramp:hover:not(:disabled){filter:brightness(1.06);color:#fff}.btn-secondary{background:#fff;color:var(--ink-900);border-color:var(--line-200)}.btn-secondary:hover:not(:disabled){background:var(--mist-50);border-color:#c4d0da;color:var(--ink-900)}.btn-danger{background:#fff;color:var(--danger-500);border-color:#d6455073}.btn-danger:hover:not(:disabled){background:#d645500f}.btn-sm{padding:5px 11px;font-size:13px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-control);border:none;background:none;color:var(--slate-500);cursor:pointer}.icon-btn:hover{background:var(--mist-100);color:var(--ink-900)}.table-wrap{overflow-x:auto;border-radius:inherit}.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th{text-align:left;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-500);padding:11px 16px;border-bottom:1px solid var(--line-200);white-space:nowrap}.tbl td{padding:11px 16px;border-bottom:1px solid var(--mist-100);vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr:hover{background:var(--mist-50)}.tbl .num,.tbl th.num{text-align:right}.tbl td.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px}.tbl tr.tbl-expandable{cursor:pointer}.tbl tbody tr.tbl-expansion,.tbl tbody tr.tbl-expansion:hover{background:var(--mist-50)}.tbl tr.tbl-expansion>td{padding:14px 16px 18px}.cell-main{font-weight:500}.nowrap{white-space:nowrap}.cell-sub{display:block;font-size:12.5px;color:var(--slate-500)}.thumb{width:38px;height:38px;border-radius:8px;border:1px solid var(--line-200);object-fit:cover;background:var(--mist-100);display:block}.thumb-empty{display:grid;place-items:center;color:var(--slate-500)}.input,select.input,textarea.input{width:100%;font:400 14px var(--font-body);color:var(--ink-900);background:#fff;border:1px solid var(--line-200);border-radius:var(--radius-control);padding:9px 12px;transition:border-color .15s}.input:hover{border-color:#c4d0da}.input::placeholder{color:#94a3b4}.input-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-size:13px;font-weight:600;color:var(--ink-700)}.hint{font-size:12.5px;color:var(--slate-500);line-height:1.45}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .span-2{grid-column:span 2}.unit-input{display:inline-flex;align-items:center;gap:6px;width:120px}.unit-input .input{text-align:right}.unit{font-size:13px;color:var(--slate-500);flex:none}.perm-list{border:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.perm-list>legend{font-size:13px;font-weight:600;color:var(--ink-700);padding:0;margin-bottom:6px}.perm-option{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;border:1px solid var(--line-200);border-radius:var(--radius-control);cursor:pointer;transition:border-color .15s,background .15s}.perm-option:hover{border-color:var(--teal-500)}.perm-option.checked{border-color:var(--teal-600);background:#17708a0a}.perm-option input{margin:3px 0 0;accent-color:var(--teal-600);flex:none}.perm-name{display:block;font-weight:600;font-size:14px}.perm-hint{display:block;font-size:12.5px;color:var(--slate-500);line-height:1.45}.stripe-card-box{border:1px solid var(--line-200);border-radius:var(--radius-control);padding:12px;background:#fff;min-height:42px}.search-input{position:relative;max-width:320px;flex:1}.search-input svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--slate-500);pointer-events:none}.search-input .input{padding-left:34px}.toggle{position:relative;width:38px;height:22px;flex:none;border:none;border-radius:999px;background:#c3cedb;cursor:pointer;transition:background .15s;padding:0}.toggle[aria-checked=true]{background:var(--green-500)}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0c1c3840;transition:transform .15s}.toggle[aria-checked=true]:after{transform:translate(16px)}.toggle:disabled{opacity:.5;cursor:default}.banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-control);border:1px solid;font-size:14px}.banner-icon{flex:none;margin-top:2px}.banner-body{display:flex;flex-direction:column;gap:8px;min-width:0}.banner-body p{margin:0}.banner-amber{background:#d97e2212;border-color:#d97e2259;color:#7c4310}.banner-danger{background:#d645500f;border-color:#d6455059;color:#a02832}.banner-teal{background:#17708a0f;border-color:#17708a4d;color:#135f75}.banner-green{background:#3fc87317;border-color:#3fc87373;color:#1d7a44}.banner .btn{align-self:flex-start}.banner-dismiss{margin-left:auto;align-self:flex-start;color:inherit}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:44px 24px;gap:6px}.empty-steps{display:flex;align-items:flex-end;gap:4px;height:26px;margin-bottom:10px}.empty-steps span{width:7px;border-radius:2px;background:var(--line-200)}.empty-steps span:nth-child(1){height:8px}.empty-steps span:nth-child(2){height:13px}.empty-steps span:nth-child(3){height:19px}.empty-steps span:nth-child(4){height:26px}.empty-title{font-weight:600;font-size:15px}.empty-body{color:var(--slate-500);font-size:13.5px;max-width:46ch}.empty-action{margin-top:12px}.skeleton{border-radius:6px;background:linear-gradient(90deg,var(--mist-100) 25%,#e4eaef 50%,var(--mist-100) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.skeleton-stack{display:flex;flex-direction:column;gap:10px;padding:16px 20px}@keyframes shimmer{to{background-position:-200% 0}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c1c3873;display:grid;place-items:center;padding:20px;z-index:50}.modal{background:#fff;border-radius:var(--radius-card);width:100%;max-width:460px;box-shadow:0 12px 40px #0c1c3840;padding:20px;max-height:calc(100vh - 40px);overflow-y:auto}.modal-wide{max-width:560px}.modal:focus{outline:none}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.modal-head h2{font-size:17px;font-weight:650}.modal-body{display:flex;flex-direction:column;gap:14px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--mist-50)}.auth-box{width:100%;max-width:420px;display:flex;flex-direction:column;gap:20px}.auth-brand{display:flex;align-items:center;justify-content:center;gap:10px}.auth-brand .wordmark{color:var(--ink-900);font-size:22px}.auth-card{padding:26px;display:flex;flex-direction:column;gap:16px}.auth-card h1{font-family:var(--font-display);font-size:21px;font-weight:700;letter-spacing:-.015em}.auth-sub{color:var(--slate-500);font-size:14px;margin-top:4px}.auth-alt{text-align:center;font-size:13.5px;color:var(--slate-500)}.auth-steps{display:flex;justify-content:center}.save-bar{position:sticky;bottom:16px;z-index:25;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--ink-900);color:#fff;border-radius:var(--radius-card);box-shadow:0 8px 30px #0c1c3859}.save-bar p{font-size:14px;font-weight:500;margin-right:auto}.save-bar .btn-secondary{background:transparent;color:#fff;border-color:#ffffff59}.save-bar .btn-secondary:hover:not(:disabled){background:#ffffff14;color:#fff}.save-bar .btn-primary{background:#fff;color:var(--ink-900)}.save-bar .btn-primary:hover:not(:disabled){background:var(--mist-100);color:var(--ink-900)}.plan-layout{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:20px;align-items:start}.plan-aside{position:sticky;top:78px;display:flex;flex-direction:column;gap:14px}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.template-card{position:relative;text-align:left;background:#fff;border:1px solid var(--line-200);border-radius:var(--radius-card);padding:14px;cursor:pointer;font:inherit;color:var(--ink-900);display:flex;flex-direction:column;gap:6px;transition:border-color .15s,background .15s}.template-card:hover{border-color:var(--teal-500)}.template-card.selected{border-color:var(--teal-600);background:#17708a0a;box-shadow:inset 0 0 0 1px var(--teal-600)}.template-name{font-weight:650;font-size:14.5px;display:flex;align-items:center;gap:8px}.template-desc{font-size:12.5px;color:var(--slate-500);line-height:1.45}.rate-row{display:flex;align-items:center;gap:12px}.rate-row .rate-label{width:72px;font-size:13px;font-weight:600;color:var(--ink-700);flex:none}.rule-grid{display:flex;flex-direction:column;gap:12px}.rule{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.rule-text{max-width:52ch}.rule-text .rule-name{font-weight:600;font-size:14px}.rule-text .hint{margin-top:1px}.divider{border:none;border-top:1px solid var(--mist-100);margin:4px 0}.max-payout{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:28px;font-weight:500;line-height:1.1}.max-payout.hot{color:var(--amber-500)}.issue-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:13px}.issue-list code{font-family:var(--font-mono);font-size:12px}.rank-advanced{font-size:12px;color:var(--slate-500)}.lifecycle{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--slate-500)}.lifecycle .step{display:inline-flex;align-items:center;gap:6px}.lifecycle .arrow{color:#b6c2cd}.ramp-bar{height:12px;border-radius:999px;background:var(--mist-100);overflow:hidden}.ramp-bar-fill{height:100%;border-radius:999px;background:var(--ramp);transition:width .4s ease}.ramp-legend{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--slate-500);margin-top:8px;flex-wrap:wrap}.format-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.format-option{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line-200);border-radius:var(--radius-control);padding:11px 13px;cursor:pointer;background:#fff;transition:border-color .15s,background .15s}.format-option:hover{border-color:var(--teal-500)}.format-option.selected{border-color:var(--teal-600);background:#17708a0a;box-shadow:inset 0 0 0 1px var(--teal-600)}.format-option input{position:absolute;opacity:0;pointer-events:none}.format-name{font-weight:600;font-size:14px}.format-desc{font-size:12px;color:var(--slate-500)}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.kv{display:grid;grid-template-columns:150px 1fr;gap:8px 16px;font-size:14px}.kv dt{color:var(--slate-500);margin:0}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.note{font-size:13px;color:var(--slate-500);line-height:1.5}.temp-password{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--mist-100);border:1px dashed var(--line-200);border-radius:var(--radius-control);padding:10px 12px;font-family:var(--font-mono);font-size:13px;overflow-wrap:anywhere}.saved-note{color:var(--green-600);font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:5px}@media(max-width:900px){:root{--sidebar-w: 62px}.sidebar{padding:14px 8px;align-items:center}.wordmark,.nav-text,.nav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.brand{padding:4px}.nav{width:100%}.nav-item{justify-content:center;padding:10px 0}.content{padding:20px 16px 64px}.topbar{padding:0 16px}.plan-layout{grid-template-columns:1fr}.plan-aside{position:static}.template-grid,.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.kv{grid-template-columns:1fr;gap:2px 0}.kv dt{margin-top:8px}}
