@font-face{font-family:Nunito;src:url('./Nunito.ttf') format('truetype');font-weight:200 1000;font-display:swap}
:root{font-family:ui-rounded,"Nunito","Segoe UI",system-ui,sans-serif;color:#342513;background:#fffcf4;font-synthesis:none;--honey:#e5aa24;--line:#eadcb9;--muted:#806747;--cream:#fff3cd}*{box-sizing:border-box}body{margin:0;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid transparent;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:700}button:disabled{opacity:.55;cursor:wait}a{color:#705019}button:hover:not(:disabled),a:hover{filter:brightness(.96)}:focus-visible{outline:3px solid #bc8000;outline-offset:3px}[hidden]{display:none!important}.primary{background:var(--honey);color:#342513;border-color:#cc941c}.secondary{background:var(--cream);color:#65430f;border:1px solid var(--line)}.text-button{background:transparent;color:#79510c;padding:4px 0;text-decoration:underline}.app-header{position:sticky;top:0;z-index:20;background:#fffcf4f5;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{max-width:1440px;margin:auto;padding:13px 32px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:inherit;flex-shrink:0;font-size:21px;font-weight:800;letter-spacing:-.6px}.brand img{object-fit:contain;width:166px;height:60px}.brand small{display:block;font-weight:500;font-size:12px;letter-spacing:0;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end}.header-actions>a{font-size:13px;text-decoration:none;font-weight:650}.account-email{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.shell{max-width:1440px;margin:auto;padding:0 32px;min-height:calc(100vh - 79px);display:flex;flex-direction:column}main{flex:1}.workspace-nav{position:sticky;top:87px;z-index:19;background:#fffcf4;display:flex;gap:26px;border-bottom:1px solid var(--line);padding:0 4px;overflow-x:auto}.workspace-nav a{display:flex;align-items:center;gap:7px;padding:19px 2px 15px;white-space:nowrap;text-decoration:none;color:var(--muted);border-bottom:3px solid transparent;font-size:15px;font-weight:700}.workspace-nav a[aria-selected=true]{color:#75500b;border-color:var(--honey)}.workspace-heading{margin:26px 0 22px}.workspace-heading h1{font-size:30px;line-height:1.25;letter-spacing:-.8px;margin:0 0 6px}.workspace-heading p{margin:5px 0;color:var(--muted);font-size:14px}.workspace-heading .license-note{font-size:12px}.library-toolbar{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}.library-series{display:flex;flex-wrap:wrap;gap:8px}.library-series button{background:#fff;border:1px solid var(--line);border-radius:24px;padding:9px 14px;color:#705523;font-size:13px}.library-series button[aria-pressed=true]{background:var(--cream);border-color:#d5a944;color:#51350a}.filter-count{display:inline-block;font-size:11px;padding:1px 6px;border-radius:8px;background:#eedeac;margin-left:4px;font-variant-numeric:tabular-nums;min-width:20px;text-align:center}.lesson-search{font-size:12px;font-weight:650;color:var(--muted);min-width:280px;display:grid;gap:5px}input,select,textarea{padding:10px 12px;border:1px solid #ddcda8;border-radius:9px;background:white;color:#342513;min-width:0;max-width:100%}textarea{resize:vertical;width:100%}.library-results{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:42px;color:var(--muted);font-size:12px}.library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding-bottom:30px}.library-card{background:white;border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0;transition:border-color .15s,box-shadow .15s}.library-card:hover{border-color:#d3ae55;box-shadow:0 5px 16px #8b630a0a}.lesson-card-meta{display:flex;justify-content:space-between;align-items:center;gap:8px}.lesson-card-meta small{font-size:12px;font-weight:750;color:#916215}.lesson-version{font-size:10px;color:#8c806e;background:#f5f2e9;border-radius:5px;padding:2px 6px}.library-card h2{font-size:21px;line-height:1.5;margin:0;font-weight:750;overflow-wrap:anywhere}.library-card p{margin:0}.lesson-subtitle{font-size:13px;color:var(--muted)}.lesson-capabilities{display:flex;gap:5px;flex-wrap:wrap}.lesson-capabilities span{font-size:10px;color:#77684e;background:#f7f4ed;border-radius:5px;padding:3px 6px}.lesson-parts{font-size:11px;color:var(--muted);margin-top:auto!important}.library-card button{width:100%;margin-top:2px}.empty-state{text-align:center;padding:60px 20px;border:1px dashed #d4ba7c;border-radius:16px;background:white}.empty-state h2{font-size:20px}.empty-state p{color:var(--muted)}#portalStatus:empty,#libraryFeedback:empty{display:none}#portalStatus,#libraryFeedback{font-size:13px;overflow-wrap:anywhere}.ok{color:#806120}.error{color:#994315}.workspace-panel{background:white;border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:30px}.workspace-panel h2{font-size:22px;margin:0 0 8px}.workspace-panel p{color:var(--muted);font-size:14px}.workspace-section-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.library-actions,.report-actions{display:flex;gap:10px;flex-wrap:wrap}.student-table-wrap{overflow-x:auto}.workspace-students-table{width:100%;border-collapse:collapse;margin-top:20px;font-size:14px}.workspace-students-table td,.workspace-students-table th{text-align:left;padding:16px 12px;border-bottom:1px solid var(--line)}.workspace-students-table th{font-size:12px;color:var(--muted);font-weight:650}.routed-tool>summary{display:none}.teacher-tool-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;align-items:end;margin:20px 0}.teacher-tool-body label,#adminUpload label{display:grid;gap:7px;font-size:13px;font-weight:650;color:#654d2b;margin:14px 0}.teacher-tool-body>p:first-child{margin-top:0}.teacher-tool-body input,.teacher-tool-body select{width:100%}.teacher-tool-controls label{margin:0}.saved-song-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.saved-song-card{border:1px solid var(--line);border-radius:13px;padding:20px;display:flex;flex-direction:column;gap:12px;background:#fffdf7;overflow-wrap:anywhere}.saved-song-card h3{margin:0;font-size:20px}.saved-song-card small{font-size:12px;color:var(--muted)}.saved-song-comment{white-space:pre-wrap}.song-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.song-card-actions a{text-decoration:none;padding:10px 12px;border-radius:9px;font-size:13px;font-weight:700}.report-skill-fields{border:1px solid var(--line);border-radius:10px;padding:16px;margin:18px 0}.report-skill-fields summary{cursor:pointer;font-weight:700}.report-skill-grid{display:grid;grid-template-columns:1fr 3fr;gap:12px}.teacher-tool-body .report-records-toggle{display:flex;align-items:center;gap:10px}.report-records-toggle input{width:18px;height:18px}.parent-report-preview{padding:32px;border:1px solid var(--line);border-radius:14px;margin:24px 0;background:white}.parent-report-document{line-height:1.7}.parent-report-document header{display:flex;justify-content:space-between;gap:16px;border-bottom:2px solid #dfae47;padding-bottom:14px;font-size:13px}.report-title{display:grid;margin:28px 0 22px}.report-title strong{font-size:42px;line-height:1.1;color:#c58c1b}.report-title span{font-size:29px;font-style:italic;color:#8a6a45}.parent-report-document h2{font-size:28px;margin:22px 0 0}.parent-report-document h3{text-transform:uppercase;border-bottom:1px solid #bba386;padding-bottom:5px;color:#8a6a45;font-size:17px}.parent-report-document p{white-space:pre-wrap;overflow-wrap:anywhere;color:#342513}.parent-report-document section{margin:24px 0}.parent-report-document li{white-space:pre-wrap;margin:14px 0}.parent-report-document table{width:100%;border-collapse:collapse;font-size:13px}.parent-report-document th,.parent-report-document td{padding:10px;text-align:left;border-bottom:1px solid var(--line)}.parent-report-document footer{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}.crm-item{padding:22px;border:1px solid var(--line);border-radius:12px;background:#fffdf7;margin-top:16px;overflow-wrap:anywhere}.crm-item p{color:#49351e;margin:8px 0}.crm-item small{color:var(--muted)}.crm-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}.admin-overview dl{display:grid;grid-template-columns:120px 1fr;gap:14px;font-size:14px;margin-top:28px}.admin-overview dt{font-weight:700;color:var(--muted)}.admin-overview dd{margin:0;overflow-wrap:anywhere}.login-panel{max-width:500px;background:white;border:1px solid var(--line);padding:32px;border-radius:18px;margin:64px auto;width:100%}.login-panel h1{font-size:28px;margin-top:0}.login-panel p{color:var(--muted)}.footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding:22px 0;color:var(--muted);font-size:11px;margin-top:auto}
@media(min-width:1600px){.header-inner,.shell{max-width:1480px}}@media(max-width:1150px){.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.account-email{display:none}.header-actions{gap:12px}}@media(max-width:850px){.workspace-nav{top:73px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-toolbar{align-items:stretch;flex-direction:column;gap:14px}.header-inner{padding:12px 20px}.shell{padding:0 20px}.header-actions{gap:10px}.brand{font-size:18px}.brand img{width:132px;height:48px}.header-actions>a{font-size:12px}.header-actions button{font-size:12px;padding:8px 10px}}@media(max-width:580px){.workspace-nav{top:0}.app-header{position:static}.header-inner{flex-wrap:wrap;gap:14px}.header-actions{justify-content:flex-start;width:100%}.header-actions .primary{margin-left:auto}.workspace-nav{gap:22px}.workspace-nav a{font-size:14px;padding-top:16px}.workspace-heading{margin:22px 0 18px}.workspace-heading h1{font-size:27px}.workspace-heading p{font-size:13px}.library-series{gap:6px}.library-series button{font-size:11px;padding:8px 9px}.lesson-search{min-width:0}.library-grid{gap:12px}.library-card{padding:14px;gap:12px;border-radius:13px}.library-card h2{font-size:18px}.library-card button{font-size:12px;padding:9px}.lesson-version{font-size:9px}.lesson-card-meta small{font-size:10px}.lesson-capabilities span{font-size:9px}.lesson-subtitle{font-size:12px}.lesson-parts{font-size:10px}.workspace-panel{padding:18px}.teacher-tool-controls{grid-template-columns:1fr 1fr}.saved-song-grid,.report-skill-grid{grid-template-columns:1fr}.parent-report-preview{padding:16px}.parent-report-document header{flex-direction:column;gap:4px}.workspace-students-table th,.workspace-students-table td{padding:12px 5px;font-size:12px}.workspace-students-table button{font-size:11px;padding:8px}.admin-overview dl{grid-template-columns:1fr;gap:8px}.footer{font-size:10px}}@media(max-width:350px){.library-grid,.teacher-tool-controls{grid-template-columns:1fr}}
@media print{body.printing-parent-report{background:white}body.printing-parent-report .app-header,body.printing-parent-report .shell>:not(#privateWorkspace),body.printing-parent-report #privateWorkspace>:not(#parentReportGenerator),body.printing-parent-report #parentReportGenerator>summary,body.printing-parent-report .teacher-tool-body>:not(#parentReportPreview){display:none!important}body.printing-parent-report .shell,body.printing-parent-report #privateWorkspace,body.printing-parent-report #parentReportGenerator,body.printing-parent-report .teacher-tool-body{display:block!important;margin:0;padding:0;max-width:none;border:0;min-height:0}body.printing-parent-report #parentReportPreview{display:block!important;padding:8mm;margin:0;border:0;border-radius:0}body.printing-parent-report #parentReportPreview section,body.printing-parent-report tr{break-inside:avoid}}

/* Minimal access screen: global home is the bee, with help inside the card. */
body.auth-screen{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:#faf9f5}.auth-screen .app-header{position:static;background:transparent;border:0;backdrop-filter:none}.auth-screen .header-actions{display:none}.auth-screen .shell{flex:1;width:100%;min-height:0}.auth-screen .login-panel{margin:auto;max-width:410px;padding:32px;text-align:center;border:1px solid #e2e8f0;background:white;box-shadow:0 14px 38px #0f172a08}.auth-screen .login-panel h1{font-size:24px;line-height:1.35;letter-spacing:-.4px;margin:0 0 10px}.auth-screen .login-panel>p{font-size:14px;line-height:1.7;color:#64748b}.google-sign-in{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;margin-top:24px;background:#fff;border:1px solid #cbd5e1;color:#334155;padding:12px 16px;box-shadow:0 1px 3px #0f172a08}.google-sign-in:hover:not(:disabled){background:#f8fafc}.google-sign-in svg{flex-shrink:0}.auth-screen .login-panel .access-help{border-top:1px solid #eef0f3;padding-top:20px;margin:24px 0 0;font-size:12px}.access-help a{font-weight:750;color:#8b610b;text-underline-offset:3px}.auth-screen .footer{justify-content:center;text-align:center;font-size:11px;margin-top:28px}.auth-screen #status:empty{display:none}.auth-screen #status.error{color:#994315}.auth-screen #retryAccess{margin-top:12px}.owner-admin-link{font-size:11px;color:var(--muted);text-underline-offset:3px}@media(max-width:580px){.auth-screen .login-panel{padding:28px 24px}.auth-screen .header-inner{padding-top:20px;padding-bottom:20px}.auth-screen .footer{margin-top:24px}.auth-screen .brand img{width:150px;height:54px}}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.workspace-tabs{display:flex;gap:26px}.workspace-nav:has(.workspace-tabs){gap:0}.workspace-route{margin-left:26px}.workspace-heading.sr-only+ #portalStatus{margin-top:18px}body[data-portal=teacher] #teacherLibrary{padding-top:24px}.assignment-editor{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.assignment-editor h2{font-size:20px}.assignment-editor>p{color:var(--muted)}.assignment-editor label.assignment-search{display:grid;gap:6px;font-size:13px;margin:18px 0}.assignment-list{display:grid;gap:10px;max-height:440px;overflow:auto;margin:16px 0;padding:3px}.assignment-lesson{border:1px solid #e2e8f0;border-radius:11px;padding:12px 14px}.assignment-lesson summary{cursor:pointer;font-weight:700;font-size:14px}.assignment-lesson fieldset{border:0;padding:8px 0 0;margin:0;display:flex;gap:16px;flex-wrap:wrap}.assignment-lesson label{display:flex;align-items:center;gap:7px;font-size:13px}.assignment-lesson input{accent-color:#b47b0b}.student-row-actions{display:flex;gap:8px;flex-wrap:wrap}.assignment-actions{display:flex;gap:10px;flex-wrap:wrap}.workspace-students-table td{vertical-align:middle}@media(max-width:580px){.workspace-tabs{gap:18px}.workspace-route{margin-left:18px}.student-row-actions button{font-size:12px}.assignment-editor h2{font-size:18px}}

.assignment-editor{scroll-margin-top:170px}@media(max-width:580px){.assignment-editor{scroll-margin-top:85px}}
/* Student selection and saved activity remain within the Students view. */
.student-name{background:none;border:0;border-radius:6px;color:#4e390d;padding:6px 0;text-decoration:underline;text-underline-offset:4px;text-align:left}.student-name[aria-pressed=true]{font-weight:900;color:#8a5d08}.student-name:focus-visible{outline:3px solid #c89420;outline-offset:4px}.student-activity{border-top:1px solid #e2e8f0;margin-top:30px;padding-top:24px;scroll-margin-top:160px}.student-activity h2{font-size:22px;margin:0 0 16px}.student-activity h3{font-size:17px;margin:26px 0 12px}.student-activity-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.student-activity-metrics>div{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px}.student-activity-metrics dt{color:#64748b;font-size:13px}.student-activity-metrics dd{margin:6px 0 0;font-size:24px;font-weight:850;color:#0f172a}.student-activity-table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}.student-activity-table th,.student-activity-table td{padding:14px 12px;border-bottom:1px solid #e2e8f0;vertical-align:top;overflow-wrap:anywhere}.student-activity-table th{color:#64748b;font-size:12px;white-space:nowrap}.student-activity-table details{min-width:150px;max-width:330px}.student-activity-table summary{cursor:pointer;font-weight:750}.student-activity-table ul{padding-left:18px}.student-activity>div>button{margin-top:16px}#workspaceStudents>[data-student-status][hidden],#workspaceStudents>[data-refresh-students][hidden]{display:none!important}@media(max-width:760px){.student-activity-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.student-activity h2{font-size:19px}.student-activity{scroll-margin-top:120px}.student-activity-table{min-width:680px}}

#workspaceStudents .student-row-actions .secondary{background:#fff;border:1px solid #cbd5e1;color:#334155}

.student-activity-header{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:16px}.student-activity-header h2{margin:0}.student-activity-actions{display:flex;gap:10px;flex-wrap:wrap}.student-activity-actions[hidden]{display:none!important}#workspaceStudents .student-activity-actions .secondary{background:#fff;border:1px solid #cbd5e1;color:#334155}.workspace-students-table{min-width:690px}.workspace-students-table th{vertical-align:bottom}.workspace-students-table td:not(:first-child){font-variant-numeric:tabular-nums}
