@import url('./form-editor.css');
/* Texas School applications: a calm registration sheet, not dashboard controls.
   Shared grids carry the structure; red is reserved for action and focus. */
.application-page{max-width:920px;padding:28px 44px 64px;background:#fff;box-shadow:0 0 0 1px var(--rule-soft);margin:32px auto}
.application-page>header{padding:8px 0 28px;border-bottom:3px solid var(--navy)}
.application-page>header img{width:300px;max-width:80%;margin-bottom:28px}
.application-page>header h1{font-size:clamp(1.85rem,4vw,2.7rem);line-height:1.18;max-width:25ch;margin:10px 0 14px}
.application-page>header .tag{font:600 var(--text-control)/1.4 var(--font-sans);text-transform:none;letter-spacing:0}
.application-page>header p{color:var(--ink-2);font-size:var(--text-body)}
.application-page form>section:not(.application-introduction) h2,.application-page .question-section{font:600 var(--text-subheading)/1.4 var(--font-sans);color:var(--navy);margin:32px 0 22px;padding-top:20px;border-top:1px solid var(--rule)}
.application-page form>section:not(.application-introduction):first-child h2,.application-page form>.application-introduction[hidden]+section h2{margin-top:0;padding-top:0;border-top:0}
.application-page .questionnaire>.field{margin:24px 0}
.application-page .field input:not([type=checkbox]):not([type=radio]),.application-page .field textarea,.application-page .field select{border-radius:4px;border-color:#b6b9bd;background:#fff;padding:11px 12px;margin-top:8px}
.application-page .field textarea{min-height:112px}
.application-page .field small{display:block;margin-top:7px;font-weight:400;line-height:1.45}
.application-page #saveProfile{margin-top:20px}
.application-page #managementNotes{margin-top:32px;padding-top:24px;border-top:1px solid var(--rule)}
.application-page #managementNotes>h2{margin:0 0 10px;color:var(--navy)}
.application-page #managementNotes>p{margin:0 0 24px;max-width:72ch;color:var(--ink-2)}
.application-page #noteForms{display:grid;gap:28px}
.application-page .management-note-form{min-width:0}
.application-page .management-note-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:12px}
.application-page .management-note-actions .meta{margin:0}
.application-page .application-choices{margin:26px 0;padding:0;min-width:0}
.application-page .application-choices>legend{padding:0 0 10px}
.application-page .application-choices label{min-height:40px;cursor:pointer;padding:8px 0}
.application-page .question-choice-options{gap:2px 24px}
.application-page .question-help{color:var(--ink-2);line-height:1.5;margin:7px 0 12px}
.application-page .question-error{color:var(--red);font:600 var(--text-body)/1.5 var(--font-sans);margin:10px 0 0}
.application-page .application-choices[data-invalid]>legend{color:var(--red)}
.application-page .application-actions{border-top:1px solid var(--rule);margin-top:26px;padding-top:24px}
.application-page .application-actions button{background:var(--red);border-color:var(--red);font:600 var(--text-body)/1.4 var(--font-sans);text-transform:none;letter-spacing:0;padding:12px 24px;border-radius:4px}
.application-page :is(input,textarea,select,button):focus-visible{outline:2px solid var(--red);outline-offset:3px}
.rating-grid{min-width:0;border:0;padding:0;margin:32px 0}
.rating-grid>legend{font:600 var(--text-body)/1.5 var(--font-sans);color:var(--ink);padding:0}
.rating-grid>.question-help{font:400 var(--text-control)/1.4 var(--font-sans);color:var(--ink-2);margin:8px 0 14px}
.rating-grid-scroll{overflow-x:auto;border:1px solid #d7dce2;border-radius:5px}
.rating-grid table{width:100%;border-collapse:collapse;table-layout:fixed;font:400 var(--text-body)/1.4 var(--font-sans)}
.rating-grid th{font-weight:600;letter-spacing:0;text-transform:none}
.rating-grid thead th{background:#edf0f5;color:var(--navy);padding:13px 8px;text-align:center;overflow-wrap:anywhere}
.rating-grid thead th:first-child{width:30%;text-align:left;padding-left:16px}
.availability-grid .rating-grid{margin-top:12px}
.availability-grid .rating-grid thead th:first-child{width:52%}
.rating-grid tbody th{padding:10px 16px;text-align:left;border-top:1px solid #d7dce2;overflow-wrap:anywhere}
.rating-grid tbody th small{display:block;font-weight:400;margin-top:4px}
.rating-grid td{padding:0;border-top:1px solid #d7dce2;text-align:center}
.rating-grid tbody tr:nth-child(even){background:#f7f8fa}
.rating-grid td:has(input:checked){background:#f7e9e7}
.application-page .rating-grid td label{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;padding:12px 8px;cursor:pointer;font:400 var(--text-control)/1.35 var(--font-sans);color:var(--ink);letter-spacing:0;text-transform:none}
.application-page .rating-grid input{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--red);flex:none}
.rating-grid input:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.rating-grid td label span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){
  .application-page{width:100%;padding:24px 20px 44px;margin:0;box-shadow:none}
  .rating-grid table,.rating-grid tbody,.rating-grid tr{display:block}
  .rating-grid thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .rating-grid tr{padding:12px;border-bottom:1px solid #d7dce2}
  .rating-grid tbody th{display:block;padding:0 0 8px;border:0}
  .rating-grid td{display:inline-block;vertical-align:top;width:50%;border:0;text-align:left}
  .application-page .rating-grid td label{justify-content:flex-start;gap:9px;padding:10px 4px;min-height:44px}
  .rating-grid td label span{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
  .rating-grid td:has(input:checked){border-radius:3px}
}
@media print{.application-page{box-shadow:none;margin:0;max-width:none;padding:0}.rating-grid tr{break-inside:avoid}.rating-grid thead{display:table-header-group}}
