:root{--bg:#f5f3ef;--panel:#fff;--ink:#1b1916;--muted:#6e6961;--line:#ddd8cf;--accent:#85520f;--accent2:#b6751b;--ok:#23663a;--bad:#a1322c;--warn:#8b650b;--radius:14px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:#1c1711;color:#fff}.topbar strong{font-size:1.2rem;margin-right:12px}.topbar span{color:#d7c6ad}.topbar nav{display:flex;gap:12px}.topbar nav a{padding:8px 12px;border:1px solid #5b4b38;border-radius:9px;text-decoration:none}.layout{display:grid;grid-template-columns:210px minmax(0,1fr);max-width:1500px;margin:auto}.side{position:sticky;top:66px;height:calc(100vh - 66px);padding:22px 14px;border-right:1px solid var(--line)}.side a{display:block;padding:11px 12px;margin-bottom:4px;text-decoration:none;border-radius:9px}.side a:hover{background:#ebe6de}.main{padding:24px 32px 80px;min-width:0}.main section{scroll-margin-top:84px;margin-bottom:52px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.section-head h1,.section-head h2{margin:0;font-size:2rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--muted);margin:0 0 4px}.stats{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.stat b{display:block;font-size:1.65rem}.stat span{color:var(--muted)}.panel,.entry,.hint{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:12px 0}.hint{background:#fffaf0}.panel h3{margin:0 0 6px}.panel p{margin:4px 0;color:var(--muted)}.upload-panel{display:grid;grid-template-columns:1fr minmax(320px,1fr);gap:18px;align-items:center;border-style:dashed}.upload-panel.drag{outline:3px solid #c18a39;background:#fff7e8}.upload-panel form{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.file-input{max-width:300px}details{width:100%;color:var(--muted)}details input{margin-top:8px}.scan-row{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 16px}.entries{display:grid;gap:12px}.entry{margin:0}.entry-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.grid{display:grid;gap:12px}.grid.four{grid-template-columns:repeat(4,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.two{grid-template-columns:repeat(2,1fr)}label{display:grid;gap:5px;font-weight:600;font-size:.86rem}input,textarea,select{width:100%;padding:10px 11px;border:1px solid #cfc8be;border-radius:9px;background:#fff;color:var(--ink);font:inherit}textarea{resize:vertical}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.check{display:flex;grid-auto-flow:column;grid-template-columns:auto 1fr;align-items:center;gap:7px;font-weight:500}.check input{width:auto}.danger-check{color:var(--bad);margin-left:auto}button{padding:9px 13px;border:1px solid #c8c0b4;border-radius:9px;background:#f8f6f2;color:var(--ink);font-weight:700;cursor:pointer}button:hover{filter:brightness(.97)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{border-color:#d4a09d;color:var(--bad);background:#fff7f6}.path{margin-top:9px;color:var(--muted);font:12px/1.4 ui-monospace,Consolas,monospace;overflow-wrap:anywhere}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:700;background:#ece8e1}.status.ok{color:var(--ok);background:#e8f5ec}.status.bad{color:var(--bad);background:#fae9e7}.alert{padding:12px 14px;border-radius:10px;margin-bottom:10px;border:1px solid}.alert.success{background:#e8f5ec;color:var(--ok);border-color:#b9ddc4}.alert.error{background:#fae9e7;color:var(--bad);border-color:#e5b9b6}.alert.warn{background:#fff3ce;color:var(--warn);border-color:#ead48e}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photo-entry{min-width:0}.thumb{height:150px;background:#eee9e1;border-radius:10px;overflow:hidden;margin-bottom:12px;display:flex;align-items:center;justify-content:center;color:var(--muted)}.thumb img{width:100%;height:100%;object-fit:cover}.backup-list{display:grid;gap:8px}.backup-list form{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);padding:10px 12px;border-radius:10px}.backup-list span{font:13px ui-monospace,Consolas,monospace}.empty{padding:24px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius)}code{background:#eeeae3;padding:2px 5px;border-radius:5px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eee8de}.auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 24px 60px rgba(35,25,12,.12)}.auth-card h1{margin:0}.auth-card .lead{font-size:1.2rem;color:var(--accent);font-weight:700}.auth-card form{display:grid;gap:14px}.auth-card .primary{width:100%;padding:12px}.small{font-size:.85rem;color:var(--muted);margin-top:18px}@media(max-width:980px){.layout{grid-template-columns:1fr}.side{position:static;height:auto;display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px 14px;background:#fff}.side a{white-space:nowrap;margin:0}.main{padding:20px}.stats{grid-template-columns:repeat(2,1fr)}.grid.four,.grid.three{grid-template-columns:repeat(2,1fr)}.photo-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.topbar{align-items:flex-start;gap:10px;padding:12px}.topbar span{display:none}.topbar nav{gap:5px}.topbar nav a{padding:7px}.main{padding:16px}.section-head{align-items:flex-start;flex-direction:column}.stats,.grid.four,.grid.three,.grid.two,.photo-grid,.upload-panel{grid-template-columns:1fr}.danger-check{margin-left:0}.thumb{height:210px}}

.lyrics-editor{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.lyrics-editor textarea{min-height:190px;font-family:ui-monospace,Consolas,monospace;line-height:1.55}.lyrics-file{align-content:start}.field-note{font-weight:400;color:var(--muted);font-size:.78rem}.lyrics-file input{margin-top:6px;background:#faf8f4}@media(max-width:760px){.lyrics-editor{grid-template-columns:1fr}}
