.proposal-public-page,.school-auth-page,.school-page { max-width: 980px; margin: 0 auto; }
.proposal-public-card,.school-auth-card,.school-panel { border:1px solid var(--radar-border); border-radius:1rem; background:var(--radar-surface); box-shadow:var(--radar-shadow); }
.proposal-public-card { max-width:760px; margin:1.2rem auto; padding:clamp(1.1rem,3vw,2rem); }
.proposal-public-heading h1,.school-auth-card h1,.school-page-heading h1 { margin:0; color:var(--radar-text); font-size:clamp(1.5rem,3vw,2.2rem); letter-spacing:-.04em; }
.proposal-public-heading p:not(.eyebrow),.school-auth-card>p:not(.eyebrow),.school-page-heading p:not(.eyebrow) { color:var(--radar-muted); font-size:.88rem; }
.proposal-public-price { margin:1.4rem 0; padding:1rem 1.2rem; border:1px solid color-mix(in srgb,var(--radar-success) 28%,var(--radar-border)); border-radius:.8rem; background:var(--radar-info-soft); }
.proposal-public-price span,.proposal-public-price small { display:block; color:var(--radar-muted); font-size:.78rem; }
.proposal-public-price strong { display:block; margin:.2rem 0; color:var(--radar-success); font-size:1.9rem; letter-spacing:-.04em; }
.proposal-public-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin:0 0 1.4rem; }
.proposal-public-meta div { padding:.7rem .8rem; border-radius:.6rem; background:var(--radar-surface-soft); }.proposal-public-meta dt { color:var(--radar-muted); font-size:.7rem; }.proposal-public-meta dd { margin:.15rem 0 0; color:var(--radar-text); font-size:.86rem; font-weight:700; }
.proposal-public-copy { color:var(--radar-muted); font-size:.88rem; line-height:1.7; }.proposal-public-copy h2 { margin:1.2rem 0 .3rem; color:var(--radar-text); font-size:1rem; }.proposal-public-copy p { margin:0; white-space:normal; }
.proposal-accept-panel { margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--radar-border); }.proposal-accept-panel h2 { margin:0; color:var(--radar-text); font-size:1.1rem; }.proposal-accept-panel>p { color:var(--radar-muted); font-size:.82rem; }.proposal-field,.school-auth-card label { display:grid; gap:.35rem; margin:.9rem 0; color:var(--radar-muted); font-size:.8rem; }.proposal-field input,.school-auth-card input:not([type=checkbox]) { width:100%; min-height:2.7rem; padding:.65rem .8rem; border:1px solid var(--radar-border-strong); border-radius:.6rem; background:var(--radar-surface); color:var(--radar-text); font:inherit; }.proposal-check { display:block; margin:1rem 0; color:var(--radar-muted); font-size:.78rem; }.proposal-check input,.school-check input { accent-color:var(--radar-primary); margin-right:.35rem; }.proposal-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; margin-top:1.1rem; }.proposal-primary-button { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:2.65rem; padding:.6rem 1rem; border:1px solid var(--radar-primary); border-radius:.65rem; background:var(--radar-primary); color:#fff; font:inherit; font-size:.8rem; font-weight:700; text-decoration:none; cursor:pointer; }.proposal-primary-button:hover { color:#fff; filter:brightness(1.08); }.proposal-secondary-button { display:inline-flex; align-items:center; min-height:2.65rem; padding:.6rem 1rem; color:var(--radar-muted); font-size:.8rem; font-weight:650; text-decoration:none; }.proposal-secondary-button:hover { color:var(--radar-primary); }.proposal-error,.school-form-error { margin-top:1rem; padding:.75rem .9rem; border-radius:.6rem; background:var(--radar-danger-soft); color:var(--radar-danger); font-size:.82rem; }.proposal-success,.school-success,.proposal-accepted-note { margin-top:1rem; padding:.75rem .9rem; border-radius:.6rem; background:var(--radar-info-soft); color:var(--radar-success); font-size:.82rem; }
.school-auth-page { max-width:500px; margin:1.3rem auto; }.school-auth-card { padding:clamp(1.1rem,4vw,2rem); }.school-auth-card .proposal-primary-button { width:100%; margin-top:.5rem; }.school-auth-help,.school-password-help { color:var(--radar-subtle); font-size:.75rem; }.school-check { display:block!important; }.school-check input { width:auto!important; min-height:0!important; }
.school-page { padding-bottom:1rem; }.school-page-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin:1rem 0; }.school-logout { color:var(--radar-muted); font-size:.8rem; }.school-panel { margin:1rem 0; padding:clamp(1rem,3vw,1.4rem); }.school-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }.school-panel-heading h2 { margin:0; color:var(--radar-text); font-size:1.1rem; }.school-help { color:var(--radar-muted); font-size:.8rem; }.school-source-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }.school-source-option { display:flex; align-items:flex-start; gap:.55rem; padding:.7rem; border:1px solid var(--radar-border); border-radius:.6rem; background:var(--radar-surface-soft); cursor:pointer; }.school-source-option input { flex:0 0 auto; margin-top:.2rem; accent-color:var(--radar-primary); }.school-source-option strong,.school-source-option small { display:block; }.school-source-option strong { color:var(--radar-text); font-size:.8rem; }.school-source-option small { margin-top:.2rem; color:var(--radar-muted); font-size:.7rem; }.school-feedback { margin:.8rem 0 0; padding:.55rem .7rem; border-radius:.5rem; font-size:.76rem; }.school-feedback.is-success { background:var(--radar-info-soft); color:var(--radar-success); }.school-feedback.is-error { background:var(--radar-danger-soft); color:var(--radar-danger); }.school-content-list { display:grid; gap:.7rem; }.school-content-item { padding:.9rem; border:1px solid var(--radar-border); border-radius:.7rem; background:var(--radar-surface-soft); }.school-content-meta { display:flex; flex-wrap:wrap; gap:.5rem; color:var(--radar-subtle); font-size:.68rem; }.school-content-state { margin-left:auto; color:var(--radar-success); font-weight:700; }.school-content-item h3 { margin:.35rem 0; color:var(--radar-text); font-size:.95rem; }.school-content-item p { margin:0; color:var(--radar-muted); font-size:.8rem; }.school-content-actions { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.7rem; }.school-content-actions a,.school-content-actions button { min-height:2rem; padding:.35rem .55rem; border:1px solid var(--radar-border-strong); border-radius:.45rem; background:var(--radar-surface); color:var(--radar-muted); font:inherit; font-size:.7rem; text-decoration:none; cursor:pointer; }.school-content-actions a:hover,.school-content-actions button:hover { border-color:var(--radar-primary); color:var(--radar-primary); }.school-content-actions button:disabled { opacity:.55; cursor:default; }.school-empty { color:var(--radar-muted); font-size:.8rem; }
@media(max-width:600px){.proposal-public-meta,.school-source-grid{grid-template-columns:1fr}.school-page-heading,.school-panel-heading{align-items:flex-start; flex-direction:column}.school-panel-heading .proposal-primary-button{width:100%}.proposal-actions .proposal-primary-button{width:100%}}
.school-plan-banner { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:1rem 0; padding:1rem 1.2rem; border:1px solid color-mix(in srgb,var(--radar-primary) 25%,var(--radar-border)); border-radius:1rem; background:var(--radar-info-soft); }.school-plan-banner h2 { margin:0; color:var(--radar-text); font-size:1.1rem; }.school-plan-banner p:not(.eyebrow) { margin:.3rem 0 0; color:var(--radar-muted); font-size:.78rem; }.school-plan-stats { display:grid; grid-template-columns:repeat(3,minmax(100px,1fr)); gap:.55rem; min-width:48%; }.school-plan-stats span { padding:.6rem .7rem; border-radius:.6rem; background:var(--radar-surface); color:var(--radar-muted); font-size:.68rem; }.school-plan-stats strong { display:block; color:var(--radar-text); font-size:.85rem; }.school-password-grid,.school-invite-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; gap:.7rem; }.school-password-grid label,.school-invite-grid label { display:grid; gap:.35rem; color:var(--radar-muted); font-size:.76rem; }.school-password-grid input,.school-invite-grid input,.school-invite-grid select { width:100%; min-height:2.55rem; padding:.55rem .7rem; border:1px solid var(--radar-border-strong); border-radius:.55rem; background:var(--radar-surface); color:var(--radar-text); font:inherit; }.school-password-grid .proposal-primary-button,.school-invite-grid .proposal-primary-button { min-height:2.55rem; }.school-users-list { overflow-x:auto; }.school-users-table { min-width:680px; }.school-user-row { display:grid; grid-template-columns:2fr 1.2fr 1.1fr 1.2fr 1.2fr; gap:.7rem; align-items:center; padding:.68rem 0; border-bottom:1px solid var(--radar-border); color:var(--radar-muted); font-size:.74rem; }.school-user-row strong,.school-user-row small { display:block; }.school-user-row strong { color:var(--radar-text); }.school-user-row small { margin-top:.15rem; color:var(--radar-subtle); font-size:.68rem; }.school-user-head { color:var(--radar-subtle); font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }.school-user-status { color:var(--radar-success); }.school-user-actions { display:flex; flex-wrap:wrap; gap:.3rem; justify-content:flex-end; }.school-user-actions button { padding:.3rem .45rem; border:1px solid var(--radar-border-strong); border-radius:.4rem; background:var(--radar-surface); color:var(--radar-muted); font:inherit; font-size:.67rem; cursor:pointer; }.school-user-actions button:hover { border-color:var(--radar-primary); color:var(--radar-primary); }.school-users-panel .school-help { margin-bottom:1rem; }
@media(max-width:760px){.school-plan-banner,.school-password-grid,.school-invite-grid{display:grid;grid-template-columns:1fr}.school-plan-stats{grid-template-columns:repeat(3,1fr);min-width:0}.school-password-grid .proposal-primary-button,.school-invite-grid .proposal-primary-button{width:100%}}
.proposal-public-tools { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:.8rem; }.proposal-public-tools .proposal-secondary-button { min-height:2.25rem; padding:.45rem .75rem; border:1px solid var(--radar-border-strong); border-radius:.55rem; background:var(--radar-surface-soft); }.proposal-public-copy p { text-align:justify; }.proposal-accept-disclaimer { padding:.75rem .85rem; border-left:3px solid var(--radar-primary); border-radius:.4rem; background:var(--radar-info-soft); color:var(--radar-muted); font-size:.78rem!important; }.proposal-public-price small + small { margin-top:.2rem; }.proposal-public-heading .proposal-accepted-note { margin-bottom:0; }
