:root{--primary: #3949ab;--accent: #ffc107;--danger: #e53935;--bg: #fffbf5;--card: #ffffff;--text: #212121;--muted: #757575;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}h1{font-size:1.5rem;margin:1rem 0}h2{font-size:1.2rem;margin:1.5rem 0 .5rem}a{color:var(--primary)}.container{padding:0 16px 32px;max-width:1000px;margin:0 auto}.topbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--primary);color:#fff}.topbar nav{display:flex;gap:12px;flex-wrap:wrap}.topbar a,.topbar .link{color:#fff;text-decoration:none}.topbar a.router-link-exact-active{text-decoration:underline}.card{background:var(--card);border-radius:12px;padding:16px;box-shadow:0 1px 4px #00000014;margin-bottom:12px}.stack{display:flex;flex-direction:column;gap:8px}.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.row.between{justify-content:space-between}.row>label{flex:1 1 180px}.grid{list-style:none;padding:0;display:grid;gap:12px;grid-template-columns:1fr}label{display:flex;flex-direction:column;gap:4px;font-size:.9rem}input,select{padding:10px;border:1px solid #ccc;border-radius:8px;font-size:1rem;width:100%}button{padding:10px 16px;border:0;border-radius:8px;background:var(--primary);color:#fff;font-size:1rem;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:#e8eaf6;color:var(--primary)}button.danger{background:var(--danger)}button.link{background:none;color:var(--primary);padding:4px;text-decoration:underline}.alert{background:#ffebee;color:#b71c1c;padding:8px 12px;border-radius:8px}.hint{color:var(--danger);font-size:.85rem;margin:0}.muted{color:var(--muted)}.small{font-size:.85rem}.code{font-size:2rem;font-weight:700;letter-spacing:.2em;margin:0}.check{flex-direction:row;align-items:center;gap:8px}.check input{width:auto}.songs{border:1px solid #ddd;border-radius:8px;max-height:320px;overflow:auto;display:grid;gap:4px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:var(--card)}th,td{text-align:left;padding:8px;border-bottom:1px solid #eee;white-space:nowrap}.login{max-width:400px;margin:10vh auto 0}@media(min-width:700px){.grid{grid-template-columns:repeat(2,1fr)}h1{font-size:1.8rem}}
