:root{color-scheme:light;--cream: #f1f0de;--ink: #2e3827;--sage: #8ea078;--earth: #c16a39;--glass: #012326;--muted: rgba(46, 56, 39, .64);--border: rgba(46, 56, 39, .14);--panel: rgba(241, 240, 222, .92);font-family:Segoe UI,system-ui,sans-serif;background:radial-gradient(circle at top right,rgba(142,160,120,.18),transparent 40%),linear-gradient(180deg,#f7f6ea 0%,var(--cream) 100%);color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{background:#012326f0;color:var(--cream);padding:24px 18px;display:flex;flex-direction:column;gap:18px}.brand{font-size:13px;letter-spacing:.18em;text-transform:uppercase;opacity:.8}.brand strong{display:block;font-size:24px;letter-spacing:.04em;text-transform:none;margin-top:6px}.lab-switcher{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px}.lab-tab{padding:10px 12px;border-radius:12px;border:1px solid rgba(241,240,222,.14);font-size:13px;text-align:center}.lab-tab.active,.lab-tab:hover{background:#f1f0de1f;border-color:#f1f0de38}.nav-link{padding:12px 14px;border-radius:14px;border:1px solid transparent}.nav-link.active,.nav-link:hover{background:#f1f0de14;border-color:#f1f0de1f}.content{padding:28px}.page-header{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px}.page-header h1{margin:0;font-size:32px;font-weight:700}.page-header p{margin:6px 0 0;color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:18px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel+.panel{margin-top:14px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.metric-card{background:#ffffff73;border:1px solid var(--border);border-radius:16px;padding:16px}.metric-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.metric-value{font-size:28px;font-weight:700;margin-top:8px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border);vertical-align:top}.tag{display:inline-block;padding:4px 8px;border-radius:999px;background:#8ea0782e;font-size:12px;margin-right:6px}.tag.warn{background:#c16a3929}.tag.fail{background:#b4303024}.button{border:0;border-radius:999px;padding:10px 16px;background:var(--ink);color:var(--cream);cursor:pointer}.button.secondary{background:transparent;color:var(--ink);border:1px solid var(--border)}.button:disabled{opacity:.5;cursor:not-allowed}.auth-card{max-width:420px;margin:12vh auto}.auth-card h1{margin-top:0}.muted{color:var(--muted)}.error{color:#9f2d2d}.stack{display:grid;gap:12px}.breadcrumb{margin:0 0 4px;font-size:13px;color:var(--muted)}.breadcrumb a{text-decoration:underline}.header-actions{display:flex;gap:10px;align-items:center}.table-link{font-weight:600;text-decoration:underline}.meta-fields{display:grid;gap:10px;margin-bottom:14px}.field-label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.meta-fields input,.meta-fields select,.inline-field input{width:100%;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#ffffff8c}.editor-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(360px,1.2fr);gap:14px;align-items:start}.editor-panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:18px;min-height:420px}.editor-panel-header{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:14px}.editor-panel-header h2{margin:0;font-size:20px}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:14px}.image-card{margin:0;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#ffffff73}.image-card img{display:block;width:100%;height:180px;object-fit:cover;background:#0123260f}.image-card figcaption{display:grid;gap:8px;padding:10px}.image-url{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-field{display:grid;grid-template-columns:1fr auto;gap:8px}.file-drop{display:grid;place-items:center;min-height:88px;margin-top:12px;border:1px dashed var(--border);border-radius:14px;padding:16px;text-align:center;color:var(--muted);cursor:pointer}.file-drop input{display:none}.json-editor{width:100%;min-height:360px;border:1px solid var(--border);border-radius:14px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.45;resize:vertical;background:#ffffff8c}.json-editor.compact{min-height:180px;margin-top:12px}.json-editor.invalid{border-color:#9f2d2d73}.validation-ok{margin:10px 0 0;color:#3d6b42;font-size:13px}.button.compact{padding:8px 12px;font-size:13px}.manifest-details summary{cursor:pointer;font-weight:600}.unsaved-hint{margin-top:12px}.dev-banner{font-size:11px;line-height:1.4;color:#f1f0deb8;margin:0;padding:8px 10px;border-radius:10px;background:#c16a3938;border:1px solid rgba(241,240,222,.12)}@media(max-width:900px){.editor-grid{grid-template-columns:1fr}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap;align-items:center}}
