:root{--color-primary:#c6531b;--color-on-primary:#fff;--color-primary-soft:color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));--color-primary-border:color-mix(in srgb, var(--color-primary) 30%, var(--color-surface));--color-primary-hover:color-mix(in srgb, var(--color-primary) 88%, #000);--color-surface:#fff;--color-surface-low:#f8fafc;--color-text:#0f172a;--color-text-secondary:#475569;--color-border:#e2e8f0;--color-error:#b3261e;--color-error-soft:color-mix(in srgb, var(--color-error) 8%, var(--color-surface));--color-error-border:color-mix(in srgb, var(--color-error) 30%, var(--color-surface));color:var(--color-text);--sidebar-bg:#0f172a;--sidebar-border:#1e293b;--sidebar-text:#cbd5e1;--sidebar-muted:#64748b;--sidebar-active:#6366f126;--sidebar-accent:#6366f1;--page-background:#f1f5f9;background:var(--page-background);font-family:Geist,Inter,system-ui,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box}body{background:var(--page-background);margin:0}a{color:var(--color-primary);text-underline-offset:3px}h1{margin:0 0 16px;font-size:1.5rem}p{overflow-wrap:anywhere;margin:0 0 20px}button,input{font:inherit;border-radius:6px;min-height:44px}button{border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;padding:8px 16px}button:disabled{opacity:.65;cursor:wait}button.secondary{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border)}:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}input{border:1px solid var(--color-border);width:100%;color:inherit;background:var(--color-surface);padding:8px 12px}label{gap:8px;display:grid}.login{background:var(--page-background);place-items:center;min-height:100dvh;padding:24px;display:grid}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:32px;box-shadow:0 4px 16px #0f172a14}.login-card{gap:20px;width:min(100%,420px);padding:48px;display:grid}.login-card h1,.login-card p{margin:0}.eyebrow{color:var(--color-primary);font-weight:700}.login-brand{text-align:center;justify-items:center;gap:4px;margin-bottom:8px;display:grid}.login-brand h1{margin-top:8px;font-size:28px;font-weight:900}.login-card>label:not(.remember-account){font-size:18px;font-weight:800}.login-card input{font-size:15px;font-weight:400}.login-logo{color:#fff;background:linear-gradient(135deg,#0f766e,#2563eb);border-radius:14px;place-items:center;width:56px;height:56px;font-size:28px;font-weight:900;display:grid}.password-input{display:block;position:relative}.password-input input{padding-right:64px}.password-toggle{min-height:36px;color:var(--color-text-secondary);background:0 0;border:0;padding:0 10px;font-size:12px;position:absolute;inset:4px 4px 4px auto}.password-toggle svg{stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.remember-account{color:var(--color-text-secondary);align-items:center;gap:8px;display:flex}.remember-account input,.login-card .remember-account input{width:16px;height:16px;min-height:16px}.muted{color:var(--color-text-secondary)}.error{color:var(--color-error);background:var(--color-error-soft);border:1px solid var(--color-error-border);border-radius:6px;padding:12px}.shell{background:var(--page-background);grid-template-rows:56px minmax(0,1fr);grid-template-columns:240px minmax(0,1fr);min-height:100dvh;display:grid}.app-header{background:var(--sidebar-bg);border-bottom:1px solid var(--sidebar-border);color:#fff;z-index:2;grid-column:1/-1;justify-content:space-between;align-items:center;min-height:56px;padding:0 20px;display:flex}.header-brand{color:#fff;align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{background:var(--sidebar-accent);border-radius:8px;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.brand-name{font-weight:700}.header-brand small,.header-user small{color:var(--sidebar-muted)}.header-user{align-items:center;gap:12px;display:flex}.header-user>span{text-align:right;display:grid}.header-logout{min-height:30px;color:var(--sidebar-muted);border-color:var(--sidebar-border);background:0 0;padding:4px 12px;font-size:12px}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);grid-area:2/1;min-width:0;padding:8px;overflow-y:auto}nav section{margin:16px 0 0}.nav-group{width:100%;min-height:28px;color:var(--sidebar-muted);letter-spacing:.06em;text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:600;display:flex}.nav-group:hover{background:#ffffff0f}.nav-chevron{transition:transform .15s;transform:rotate(0)}.nav-group[aria-expanded=false] .nav-chevron{transform:rotate(-90deg)}nav a{min-height:34px;color:var(--sidebar-text);overflow-wrap:anywhere;border-left:2px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin:1px 8px;padding:0 12px;text-decoration:none;display:flex}nav a:hover{background:#ffffff0f}nav small{white-space:nowrap}.workspace{background:var(--page-background);grid-area:2/2;min-width:0}.workspace main{padding:32px}@media (width<=760px){.shell{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:1fr}.app-header{grid-row:1;padding:12px 16px}.header-brand small{display:none}.sidebar{border-right:0;border-bottom:1px solid var(--color-border);grid-area:2/1}nav{flex-wrap:wrap;gap:16px;display:flex}nav section{margin-bottom:0}.workspace{grid-area:3/1}.workspace main{padding:20px}.card{padding:24px}}.resource{min-width:0;margin:0 0 24px}.resource .resource{margin-top:20px;padding:20px}.resource h2{margin:0;font-size:1.125rem}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.actions a{padding:8px 0}.page-heading{margin-bottom:24px}.filter-bar{flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:20px;display:flex}.filter-bar label{flex:180px;max-width:360px}select,textarea{font:inherit;color:inherit;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;width:100%;min-height:44px;padding:8px 12px}textarea{resize:vertical}input[type=checkbox]{width:24px;height:24px;min-height:24px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-border);overflow-wrap:anywhere;min-width:90px;max-width:340px;padding:12px}th{background:var(--color-surface-low);font-weight:600}td .actions{min-width:120px}.preview{object-fit:contain;background:var(--color-surface-low);width:96px;height:96px}.video-preview{background:var(--color-text);object-fit:contain;width:240px;max-width:100%;height:160px}.pagination{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;margin-top:20px;display:flex}.metrics,.details{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:20px;margin:0 0 20px;display:grid}dt{color:var(--color-text-secondary);margin-bottom:8px;font-size:.875rem}dd{overflow-wrap:anywhere;margin:0}.metrics dd{font-size:1.5rem;font-weight:600}.status-pill{border:1px solid var(--color-primary-border);background:var(--color-primary-soft);border-radius:4px;padding:2px 8px;display:inline-block}.notice{background:var(--color-primary-soft);border:1px solid var(--color-primary-border);padding:12px}.modal{width:min(640px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--color-text);overflow:auto}.modal::backdrop{background:#20212473}.modal form{gap:20px;display:grid}.modal h2{margin-bottom:16px}.one-time-result output{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--color-primary-border);margin-bottom:12px;padding:12px;display:block}.record-inspector{border-top:1px solid var(--color-border);margin-top:24px;padding-top:24px}nav a.active{color:#fff;background:var(--sidebar-active);border-left-color:var(--sidebar-accent);font-weight:600}.structured-content{white-space:pre-wrap;overflow-wrap:anywhere;max-width:32rem;max-height:20rem;overflow:auto}button:not(.secondary):not(:disabled):hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}button.secondary:not(:disabled):hover{background:var(--color-primary-soft);border-color:var(--color-primary-border)}input[type=checkbox]{accent-color:var(--color-primary)}nav a.active{color:#fff}
