*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#15161b;color:#f7efdf;font-family:system-ui,-apple-system,Arial,sans-serif;font-size:13px}button,input{font:inherit}button{cursor:pointer}header.top{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:10px;background:#222329;position:sticky;top:0;z-index:1;border-bottom:1px solid #4f4434}.brand{color:#e4b86d;font-weight:800;letter-spacing:1px;white-space:nowrap}.brand small{font-size:11px;font-weight:400;color:#ddd}.live{font-size:11px;color:#b2c7b4;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar{display:flex;align-items:center;gap:5px;padding:8px;background:#1c1e24;position:sticky;top:39px;z-index:1}.toolbar>span{flex:1;font-size:12px;color:#d6bb83}.mini{border:1px solid #685d49;border-radius:8px;background:#28282f;color:#f1dfbb;padding:7px;white-space:nowrap;font-weight:600}.mini[aria-pressed=true]{background:#65532d}#notice{margin:0;padding:0 10px;color:#eab96f;font-size:11px;min-height:0}.requests{padding:5px 8px 16px}.request{background:#26262c;border:1px solid #504431;border-radius:12px;margin:8px 0;padding:10px}.request.new{border-color:#d5ab65}.titleline{display:flex;align-items:flex-start;justify-content:space-between;gap:7px}.song{font-size:15px;font-weight:750;min-width:0;overflow-wrap:anywhere}.amount{color:#f5c95d;font-weight:800;white-space:nowrap;font-size:13px}.meta{color:#c0b6a7;font-size:11px;margin:4px 0 8px;overflow-wrap:anywhere}.tag{font-size:10px;color:#decba9;margin-bottom:5px}.actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.action{border-radius:8px;border:1px solid transparent;padding:10px 2px;font-size:11px;font-weight:750;color:white;min-width:0}.accepted{background:#285640}.played{background:#785824}.rejected{background:#71373e}.action.active{outline:2px solid #efc66d}.action:disabled{opacity:.45}.secondary{background:transparent;border:1px solid #534c41;color:#e7d6bb;font-size:10px;padding:5px 8px;border-radius:7px;margin-top:7px}.empty{color:#a7a3a0;text-align:center;padding:30px 10px}footer{display:flex;justify-content:space-between;align-items:center;padding:8px 11px 22px;gap:10px}a{color:#e5b66d}.auth{padding:18px;max-width:420px;margin:auto}.auth header{font-size:20px;color:#e7bc75}.auth label{display:block;margin:12px 0}.auth input{display:block;margin-top:5px;background:#25262d;color:white;padding:12px;border:1px solid #716454;border-radius:8px;width:100%}.auth button{background:#cfaa69;color:#1c1d22;border:0;padding:12px;border-radius:9px;width:100%;font-weight:700}.auth p{color:#c7c0b5}body:has(main:not([hidden])) .auth{display:none}@media(min-width:700px){.requests{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:8px}.request{margin:0}}
/* V2: alertas visuais e fila com histórico recolhido */
.section-title{font-size:11px;letter-spacing:.06em;color:#e1c18a;margin:12px 3px 5px}
.new-badge,.repeat-badge{display:inline-block;font-size:10px;font-weight:800;border-radius:5px;padding:3px 6px;margin-top:5px;margin-right:4px}
.new-badge{background:#e1bd6c;color:#211a0e}.repeat-badge{background:#214c62;color:#caefff}
.request.repeat:not(.resolved){border-color:#3aa1d1;background:#21333e}
.request.flash:not(.resolved){animation:new-flash 1.15s ease-in-out 8;box-shadow:0 0 0 2px #d8a757}
@keyframes new-flash{0%,100%{box-shadow:0 0 0 1px #d8a757}50%{box-shadow:0 0 0 3px #ffe198;background:#514427}}
@media(prefers-reduced-motion:reduce){.request.flash{animation:none!important}}
.archive{border-top:1px solid #49433a;margin-top:14px;padding-top:8px}.archive>summary{cursor:pointer;color:#a8a29b;font-size:11px;padding:8px;background:#202126;border-radius:7px}
.archive .section-title{color:#aaa;font-size:10px}.archive .request.resolved{opacity:.55;padding:7px 9px;background:#1c1d22;border-color:#343439;margin:5px 0}
.archive .request.resolved .song{font-size:12px}.archive .request.resolved .meta{font-size:10px;margin:3px 0}.archive .request.resolved .tag{display:none}
.archive .request.resolved .back{margin-top:3px;font-size:10px;padding:4px 6px}
.archive .request.resolved .amount{font-size:11px}

/* V3 — uso horizontal do card no Galaxy Tab A9 */
.request-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:12px;align-items:start;margin-bottom:9px}
.music-info,.request-details{min-width:0}
.request-details{border-left:1px solid #46424a;padding-left:12px;display:grid;gap:8px}
.titleline{display:flex;flex-wrap:wrap;align-items:center;gap:5px 9px;justify-content:flex-start}
.song{font-size:17px;line-height:1.14;word-break:break-word}
.artist{color:#bbb6aa;font-size:11px;margin-top:5px;overflow-wrap:anywhere}
.amount{display:inline-block;color:#ffd66d;font-size:12px;white-space:nowrap;background:#42361d;padding:3px 7px;border-radius:6px;border:1px solid #66542a}
.badges{margin-top:5px;display:flex;flex-wrap:wrap;gap:4px}.badges>span{margin:0}
.detail{display:grid;gap:3px;min-width:0}.detail-label{font-size:9px;font-weight:800;letter-spacing:.065em;color:#aab5ca}
.detail-value{font-size:12px;font-weight:650;color:#f4eee3;overflow-wrap:anywhere;white-space:pre-wrap}
.dedication .detail-value{font-weight:450;line-height:1.34}
.no-dedication{font-size:10px;color:#8d909a;font-style:italic}
.request.resolved .request-info{margin-bottom:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.archive .request.resolved .song{font-size:12px}.archive .request.resolved .detail-label{display:none}.archive .request.resolved .detail-value{font-size:10px}
.archive .request.resolved .no-dedication,.archive .request.resolved .dedication{display:none}
.archive .request.resolved .artist{display:none}
@media(max-width:390px){.request-info{grid-template-columns:minmax(0,1fr);gap:7px}.request-details{border-left:0;border-top:1px solid #46424a;padding-left:0;padding-top:7px}.request-details .detail-label{font-size:9px}.request-details .detail-value{font-size:11px}}
@media(min-width:700px){.requests{display:block}.card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:8px}.card-list .request{margin:0}.done-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:6px}}
