:root{color:#172033;background:#f4f6f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,a,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.login-screen{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(180deg,#ffffffb3,#f4f6f4f2),#f4f6f4}.login-panel{display:grid;justify-items:center;width:min(420px,100%);border:1px solid #dce2df;border-radius:8px;background:#fff;padding:24px;text-align:center;box-shadow:0 18px 48px #0f172a1a}.login-brand{justify-self:start;padding:0 0 22px}.qr-frame{display:grid;place-items:center;width:min(280px,100%);aspect-ratio:1;border:1px solid #dce2df;border-radius:8px;background:#f8faf8;padding:18px}.qr-frame img{display:block;width:100%;height:100%}.qr-loading{display:grid;place-items:center;width:100%;height:100%;border:1px dashed #b8c4be;border-radius:8px;color:#68736b;font-weight:800}.login-panel h1{margin-top:20px;font-size:24px}.login-panel p{margin-top:8px;color:#68736b}.login-actions{display:flex;gap:8px;justify-content:center;margin-top:20px;flex-wrap:wrap}.app-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid #dce2df;background:#fff;padding:20px 14px}.brand{display:flex;align-items:center;gap:11px;padding:0 6px 22px}.brand-mark,.nav-mark{display:grid;place-items:center;border-radius:8px;font-weight:800}.brand-mark{width:38px;height:38px;display:block;object-fit:cover;background:#fff;box-shadow:0 4px 12px #0f766e29}.brand strong,.brand span{display:block}.brand span{margin-top:2px;color:#647067;font-size:12px}.nav-list{display:grid;gap:4px}.nav-list button{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;width:100%;min-height:40px;border:0;border-radius:8px;background:transparent;color:#47524b;padding:6px 8px;text-align:left}.nav-mark{width:28px;height:28px;background:#edf2ef;color:#56615a;font-size:12px}.nav-list button.active,.nav-list button:hover{background:#e4f3ee;color:#0f5f59}.nav-list button.active .nav-mark,.nav-list button:hover .nav-mark{background:#0f766e;color:#fff}.workspace{min-width:0;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.topbar-actions,.drawer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-chip{display:inline-flex;align-items:center;min-height:36px;border:1px solid #cce3dc;border-radius:8px;background:#e4f3ee;color:#0f5f59;padding:7px 11px;font-size:13px;font-weight:700}.eyebrow{margin:0 0 5px;color:#68736b;font-size:12px}h1,h2,p{margin:0}h1{font-size:26px;line-height:1.2;letter-spacing:0}h2{font-size:17px;line-height:1.3;letter-spacing:0}.primary-button,.ghost-button,.row-action,.icon-button{min-height:36px;border-radius:8px;text-decoration:none}.primary-button{border:1px solid #0f766e;background:#0f766e;color:#fff;padding:8px 13px}.ghost-button{display:inline-flex;align-items:center;border:1px solid #c9d2ce;background:#fff;color:#23514a;padding:8px 13px}.overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card,.panel,.table-shell,.asset-card,.detail-drawer{border:1px solid #dce2df;border-radius:8px;background:#fff}.metric-card{display:grid;gap:7px;padding:16px}.metric-card span,.metric-card small,.panel-head p,.asset-body p,td small{color:#68736b}.metric-card strong{font-size:30px;line-height:1;color:#111827}.panel{min-height:252px;padding:18px}.wide-panel{grid-column:span 3}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.event-list,.status-list{display:grid;gap:10px}.event-row{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;border:1px solid #edf1ef;border-radius:8px;background:#fbfcfb;padding:12px;color:#172033;text-align:left}.event-row span{width:8px;height:8px;border-radius:999px;background:#0f766e}.event-row strong{color:#0f766e;font-size:13px}.status-list>div{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #edf1ef;border-radius:8px;padding:12px}.status-dot{width:9px;height:9px;border-radius:999px}.status-dot.ok{background:#16a34a}.status-dot.muted{background:#94a3b8}.management-view{display:grid;gap:12px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #dce2df;border-radius:8px;background:#fff;padding:12px}.search-box,.select-box{display:grid;gap:5px}.search-box{min-width:min(420px,100%);flex:1}.select-box{min-width:150px}.search-box span,.select-box span{color:#68736b;font-size:12px}input,select{width:100%;min-height:36px;border:1px solid #c9d2ce;border-radius:8px;background:#fff;color:#172033;padding:7px 10px}.table-shell{overflow:auto}table{width:100%;border-collapse:collapse;min-width:900px}th,td{border-bottom:1px solid #edf1ef;padding:12px 14px;text-align:left;vertical-align:middle;white-space:nowrap}th{background:#f8faf8;color:#59635d;font-size:12px;font-weight:700}td{color:#172033;font-size:14px}td small{display:block;margin-top:3px;font-size:12px}.link-button{max-width:280px;border:0;background:transparent;color:#0f5f59;overflow:hidden;padding:0;text-align:left;text-overflow:ellipsis;white-space:nowrap}.row-action{border:1px solid #c9d2ce;background:#fff;color:#23514a;padding:7px 10px}.danger-action{border-color:#f2b8b5;color:#b42318}.toolbar-button{align-self:end}.page-message,.empty-state,.muted-text{color:#68736b;font-size:13px}.page-message{margin-bottom:12px}.empty-state{padding:18px}.badge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.badge.ok{background:#e8f7ed;color:#166534}.badge.warn{background:#fff4dd;color:#8a4b0b}.badge.danger{background:#fdebea;color:#b42318}.badge.muted{background:#eef2f6;color:#475467}.asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.asset-card{overflow:hidden}.asset-preview{display:grid;place-items:center;min-height:138px;color:#fff;font-weight:800}.asset-preview.图片{background:linear-gradient(135deg,#0f766e,#67a57f)}.asset-preview.音频{background:linear-gradient(135deg,#334155,#708090)}.asset-preview.视频{background:linear-gradient(135deg,#7c2d12,#b45309)}.asset-preview.image,.asset-preview.图片{background:linear-gradient(135deg,#0f766e,#67a57f)}.asset-preview.audio,.asset-preview.音频{background:linear-gradient(135deg,#334155,#708090)}.asset-preview.video,.asset-preview.视频{background:linear-gradient(135deg,#7c2d12,#b45309)}.asset-body{display:grid;gap:10px;padding:14px}.asset-body p{overflow-wrap:anywhere;font-size:12px}.asset-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#59635d;font-size:12px}.detail-drawer{position:fixed;top:16px;right:16px;bottom:16px;z-index:10;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(420px,calc(100vw - 32px));box-shadow:0 24px 64px #0f172a2e}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1ef;padding:18px}.icon-button{width:36px;border:1px solid #c9d2ce;background:#fff;color:#172033}.detail-list{display:grid;grid-template-columns:120px minmax(0,1fr);align-content:start;gap:0;overflow:auto;margin:0;padding:8px 18px}.detail-list dt,.detail-list dd{border-bottom:1px solid #edf1ef;margin:0;padding:12px 0;font-size:13px}.detail-list dt{color:#68736b}.detail-list dd{color:#172033;overflow-wrap:anywhere}.drawer-actions{border-top:1px solid #edf1ef;padding:14px 18px}@media(max-width:1100px){.overview-grid,.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-panel{grid-column:span 2}}@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid #dce2df}.nav-list{grid-template-columns:repeat(7,minmax(112px,1fr));overflow-x:auto}.workspace{padding:16px}.topbar{align-items:flex-start;flex-direction:column}.overview-grid,.asset-grid,.wide-panel{grid-template-columns:1fr;grid-column:auto}}
