a { color:var(--cyan); text-decoration:none; }
a:hover { text-decoration:underline; }
.prototype-note, .admin-help { color:var(--muted); margin:0; font-size:13px; }
.catalog-toolbar { padding:18px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; }
.catalog-toolbar p { color:var(--muted); margin:4px 0 0; font-size:12px; }
.toolbar-actions, .editor-actions { display:flex; flex-wrap:wrap; gap:8px; }
.admin-auth { flex:1 1 100%; display:flex; align-items:center; gap:12px; min-height:20px; color:var(--muted); font-size:13px; }
.admin-auth form { display:flex; flex-wrap:wrap; gap:8px; }
.admin-auth input { padding:9px 12px; border-radius:8px; background:#101724; color:var(--ink); border:1px solid #3d4d6d; font:inherit; }
.admin-auth button { padding:9px 14px; border-radius:8px; background:#176e70; font-size:13px; }
.admin-auth strong { color:var(--ink); }
.catalog-toolbar button, .file-button, .panel-head button, .editor-actions button { padding:10px 13px; border-radius:9px; font-size:13px; }
.file-button { display:inline-flex; align-items:center; cursor:pointer; font-weight:750; background:#273552; }
.file-button:focus-within { outline:3px solid var(--cyan); outline-offset:3px; }
.file-button input { width:1px; height:1px; opacity:0; position:absolute; }
.file-button:has(input:disabled) { opacity:.45; cursor:not-allowed; }
#adminStatus { margin:0; padding:12px 16px; background:#17343b; border:1px solid #31565c; border-radius:10px; }
#adminStatus:empty { display:none; }
#adminStatus[data-error="true"] { background:#552c39; border-color:#914451; color:#ffd0d2; }
.admin-grid { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr); gap:18px; align-items:start; }
.admin-tabs { flex-wrap:wrap; }
.catalog-list { padding:12px; display:grid; gap:10px; }
.catalog-item { padding:14px; background:#202b41; border:1px solid transparent; border-radius:12px; }
.catalog-item.selected { border-color:var(--cyan); }
.catalog-item h3 { margin:0; font-size:15px; overflow-wrap:anywhere; }
.catalog-item p { color:var(--muted); margin:4px 0 10px; font-size:12px; overflow-wrap:anywhere; }
.catalog-item .item-actions { display:flex; gap:8px; }
.catalog-item button { padding:6px 12px; border-radius:7px; background:#2e3c59; font-size:12px; }
.catalog-item button.delete { color:#ffc5c8; background:#4b2e40; }
.editor-fields { padding:18px; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.editor-fields label { display:flex; flex-direction:column; gap:6px; color:var(--muted); font-size:13px; min-width:0; }
.editor-fields label.wide { grid-column:1 / -1; }
.editor-fields label.checkbox { flex-direction:row; align-items:center; }
.editor-fields input, .editor-fields textarea { width:100%; padding:10px; border-radius:8px; background:#101724; color:var(--ink); border:1px solid #3d4d6d; font:inherit; }
.editor-fields input:read-only { opacity:.65; }
.editor-fields input[type="checkbox"] { width:18px; height:18px; accent-color:var(--cyan); }
.editor-fields small { color:var(--muted); font-size:11px; }
.editor-fields textarea { min-height:85px; resize:vertical; }
.editor-fields input:focus-visible, .editor-fields textarea:focus-visible { outline:2px solid var(--cyan); outline-offset:2px; }
.editor-actions { padding:0 18px 18px; }
.form-error { color:#ffb6bc; margin:0; padding:0 18px 14px; }
.form-error:empty { display:none; }
@media(max-width:760px) { .admin-grid { grid-template-columns:1fr; } }
@media(max-width:450px) { .editor-fields { grid-template-columns:1fr; } .editor-fields label.wide { grid-column:auto; } header { flex-wrap:wrap; } }
