:root{--bg: #0f1216;--panel: #171c22;--panel-2: #1f262e;--border: #2a323c;--text: #e8edf2;--muted: #93a1ad;--accent: #4c8dff;--accent-press: #3a78e6;--ok: #1f8f5f;--err: #c0413b;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{max-width:720px;margin:0 auto;padding:24px 16px 64px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}header h1{font-size:22px;margin:0}.header-actions{display:flex;gap:8px}button{font:inherit;color:#fff;background:var(--accent);border:1px solid transparent;border-radius:8px;padding:8px 14px;cursor:pointer}button:hover{background:var(--accent-press)}button:disabled{opacity:.5;cursor:default}button.ghost{background:transparent;color:var(--text);border-color:var(--border)}button.ghost:hover{background:var(--panel-2)}input{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:9px 12px;width:100%}input:focus{outline:2px solid var(--accent);outline-offset:-1px}.banner{border-radius:8px;padding:10px 12px;margin-bottom:14px}.banner.error{background:#c0413b26;border:1px solid var(--err)}.banner.ok{background:#1f8f5f26;border:1px solid var(--ok)}.signin{text-align:center;margin-top:48px}.signin p{color:var(--muted)}.search-box{font-size:18px;padding:12px 14px}.muted{color:var(--muted)}.results{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px}.result{width:100%;text-align:left;background:var(--panel);border:1px solid var(--border);color:var(--text);display:block;padding:12px 14px}.result:hover{background:var(--panel-2)}.result-title{font-weight:600}.result-loc{color:var(--accent);font-size:14px}.result-items{color:var(--muted);font-size:14px;margin-top:2px}.detail h2{margin:8px 0 16px}.back{margin-bottom:8px}.editor{display:grid;gap:16px}.field{display:grid;gap:6px}.field>span{color:var(--muted);font-size:14px}.items{list-style:none;padding:0;margin:0;display:grid;gap:6px}.items li{display:flex;gap:6px}.add-row{display:flex;gap:6px;margin-top:6px}.actions{display:flex;gap:8px}
