/* lyrics-proxy theme T1 (2026-10-31): match the printed program PDF + event colours. Remove the inject line in proxy.py to roll back. */
:root{--pdf-red:#a8232a;--pdf-rule:#bfbfbf;--pdf-serif:"PT Serif","Noto Serif",Georgia,"Times New Roman",serif;--pdf-name:"Yanone Kaffeesatz","Roboto Condensed","Arial Narrow",sans-serif;--pdf-script:"Kurale","PT Serif",serif}
.sched{border-radius:6px}
.ci.th{display:grid;grid-template-columns:2.1em minmax(0,1fr) minmax(0,max-content);column-gap:10px;align-items:start;padding:2px 8px 2px 0;min-height:0;border-bottom:1px solid var(--pdf-rule);font-family:var(--pdf-serif);font-size:16.5px;line-height:1.25;color:#111;position:relative}
.ci.th .no{width:auto;flex:none;text-align:center;font-family:var(--pdf-name);font-weight:300;font-size:19px;color:var(--pdf-red);padding-top:0;line-height:1.15}
.ci.th .cl,.ci.th .det{color:#111;-webkit-line-clamp:3}
.ci.th .det{grid-column:2/4}
.ci.th.x .pw{display:none}
.ci.th .cl>.who{display:none}
.ci.th .pw{max-width:42vw;white-space:normal;font-family:var(--pdf-name);font-weight:400;font-size:18.5px;line-height:1.15;color:var(--pdf-red);overflow-wrap:anywhere;padding-top:0}
.ci.th .det .who{font-family:var(--pdf-name);color:var(--pdf-red);font-size:17px;opacity:1}
.ci.th .muted,.ci.th .nft{font-family:var(--pdf-serif)}
.ci.th.k-choir .cl,.ci.th.k-solo .cl,.ci.th.k-choir .det,.ci.th.k-solo .det{color:#111}
.ci.th a.sg{color:#111;text-decoration-color:rgba(10,102,194,.55)}
.ci.th.scr .cl>.tx:first-of-type{font-family:var(--pdf-script);font-style:italic;color:var(--pdf-red);font-size:17.5px;line-height:1.25}
/* event colours: thin left bar + faint tint (body.evoff = off) */
.ci.th[data-ev]{box-shadow:inset 4px 0 0 var(--ev);background:linear-gradient(90deg,color-mix(in srgb,var(--ev) var(--evp,9%),var(--rowbg,#fff)),var(--rowbg,#fff) 70%)}
body.evoff .ci.th[data-ev]{box-shadow:none;background:none}
.evlg{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font:12px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#6e6e73;margin:2px 2px 10px}
.evlg i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.evlg button{font:inherit;border:1px solid #d2d2d7;background:#fff;border-radius:10px;padding:0 8px;cursor:pointer;color:inherit}
body.evoff .evlg span{opacity:.35}
@media (max-width:520px){.ci.th{grid-template-columns:1.6em minmax(0,1fr) minmax(0,max-content);font-size:15px;column-gap:6px}.ci.th .pw{font-size:16.5px}.ci.th .no{font-size:17px}.ci.th.scr .cl>.tx:first-of-type{font-size:16px}.ci.th .det .who{font-size:15px}}

.evlg{display:none!important}
@media (max-width:700px){.ci.th .pw{font-size:16px}.ci.th{font-size:15.5px}}
@media (max-width:520px){.ci.th .pw{font-size:14.5px}}
.ci.th .cl,.ci.th .cl>.tx,.ci.th .det{line-height:1.25;margin:0;padding-top:0;padding-bottom:0}
/* compact header */
#hb{padding-top:3px!important;padding-bottom:3px!important;font-size:15px}
#hb .hi{gap:6px!important;min-height:32px;flex-wrap:nowrap;max-width:100%;box-sizing:border-box}
#hb .hi>*{flex-shrink:1;min-width:0}
#hb .ib{height:30px!important;min-height:30px!important;min-width:30px;padding:0 6px!important;font-size:15px!important;line-height:28px!important;flex-shrink:0!important}
#hb .ib.lg{white-space:nowrap;padding:0 5px!important}
#gsel{flex:1 1 auto!important;width:auto!important;max-width:220px!important;min-width:90px!important;height:30px!important;font-size:14px!important;padding:0 6px!important;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
#hb .hi *{font-size:15px}
.tdiv{min-height:0!important;padding-top:1px!important;padding-bottom:1px!important;font-size:12px!important;line-height:1.2!important}
.sched .svc.sched-break{margin-top:6px;padding-top:2px;border-top:2px solid #c4b0b0}
html[data-th] .sched .svc.sched-break{border-top-color:var(--rule,#8a807c)}
#hb .hi{padding:2px 8px!important;height:auto!important}
#hb .ar2,#hb .dl{height:30px!important;min-height:30px!important;line-height:28px!important;padding-top:0!important;padding-bottom:0!important;font-size:15px!important;flex-shrink:0}
#hb #hlang{width:auto!important;min-width:0!important;flex:0 0 auto!important}
#gsel{flex:0 1 220px!important;min-width:70px!important}
/* T6 views: panel (iframe) = compact 85%; public = A-/A+ size steps (localStorage bl_fz) */
html[data-fz] .sched{zoom:var(--fz)}
#hb .fzb{flex:0 0 auto!important;display:inline-flex;gap:2px}
#hb .fzb button{height:26px;min-width:24px;padding:0 3px;border:1px solid #d2d2d7;border-radius:6px;background:#fff;font-size:12px!important;line-height:24px;cursor:pointer;color:#333}
#hb .fzb button:disabled{opacity:.35}
/* T7 done-marks: AM grey, PM strike (test variant) */
.svc[data-k^="9"] .ci.th.dn,.svc:first-child .ci.th.dn{opacity:.45;box-shadow:inset 4px 0 0 #bbb!important;background:none!important}
.svc+.svc .ci.th.dn{opacity:1}
.svc+.svc .ci.th.dn>*{text-decoration:line-through;text-decoration-thickness:1.5px;opacity:.75}
.svc+.svc .ci.th.dn *{text-decoration:line-through}
html.lyr-panel .ci.th{cursor:pointer}
.tdiv .mclr{margin-left:8px;font-size:11px!important;border:1px solid #d2d2d7;border-radius:8px;background:#fff;padding:0 6px;cursor:pointer;color:#666}
/* T7b narrow layout: names go under item text as one red line (no wrap); communion heading one line, prayers in full; opaque sticky bar */
#hb{background:#fff!important;z-index:20}
.ci.th.scr .cl,.ci.th.scr .det{-webkit-line-clamp:unset!important;display:block!important;overflow:visible!important}
.ci.th.scr .cl>.tx:first-of-type{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;max-width:100%;vertical-align:bottom}
/* T7c consistent names column (all widths): fixed share, left-aligned, one line + ellipsis */
.ci.th{grid-template-columns:2.1em minmax(0,1fr) clamp(120px,38%,300px)!important}
.ci.th .pw{grid-column:3;grid-row:1;max-width:none!important;text-align:left!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
.ci.th .det{grid-column:2/4}
@media (max-width:700px){.ci.th{grid-template-columns:1.7em minmax(0,1fr) clamp(110px,38%,260px)!important;column-gap:6px}.ci.th .pw{font-size:14.5px!important}.ci.th.scr .cl>.tx:first-of-type{font-size:15px!important}}
@media (max-width:460px){.ci.th .pw{font-size:13.5px!important}.ci.th.scr .cl>.tx:first-of-type{font-size:14px!important}}
/* T8 done-mark: one style both services — strike, single collapsed line, ~75% text, slight dim */
.ci.th.dn,.svc .ci.th.dn,.svc+.svc .ci.th.dn{opacity:.65!important;font-size:13px!important;padding-top:0!important;padding-bottom:0!important}
.ci.th.dn>*,.ci.th.dn *{text-decoration:line-through!important;text-decoration-thickness:1px!important}
.ci.th.dn .cl,.ci.th.dn .det{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;-webkit-line-clamp:unset!important;max-height:1.3em;line-height:1.3em!important}
.ci.th.dn .cl br,.ci.th.dn button,.ci.th.dn .det{display:none!important}
.ci.th.dn .cl>.tx,.ci.th.dn.scr .cl>.tx:first-of-type{display:inline!important;font-size:inherit!important}
.ci.th.dn .no,.ci.th.dn .pw{font-size:inherit!important;line-height:1.3em!important}
.svc .ci.th.dn[data-ev]{box-shadow:inset 4px 0 0 var(--ev)!important}
#hb .mlk{flex:0 0 auto!important;height:26px;min-width:26px;padding:0 3px;border:1px solid #d2d2d7;border-radius:6px;background:#fff;font-size:13px!important;line-height:24px;cursor:pointer}
html.lyr-panel .mlk{display:none!important}
@media (max-width:460px){#hb .fzb button,#hb .mlk{min-width:20px;padding:0 1px;font-size:11px!important}#hb .hi{gap:4px!important;padding:2px 4px!important}#gsel{min-width:56px!important}}
/* T11 themes: html[data-th=mid|dark]; light = default */
html[data-th] body,html[data-th] .wrap,html[data-th] main{background:var(--pg)!important;color:var(--tx)}
html[data-th] #hb{background:var(--hd)!important;border-color:var(--rule)!important;color:var(--tx)}
html[data-th] #hb .ib,html[data-th] #hb select,html[data-th] #hb button,html[data-th] #hb .hi a{background:var(--btn)!important;color:var(--tx)!important;border-color:var(--rule)!important}
html[data-th] .sched,html[data-th] .svc,html[data-th] .card,html[data-th] .grid>*{background:var(--rowbg)!important;border-color:var(--rule)!important;color:var(--tx)}
html[data-th] .tdiv{background:var(--hd)!important;color:var(--mut)!important;border-color:var(--rule)!important}
html[data-th] .tdiv .lb{color:var(--tx)!important}
html[data-th] .ci.th{border-bottom-color:var(--rule);color:var(--tx);background:var(--rowbg)}
html[data-th] .ci.th .cl,html[data-th] .ci.th .det,html[data-th] .ci.th a.sg,html[data-th] .ci.th.k-choir .cl,html[data-th] .ci.th.k-solo .cl{color:var(--tx)!important}
html[data-th] .ci.th .muted{color:var(--mut)!important}
html[data-th] .ci.th .pw,html[data-th] .ci.th .no,html[data-th] .ci.th .det .who,html[data-th] .ci.th.scr .cl>.tx:first-of-type{color:var(--red)!important}
/* M (Rey 7:40 AM pt1542u): 📖 .vb and status .n1tag keep their light-theme colours in mid/dark (were overridden by the generic row-button rule) */
html[data-th] .mclr,html[data-th] .ci.th button:not(.vb):not(.n1tag){background:var(--btn)!important;color:var(--tx)!important;border-color:var(--rule)!important}
html[data-th] .ci.th.dn{background:none!important}
html[data-th] [class*=grey],html[data-th] footer,html[data-th] .ft,html[data-th] .foot{color:var(--mut)!important}
html[data-th] *{scrollbar-color:var(--rule) var(--pg)}
html[data-th=mid]{--pg:#d9dbe0;--hd:#e1e3e7;--rowbg:#e8e9ec;--btn:#f1f2f4;--tx:#1b1b1f;--mut:#5e6068;--rule:#b9bcc3;--red:#9c1f26;--evp:12%}
html[data-th=dark]{--pg:#1e2127;--hd:#22262d;--rowbg:#262a31;--btn:#2f343c;--tx:#e6e6e6;--mut:#a4a8b0;--rule:#3a3f48;--red:#ff8a80;--evp:16%;color-scheme:dark}
html[data-th=dark] .ci.th a.sg{text-decoration-color:rgba(120,180,255,.7)}
html[data-th=dark] .ci.th .tx a{color:#e6e6e6!important}
#hb .thb{flex:0 0 auto!important;height:26px;min-width:24px;padding:0 3px;border:1px solid #d2d2d7;border-radius:6px;background:#fff;font-size:13px!important;line-height:24px;cursor:pointer}
@media (max-width:460px){#hb .thb{min-width:20px;padding:0 1px;font-size:11px!important}#hb .ib{min-width:26px!important;padding:0 3px!important}}
#kf.kf{display:none!important}
html[data-th] .ci.th[data-ev]{background:linear-gradient(90deg,color-mix(in srgb,var(--ev) var(--evp),var(--rowbg)),var(--rowbg) 70%)}
html[data-th] .gl,html[data-th] .gl .gh{background:var(--rowbg)!important;border-color:var(--rule)!important;color:var(--tx)!important}
html[data-th] .gl .gc{background:var(--btn)!important;color:var(--mut)!important}
html[data-th] .gblk,html[data-th] .gblk *:not(.gc){color:var(--tx)}
/* T12: communion-style sub line may wrap */
.ci.th.scr:not(.dn) .cl{white-space:normal!important;text-overflow:clip!important;max-height:none!important}
.ci.th.scr:not(.dn) .cl>.tx:not(:first-of-type){white-space:normal!important;overflow:visible!important;text-overflow:clip!important;display:inline!important;overflow-wrap:anywhere}
/* T13/T14 Bible verses */
.sched .ci .vb{border:0;background:none;padding:0 4px 0 0;margin:0;font:inherit;font-size:12px;line-height:1;cursor:pointer;opacity:.75;vertical-align:baseline;color:var(--mut,#6b7280)}
.sched .ci .vb.on{opacity:1}
.sched .ci .vp{display:block;margin:2px 0 1px;padding:1px 4px;border-left:2px solid var(--ev,#999);border-radius:4px;background:rgba(127,127,127,.09);font-size:11.5px;line-height:1.2;color:var(--mut,#555);font-family:system-ui,sans-serif;font-style:normal;white-space:normal}
.sched .ci .vr{display:flex;align-items:center;gap:4px;justify-content:space-between;padding:0}
.sched .ci .vr span{min-width:0;overflow-wrap:anywhere;color:inherit}
.sched .ci .vc{flex:0 0 auto;border:1px solid rgba(127,127,127,.4);background:transparent;color:inherit;border-radius:5px;font-size:10.5px;line-height:1;padding:1px 5px;margin:1px 0;cursor:pointer}
.sched .ci .vc.ok{border-color:#2e9e6a;color:#2e9e6a}
.sched .ci .va{margin-top:3px}
.sched .ci .pw:has(.vp){white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.sched .ci.th.hv .cl:has(.vp){-webkit-line-clamp:unset!important;display:block!important;overflow:visible!important;white-space:normal!important}
.sched .ci .pw .vb{padding:0 3px 0 0;font-size:11px}
.sched .ci .pw .vp{text-align:left;font-weight:400}
.sched .ci .vpp{margin-left:2px}
.pptoast{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:9999;padding:7px 12px;border-radius:8px;font:13px system-ui,sans-serif;color:#fff;background:#333;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.pptoast.ok{background:#2e7d4f}.pptoast.bad{background:#a33}
.sched .ci>.vp{grid-column:2/-1;justify-self:end;width:min(100%,330px);box-sizing:border-box;margin:1px 0 2px}
.sched .ci .vr span{white-space:nowrap}
.sched .ci .vr .vc{margin-left:0}
.sched .ci .vr span{flex:1 1 auto}
.sched .ci .vpp.lk{opacity:.45}
.sched .ci .vpp.lk::before{content:'🔒';font-size:9px;margin-right:2px}
.sched .svc .vall{display:flex;justify-content:flex-end;padding:6px 8px 10px}
.sched .svc .vall .vpp{font-size:12px;padding:4px 10px}
.pptoast.prog{background:#333;color:#fff}
/* T20: 📖 in the gutter left of the name column so all names start at the same x */
.sched .ci.hv{position:relative}
.sched .ci .vb.gut{position:absolute;padding:0;width:auto;text-align:right;white-space:nowrap;font-size:11px;z-index:1}
.ppm{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px}
.ppmb{background:var(--bg,#fff);color:var(--fg,#111);border-radius:12px;max-width:420px;width:100%;max-height:80vh;overflow:auto;padding:14px 16px;font:14px/1.35 system-ui,-apple-system,sans-serif;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.ppmh{font-weight:600;margin-bottom:8px}
.vhint{font-size:12px;color:#555;margin:0 0 6px}
.ppml .vrowh{display:flex;align-items:center;gap:6px}
.ppml .vrowh b{flex:1;min-width:0}
.ppml .vrowt{margin:1px 0 6px}
.vmap{display:inline-block;margin-left:4px;padding:0 4px;border-radius:4px;border:1px solid #6b7280;font:700 9px/1.5 system-ui;cursor:help;vertical-align:baseline}
.vref{white-space:nowrap}
.vclip{border:0;background:none;padding:0 2px;margin-left:2px;font-size:12px;line-height:1;cursor:pointer;opacity:.75;vertical-align:baseline}
.vclip.ok{opacity:1;color:#16a34a}
.vlang{display:inline-flex;flex:none;border:1px solid #9ca3af;border-radius:999px;overflow:hidden}
.vlang button{border:0;background:none;color:inherit;padding:1px 6px;font:700 10px/1.6 system-ui;cursor:pointer}
.vlang button.on{background:#2563eb;color:#fff}
.ppsw{display:inline-flex;border:1px solid #9ca3af;border-radius:8px;overflow:hidden;margin-bottom:10px}
.ppsw button{border:0;background:none;color:inherit;padding:5px 14px;font:600 13px system-ui;cursor:pointer}
.ppsw button.on{background:#2563eb;color:#fff}
.ppml div{margin:4px 0}.ppml b{color:#b91c1c;font-weight:600}
.ppmf{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.ppmf button{border:1px solid #9ca3af;background:none;color:inherit;border-radius:8px;padding:6px 14px;font:14px system-ui;cursor:pointer}
.ppmf button.go{background:#2563eb;border-color:#2563eb;color:#fff}
/* T23 unrecognized / check refs */
.vp .vr.amb span{color:#b26a00;font-style:italic}
.vp .vr.warn span{color:#9a6b00}
.ppml .amb{color:#b26a00;font-size:.9em;margin-left:.6em}
/* T24 mistakes (amber) + numbering variants (blue) */
.no.vamb{background:#ffb300;color:#000!important;border-radius:6px;padding:0 4px;box-shadow:0 0 0 2px #ffb30055}
.vp .vr.amb span{color:#b26a00;font-style:italic}
.vp .vr.amb{background:#fff3d6;border-radius:4px}
.vp .vr.ambk span{color:#888;font-style:italic}
.vp .vr.vvar{border-left:3px solid #1e88e5;padding-left:4px}
.vp .vr.vvar span::before{content:'●';color:#1e88e5;font-size:.7em;margin-right:4px;vertical-align:middle}
.vp .vtap{cursor:pointer;text-decoration:underline dotted}
.vp .vinfo{margin:2px 0 6px 6px;padding:6px 8px;border-radius:6px;background:#f4f6fa;border:1px solid #d0d7e2;font-size:.9em;display:flex;flex-direction:column;gap:4px;white-space:normal}
.vp .vinfo .vsug{color:#555}
.vp .vinfo button{text-align:left;white-space:normal}
.vp .vinfo .vopt.on{outline:2px solid #1e88e5;font-weight:600}
.vp .vinfo .vack{background:#ffb300;color:#000}
/* T25: PP AM/PM colors = md3 explorer Sunday folders (p/md3-35-explorer-header.css: --sun-am #a9c4e2 / tx #0e1a28, --sun-pm #3f75b5 (Rey 11-01, was #34506e) / tx #F1F4F8) */
.plam{--plb:#a9c4e2;--plt:#0e1a28}.plpm{--plb:#3f75b5;--plt:#fff}
.ppm .ppmf button.go,.ppm .ppsw button.on{background:var(--plb)!important;border-color:var(--plb)!important;color:var(--plt)!important}
.sched .ci .vpp.plam,.sched .ci .vpp.plpm,.sched .svc .vall .vpp.plam,.sched .svc .vall .vpp.plpm{background:var(--plb);border-color:var(--plb);color:var(--plt)}
/* T26b manual verse entry */
.sched .svc .vadw{display:flex;justify-content:flex-end;padding:0 8px 8px}
.sched .svc .vadw .vadd{font-size:12px;padding:3px 10px;border:1px solid #8eafd4;background:#d7e6f6;color:#17324d;border-radius:5px;cursor:pointer;font-weight:600}
.sched .svc .vadw .vadd:hover{background:#c5daf2}
html[data-th] .sched .svc .vadw .vadd{background:#24344a;border-color:#6d8aaf;color:#e4eef8}
.sched .svc .vadw .vadd.lk{opacity:.45}
.vaddt{border:1px solid rgba(127,127,127,.5);background:none;color:inherit;border-radius:6px;font-size:12px;padding:1px 6px;margin-right:4px;cursor:pointer}
.vxb .vxta{width:100%;box-sizing:border-box;font:13px/1.35 system-ui;padding:6px;border:1px solid #9ca3af;border-radius:8px;background:transparent;color:inherit;resize:vertical}
.vxb .vxhd,.vxb .vxsel{width:100%;box-sizing:border-box;margin:6px 0;font:13px system-ui;padding:5px 6px;border:1px solid #9ca3af;border-radius:8px;background:transparent;color:inherit}
.vxb .vxrow{display:flex;gap:4px;margin:4px 0;align-items:center}
.vxb .vxrow input{flex:1.4;min-width:0;font:13px system-ui;padding:4px;border:1px solid #9ca3af;border-radius:6px;background:transparent;color:inherit}
.vxb .vxrow .vxch,.vxb .vxrow .vxvs{flex:0.7}
.vxb .vxlang button{margin:0 4px 6px 0}
.vxb .vxrow button{border:1px solid #9ca3af;background:transparent;color:inherit;border-radius:6px;padding:2px 7px;cursor:pointer}
.vxb .vxn{font-size:12px;opacity:.8;margin:2px 0}
.vxl .vr{display:flex;align-items:flex-start;gap:6px;padding:3px 6px;border-radius:6px;font-size:13px}
.vxl .vr span{flex:1}.vxl .vr.amb{background:rgba(245,158,11,.18);color:inherit}.vxl .vr.vvar{border-left:3px solid #3b82f6}
.vxl .vxx{border:0;background:none;color:inherit;font-size:16px;line-height:1;cursor:pointer;opacity:.7}
/* T26c song → PP */
.sched .ci .vsong{display:block;margin:4px 0 2px auto;font-size:12px;padding:3px 9px;border-radius:5px;background:var(--plb);border-color:var(--plb);color:var(--plt);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sched .ci .vsong.lk{opacity:.45}
.vsi{font-size:12.5px;opacity:.85;margin-bottom:6px}.vsn{font-size:12.5px;color:#b26a00;margin:2px 0 4px}
.vsl .vopt{display:block;width:100%;text-align:left;margin:3px 0;padding:6px 8px;border:1px solid #9ca3af;border-radius:8px;background:none;color:inherit;font:13px system-ui;cursor:pointer}
.vsl .vopt.on{background:var(--plb);border-color:var(--plb);color:var(--plt)}
/* Verse send window, mockup 2: dark cards, one per speaker, tight under the verse line. */
.ppm.vsend{background:rgba(0,0,0,.72)}
.ppm.vsend .ppmb{background:#14161c;color:#f3f4f6;border-radius:16px;padding:14px 14px 8px;box-shadow:0 18px 48px rgba(0,0,0,.5)}
.ppm.vsend .ppmh{font-size:18px;font-weight:700;line-height:1.2;margin:0 0 8px}
.ppm.vsend .pptg{margin:0 0 8px}
.ppm.vsend .pptg button{color:#d5d8e0;border-color:#3a3f4b}
.ppm.vsend .pptgw{font-size:12px;color:#aeb4c0;margin:0 0 6px}
.ppm.vsend .ppml div{margin:0}
.ppm.vsend .vrow{background:#23262f;border-radius:10px;padding:7px 10px 6px;margin:0 0 6px}
.ppm.vsend .vrow:last-child{margin-bottom:0}
.ppm.vsend .vrowh{gap:8px}
.ppm.vsend .vrowh b{color:#f7f8fa;font-weight:650;font-size:14.5px}
.ppm.vsend .vrowt{margin:1px 0 0;color:#b7bcc6;font-size:13px;line-height:1.25}
.ppm.vsend .vcopy{border:0;background:none;color:#9aa3b2;padding:0 2px;font:600 11px/1 system-ui;cursor:pointer}
.ppm.vsend .vlang{border-color:#5c6370;background:#1a1d24}
.ppm.vsend .vlang button{color:#d5d8e0;padding:2px 7px}
.ppm.vsend .vlang button.on{background:#f4f5f7;color:#111}
.ppm.vsend .amb{color:#c4a36a;font-size:12px;margin:6px 0 0}
.ppm.vsend .ppmf{margin-top:8px;align-items:center;gap:8px}
.ppm.vsend .ppmf button{border-radius:10px;padding:7px 14px;border-color:#5c6370;color:#f3f4f6}
.ppm.vsend .ppmf button.sec{border:0;background:none;color:#c5cad3;padding:6px 8px;font-size:13px}
.ppm.vsend .ppmf button.go,.ppm.vsend .ppmf button.go:disabled{background:#fff!important;border-color:#fff!important;color:#111!important;opacity:1}
.ppm.vsend .ppmf button.go:disabled{opacity:.55;cursor:not-allowed}

/* T40: N1 action cluster (Слова · Фоно · 📖) left of the name; old 🎵 pill hidden (PP send = long-press/right-click Слова/Фоно) */
.ci.th{grid-template-columns:2.1em minmax(0,1fr) max-content clamp(120px,38%,300px)!important}
@media (max-width:700px){.ci.th{grid-template-columns:1.7em minmax(0,1fr) max-content clamp(110px,34%,260px)!important}}
.ci.th>.no{grid-column:1;grid-row:1}.ci.th>.cl{grid-column:2;grid-row:1}.ci.th>.pw{grid-column:4;grid-row:1}.ci.th .det{grid-column:2/-1}
.ci.th>.n1a{grid-column:3;grid-row:1;display:flex;gap:5px;align-items:center;align-self:center;margin:3px 0}
.ci.th>.n1a.n1e{display:none}
.n1a>button,.n1a .n1b .vb{width:40px;height:40px;min-width:40px;border-radius:9px;border:0;display:inline-flex;align-items:center;justify-content:center;gap:2px;cursor:pointer;color:#fff;padding:0;margin:0;opacity:1;-webkit-touch-callout:none;user-select:none;touch-action:manipulation}
.n1a>button[hidden],.n1a .n1b[hidden]{display:none}
.n1a .n1l{background:#1a4f8b}.n1a .n1p{background:#2f343c}.n1a .n1p.on{background:#2e7d32}
.n1a .n1b{width:44px;height:40px;display:inline-flex;justify-content:flex-start}
.sched .ci .n1a .n1b .vb{background:var(--vbib);color:#fff!important;font:700 14px system-ui,sans-serif;width:auto;min-width:44px;padding:0 6px;position:static;opacity:1;letter-spacing:.01em}
.sched .ci .n1a .n1b .vb.on{box-shadow:0 0 0 3px color-mix(in srgb,var(--vbib) 33%,transparent)}
.sched .ci .n1a .n1b .vb.vamb{background:#ffb300;color:#000!important}
.ci.th .mp3slot .play,.sched .ci .vsong{display:none!important}
.ci.th.dn>.n1a{display:none}
@media (max-width:520px){.n1a>button,.n1a .n1b .vb{width:36px;height:36px;min-width:36px}.n1a .n1b{width:40px;height:36px}.sched .ci .n1a .n1b .vb{min-width:40px}}
@media (max-width:430px){.ci.th>.n1a{grid-column:2/-1;grid-row:2;justify-self:end;margin:0 0 3px}}
/* T40b: blank source title -> no filler '♪ ХВАЛА' (name column already shows the group) */
.ci.th>.cl.n1bl{font-size:0!important}.ci.th>.cl.n1bl>.muted{display:none}
/* T41: compact N1 buttons — fit inside one text line so row heights don't change; bigger invisible hit area */
.ci.th>.n1a{align-self:start;margin:0;gap:4px;height:1.25em;overflow:visible}
.n1a>button,.n1a .n1b .vb{width:30px!important;min-width:30px!important;height:22px!important;margin:-1px 0!important;border-radius:6px!important;position:relative}
.n1a>button svg{width:15px;height:15px}
.n1a .n1b{width:40px!important;height:22px!important;margin:-1px 0}
.sched .ci .n1a .n1b .vb{min-width:34px!important;width:auto!important;padding:0 4px!important;font:700 11.5px/1 system-ui,sans-serif!important;letter-spacing:.02em}
.n1a>button::after,.n1a .n1b .vb::after{content:'';position:absolute;inset:-7px -2px}
@media (max-width:520px){.n1a>button,.n1a .n1b .vb{width:26px!important;min-width:26px!important;height:20px!important;margin:0!important}.n1a .n1b{width:36px!important;height:20px!important;margin:0}.sched .ci .n1a .n1b .vb{min-width:30px!important}.n1a>button svg{width:13px;height:13px}}
@media (max-width:430px){.ci.th>.n1a{grid-column:3;grid-row:1;justify-self:auto;margin:0}}
@media (max-width:520px){.ci.th{column-gap:4px!important}.ci.th>.n1a{gap:2px}.n1a>button,.n1a .n1b .vb{width:22px!important;min-width:22px!important}.n1a .n1b{width:28px!important}.sched .ci .n1a .n1b .vb{min-width:22px!important;padding:0 3px!important;font-size:10.5px!important}.n1a>button svg{width:12px;height:12px}}
@media (max-width:520px){.n1a .n1b:empty{display:none!important}}
/* T42: fixed slots (Слова | Фоно | 📖) + Слова in section colour */
.n1a>button.n1ph{visibility:hidden;pointer-events:none}
.n1a.n1ev{--plb:#263b54;--plt:#fff}
.n1a .n1l{background:var(--plb,#a9c4e2)!important;color:var(--plt,#0e1a28)!important}
@media (max-width:520px){.n1a>button.n1ph{display:none}}
/* T43: Слова/Фоно inline panels (style like 📖 .vp) */
.sched .ci>.n1pp{grid-column:2/-1;justify-self:end;width:min(100%,360px);box-sizing:border-box;margin:1px 0 3px;padding:5px 7px;border-left:2px solid var(--ev,#999);border-radius:4px;background:rgba(127,127,127,.09);font:12px/1.3 system-ui,sans-serif;color:var(--mut,#555);white-space:normal}
.n1pp .n1h{color:var(--tx,#111);font-weight:600}.n1pp .n1w{color:#9a6b00}.n1pp .n1f{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap;margin-top:5px}
.n1pp .n1pb{font-size:12px;padding:4px 10px;border-radius:6px;min-height:28px}.n1pp .n1s{background:var(--plb)!important;color:var(--plt)!important;border-color:var(--plb)!important}
.n1pp .n1sk{width:100%;margin:4px 0 0}
.n1a>button.sel,.n1a .n1b .vb.on{box-shadow:0 0 0 2px #fff,0 0 0 4px #1b1b1f}

/* T44 Фоно -> TASCAM: on-card dot (absolute, no row-height change) + panel rows */
.n1a .n1p{position:relative}.n1a .n1p.n1tc::before{content:'';position:absolute;top:1px;right:1px;width:6px;height:6px;border-radius:50%;background:#1f9d55;box-shadow:0 0 0 1px #fff;pointer-events:none}
.n1pp .n1tcs{margin-top:5px;color:var(--tx,#111)}.n1pp .n1tj{color:#9a6b00}.n1pp .n1tb[disabled]{opacity:.45}.n1pp .n1tb.lk{opacity:.6}
.n1pp .n1tj.ok{color:#1f7a45}

/* T47b strike toggle (panel only) */
#hb .mkt{flex:0 0 auto!important;height:26px;min-width:26px;padding:0 3px;border:1px solid #d2d2d7;border-radius:6px;background:#fff;color:#999;font-size:13px!important;line-height:24px;cursor:pointer}
#hb .mkt.on{color:#fff;background:#34a853;border-color:#34a853}

/* T48: one player — hide Apps Script bottom bar (its <audio> still plays); progress strip under the active row */
#pbar{position:fixed!important;left:-10000px!important;top:0!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
body.hasp{padding-bottom:0!important}
.sched .ci>.n1pg{grid-column:2/-1;justify-self:end;width:min(100%,360px);box-sizing:border-box;margin:1px 0 3px;padding:3px 7px 5px;font-size:12px;color:#555}
.n1pg .n1ln{height:4px;border-radius:2px;background:#e3e6ef;overflow:hidden;cursor:pointer;margin:2px 0 3px}.n1pg .n1ln i{display:block;height:100%;width:0;background:#2e7d32;transition:width .3s linear}
.n1pg.bad .n1tm{color:#b00020}.n1pg .n1tcs{margin-top:3px;color:var(--tx,#111)}.n1pg .n1tj{color:#9a6b00}.n1pg .n1tj.ok{color:#1f7a45}
.n1pg .n1f{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap;margin-top:4px}.n1pg .n1pb{font-size:12px;padding:4px 10px;border-radius:6px;min-height:28px}.n1pg .n1tb[disabled]{opacity:.45}.n1pg .n1tb.lk{opacity:.6}.n1pg .pr{margin-left:6px;min-height:24px;padding:2px 8px}

/* T51: verse placed by order but name differs - panel only */
.sched .ci>.vq{display:none}
html.lyr-panel .sched .ci>.vq{display:inline-block;justify-self:start;font-size:11px;line-height:14px;padding:0 4px;border-radius:7px;background:#f4b400;color:#000;cursor:help;grid-column:1}

/* T53 manual verses */
.sched .ci>.vch{grid-column:2/-1;justify-self:end;font-size:10px;line-height:14px;padding:0 5px;border:1px solid #c98a00;color:#8a5a00;background:#fff7e0;border-radius:7px;cursor:pointer;margin:1px 0}
.sched .ci>.vchp,.vbellp{grid-column:2/-1;font-size:12px;background:#fff;border:1px solid #d2d2d7;border-radius:6px;padding:5px 7px;margin:2px 0;color:#222}
.vbellp{position:fixed;top:44px;right:8px;z-index:9999;max-width:min(92vw,460px);max-height:60vh;overflow:auto;box-shadow:0 4px 14px rgba(0,0,0,.18)}.vbellp>div{padding:2px 0;border-bottom:1px solid #eee}
.sched .ci>.vlk{display:none}html.lyr-panel .sched .ci>.vlk{display:inline-block;grid-column:1;justify-self:start;font-size:11px;line-height:14px;padding:0 3px;border:1px solid #d2d2d7;border-radius:6px;background:#fff;cursor:pointer}
#hb .vfmb,#hb .vbell{flex:0 0 auto!important;height:26px;min-width:26px;padding:0 4px;border:1px solid #d2d2d7;border-radius:6px;background:#fff;font-size:13px!important;cursor:pointer}#hb .vbell.on{background:#fff3cd;border-color:#e0b000}
.vfm .vxta{width:100%;min-height:110px;box-sizing:border-box;font-size:15px}.vfm .vfsel{width:100%;margin:6px 0;font-size:14px}.vfm .vfrep{width:100%;min-height:56px;box-sizing:border-box;font-size:14px;margin-top:6px}.vfm .vfout button{margin-top:4px}
.vipv{font-size:14px;margin:6px 0}.vipv .vig{color:#1f7a45}.vipv .vib{color:#9a6b00}.vipv .vin{color:#777}
html.vi-mode body>*:not(#viw){display:none!important}
#viw{position:fixed;inset:0;z-index:2147483000;background:#f6f7fb;overflow:auto;font:16px/1.4 -apple-system,system-ui,Segoe UI,Roboto,sans-serif;color:#111}
#viw .vibx{max-width:560px;margin:0 auto;padding:18px 16px 40px}#viw h1{font-size:21px;margin:0 0 4px}#viw .vihd{color:#444;margin-bottom:10px;font-weight:600}
#viw .vita{width:100%;min-height:160px;box-sizing:border-box;font-size:17px;padding:10px;border:1px solid #c8ccd6;border-radius:10px}
#viw .visv{width:100%;font-size:18px;padding:12px;border:0;border-radius:10px;background:#2e7d32;color:#fff;margin-top:6px}#viw .visv[disabled]{opacity:.5}
#viw .vist{margin-top:10px;font-weight:600;color:#1f7a45}#viw .vinote{margin-top:14px;color:#777;font-size:13px}

/* T55 attachments (panel only) */
.svc.atdz{outline:3px dashed #2b7de9;outline-offset:2px;background:rgba(43,125,233,.06)}
.atic{display:inline-flex;gap:2px;margin-left:6px;position:relative;vertical-align:middle}
.atb{border:0;background:none;cursor:pointer;font-size:1.05em;padding:0 2px}
.atpop{position:absolute;z-index:60;top:100%;right:0;min-width:240px;max-width:340px;background:#fff;color:#222;border:1px solid #bbb;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.2);padding:8px 10px;font:13px/1.35 system-ui,sans-serif;text-align:left}
.atpn{font-weight:600;word-break:break-all}.atpm{color:#555;margin-top:3px}.atps{color:#999;margin-top:5px;font-size:11px}
.atadd{display:flex;gap:8px;align-items:center;padding:4px 6px;border-top:1px dashed #bbb;font-style:italic}
.atadd .atno{font-weight:700;min-width:1.6em}.attag{font-size:11px;color:#fff;background:#8a6d3b;border-radius:4px;padding:0 5px;font-style:normal}
.atbg{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:200;display:flex;align-items:center;justify-content:center}
.atwin{background:#fff;color:#222;border-radius:12px;width:min(620px,92vw);max-height:84vh;overflow:auto;padding:16px 18px;box-shadow:0 10px 40px rgba(0,0,0,.35);font:15px/1.35 system-ui,sans-serif}
.atwh{font-weight:700;font-size:17px;margin-bottom:6px;word-break:break-word}.atws{white-space:pre-line;color:#555;font-size:13px;margin-bottom:10px}
.atwl{display:flex;flex-direction:column;gap:4px}
.atwr{display:flex;gap:10px;text-align:left;border:1px solid #ddd;background:#fafafa;border-radius:8px;padding:8px 10px;cursor:pointer;font:inherit}
.atwr:hover{background:#e9f1fd;border-color:#2b7de9}.atwr .atno{font-weight:700;min-width:2em}
.atwe{display:block;width:100%;margin-top:10px;padding:10px;border:2px dashed #2b7de9;background:#f3f8ff;border-radius:8px;font:inherit;font-weight:600;cursor:pointer}
.atwc{display:block;margin:10px auto 0;border:0;background:none;color:#666;cursor:pointer;font:inherit}
.atbn{position:fixed;top:0;left:0;right:0;z-index:210;background:#1f2937;color:#fff;padding:8px 40px 8px 12px;font:14px/1.35 system-ui,sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.3)}
.atbx{position:absolute;right:8px;top:6px;border:0;background:none;color:#fff;font-size:18px;cursor:pointer}
.atbi{margin:3px 0}.atbi.ok .atbt{color:#86efac}.atbi.err .atbt{color:#fca5a5}
.atbp{height:4px;background:rgba(255,255,255,.2);border-radius:2px;margin-top:3px}.atbp i{display:block;height:100%;width:0;background:#60a5fa;border-radius:2px}.atbi.ok .atbp i{background:#22c55e}.atbi.err .atbp{display:none}

/* T56 */
.atic{margin-left:6px}.cl .atic{display:inline-flex}
.atwin.atpk{display:flex;flex-direction:column;overflow:hidden}.atpk .atwl{overflow:auto;flex:1 1 auto;min-height:80px}.atwft{flex:0 0 auto;border-top:1px solid #eee;padding-top:6px;background:#fff}
.atwft .atwe+.atwe{margin-top:6px}
.atkv{display:grid;gap:3px;margin:6px 0 10px}.atkr{display:flex;gap:10px}.atkr b{min-width:110px;color:#555;font-weight:600}.atkr span{word-break:break-all}
.atsub{font-weight:600;margin-top:4px}.atwi{padding:3px 0 3px 10px;color:#333}
.atlk{display:flex;gap:8px;margin:12px 0 4px;flex-wrap:wrap}.atbtn{display:inline-block;padding:8px 12px;border:1px solid #2b7de9;border-radius:8px;color:#2b7de9;text-decoration:none;font-weight:600}

/* T57: one condensed icon cluster per row (panel only) */
html.lyr-panel .ci.th>.n1a.hasat{gap:3px}
html.lyr-panel .ci.th>.n1a.hasat>button,html.lyr-panel .n1a.hasat .n1b .vb{width:32px;height:32px;min-width:32px;border-radius:7px}
html.lyr-panel .n1a.hasat .n1b{width:auto;height:32px}html.lyr-panel .sched .ci .n1a.hasat .n1b .vb{min-width:34px;padding:0 4px;font-size:12px}
html.lyr-panel .n1a.hasat .n1b:empty{display:none}html.lyr-panel .n1a.hasat svg{width:16px;height:16px}
html.lyr-panel .ci.th>.n1a.n1e.hasat{display:flex}
.n1a .atic{margin:0;gap:3px}.n1a .atb{width:32px;height:32px;border-radius:7px;background:#eef2f7;border:1px solid #c9d3df;font-size:16px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.atadd{display:block;padding:0}.atah{display:flex;gap:8px;align-items:center;padding:4px 6px}.atah .atic{margin-left:auto}
.atren{cursor:text;border-bottom:1px dotted transparent}.atren:hover{border-bottom-color:#999}
.atpen{border:0;background:none;cursor:pointer;color:#777;font-size:14px;padding:0 2px}
.atin{font:inherit;font-style:normal;padding:1px 4px;border:1px solid #2b7de9;border-radius:4px;min-width:16em}
.atsubs{padding:0 6px 4px 2.2em}
.atsr{display:flex;gap:8px;align-items:center;padding:3px 6px;border:1px solid transparent;border-radius:6px;font-style:normal;cursor:grab;background:rgba(0,0,0,.02);margin:2px 0}
.atsr .atic{margin-left:auto}.atgrip{color:#aaa;letter-spacing:-2px}.atsl{font-weight:700;min-width:2.4em}
.atsr.atdrag{opacity:.4}.atsr.atbef{border-top:3px solid #2b7de9}.atsr.ataft{border-bottom:3px solid #2b7de9}
/* T60: blank multi-file title + 📎N, move between events (amber = changed, like ✎ изм.), history + Undo */
.attl.atblank{min-width:9em;display:inline-block;border-bottom:1px dashed #999}.attl.atblank::before{content:'без названия — нажмите';color:#aaa;font-style:italic}
.atcnt{font-size:11px;font-style:normal;color:#555;background:#eef2f7;border:1px solid #c9d3df;border-radius:6px;padding:0 5px}
.atb.atmv,.n1a .atb.atmv{background:#fff7e0;border-color:#c98a00;box-shadow:0 0 0 2px #ffb30055}
.atsr.atmvr{background:#fff7e0;border-color:#c98a00}.atmvtag{font-size:11px;color:#8a5a00;font-style:normal}
.atht{font-size:10px;line-height:14px;padding:0 5px;border:1px solid #c98a00;color:#8a5a00;background:#fff7e0;border-radius:7px;cursor:pointer;margin-left:3px;align-self:center;font-style:normal}
.athp{font-size:12px;background:#fff;border:1px solid #d2d2d7;border-radius:6px;padding:5px 7px;margin:2px 6px;color:#222;font-style:normal;grid-column:1/-1}
.athr{display:flex;gap:8px;align-items:center;padding:2px 0}.atund{color:#999}
.atun{border:1px solid #c98a00;background:#fff7e0;color:#8a5a00;border-radius:6px;cursor:pointer;font-size:12px;padding:0 6px;margin-left:8px}
.atbn .atun{background:#374151;color:#fde68a;border-color:#fde68a}
.atmvt{outline:3px dashed #c98a00!important;outline-offset:1px;background:rgba(255,179,0,.10)!important}
.atwin.atmc{width:min(520px,92vw)}
/* T61: remove (Корзина) + audio MP3 ▶ / Фоно */
.atrm{border:1px solid #d9a3a3;background:#fff5f5;color:#9b2c2c;border-radius:6px;cursor:pointer;font-size:12px;padding:0 6px;margin-left:8px}
.atrms{opacity:.55;border-color:transparent;background:none}.atsr:hover .atrms{opacity:1;border-color:#d9a3a3}
.ataud{border-top:1px solid #eee;margin-top:8px;padding-top:6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ataud .atsub{flex:1 0 100%}.ataud .atws{flex:1 0 100%;margin:0}
.atpl.on{background:#2b7de9;color:#fff}
/* T67: compact phonogram strip — one line: ▶/⏸ · thin bar · time · SD1 SD2 (buttons carry state); error line only on failure */
.n1pg .n1rw{display:flex;align-items:center;gap:6px}
.n1pg .n1pk{flex:0 0 auto;width:24px;height:22px;min-height:22px;padding:0;border-radius:5px;font-size:11px;line-height:1;background:var(--btn,#eef0f4);color:var(--tx,#111);border:1px solid var(--rule,#cfd3db)}
.n1pg .n1rw .n1ln{flex:1 1 auto;margin:0}
.n1pg .n1tm{flex:0 0 auto;font-size:11px;color:var(--mut,#555);font-variant-numeric:tabular-nums}
.n1pg .n1tf,.n1pp .n1f{display:flex;gap:4px;margin:0;flex:0 0 auto}
.n1pg .n1tb,.n1pp .n1tb{min-width:44px;min-height:22px!important;padding:2px 6px!important;font:600 11px/1 system-ui,sans-serif!important;border-radius:5px;background:var(--btn,#eef0f4);color:var(--tx,#111);border:1px solid var(--rule,#cfd3db)}
html .sched .ci .n1tb.ok,html .n1tb.ok,html .atsd.ok{background:#1f7a45!important;color:#fff!important;border-color:#1f7a45!important}
html .sched .ci .n1tb.busy,html .n1tb.busy,html .atsd.busy{background:#ffb300!important;color:#000!important;border-color:#ffb300!important}
.n1tb.busy::before,.atsd.busy::before{content:'';display:inline-block;width:8px;height:8px;margin-right:4px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-1px;animation:t67s .8s linear infinite}
html .sched .ci .n1tb.err,html .n1tb.err,html .atsd.err{background:#b3261e!important;color:#fff!important;border-color:#b3261e!important}
@keyframes t67s{to{transform:rotate(360deg)}}
.n1pg .n1tj,.n1pp .n1tj{color:#b3261e!important;font-size:11px;margin-top:2px;text-align:right}
html[data-th=dark] .n1pg .n1tj,html[data-th=dark] .n1pp .n1tj,html[data-th=dark] .atwe2{color:#ff8a80!important}
.sched .ci>.n1pg{padding:2px 7px 3px}
.n1pg .n1ln{background:var(--rule,#e3e6ef)}
.ataud .atsd{min-width:56px;color:var(--tx,#333);border-color:var(--rule,#bbb)}.atwe2{color:#b3261e!important}
/* T67b: tidy toolbar — no horizontal scroll, date selector 50% smaller, small one-row buttons that wrap if needed */
html,body{max-width:100%;overflow-x:hidden}
#hb .hi{flex-wrap:wrap!important;row-gap:3px;gap:3px!important;min-height:0!important;padding:2px 6px!important}
#hb .hi #hprev,#hb .hi #hnext{height:20px!important;min-height:20px!important;min-width:18px!important;width:auto!important;padding:0 4px!important;font-size:11px!important;line-height:18px!important}
#hb .hi #hdate{height:20px!important;min-height:20px!important;padding:0 5px!important;font-size:11px!important;line-height:18px!important}
#hb .hi>button:not(#hprev):not(#hnext):not(#hdate),#hb .hi .fzb>button,#hb .hi #hlang{height:24px!important;min-height:24px!important;min-width:24px!important;padding:0 4px!important;font-size:12px!important;line-height:22px!important}
#hb .hi #hlang *{font-size:12px!important}
#hb .hi>#hdate+#hnext{margin-right:6px}
.t67gb{box-sizing:border-box;display:flex;gap:4px;align-items:center;margin:4px 0 2px;max-width:100%}
html .t67gb #gsel{flex:1 1 auto!important;min-width:0!important;width:auto!important;max-width:220px!important;height:24px!important;min-height:24px!important;font-size:12px!important;padding:0 4px!important;border-radius:6px!important;background:var(--btn,#fff)!important;color:var(--tx,#111)!important;border:1px solid var(--rule,#ccc)!important}
.t67gb #hsearch{flex:0 0 auto;height:24px!important;min-height:24px!important;width:28px;min-width:28px;padding:0!important;font-size:12px!important;line-height:22px!important;border-radius:6px}
.t67gb.t67nl{justify-content:flex-end;padding:0 8px}
/* T67c: attachment audio strip (same look as the фоно strip) */
.sched .ci>.atst{grid-column:2/-1;justify-self:end;width:min(100%,360px)}
.atst{box-sizing:border-box;margin:1px 0 3px;padding:2px 7px 3px;font-size:12px;color:var(--mut,#555)}
.atsr>.atst{flex:1 0 100%;width:100%;max-width:360px;margin-left:auto}
.atst .n1rw{display:flex;align-items:center;gap:6px}
.atst .atpk{flex:0 0 auto;width:24px;height:22px;min-height:22px;padding:0;border-radius:5px;font-size:11px;line-height:1;background:var(--btn,#eef0f4);color:var(--tx,#111);border:1px solid var(--rule,#cfd3db)}
.atst .n1ln{flex:1 1 auto;height:4px;border-radius:2px;background:var(--rule,#e3e6ef);overflow:hidden;cursor:pointer}.atst .n1ln i{display:block;height:100%;width:0;background:#2e7d32;transition:width .3s linear}
.atst .n1tm{flex:0 0 auto;font-size:11px;color:var(--mut,#555);font-variant-numeric:tabular-nums}
.atst .n1tf{display:flex;gap:4px;flex:0 0 auto}
.atst .atsd{min-width:44px;min-height:22px;padding:2px 6px;font:600 11px/1 system-ui,sans-serif;border-radius:5px;background:var(--btn,#eef0f4);color:var(--tx,#111);border:1px solid var(--rule,#cfd3db)}
.atst .atse{color:#b3261e;font-size:11px;margin-top:2px;text-align:right}html[data-th=dark] .atst .atse{color:#ff8a80}
.atb.atmu svg{width:14px;height:14px;vertical-align:-2px}
.atsr:has(>.atst){flex-wrap:wrap}
/* T68: per-service collapse only (collapse-all ⊟ removed); collapsed service hides its "+ стихи"; Program vs PP Lyrics view */
.sched .tdiv .fa{display:none!important}
.sched .svc.cz .vadw{display:none!important}
html.lpx-prog .t67gb{display:none!important}
html.lpx-pp .sched{display:none!important}
html.lpx-pp .t67gb{justify-content:flex-start!important;margin-left:0!important;width:auto!important;padding:0 8px!important}
html.lpx-pp .t67gb #gsel{max-width:none!important}
html.lpx-pp .t67gb::after{content:'Выберите группу или 🔍 поиск';font-size:12px;color:var(--mut,#777);margin-left:6px}
html.lpx-pp .t67gb.t67nl::after{content:none}
.atst .atinf{flex:0 0 auto;width:22px;height:22px;min-height:22px;padding:0;border-radius:50%;font-size:13px;line-height:1;background:transparent;color:var(--mut,#555);border:1px solid var(--rule,#cfd3db)}
html.lpx-prog #app>.gblk{display:none!important}
html.lpx-pp #app>.sfoot{display:none!important}
html.lpx-pp .t67gb::after{content:none!important}
/* T68c: empty verse slot (panel) + ✍ add/edit in the verse view; 🔗 row link replaced by these */
.sched .ci .vb.vemp{opacity:.55;background:transparent!important;color:var(--tx,#7f1d1d)!important;border:1px dashed var(--rule,#b9a3a3)!important}
.sched .ci .vb.vemp:hover{opacity:1}
.vp .vedit{margin-top:4px;font-size:11.5px;padding:2px 8px;border-radius:6px;background:var(--btn,#eef0f4);color:var(--tx,#111);border:1px solid var(--rule,#cfd3db);cursor:pointer}
.vprev{margin-top:6px;padding:8px;border:1px solid #c5cedd;border-radius:8px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.12);font-family:system-ui,sans-serif;color:#1a1a1a;text-align:left}
.vprevh{font-weight:700;font-size:14px}
.vpreva{margin:4px 0 6px;font-size:12px;color:#8a4b00;background:#fff4e0;border-radius:4px;padding:2px 6px;display:inline-block}
.vprevcols{display:flex;gap:8px}
.vprevcols>div{flex:1;min-width:0;background:#f6f8fb;border-radius:6px;padding:6px}
.vprevcols b{display:block;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#555}
.vprevn{font-size:10px;color:#777;margin-bottom:2px}
.vprevr{font-size:12px;color:#333;margin:2px 0}
.vprev p{margin:4px 0 0;font-size:13px;line-height:1.35}
.vprevx{margin-top:8px;font-size:12px}
.sched .ci>.vlk{display:none!important}
/* T46: ↻ reset next to All verses (same AM/PM colour), Undo button in toast */
.sched .svc .vall .vrst{margin-left:6px;padding:4px 8px;min-width:0}
.pptoast .vrsu{margin-left:10px;font:inherit;padding:2px 8px;border-radius:6px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer}
#hb .hi .vrst{font-size:12px;padding:2px 8px;margin:0 4px;border-radius:6px;border:1px solid #3f75b5;background:transparent;color:inherit;cursor:pointer}
.ppm .pptg{margin-top:6px}.ppm .pptgw{color:#b3261e;font-weight:600;font-size:13px;margin:4px 0}
.ppm .pphs{font-size:12px;opacity:.8;margin-top:4px}.ppm .ppmf .ppcp{margin-right:auto;font-size:12px}
.ppm .ppmf button.go:disabled{background:#9ca3af!important;border-color:#9ca3af!important;color:#f3f4f6!important;opacity:.7;cursor:not-allowed}
.ppm .ppms{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0;font-size:12px}
.ppm .ppms button{padding:4px 10px;border-radius:8px;border:1px solid #c4b5fd;background:#f5f3ff;color:#4c1d95;font-size:12px}
.ppm .ppms button:disabled{background:#e5e7eb;border-color:#d1d5db;color:#9ca3af;cursor:not-allowed}
.ppm .ppmh{color:#6b7280}
.ppm .ppst{font-size:12px;color:#6b7280}.ppm .ppst select{font-size:12px;margin-left:2px}
.ppai{font-size:.85em;margin-right:auto;display:flex;align-items:center;gap:.2em} /* T54 */

/* T70F */
.vmp3{display:inline-block;margin:4px 0 2px 6px;font-size:13px;padding:2px 8px;border-radius:5px;background:#0d47a1;color:#fff;border:0;cursor:pointer}
.vmp3i{border-top:1px solid #ddd;padding:6px 0;font:13px system-ui,sans-serif;word-break:break-word}.vmp3i b{color:#555}

/* Rey 8:37 PM: unmatched TASCAM file (same size as .vmp3) */
.vunk{display:inline-block;margin:4px 0 2px 6px;font-size:13px;padding:2px 8px;border-radius:5px;background:#ffd600;color:#212121;border:0;cursor:pointer;font-weight:700}

/* G1: 🎧 inline with the row icons (.n1a) */
.n1a>button.vmp3{background:#0d47a1!important;color:#fff;font-size:12px;width:auto!important;min-width:30px!important;padding:0 5px!important;margin:-1px 0!important;display:inline-flex}
/* G1: public / not signed in = view-only verses */
html.vro .vp .vpp,html.vro .vall,html.vro .vadw,html.vro .vaddt,html.vro .vp .vedit{display:none!important}

/* I (Rey 12:32 AM Nov 3): one audio icon, fill by kind; sits next to the name like 📖 (order: lyrics · attachments · audio · 📖 | name) */
.n1a .n1l{order:1}.n1a .atic{order:2}.n1a .n1p{order:3}.n1a .n1b{order:4}
/* J (Rey 1:16 AM mockup 5): status tag column; colours as vars */
:root{--tg-g:#2e9e48;--tg-w:#e0a800;--tg-n:#8a8f98;--tg-fg:#fff}
.ci.th{grid-template-columns:4.4em minmax(0,1fr) max-content clamp(120px,38%,300px)!important}
@media (max-width:700px){.ci.th{grid-template-columns:3.9em minmax(0,1fr) max-content clamp(100px,32%,260px)!important}}
.ci.th>.no{justify-self:start;min-width:1.2em}
.ci.th>.n1tag{grid-column:1;grid-row:1;justify-self:end;align-self:start;margin:3px 0 0;padding:1px 4px;min-width:30px;height:16px;border:0;border-radius:3px;font:700 10px/14px system-ui,sans-serif;color:var(--tg-fg);white-space:nowrap;cursor:pointer;text-align:center;z-index:1}
.n1tag.n1t-o{background:var(--tg-n);text-decoration:line-through;opacity:.8}.n1xt{font-size:12px;opacity:.75;margin:2px 0 6px 6px}.n1dkb{margin:6px 0 8px;padding:6px 8px;border:1px solid rgba(128,128,128,.4);border-radius:6px;font-size:13px;line-height:1.4}.n1tag.n1t-g{background:var(--tg-g)}.n1tag.n1t-w{background:var(--tg-w)}.n1tag.n1t-n{background:var(--tg-n)}
.n1tag.sel{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #333}
.n1a>button.n1p{display:none!important}
.sched .ci>.vunk.n1uq{display:none!important}
.sched .ci>.n1pg{grid-column:2/-1!important;justify-self:stretch!important;width:auto!important;background:var(--btn,#f6f6f8);border-left:3px solid var(--ev,#d9534f);border-radius:3px;padding:5px 7px!important;margin:2px 0 4px}
.n1pg .n1rw{gap:8px}.n1pg .n1id3{order:9;background:#334!important;color:#fff!important;border-color:#334!important}.n1pg .n1tf{display:none!important}
.vmp3s{border-top:1px solid #ddd;padding:6px 0;display:flex;gap:6px;align-items:center;flex-wrap:wrap;font:13px system-ui,sans-serif}.vmp3s .n1tb.ok{background:#2e9e48;color:#fff}
.n1a .n1b:empty{width:0!important;min-width:0!important;margin:0!important;display:none}
.n1a>button.vmp3{display:none!important}
.n1pg .n1id3{flex:0 0 auto;height:22px;min-height:22px;padding:0 8px;border-radius:5px;font:700 10.5px/1 system-ui,sans-serif;border:1px solid}
.n1pg .n1id3[hidden]{display:none}
.n1pg .n1pk[disabled]{opacity:.4}

/* K: verse buttons inside the last rows' free space when they fit (JS sets .vfit + margin on the first block) */
.sched .svc.vfit .vadw,.sched .svc.vfit .vall{position:relative;z-index:2;pointer-events:none}.sched .svc.vfit .vadw button,.sched .svc.vfit .vall button{pointer-events:auto}
/* L (Rey 7:16 AM pt1539u): '📖 Все стихи' button = same dark red as the 📖 number icon (shared var), all services/playlists */
:root{--vbib:#b42318;--vbib-h:#8f1c14;--vbib-a:#6f160f}
.sched .svc .vall .vpp,.sched .svc .vall .vpp.plam,.sched .svc .vall .vpp.plpm{background:var(--vbib)!important;border:1px solid var(--vbib)!important;color:#fff!important}
.sched .svc .vall .vpp:hover{background:var(--vbib-h)!important;border-color:var(--vbib-h)!important}
.sched .svc .vall .vpp:active{background:var(--vbib-a)!important;border-color:var(--vbib-a)!important}

/* stage-o: past program (expired tags) - no SD1/SD2 send strip */
.n1pg.n1exp .n1tf,.n1pg.n1exp .n1tj{display:none!important}

/* stage-p: public past program = plain label (no player / Show in folder) */
.n1tag.n1t-plain{cursor:default!important}
/* stage-t: 🎧 window Folder · Resend · History (operators only) */
.vsh{margin-top:4px}.vshr{display:flex;gap:6px;flex-wrap:wrap}.vshb{font:12px system-ui,sans-serif;padding:2px 8px;border:1px solid #bbb;border-radius:6px;background:#f6f6f6;color:#222;text-decoration:none;cursor:pointer}
.vshl{margin-top:4px;font:12px system-ui,sans-serif;color:#444;max-height:12em;overflow:auto}.vshi{padding:2px 0;border-top:1px dotted #ccc}.vshi.bad{color:#b03a2e}.vshb2{text-decoration:none;margin-left:4px}
.vmp3t{margin-top:6px;padding-top:4px;border-top:1px dashed #ddd;font-size:12px;color:#666}.vmp3t b{color:#777;font-weight:600}
.vmp3q{margin-top:4px}

/* t111 (Ray 11:31 PM Nov 3): soft 'possible mismatch' - muted dotted underline, hover text only */
.n1tag.n1mm{text-decoration:underline dotted;text-decoration-color:rgba(120,120,120,.55);text-underline-offset:3px}
