:root{--ink:#10241f;--brand:#07372f;--green:#175e4f;--mint:#d6ff63;--cream:#f3f1e8;--paper:#fffdf7;--line:#d9ddd5;--muted:#6d7874;--danger:#ba403e;--shadow:0 18px 48px rgba(7,39,33,.12)}
*{box-sizing:border-box}body{margin:0;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--ink);background:#edf1ee}button,input,select,textarea{font:inherit}.hidden{display:none!important}.eyebrow{margin:0;color:#4d776d;font-size:11px;font-weight:800;letter-spacing:.16em}.primary,.ghost,.danger{border:0;border-radius:11px;padding:11px 16px;font-weight:800;cursor:pointer}.primary{background:var(--brand);color:white}.primary:hover{background:#0e4c40}.ghost{background:#eef2ef;color:var(--ink)}.danger{background:#fff0ef;color:var(--danger)}
.login-screen{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;padding:7vw;background:radial-gradient(circle at 20% 15%,#1c6655 0,#07372f 36%,#041e19 100%);color:white}.login-brand{align-self:start;display:flex;gap:13px;align-items:center}.login-brand>span,.side-brand>span{width:46px;height:46px;border-radius:14px;background:var(--mint);color:var(--brand);display:grid;place-items:center;font-size:20px;font-weight:900}.login-brand b,.login-brand small,.side-brand b,.side-brand small{display:block}.login-brand b{font-size:20px}.login-brand small{margin-top:3px;color:#8eb9ae}.login-card{width:min(100%,430px);justify-self:end;background:var(--paper);color:var(--ink);padding:38px;border-radius:25px;box-shadow:var(--shadow)}.login-card h1{font-size:34px;margin:12px 0 5px}.login-tip{color:var(--muted);font-size:13px;margin:0 0 27px}.login-card label,.form-grid label{display:grid;gap:7px;font-size:12px;font-weight:700;margin-bottom:14px}.login-card input,.form-grid input,.form-grid select,.form-grid textarea,.search-row input,.search-row select{width:100%;border:1px solid var(--line);background:white;border-radius:11px;padding:11px 12px;outline:none;color:var(--ink)}.login-card input:focus,.form-grid input:focus,.form-grid textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,94,79,.1)}.login-card .primary{width:100%;margin-top:7px}.form-message{min-height:18px;color:var(--danger);font-size:11px;margin:10px 0 0;text-align:center}
.admin-shell{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:24px 16px;background:#082f28;color:white;display:flex;flex-direction:column}.side-brand{display:flex;align-items:center;gap:10px;padding:0 8px 24px;border-bottom:1px solid rgba(255,255,255,.09)}.side-brand>span{width:38px;height:38px;border-radius:12px}.side-brand b{font-size:14px}.side-brand small{color:#7fa49b;font-size:9px;margin-top:3px}.sidebar nav{display:grid;gap:5px;padding:19px 0;overflow:auto}.sidebar nav button{border:0;background:transparent;color:#91aea7;min-height:43px;border-radius:11px;text-align:left;padding:0 12px;display:flex;align-items:center;gap:10px;cursor:pointer;font-size:12px}.sidebar nav button i{width:24px;height:24px;border-radius:8px;background:rgba(255,255,255,.06);display:grid;place-items:center;font-style:normal;font-size:10px}.sidebar nav button:hover,.sidebar nav button.active{background:rgba(214,255,99,.1);color:var(--mint)}.side-user{margin-top:auto;padding:14px 8px 0;border-top:1px solid rgba(255,255,255,.09);display:grid;grid-template-columns:34px 1fr 28px;gap:9px;align-items:center}.avatar{width:34px;height:34px;border-radius:10px;background:var(--mint);color:var(--brand);display:grid;place-items:center;font-weight:900}.side-user b,.side-user small{display:block}.side-user b{font-size:11px}.side-user small{color:#7fa49b;font-size:9px;margin-top:2px}.side-user button{border:0;background:transparent;color:#8aaba2;cursor:pointer}.workspace{min-width:0}.topbar{height:91px;padding:0 28px;display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.87);border-bottom:1px solid #dfe4e0;backdrop-filter:blur(10px);position:sticky;top:0;z-index:8}.topbar h1{font-size:24px;margin:5px 0 0}.menu-btn{display:none;border:0;background:#edf2ef;border-radius:9px;padding:8px}.service-state{margin-left:auto;font-size:10px;color:var(--muted);background:#edf5f1;padding:7px 10px;border-radius:999px}.service-state i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#27a16e;margin-right:6px}.view{padding:25px 28px 50px}.loading{padding:50px;text-align:center;color:var(--muted)}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.stat-card{background:white;border:1px solid #dfe4e0;border-radius:17px;padding:18px;min-height:126px;display:flex;flex-direction:column;justify-content:space-between}.stat-card span{font-size:11px;color:var(--muted)}.stat-card b{font-size:29px}.stat-card small{font-size:9px;color:#5f7e76}.panel-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:14px;margin-top:14px}.panel{background:white;border:1px solid #dfe4e0;border-radius:17px;padding:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.panel-head h2{font-size:15px;margin:0}.panel-head p{font-size:10px;color:var(--muted);margin:3px 0 0}.metric-bars{display:grid;gap:13px}.metric-row{display:grid;grid-template-columns:75px 1fr 48px;gap:10px;align-items:center;font-size:10px}.bar{height:9px;background:#edf1ee;border-radius:99px;overflow:hidden}.bar i{height:100%;display:block;background:linear-gradient(90deg,var(--green),#4d9b86);border-radius:99px}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-actions button{border:1px solid var(--line);background:#f7f8f5;border-radius:13px;padding:15px;text-align:left;cursor:pointer}.quick-actions b{display:block;font-size:12px}.quick-actions span{font-size:9px;color:var(--muted)}
.toolbar{display:flex;gap:9px;align-items:center;margin-bottom:14px}.toolbar .primary{margin-left:auto}.search-row{display:flex;gap:8px;flex:1}.search-row input{max-width:310px}.search-row select{width:150px}.data-panel{background:white;border:1px solid #dfe4e0;border-radius:17px;overflow:hidden}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{text-align:left;padding:12px 14px;border-bottom:1px solid #edf0ed;font-size:10px;vertical-align:top}.data-table th{background:#f6f8f5;color:#6f7b77;font-size:9px;letter-spacing:.05em}.data-table td b{font-size:11px}.data-table td small{display:block;color:var(--muted);margin-top:4px;max-width:360px;line-height:1.45}.row-actions{display:flex;gap:6px}.row-actions button{border:0;border-radius:8px;padding:6px 8px;font-size:9px;cursor:pointer;background:#edf3f0;color:var(--brand)}.pill{display:inline-block;padding:5px 8px;border-radius:99px;background:#e8f4ef;color:#17634f;font-size:9px}.pill.warn{background:#fff5df;color:#9a6a25}.pill.gray{background:#eef0ef;color:#6f7774}.pill.red{background:#fff0ef;color:#ae3e3c}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.content-card{background:white;border:1px solid #dfe4e0;border-radius:16px;padding:15px;min-height:176px}.content-logo{width:44px;height:44px;border-radius:13px;background:var(--brand);color:var(--mint);display:grid;place-items:center;font-weight:900}.content-card h3{font-size:14px;margin:13px 0 5px}.content-card p{font-size:10px;line-height:1.55;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.content-meta{display:flex;justify-content:space-between;align-items:center;margin-top:13px}.product-sublist{border-top:1px solid var(--line);margin-top:13px;padding-top:9px;display:grid;gap:6px}.product-sublist div{font-size:9px;display:flex;justify-content:space-between;gap:8px}.product-sublist span{color:var(--muted)}
.verify-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.scanner{min-height:390px;background:radial-gradient(circle,#2d6b5d,#082f28 70%);border-radius:17px;position:relative;display:grid;place-items:center;overflow:hidden;color:white}.scan-box{width:230px;height:230px;border:2px solid var(--mint);position:relative}.scan-box:after{content:"";position:absolute;left:12px;right:12px;top:50%;height:2px;background:var(--mint);box-shadow:0 0 10px var(--mint)}.scanner video{position:absolute;width:100%;height:100%;object-fit:cover}.scanner-copy{position:absolute;bottom:28px;font-size:10px;color:#bdd0cb}.verify-form{display:grid;gap:11px}.verify-form input{border:1px solid var(--line);border-radius:11px;padding:12px}.verify-result{padding:14px;border-radius:13px;background:#f1f5f2;font-size:11px;line-height:1.65}.verify-result.success{background:#e3f5ed;color:#155f49}.verify-result.error{background:#fff0ef;color:#9d3432}
.modal{position:fixed;inset:0;background:rgba(7,28,24,.5);display:grid;place-items:center;z-index:30;padding:20px}.modal-card{width:min(680px,100%);max-height:90vh;overflow:auto;background:var(--paper);border-radius:20px;box-shadow:var(--shadow)}.modal-card header{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-card header h2{font-size:17px;margin:0}.modal-card header button{border:0;background:#e9ece8;width:30px;height:30px;border-radius:50%;cursor:pointer}.modal-card form{padding:19px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.form-grid label.full{grid-column:1/-1}.form-grid textarea{min-height:110px;resize:vertical}.checkbox{display:flex!important;grid-template-columns:18px 1fr;align-items:center}.checkbox input{width:auto}.modal-card footer{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.toast{position:fixed;right:24px;bottom:24px;background:#082f28;color:white;padding:12px 16px;border-radius:12px;font-size:11px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:50}.toast.show{opacity:1;transform:none}.empty{padding:44px;text-align:center;color:var(--muted);font-size:11px}
@media(max-width:1050px){.stat-grid{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}.panel-grid,.verify-layout{grid-template-columns:1fr}}
@media(max-width:760px){.admin-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:20;width:240px;transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.menu-btn{display:block}.topbar{padding:0 16px}.view{padding:18px 14px 40px}.stat-grid,.cards{grid-template-columns:1fr}.login-screen{grid-template-columns:1fr;padding:22px}.login-brand{margin-bottom:35px}.login-card{justify-self:stretch;padding:26px}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.service-state{display:none}}
