:root{--primary:#315c4c;--primary2:#447965;--bg:#f4f7f5;--text:#27332e;--muted:#6b7972;--side:#162a23}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:linear-gradient(180deg,var(--side),#203d33);color:#fff;padding:24px 15px;z-index:20}.brand{display:flex;align-items:center;gap:13px;padding:4px 12px 28px;font-size:19px;font-weight:700;line-height:1.05}.brand i{font-size:34px}.brand small{font-weight:400;color:#b8ccc4}.sidebar nav{display:grid;gap:7px}.sidebar nav a{color:#d7e3de;text-decoration:none;padding:12px 14px;border-radius:10px;display:flex;gap:12px;align-items:center}.sidebar nav a:hover{background:#ffffff18;color:white}.topbar{position:fixed;left:245px;right:0;top:0;height:68px;background:white;display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:0 30px;z-index:10;border-bottom:1px solid #e5ebe8}.btn-menu{display:none;border:0;background:none;font-size:26px}.content{margin-left:245px;padding:100px 34px 40px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.page-head h1{font-size:29px;margin:0;font-weight:750}.page-head p{margin:5px 0;color:var(--muted)}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover{background:var(--primary2);border-color:var(--primary2)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:25px}.stat,.panel,.song-card,.event-card{background:white;border:1px solid #e3e9e6;border-radius:15px;box-shadow:0 4px 18px #1f3b3010}.stat{padding:22px;display:flex;align-items:center;gap:17px}.stat i{width:48px;height:48px;border-radius:12px;background:#e9f3ef;color:var(--primary);display:grid;place-items:center;font-size:23px}.stat b{display:block;font-size:27px}.stat span{color:var(--muted)}.panel{padding:23px}.table{vertical-align:middle}.table>:not(caption)>*>*{padding:14px 10px;border-bottom-color:#edf1ef}.search{display:flex;max-width:680px;margin-bottom:20px}.search input{flex:1;border:1px solid #d9e2de;border-radius:10px 0 0 10px;padding:12px 15px;outline:none}.search button{border:0;background:var(--primary);color:white;padding:0 22px;border-radius:0 10px 10px 0}.song-grid,.list-grid{display:grid;gap:14px}.song-card{padding:17px;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:18px}.song-tone{width:55px;height:55px;border-radius:50%;background:#e9f3ef;color:var(--primary);display:grid;place-items:center;font-weight:800;font-size:18px}.song-card h5,.event-card h5{margin:0 0 4px}.song-card p,.event-card p{margin:0;color:var(--muted)}.song-meta{display:flex;gap:14px;margin-top:8px;color:#708078;font-size:13px}.event-card{padding:17px;display:flex;align-items:center;gap:18px}.event-date{width:60px;text-align:center;border-radius:10px;background:#e9f3ef;padding:8px}.event-date b{font-size:23px;display:block}.event-date span{font-size:11px}.tone-badge{display:inline-block;background:#e9f3ef;color:var(--primary);padding:5px 10px;border-radius:8px;font-weight:800}.form-card{max-width:1050px}.form-card label{font-weight:600;margin-bottom:6px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.login-bg{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#487863,#14271f)}.login-card{width:min(420px,92vw);background:white;padding:38px;border-radius:22px;text-align:center;box-shadow:0 25px 60px #0005}.login-icon{margin:auto auto 15px;width:65px;height:65px;border-radius:50%;background:#e8f3ee;color:var(--primary);display:grid;place-items:center;font-size:38px}.login-card label{display:block;text-align:left;font-weight:600;margin-bottom:6px}.empty{text-align:center;color:var(--muted);padding:45px}.field-validation-error{color:#b42318;font-size:13px}@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:.25s}.menu-open .sidebar{transform:none}.topbar{left:0;justify-content:space-between}.btn-menu{display:block}.content{margin-left:0;padding:90px 18px 30px}.stats{grid-template-columns:repeat(2,1fr)}.page-head{align-items:flex-start}.song-card{grid-template-columns:50px 1fr}.song-card>a{grid-column:2}.event-card{align-items:flex-start;flex-wrap:wrap}}@media(max-width:540px){.stats{grid-template-columns:1fr}.page-head{display:grid}.page-head .btn{width:100%}.event-card{display:grid;grid-template-columns:55px 1fr}.event-card>.badge,.event-card>a{grid-column:2}.song-meta{flex-wrap:wrap}.panel{padding:14px}}

.function-grid{display:flex;gap:1rem;flex-wrap:wrap}.function-grid label{padding:.75rem 1rem;border:1px solid #dfe5ee;border-radius:12px;background:#f8fafc}.role-tags{display:flex;gap:.35rem;flex-wrap:wrap}.role-tags span{background:#eef4ff;color:#315caa;border-radius:20px;padding:.2rem .55rem;font-size:.78rem}.chord-editor{font-family:Consolas,monospace;line-height:1.55}.preview-box{min-height:440px;max-height:560px;overflow:auto;border:1px solid #e1e7ef;border-radius:12px;padding:1.25rem;background:#fff}.chord-toolbar,.transpose-bar{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.transpose-bar>div{text-align:center;min-width:100px}.transpose-bar small,.transpose-bar strong{display:block}.chord-sheet{font-family:Consolas,'Courier New',monospace;font-size:1.02rem;line-height:1.25;white-space:nowrap;overflow-x:auto}.chord-line{margin-bottom:.55rem;min-height:2.25rem}.chord-line.blank{min-height:1rem}.chords{color:#1f5fbf;font-weight:800;min-height:1.25rem}.lyrics{color:#202735}.song-view{max-width:960px;margin:auto}.song-print-title{text-align:center;margin-bottom:2rem}.song-notes{margin-top:2rem;border-top:1px solid #e4e8ee;padding-top:1rem}@media print{.sidebar,.topbar,.no-print{display:none!important}.content{margin:0!important;padding:0!important}.panel{box-shadow:none!important;border:0!important}.chord-sheet{font-size:12pt;overflow:visible}.song-view{max-width:none}.song-print-title{display:block}}@media(max-width:700px){.chord-sheet{font-size:.9rem}.preview-box{min-height:280px}.transpose-bar .btn{flex:1}}

/* Etapa 4: instrumentos, rol dominical, ensayos y reuniones */
.form-hint{margin:-2px 0 10px;color:var(--muted);font-size:.88rem}.instrument-grid label{min-width:145px;display:flex;align-items:center;gap:8px;cursor:pointer}.instrument-grid i{color:var(--primary)}.head-actions{display:flex;gap:10px}.month-filter{display:grid;grid-template-columns:220px 130px auto;gap:12px;max-width:620px;margin-bottom:22px}.assignment-title{display:flex;align-items:center;gap:12px;margin-bottom:9px}.assignment-title i{width:42px;height:42px;border-radius:11px;background:#e9f3ef;color:var(--primary);display:grid;place-items:center;font-size:20px}.assignment-title b,.assignment-title small{display:block}.assignment-title small{color:var(--muted);font-weight:400}.assignment-select{min-height:46px}.people-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.people-check-grid label{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid #dfe7e3;background:#f9fbfa;border-radius:11px;cursor:pointer}.people-check-grid label:has(input:checked){border-color:#75a590;background:#edf7f2;color:#244d3d}.month-role-grid{display:grid;gap:18px}.role-card{display:grid;grid-template-columns:125px 1fr;background:#fff;border:1px solid #e0e8e4;border-radius:18px;overflow:hidden;box-shadow:0 8px 28px #1f3b3010}.role-card-date{background:linear-gradient(145deg,#274e40,#477b67);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px}.role-card-date span{font-size:.7rem;letter-spacing:.12em}.role-card-date b{font-size:3rem;line-height:1}.role-card-date small{text-transform:uppercase;margin-top:4px}.role-card-body{padding:20px 24px}.role-card-head{display:flex;justify-content:space-between;gap:12px}.role-card-head h4{margin:0;text-transform:capitalize}.role-card-head p{color:var(--muted);margin:5px 0 15px}.role-positions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.role-positions>div{background:#f6f9f7;border-radius:10px;padding:10px 12px}.role-positions span,.role-positions strong{display:block}.role-positions span{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.role-positions .wide{grid-column:span 2}.dashboard-section{margin-bottom:28px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:13px}.section-heading h2{font-size:1.35rem;margin:2px 0 0}.eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.11em;color:var(--primary2)}.small-link{text-decoration:none;color:var(--primary);font-weight:600}.weekly-role{display:grid;grid-template-columns:190px 1fr;background:#fff;border:1px solid #dfe8e3;border-radius:20px;overflow:hidden;box-shadow:0 10px 35px #1f3b3012}.weekly-role-intro{background:linear-gradient(150deg,#173329,#3c755e);color:#fff;padding:28px;text-align:center;display:flex;flex-direction:column;justify-content:center}.weekly-role-intro>span{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.weekly-role-intro>strong{font-size:4rem;line-height:1;margin:4px}.weekly-role-intro>small{text-transform:capitalize}.weekly-role-intro p{margin:18px 0 0;font-size:.84rem;color:#d3e6dd}.weekly-positions{padding:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.position-card{border:1px solid #e3eae7;border-radius:14px;padding:15px;background:#fbfcfc;display:grid;grid-template-columns:38px 1fr;column-gap:10px}.position-card i{grid-row:span 2;width:38px;height:38px;border-radius:10px;background:#e9f3ef;color:var(--primary);display:grid;place-items:center}.position-card span{font-size:.73rem;text-transform:uppercase;color:var(--muted)}.position-card strong{font-size:.95rem}.position-card.featured{background:#edf7f2;border-color:#bdd9cc}.position-card.coro-card{grid-column:span 2}.dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.empty-state i{font-size:2.4rem;color:#9aaba3}.empty-state h4{margin-top:10px}.empty-state.compact{padding:30px}.rehearsal-head{display:flex;justify-content:space-between;gap:12px}.rehearsal-head h3{font-size:1.2rem;margin:10px 0 2px}.rehearsal-head p{color:var(--muted)}.date-pill{background:#e9f3ef;color:var(--primary);font-weight:800;padding:5px 9px;border-radius:8px;text-transform:uppercase;font-size:.75rem}.mini-song-list{display:grid;gap:7px}.mini-song-list>div{display:grid;grid-template-columns:28px 1fr 55px 25px;align-items:center;padding:9px 0;border-top:1px solid #edf1ef}.mini-song-list>div>span{width:24px;height:24px;border-radius:50%;background:#f0f4f2;display:grid;place-items:center;font-size:.75rem}.mini-song-list em{font-style:normal;font-weight:800;color:var(--primary)}.mini-song-list a{color:#cc2626}.meeting-list{display:grid;gap:10px}.meeting-card{display:grid;grid-template-columns:55px 1fr;gap:13px;background:#fff;border:1px solid #e1e8e5;border-radius:14px;padding:13px}.meeting-card>div{background:#e9f3ef;border-radius:10px;display:grid;place-items:center;padding:7px}.meeting-card>div b{font-size:1.35rem;line-height:1}.meeting-card>div span{font-size:.65rem}.meeting-card h5{font-size:.95rem;margin:0}.meeting-card p,.meeting-card small{color:var(--muted);margin:2px 0;display:block}.rehearsal-songs{display:grid;gap:10px}.rehearsal-song{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;padding:13px;border:1px solid #e2e9e6;border-radius:12px}.song-order{width:38px;height:38px;border-radius:50%;background:#e9f3ef;color:var(--primary);font-weight:800;display:grid;place-items:center}.rehearsal-song h5{margin:0}.rehearsal-song p{margin:4px 0;color:var(--muted)}.youtube-link{color:#c62828;text-decoration:none;font-size:.88rem}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.weekly-role{grid-template-columns:150px 1fr}.weekly-positions{grid-template-columns:repeat(2,1fr)}.people-check-grid{grid-template-columns:repeat(2,1fr)}.role-positions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.month-filter{grid-template-columns:1fr}.weekly-role{grid-template-columns:1fr}.weekly-role-intro{padding:20px}.weekly-role-intro>strong{font-size:3rem}.weekly-positions{grid-template-columns:1fr;padding:14px}.position-card.coro-card{grid-column:auto}.people-check-grid{grid-template-columns:1fr}.role-card{grid-template-columns:1fr}.role-card-date{padding:14px;display:grid;grid-template-columns:auto auto auto;gap:8px}.role-card-date b{font-size:2rem}.role-positions{grid-template-columns:1fr}.role-positions .wide{grid-column:auto}.rehearsal-song{grid-template-columns:38px 1fr}.rehearsal-song form{grid-column:2}.head-actions{width:100%}.head-actions .btn{width:100%}}


/* Etapa 10: Tesorería y cuotas */
.treasury-grid{display:grid;grid-template-columns:1.5fr .75fr;gap:22px}.payment-list{display:grid;gap:10px}.payment-item{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid #e3eae7;border-radius:12px}.payment-item i{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#e9f3ef;color:var(--primary);font-size:1.2rem}.payment-item strong,.payment-item span,.payment-item small{display:block}.payment-item span,.payment-item small{color:var(--muted);font-size:.82rem}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.plan-card{background:#fff;border:1px solid #dfe8e3;border-radius:18px;padding:22px;box-shadow:0 8px 28px #1f3b3010}.plan-card-top{display:flex;justify-content:space-between}.plan-card h3{font-size:1.15rem;margin:18px 0 8px}.plan-amount{font-size:2rem;font-weight:800;color:var(--primary)}.plan-amount small{display:block;font-size:.75rem;font-weight:500;color:var(--muted)}.plan-card p{color:var(--muted);font-size:.87rem}.plan-meta{display:flex;gap:20px;border-top:1px solid #edf1ef;padding-top:14px}.plan-meta span,.plan-meta b{display:block}.plan-meta span{font-size:.78rem;color:var(--muted)}.plan-meta b{color:var(--text);font-size:1rem}.allocation-note{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:14px;background:#edf7f2;border-radius:12px;color:#315c4c}.account-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.account-summary>div{background:linear-gradient(145deg,#fff,#f7faf8);border:1px solid #dfe8e3;border-radius:16px;padding:20px}.account-summary span,.account-summary strong{display:block}.account-summary span{color:var(--muted);font-size:.84rem}.account-summary strong{font-size:1.8rem;margin-top:4px;color:var(--primary)}.account-summary.personal>div:first-child{background:linear-gradient(145deg,#244f3e,#477b67);color:#fff}.account-summary.personal>div:first-child span,.account-summary.personal>div:first-child strong{color:#fff}.quota-status{display:inline-block;padding:5px 9px;border-radius:20px;font-size:.72rem;font-weight:800}.quota-status.pagada{background:#def7e7;color:#17723c}.quota-status.abonada{background:#fff2c7;color:#8a6200}.quota-status.pendiente,.quota-status.vencida{background:#fee4e2;color:#b42318}.quota-status.exonerada{background:#e9ecef;color:#5d6770}.quota-cards{display:grid;gap:10px}.quota-card{display:grid;grid-template-columns:95px 1fr auto;align-items:center;gap:16px;border:1px solid #e1e8e5;border-radius:14px;padding:14px}.quota-card>div:first-child{border-right:1px solid #e5ebe8}.quota-card>div:first-child span,.quota-card>div:first-child strong,.quota-card>div:nth-child(2) small,.quota-card>div:nth-child(2) b,.quota-card>div:nth-child(2)>span{display:block}.quota-card>div:first-child span{text-transform:capitalize;font-weight:700}.quota-card>div:first-child strong,.quota-card>div:nth-child(2) small,.quota-card>div:nth-child(2)>span{color:var(--muted);font-size:.78rem}.quota-balance{display:block;margin-top:5px;text-align:right}
@media(max-width:1000px){.treasury-grid{grid-template-columns:1fr}.plan-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.plan-grid,.account-summary{grid-template-columns:1fr}.quota-card{grid-template-columns:75px 1fr}.quota-card>div:last-child{grid-column:2}.treasury-stats{grid-template-columns:1fr}.head-actions{flex-wrap:wrap}}

/* V11 Centro de configuración */
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.page-head h1{margin:2px 0 4px}.page-head p{color:#64756f;margin:0}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:#2b6b57}.config-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.card-pro{background:#fff;border:1px solid #dfe8e4;border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(24,52,43,.06)}.full-card{grid-column:1/-1}.card-pro-title{display:flex;gap:14px;align-items:center;margin-bottom:20px}.card-pro-title>i{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#eaf4f0;color:#286650;font-size:1.35rem}.card-pro-title h2{font-size:1.15rem;margin:0}.card-pro-title p{margin:2px 0 0;color:#72807b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{font-weight:700;margin-bottom:6px}.form-grid small{color:#77837f}.col-span-2{grid-column:1/-1}.ssl-check{display:flex;align-items:center;padding-top:30px;gap:8px}.big-check{padding:12px 12px 12px 42px;background:#f5f9f7;border-radius:12px}.config-tip{display:flex;gap:10px;background:#f5f9f7;border-radius:12px;padding:14px;margin-top:18px;color:#53655f}.diag-hero{background:linear-gradient(135deg,#173c31,#2e715b);color:#fff;border-radius:22px;padding:28px;display:flex;align-items:center;gap:24px;box-shadow:0 16px 40px rgba(27,73,57,.2)}.score-ring{width:118px;height:118px;border-radius:50%;display:grid;place-content:center;text-align:center;border:10px solid rgba(255,255,255,.18);background:rgba(255,255,255,.1)}.score-ring strong{font-size:2.1rem;line-height:1}.score-ring span{font-size:.8rem}.score-good{box-shadow:inset 0 0 0 3px #68d7a8}.score-mid{box-shadow:inset 0 0 0 3px #ffd166}.score-bad{box-shadow:inset 0 0 0 3px #ff8b8b}.diagnostic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}.diag-item{background:#fff;border:1px solid #dfe8e4;border-radius:16px;padding:18px;display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center}.diag-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center}.diag-item.ok .diag-icon{background:#e7f7ef;color:#198754}.diag-item.fail .diag-icon{background:#fff1e8;color:#d66a1f}.diag-item h3{font-size:1rem;margin:0 0 3px}.diag-item p{font-size:.86rem;color:#6b7a75;margin:0;word-break:break-word}.status-pill{font-size:.72rem;font-weight:800;padding:5px 9px;border-radius:999px}.diag-item.ok .status-pill{background:#e7f7ef;color:#14744a}.diag-item.fail .status-pill{background:#fff1e8;color:#b95619}@media(max-width:900px){.config-grid,.diagnostic-grid{grid-template-columns:1fr}.page-head{flex-direction:column}.form-grid{grid-template-columns:1fr}.col-span-2,.full-card{grid-column:auto}.diag-item{grid-template-columns:44px 1fr}.status-pill{grid-column:2}.diag-hero{align-items:flex-start}.score-ring{width:92px;height:92px;flex:0 0 auto}}

/* V12 - Experiencia profesional para ensayos, calendario, proyección y estadísticas */
.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn-whatsapp{background:#1fa855;color:#fff;border-color:#1fa855}.btn-whatsapp:hover{background:#188b47;color:#fff;border-color:#188b47}.btn-projection{background:#182b35;color:#fff;border-color:#182b35}.btn-projection:hover{background:#0f2028;color:#fff}.event-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.rehearsal-index-card{grid-template-columns:64px 1fr auto}.rehearsal-card-info h5{margin:0}.event-status{font-size:.68rem;font-weight:800;letter-spacing:.08em;background:#eef4f1;color:#44645a;padding:5px 8px;border-radius:999px}.panel-title-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.panel-title-row h4{margin:3px 0}.song-count{display:inline-grid;place-items:center;min-width:40px;height:34px;border-radius:999px;background:#e7f3ee;color:#27624e;font-weight:800;padding:0 12px}.rehearsal-note{display:flex;gap:14px;background:linear-gradient(135deg,#eef8f4,#fff);border:1px solid #cfe2da;border-radius:16px;padding:17px 19px;margin-bottom:18px}.rehearsal-note>i{font-size:1.25rem;color:#276650}.rehearsal-note strong,.rehearsal-note p{display:block;margin:0}.qr-modal{border:0;border-radius:22px;overflow:hidden}.qr-modal .modal-header,.qr-modal .modal-footer{border-color:#edf1ef}.qr-image{width:260px;max-width:100%;border-radius:18px;border:1px solid #dfe8e4;padding:10px;background:#fff}.share-url{background:#f3f7f5;border:1px solid #e0e8e4;border-radius:10px;padding:10px;font-size:.75rem;word-break:break-all;color:#5f7069}

.public-rehearsal-shell{max-width:980px;margin:30px auto;padding:0 18px}.public-rehearsal-hero{background:linear-gradient(135deg,#183d31,#39735f);color:#fff;border-radius:28px;padding:34px;box-shadow:0 22px 55px rgba(23,61,49,.22)}.public-brand{display:flex;align-items:center;gap:10px;font-weight:800;margin-bottom:28px}.public-brand i{width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.14);display:grid;place-items:center}.public-rehearsal-hero h1{font-size:2.2rem;margin:18px 0 10px}.public-rehearsal-hero p{margin:5px 0;color:#e3f0ea}.public-rehearsal-content{padding:28px 4px}.public-song-list{display:grid;gap:14px}.public-song-card{background:#fff;border:1px solid #dfe8e4;border-radius:18px;padding:18px;display:grid;grid-template-columns:48px 1fr auto;gap:16px;align-items:center;box-shadow:0 8px 26px rgba(27,65,52,.05)}.public-song-card h3{font-size:1.05rem;margin:0}.public-song-card p{color:#728078;margin:3px 0}.public-song-card small{display:block;color:#61736b;margin-top:8px}.public-song-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.btn-youtube{background:#fff1f1;color:#c82929;border:1px solid #f4caca}.public-footer-message{text-align:center;margin:34px 0;background:#f2f8f5;border-radius:18px;padding:24px;color:#365d4e}.public-footer-message p{margin:5px 0}

.reminder-banner{display:grid;grid-template-columns:58px 1fr auto;gap:18px;align-items:center;background:linear-gradient(135deg,#e8fff1,#fff);border:1px solid #a9ddbd;border-radius:20px;padding:20px 22px;margin-bottom:24px;box-shadow:0 12px 35px rgba(25,132,76,.1)}.reminder-icon{width:58px;height:58px;border-radius:17px;background:#1fa855;color:#fff;display:grid;place-items:center;font-size:1.7rem}.reminder-banner h3{margin:3px 0}.reminder-banner p{margin:0;color:#61736b}.reminder-actions{display:flex;gap:9px;flex-wrap:wrap}

.visual-chord-builder{background:linear-gradient(135deg,#f3f8f6,#fff);border:1px solid #dbe7e2;border-radius:18px;padding:20px}.builder-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.builder-heading h4{margin:3px 0}.builder-heading p{margin:0;color:#677871}.builder-example{background:#173d31;color:#fff;padding:12px 14px;border-radius:12px;display:grid;gap:2px}.builder-example span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#b8d9cc}.builder-example code{color:#fff}.chord-builder-controls{display:grid;grid-template-columns:1fr 1fr 1fr auto auto;gap:12px;align-items:end;margin-top:18px}.chord-builder-controls label{font-weight:700;font-size:.82rem}.quick-chords{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:14px}.quick-chords>span{font-size:.8rem;color:#6b7a74;font-weight:700}.quick-chords button{border:1px solid #cfdcd6;background:#fff;border-radius:8px;padding:6px 10px;font-weight:800;color:#245e4a}.quick-chords button:hover{background:#e8f4ef}.quick-chords .section-button{color:#5d497a;border-color:#dfd4ea}.editor-label-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px}.editor-label-row>small{color:#718078}.editor-shortcuts{display:flex;justify-content:space-between;gap:10px;color:#77847f;font-size:.75rem;margin-top:8px}.editor-shortcuts kbd{background:#e7ece9;color:#35564a;border:1px solid #d5dfda}.visual-preview{min-height:520px;max-height:720px;overflow:auto;background:#fff}

.calendar-month-title{font-weight:800;min-width:160px;text-align:center;text-transform:capitalize}.calendar-legend{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:14px;color:#5f7069}.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.calendar-legend .calendar-rehearsal i{background:#4c8f75}.calendar-legend .calendar-role i{background:#8069b3}.calendar-legend .calendar-meeting i{background:#d59038}.ministry-calendar{background:#fff;border:1px solid #dde7e2;border-radius:20px;overflow:hidden;box-shadow:0 12px 38px rgba(27,65,52,.06)}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays>div{text-align:center;padding:13px;background:#f1f6f3;color:#53665e;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.calendar-day{min-height:145px;border-top:1px solid #e5ece8;border-right:1px solid #e5ece8;padding:9px;background:#fff}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{background:#fafcfb;color:#9ba9a3}.calendar-day.today{box-shadow:inset 0 0 0 2px #2b7058;background:#f7fcf9}.calendar-day header{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.calendar-day header>span{font-weight:800}.calendar-day header small{font-size:.62rem;font-weight:900;color:#2b7058;background:#dff3ea;border-radius:999px;padding:3px 6px}.calendar-events{display:grid;gap:5px}.calendar-event{display:block;text-decoration:none;border-radius:8px;padding:6px 7px;border-left:4px solid;color:#233c33;background:#f3f7f5}.calendar-event strong,.calendar-event span,.calendar-event small{display:block}.calendar-event strong{font-size:.67rem}.calendar-event span{font-size:.78rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event small{font-size:.63rem;color:#687970;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.calendar-rehearsal{border-color:#4c8f75;background:#edf7f3}.calendar-event.calendar-role{border-color:#8069b3;background:#f3effa}.calendar-event.calendar-meeting{border-color:#d59038;background:#fff6e9}

.analytics-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.stats-v12{margin-bottom:22px}.song-ranking{display:grid}.ranking-row{display:grid;grid-template-columns:34px 1fr 95px;gap:12px;align-items:center;text-decoration:none;color:inherit;padding:12px 0;border-bottom:1px solid #edf1ef}.ranking-row:last-child{border:0}.ranking-position{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#edf4f1;color:#2c6652;font-weight:900}.ranking-info>div:first-child{display:flex;justify-content:space-between;gap:12px}.ranking-info strong,.ranking-info small{display:block}.ranking-info small{color:#77847f}.ranking-bar{height:7px;background:#edf2ef;border-radius:99px;margin-top:8px;overflow:hidden}.ranking-bar i{display:block;height:100%;background:linear-gradient(90deg,#2c7158,#74ae96);border-radius:99px}.ranking-values{text-align:right}.ranking-values b,.ranking-values small{display:block}.ranking-values b{font-size:1.1rem;color:#28634e}.ranking-values small{font-size:.67rem;color:#7d8984}.month-chart{height:330px;display:flex;align-items:flex-end;gap:8px;padding-top:28px}.month-column{height:100%;flex:1;display:grid;grid-template-rows:1fr 36px;min-width:0}.month-bar-wrap{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:5px}.month-bar-wrap span{font-size:.7rem;font-weight:800}.month-bar-wrap i{width:70%;min-height:8px;background:linear-gradient(#6aa58d,#285f4c);border-radius:8px 8px 3px 3px}.month-column small{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.65rem;text-transform:capitalize;color:#73817b;margin:auto}

.projection-body{margin:0;background:#07100d;color:#fff;overflow:hidden}.projection-app{height:100vh;display:grid;grid-template-columns:300px 1fr}.projection-sidebar{background:#0d1d17;border-right:1px solid #234238;display:flex;flex-direction:column;min-width:0}.projection-brand{display:flex;gap:12px;padding:20px;border-bottom:1px solid #234238}.projection-brand>span{font-size:1.8rem}.projection-brand strong,.projection-brand small{display:block}.projection-brand small{color:#9bb4aa;margin-top:3px}.projection-setlist{padding:10px;display:grid;gap:6px;overflow:auto}.projection-setlist button{border:0;background:transparent;color:#dbe9e3;border-radius:10px;padding:10px;text-align:left;display:grid;grid-template-columns:32px 1fr;gap:8px}.projection-setlist button>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#183329}.projection-setlist button strong,.projection-setlist button small{display:block}.projection-setlist button small{color:#8eaaa0}.projection-setlist button.active{background:#285f4c;color:#fff}.projection-setlist button.active>span{background:#fff;color:#285f4c}.projection-exit{margin-top:auto;padding:16px 20px;color:#bcd0c8;text-decoration:none;border-top:1px solid #234238}.projection-stage{position:relative;overflow:auto;padding:90px 6vw 70px;background:radial-gradient(circle at top,#153329 0,#07100d 52%)}.projection-toolbar{position:fixed;top:14px;right:18px;z-index:5;display:flex;gap:7px;background:rgba(5,15,11,.8);backdrop-filter:blur(12px);padding:8px;border-radius:13px}.projection-toolbar button{border:1px solid #35594d;background:#173229;color:#fff;border-radius:8px;padding:8px 11px}.projection-song-meta{display:grid;grid-template-columns:52px 1fr auto;gap:18px;align-items:center;max-width:1200px;margin:0 auto 34px}.projection-song-meta>span:first-child{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#2a6d54;font-size:1.2rem;font-weight:900}.projection-song-meta h1{font-size:2.6rem;margin:0}.projection-song-meta p{color:#9db6ac;margin:5px 0}.projection-tone{background:#d9f4e8;color:#164f39;border-radius:999px;padding:8px 14px;font-weight:900}.projection-sheet{max-width:1200px;margin:auto;line-height:1.5;color:#fff}.projection-sheet .chords{color:#83e3b8;font-weight:900}.projection-sheet.hide-chords .chords{display:none}.projection-footer{position:fixed;bottom:0;left:300px;right:0;display:flex;justify-content:space-between;padding:13px 24px;background:rgba(5,15,11,.85);color:#a9beb6;font-size:.78rem}.projection-sidebar-hidden .projection-app{grid-template-columns:0 1fr}.projection-sidebar-hidden .projection-sidebar{overflow:hidden}.projection-sidebar-hidden .projection-footer{left:0}

@media(max-width:1050px){.analytics-grid{grid-template-columns:1fr}.chord-builder-controls{grid-template-columns:repeat(3,1fr)}.chord-builder-controls .btn{grid-column:span 1}.rehearsal-index-card{grid-template-columns:64px 1fr}.event-actions{grid-column:2;justify-content:flex-start}.public-song-card{grid-template-columns:42px 1fr}.public-song-actions{grid-column:2;justify-content:flex-start}.projection-app{grid-template-columns:240px 1fr}.projection-footer{left:240px}}
@media(max-width:760px){.reminder-banner{grid-template-columns:50px 1fr}.reminder-actions{grid-column:1/-1}.builder-heading{display:block}.builder-example{margin-top:14px}.chord-builder-controls{grid-template-columns:1fr 1fr}.chord-builder-controls .btn{width:100%}.calendar-weekdays{display:none}.calendar-days{grid-template-columns:1fr}.calendar-day{min-height:auto;border-right:0}.calendar-day.outside{display:none}.calendar-day header{background:#f3f7f5;margin:-9px -9px 8px;padding:8px 10px}.calendar-events{gap:8px}.calendar-event{padding:9px}.projection-app{grid-template-columns:1fr}.projection-sidebar{position:fixed;z-index:10;left:0;top:0;bottom:0;width:280px;transform:translateX(-100%);transition:.2s}.projection-sidebar-hidden .projection-sidebar,.projection-sidebar{transform:translateX(-100%)}body:not(.projection-sidebar-hidden) .projection-sidebar{transform:translateX(0)}.projection-footer{left:0}.projection-stage{padding:100px 20px 60px}.projection-song-meta{grid-template-columns:42px 1fr}.projection-tone{grid-column:2;width:max-content}.projection-song-meta h1{font-size:1.7rem}.projection-toolbar{left:10px;right:10px;overflow-x:auto}.projection-toolbar button{white-space:nowrap}.projection-sheet{font-size:26px!important}.public-rehearsal-hero{padding:26px}.public-rehearsal-hero h1{font-size:1.7rem}.rehearsal-index-card{grid-template-columns:52px 1fr}.event-actions{grid-column:1/-1}.event-actions .btn{flex:1}.editor-shortcuts{display:grid}.month-chart{overflow-x:auto}.month-column{min-width:42px}}
