:root{color-scheme:light;--bg:#F2F4F7;--surface:#FFFFFF;--surface-2:#E8ECF2;--ink:#1B2433;--muted:#5A6577;--line:#D3D9E2;--accent:#27386A;--accent-ink:#FFFFFF;--brand:#C0272D;--sop:#C8466B;--alt:#C98217;--ten:#2A8A7E;--bas:#3B58A8;--ok:#2E7D4F;--warn:#B26A00;--warn-bg:#FFF3DC;--bad:#B42318;--display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--body:"Source Sans 3","Segoe UI",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,Consolas,monospace}:root[data-theme=dark]{color-scheme:dark;--bg:#11151C;--surface:#1A2029;--surface-2:#232B37;--ink:#E6EAF0;--muted:#9AA5B6;--line:#2E3746;--accent:#9FB3F0;--accent-ink:#10162A;--brand:#EF6B6F;--sop:#EE7C9C;--alt:#E9A94A;--ten:#4FC0B1;--bas:#7F9BEA;--ok:#62C48B;--warn:#F0B35A;--warn-bg:#3A2E17;--bad:#F0877D}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:16px/1.5 var(--body);padding-inline:16px;padding-block:0 48px}button,input,select,textarea{font:inherit}.wrap{max-width:1120px;margin:0 auto}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}header.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-block:20px 14px;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column}.brand b{font:700 1.9rem/1.1 var(--display);letter-spacing:-.03em}.brand span{color:var(--muted);font-size:.9rem}.hright{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.who{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--muted)}.who b{color:var(--ink)}.testbadge{font:500 .7rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--warn);background:var(--warn-bg);padding:2px 6px;border-radius:4px}.nav{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:4px}.nav button{border:0;background:none;color:var(--muted);font-weight:600;font-size:.95rem;padding:12px 12px 10px;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}.nav button:hover{color:var(--ink)}.nav button[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.vh{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 20px;margin-block:18px 16px}.vh h1{font:700 clamp(1.5rem,3.5vw,2rem)/1.1 var(--display);margin:0;letter-spacing:-.02em}.vh p{margin:4px 0 0;color:var(--muted)}.acts-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:16px}.panel h2{font:700 1.15rem var(--display);margin:0}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}@media (max-width:820px){.twocol{grid-template-columns:1fr}}.hint{font-size:.85rem;color:var(--muted);margin:0}.lbl{font:600 .72rem var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);display:block}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;font-size:.9rem;padding:8px 12px;border-radius:8px;cursor:pointer}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.sm{padding:5px 9px;font-size:.82rem}.btn:disabled{opacity:.45;cursor:not-allowed}.seg{display:flex;background:var(--surface-2);border-radius:8px;padding:3px;gap:3px}.seg button{flex:1;border:0;background:none;color:var(--muted);font-weight:600;font-size:.85rem;padding:6px 10px;border-radius:6px;cursor:pointer}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0000001f}.pill{font-weight:600;font-size:.72rem;padding:3px 9px;border-radius:999px;white-space:nowrap;display:inline-block}.pill.ok{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}.pill.wait{background:var(--warn-bg);color:var(--warn)}.pill.bad{background:color-mix(in srgb,var(--bad) 15%,transparent);color:var(--bad)}.pill.neutral{background:var(--surface-2);color:var(--muted)}.pill.role{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.tagrow{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.tagrow .pill{font-size:.68rem;padding:2px 7px}.vdot{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.vdot:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c,var(--line))}.yes{color:var(--ok);font-weight:700}.muted{color:var(--muted)}.bars{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.bars>div{flex:1;min-width:120px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.bars span{font-size:.82rem;color:var(--muted);font-weight:600}.bars b{display:block;font:700 1.3rem var(--display)}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center}.filters input{flex:1;min-width:180px}.filters input,.filters select,.field input,.field select,.field textarea{font-size:.92rem;padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);max-width:100%}.tblwrap{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow-x:auto}table.tbl{width:100%;border-collapse:collapse;font-size:.93rem}.tbl th{text-align:left;font-weight:600;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr.click{cursor:pointer}.tbl tbody tr.click:hover{background:var(--surface-2)}.nowrap{white-space:nowrap}.form{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:560px){.form{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:var(--muted)}.field.full{grid-column:1/-1}.field input:disabled,.field select:disabled{opacity:.6}.locked{font-size:.8rem;color:var(--muted);font-weight:400}.check{display:flex;align-items:center;gap:8px;font-size:.92rem;cursor:pointer}.check input{accent-color:var(--accent);width:16px;height:16px}.picklist{border:1px solid var(--line);border-radius:8px;padding:6px 10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px 12px}.issue{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:8px;background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}.issue p{margin:0;font-size:.9rem}.issue.info{background:var(--surface-2);border-color:var(--line)}.issue.err{background:color-mix(in srgb,var(--bad) 10%,var(--surface));border-color:color-mix(in srgb,var(--bad) 35%,transparent)}.ov{position:fixed;top:0;right:0;bottom:0;left:0;background:#080c1499;overflow:auto;padding:24px 16px;z-index:10}.ed{background:var(--surface);border:1px solid var(--line);border-radius:14px;max-width:760px;margin:0 auto;padding:20px;display:flex;flex-direction:column;gap:14px}.ed-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ed-h h2{font:700 1.25rem var(--display);margin:0}.ed-f{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px;grid-column:1/-1}.toast{z-index:20;position:fixed;left:50%;bottom:20px;transform:translate(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;font-weight:600;font-size:.92rem;max-width:calc(100% - 32px)}.cal{display:flex;flex-direction:column;gap:18px}.cal h3{font-weight:600;font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.ev{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:8px}.ev .d{text-align:center;line-height:1.1}.ev .d b{display:block;font:700 1.5rem var(--display)}.ev .d span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.ev .t b{display:block}.ev .t>span{color:var(--muted);font-size:.88rem;display:block}.ev .t .info{margin-top:3px}.ev.konsert,.ev.kordag{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}@media (max-width:560px){.ev{grid-template-columns:48px 1fr}.ev .acts-row{grid-column:1/-1}}.tri{display:flex;gap:2px;background:var(--surface-2);padding:2px;border-radius:7px}.tri button{border:0;background:none;font-weight:700;font-size:.75rem;color:var(--muted);padding:5px 9px;border-radius:5px;cursor:pointer}.tri button[aria-pressed=true][data-a=n],.tri button[aria-pressed=true][data-v=ja]{background:var(--ok);color:#fff}.tri button[aria-pressed=true][data-a=f],.tri button[aria-pressed=true][data-v=nej]{background:var(--bad);color:#fff}.tri button[aria-pressed=true][data-a=a],.tri button[aria-pressed=true][data-v=kanske]{background:var(--warn);color:#fff}.att{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.att h3{font:700 1rem var(--display);margin:0 0 6px;display:flex;justify-content:space-between}.att h3 span{font:500 .8rem var(--mono);color:var(--muted)}.arow{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:.93rem}.arow:last-child{border-bottom:0}.who select{font-size:.9rem;padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}.msg{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.msg .m-h{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}.msg b{font-size:1rem}.msg p{margin:4px 0 0;white-space:pre-line}.recips{display:flex;flex-wrap:wrap;gap:6px}.recips button{border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;font-size:.85rem;padding:5px 10px;border-radius:999px;cursor:pointer}.recips button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.field textarea{min-height:90px;resize:vertical}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}@media (max-width:720px){.tiles{grid-template-columns:repeat(2,1fr)}}.tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.tile span{display:block;font-size:.8rem;color:var(--muted);font-weight:600}.tile b{font:700 1.5rem var(--display);font-variant-numeric:tabular-nums}.tile small{display:block;color:var(--muted);font-size:.8rem}.piece{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 24px;margin-block:18px 16px}.piece h1{font:700 clamp(1.6rem,4vw,2.3rem)/1.1 var(--display);margin:0;letter-spacing:-.02em;text-wrap:balance}.grid{display:grid;grid-template-columns:300px 1fr;gap:20px;align-items:start}@media (max-width:820px){.grid{grid-template-columns:1fr}}.voices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.voice{--c:var(--ink);border:2px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:9px 11px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px}.voice b{font:700 1rem var(--display);display:flex;align-items:center;gap:8px}.voice b:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--c)}.voice small{color:var(--muted);font-size:.8rem}.voice[aria-pressed=true]{border-color:var(--c);background:color-mix(in srgb,var(--c) 10%,var(--surface))}.insts{display:grid;grid-template-columns:1fr;gap:6px}.insts label{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px;font-size:.92rem;color:var(--muted)}.insts label.mine{color:var(--ink);font-weight:700}.insts select,.acts-row select{font-size:.88rem;padding:5px 8px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}.stage{display:flex;flex-direction:column;gap:12px;min-width:0}.transport{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.play{width:52px;height:52px;border-radius:50%;border:0;background:var(--accent);color:var(--accent-ink);cursor:pointer;display:grid;place-items:center;flex:none}.play svg{width:22px;height:22px;fill:currentColor}.pos{margin-left:auto;font:500 .85rem var(--mono);color:var(--muted)}.roll{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow-x:auto}.roll svg{display:block;cursor:pointer}.notvy{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:auto;max-height:75vh;color:#1b2433}.drop{border:2px dashed var(--line);border-radius:12px;padding:24px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer}.drop:hover{border-color:var(--accent)}.drop input{position:absolute;width:1px;height:1px;opacity:0}.login{max-width:400px;margin:8vh auto 0;display:flex;flex-direction:column;gap:18px}.login img{width:100%;max-width:320px;align-self:center;border-radius:8px;background:#fff;padding:10px}.center{text-align:center}.karaoke{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px 24px;min-height:320px;display:flex;flex-direction:column;justify-content:center;gap:14px;text-align:center}.karaoke-info{margin:0 0 6px}.k-rad{margin:0;cursor:pointer;line-height:1.3;transition:font-size .25s,color .25s,opacity .25s;font-family:var(--display)}.k-rad.forra{font-size:clamp(16px,2.2vw,20px);color:var(--muted);opacity:.55}.k-rad.aktiv{font-size:clamp(24px,3.6vw,36px);font-weight:700;color:var(--muted)}.k-rad.kommande{font-size:clamp(17px,2.4vw,22px);color:var(--ink);opacity:.8}.k-rad.aktiv span.sjungen{color:var(--ink)}.k-rad.aktiv span.nu{color:var(--k);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}@media (max-width:640px){.karaoke{padding:20px 14px;min-height:260px}}.kolval{position:relative}.kolval summary{list-style:none;display:inline-block}.kolval summary::-webkit-details-marker{display:none}.kolmeny{position:absolute;right:0;top:calc(100% + 6px);z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #0000002e;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:200px}.kolmeny .btn{align-self:flex-start;margin-top:4px}.kolmeny .check{justify-content:flex-start;text-align:left;white-space:nowrap;gap:10px}.kolmeny .check input{flex:0 0 auto;min-width:0;width:16px;height:16px;padding:0;margin:0}.kolmeny .check input:disabled{opacity:.6}.btn.danger{background:var(--bad);border-color:var(--bad);color:var(--bg)}
