/* Good Fight shared style system. Use these roles; do not add page-specific sizes. */
:root{--gf-cream:#fff9ef;--gf-ink:#191919;--gf-gold:#ffbf00;--gf-muted:#625f56;--gf-line:#ded7cb;--gf-body:1rem;--gf-small:.875rem;--gf-page-title:2.5rem;--gf-section-title:1.5rem;--gf-control-height:48px;--gf-radius:3px;--gf-gap:24px}
body{color:var(--gf-ink);background:var(--gf-cream);font-size:var(--gf-body);line-height:1.65}
button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}label{font-size:var(--gf-body)}
header nav a,.header-tools a,.header-tools button,.student-entry-mobile{font-size:var(--gf-small);line-height:1.5}
input[type=text],input[type=search],input:not([type]),select{min-height:var(--gf-control-height);box-sizing:border-box;padding:10px 14px;border:1px solid var(--gf-line);border-radius:var(--gf-radius);font-size:var(--gf-body);line-height:1.5;background:var(--gf-cream);color:var(--gf-ink)}
textarea{box-sizing:border-box;padding:14px;border:1px solid var(--gf-line);border-radius:var(--gf-radius);font-size:var(--gf-body);line-height:1.5;background:var(--gf-cream);color:var(--gf-ink)}
button.small-button,.login-button,a.button{min-height:var(--gf-control-height);box-sizing:border-box;padding:12px 20px;font-size:var(--gf-body);line-height:1.5;border-radius:var(--gf-radius)}
.text-button,.progress-skill-name{font-size:var(--gf-body);line-height:1.5}
.student-home h1,.teacher-home h1,.name-panel h1{font-size:var(--gf-page-title);line-height:1.1}
.student-home h2,.student-home h3,dialog h2,dialog h3{font-size:var(--gf-section-title);line-height:1.2}
.student-home .level-banner h2,.student-home .level-banner h3{font-size:var(--gf-section-title);margin:12px 0 0}
.small,.progress-skill-status{font-size:var(--gf-small);line-height:1.5;color:var(--gf-muted)}
.progress-skill-row{grid-template-columns:1.3fr 1fr 1fr;gap:var(--gf-gap);align-items:start;padding:20px 0}
.progress-skill-row>div{min-width:0}.progress-skill-row .small,.two-assessments>div>span{display:block;font-size:var(--gf-body);line-height:1.5;color:var(--gf-muted);margin:0}
.progress-skill-name{display:block;padding:0;margin:0;font-weight:600}
.rating-graphic{display:flex;flex-direction:column;gap:4px;font-size:var(--gf-body);line-height:1.5}
.rating-bars,.quick-rating-bars,.two-assessments .rating-bars{display:flex;align-items:center;gap:4px;height:32px;width:100%;max-width:171px;margin:0}
.rating-bars i,.quick-rating-bars button{flex:1;min-width:0;width:auto;max-width:31px;margin:0;border:0;border-radius:0;padding:0}
.rating-bars i{height:6px}.quick-rating-bars button{height:32px;min-height:32px;background-position:center;background-size:100% 6px;background-repeat:no-repeat}
.rating-graphic>span:last-child{display:block;margin:0;line-height:1.5}
.two-assessments{display:grid;grid-template-columns:1fr 1fr;gap:var(--gf-gap);align-items:start;padding:20px 0;border:0}
.rating-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rating-options label{display:flex;align-items:center;gap:10px;min-height:56px;padding:12px;font-size:var(--gf-body);line-height:1.5;box-sizing:border-box}
.teacher-student-select{font-size:var(--gf-body)}.teacher-student-select select{height:var(--gf-control-height)}
.skill-filter-actions button{font-size:var(--gf-body);line-height:1.5;min-height:var(--gf-control-height)}
@media(max-width:640px){:root{--gf-page-title:1.9rem;--gf-section-title:1.25rem;--gf-gap:16px}.progress-skill-row{grid-template-columns:1fr 1fr}.progress-skill-row>div:first-child{grid-column:1/-1}.skill-filter-actions button{font-size:var(--gf-small);padding:10px 6px}.level-banner{gap:var(--gf-gap)}.rating-options{grid-template-columns:1fr}.two-assessments{gap:var(--gf-gap)}}

.assessment-notes-pair h3,.assessment-notes-pair label{font-family:inherit;font-size:var(--gf-body);font-weight:600;line-height:1.5}.assessment-notes-pair textarea{font-weight:400}
