:root{--nav:#172b32;--nav-muted:#8fa6ad;--ink:#213b43;--muted:#7d8e95;--green:#168876;--green-dark:#086958;--green-pale:#e9f5f1;--line:#e6ecec;--bg:#f5f8f8;--shadow:0 3px 18px #17383d05}*{box-sizing:border-box}body{margin:0;font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}button{border:0}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-.8px;margin-bottom:6px;font-weight:650}h2{font-size:19px;letter-spacing:-.3px;margin-bottom:6px}h3{font-size:15px;font-weight:600;margin-bottom:3px}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2px;color:#93a4a8;font-weight:600;margin-bottom:12px}.sidebar{position:fixed;width:244px;inset:0 auto 0 0;background:var(--nav);color:#e9f1f2;display:flex;flex-direction:column;padding:27px 16px 0;z-index:20}.wordmark{display:flex;gap:11px;align-items:center;letter-spacing:1.4px;font-size:14px;font-weight:650;padding:0 11px}.wordmark small{display:block;letter-spacing:1.5px;font-size:10px;color:var(--nav-muted);font-weight:400;margin-top:2px}.brand-icon{display:grid;place-items:center;background:#44b49a;color:white;font-size:21px;border-radius:12px;width:37px;height:37px;font-weight:750;letter-spacing:-3px;padding-right:3px}.workspace{margin:31px 0 22px;border:1px solid #ffffff16;border-radius:9px;background:#ffffff04;display:flex;align-items:center;padding:12px 10px;gap:10px}.workspace-avatar{width:32px;height:32px;border-radius:8px;background:#31484f;display:grid;place-items:center;font-size:14px;color:#bad7ce}.workspace strong{font-size:12px;font-weight:500;max-width:137px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace small{display:block;font-size:10px;color:var(--nav-muted);margin-top:2px}.workspace-dot{width:6px;height:6px;background:#64b39e;border-radius:50%;margin-left:auto}.nav-label{font-size:10px;color:#78929a;letter-spacing:1px;padding:0 15px;margin:17px 0 10px}.nav-item{display:flex;align-items:center;gap:13px;border-radius:7px;padding:11px 15px;color:#a8bdc2;margin:3px 0;font-size:12px;transition:background .15s}.nav-item:hover{background:#ffffff08;color:white}.nav-item.active{background:#2d4a4d;color:#a1dfcb;box-shadow:inset 3px 0 #5fbba0}.nav-item svg{width:17px;height:17px;flex:none;opacity:.9}.nav-item small{margin-left:auto;font-size:10px;border-radius:4px;background:#ffffff12;padding:0 6px;color:#c3d9d8}.sidebar-help{margin:auto 6px 25px;padding:17px 13px 13px;border:1px solid #ffffff13;border-radius:9px;color:#bcd1d2;font-size:11px}.help-dot{display:grid;place-items:center;width:20px;height:20px;border:1px solid #779c95;border-radius:7px;margin-bottom:12px;color:#9bc7b9}.sidebar-help strong{font-size:11px;font-weight:500}.sidebar-help p{color:#7f9ba1;font-size:10px;margin:5px 0 13px}.sidebar-help a{display:flex;justify-content:space-between;color:#82c4af;font-size:10px}.sidebar-footer{margin:0 -16px;border-top:1px solid #ffffff12;display:flex;align-items:center;gap:11px;padding:17px 22px;font-size:11px}.avatar,.top-avatar{width:31px;height:31px;display:grid;place-items:center;background:#d7e8e1;color:#527e71;border-radius:50%;font-weight:600;font-size:11px}.sidebar-footer small{display:block;color:#728f96;font-size:10px}.sidebar-footer .icon-button{margin-left:auto;color:#9ab3ba}.app-shell{margin-left:244px}.topbar{height:73px;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 34px}.breadcrumbs{font-size:11px;color:#8c9da2;display:flex;gap:15px}.breadcrumbs strong{font-weight:500;color:#4e656d}.top-actions{display:flex;gap:18px;align-items:center}.edition{font-size:10px;border:1px solid #e2e9e7;border-radius:4px;padding:3px 8px;color:#758b88}.top-divider{width:1px;height:18px;background:var(--line)}.top-avatar{width:29px;height:29px}.mobile-toggle{display:none}main{padding:30px 34px 0;max-width:1760px;margin:auto}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 0 25px}.page-heading .muted{font-size:11px;margin-bottom:0}.page-actions{display:flex;align-items:center;gap:10px}.primary,.secondary,.danger-button{display:inline-flex;justify-content:center;align-items:center;gap:9px;border-radius:6px;padding:9px 16px;font-size:11px;font-weight:500;min-height:36px;white-space:nowrap}.primary{background:var(--green);color:white;box-shadow:0 2px 3px #0e786212}.primary:hover{background:var(--green-dark)}.secondary{background:white;border:1px solid #dce5e4;color:#5e747b}.danger-button{background:#fbefee;color:#bf5c52}.page-actions select{width:151px;font-size:11px}.demo-banner{display:flex;gap:10px;padding:10px 13px;background:#f3f6ed;border:1px solid #e6ebda;border-radius:6px;color:#7c8662;font-size:10px;margin-bottom:20px}.demo-banner span{font-size:14px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:24px}.stat-card{border:1px solid var(--line);border-radius:9px;background:white;padding:20px 20px 16px;box-shadow:var(--shadow);min-width:0}.stat-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#798e94}.stat-icon{display:grid;place-items:center;background:#eff5f3;color:#428d7d;width:32px;height:32px;border-radius:9px}.stat-icon svg{width:17px;height:17px}.stat-number{font-size:32px;letter-spacing:-1px;font-weight:600;line-height:1.3;margin:7px 0 11px;color:#28444b}.stat-caption{font-size:10px;color:#a0afb2;border-top:1px solid #f1f4f4;padding-top:10px;display:flex;align-items:center;gap:5px}.tiny-dot{width:5px;height:5px;border-radius:50%;background:#54ab8c;display:inline-block}.panel{background:white;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);min-width:0}.panel-header{padding:19px 20px 15px;border-bottom:1px solid #edf1f1;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-header h2{font-size:13px;margin:0}.panel-header p{font-size:10px;color:var(--muted);margin:3px 0 0}.text-link{font-size:10px;color:var(--green);background:none;padding:4px 0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 283px;gap:20px;margin-bottom:22px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:11px}th{text-align:left;font-size:10px;font-weight:500;color:#8a9ba0;background:#fafcfc;padding:13px 19px;border-bottom:1px solid var(--line)}td{padding:17px 19px;border-bottom:1px solid #edf1f1;color:#667d83}tr:last-child td{border-bottom:0}td strong{font-weight:500;color:var(--ink)}.bot-cell{display:flex;align-items:center;gap:10px}.bot-avatar{width:32px;height:32px;border-radius:9px;background:#edf6f3;color:#408d7b;font-size:12px;font-weight:600;display:grid;place-items:center;flex:none}.bot-avatar.violet{background:#f1eef8;color:#8b78b1}.bot-avatar.blue{background:#edf3fa;color:#7598bc}.bot-cell small{display:block;font-size:10px;color:#9aa9ad;margin-top:2px}.chip{display:inline-flex;gap:5px;align-items:center;font-size:9px;line-height:1.6;border-radius:4px;padding:2px 6px;margin:2px 4px 2px 0;background:#edf5f2;color:#5a8d7d}.chip.neutral{background:#f1f4f4;color:#8a9b9f}.chip.purple{background:#f2eff9;color:#9182aa}.status{display:inline-flex;align-items:center;gap:5px;font-size:10px}.status:before{content:'';width:5px;height:5px;border-radius:50%;background:#a9b7b9}.status.running{color:#39997a}.status.running:before{background:#53b391}.status.pending{color:#c29952}.status.pending:before{background:#d4ac65}.status.error{color:#c2746d}.status.error:before{background:#ce766e}.row-actions{display:flex;gap:7px}.row-actions button{background:transparent;font-size:10px;color:#3b9382;padding:4px 0}.row-actions button:disabled{cursor:wait}.row-actions .delete{color:#b27672}.module-row{padding:15px 19px;display:flex;gap:11px;align-items:flex-start;border-bottom:1px solid #f0f3f3}.module-row:last-child{border:0}.module-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:#edf5f1;color:#5c9d88;font-size:17px}.module-row p{font-size:9px;color:#99a8ad;margin:2px 0}.module-row strong{font-size:11px;font-weight:500}.module-row .module-count{margin-left:auto;font-size:10px;color:#7f9599}.panel-note{padding:13px 19px;background:#fbfcfc;color:#99a9ac;font-size:9px;border-top:1px solid var(--line);border-radius:0 0 9px 9px}.activity-list{padding:7px 20px}.activity{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #eff3f2;font-size:10px}.activity:last-child{border:0}.activity .activity-icon{width:26px;height:26px;border:1px solid #e7efeb;border-radius:50%;display:grid;place-items:center;color:#8bb4a4}.activity time{margin-left:auto;font-size:9px;color:#9cabad}.quick-panel{background:#edf5f1;border:1px solid #dcece4;border-radius:9px;padding:20px;margin-top:18px}.quick-panel h3{font-size:12px}.quick-panel p{font-size:10px;line-height:1.8;color:#7a958a;margin-bottom:15px}.quick-panel a{font-size:10px;color:#36836d}.toolbar{display:flex;justify-content:space-between;padding:15px 20px;gap:12px;align-items:center}.searchbox{position:relative}.searchbox input{width:240px;padding:8px 11px;font-size:11px}.toolbar small{color:#96a7ab;font-size:10px}.empty{padding:58px 20px;text-align:center;color:#99a8ad;font-size:12px;white-space:normal}.empty strong{display:block;color:#6b858b;font-weight:500;font-size:14px;margin-bottom:6px}.empty-icon{font-size:25px;opacity:.45;margin-bottom:12px}.modules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.module-card{padding:25px;min-height:230px;display:flex;flex-direction:column}.module-card .module-icon{width:45px;height:45px;font-size:23px;margin-bottom:20px}.module-card h2{font-size:16px}.module-card p{font-size:11px;line-height:1.8;color:#8b9da2;max-width:300px}.module-card footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between}.notice{padding:13px 16px;background:#f1f7f4;color:#759487;border:1px solid #e2eee7;border-radius:7px;font-size:11px;line-height:1.8;margin:16px 0}.notice.compact{margin:0 0 14px;padding:9px 12px;font-size:10px}.notice.warn{background:#fcf7ed;border-color:#f0e9d8;color:#a38b62}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-form{padding:23px}.settings-form .primary{margin-top:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.span-2{grid-column:span 2}label{display:block;font-size:11px;color:#678087;margin-bottom:15px}label small{font-size:10px;color:#9aa9ad;font-weight:400;display:block;line-height:1.7;margin-top:5px}label em{font-style:normal;color:#b96d60}input:not([type=checkbox]),select,textarea{display:block;width:100%;background:white;border:1px solid #dfe8e6;border-radius:5px;padding:9px 11px;color:#3b575f;min-width:0;margin-top:7px;transition:border-color .15s}input::placeholder,textarea::placeholder{color:#b0bdbf}input:focus,select:focus,textarea:focus{border-color:#71b4a3;outline:2px solid #1688760d}select{margin-top:0;padding:8px 11px}label select{margin-top:7px}textarea{resize:vertical}label:has(input:disabled){color:#bbc6c8}input:disabled{background:#f4f7f6;color:#adb9bb}.form-section-title{font-size:12px;font-weight:600;border-bottom:1px solid var(--line);padding-bottom:9px;margin:5px 0 18px}.form-error{font-size:11px;color:#bc655a;margin:5px 0;min-height:18px}.module-toggles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}.module-toggles label{border:1px solid var(--line);border-radius:7px;padding:11px 8px;display:flex;align-items:flex-start;gap:8px;font-size:11px;cursor:pointer;margin:0}.module-toggles small{font-size:9px;margin-top:3px}.module-toggles input{accent-color:var(--green);margin:3px 0 0}.module-toggles label:has(input:checked){border-color:#87c2ad;background:#f3faf6}.icon-button{background:none;color:#8fa5ab;padding:3px;min-width:28px;font-size:20px}.wide{width:100%;display:flex;justify-content:space-between}.page-footer{border-top:1px solid #e7eeee;display:flex;justify-content:space-between;margin-top:28px;padding:19px 0;color:#a1b0b3;font-size:9px;letter-spacing:.3px}.footer-separator{color:#c8d3d3;margin:0 12px}.loading{padding:80px;text-align:center;color:#9cabad}.detail-list{padding:20px;display:grid;gap:15px}.detail-list div{display:flex;justify-content:space-between;font-size:11px}.detail-list span{color:#95a6aa}.pagination{display:flex;gap:10px;justify-content:flex-end;align-items:center;border-top:1px solid var(--line);padding:13px 20px;font-size:10px;color:#8b9fa4}.pagination .secondary{padding:4px 9px;min-height:26px;font-size:10px}dialog{width:700px;max-width:calc(100vw - 30px);max-height:92vh;padding:0;border:1px solid #dce6e2;border-radius:12px;box-shadow:0 30px 100px #102e3540;color:var(--ink)}dialog::backdrop{background:#17333b70;backdrop-filter:blur(3px)}.dialog-header{display:flex;justify-content:space-between;padding:22px 26px 16px;border-bottom:1px solid var(--line)}.dialog-header h2{font-size:18px}.dialog-header p{font-size:11px;margin:0}.dialog-body{padding:20px 26px;max-height:65vh;overflow:auto}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 26px;border-top:1px solid var(--line);background:#fcfdfd}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:12px 22px;color:white;background:#244d43;border-radius:8px;box-shadow:0 6px 30px #183c3430;z-index:100;font-size:12px}.toast.error{background:#9e5b52}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.login-page{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:white}.login-story{background:#19343a;color:#e3eeea;display:flex;flex-direction:column;justify-content:space-between;padding:46px 64px;background-image:radial-gradient(ellipse at 10% 90%,#2b6b5a55,transparent 70%)}.login-story .wordmark{padding:0}.login-story h1{font-size:43px;line-height:1.5;letter-spacing:-1px;font-weight:550}.login-story .eyebrow{color:#78ab9c}.login-story p{color:#8da9ab;line-height:2;font-size:13px}.login-story small{color:#6e9398;font-size:10px}.story-chips{display:flex;gap:10px;margin-top:26px}.story-chips span{border:1px solid #ffffff1f;padding:6px 10px;font-size:10px;border-radius:4px;color:#a5c2bc}.login-main{display:flex;align-items:center;justify-content:center;padding:50px}.login-form{width:330px}.small-brand{font-size:10px;letter-spacing:1.3px;color:#87a49d;margin-bottom:30px}.small-brand span{font-size:9px;color:#aab6b7;letter-spacing:0;margin-left:8px}.login-form h2{font-size:27px;margin-bottom:9px;font-weight:600}.login-form>p{font-size:12px;margin-bottom:29px}.login-form label{margin:20px 0}.login-form input{padding:12px;font-size:12px}.login-form .wide{padding:12px 15px;margin-top:14px}.login-form>small{display:block;font-size:10px;margin-top:22px;line-height:1.8}.login-form .form-error{margin-bottom:5px}
@media(min-height:950px){.sidebar-help{margin-bottom:40px}}@media(max-width:1280px){.sidebar{width:220px;padding-left:12px;padding-right:12px}.app-shell{margin-left:220px}.sidebar-footer{margin:0 -12px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 250px}main{padding:27px 25px 0}.topbar{padding:0 25px}.stat-card{padding:16px}.dashboard-grid td,.dashboard-grid th{padding-left:13px;padding-right:13px}.sidebar-help{margin-top:30px}.sidebar{overflow-y:auto}.sidebar-help{margin-top:auto}.wordmark{font-size:12px}.workspace strong{max-width:120px}.nav-item{font-size:11px}}@media(max-width:1080px){.dashboard-grid{grid-template-columns:1fr}.dashboard-aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quick-panel{margin-top:0}.modules-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start}.page-actions{flex-wrap:wrap;justify-content:flex-end}.stat-grid{gap:10px}.stat-card{padding:13px}.stat-caption{font-size:9px}.settings-grid{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:244px}.sidebar.open{transform:translateX(0);box-shadow:10px 0 40px #17333b35}.app-shell{margin-left:0}.mobile-toggle{display:block;margin-right:12px}.topbar{height:60px;padding:0 18px}.breadcrumbs{margin-right:auto;font-size:10px}.top-actions{gap:9px}.edition{font-size:9px}.top-divider{display:none}main{padding:24px 17px 0}.page-heading{display:block}.page-actions{justify-content:flex-start;margin-top:18px}.page-actions select{width:150px}h1{font-size:25px}.stat-grid{grid-template-columns:1fr 1fr;gap:12px}.stat-number{font-size:28px}.stat-card{padding:16px}.stat-caption{font-size:9px}.dashboard-aside{display:block}.quick-panel{margin-top:16px}.table-wrap table{min-width:580px}.page-footer{display:block;line-height:2}.page-footer>span:last-child{display:block}.module-toggles{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.dialog-body{padding:17px}.dialog-header,.dialog-footer{padding:17px}.toolbar{padding:13px}.searchbox input{width:210px}.demo-banner{font-size:9px}.login-page{grid-template-columns:1fr}.login-story{display:none}.login-main{padding:40px 25px;min-height:100vh}.stat-top{font-size:10px}.dialog-body{max-height:65vh}.modules-grid{gap:15px}}
.activity-panel{margin-top:22px}.block{display:block;font-size:9px;margin-top:4px}
/* Readable control sizes and intrinsic-width containment for small screens. */
.nav-item{font-size:13px}.nav-label{font-size:11px}table{font-size:12px}th{font-size:11px}.bot-cell small{font-size:11px}.stat-top{font-size:12px}.stat-caption{font-size:11px}.panel-header h2{font-size:14px}.panel-header p{font-size:11px}.module-row strong{font-size:12px}.module-row p,.panel-note{font-size:11px}.text-link,.row-actions button{font-size:11px}.page-heading .muted{font-size:12px}label{font-size:12px}.dashboard-grid>div,.dashboard-aside{min-width:0}
@media(max-width:1080px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.table-wrap:after{content:"左右滑动，查看完整列表";display:block;padding:8px 14px;color:#92a6aa;font-size:10px;background:#fbfcfc}}
.rule-list{min-width:0;margin:14px 0}.rule-list h3{margin-bottom:6px}.rule-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:15px;border:1px solid var(--border,#e4e9ec);border-radius:10px;margin-bottom:12px}.rule-row>button{justify-self:start}.rule-row label{min-width:0}.rule-row input,.rule-row textarea,.rule-row select{width:100%;min-width:0}.rule-list>button{margin-top:4px}details{padding:12px 0;border-bottom:1px solid #e4e9ec}summary{cursor:pointer;font-weight:600}#features-tabs{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:600px){.rule-row{grid-template-columns:minmax(0,1fr)}.rule-row .span-2{grid-column:1}.rule-list{width:100%}}
[hidden]{display:none!important}.feature-page .panel .dialog-body{max-height:none;overflow:visible}
.forward-card .form-grid>label{min-width:0}.forward-card input:not([type=checkbox]),.forward-card select{width:100%;min-width:0}#forward-form>.toolbar{flex-wrap:wrap;gap:10px}.forward-card .panel-header{gap:12px;flex-wrap:wrap}
.forward-card input[type=checkbox]{width:auto;flex:0 0 auto}

.chat-identity{display:flex;align-items:center;gap:10px;min-width:0}.chat-identity input{flex:1;min-width:0!important;width:0!important}.chat-name-label{font-size:12px;color:var(--green);max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-name-label:empty{display:none}
body>.sidebar nav button.nav-item{width:100%;text-align:left;background:transparent}body>.sidebar nav button.nav-item.active{background:#2d4a4d}.sidebar-help button{width:100%}

.quota-input{max-width:100px}
/* Keep the full navigation and sign-out reachable as modules are added. */
.sidebar{overflow-y:auto}.sidebar-footer{flex-shrink:0}

.account-module-option{display:flex;align-items:center;gap:6px;white-space:nowrap;margin:5px 0}

.module-unopened{font-size:11px;color:#8a641a;background:#fff3d6;border-radius:4px;padding:2px 5px;margin-left:auto;white-space:nowrap}

.module-copy-editor{margin-top:16px;border-top:1px solid var(--border,#e7e9ee);padding-top:12px}.module-copy-editor summary{cursor:pointer;color:#4f64cf}.module-copy-editor form{display:grid;gap:12px;padding-top:12px}.module-copy-editor textarea{width:100%;resize:vertical}

.bill-template-field{display:grid;gap:6px;margin:16px 0}.bill-template-field textarea{width:100%;font-family:monospace;resize:vertical}.bill-format-example{white-space:pre-wrap;overflow-wrap:anywhere;padding:18px;background:#f5f7fa;border-radius:10px;line-height:1.7}
