/* Shared readable scale; print has its own physical page layout. */
body{font-size:16px;line-height:1.55;--muted:#526159;--red:#9d3028}
h1{font-size:30px;line-height:1.25}h2{font-size:21px}h3{font-size:18px}
.sub,.inline-info,.feature-list,.notice,.empty,.field label,.person strong,.person small,.btn,.btn.small,input,select,textarea,td,th,.lesson,.lesson small,.table-footer,.note-count,.save-indicator,.class-meta,.detail-grid strong,.detail-grid small,.setting-row{font-size:16px}
.breadcrumb,.academic-year,.status-pill,.tag,.eyebrow,.stat-head,.stat-foot,.quick-item strong,.quick-item small,.school-switch strong,.school-switch small,.profile strong,.profile small,.demo-card,.demo-card p,.nav-caption,footer{font-size:14px}
.panel-header .sub{font-size:16px}.btn,.btn.small,.text-link,input,select,textarea,.icon-button{min-height:44px}.icon-button{min-width:44px}.btn{white-space:normal;text-align:center}.btn.ghost{padding:8px}
input::placeholder{color:#637369}input,select,.field{min-width:0;max-width:100%}.grade-input{width:85px;min-height:44px;font-size:16px}
.sidebar{width:300px;padding:22px 16px;overflow-y:auto}.shell{margin-left:300px}.brand{padding:0 12px 20px}.brand img{width:100%;max-height:100px;height:auto;object-position:center}.brand strong{display:block;font-size:22px;line-height:1.35;overflow-wrap:anywhere}.brand>span{font-size:12px;letter-spacing:1px}.school-switch{margin-bottom:16px}.school-switch>div:nth-child(2){min-width:0;overflow-wrap:anywhere}.school-icon{flex-shrink:0}
nav a{font-size:16px;min-height:48px;padding:10px;color:#526159}.side-bottom{padding-top:20px}.powered-by{display:flex;align-items:center;gap:10px;font-size:12px;margin:12px 0 20px}.powered-by img{width:66px;height:32px;object-fit:contain}.profile small{font-size:13px}.online-dot{display:none}
.hero p,.hero .eyebrow{font-size:16px;color:white}.hero h2{font-size:29px}.hero-copy{max-width:80%}.hero{min-height:240px}.hero-art{opacity:.35}.btn.yellow{color:var(--accent-ink,#1f2a26)}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-value{font-size:30px}.stat-value small{font-size:16px;color:#526159}.stat-head,.stat-foot,.note-count,.lesson small{color:#526159}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.quick-item strong,.quick-item small{font-size:16px}.chart{height:220px;margin-bottom:24px}.chart-label,.chart-amount,.chart-legend{font-size:14px}
.tag.amber{color:#70520c}.tag.gray{color:#526159}.tag.red{color:#943b2b}.notice{color:#355440}.notice.amber{color:#70520c}.class-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.class-card{min-width:0}.class-card h3{overflow-wrap:anywhere}.class-card .btn{margin-top:4px}.level-panel{margin-bottom:22px}.level-panel h2{margin-top:8px}.class-card .tag{white-space:normal}.settings-grid{grid-template-columns:minmax(0,1fr)}.extra-settings{margin-top:20px}.panel-body p:first-child{margin-top:0}.panel-header{flex-wrap:wrap}.setting-row{gap:12px;align-items:center;flex-wrap:wrap}.form-actions{flex-wrap:wrap}.form-grid{align-items:start}
dialog{width:min(850px,calc(100vw - 24px))}#modal-title{font-size:21px}#modal-body{padding:24px}.subject-editor>div{gap:10px}.subject-editor input[type=checkbox]{min-height:24px;width:24px;flex-shrink:0}.subject-editor label{min-height:44px}.subject-editor input[type=number]{width:95px;flex-shrink:0}
.schedule td{min-width:190px;height:125px}.schedule{table-layout:fixed;min-width:1300px}.schedule th:first-child{width:145px}.schedule .lesson{min-height:80px}.schedule .lesson.add{min-height:80px}.move-button{width:100%;margin-top:6px}.drop-target{background:#fce9a1!important;outline:3px solid var(--green);outline-offset:-3px}.lesson[draggable=true]{cursor:grab}.lesson[draggable=true]:active{cursor:grabbing}.table-wrap{overscroll-behavior-x:contain}.table-wrap:focus-visible{outline:3px solid var(--green)}
.theme-preview{border:1px solid var(--border);border-radius:12px;margin:20px 0;padding:20px;color:#1f2a26;background:white;border-top:6px solid var(--preview-primary)}.preview-button,.preview-accent{display:inline-block;border-radius:6px;padding:12px;margin:4px 0}.preview-button{background:var(--preview-primary);color:white}.preview-accent{background:var(--preview-accent);color:var(--preview-ink)}input[type=color]{width:100%;height:50px;padding:4px}.btn[hidden]{display:none}#toast{font-size:16px;left:50%;max-height:40vh;overflow:auto}.print-note{font-size:13px;color:#526159}.bulletin{font-size:16px}.bulletin-head h2{font-size:24px}.bulletin-info{font-size:16px}.bulletin td,.bulletin th{font-size:16px;overflow-wrap:anywhere}.bulletin table{table-layout:fixed}.bulletin td:first-child,.bulletin th:first-child{width:25%}.bulletin td:last-child,.bulletin th:last-child{width:25%}.bulletin-summary{gap:15px;flex-wrap:wrap}.bulletin-head p{margin:5px 0}.bulletin-head .school-document-logo{width:auto;max-width:140px;max-height:80px}.bulletin-info>span{min-width:0;overflow-wrap:anywhere}.detail-grid strong{overflow-wrap:anywhere}.search svg{top:16px}
@media(max-width:1100px){.sidebar{transform:translateX(-100%);width:300px;box-shadow:20px 0 60px #0001;max-width:90vw}.sidebar.open{transform:translateX(0)}.shell{margin-left:0}.menu-button{display:block}.topbar{height:auto;min-height:68px}.top-right .status-pill{display:none}}
@media(max-width:600px){main{padding:20px 14px}.page-heading{flex-direction:column;align-items:stretch}.page-heading>.button-row{justify-content:flex-start}.hero{padding:22px}.hero-copy{max-width:100%}.hero h2{font-size:25px}.hero-art{display:none}.stat-grid{grid-template-columns:1fr}.class-grid,.form-grid,.detail-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.panel-body{padding:16px}.form-actions .btn{flex:1}.breadcrumb{font-size:14px}.top-right{display:none}.topbar{padding:8px 14px}.chart{gap:8px;padding-left:5px;padding-right:5px}.chart-label,.chart-amount{font-size:12px}.chart-legend{display:none}.panel-header{padding:16px}.filters select{width:100%}.search{width:100%}.form-actions{position:sticky;bottom:-24px;background:white;padding-bottom:12px}.bulletin{min-width:560px}#modal-body:has(.bulletin){overflow-x:auto}.bulletin-summary{padding:14px}.brand strong{font-size:22px}footer{flex-wrap:wrap}.subject-editor>div{align-items:flex-start}.subject-editor label{overflow-wrap:anywhere}}
@media print{
  @page{size:A4;margin:14mm}
  html,body{height:auto!important;overflow:visible!important}
  body{font-size:11pt;color:#111}
  body>dialog[open]{position:static!important;display:block!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;overflow:visible!important;margin:0!important;inset:auto!important;border:0;padding:0}
  #modal-body,#modal-body:has(.bulletin){padding:0!important;overflow:visible!important}
  .bulletin{min-width:0!important;font-size:11pt;color:#111}
  .bulletin td,.bulletin th{font-size:10pt;padding:7px 5px;line-height:1.4;color:#111;white-space:normal}
  .bulletin-head h2{font-size:19pt}.bulletin-head p,.bulletin-info,.detail-grid strong,.detail-grid small{font-size:11pt}
  .bulletin-head{padding-bottom:12px}.bulletin-info{margin:14px 0}.bulletin-summary{margin-top:14px;padding:12px}
  .bulletin-summary strong{font-size:17pt}.print-note{font-size:9pt}.bulletin-head,.bulletin-info,.bulletin-summary,.detail-grid,tr,.print-note{break-inside:avoid}
  thead{display:table-header-group}.bulletin table{table-layout:fixed;width:100%}.bulletin-head img{max-height:70px!important}
}
