:root{color:#2c3045;--accent:#6159e8;--line:#e8eaf2;--muted:#838aa0;--surface:white;background:#f6f7fb;font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:#4c546c;background:#fff;border:1px solid #dadee8;border-radius:7px;min-height:38px;padding:7px 12px}button:disabled{opacity:.5;cursor:not-allowed}button:hover:not(:disabled){background:#f2f0ff}button.primary,.primary{color:#fff;background:var(--accent);border-color:var(--accent)}button.active{color:var(--accent);background:#efedff;border-color:#d9d5fc}button.link{color:var(--accent);background:0 0;border:0}button,a,input,select,textarea{touch-action:manipulation}:focus-visible{outline-offset:2px;outline:3px solid #8e86ed}input,select,textarea{color:#383e57;background:#fff;border:1px solid #d9deea;border-radius:6px;min-width:0;max-width:100%;min-height:38px;padding:8px 10px}input,textarea{width:100%}textarea{resize:vertical;min-height:100px}label{color:#737b91;font-size:12px;display:block}label>input,label>select,label>textarea{margin-top:5px;display:block}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:0 0 5px;font-size:23px;line-height:1.4}h2{margin:0 0 12px;font-size:18px}h3{margin:16px 0 8px;font-size:14px}p{margin:7px 0}a{color:var(--accent);text-underline-offset:3px}.muted{color:var(--muted);font-size:12px}.error{color:#a13a3a;background:#fff1f0;border:1px solid #f1d4d1;border-radius:7px;padding:10px 13px;font-size:13px}.empty{text-align:center;color:var(--muted);background:#fff;border:1px dashed #dcdfea;border-radius:8px;padding:40px 20px}.review-banner{text-align:center;color:#6e669f;background:#f0edfc;padding:5px 12px;font-size:11px}.app-shell{grid-template-columns:185px minmax(0,1fr);min-height:calc(100vh - 28px);display:grid}.sidebar{border-right:1px solid var(--line);background:#fcfcff;padding:26px 13px}.logo{letter-spacing:1.7px;color:#4d469a;font-size:23px;font-weight:800}.logo span{color:#938cf0}.sidebar .logo{padding-left:9px}.brand-caption{letter-spacing:1px;color:#9198ad;margin:2px 9px 28px;font-size:10px}.nav-caption{color:#9399a9;margin:20px 10px 8px;font-size:11px}.sidebar nav button{text-align:left;color:#737b91;background:0 0;border:0;align-items:center;gap:12px;width:100%;margin:4px 0;padding:11px 14px;display:flex}.sidebar nav button.active{color:var(--accent);background:#efedff;font-weight:650}.sidebar nav button span{font-size:17px}.scope-note{color:#a1a6b5;margin:50px 10px;font-size:11px}.workspace{min-width:0}.app-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:12px;height:59px;padding:0 25px;font-size:13px;display:flex}.desktop-crumb{color:#a3a7b7;font-size:12px}.account{align-items:center;gap:10px;font-size:12px;display:flex}.account button{min-height:32px;padding:5px 9px;font-size:11px}.page-content{max-width:1500px;margin:auto;padding:22px 25px 40px}.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:16px;display:flex}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px;margin-bottom:16px;display:grid}.summary-grid>*{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px 15px}.summary-grid strong{font-size:21px;font-weight:650;display:block}.panel{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:0;margin-bottom:14px;overflow:hidden}.panel>h2,.panel>h3{border-bottom:1px solid var(--line);margin:0;padding:14px 16px}.panel-body{padding:16px}.toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:end;gap:10px;padding:12px 15px;display:flex}.toolbar input[type=search]{flex:1;min-width:180px}.toolbar label{flex:1;min-width:110px}.toolbar button{flex:none}.tabs{white-space:nowrap;border-bottom:1px solid var(--line);gap:6px;padding:9px 12px;display:flex;overflow:auto}.tabs button{font-size:12px}.table-scroll{overflow-x:auto}.compact-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.compact-table th{color:#81889c;white-space:nowrap;background:#fafbfe;font-size:11px;font-weight:500}.compact-table th,.compact-table td{vertical-align:middle;border-bottom:1px solid #edf0f6;padding:11px 13px}.compact-table tbody tr:hover{background:#fbfbfe}.compact-table tr:last-child td{border-bottom:0}.compact-table td button{min-height:34px;padding:5px 9px;font-size:11px}.compact-table td small{color:#9197a7;font-size:10px;display:block}.pagination{border-top:1px solid var(--line);color:#7c839b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 15px;font-size:12px;display:flex}.pagination button{min-height:34px;font-size:12px}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.badge{color:#796dc3;white-space:nowrap;background:#f0edff;border-radius:4px;padding:3px 7px;font-size:11px;line-height:1.5;display:inline-block}.mobile-records{display:none}.record{border-bottom:1px solid var(--line);padding:12px}.record strong{font-size:14px}.record small{color:#8f96a8;font-size:11px}.record:last-child{border-bottom:0}.dialog-layout:not(dialog){z-index:10;background:#20274666;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.dialog-layout>section,.dialog-layout>.dialog{background:#fff;border-radius:12px;width:min(980px,100%);max-height:calc(100dvh - 36px);padding:20px;overflow:auto}dialog{border:1px solid var(--line);width:min(980px,100vw - 28px);max-height:calc(100dvh - 28px);color:inherit;background:#fff;border-radius:12px;padding:20px}dialog::backdrop{background:#20274666}dl{grid-template-columns:minmax(100px,.7fr) minmax(0,2fr);gap:10px 16px;font-size:13px;display:grid}dt{color:#81899c}dd{overflow-wrap:anywhere;margin:0}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.mobile-nav{display:none}.login-wrap{place-items:center;min-height:80vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;max-width:430px;padding:30px}.login-card h1{margin-top:24px;font-size:22px}.login-card label{margin:16px 0}.login-card .primary{width:100%;margin-top:5px}@media (width<=800px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.app-header{height:51px;padding:0 14px;font-size:14px}.desktop-crumb{display:none}.page-content{padding:13px 12px 84px}.review-banner{font-size:10px}.review-banner span{display:none}.page-heading{margin-bottom:12px}h1{font-size:20px}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:6px;margin-bottom:12px}.summary-grid>*{padding:8px 10px}.summary-grid strong{font-size:18px}.toolbar{gap:8px;padding:10px}.toolbar label{min-width:125px}.toolbar input,.toolbar select{font-size:16px}.toolbar input[type=search]{min-width:150px}.compact-table{font-size:12px}.compact-table th,.compact-table td{padding:9px 10px}.mobile-records{display:block}.mobile-nav{z-index:4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:5px 12px max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffff5;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#9096a7;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;min-width:110px;min-height:46px;font-size:11px;display:flex}.mobile-nav button span{font-size:19px}.mobile-nav button.active{color:var(--accent)}.dialog-layout:not(dialog){padding:10px}.dialog-layout>section,.dialog-layout>.dialog{max-height:calc(100dvh - 20px);padding:15px}dl{grid-template-columns:90px minmax(0,1fr);gap:9px 12px;font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}dialog:not([open]){display:none!important}.sidebar{height:100dvh;padding-top:20px;position:sticky;top:0;overflow-y:auto}.sidebar .brand-caption{margin-bottom:18px}.sidebar details{margin-top:9px}.sidebar summary{cursor:pointer;color:#83899a;justify-content:space-between;padding:7px 10px;font-size:11px;list-style:none;display:flex}.sidebar summary:before{content:"›";margin-right:6px}.sidebar details[open]>summary:before{content:"⌄"}.sidebar summary small{margin-left:auto}.sidebar nav details button{min-height:35px;margin:1px 0;padding:7px 11px 7px 22px;font-size:12px}.sidebar nav button i{color:#a8acba;margin-left:auto}.account span{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}@media (width<=800px){.mobile-nav button{flex:1;min-width:0}.account span{max-width:135px}.sidebar{display:none}}
