@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.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}:root{--bg: #f5f7fb;--panel: #ffffff;--ink: #1f2937;--muted: #6b7280;--line: #e5e7eb;--brand: #2563eb;--brand-dark: #1e40af;--green: #059669;--red: #dc2626;--shadow: 0 1px 3px rgba(16,24,40,.08), 0 1px 2px rgba(16,24,40,.04)}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:14px}a{color:var(--brand)}h1{font-size:22px;margin:0 0 4px}h3{margin:22px 0 8px;font-size:15px}.muted{color:var(--muted)}.center{min-height:100vh;display:grid;place-items:center;padding:20px}.alert{background:#fef2f2;color:var(--red);border:1px solid #fecaca;padding:8px 10px;border-radius:8px;margin:8px 0;font-size:13px}button{cursor:pointer;font:inherit}button.primary{background:var(--brand);color:#fff;border:0;border-radius:8px;padding:10px;width:100%;font-weight:600}button.primary:disabled{opacity:.6}button.ghost{background:transparent;border:1px solid var(--line);border-radius:6px;padding:6px 10px;color:var(--ink)}.brand{font-weight:800;font-size:18px;letter-spacing:-.3px;color:#fff}.brand span{color:#93c5fd}.brand.big{color:var(--brand);font-size:26px;text-align:center}.brand.big span{color:var(--brand-dark)}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:26px}.login{width:340px;display:flex;flex-direction:column;gap:6px}.login label,.picker{display:block}.login label{font-size:12px;color:var(--muted);margin-top:8px}.login input{width:100%;margin-top:4px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font:inherit}.login .primary{margin-top:14px}.picker{width:380px}.picker ul{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:8px}.picker button{width:100%;text-align:left;background:#f9fafb;border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column}.picker button:hover{border-color:var(--brand);background:#eff6ff}.pt-name{font-weight:600}.pt-meta{font-size:12px;color:var(--muted)}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:#0f172a;color:#cbd5e1;padding:18px 14px;display:flex;flex-direction:column;gap:4px}.sidebar nav{display:flex;flex-direction:column;gap:2px;margin-top:18px}.sidebar nav a{color:#cbd5e1;text-decoration:none;padding:9px 12px;border-radius:8px;font-size:14px}.sidebar nav a:hover{background:#1e293b;color:#fff}.sidebar nav a.active{background:var(--brand);color:#fff;font-weight:600}.pt-switch{margin-top:auto;background:#1e293b;color:#cbd5e1;border:1px solid #334155;border-radius:8px;padding:8px}.content{display:flex;flex-direction:column;min-width:0}.topbar{background:var(--panel);border-bottom:1px solid var(--line);padding:12px 22px;display:flex;justify-content:space-between;align-items:center}.topbar .user{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--muted)}.role{color:var(--brand);font-weight:600;text-transform:uppercase;font-size:11px}.page{padding:22px;overflow:auto}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:var(--shadow);border-left:4px solid var(--line)}.kpi.blue{border-left-color:var(--brand)}.kpi.green{border-left-color:var(--green)}.kpi-label{font-size:12px;color:var(--muted)}.kpi-value{font-size:20px;font-weight:700;margin-top:6px}.note{margin-top:16px}.note.muted{color:var(--muted)}table.grid{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}table.grid th,table.grid td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line)}table.grid th{background:#f9fafb;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}table.grid td.num,table.grid th.num{text-align:right;font-variant-numeric:tabular-nums}table.grid tr:last-child td{border-bottom:0}.tag{background:#eef2ff;color:var(--brand-dark);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600}.report-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.report-cols{grid-template-columns:1fr}}.page-head{display:flex;justify-content:space-between;align-items:center}button.primary.sm,button.ghost.sm{width:auto;padding:6px 12px;font-size:13px}button.ghost.sm{background:#eff6ff;border:1px solid #bfdbfe;color:var(--brand-dark);border-radius:6px}.linkbtn{background:none;border:0;color:var(--brand);cursor:pointer;text-decoration:underline;padding:0;font:inherit}.ok{background:#ecfdf5;color:var(--green);border:1px solid #a7f3d0;padding:8px 10px;border-radius:8px;margin:8px 0;font-size:13px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:grid;place-items:center;z-index:50}.modal{background:var(--panel);border-radius:14px;width:520px;max-width:94vw;max-height:90vh;overflow:auto;box-shadow:0 20px 50px #00000040}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0}.modal-body{padding:18px}.form{display:flex;flex-direction:column;gap:10px}.form>label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.form input,.form select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit}.form .primary{margin-top:6px}.lines{border:1px solid var(--line);border-radius:10px;padding:10px}.lines-head,.line-row{display:grid;grid-template-columns:1fr 70px 100px 32px;gap:8px;align-items:center}.lines-head{font-size:11px;color:var(--muted);text-transform:uppercase;margin-bottom:6px}.line-row{margin-bottom:6px}.line-row .ghost{width:auto;padding:6px;border:1px solid var(--line);border-radius:6px;background:#fff}.add{width:auto!important;border:1px dashed var(--line);border-radius:6px;background:#f9fafb;padding:6px 10px;color:var(--brand-dark)}.checks{display:flex;gap:18px}.chk{flex-direction:row!important;align-items:center;gap:6px;color:var(--ink)!important}.chk input{width:auto}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.row2 label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.list-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0;flex-wrap:wrap}.search{flex:1;min-width:180px;max-width:320px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit}.pager{display:flex;align-items:center;gap:10px}.pager .muted{font-size:12px}.build-ver{margin-top:14px;text-align:center;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:16px}.scard{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:16px 18px}.scard h3{margin:0 0 10px;font-size:14px}.kv{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}.kv:last-child{border-bottom:0}.kv span{color:var(--muted)}.kv b{text-align:right}.scard.changelog{grid-column:1 / -1}.changelog ol{list-style:none;margin:0;padding:0;display:grid;gap:10px;max-height:360px;overflow-y:auto}.changelog ol>li{border-left:2px solid var(--line);padding-left:10px}.changelog ol>li.current{border-left-color:var(--c-blue, #0a4df5)}.changelog .cl-head{display:flex;gap:10px;align-items:baseline;font-size:13px}.changelog .cl-head time{margin-left:auto;color:var(--muted, #6b7486);font-size:12px;white-space:nowrap}.changelog ul{margin:4px 0 0;padding-left:18px;font-size:12.5px;color:var(--c-ink-2, #3c4559)}.picker .pt-group{font-size:12px;font-weight:700;color:var(--muted, #6b7486);margin:6px 2px 2px}.auth-title{font-size:18px;margin:10px 0 0}.auth-link{color:var(--brand-dark);font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-btn{display:block;margin-top:14px;padding:10px;text-align:center;border-radius:8px;background:var(--brand-dark);color:#fff;font-weight:700;text-decoration:none}.auth-foot{margin:12px 0 0;text-align:center;font-size:13px}.auth-trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}:root{--c-ink: #0a0e1a;--c-blue: #0a4df5;--c-blue-hover: #083cc2;--c-sky: #2e9bff;--g-signal: linear-gradient(90deg, var(--c-blue), var(--c-sky));--g-signal-v: linear-gradient(180deg, var(--c-blue), var(--c-sky));--c-bg: #f4f6fa;--c-surface: #ffffff;--c-surface-2: #f8f9fc;--c-surface-3: #eef1f6;--c-line: #e1e6ef;--c-line-strong: #c9d1de;--c-ink-2: #3c4559;--c-muted: #6b7486;--c-blue-soft: #e8efff;--c-sky-soft: #eaf5ff;--c-ok: #0f7b5f;--c-ok-soft: #e3f4ee;--c-warn: #a35c06;--c-warn-soft: #fdf1df;--c-danger: #c2362f;--c-danger-hover: #a12c26;--c-danger-soft: #fdeceb;--c-rail: #0a0e1a;--c-rail-ink: #8b93a7;--c-rail-hover: #161c2e;--r: 4px;--fs: 13px;--fs-sm: 12px;--fs-xs: 11px;--h-ctl: 30px;--h-tab: 36px;--font: "Plus Jakarta Sans Variable", "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif}body{font-family:var(--font);font-size:var(--fs);color:var(--c-ink);background:var(--c-bg);font-feature-settings:"tnum" 1}.num,.tnum{font-variant-numeric:tabular-nums}h1{font-weight:700;letter-spacing:-.01em}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--c-blue);outline-offset:1px}.app{display:grid;grid-template-columns:52px 1fr;height:100vh;overflow:hidden}.rail{background:var(--c-rail);display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:2px}.rail-logo{width:32px;height:32px;border-radius:8px;background:var(--g-signal);color:#fff;font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;letter-spacing:-.02em}.rail-btn{width:40px;height:38px;display:grid;place-items:center;border:0;background:transparent;color:var(--c-rail-ink);border-radius:var(--r);cursor:pointer;position:relative}.rail-btn:hover{background:var(--c-rail-hover);color:#fff}.rail-btn[aria-current=true]{color:#fff;background:var(--c-rail-hover)}.rail-btn[aria-current=true]:before{content:"";position:absolute;left:-6px;top:7px;bottom:7px;width:3px;background:var(--g-signal-v);border-radius:0 2px 2px 0}.rail-spacer{flex:1}.rail-tip{position:absolute;left:48px;white-space:nowrap;background:var(--c-ink);color:#fff;font-size:var(--fs-sm);padding:5px 9px;border-radius:var(--r);opacity:0;pointer-events:none;transition:opacity .12s;z-index:30;box-shadow:0 4px 14px #0a0e1a40}.rail-btn:hover .rail-tip,.rail-btn:focus-visible .rail-tip{opacity:1}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.mtabs{display:flex;align-items:stretch;gap:0;background:var(--c-surface);border-bottom:1px solid var(--c-line);padding:0 8px;min-height:var(--h-tab)}.mtab{display:inline-flex;align-items:center;gap:6px;padding:0 8px 0 12px;border:0;background:transparent;color:var(--c-muted);cursor:pointer;font-size:var(--fs);font-weight:500;max-width:220px;position:relative}.mtab:hover{color:var(--c-ink);background:var(--c-surface-2)}.mtab[aria-selected=true]{color:var(--c-ink);font-weight:700}.mtab[aria-selected=true]:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;background:var(--g-signal);border-radius:2px 2px 0 0}.mtab+.mtab{box-shadow:inset 1px 0 0 var(--c-line)}.mtab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-x{width:18px;height:18px;display:grid;place-items:center;border:0;background:transparent;color:var(--c-muted);border-radius:3px;cursor:pointer;padding:0}.tab-x:hover{background:var(--c-danger-soft);color:var(--c-danger)}.mtabs-end{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--c-ink-2)}.who{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--c-line);background:var(--c-surface);border-radius:999px;height:26px;padding:0 10px 0 6px;cursor:pointer;color:var(--c-ink-2);font:inherit;font-size:var(--fs-sm)}.who-co{background:var(--c-blue-soft);color:var(--c-blue);font-weight:700;border-radius:999px;padding:1px 7px}.panes{flex:1;min-height:0;position:relative;background:var(--c-bg)}.pane{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.pane[hidden]{display:none}.pane-pad{padding:14px 16px}.dtabs{display:flex;align-items:stretch;gap:0;padding:0 8px;border-bottom:1px solid var(--c-line);background:var(--c-surface-2);min-height:34px}.dtab{display:inline-flex;align-items:center;gap:6px;padding:0 6px 0 10px;border:0;background:transparent;cursor:pointer;color:var(--c-muted);font-size:var(--fs);font-weight:500;position:relative}.dtab:hover{color:var(--c-ink)}.dtab[aria-selected=true]{color:var(--c-blue);font-weight:700}.dtab[aria-selected=true]:after{content:"";position:absolute;left:6px;right:6px;bottom:-1px;height:2px;background:var(--g-signal)}.dtab-list{padding:0 12px;gap:6px}.dtab-dirty{width:6px;height:6px;border-radius:50%;background:var(--c-warn)}.dtab-new{margin:4px 0 4px 8px}.ws{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--c-surface)}.ws-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;padding:12px 16px 10px;gap:12px}.ws-foot{display:flex;align-items:center;gap:14px;padding:10px 16px;border-top:1px solid var(--c-line);background:var(--c-surface-2);flex-wrap:wrap}.ws-foot .grow{flex:1}.ws-foot>.hint{flex:1 1 140px;min-width:0}.foot-actions{display:flex;gap:8px}.btn-lg{height:40px;padding:0 16px;font-size:14px}.btn kbd{font:inherit;font-size:var(--fs-xs);font-weight:600;padding:1px 6px;border-radius:3px;background:var(--c-surface-3);color:var(--c-muted)}.btn-primary kbd{background:#fff3;color:#fff}.btn-quiet-danger{border-color:transparent;background:transparent;color:var(--c-danger)}.btn-quiet-danger:hover:not(:disabled){background:var(--c-danger-soft);border-color:var(--c-danger-soft);color:var(--c-danger)}.checks-inline{display:flex;align-items:center;gap:18px;flex-wrap:wrap;min-height:var(--h-ctl)}.check{display:inline-flex;align-items:center;gap:7px;cursor:pointer;color:var(--c-ink)}.check input{width:15px;height:15px;accent-color:var(--c-blue);margin:0}.check:has(input:disabled){color:var(--c-muted);cursor:not-allowed}.disc-ctl{display:flex;align-items:stretch;height:28px;border:1px solid var(--c-line-strong);border-radius:var(--r);background:var(--c-surface);overflow:hidden}.disc-ctl:focus-within{border-color:var(--c-blue);box-shadow:0 0 0 3px var(--c-blue-soft)}.disc-mode{border:0;border-right:1px solid var(--c-line);background:var(--c-blue-soft);color:var(--c-blue);font:inherit;font-size:var(--fs-xs);font-weight:700;min-width:34px;cursor:pointer}.disc-mode:hover{background:#d9e5ff}.disc-ctl input,.disc-ctl input.inp{border:0;outline:none;min-width:0;width:110px;height:auto;padding:0 8px;font:inherit;text-align:right;background:transparent;border-radius:0}.disc-ctl input.inp:focus{box-shadow:none}.hdr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px 32px}.fld{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:10px}.fld>label,.fld>.lbl{color:var(--c-ink-2);text-align:right;font-size:var(--fs)}@media(max-width:1100px){.hdr{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.fld{grid-template-columns:96px minmax(0,1fr)}.checks-inline{gap:4px 12px}}.req:after{content:" *";color:var(--c-danger)}.inp{height:var(--h-ctl);width:100%;border:1px solid var(--c-line-strong);border-radius:var(--r);padding:0 9px;font:inherit;color:var(--c-ink);background:var(--c-surface)}.inp:hover{border-color:#a9b4c6}.inp:focus{border-color:var(--c-blue);outline:none;box-shadow:0 0 0 3px var(--c-blue-soft)}.inp:read-only,.inp:disabled{background:var(--c-surface-3);color:var(--c-ink-2)}.inp.right{text-align:right}.inp-affix{display:flex;align-items:stretch;border:1px solid var(--c-line-strong);border-radius:var(--r);background:var(--c-surface);height:var(--h-ctl);overflow:hidden}.inp-affix:focus-within{border-color:var(--c-blue);box-shadow:0 0 0 3px var(--c-blue-soft)}.inp-affix .affix{display:grid;place-items:center;padding:0 8px;background:var(--c-surface-3);color:var(--c-muted);font-size:var(--fs-xs);font-weight:600;border-right:1px solid var(--c-line)}.inp-affix input{border:0;outline:none;flex:1;min-width:0;padding:0 9px;font:inherit;background:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--h-ctl);padding:0 12px;border:1px solid var(--c-line-strong);background:var(--c-surface);color:var(--c-ink);border-radius:var(--r);cursor:pointer;font:inherit;font-weight:600;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--c-blue);color:var(--c-blue)}.btn-primary{background:var(--c-blue);border-color:var(--c-blue);color:#fff}.btn-primary:hover:not(:disabled){background:var(--c-blue-hover);border-color:var(--c-blue-hover);color:#fff}.btn-danger{color:var(--c-danger);border-color:#efc2bf}.btn-danger:hover:not(:disabled){background:var(--c-danger);border-color:var(--c-danger);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-icon{width:var(--h-ctl);padding:0}.lookup{position:relative}.lookup-box{display:flex;align-items:center;gap:4px;min-height:var(--h-ctl);border:1px solid var(--c-line-strong);border-radius:var(--r);background:var(--c-surface);padding:0 4px}.lookup-box:focus-within{border-color:var(--c-blue);box-shadow:0 0 0 3px var(--c-blue-soft)}.lookup-box input{border:0;outline:none;flex:1;min-width:60px;height:calc(var(--h-ctl) - 2px);font:inherit;background:transparent;padding:0 5px}.lookup-box .ic{color:var(--c-muted);display:grid;place-items:center;width:22px}.chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;height:22px;padding:0 3px 0 4px;border:0;background:var(--c-blue-soft);color:var(--c-ink);border-radius:999px;font-size:var(--fs-sm);white-space:nowrap;overflow:hidden}.chip-code{background:var(--c-surface);color:var(--c-blue);font-weight:700;border-radius:999px;padding:0 6px;font-size:var(--fs-xs)}.chip span{overflow:hidden;text-overflow:ellipsis}.chip button{border:0;background:transparent;color:var(--c-ink-2);cursor:pointer;padding:0 3px;display:grid;place-items:center;border-radius:999px}.chip button:hover{color:var(--c-danger)}.lookup-pop{position:absolute;left:0;right:0;top:calc(100% + 3px);z-index:40;background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:6px;box-shadow:0 10px 28px #0a0e1a24;max-height:300px;overflow:auto;padding:4px;margin:0;list-style:none}.lookup-opt{display:grid;grid-template-columns:120px 1fr auto;gap:10px;padding:6px 8px;cursor:pointer;font-size:var(--fs);border-radius:var(--r)}.lookup-opt .code{color:var(--c-blue);font-weight:600;font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lookup-opt .meta{color:var(--c-muted);font-size:var(--fs-xs)}.lookup-opt[aria-selected=true]{background:var(--c-sky-soft)}.lookup-empty{padding:8px 10px;color:var(--c-muted);font-size:var(--fs-sm)}dialog.dlg{padding:0;border:0;border-radius:8px;width:min(520px,94vw);box-shadow:0 24px 60px #0a0e1a52;color:var(--c-ink);overflow:hidden}dialog.dlg::backdrop{background:#0a0e1a75}dialog.dlg:before{content:"";display:block;height:3px;background:var(--g-signal)}.dlg-head{display:flex;align-items:center;gap:8px;height:44px;padding:0 10px 0 16px;background:var(--c-surface);color:var(--c-ink);font-weight:700;font-size:14px;border-bottom:1px solid var(--c-line)}.dlg-head svg{color:var(--c-blue)}.dlg-head .tab-x{margin-left:auto}.dlg-body{padding:16px;display:grid;gap:9px}.dlg-body .fld{grid-template-columns:110px minmax(0,1fr)}.dlg-foot{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid var(--c-line);background:var(--c-surface-2)}.dlg-foot .grow{flex:1}.notice-list{margin:0;padding-left:18px;display:grid;gap:6px}.notice-list li::marker{color:var(--c-warn)}.code-link{color:var(--c-blue);font-weight:700}.dg{display:flex;flex-direction:column;min-height:0;flex:1;border:1px solid var(--c-line);border-radius:6px;background:var(--c-surface);overflow:hidden}.dg-bar{display:flex;align-items:center;gap:6px;padding:8px;border-bottom:1px solid var(--c-line)}.dg-bar .grow{flex:1}.dg-search{width:300px}.dg-body{flex:1;min-height:160px;position:relative}.dg-foot{display:flex;align-items:center;gap:8px;padding:5px 8px;border-top:1px solid var(--c-line);background:var(--c-surface-2);font-size:var(--fs-sm);color:var(--c-ink-2);min-height:34px}.dg-foot .grow{flex:1}.colmenu{margin:0;padding:6px;border:1px solid var(--c-line-strong);border-radius:6px;background:var(--c-surface);box-shadow:0 10px 28px #0a0e1a24;min-width:220px}.colmenu h4{margin:0;padding:4px 8px 6px;font-size:var(--fs-sm);font-weight:700;color:var(--c-ink)}.colmenu label{display:flex;align-items:center;gap:8px;padding:5px 8px;cursor:pointer;font-size:var(--fs);border-radius:var(--r)}.colmenu label:hover{background:var(--c-surface-2)}.colmenu input{accent-color:var(--c-blue)}.colmenu .reset{display:flex;width:100%;margin-top:6px}.ag-cell.cell-num,.ag-header-cell.cell-num .ag-header-cell-label{justify-content:flex-end;text-align:right}.badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:700}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-draft{background:var(--c-warn-soft);color:var(--c-warn)}.badge-posted{background:var(--c-ok-soft);color:var(--c-ok)}.badge-other{background:var(--c-surface-3);color:var(--c-ink-2)}.badge-pending{background:var(--c-warn-soft);color:var(--c-warn);box-shadow:inset 0 0 0 1px var(--c-warn)}.hint-danger{color:var(--c-danger)}.badge-danger{background:var(--c-danger-soft);color:var(--c-danger)}.seg{display:inline-flex}.seg .btn{border-radius:0}.seg .btn:first-child{border-radius:6px 0 0 6px}.seg .btn:last-child{border-radius:0 6px 6px 0;margin-left:-1px}.rules-table{border-collapse:collapse;width:100%;max-width:980px;margin-top:12px}.rules-table th{text-align:left;font-size:var(--fs-sm);color:var(--c-muted);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--c-line-strong)}.rules-table td{padding:6px 8px;border-bottom:1px solid var(--c-line);vertical-align:middle}.badge-lg{height:24px;font-size:var(--fs-sm);padding:0 10px}.items-bar{display:flex;align-items:center;gap:10px}.items-bar .lookup{flex:1;min-width:200px;max-width:460px}.items-count{margin-left:auto;font-size:var(--fs);color:var(--c-ink-2);white-space:nowrap}.items-count b{color:var(--c-ink);font-size:15px}.items-area{position:relative;flex:1;min-height:220px;display:flex}.summary{max-width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,190px));align-items:stretch;border:1px solid var(--c-line);border-radius:6px;background:var(--c-surface-2);overflow:hidden}.summary .v{overflow-wrap:anywhere}.summary-4{grid-template-columns:repeat(4,minmax(0,180px))}.summary>div{padding:8px 16px;display:grid;gap:3px}.summary>div+div{border-left:1px solid var(--c-line)}.summary .k{color:var(--c-muted);font-size:var(--fs-sm)}.summary .v{font-weight:700;text-align:right;font-variant-numeric:tabular-nums}.summary .total{background:var(--c-ink);color:#fff}.summary .total .k{color:#aeb6c8}.summary .total .v{font-size:17px}.hint{font-size:var(--fs-sm);color:var(--c-muted)}.toasts{position:fixed;right:16px;bottom:16px;display:grid;gap:8px;z-index:100}.toast{min-width:260px;max-width:420px;padding:10px 14px 10px 16px;border-radius:6px;background:var(--c-ink);color:#fff;font-size:var(--fs);box-shadow:0 10px 28px #0a0e1a4d;position:relative;overflow:hidden}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--g-signal-v)}.toast.err:before{background:#f0706a}.pane>.legacy{padding:14px 16px;background:var(--c-bg);min-height:100%}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.flyout{position:fixed;left:52px;top:0;bottom:0;width:248px;z-index:70;background:var(--c-surface);border-right:1px solid var(--c-line);box-shadow:12px 0 28px #0a0e1a1f;padding:10px 8px;overflow-y:auto}.flyout-head{font-weight:800;font-size:15px;padding:6px 10px 10px;border-bottom:1px solid var(--c-line);margin-bottom:6px}.flyout-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:transparent;font:inherit;color:var(--c-ink);padding:7px 10px;border-radius:var(--r);cursor:pointer;position:relative}.flyout-item:hover:not(:disabled){background:var(--c-surface-3)}.flyout-item[aria-current=true]{font-weight:700;background:var(--c-blue-soft)}.flyout-item[aria-current=true]:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--g-signal-v);border-radius:2px}.flyout-item:disabled{color:var(--c-muted);cursor:default}.flyout-item .soon{margin-left:auto;font-size:var(--fs-xs);color:var(--c-muted);border:1px solid var(--c-line);border-radius:999px;padding:0 6px}.flyout-rpt{margin-top:8px;border-top:1px solid var(--c-line);border-radius:0;padding-top:10px;color:var(--c-blue);font-weight:600}.palette ul{list-style:none;margin:0;padding:0;max-height:360px;overflow-y:auto}.palette li{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--r);cursor:pointer}.palette li .hint{margin-left:auto}.palette li[aria-selected=true]{background:var(--c-blue-soft)}.rpt-home{overflow-y:auto;background:var(--c-bg)}.rpt-home:not([hidden]){display:block}.rpt-head{display:flex;align-items:flex-end;gap:16px;padding:18px 20px 6px;flex-wrap:wrap}.rpt-head h1{margin:0;font-size:20px;font-weight:800}.rpt-head p{margin:4px 0 0}.rpt-search{margin-left:auto;width:min(320px,100%)}.rpt-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;padding:12px 20px 24px;align-items:start}.rpt-cats{display:grid;gap:2px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:6px;padding:6px;position:sticky;top:0}.rpt-cat{display:flex;align-items:center;gap:9px;border:0;background:transparent;font:inherit;color:var(--c-ink-2);padding:8px 10px;border-radius:var(--r);cursor:pointer;text-align:left;position:relative}.rpt-cat:hover{background:var(--c-surface-3)}.rpt-cat[aria-current=true]{background:var(--c-blue-soft);color:var(--c-ink);font-weight:700}.rpt-cat[aria-current=true]:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--g-signal-v);border-radius:2px}.rpt-count{margin-left:auto;font-size:var(--fs-xs);color:var(--c-muted)}.rpt-list-head h2{margin:0;font-size:16px;display:flex;align-items:center;gap:8px}.rpt-list-head p{margin:3px 0 12px}.rpt-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}.rpt-card{display:flex;gap:12px;align-items:flex-start;text-align:left;font:inherit;color:var(--c-ink);background:var(--c-surface);border:1px solid var(--c-line);border-radius:6px;padding:12px 14px;cursor:pointer}.rpt-card:hover{border-color:var(--c-blue)}.rpt-ic{flex:none;width:30px;height:30px;border-radius:6px;display:grid;place-items:center;background:var(--c-sky-soft);color:var(--c-blue)}.rpt-txt{display:grid;gap:3px}.rpt-txt span{color:var(--c-muted);font-size:var(--fs-sm);line-height:1.4}.rpt-txt .rpt-tag{color:var(--c-blue);font-weight:600}.rpt-view{display:flex;flex-direction:column;height:100%;padding:10px;gap:8px}.rpt-params{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;background:var(--c-surface);border:1px solid var(--c-line);border-radius:6px;padding:10px 12px}.rpt-params .grow{flex:1}.rpt-title{display:grid;gap:2px;min-width:220px;margin-right:8px}.rpt-p{display:grid;gap:3px}.rpt-p .lbl{font-size:var(--fs-xs);color:var(--c-muted)}.rpt-summary{align-self:flex-end;max-width:100%}@media(max-width:760px){.rpt-body{grid-template-columns:1fr}.rpt-cats{position:static}}.mf-head{padding:12px 16px 10px;border-bottom:1px solid var(--c-line)}.stabs{display:flex;gap:4px;padding:6px 12px;border-bottom:1px solid var(--c-line);background:var(--c-surface-2);overflow-x:auto}.stab{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border:0;border-radius:999px;background:transparent;font:inherit;color:var(--c-ink-2);cursor:pointer;white-space:nowrap}.stab:hover{background:var(--c-surface-3);color:var(--c-ink)}.stab[aria-selected=true]{background:var(--c-blue-soft);color:var(--c-blue);font-weight:700}.stab:focus-visible{outline:2px solid var(--c-blue);outline-offset:1px}.stab-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--c-surface-3);color:var(--c-ink-2);font-size:var(--fs-xs);font-weight:700;display:inline-grid;place-items:center}.stab[aria-selected=true] .stab-badge{background:#fff;color:var(--c-blue)}.mf-body{flex:1;min-height:0;overflow-y:auto;padding:4px 16px 16px}.mf-sec{max-width:1180px}.mf-sec+.mf-sec{margin-top:4px}.mf-sec-title{display:flex;align-items:baseline;gap:10px;margin:14px 0 8px;padding-bottom:5px;border-bottom:1px solid var(--c-line);font-size:var(--fs);font-weight:700;color:var(--c-ink)}.mf-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px 32px}.mf-grid-1{grid-template-columns:minmax(0,1fr);max-width:640px}.mf-wide{grid-column:1 / -1}.mf-ctl{display:flex;align-items:center;gap:8px;min-width:0}.mf-ctl>.inp,.mf-ctl>.lookup,.mf-ctl>.inp-affix{flex:1;min-width:0}.mf-ctl>.hint{flex:none}.mf-type{display:inline-flex;border:1px solid var(--c-line-strong);border-radius:var(--r);overflow:hidden}.mf-type button{height:calc(var(--h-ctl) - 2px);padding:0 12px;border:0;background:var(--c-surface);font:inherit;color:var(--c-ink-2);cursor:pointer}.mf-type button+button{border-left:1px solid var(--c-line-strong)}.mf-type button[aria-pressed=true]{background:var(--c-ink);color:#fff;font-weight:600}.mf-type button:disabled{cursor:not-allowed;opacity:.6}.mf-table{border-collapse:collapse;width:100%;max-width:760px}.mf-table th{text-align:left;font-size:var(--fs-sm);color:var(--c-muted);font-weight:600;padding:5px 8px;border-bottom:1px solid var(--c-line-strong)}.mf-table td{padding:5px 8px;border-bottom:1px solid var(--c-line);vertical-align:middle}.mf-table td.num,.mf-table th.num{text-align:right;font-variant-numeric:tabular-nums}.mf-stat{display:grid;grid-template-columns:repeat(3,minmax(0,170px));border:1px solid var(--c-line);border-radius:6px;max-width:520px}.mf-stat>div{padding:8px 12px;display:grid;gap:2px}.mf-stat>div+div{border-left:1px solid var(--c-line)}.mf-stat .k{font-size:var(--fs-sm);color:var(--c-muted)}.mf-stat .v{font-weight:700;text-align:right;font-variant-numeric:tabular-nums}@media(max-width:1100px){.mf-grid{grid-template-columns:minmax(0,1fr)}}.dg-filter{height:var(--h-ctl);padding:0 6px}.dg-filter[data-active]{border-color:var(--c-blue);background:var(--c-blue-soft);color:var(--c-blue);font-weight:600}.btn-quiet{border-color:transparent;background:transparent;color:var(--c-ink-2)}.dg-bulk{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--c-blue-soft);border-bottom:1px solid #cddbff}.dg-bulk b{color:var(--c-blue);margin-right:6px}.colmenu-sel{font-weight:600}.colmenu hr{border:0;border-top:1px solid var(--c-line);margin:6px 0}.colmenu-list{max-height:360px;overflow-y:auto}.stock-pane{display:flex;flex-direction:column;gap:10px;height:100%;padding-top:12px;min-height:360px}.stock-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stock-sum{grid-template-columns:repeat(4,minmax(0,120px));max-width:none}.stock-pane>.dg{min-height:300px}.link-btn{border:0;background:none;padding:0;font:inherit;color:var(--c-blue);font-weight:600;cursor:pointer}.link-btn:hover{text-decoration:underline}.row-link{cursor:pointer}.row-link:hover,.row-link:focus-visible{background:var(--c-sky-soft);outline:none}.mf-table tfoot th{border-top:1px solid var(--c-line-strong);border-bottom:0;color:var(--c-ink);font-size:var(--fs)}.mf-table tfoot th.num{text-align:right;font-variant-numeric:tabular-nums}.cash-lines td{padding:4px 6px}.tr-flow{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--c-line)}.tr-box{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--c-line);border-radius:6px;background:var(--c-surface-2);min-width:270px}.tr-arrow{color:var(--c-blue);margin-top:34px}.recon-table tbody tr{cursor:pointer}.recon-table tbody tr:hover{background:var(--c-surface-2)}.recon-table tbody tr.is-sel{background:var(--c-sky-soft)}.recon-table thead th{position:sticky;top:0;background:var(--c-surface);z-index:1}.summary .total-warn{background:var(--c-danger)}.summary .total-warn .k{color:#ffd9d6}.period-year{background:var(--c-surface);border:1px solid var(--c-line);border-radius:6px;padding:10px 12px}.period-head{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--c-line);margin-bottom:4px}.period-head b{font-size:15px}.period-year td .btn+.btn{margin-left:6px}.trk{display:grid;gap:6px;min-width:0}.trk-table{max-width:none}.trk-table td{padding:3px 6px}.trk-table .inp{width:100%}.trk-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.trk-scroll{max-height:220px;overflow:auto;border:1px solid var(--c-line);border-radius:4px}.trk-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2px 10px;padding:6px 8px}.trk-checks label{display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trk textarea.inp{height:auto;min-height:64px;padding-top:6px;padding-bottom:6px}.roles-wrap{display:grid;grid-template-columns:240px minmax(0,1fr);flex:1;min-height:0}.roles-list{border-right:1px solid var(--c-line);overflow-y:auto;padding:8px 0}.roles-list-head{display:flex;align-items:center;justify-content:space-between;padding:4px 10px 8px}.roles-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:7px 12px;border:0;border-left:3px solid transparent;background:transparent;font:inherit;text-align:left;cursor:pointer;color:var(--c-ink)}.roles-item:hover{background:var(--c-surface-2, var(--c-surface-3))}.roles-item[aria-pressed=true]{border-left-color:var(--c-blue);background:var(--c-blue-soft);font-weight:600}.roles-main{display:flex;flex-direction:column;min-height:0;min-width:0}.roles-head{display:flex;gap:8px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--c-line)}.roles-body{flex:1;min-height:0;overflow-y:auto;padding:8px 16px 16px}.perm-table{width:100%;max-width:920px;border-collapse:collapse;margin-top:8px}.perm-table th{text-align:left;font-size:var(--fs-sm);color:var(--c-muted);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--c-line-strong)}.perm-table td{padding:7px 8px;border-bottom:1px solid var(--c-line);vertical-align:middle}.perm-table .ctr{text-align:center;width:84px}.perm-table .perm-sec{color:var(--c-ink);font-size:var(--fs);text-transform:none}.perm-head{display:inline-flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer}@media(max-width:760px){.roles-wrap{grid-template-columns:minmax(0,1fr)}.roles-list{border-right:0;border-bottom:1px solid var(--c-line);max-height:180px}}.appr-rule{max-width:980px;border:1px solid var(--c-line);border-radius:6px;padding:10px 12px;margin-top:10px;background:var(--c-surface)}.appr-rule-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.appr-level{display:flex;align-items:flex-start;gap:10px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--c-line)}.appr-level-no{width:70px;flex:none;padding-top:4px;font-size:var(--fs-sm)}.appr-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;flex:1}.chip-toggle{height:24px;padding:0 10px;border-radius:999px;border:1px solid var(--c-line-strong);background:var(--c-surface);font:inherit;font-size:var(--fs-sm);color:var(--c-ink-2);cursor:pointer}.chip-toggle[aria-pressed=true]{background:var(--c-blue-soft);border-color:var(--c-blue);color:var(--c-blue);font-weight:600}.chip-toggle:disabled{cursor:default}.appr-foot{display:flex;gap:10px;align-items:center;margin-top:8px}.rail-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--c-danger);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.roles-main .stabs{flex-wrap:wrap;overflow:visible;height:auto;row-gap:2px}.addon-page{display:grid;gap:14px;align-content:start;overflow:auto}.addon-head h2{margin:0;font-size:17px}.addon-head p{margin:4px 0 0;max-width:72ch}.addon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.addon-card{display:grid;grid-template-rows:auto auto 1fr auto auto;gap:6px;text-align:left;padding:14px;min-height:168px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:8px;cursor:pointer;color:var(--c-ink);font:inherit}.addon-card:hover{border-color:var(--c-blue)}.addon-card:focus-visible{outline:2px solid var(--c-blue);outline-offset:2px}.addon-ico{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;background:var(--c-surface-3);color:var(--c-ink-2)}.addon-ico[data-state=on]{background:var(--c-blue-soft);color:var(--c-blue)}.addon-ico[data-state=soon]{opacity:.6}.addon-name{font-weight:700}.addon-tag{color:var(--c-ink-2);font-size:var(--fs-sm)}.addon-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.addon-more{color:var(--c-blue);font-weight:600;font-size:var(--fs-sm)}.addon-detail h4{margin:6px 0 0;font-size:var(--fs-sm)}.addon-detail ul{margin:0;padding-left:18px;display:grid;gap:4px}.feat-list{display:grid;gap:2px}.feat-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--c-line)}.feat-row:last-child{border-bottom:0}.feat-row .hint{display:block}.br-pick{position:relative}.br-pick summary{cursor:pointer;list-style:none;height:30px;display:flex;align-items:center;padding:0 8px;border:1px solid var(--c-line-strong);border-radius:6px;background:var(--c-surface);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.br-pick summary::-webkit-details-marker{display:none}.br-pick[open] summary{border-color:var(--c-blue)}.br-pick-menu{position:absolute;z-index:5;right:0;top:34px;min-width:220px;display:grid;gap:6px;padding:10px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:8px;box-shadow:0 6px 18px #0f172a1f}.bill-bar{display:flex;align-items:center;gap:12px;padding:6px 14px;font-size:var(--fs-sm);background:var(--c-warn-soft);color:var(--c-ink);border-bottom:1px solid var(--c-line)}.bill-bar>span{flex:1;min-width:0}.bill-late{background:var(--c-danger-soft)}.bill-tot{display:grid;grid-template-columns:160px 140px;text-align:right;gap:12px}.bill-pay{margin:6px 0 0;padding:8px 10px;border-radius:6px;background:var(--c-warn-soft)}.addon-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}.addon-hero h2{margin:0;font-size:19px}.addon-hero .addon-ico{width:48px;height:48px}.addon-hero-act{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.addon-price{font-weight:700}.addon-usage{display:flex;flex-wrap:wrap;gap:8px}.addon-use{padding:4px 10px;border:1px solid var(--c-line);border-radius:999px;font-size:var(--fs-sm);color:var(--c-ink-2)}.addon-use.on{border-color:var(--c-blue);color:var(--c-ink);background:var(--c-blue-soft)}.addon-sec{display:flex;align-items:center;gap:10px}.addon-sec .link-btn{margin-left:auto}@media(max-width:640px){.addon-hero{grid-template-columns:auto minmax(0,1fr)}.addon-hero-act{grid-column:1 / -1;justify-content:flex-start}}.addon-usage-line{font-size:var(--fs-sm);color:var(--c-ok)}.addon-usage-line.off{color:var(--c-warn);font-weight:600}.pw-field{position:relative;display:block}.pw-field input{padding-right:38px;width:100%}.login .pw-field{margin-top:4px}.login .pw-field input{margin-top:0}.pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:var(--c-muted);cursor:pointer}.pw-eye:hover{color:var(--c-ink);background:var(--c-surface-3)}.pw-eye:focus-visible{outline:2px solid var(--c-blue);outline-offset:1px}.lock-page{height:100vh;overflow:auto;background:var(--c-bg)}.lock-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;max-width:980px;margin:0 auto;padding:24px 16px 0}.lock-head h1{margin:0 0 4px;font-size:20px}.lock-head p{margin:0;max-width:62ch}.lock-page .addon-page{max-width:980px;margin:0 auto}.gs{margin:12px 0 18px;max-width:760px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:8px}.gs-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--c-line)}.gs-head h2{margin:0;font-size:15px}.gs-head p{margin:2px 0 0}.gs-list{list-style:none;margin:0;padding:0}.gs-step{display:flex;align-items:center;gap:12px;padding:9px 16px}.gs-step+.gs-step{border-top:1px solid var(--c-line)}.gs-mark{flex:none;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--c-line);color:#fff}.gs-step.next .gs-mark{border-color:var(--c-blue)}.gs-step.done .gs-mark{background:var(--c-blue);border-color:var(--c-blue)}.gs-text{flex:1;min-width:0;display:grid;gap:1px}.gs-step.done .gs-text b{font-weight:500;color:var(--c-muted)}.gs-step .btn{flex:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:560px){.gs-step{flex-wrap:wrap}.gs-text{flex-basis:calc(100% - 32px)}.gs-step .btn{margin-left:32px}}.legal-page{height:100vh;overflow:auto;background:var(--c-surface)}.legal-nav{display:flex;align-items:center;justify-content:space-between;max-width:760px;margin:0 auto;padding:16px}.legal-nav span{display:flex;gap:16px}.legal-nav a{text-decoration:none}.legal{max-width:720px;margin:0 auto;padding:8px 16px 56px;font-size:14.5px;line-height:1.65;color:var(--c-ink)}.legal h1{font-size:26px;line-height:1.25;margin:8px 0 14px}.legal h2{font-size:16px;margin:28px 0 8px}.legal p{margin:0 0 10px}.legal ol,.legal ul{margin:0 0 10px;padding-left:22px}.legal li{margin-bottom:6px}.legal-table{overflow-x:auto;margin:10px 0 14px}.legal table{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.45}.legal th,.legal td{padding:7px 10px;border:1px solid var(--c-line);text-align:left;vertical-align:top}.legal th{background:var(--c-surface-2)}.auth-agree{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:8px;font-size:13px;line-height:1.4}.auth-agree input{width:auto!important;margin:2px 0 0;flex:none}.auth-legal{margin:12px 0 0;text-align:center;font-size:12px}.auth-legal a{color:var(--c-muted)}
