:root{--brand-primary:#007153;--brand-primary-hover:#006549;--brand-primary-soft:#e5f5ed;--brand-primary-line:#b1cfc1;--brand-warm:#b18d6d;--warm-bg:#f9f0e6;--warm-deep:#7c593a;--surface:#fff;--surface-muted:#f6f6f6;--text-primary:#3b3b3b;--text-secondary:#6b6b6b;--border:#dadada;--border-strong:#b8b8b8;--error:#c0392b;--radius:12px}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{color:var(--text-primary);background:var(--surface-muted);-webkit-font-smoothing:antialiased;font-family:-apple-system,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:15px;line-height:1.5}a{color:var(--brand-primary);text-decoration:none}button{font:inherit;cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary);border-radius:8px;min-height:40px;padding:9px 16px}button.primary{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}button.primary:hover{background:var(--brand-primary-hover)}button:disabled{opacity:.65;cursor:not-allowed}input{font:inherit;border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;width:100%;min-height:42px;padding:9px 11px}input:focus{outline:2px solid var(--brand-primary-line);border-color:var(--brand-primary)}.login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-box{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:12px;width:360px;max-width:100%;padding:34px 30px;display:flex;box-shadow:0 8px 40px #00000014}.login-logo{align-self:center;width:150px;height:auto}.login-box h1{text-align:center;margin:6px 0 0;font-size:20px}.login-box .sub{text-align:center;color:var(--text-secondary);letter-spacing:.5px;margin:0 0 8px;font-size:12px}.login-box label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:13px;display:flex}.login-box .err{color:var(--error);min-height:18px;margin:0;font-size:13px}.home{max-width:880px;margin:0 auto;padding:40px 20px}.home-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.home-top img{height:34px}.home-user{color:var(--text-secondary);font-size:13px}.home h1{margin:0 0 6px;font-size:22px}.home .lead{color:var(--text-secondary);margin:0 0 24px}.product-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-left:4px solid var(--brand-primary);padding:22px}.product-card.soon{border-left-color:var(--brand-warm);opacity:.92}.product-card h2{margin:0 0 6px;font-size:18px}.product-card p{color:var(--text-secondary);margin:0 0 12px;font-size:14px}.tag{border-radius:12px;padding:2px 9px;font-size:12px;display:inline-block}.tag.live{background:var(--brand-primary-soft);color:var(--brand-primary)}.tag.soon{background:var(--warm-bg);color:var(--warm-deep)}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;padding:24px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.btn-link{border:1px solid var(--brand-primary);color:var(--brand-primary);white-space:nowrap;border-radius:8px;padding:8px 14px;font-size:14px;display:inline-block}.btn-link:hover{background:var(--brand-primary-soft)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:18px 0 8px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-left:4px solid var(--brand-primary);padding:18px 20px}.stat-value{color:var(--brand-primary);font-size:30px;font-weight:700;line-height:1.1}.stat-label{color:var(--text-secondary);margin-top:4px;font-size:14px}.stat-soon{color:var(--warm-deep);background:var(--warm-bg);border-radius:10px;margin-top:6px;padding:1px 8px;font-size:11px;display:inline-block}.sec-title{margin:26px 0 10px;font-size:16px}.table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 14px}.data-table th{color:var(--text-secondary);background:var(--surface-muted);font-size:12px;font-weight:600}.data-table tr:last-child td{border-bottom:none}.muted{color:var(--text-secondary)}
