/* Shared, quiet navigation and touch-friendly controls. */
:root{--bg:#faf9f6;--muted:#526778;--line:#e5e4df}
body{font-size:16px}h1{font-size:30px;letter-spacing:-.6px}main{max-width:1200px}
.sidebar-foot p,.breadcrumb,.account .avatar,.account small{display:none}
.topbar{height:66px;justify-content:space-between}.mobile-brand{display:flex;font-size:15px;gap:8px}.mobile-brand strong{font-size:15px}
.sidebar{padding-top:25px}.sidebar .choir-identity{padding:24px 10px 20px}
.brand{gap:12px;align-items:center}.sidebar .brand-icon,.brand.dark .brand-icon{display:grid;place-items:center;width:44px;height:48px;flex-shrink:0;border:1px solid #d5c3a7;border-radius:14px;background:#eee5d6;color:#152e42;padding:8px}.brand-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.brand .brand-wordmark{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:25px;font-weight:650;letter-spacing:-.7px;line-height:1.2;white-space:nowrap}.brand .brand-wordmark b{font:inherit;letter-spacing:inherit;color:inherit}.brand .brand-wordmark small{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:8px;font-weight:500;letter-spacing:1.2px;margin-top:7px}.mobile-parish-mark{width:28px;height:28px;fill:none;stroke:var(--navy);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.mobile-brand{align-items:center}
.sidebar nav a{font-size:16px;min-height:48px}.sidebar-foot{padding-top:24px}
.button,button.primary,.button.small,.page-heading .button{font-size:15px;min-height:44px}
.link,.back-link,.text-button,label,details>summary{font-size:14px}.text-button,details>summary{min-height:44px}
.row-body strong{font-size:16px}.row-body small,small,.subtle,.page-heading p{font-size:14px}
.row-link{min-height:64px}.badge{font-size:12px}.card{box-shadow:none}.page-heading .eyebrow{letter-spacing:.7px;font-size:12px}
.practice-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--beige);border:1px solid #e4daca;border-radius:15px;padding:24px;margin-bottom:24px}
.practice-entry h2{margin:0 0 6px}.practice-entry p{margin:0;color:var(--muted)}
.simple-start{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:start}
.work-grid{grid-template-columns:1fr;gap:0;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.work-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto;column-gap:14px;padding:18px 20px;border:0;border-bottom:1px solid var(--line);border-radius:0}
.work-card:last-child{border-bottom:0}.work-card .tile-icon{grid-row:1/3;width:40px;height:44px;margin:0}.work-card h3{font-size:16px;margin:0;overflow-wrap:anywhere}.work-card p{grid-column:2;margin:3px 0 0;font-size:14px}.work-card footer{grid-column:3;grid-row:1/3;gap:12px}.work-card footer span{font-size:13px}
.score-player .player-heading p,.score-player .player-symbol{display:none}.score-player .player-heading{margin-bottom:16px}
.score-player .player-footnote{font-size:13px}.score-player details{margin-top:16px}.score-player .player-hint{font-size:13px}
.management-panel{margin-top:24px}.management-panel>summary{font-size:17px}.management-panel[open]>summary{margin-bottom:20px}
.management-panel .grid{margin-top:20px}.management-panel p{max-width:70ch}
.player-track button{min-height:44px;font-size:14px}.player-settings small{font-size:13px}.player-notation{margin-top:20px}
.login-grid{max-width:520px;margin:auto;grid-template-columns:1fr;gap:12px}.login-intro{padding-top:0}.login-intro h1{font-size:30px;margin:0 0 8px}.login-intro p{max-width:none}
.more-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.section-tabs{flex-wrap:wrap}.page-heading h1,.row-body strong{overflow-wrap:anywhere}
@media(max-width:800px){
 main{padding:24px 16px 30px}.topbar{padding:14px 16px;min-height:60px}.topbar .account{display:none}
 .page-heading{flex-wrap:wrap;gap:12px}.page-heading h1{font-size:26px}.page-heading p{font-size:14px;max-width:none}.page-heading .button{padding:10px 16px}
 .simple-start{grid-template-columns:1fr;gap:18px}.practice-entry{padding:20px;align-items:flex-start;flex-direction:column;gap:14px}.practice-entry .button{width:100%}
 .card{padding:18px}.row-body strong{font-size:16px}.row-body small,.subtle,small{font-size:14px}.card-header .link{font-size:14px}
 .bottom-nav{padding:8px 4px max(8px,env(safe-area-inset-bottom));gap:0}.bottom-nav a{flex:1;min-width:0;min-height:48px;justify-content:center;font-size:11px;padding:4px 0;border-radius:9px}.bottom-nav a.active{background:#f3eee5}.bottom-nav a.active svg{color:var(--navy)}
 .work-card{padding:16px 12px;column-gap:10px}.work-card h3{font-size:16px}.work-card footer span{display:none}
 .score-heading .tile-icon{display:none}.score-heading h1{font-size:26px}.form-actions>*{max-width:100%}.page-foot{padding-bottom:110px}
}
/* One consistent hierarchy: choose a task, then reveal its details. */
.quick-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:28px}
.quick-paths a{display:grid;grid-template-columns:36px 1fr;gap:4px 14px;align-items:center;padding:24px 20px;background:white;border:1px solid var(--line);border-radius:14px;color:var(--navy);text-decoration:none}
.quick-paths a:first-child{background:var(--beige)}
.quick-paths svg{width:28px;height:28px;grid-row:1/3;fill:none;stroke:currentColor;stroke-width:1.6}
.quick-paths strong{font-size:17px}.quick-paths span{grid-column:2;color:var(--muted);font-size:14px}
.quick-paths a:hover,.row-link:hover{background:#f3eee5}
.simple-steps{list-style:none;display:flex;gap:8px;padding:0;margin:0 0 22px;color:var(--muted);font-size:14px}
.simple-steps li{padding:10px 14px;border-radius:9px}.simple-steps [aria-current]{background:var(--beige);color:var(--navy);font-weight:700}
.help-steps{padding-left:24px}.help-steps li{padding:7px 0}
.score-import-frame{width:100%;height:660px;border:1px solid var(--line);border-radius:12px}
.card>details>summary,.card>summary{font-weight:650;color:var(--navy)}
details[open]>summary{margin-bottom:16px}
.work-files{margin-top:24px}.work-files .material strong{overflow-wrap:anywhere}
.score-player .playback-options{padding:4px 16px;background:var(--bg);border:1px solid var(--line);border-radius:10px}
.score-player .playback-options .player-settings{margin-top:12px}
.row-body{min-width:0}.row-body strong,.material-heading strong{overflow-wrap:anywhere}
.row svg{flex-shrink:0}input,select,textarea{font-size:16px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #486c88;outline-offset:4px}
@media(max-width:800px){
 .quick-paths{grid-template-columns:1fr;gap:10px;margin-bottom:22px}.quick-paths a{padding:18px;min-height:82px}
 .simple-steps{gap:0;justify-content:space-between}.simple-steps li{padding:10px 8px;font-size:13px}
 .row-link{gap:12px}.row-link .badge{white-space:normal;max-width:90px}
 .player-source{flex-wrap:wrap}.player-source label{min-width:0;max-width:100%}
 .score-import-frame{height:560px}.material-heading{flex-wrap:wrap;gap:12px}
 .form-actions{gap:10px}.form-actions .primary{width:100%}
}
@media(min-width:801px) and (max-width:1100px){
 .quick-paths{grid-template-columns:1fr}.quick-paths a{padding:16px 20px}
 .simple-start{grid-template-columns:1fr}
}
.month-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.month-heading h2{margin:0;text-transform:capitalize;text-align:center}.month-heading .button{padding:8px 16px}
.month-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.month-actions p{margin:0}
.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.month-weekday{text-align:center;padding:10px 0;color:var(--muted);font-size:13px;font-weight:600}
.month-day{min-height:102px;display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid var(--line);border-radius:10px;padding:10px 4px;text-decoration:none;color:var(--navy);background:#fff;min-width:0}
.month-day:hover{background:#f4f0e8}.month-day.outside{color:#8a939a;background:#faf9f6}.month-day.has-events{background:#f6f2e9}.month-day.today strong{text-decoration:underline;text-underline-offset:4px}
.month-day.selected{outline:2px solid var(--navy);outline-offset:-2px;background:#e9eef1}.month-marker{font-size:12px;font-weight:600;line-height:1.3}.month-marker.cancelled{text-decoration:line-through;color:#795e57}.month-marker.singing:before{content:'♪ ';}.month-count{font-size:11px;color:var(--muted)}
.month-legend{display:flex;gap:8px 20px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:0}#day-details{scroll-margin-top:80px}#day-details h2{text-transform:capitalize}
@media(max-width:600px){.month-calendar{padding:14px 10px}.month-grid{gap:3px}.month-day{min-height:82px;padding:8px 1px;border-radius:7px}.month-day strong{font-size:16px}.month-marker{font-size:10px}.month-count{font-size:9px}.month-heading h2{font-size:19px}.month-actions p{font-size:12px;max-width:220px}.month-legend{font-size:11px;gap:8px}.month-heading .button{padding:8px 12px}}
