*{box-sizing:border-box}body{color:#172033;background:#f5f7fb;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}.boot,.login-page{place-items:center;min-height:100vh;display:grid}.login-page{background:radial-gradient(circle at 18% 20%,#2563eb1f,#0000 28%),linear-gradient(135deg,#f8fbff 0%,#eef4fb 52%,#f7f9fc 100%);padding:28px}.login-panel,.panel{background:#fff;border:1px solid #dfe5ef;border-radius:8px;box-shadow:0 10px 30px #202a3f0f}.login-shell{background:#fff;border:1px solid #d8e1ee;border-radius:8px;grid-template-columns:minmax(0,.92fr) minmax(380px,1fr);width:min(920px,100%);min-height:520px;display:grid;overflow:hidden;box-shadow:0 24px 70px #1c283f21}.login-intro{color:#fff;background:#132033;flex-direction:column;justify-content:space-between;padding:42px;display:flex;position:relative}.login-mark{background:#2563eb;border-radius:8px;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 16px 34px #2563eb57}.login-kicker{color:#93c5fd;letter-spacing:0;margin-bottom:12px;font-size:13px;font-weight:700;display:block}.login-intro h1{letter-spacing:0;margin:0;font-size:34px;line-height:1.2}.login-intro p{color:#cbd5e1;margin:14px 0 0;line-height:1.7}.login-status{color:#e5eefb;background:#ffffff12;border:1px solid #ffffff24;border-radius:6px;align-items:center;gap:8px;width:fit-content;padding:9px 12px;font-size:13px;display:inline-flex}.login-panel{width:100%;min-width:0;box-shadow:none;border:0;border-radius:0;flex-direction:column;justify-content:center;padding:48px 46px;display:flex}.login-heading{margin-bottom:28px}.login-heading h2,.page-head h1{margin:0;font-size:24px}.login-heading h2{font-size:26px}.login-heading p{color:#64748b;margin:8px 0 0}.field{color:#334155;gap:8px;margin-bottom:18px;font-weight:600}.field-control{color:#64748b;background:#fff;border:1px solid #cbd5e1;border-radius:6px;grid-template-columns:22px 1fr;align-items:center;gap:10px;height:48px;padding:0 14px;transition:border-color .18s,box-shadow .18s,color .18s;display:grid}.field-control:focus-within{color:#2563eb;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.field-control input{height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.field-control input:focus{box-shadow:none}.login-submit{justify-content:center;width:100%;min-height:48px;margin-top:4px;font-weight:700}.app{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{color:#e5e7eb;background:#111827;flex-direction:column;gap:24px;padding:22px 16px;display:flex}.brand{border-bottom:1px solid #ffffff1f;align-items:center;gap:12px;padding:6px 8px 18px;display:flex}.brand strong,.brand span{display:block}.brand span{color:#9ca3af;margin-top:3px;font-size:12px}nav{gap:8px;display:grid}nav button,.logout{justify-content:flex-start;width:100%}nav button{color:#cbd5e1;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:11px 12px;display:flex}nav button.active,nav button:hover{color:#fff;background:#1f2937}.logout{color:#cbd5e1;margin-top:auto}.content{padding:28px;overflow-x:hidden}.page-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.metric{background:#fff;border:1px solid #dfe5ef;border-radius:8px;min-height:122px;padding:18px}.metric div{color:#2563eb;background:#e8f1ff;border-radius:6px;place-items:center;width:36px;height:36px;margin-bottom:14px;display:grid}.metric span{color:#64748b;font-size:13px}.metric strong{margin-top:8px;font-size:28px;display:block}.grid{gap:18px;margin-bottom:18px;display:grid}.grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.panel{padding:20px}.panel h2{margin:0 0 16px;font-size:17px}.bars{gap:12px;display:grid}.bar-row{grid-template-columns:52px 1fr 120px;align-items:center;gap:12px;font-size:13px;display:grid}.bar-row div{background:#edf2f7;border-radius:999px;height:10px;overflow:hidden}.bar-row i{background:#2563eb;border-radius:999px;height:100%;display:block}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid #edf2f7;padding:10px 8px}th{color:#64748b;font-weight:600}.form{align-content:start;gap:14px;display:grid}.form.narrow{max-width:520px}label{color:#475569;gap:7px;font-size:14px;display:grid}input,textarea,select{color:#172033;background:#fff;border:1px solid #cfd8e6;border-radius:6px;outline:none;width:100%;padding:10px 11px}textarea{resize:vertical;min-height:82px}input:focus,textarea:focus,select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.inline{grid-template-columns:1fr 1fr;gap:12px;display:grid}.primary,.ghost,.danger{border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 13px;display:inline-flex}.primary{color:#fff;background:#2563eb}.primary:disabled{opacity:.65;cursor:wait}.ghost{color:#26364f;background:#eef2f7}.danger{color:#b91c1c;background:#fee2e2;width:38px;padding:0}.list{gap:10px;display:grid}.ad-item,.slot-item{border:1px solid #edf2f7;border-radius:8px;align-items:center;gap:12px;padding:12px;display:grid}.ad-item{grid-template-columns:72px 1fr auto auto}.slot-item{grid-template-columns:1fr auto auto}.ad-item img,.thumb{object-fit:cover;background:#f8fafc;border:1px solid #dfe5ef;border-radius:6px;width:72px;height:50px}.thumb{color:#94a3b8;place-items:center;font-size:12px;display:grid}.ad-item strong,.slot-item strong{margin-bottom:4px;display:block}.ad-item span,.ad-item p,.slot-item p{color:#64748b;word-break:break-all;margin:0;font-size:13px}code{color:#2563eb;margin-bottom:4px;display:inline-block}.error,.success,.empty{border-radius:6px;margin-bottom:14px;padding:11px 12px}.error{color:#b91c1c;background:#fef2f2}.success{color:#047857;background:#ecfdf5}.empty{color:#64748b;background:#f8fafc}@media (width<=980px){.login-shell{grid-template-columns:1fr}.login-intro{gap:28px;padding:32px}.app{grid-template-columns:1fr}.sidebar{position:static}.metrics,.grid.two{grid-template-columns:1fr}}@media (width<=640px){.login-page{place-items:stretch stretch;padding:14px}.login-shell{min-height:calc(100vh - 28px)}.login-panel{padding:32px 22px}.login-intro{padding:28px 22px}.login-intro h1{font-size:28px}.content{padding:18px}.page-head,.inline{grid-template-columns:1fr;align-items:stretch;display:grid}.ad-item{grid-template-columns:64px 1fr}.ad-item button{grid-column:span 1}.bar-row{grid-template-columns:48px 1fr}.bar-row strong{grid-column:2}}
