@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Noto Sans SC,sans-serif;color:#16241f;background:#f4f6f3;font-synthesis:none;--green:#226b52;--dark:#132b23;--line:#dfe5df;--muted:#77827d;--cream:#f7f8f5}*{box-sizing:border-box}body{margin:0;min-width:1180px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(520px,1.08fr) minmax(560px,.92fr);background:#fff}.login-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#102b22,#174333 58%,#25664e);padding:48px 58px;color:#fff;display:flex;flex-direction:column}.login-brand{display:flex;align-items:center;gap:13px;position:relative;z-index:2}.login-brand strong{display:block;font-size:21px;letter-spacing:.8px}.login-brand small{display:block;color:#a7c0b6;font-size:10px;letter-spacing:1.5px;margin-top:2px}.login-message{margin:auto 0;max-width:610px;position:relative;z-index:2}.login-message>span{display:inline-block;color:#e1b65e;border:1px solid #d9b45b66;border-radius:18px;padding:6px 11px;font-size:9px;letter-spacing:1.7px}.login-message h1{font-size:43px;line-height:1.28;letter-spacing:-1.8px;margin:23px 0 17px}.login-message p{color:#afc5bc;font-size:13px;line-height:1.9;max-width:510px}.login-orbit{position:absolute;border:1px solid #ffffff12;border-radius:50%;pointer-events:none}.orbit-one{width:550px;height:550px;right:-260px;top:80px}.orbit-one:after{content:"";position:absolute;width:17px;height:17px;border-radius:5px;background:#deb45e;left:44px;top:80px;box-shadow:0 0 30px #deb45e88}.orbit-two{width:330px;height:330px;right:-145px;top:190px}.login-panel{display:grid;place-items:center;padding:44px;background:linear-gradient(180deg,#fff,#f8faf8)}.login-box{width:100%;max-width:430px}.login-heading>span{color:#2c7357;font-size:10px;font-weight:700;letter-spacing:1px}.login-heading h2{font-size:29px;margin:8px 0 7px;letter-spacing:-.8px}.login-heading p{font-size:11px;color:#8b9590;margin:0 0 27px}.login-box form>label{display:block;font-size:11px;font-weight:600;margin-top:15px}.login-input{height:47px;border:1px solid #dbe2dc;border-radius:9px;margin-top:7px;display:flex;align-items:center;padding:0 13px;background:#fff;transition:.2s}.login-input:focus-within{border-color:#39775d;box-shadow:0 0 0 3px #39775d12}.login-input>span{color:#668076;width:22px}.login-input input{border:0;outline:0;flex:1;min-width:0;font-size:12px;color:#1c3028}.login-input button{border:0;background:transparent;color:#39775d;font-size:9px}.login-error{background:#fbede8;color:#b4533f;border-radius:7px;padding:9px 11px;font-size:10px;margin-top:12px}.login-options{display:flex;justify-content:space-between;align-items:center;margin:14px 0 17px}.login-options label{font-size:9px;color:#73817b;display:flex;align-items:center;gap:5px}.login-options button{border:0;background:transparent;color:#39775d;font-size:9px}.login-submit{width:100%;height:46px;border:0;border-radius:9px;background:#1e644b;color:#fff;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 8px 20px #1e644b33}.login-submit:hover{background:#18553f}.login-submit span{font-size:17px}.demo-title{display:flex;align-items:center;gap:10px;margin:26px 0 11px}.demo-title span{height:1px;background:#e2e6e3;flex:1}.demo-title b{font-size:8px;color:#9aa39f;font-weight:500}.demo-accounts{display:grid;gap:7px}.demo-accounts>button{height:54px;border:1px solid #e0e5e1;background:#fff;border-radius:9px;display:flex;align-items:center;padding:0 10px;gap:10px;text-align:left}.demo-accounts>button:hover{border-color:#8fb3a2;background:#fafcfb}.demo-accounts>button>span{width:31px;height:31px;border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:11px}.demo-accounts .admin{background:#e4efe9;color:#226c50}.demo-accounts .sales{background:#edf0f6;color:#526a94}.demo-accounts .partner{background:#fbf0dc;color:#a77424}.demo-accounts b,.demo-accounts small{display:block}.demo-accounts b{font-size:11px;color:#273730}.demo-accounts small{font-size:8px;color:#909995;margin-top:2px}.demo-accounts i{margin-left:auto;color:#317054;font-size:9px;font-style:normal}.login-footnote{text-align:center;color:#a0a8a4;font-size:8px;margin:18px 0 0}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;padding:26px 18px 18px;background:var(--dark);color:#fff;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 30px}.brand strong{display:block;font-size:20px;letter-spacing:.7px}.brand small{display:block;margin-top:2px;color:#9bb2a9;font-size:11px;letter-spacing:1.2px}.brand-mark{width:34px;height:34px;position:relative;transform:rotate(-5deg)}.brand-mark span{position:absolute;width:15px;height:15px;border-radius:4px;background:#e2b45e}.brand-mark span:nth-child(1){left:0;top:8px}.brand-mark span:nth-child(2){right:0;top:0;background:#71aa8f}.brand-mark span:nth-child(3){right:0;bottom:0;background:#ecf1df}nav{display:grid;gap:4px;overflow-y:auto;padding-right:2px}nav button{border:0;background:transparent;color:#b8c8c1;min-height:40px;border-radius:9px;padding:0 13px;display:flex;gap:12px;align-items:center;text-align:left;font-weight:500;font-size:12px}nav button:hover,nav button.active{color:#fff;background:#26483c}nav button.active{box-shadow:inset 3px 0 #e0b35b}.nav-icon{width:23px;text-align:center;font-size:17px}nav i{margin-left:auto;background:#36584c;min-width:23px;padding:2px 6px;border-radius:10px;font-style:normal;text-align:center;font-size:11px}.sidebar-foot{margin-top:auto}.role-switcher{border-top:1px solid #29473d;padding:13px 4px 10px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.role-switcher>span{grid-column:1/-1;color:#718e83;font-size:9px;margin-bottom:2px}.role-switcher button{border:1px solid #345448;background:transparent;color:#91a89f;border-radius:5px;padding:5px 2px;font-size:9px}.role-switcher button.active{background:#e0b35b;border-color:#e0b35b;color:#17352b;font-weight:700}.help-card{background:#1d3b31;padding:15px;border-radius:11px;margin-bottom:18px;display:grid;gap:4px}.help-card b{font-size:13px}.help-card span{color:#9fb2aa;font-size:11px}.help-card button{border:0;background:transparent;color:#e1b762;padding:8px 0 0;text-align:left;font-size:11px}.user{border-top:1px solid #29473d;padding:18px 5px 0;display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#d9a955;color:#132b23;font-weight:700}.user b,.user span{display:block;font-size:12px}.user span{color:#91a79e;font-size:10px;margin-top:2px}.user button{margin-left:auto;border:0;background:transparent;color:#8fa59c}main{margin-left:244px;width:calc(100% - 244px);min-height:100vh}header{height:92px;background:#fff;border-bottom:1px solid var(--line);padding:0 34px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5}.eyebrow{color:#8a938f;font-size:11px;margin:0 0 5px;letter-spacing:.5px;text-transform:uppercase}h1{margin:0;font-size:23px;letter-spacing:-.5px}.header-actions{display:flex;align-items:center;gap:9px}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#57635e;font-size:18px}.notification{position:relative}.notification:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#e0a84b;top:8px;right:8px}.role-badge{font-size:10px;color:#326d56;background:#e8f1ec;border:1px solid #d4e2da;border-radius:14px;padding:5px 9px}.primary,.ghost{height:40px;border-radius:8px;padding:0 16px;font-weight:600;border:1px solid var(--green)}.primary{background:var(--green);color:#fff}.primary:hover{background:#195b45}.ghost{background:#fff;color:#405049;border-color:var(--line)}.page{padding:30px 34px 50px;max-width:1560px;margin:auto}.welcome-row,.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:23px}.welcome-row h2,.section-head h2{font-size:21px;margin:0 0 5px}.welcome-row p,.section-head p{margin:0;color:var(--muted);font-size:13px}.period-switch{background:#e8ece8;border-radius:8px;padding:3px}.period-switch button{border:0;background:transparent;color:#6b7771;padding:7px 13px;border-radius:6px;font-size:12px}.period-switch button.active{background:#fff;color:#23352e;box-shadow:0 1px 4px #1f35231c;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stats-grid article,.panel{background:#fff;border:1px solid var(--line);border-radius:12px}.stats-grid article{padding:20px}.stat-top{display:flex;justify-content:space-between;align-items:center}.stat-top em{font-style:normal;color:#28755a;background:#edf6f1;border-radius:12px;padding:3px 7px;font-size:10px}.stat-icon{width:33px;height:33px;border-radius:8px;display:grid;place-items:center;font-style:normal}.stat-icon.green{background:#e4f0e9;color:#267156}.stat-icon.yellow{background:#fbf2dd;color:#b67b19}.stat-icon.blue{background:#e6f0f4;color:#35748a}.stat-icon.purple{background:#eee9f5;color:#725998}.stats-grid article>b{font-size:26px;display:block;margin:16px 0 0;letter-spacing:-.8px}.stats-grid p{margin:2px 0 9px;font-size:12px;font-weight:600}.stats-grid small{color:#8b9590;font-size:10px}.dashboard-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:15px;margin-top:15px}.panel{padding:21px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start}.panel-head h3{font-size:15px;margin:0 0 4px}.panel-head p{margin:0;color:#89928e;font-size:11px}.panel-head>button,.balance-card button,.contract-grid footer button{border:0;background:transparent;color:var(--green);font-size:11px;font-weight:600}.legend-dot{font-size:10px;color:#437963}.chart{height:220px;position:relative;margin-top:22px;padding:0 8px 26px 38px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 42px,#edf0ed 43px)}.bars{height:100%;display:flex;align-items:flex-end;gap:11px}.bars>div{flex:1;background:#91b7a5;border-radius:4px 4px 1px 1px;position:relative;min-width:8px}.bars>div.today{background:#286b53}.bars span{position:absolute;top:-21px;left:50%;transform:translate(-50%);background:#153129;color:#fff;font-size:9px;padding:3px 5px;border-radius:4px}.y-axis{position:absolute;left:0;top:-5px;bottom:23px;display:flex;flex-direction:column;justify-content:space-between;color:#9ba39f;font-size:9px}.x-axis{position:absolute;left:38px;right:8px;bottom:0;display:flex;justify-content:space-between;color:#9ba39f;font-size:9px}.alerts{display:grid;gap:0}.alert-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:16px 0;border-top:1px solid #edf0ed}.alert-item:first-of-type{margin-top:12px}.alert-item>span{width:31px;height:31px;border-radius:8px;display:grid;place-items:center;font-weight:700}.alert-item.danger>span{background:#f9e9e4;color:#be5c45}.alert-item.warn>span{background:#fbf0dc;color:#b88029}.alert-item.calm>span{background:#e8f0eb;color:#447765}.alert-item b{font-size:12px}.alert-item p{font-size:10px;color:#8d9691;margin:3px 0 0}.alert-item button{border:0;background:transparent;color:var(--green);font-size:10px;font-weight:600}.recent{margin-top:15px}.recent .table-wrap{margin:14px -21px -21px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px}th{text-align:left;background:#f7f8f6;color:#7d8883;padding:11px 14px;font-weight:500}td{padding:13px 14px;border-top:1px solid #edf0ed;color:#64706b}tbody tr{cursor:pointer}tbody tr:hover{background:#fafbf9}td b{color:#263730}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.type-chip{background:#eff3f0;color:#4b6459;border-radius:5px;padding:4px 7px}.status{font-size:10px;white-space:nowrap}.status.已到账,.status.已生效,.status.运营中,.status.扣费成功{color:#297158}.status.待确认,.status.额度预警,.status.待启用,.status.待生效{color:#c07c22}.status.客户未启用{color:#bd5c49}.status.买断免扣{color:#687b9b}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px}.search{height:40px;min-width:300px;flex:1;max-width:470px;background:#fff;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;padding:0 11px;gap:8px}.search input{border:0;outline:0;width:100%;color:#263830;font-size:12px}.search span{color:#8f9994}.search.compact{flex:0 0 270px}.toolbar select,.modal select{height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 30px 0 11px;color:#52605a;font-size:11px}.table-panel{padding:0;overflow:hidden}.customer-cell{display:flex;align-items:center;gap:10px}.customer-cell>span{width:31px;height:31px;border-radius:8px;background:#e3eee8;color:#276c52;display:grid;place-items:center;font-weight:700}.customer-cell b,.customer-cell small{display:block}.customer-cell small{font-size:9px;color:#9aa29e;margin-top:2px}.dangerText{color:#c15c46!important}.table-footer{border-top:1px solid var(--line);padding:13px 16px;color:#8c9691;font-size:10px;display:flex;justify-content:space-between}.summary-banner{background:#17382d;color:#fff;border-radius:13px;padding:24px 26px;display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.summary-banner>div{display:flex;align-items:center;gap:15px}.summary-banner>div>span{width:45px;height:45px;border-radius:11px;background:#285545;display:grid;place-items:center;font-size:20px;color:#e0b45d}.summary-banner p{margin:0;color:#a9beb6;font-size:11px}.summary-banner b{display:block;font-size:25px;margin-top:3px}.summary-banner b small{font-size:11px;font-weight:400}.summary-banner .primary{background:#deb25e;border-color:#deb25e;color:#16332a}.balance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.balance-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;cursor:pointer}.balance-card.warning{border-color:#e5a996;background:#fffdfb}.balance-card-head{display:flex;justify-content:space-between}.warning-tag{color:#b95842;background:#f9e7e2;border-radius:10px;padding:3px 7px;font-size:9px}.balance-card>p{font-size:10px;color:#8b9691;margin:22px 0 1px}.balance-card>strong{font-size:25px}.balance-card>strong small{font-size:10px}.progress{height:5px;background:#edf0ed;border-radius:3px;margin:13px 0}.progress i{display:block;height:100%;background:#4d8e72;border-radius:3px}.warning .progress i{background:#c66b51}.balance-card footer{display:flex;justify-content:space-between;color:#89938e;font-size:10px}.info-banner{background:#edf4f0;border:1px solid #cfdfd5;border-radius:10px;padding:14px 16px;display:flex;gap:12px;margin-bottom:25px}.info-banner>span{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#3d7b61;color:#fff;font-weight:700}.info-banner b{font-size:12px}.info-banner p{font-size:10px;color:#6c7b74;margin:3px 0 0}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:18px}.pricing-grid article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;position:relative;overflow:hidden}.pricing-grid article.featured{border:2px solid #39785e;padding:19px;box-shadow:0 0 0 4px #39785e12,0 12px 35px #295d4725;transform:translateY(-5px)}.recommend-glow{position:absolute;width:100px;height:100px;border-radius:50%;background:#e3b95d55;filter:blur(25px);right:-20px;top:-35px;animation:pulseGlow 2.2s ease-in-out infinite}.pricing-top{display:flex;justify-content:space-between;position:relative}.pricing-top span{font-size:9px;color:#6d7973;background:#eef2ef;padding:4px 7px;border-radius:9px}.featured .pricing-top span{background:#1f6b50;color:#fff}.pricing-top button{border:0;background:transparent;color:#8b9590}.pricing-grid h3{margin:18px 0 14px}.pricing-grid p{font-size:10px;color:#8c9691;margin:0}.pricing-grid>article>b{font-size:12px;display:block;margin-top:4px}.price{margin:20px -20px 0;padding:20px;background:#f8f9f7}.featured .price{margin-left:-19px;margin-right:-19px;background:#edf5f0}.price strong{font-size:27px}.price span{color:#7e8984;font-size:11px}.pricing-grid footer{padding-top:15px;color:#4b705f;font-size:10px}.rule-note h3{font-size:14px;margin:0 0 18px}.rule-note>div{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.rule-note p{display:grid;grid-template-columns:30px 1fr;gap:2px 10px;margin:0}.rule-note p>span{grid-row:1/3;width:28px;height:28px;border-radius:7px;background:#e5eee9;display:grid;place-items:center;color:#39765c;font-size:10px;font-weight:700}.rule-note b{font-size:11px}.rule-note small{font-size:9px;color:#8b9690}@keyframes pulseGlow{50%{opacity:.45;transform:scale(1.2)}}.contract-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.contract-grid article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:21px;cursor:pointer}.contract-grid article:hover{border-color:#95b5a6}.contract-top{display:flex;justify-content:space-between}.doc-icon{width:38px;height:38px;border-radius:9px;background:#e3eee8;color:#2c7456;display:grid;place-items:center}.contract-grid h3{font-size:15px;margin:17px 0 4px}.contract-grid>article>p{color:#8d9691;margin:0;font-size:10px}.contract-meta{display:grid;grid-template-columns:1.5fr 1fr;gap:15px;border-top:1px solid #edf0ed;border-bottom:1px solid #edf0ed;margin:18px 0;padding:15px 0}.contract-meta span,.contract-meta b{display:block}.contract-meta span{font-size:9px;color:#909995;margin-bottom:4px}.contract-meta b{font-size:11px}.contract-grid footer{display:flex;justify-content:space-between;color:#78847e;font-size:10px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c1d17a8;z-index:30;display:grid;place-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:470px;background:#fff;border-radius:15px;padding:28px;position:relative;box-shadow:0 24px 80px #0f241c55}.modal.recharge-modal{width:680px}.close{position:absolute;right:18px;top:15px;border:0;background:transparent;color:#7f8a85;font-size:25px}.modal-icon{width:42px;height:42px;border-radius:10px;background:#e2eee8;color:#276d52;display:grid;place-items:center;font-size:19px}.modal h2{font-size:20px;margin:15px 0 5px}.modal>p{font-size:11px;color:#7f8b85;margin:0 0 20px}.modal label{display:block;font-size:11px;font-weight:600;margin-top:15px}.modal label select{width:100%;margin-top:7px}.preset-label{font-size:11px;font-weight:600;margin:16px 0 8px}.recharge-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.recharge-presets button{height:92px;border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:12px;position:relative;color:#53615b}.recharge-presets button:hover,.recharge-presets button.active{border:2px solid var(--green);padding:11px;background:#eff6f2}.recharge-presets span,.recharge-presets b,.recharge-presets small{display:block}.recharge-presets span{font-size:9px;color:#87918c}.recharge-presets b{font-size:15px;color:#20342c;margin:4px 0}.recharge-presets small{font-size:8px}.recommended-preset{box-shadow:0 0 0 3px #d9b45b22;animation:recommendPulse 1.9s ease-in-out infinite}.recommended-preset i{position:absolute;right:7px;top:-9px;background:#d9a944;color:#17342a;border-radius:9px;padding:3px 7px;font-size:8px;font-style:normal;font-weight:700}.money-input{height:43px;border:1px solid var(--line);border-radius:8px;margin-top:7px;display:flex;align-items:center;padding:0 12px}.money-input span{color:#6e7a74}.money-input input{border:0;outline:0;font-size:16px;font-weight:600;padding-left:7px;width:100%}.modal label small{display:block;color:#9aa29e;font-weight:400;margin-top:4px}.quote{background:#f2f5f2;border-radius:9px;padding:13px 15px;margin-top:16px;display:flex;justify-content:space-between}.quote span,.quote b,.quote strong{display:block}.quote span{font-size:9px;color:#8b9590}.quote b,.quote strong{margin-top:3px;font-size:12px}.quote strong{color:#246d51;font-size:16px}.modal textarea{width:100%;height:52px;border:1px solid var(--line);border-radius:8px;margin-top:7px;padding:10px;resize:none;font-size:11px}.modal footer{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}@keyframes recommendPulse{50%{box-shadow:0 0 0 6px #d9b45b2d}}.recharge-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:18px;align-items:start}.recharge-form-card,.recharge-summary-card{padding:26px}.recharge-form-card label{display:block;font-size:11px;font-weight:600;margin-top:20px}.recharge-form-card label:first-child{margin-top:0}.recharge-form-card label select{width:100%;margin-top:7px}.recharge-form-card label small{display:block;color:#9aa29e;font-weight:400;margin-top:4px}.recharge-form-card textarea{width:100%;height:76px;border:1px solid var(--line);border-radius:8px;margin-top:7px;padding:10px;resize:none;font-size:11px}.recharge-customer{padding:15px 17px;border-radius:10px;background:#f3f7f5}.recharge-customer span,.recharge-customer b,.recharge-customer small{display:block}.recharge-customer span{font-size:9px;color:#84908a}.recharge-customer b{margin:4px 0;color:#203b31}.recharge-customer small{color:#779086}.recharge-summary-card{position:sticky;top:18px}.recharge-summary-card .summary-label{font-size:9px;color:#809089;letter-spacing:.12em}.recharge-summary-card h3{margin:7px 0 0;font-size:18px}.recharge-summary-card .quote{display:grid;gap:0;padding:4px 0;margin:18px 0;background:transparent}.recharge-summary-card .quote>div{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.recharge-summary-card .quote .quota-total{display:block;padding:18px;margin-top:10px;border:0;border-radius:10px;background:#edf6f1}.recharge-summary-card .quota-total strong{margin-top:6px;font-size:25px}.recharge-summary-card>p{font-size:10px;line-height:1.7;color:#7c8882;margin:18px 0}.recharge-summary-card .wide{width:100%}@media(max-width:900px){.recharge-layout{grid-template-columns:1fr}.recharge-summary-card{position:static}.recharge-presets{grid-template-columns:repeat(2,1fr)}}.root-banner{background:#182d26;color:#fff;border-radius:12px;padding:18px 20px;display:flex;align-items:center;gap:13px;margin-bottom:18px}.root-banner>span{background:#d9aa4d;color:#173128;border-radius:6px;padding:6px 8px;font-size:10px;font-weight:800}.root-banner b{font-size:13px}.root-banner p{font-size:10px;color:#9fb3ab;margin:3px 0 0}.root-banner button{margin-left:auto}.table-action{border:0;background:transparent;color:var(--green);font-size:10px;font-weight:600}.entitlement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.entitlement-grid article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px;cursor:pointer}.entitlement-grid article:hover{border-color:#8daf9f}.entitlement-head{display:flex;justify-content:space-between}.entitlement-head>b{color:#89938e;font-size:9px}.entitlement-grid h3{font-size:14px;margin:15px 0 4px}.entitlement-grid>article>p{font-size:9px;color:#88928d;margin:0}.entitlement-metrics{display:grid;grid-template-columns:repeat(4,1fr);background:#f5f7f4;border-radius:8px;margin:16px 0;padding:12px}.entitlement-metrics div{border-left:1px solid #e2e7e2;padding-left:10px}.entitlement-metrics div:first-child{border-left:0;padding-left:0}.entitlement-metrics b,.entitlement-metrics span{display:block}.entitlement-metrics b{font-size:17px}.entitlement-metrics span{font-size:8px;color:#89938e;margin-top:2px}.entitlement-grid footer{display:flex;justify-content:space-between;align-items:center;color:#74817a;font-size:9px}.entitlement-grid footer button{border:0;background:transparent;color:var(--green);font-size:9px;font-weight:600}.formula-card{margin-top:14px;background:#17372d;color:#d7e7df;border-radius:9px;padding:13px;text-align:center;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.point-chip{width:27px;height:27px;border-radius:7px;background:#e4eee9;color:#286e53;display:grid;place-items:center;font-weight:700}.cell-sub{display:block;color:#929b97;font-size:8px;margin-top:3px}.device-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.device-summary>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px}.device-summary b,.device-summary span{display:block}.device-summary b{font-size:20px}.device-summary span{color:#85908a;font-size:9px;margin-top:4px}.course-table{overflow:hidden}.course-table table{min-width:1120px}.consumption-chip{font-size:8px;color:#2d7157;background:#e7f1eb;border-radius:5px;padding:4px 6px;white-space:nowrap}.consumption-chip.no-consume{color:#ac6e24;background:#fbf0dc}.status.在线,.status.使用中,.status.已验证,.status.已完成,.status.正常{color:#287158}.status.离线,.status.可用{color:#73827b}.status.已停用,.status.已中止{color:#b6634d}.status.待验证{color:#bd7c25}.partner-view-bar{background:#17372d;color:#fff;border-radius:11px;padding:15px 17px;margin-bottom:13px;display:flex;align-items:center;justify-content:space-between}.partner-view-bar>div:first-child>span,.partner-view-bar>div:first-child>b,.partner-view-bar>div:first-child>small{display:block}.partner-view-bar>div:first-child>span{font-size:8px;color:#9bb4aa}.partner-view-bar>div:first-child>b{font-size:14px;margin:3px 0}.partner-view-bar>div:first-child>small{font-size:8px;color:#d7b45f}.partner-tabs{display:flex;gap:6px}.partner-tabs button{border:1px solid #3d5e52;background:transparent;color:#a9beb5;border-radius:7px;padding:7px 10px;font-size:9px}.partner-tabs button.active{background:#e0b35b;border-color:#e0b35b;color:#17372d;font-weight:700}.section-actions{display:flex;gap:8px}.section-actions button:disabled{opacity:.45;cursor:not-allowed}.credential-banner{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;padding:14px 17px;border:1px solid #ead6a9;border-radius:10px;background:#fff8e8}.credential-banner>div{display:flex;align-items:center;gap:11px}.credential-banner>div>span{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#f5e4b8;color:#9d6a13}.credential-banner b{font-size:11px}.credential-banner p{margin:2px 0 0;color:#8b7a58;font-size:9px}.credential-banner>strong{color:#a46811;font-size:10px}.account-table table{min-width:1040px}.account-table input[type=checkbox]{accent-color:#2f765b}.password-state{display:inline-flex;padding:4px 7px;border-radius:6px;background:#e5f0ea;color:#2b7157;font-size:8px;font-weight:700;white-space:nowrap}.password-state.initial{background:#fbefd5;color:#a46a13}.account-table .table-action+.table-action{margin-left:8px}.password-modal{width:520px}.password-targets{display:flex;flex-wrap:wrap;gap:6px;max-height:85px;overflow:auto;padding:10px;border-radius:8px;background:#f4f7f5}.password-targets span{padding:4px 7px;border-radius:6px;background:#e6eee9;color:#315e4d;font:9px ui-monospace,SFMono-Regular,Menlo,monospace}.password-modal .login-input{margin-top:7px}.force-note{margin-top:15px;padding:12px 14px;border-radius:8px;background:#eef5f1}.force-note b{font-size:10px;color:#2f6f56}.force-note p{margin:2px 0 0;color:#7e8b84;font-size:9px}.drawer.account-detail-drawer{width:450px}.drawer-badges{display:flex;gap:8px}.account-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.account-detail-grid>div{padding:11px;border-radius:8px;background:#f5f7f5}.account-detail-grid span,.account-detail-grid b{display:block}.account-detail-grid span{font-size:8px;color:#87918c}.account-detail-grid b{margin-top:3px;font-size:10px}.drawer-section-head{display:flex;justify-content:space-between;align-items:flex-end;margin:24px 0 10px}.drawer-section-head h3{margin:0;font-size:13px}.drawer-section-head p{margin:2px 0 0;color:#8b9590;font-size:8px}.drawer-section-head button{border:0;background:transparent;color:var(--green);font-size:9px}.mini-sessions{display:grid;gap:7px}.mini-sessions article{padding:11px;border:1px solid var(--line);border-radius:8px}.mini-sessions b,.mini-sessions span,.mini-sessions small{display:block}.mini-sessions b{font-size:10px}.mini-sessions span{margin:3px 0;color:#5e6d66;font:8px ui-monospace,SFMono-Regular,Menlo,monospace}.mini-sessions small{color:#8b9590;font-size:8px}.empty-mini{padding:20px;border-radius:8px;background:#f5f7f5;color:#8b9590;text-align:center;font-size:9px}.drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.drawer-actions button{margin:0}.release-hero{display:flex;align-items:center;gap:24px;padding:34px;border-radius:20px;background:linear-gradient(135deg,#183f35,#256c58);color:#fff;box-shadow:0 18px 40px #183f3529}.release-hero>div:nth-child(2){flex:1}.release-hero span{font-size:12px;letter-spacing:.16em;color:#aee4d2}.release-hero h2{margin:6px 0 8px;font-size:28px}.release-hero p{max-width:700px;margin:0;color:#d8eee7;line-height:1.7}.release-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:#ffffff24;font-size:32px}.release-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap;background:#fff!important;color:#174a3c!important}.release-guide{margin-top:20px;padding:26px}.release-guide>div{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.release-guide p{display:grid;grid-template-columns:40px 1fr;gap:2px 10px;margin:0;padding:18px;border-radius:14px;background:#f6f8f7}.release-guide p span{grid-row:1/3;color:#3f8c72;font-weight:800}.release-guide p small{color:#7b8581}.task-list{display:grid;gap:10px}.task-list article{background:#fff;border:1px solid var(--line);border-radius:11px;padding:17px 19px;display:grid;grid-template-columns:38px 1fr auto;gap:13px;align-items:center}.task-icon{width:36px;height:36px;border-radius:9px;display:grid;place-items:center}.task-icon.warn{background:#fbf0dc;color:#a87827}.task-icon.calm{background:#e5f0ea;color:#317258}.task-list b{font-size:12px}.task-list p{font-size:9px;color:#8c9691;margin:4px 0 0}.task-list button,.admin-tool-grid button,.settings-list button{border:0;background:transparent;color:var(--green);font-size:10px;font-weight:600}.profile-layout{display:grid;grid-template-columns:300px 1fr;gap:16px}.profile-card{text-align:center;padding:40px 25px}.profile-avatar{width:70px;height:70px;border-radius:50%;background:#e1eee7;color:#266d52;display:grid;place-items:center;margin:auto;font-size:24px;font-weight:700}.profile-card h2{font-size:19px;margin:16px 0 4px}.profile-card p{font-size:10px;color:#84908a;margin:0 0 14px}.profile-settings h3{font-size:14px;margin:0 0 13px}.profile-settings>div,.settings-list>div{display:grid;grid-template-columns:130px 1fr auto;align-items:center;border-top:1px solid #edf0ed;padding:16px 0;font-size:11px}.profile-settings span,.settings-list p{color:#84908a}.profile-settings button{border:0;background:transparent;color:var(--green);font-size:10px}.admin-tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-tool-grid article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px}.admin-tool-grid article>span{width:38px;height:38px;border-radius:9px;background:#e4efe9;color:#2b7055;display:grid;place-items:center;font-size:16px}.admin-tool-grid h3{font-size:14px;margin:18px 0 7px}.admin-tool-grid p{font-size:10px;color:#7f8b85;line-height:1.6;min-height:32px}.admin-tool-grid button{padding:9px 0}.settings-list{padding:4px 22px}.settings-list>div:first-child{border-top:0}.settings-list>div>span{font-weight:600;color:#263730}.settings-list p{font-size:10px;margin:0}.settings-list button{justify-self:end}.hub-tabs{display:flex;gap:6px;margin-bottom:16px;padding:5px;border:1px solid var(--line);border-radius:10px;background:#fff;width:max-content}.hub-tabs button{border:0;border-radius:7px;background:transparent;color:#74817b;padding:9px 16px;font-size:10px}.hub-tabs button.active{background:#17372d;color:#fff;font-weight:700}.hub-action-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:#75827c;font-size:10px}.demo-rule-banner{display:flex;align-items:center;gap:14px;padding:17px 19px;margin-bottom:16px;border-radius:12px;background:#17372d;color:#fff}.demo-rule-banner>span{padding:7px 9px;border-radius:7px;background:#e0b35b;color:#17372d;font-size:9px;font-weight:800}.demo-rule-banner b{font-size:12px}.demo-rule-banner p{margin:3px 0 0;color:#a9bdb5;font-size:9px}.demo-machine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.demo-machine-card{padding:20px}.demo-card-head{display:flex;justify-content:space-between}.demo-card-head span,.demo-card-head b{display:block}.demo-card-head>div span{color:#87928d;font-size:8px}.demo-card-head>div b{margin-top:3px;font-size:9px}.demo-machine-card h3{margin:18px 0 3px;font-size:16px}.demo-machine-card>p{margin:0;color:#84908a;font-size:9px}.demo-metrics{display:grid;grid-template-columns:1.5fr .8fr .8fr;gap:10px;margin:17px 0;padding:13px;border-radius:9px;background:#f4f7f5}.demo-metrics b,.demo-metrics span{display:block}.demo-metrics b{font-size:11px}.demo-metrics span{margin-top:3px;color:#87918c;font-size:8px}.demo-machine-card footer{display:flex;justify-content:space-between;align-items:center;color:#7f8a85;font-size:8px}.demo-machine-card footer button{border:0;background:transparent;color:var(--green);font-size:9px}.demo-chip{display:inline-flex;padding:4px 7px;border-radius:6px;background:#edf0ff;color:#5967a8;font-size:8px;font-weight:700}.hub-tabs+template{display:block}@media(max-width:900px){.demo-machine-grid{grid-template-columns:1fr}.hub-tabs{max-width:100%;overflow-x:auto}}.drawer{position:fixed;right:0;top:0;bottom:0;width:390px;background:#fff;z-index:25;box-shadow:-12px 0 40px #10231c1d;padding:32px;animation:slide .2s ease}.drawer h2{font-size:20px;margin:4px 0 10px}.drawer-body{border-top:1px solid var(--line);margin-top:24px;padding-top:10px}.drawer-body>div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf0ed;font-size:11px}.drawer-body span{color:#84908a}.drawer-body b{max-width:210px;text-align:right}.wide{width:100%;margin-top:25px}.toast{position:fixed;bottom:28px;left:calc(50% + 122px);transform:translate(-50%);z-index:50;background:#17372c;color:#fff;border-radius:9px;padding:12px 18px;font-size:11px;box-shadow:0 12px 30px #132a2255}@keyframes slide{0%{transform:translate(100%)}to{transform:none}}@media(max-width:1250px){.page{padding-left:24px;padding-right:24px}.stats-grid{gap:10px}.stats-grid article{padding:16px}.bars{gap:7px}.balance-grid{grid-template-columns:repeat(2,1fr)}}button:disabled{cursor:not-allowed;opacity:.55}.login-options>span{font-size:9px;color:#73817b}.login-notice{margin-top:12px;padding:9px 11px;border-radius:7px;background:#e8f3ed;color:#286e53;font-size:10px}.managed-account-note{margin-top:24px;padding:14px 16px;border:1px solid #dfe6e1;border-radius:9px;background:#f8faf8}.managed-account-note b{font-size:11px;color:#315f4e}.managed-account-note p{margin:4px 0 0;color:#7c8983;font-size:9px;line-height:1.6}.session-loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:11px;background:#f7faf8;color:#1d3c31}.session-loading .brand-mark{margin-bottom:8px}.session-loading b{font-size:14px}.session-loading>span{font-size:10px;color:#819089}.password-gate-page{min-height:100vh;display:grid;place-items:center;padding:48px;background:linear-gradient(145deg,#102b22,#25664e)}.password-gate-card{width:100%;max-width:520px;padding:35px 38px;border-radius:17px;background:#fff;box-shadow:0 24px 70px #06171055}.password-gate-card .login-brand{margin-bottom:35px;color:#18392e}.password-gate-card .login-brand small{color:#7f918a}.password-gate-card h1{font-size:25px;margin:7px 0 8px}.password-gate-card>p{margin:0 0 24px;color:#728079;font-size:11px;line-height:1.7}.password-gate-card form>label{display:block;margin-top:14px;font-size:11px;font-weight:600}.password-gate-logout{display:block;margin:17px auto 0;border:0;background:transparent;color:#74827c;font-size:10px}.page-error{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:11px 14px;border-radius:8px;background:#fbede8;color:#a94e3a;font-size:10px}.page-error>span{font-weight:800}.page-error p{margin:0;flex:1}.page-error button{border:0;background:transparent;color:inherit;font-weight:700}.table-state{padding:50px;text-align:center;color:#7e8a84;font-size:11px}.table-action:disabled{color:#a7afab}.account-form-modal{width:570px}.account-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.account-form-grid label{margin:0!important}.account-form-grid input,.account-form-grid select{width:100%;height:42px;margin-top:7px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 11px;color:#283a32;font-size:11px;outline:0}.account-form-grid input:focus,.account-form-grid select:focus{border-color:#39775d;box-shadow:0 0 0 3px #39775d12}.status.已锁定,.status.待激活{color:#bd7c25}
