.practice-start-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}
.compact-form,.practice-form{display:grid;gap:12px}
.compact-form select,.practice-form select,.practice-form textarea{width:100%;border:1px solid #c8d0d6;border-radius:8px;padding:10px;font:inherit;background:#fff}
.practice-form label{display:grid;gap:5px;font-weight:700}
.session-list{display:grid}
.session-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:11px 0;border-top:1px solid var(--line);color:inherit;text-decoration:none}
.session-row:first-child{border-top:0}.session-row small{color:var(--muted)}
.practice-history{margin-top:20px}.practice-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:20px 0}
.practice-nav form,.form-actions,.finish-session{display:flex;gap:10px}
.practice-progress{height:7px;background:#dfe4e8;border-radius:99px;overflow:hidden;margin-bottom:20px}.practice-progress span{display:block;height:100%;background:var(--accent)}
.finish-session{justify-content:flex-end;margin:0}.button.secondary{background:#e6edf0;color:var(--ink)}.button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){.practice-start-grid{grid-template-columns:1fr}.practice-heading{align-items:flex-start;flex-direction:column}.session-row{grid-template-columns:1fr auto}.session-row small{grid-column:1/-1}.practice-nav form,.form-actions{flex-wrap:wrap}}
.selected-material{background:#f1f8fa;border-radius:8px;padding-left:8px}.text-button{border:0;background:none;color:var(--accent-dark);padding:2px 0;cursor:pointer;font:inherit;font-size:12px}.practice-viewer-panel{margin-top:20px}.practice-document{display:block;width:100%;height:min(72vh,900px);margin-top:16px;border:1px solid var(--line);border-radius:8px;background:#fff}.practice-audio{display:block;width:100%;margin-top:22px}.practice-image{display:block;max-width:100%;max-height:75vh;margin:18px auto}.reader-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.reader-controls label{display:grid;gap:3px;font-size:12px;font-weight:700}.reader-controls select,.reader-controls input[type=number]{width:92px;padding:7px;border:1px solid #c8d0d6;border-radius:7px}.reader-controls .compact-check{display:flex;grid-auto-flow:column;align-items:center;padding-bottom:8px}
.metronome{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:20px}.metronome label{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700}.metronome input,.metronome select{width:72px;padding:6px;border:1px solid #c8d0d6;border-radius:7px}.metronome-lamp{width:16px;height:16px;border-radius:50%;background:#c8d0d6;transition:.06s}.metronome-lamp.active{background:var(--accent)}.metronome-lamp.active.accent{background:#d46b2c;transform:scale(1.2)}
.metronome .compact-check input{width:19px;height:19px;padding:0}.metronome-visual{display:none;position:fixed;z-index:145;top:max(72px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);align-items:center;justify-content:center;gap:7px;max-width:94vw;padding:7px 10px;border:1px solid #ffffff88;border-radius:11px;background:#14242ddd;box-shadow:0 5px 18px #0007;pointer-events:none}.metronome-visual.visible{display:flex}.metronome-beat-tile{width:clamp(22px,4vw,44px);height:clamp(16px,2.7vw,30px);border:2px solid #8aa0aa;border-radius:6px;background:#52646c;transition:background .045s,transform .045s,box-shadow .045s}.metronome-beat-tile.accent{border-color:#f2a65a}.metronome-beat-tile.active{background:#32a8cf;transform:scale(1.12);box-shadow:0 0 0 3px #82d8f2aa}.metronome-beat-tile.active.accent{background:#ef7d32;box-shadow:0 0 0 3px #ffc185aa}.practice-stage-active .metronome-visual,.performance-stage-active .metronome-visual{top:max(12px,env(safe-area-inset-top))}
.practice-scroll-settings{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.practice-scroll-settings small{display:block;color:var(--muted)}.practice-viewer-panel img,.practice-viewer-panel iframe,.practice-viewer-panel canvas{-webkit-user-drag:none;-webkit-touch-callout:none}
.practice-audio-role-switch{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.practice-audio-role-form{display:flex;gap:7px}.practice-playback-options{display:flex;gap:14px;align-items:center;flex-wrap:wrap;width:100%;margin-top:8px}.practice-playback-options .compact-check{display:flex;align-items:center;gap:6px}.practice-shortcuts{flex-basis:100%;color:var(--muted)}
.audit-summary-grid{display:grid;gap:6px}.audit-summary-row{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(180px,1fr) auto;gap:12px;align-items:center;padding:8px 10px;border-top:1px solid var(--line);color:inherit;text-decoration:none}.audit-summary-row:hover{background:#f1f6f8}.audit-summary-row b{min-width:34px;text-align:right;color:var(--warning)}@media(max-width:600px){.audit-summary-row{grid-template-columns:1fr auto}.audit-summary-row span{grid-column:1/-1}}
.midi-song-settings{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-bottom:10px}.midi-song-settings>div:first-child{width:100%}.midi-song-settings small{display:block;color:var(--muted)}.midi-cue-row{display:grid;grid-template-columns:minmax(150px,1fr) 150px repeat(3,90px) auto;gap:7px;align-items:end;margin:7px 0}.midi-cue-row label{display:grid;font-size:11px}@media(max-width:800px){.midi-cue-row{grid-template-columns:1fr 1fr}}
main.practice-fullscreen>.metronome-visual.visible{display:flex!important}
