:root{font-family:"Microsoft YaHei",Segoe UI,sans-serif;color:#27342e;background:#f5f8f6}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}
.shell{display:flex;min-height:100vh}.sidebar{width:214px;flex:none;background:#fff;border-right:1px solid #e4ece7;padding:31px 17px;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:11px;font-size:17px;font-weight:700;line-height:1.1;letter-spacing:.04em;color:#276c53}.brand small{font-weight:500;font-size:12px;letter-spacing:.06em}.brand-dot{width:31px;height:31px;border-radius:10px;background:#53b894;box-shadow:0 6px 16px #53b89445}
.sidebar nav{display:grid;gap:6px;margin-top:48px}.sidebar nav a,.logout button{display:block;width:100%;border:0;border-radius:9px;padding:11px 13px;text-align:left;background:transparent;color:#64766b}
.sidebar nav a:hover,.sidebar nav .current{background:#eaf5ef;color:#248561}.logout{margin-top:auto}.logout button:hover{background:#f7eeee;color:#ba5555}
.main{width:100%;min-width:0;max-width:1500px;margin:auto;padding:38px 42px 76px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}.eyebrow{font-size:11px;letter-spacing:.16em;color:#53b894;font-weight:700;margin:0 0 7px}.page-header h1{margin:0;font-size:27px;font-weight:650}.admin-name{font-size:13px;color:#708278}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:28px}.metric,.panel{background:#fff;border:1px solid #e6eee9;border-radius:13px;box-shadow:0 8px 25px #254e3510}.metric{padding:23px}.metric span,.metric small{display:block;color:#7b8a81;font-size:12px}.metric strong{display:block;font-size:28px;margin:8px 0 5px;color:#2b7758}.panel{padding:24px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.panel h2{font-size:16px;margin:0}.panel-heading a{font-size:12px;color:#36946f}
.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}th{text-align:left;color:#8c9b91;font-weight:500;border-bottom:1px solid #edf1ee;padding:12px 13px}td{border-bottom:1px solid #f0f3f1;padding:14px 13px}tr:last-child td{border-bottom:0}.mono{font-family:Consolas,monospace;font-size:11px}.empty{text-align:center;color:#9aa69e;padding:45px}.subline{display:block;color:#97a59a;font-size:11px;margin-top:4px}.badge{display:inline-block;border-radius:99px;background:#f1f3f1;color:#7e8b81;padding:5px 9px;font-size:11px}.badge.paid{background:#e5f6ee;color:#268962}
.notice,.alert{padding:12px 15px;border-radius:8px;margin-bottom:22px;font-size:13px}.notice{background:#e6f7ee;color:#237d57}.alert{background:#fff0ee;color:#ad5149}.intro{font-size:13px;line-height:1.7;color:#829087;margin:0 0 24px}.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}.plan-card{display:grid;gap:15px;align-content:start}.plan-card .panel-heading{margin:0 0 4px}
label{display:grid;gap:7px;font-size:12px;color:#6d7d72}input,select,textarea{border:1px solid #dfe8e2;border-radius:8px;padding:9px 10px;outline:none;background:#fff;color:#283a2f;min-width:0}input:focus,select:focus,textarea:focus{border-color:#53b894;box-shadow:0 0 0 3px #53b89420}input:disabled{background:#f7f9f7;color:#9ba79f}.check-row{display:flex;align-items:center;gap:8px}.check-row input{accent-color:#53b894}
.payment-panel{width:100%}.payment-form{display:grid;gap:17px;max-width:680px}.payment-form textarea{width:100%;resize:vertical;font-family:Consolas,monospace;font-size:12px;line-height:1.5}.payment-form .primary{justify-self:start}.payment-hint{margin:-3px 0 0;font-size:12px;line-height:1.7;color:#829087}
.mail-settings-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 26px}.filter-bar input{flex:1 1 320px;max-width:390px}.filter-bar select{min-width:120px}.filter-reset{font-size:12px;color:#548a6b;padding:8px}.period-switch{display:flex;align-items:center;gap:7px;flex-wrap:nowrap;max-width:100%;overflow-x:auto;margin:0 0 30px;padding-bottom:3px;scrollbar-width:thin}.period-switch a{flex:none;white-space:nowrap;border:1px solid #dfeae2;border-radius:7px;background:#fff;color:#64766b;padding:6px 11px;font-size:12px;line-height:18px}.period-switch a:hover{border-color:#a9d7bf;color:#2e8964}.period-switch a.active{background:#53b894;border-color:#53b894;color:#fff}
.primary{border:0;border-radius:8px;background:#53b894;color:#fff;padding:10px 15px;font-weight:600}.primary:hover{background:#3ca67d}.wide{width:100%}.inline-form{display:flex;gap:7px;align-items:center}.inline-form select{width:105px;padding:7px}.inline-form button,.danger{border:1px solid #dce8df;border-radius:7px;background:#fff;color:#4b7d61;padding:7px 10px}.danger{color:#b25b5b;border-color:#f1dcdc}.pagination{margin:24px 0 0;font-size:12px;color:#7d8a81}
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 15% 20%,#e4f4eb,transparent 35%),#f5f8f6}.login-card{width:min(390px,calc(100vw - 30px));background:#fff;border:1px solid #e1ece4;border-radius:17px;box-shadow:0 18px 50px #2c5c3c16;padding:34px;display:grid;gap:17px}.login-card h1{font-size:23px;margin:20px 0 0}.login-card p{margin:-10px 0 7px;color:#8a998e;font-size:13px}.login-card label{font-size:13px}.login-card input{padding:11px 12px}
@media(max-width:900px){.metrics{grid-template-columns:repeat(2,1fr)}.main{padding:30px 26px 60px}}@media(max-width:620px){.shell{display:block}.sidebar{width:100%;padding:15px}.sidebar nav{display:flex;overflow:auto;margin-top:15px}.sidebar nav a{white-space:nowrap}.logout{display:none}.main{padding:24px 16px 52px}.page-header{margin-bottom:27px}.period-switch{margin-bottom:24px}.filter-bar{margin-bottom:22px}.intro{margin-bottom:20px}.metrics{gap:10px;margin-bottom:20px}.metric{padding:17px}.metric strong{font-size:21px}.panel{padding:18px}}
