:root{font-family:"Microsoft YaHei UI","PingFang SC",system-ui,sans-serif;color:#233244;background:#f4f6f9;font-size:14px;--accent:#27775e;--border:#e1e7ec}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--border);border-radius:8px;padding:9px 15px;background:white;color:inherit;white-space:nowrap}button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--accent);color:white;border-color:var(--accent)}.ghost{background:transparent}.wide{width:100%;margin-top:10px}input,textarea{border:1px solid #d7dfe6;border-radius:7px;background:white;padding:11px 12px;width:100%;color:#233244}input:focus,textarea:focus{outline:2px solid #aed7c8;outline-offset:1px}label{display:block;color:#586674;font-size:13px;margin:18px 0 10px}label input{display:block;margin-top:8px}h1,h2,h3,p{margin-top:0}h2{font-size:20px;letter-spacing:-.3px}p{color:#74808c;line-height:1.8}.eyebrow{font-size:10px;letter-spacing:2px;color:#769184;font-weight:700}.brand{font-weight:700;font-size:20px;display:flex;align-items:center;gap:12px}.brand small{font-size:12px;font-weight:400;color:#81918d;margin-left:15px}.mark{width:34px;height:34px;background:var(--accent);color:white;display:inline-grid;place-items:center;border-radius:10px;font-size:20px}.entry{max-width:1140px;margin:auto;min-height:100vh;display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:120px 1fr;column-gap:90px;padding:0 40px 80px;align-items:center}.entry>.brand{grid-column:1/3}.welcome h1{font-size:48px;font-weight:600;line-height:1.45;letter-spacing:-2px;margin:20px 0}.welcome p{font-size:16px}.local-note{margin-top:70px;font-size:12px;color:#6c8579}i{display:inline-block;width:7px;height:7px;background:#4aab80;border-radius:50%;margin-right:7px}.login-card{padding:40px;background:white;border:1px solid var(--border);border-radius:18px;box-shadow:0 20px 50px #223b3510}.login-card h2{font-size:26px;margin:14px 0 10px}.login-card>p{margin-bottom:30px}.form-error{color:#b44343;margin:16px 0 0;min-height:18px;font-size:13px}aside{width:235px;position:fixed;height:100vh;background:#142c27;color:#e6f0eb;padding:30px 22px;display:flex;flex-direction:column}.aside-note{font-size:12px;color:#90aaa0;margin:16px 0 50px}nav{display:grid;gap:10px}nav button{border:0;background:none;color:#a8beb5;text-align:left;padding:14px}nav button span{float:right;font-size:11px;color:#74988b;margin-top:3px}nav button.selected{background:#28483e;color:white}nav button.selected span{color:#b4d2c5}.aside-bottom{margin-top:auto;font-size:12px;line-height:2.2;color:#bccdc5}.aside-bottom small{color:#78988a}.content{margin-left:235px;padding:36px 44px 55px;max-width:1800px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}header h1{margin:12px 0 0;font-size:28px;font-weight:600}.account{display:flex;align-items:center;gap:20px;color:#74808c}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:34px}.stats article{background:white;border:1px solid var(--border);border-radius:12px;padding:22px}.stats span{color:#79858e;font-size:12px}.stats b{display:block;margin-top:14px;font-size:30px;font-weight:600;color:#213e33}.page{background:white;border:1px solid var(--border);border-radius:12px;padding:27px;min-height:360px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.section-head h2{margin-bottom:8px}.section-head p{font-size:12px;margin-bottom:0}.actions{display:flex;gap:8px}.actions input{width:150px;padding:9px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{background:#f7f9fa;color:#81908d;font-size:12px;font-weight:400;padding:14px 12px;white-space:nowrap}td{padding:17px 12px;border-bottom:1px solid #edf0f3;vertical-align:middle}td small{color:#8a969f;display:block;font-size:10px;margin-top:5px}td button{font-size:12px;padding:6px 8px;border:0;color:var(--accent)}td .danger{color:#b65454}.badge{display:inline-block;border-radius:30px;font-size:11px;padding:5px 9px;background:#e8f4ed;color:#367b56;white-space:nowrap}.badge.muted{background:#f0f1f3;color:#85909a}.badge.warn{background:#fff2e2;color:#b5803d}.empty{text-align:center;color:#92a09b;padding:55px 0}.footnote{font-size:11px;color:#9aa4ac;margin:20px 0 0}.inline-form{display:flex;align-items:flex-end;gap:16px;margin:15px 0 27px;flex-wrap:wrap}.inline-form label{margin:0;flex:1;min-width:90px}.inline-form label:first-child{flex:2}.inline-form input{min-width:70px}.inline-form button{margin-bottom:0;height:42px}.new-codes{background:#f0f8f4;border:1px solid #c8e3d5;border-radius:9px;padding:20px;margin:20px 0}.new-codes b{font-size:13px}.new-codes textarea{font:12px monospace;line-height:1.8;margin:14px 0;resize:vertical}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.panel{padding:8px}.panel p{font-size:13px}.panel form{max-width:420px}hr{border:0;border-top:1px solid var(--border);margin:30px 0}dialog{border:1px solid var(--border);border-radius:15px;padding:28px;width:510px;max-width:95vw;color:#233244;box-shadow:0 30px 90px #12352c30}dialog::backdrop{background:#142c2777}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{margin:0}.dialog-actions{text-align:right;margin-top:24px}.device-row{background:#f7f9fa;border-radius:8px;padding:15px;margin:12px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.device-row small{color:#8b969d;display:block;margin-top:5px}#notice{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:99;background:#203e32;color:white;padding:13px 24px;border-radius:9px;box-shadow:0 8px 30px #0002;max-width:85vw}#notice.error{background:#9d4545}[hidden]{display:none!important}@media(max-width:1100px){aside{width:200px}.content{margin-left:200px;padding:25px}.section-head{flex-direction:column}.entry{column-gap:40px}.welcome h1{font-size:38px}}@media(max-width:760px){aside{position:static;width:100%;height:auto;padding:18px}.aside-note,.aside-bottom{display:none}nav{display:flex;flex-wrap:wrap;margin-top:18px}.content{margin:0;padding:18px}.stats{grid-template-columns:1fr 1fr;gap:10px}.page{padding:16px}.entry{display:block;padding:25px}.welcome{margin:40px 0}.local-note{margin-top:20px}.login-card{padding:25px}.entry>.brand small{display:none}.settings-grid{grid-template-columns:1fr}.actions{flex-wrap:wrap}}
