:root{--ink:#17352f;--muted:#74837d;--teal:#12775e;--light:#e9f3ed;--line:#e3e9e4;--paper:#f5f7f3;--white:#fff;--amber:#9a641a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}.shell{display:flex;min-height:100vh}.sidebar{width:222px;flex-shrink:0;background:#fcfdfa;border-right:1px solid var(--line);padding:34px 24px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);font-size:22px;text-decoration:none;font-weight:650}.brand-mark{background:var(--teal);color:white;width:43px;height:43px;display:grid;place-items:center;border-radius:13px;font-size:24px}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:3px;color:var(--muted);margin-top:4px}nav{display:grid;gap:10px;margin-top:58px}.nav{border:0;background:none;text-align:left;padding:14px 15px;color:var(--muted);border-radius:9px}.nav.active{color:var(--teal);background:var(--light);font-weight:650}.nav:hover{background:#eef3ee}.sidebar-note{margin-top:auto;font-size:12px;line-height:2;color:var(--muted);padding:24px 12px}main{width:min(1320px,100%);padding:42px 46px 26px;min-width:0}header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.eyebrow{font-size:12px;color:var(--teal);letter-spacing:2px;margin:0 0 12px}h1{font-size:30px;line-height:1.4;letter-spacing:-.6px;margin:0 0 8px;font-weight:650}h2{font-size:17px;margin:0 0 12px;font-weight:600}.muted{color:var(--muted);font-size:12px;line-height:1.8;margin:0}.badge{background:var(--light);color:var(--teal);border:1px solid #d8e5dc;border-radius:50px;padding:8px 13px;font-size:12px;white-space:nowrap}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:16px;background:white;border:1px solid var(--line);padding:20px 24px;border-radius:12px;margin-bottom:23px}.filters label{font-size:11px;color:var(--muted);display:grid;gap:8px}input,select{border:1px solid #dce4df;border-radius:7px;background:#fff;color:var(--ink);padding:10px 12px;min-height:40px}select{min-width:135px}#shop{min-width:200px;max-width:300px}.primary{border:0;border-radius:7px;padding:11px 22px;background:var(--teal);color:white;min-height:40px}.notice{background:#edf4ee;border:1px solid #dce8de;border-radius:9px;padding:14px 18px;line-height:1.8;color:#4d6556;margin-bottom:24px;font-size:12px}.notice.error{background:#fff1e9;border-color:#ecd4c1;color:#884c29}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.card{padding:23px 24px;background:white;border:1px solid var(--line);border-radius:12px;min-height:133px}.card .label{color:var(--muted);font-size:12px}.card .value{font-size:29px;font-weight:600;letter-spacing:-.5px;line-height:1.4;margin:12px 0 6px;white-space:nowrap}.card .hint{color:var(--muted);font-size:11px}.card:first-child{background:#e9f2eb;border-color:#d8e5db}.panel{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:25px;margin-bottom:24px}.panel p{line-height:1.9}.section-title{display:flex;justify-content:space-between}.chart{display:flex;align-items:end;gap:7px;height:208px;padding-top:24px;border-bottom:1px solid var(--line);overflow:auto}.chart-column{flex:1;min-width:18px;max-width:100px;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%;gap:8px}.bar{width:100%;min-height:2px;background:#53a789;border-radius:4px 4px 0 0}.chart-column small{font-size:9px;color:var(--muted);padding-bottom:9px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:12px}th{color:var(--muted);font-weight:500;background:#fafcf9}th,td{padding:17px 13px;border-bottom:1px solid #edf1ed}tbody tr:last-child td{border-bottom:0}.empty{text-align:center;color:var(--muted);padding:40px}.quality{margin-top:25px;padding:16px;background:#f5f7f3;border-radius:7px;font-size:12px;line-height:2}footer{color:#8c9690;font-size:11px;line-height:1.9;padding:2px 4px 20px}[hidden]{display:none!important}.login-box{width:min(420px,calc(100% - 32px));margin:100px auto;padding:35px;border-radius:14px;background:white;border:1px solid var(--line)}.login-box form{display:grid;gap:17px}.login-box label{display:grid;gap:7px}.admin-main{margin:0 auto;max-width:1200px}.danger{color:#a34f39;background:#fff5f1;border:1px solid #edd7ce;padding:7px 12px;border-radius:6px}.admin-row{border-top:1px solid var(--line);padding:20px 0}.admin-row code{font-size:11px;word-break:break-all}.admin-actions{display:flex;gap:10px;align-items:center;margin:12px 0}.note{font-size:12px;color:var(--muted)}@media(min-width:1450px){.cards{grid-template-columns:repeat(3,1fr)}main{padding-left:56px}}@media(max-width:950px){.sidebar{width:175px;padding:25px 15px}main{padding:28px 24px}.cards{grid-template-columns:repeat(2,1fr)}.brand{font-size:19px}header{align-items:start}.filters{gap:12px}}@media(max-width:650px){.shell{display:block}.sidebar{position:static;width:auto;height:auto;padding:20px}.brand small,.sidebar-note{display:none}nav{display:flex;overflow:auto;margin-top:20px;gap:3px}.nav{font-size:12px;white-space:nowrap;padding:10px}main{padding:25px 16px}.cards{gap:10px}.card{padding:16px 13px}.card .value{font-size:23px}h1{font-size:26px}.panel{padding:20px 14px}.badge{font-size:10px}#shop{min-width:160px}header{gap:10px}.filters{padding:16px}.chart{gap:4px}.chart-column{min-width:17px}}
