:root{--c-primary:#f26b1d;--c-primary-600:#bf4708;--c-primary-700:#a83c06;--c-primary-50:#fff4ec;--c-primary-100:#ffe3cf;--c-primary-300:#fbb27f;--c-ink:#14171c;--c-ink-2:#2b3038;--c-text:#1d2129;--c-text-2:#4a515c;--c-muted:#5f6773;--c-faint:#9aa1ac;--c-line:#e6e8ec;--c-line-2:#d3d7de;--c-line-strong:#8a919c;--c-bg:#f5f6f8;--c-surface:#fff;--c-surface-2:#f9fafb;--c-surface-3:#f1f3f5;--c-info:#2563eb;--c-info-50:#eef4ff;--c-info-200:#bfd3fe;--c-success:#157a3c;--c-success-50:#e7f7ed;--c-danger:#c62828;--c-danger-50:#fdeeee;--c-danger-200:#f6b4b4;--c-warn-50:#fff7e0;--c-warn:#8a5a00;--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fs-3xl:40px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-full:999px;--sh-1:0 1px 2px #1018280d;--sh-2:0 4px 14px #1018281a;--sh-3:0 16px 40px #1018282e;--tap:44px;--sidebar-w:216px;--topbar-h:56px;--bottombar-h:56px;--pane-w:360px;--content-max:1440px;--z-sticky:10;--z-topbar:20;--z-nav:30;--z-pane:40;--z-overlay:50;--z-confirm:60;--z-toast:70;--t-fast:.12s;--t-base:.2s;--t-slow:.26s;color:var(--c-text);background:var(--c-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:PingFang TC,Noto Sans TC,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.55}*{box-sizing:border-box}html{min-width:320px}body{min-width:320px;min-height:100vh;margin:0}body,button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,h3,h4{color:var(--c-ink);line-height:1.35}#app{min-height:100vh}button,a,input,select,textarea{min-height:var(--tap)}button:focus-visible,a:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-100);outline:0}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid var(--c-line-strong);border-radius:var(--r-sm);background:var(--c-surface);padding:0 var(--sp-3)}table,.metric,.number{font-variant-numeric:tabular-nums}.shell{min-height:100vh}.sidebar{display:none}.main{min-width:0;min-height:100vh}.topbar{z-index:var(--z-topbar);height:var(--topbar-h);align-items:center;gap:var(--sp-2);padding:0 var(--sp-4);border-bottom:1px solid var(--c-line);background:#fffffff5;display:flex;position:sticky;top:0}.topbar h1{min-width:0;font-size:var(--fs-lg);flex:1;margin:0}.top-actions{align-items:center;gap:var(--sp-1);display:flex}.icon-btn{border-radius:var(--r-sm);width:44px;height:44px;color:var(--c-text-2);background:0 0;border:0;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--c-surface-3)}.content{padding:var(--sp-4) var(--sp-4) calc(var(--bottombar-h) + var(--sp-6) + env(safe-area-inset-bottom))}.content-inner{max-width:var(--content-max);margin:auto}.bottombar{z-index:var(--z-nav);height:calc(var(--bottombar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--c-line);background:#fffffff7;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.tab{color:var(--c-muted);font-size:var(--fs-xs);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:64px;font-weight:500;display:flex}.tab.router-link-active,.tab.active{color:var(--c-primary-600)}.tab.router-link-active svg,.tab.active svg{color:var(--c-primary)}.logo{border-radius:var(--r-sm);background:var(--c-ink);color:#fff;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.avatar{border-radius:var(--r-full);background:var(--c-primary-100);width:40px;height:40px;color:var(--c-primary-700);flex:none;place-items:center;font-weight:700;display:grid}.group-label{margin:var(--sp-4) var(--sp-3) var(--sp-1);font-size:var(--fs-xs);color:var(--c-muted);font-weight:600}.overlay{z-index:var(--z-overlay);background:#14171c7a;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.confirm-overlay{z-index:var(--z-confirm);align-items:center}.dialog{background:var(--c-surface);width:100%;max-height:90dvh;box-shadow:var(--sh-3);overflow:auto}.sheet{border-radius:var(--r-xl) var(--r-xl) 0 0}.grip{background:var(--c-line-2);width:40px;height:4px;margin:var(--sp-2) auto;border-radius:2px}.dialog-head{z-index:1;padding:var(--sp-3) var(--sp-4);background:var(--c-surface);border-bottom:1px solid var(--c-line);align-items:center;display:flex;position:sticky;top:0}.dialog-head h2{font-size:var(--fs-lg);flex:1;margin:0}.dialog-body{padding:var(--sp-4)}.dialog-foot{padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-bottom));background:var(--c-surface);border-top:1px solid var(--c-line);position:sticky;bottom:0}.confirm-dialog{width:min(320px,90vw);padding:var(--sp-5);border-radius:var(--r-lg)}.confirm-dialog h2{margin:0 0 var(--sp-2);font-size:var(--fs-lg)}.confirm-dialog p{margin:0 0 var(--sp-4);color:var(--c-text-2)}.dialog-actions{justify-content:flex-end;gap:var(--sp-2);display:flex}.more-sheet{padding-bottom:calc(var(--sp-4) + env(safe-area-inset-bottom))}.more-account,.more-row{align-items:center;gap:var(--sp-3);min-height:52px;padding:0 var(--sp-4);text-align:left;background:0 0;border:0;width:100%;display:flex}.more-account>span:nth-child(2),.more-row span{flex:1}.more-account small{color:var(--c-muted);display:block}.more-row+.more-row{border-top:1px solid var(--c-line)}.danger-text{color:var(--c-danger)}.pg{gap:var(--sp-4);display:grid}.pg-head{display:none}.pg-card,.ui-card{min-width:0;padding:var(--sp-4);border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface)}.pg-card h3:first-child{margin-top:0}.pg-toolbar,.pg-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.grow{flex:1;min-width:160px}.btn,.ui-btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-4);border:1px solid var(--c-line-2);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-text);font-size:var(--fs-sm);font-weight:600;display:inline-flex}.btn:hover:not(:disabled),.ui-btn:hover:not(:disabled){background:var(--c-surface-3)}.btn.primary,.ui-btn.primary{background:var(--c-primary-600);border-color:var(--c-primary-600);color:#fff}.btn.primary:hover:not(:disabled){background:var(--c-primary-700)}.btn.danger{color:var(--c-danger);border-color:var(--c-danger-200)}.btn.danger-solid{background:var(--c-danger);border-color:var(--c-danger);color:#fff}.btn:disabled{background:var(--c-surface-3);border-color:var(--c-line);color:var(--c-faint)}.inp{width:100%}.fld{gap:var(--sp-1);font-size:var(--fs-sm);color:var(--c-text-2);font-weight:500;display:grid}.chips{gap:var(--sp-2);scrollbar-width:none;display:flex;overflow:auto}.chips button{border-radius:var(--r-full);flex:none}.pg-split,.pg-grid-2{gap:var(--sp-4);display:grid}.pg-scrim{z-index:39;background:#14171c73;position:fixed;inset:0}.pg-detail{z-index:var(--z-pane)}.pg-split>.pg-detail{background:var(--c-surface);padding-bottom:env(safe-area-inset-bottom);border:0;border-radius:0;position:fixed;inset:0;overflow:auto}.tag{min-height:24px;padding:0 var(--sp-2);border-radius:var(--r-full);font-size:var(--fs-xs);align-items:center;font-weight:600;display:inline-flex}.tag.success{background:var(--c-success-50);color:var(--c-success)}.segmented{border-radius:var(--r-sm);background:var(--c-surface-3);min-height:44px;padding:3px;display:flex}.segmented>*{background:0 0;border:0;border-radius:6px;flex:1}.segmented>.active{background:var(--c-ink);color:#fff}.list{border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);overflow:hidden}.list-row{align-items:center;gap:var(--sp-3);width:100%;min-height:64px;padding:var(--sp-2) var(--sp-4);border:0;border-bottom:1px solid var(--c-line);text-align:left;background:0 0;display:flex}.list-row:last-child{border-bottom:0}.list-row:hover{background:var(--c-surface-2)}@media (width>=600px){.pg-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=960px){:root{--topbar-h:64px}.mobile-only,.bottombar{display:none}.sidebar{z-index:var(--z-nav);width:var(--sidebar-w);background:var(--c-surface);border-right:1px solid var(--c-line);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:var(--sp-3);height:64px;padding:0 var(--sp-4);border-bottom:1px solid var(--c-line);display:flex}.side-nav{padding:var(--sp-3) var(--sp-2);flex:1;overflow:auto}.nav-item{align-items:center;gap:var(--sp-3);min-height:44px;padding:0 var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--c-text-2);font-weight:500;display:flex;position:relative}.nav-item:hover{background:var(--c-surface-3)}.nav-item.router-link-active{background:var(--c-primary-50);color:var(--c-primary-600)}.nav-item.router-link-active:before{content:"";background:var(--c-primary);border-radius:2px;width:3px;height:24px;position:absolute;left:0}.account-wrap{padding:var(--sp-3);border-top:1px solid var(--c-line);position:relative}.account-row{align-items:center;gap:var(--sp-2);text-align:left;background:0 0;border:0;width:100%;display:flex}.account-row>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.account-menu{left:var(--sp-3);right:var(--sp-3);padding:var(--sp-2);border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);box-shadow:var(--sh-2);display:grid;position:absolute;bottom:70px}.account-menu>*{min-height:44px;padding:0 var(--sp-3);background:0 0;border:0;align-items:center;display:flex}.main{margin-left:var(--sidebar-w)}.topbar{padding:0 var(--sp-6)}.topbar h1{font-size:var(--fs-xl)}.content{padding:var(--sp-5) var(--sp-6) var(--sp-8)}.pg-card{padding:var(--sp-5);border-radius:var(--r-lg)}.pg-split.open{grid-template-columns:minmax(0,1fr) var(--pane-w)}.pg-split.open>.pg-detail{inset:auto;top:calc(var(--topbar-h) + var(--sp-5));max-height:calc(100dvh - var(--topbar-h) - var(--sp-10));border:1px solid var(--c-line);border-radius:var(--r-lg);position:sticky;overflow:auto}.pg-scrim{display:none}.overlay{align-items:center}.sheet,.dialog{border-radius:var(--r-lg);width:480px}.more-sheet{width:480px}.focus .content-inner{max-width:760px}}@media (width>=1280px){:root{--sidebar-w:240px;--pane-w:420px}.content{padding-left:var(--sp-8);padding-right:var(--sp-8)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
