/* Comfortable text sizes across desktop and touch devices. */
.stack,.panel,.dashboard-columns>div{min-width:0}
.table-scroll{position:relative}
.institution-top img{width:135px;height:67px}
.nav-item{font-size:12px;min-height:42px}.nav-label{font-size:9px}
.environment-notice{font-size:11px;color:#69765f}.environment-notice b{color:#526b48}
.page-heading p{font-size:13px;color:#6e7d65}.page-heading .eyebrow{font-size:9px}
.welcome-banner p{font-size:12px;color:#bfcebc}.welcome-banner a{font-size:12px}.welcome-banner .eyebrow{font-size:9px}
.stat-card>div{font-size:12px;color:#687c67}.stat-card>small{font-size:11px;color:#78876e}
.breadcrumb{font-size:11px}.account b{font-size:12px}.account small{font-size:10px}.logout{font-size:11px}
.dashboard-columns table{font-size:12px}.dashboard-columns th{font-size:10px}.dashboard-columns .strong-link{font-size:11px}.dashboard-columns td small{font-size:10px}.dashboard-columns .pill{font-size:10px}
.dashboard-columns .panel-heading h2{font-size:16px}.dashboard-columns .panel-heading p{font-size:11px}.dashboard-columns .panel-heading>a{font-size:11px}
.quick-links b{font-size:12px}.quick-links small{font-size:10px;color:#78876d}.notification-list p{font-size:12px}.notification-list small{font-size:10px;color:#7f8d72}.event b{font-size:12px}
.calendar-note .eyebrow{font-size:9px}.app-footer{font-size:10px}.dashboard-columns .table-scroll table{min-width:560px}
.school-switch img{display:none}.school-switch{padding-left:16px}.school-switch small{font-size:10px}
@media(max-width:760px){.welcome-banner p{max-width:230px;font-size:11px}.welcome-banner a{font-size:11px}.welcome-banner .eyebrow{font-size:8px}.stat-card>div{font-size:11px}.stat-card>small{font-size:10px}.breadcrumb{font-size:9px}.logout{font-size:9px}.environment-notice{font-size:10px}.app-footer{font-size:9px}}

.edit-form{padding:24px;margin-bottom:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-field{min-width:0}.form-field label{display:block;font-weight:600;margin-bottom:8px}.form-field input,.form-field select,.form-field textarea,.edit-form>form>input{width:100%;padding:11px 12px;border:1px solid #bccdca;border-radius:9px;font:inherit;background:#fff;color:#173d35}.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}.field-error{color:#9d2828;font-size:13px}.preserve-text{white-space:pre-wrap;overflow-wrap:anywhere}.password-page{max-width:620px;margin:40px auto}.edit-form h2{margin-bottom:18px}.notice.success{border-left:4px solid #137958}.workflow-links{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.workflow-links a{padding:9px 14px;border:1px solid #bdd8ce;border-radius:8px;background:white;color:#15533e}@media(max-width:700px){.form-grid{grid-template-columns:1fr}.edit-form{padding:16px}}

.registration-page{max-width:940px;margin:32px auto}.edit-form fieldset{border:1px solid #d6e4df;border-radius:10px;padding:18px;margin:22px 0}.edit-form legend{padding:0 8px;font-weight:700}.edit-form>h2{margin-top:28px}
.attendance-editor table{min-width:780px;table-layout:fixed}.attendance-editor th,.attendance-editor td{padding:6px 10px;line-height:1.3;vertical-align:middle}.attendance-editor th:nth-child(1),.attendance-editor td:first-child{width:24%}.attendance-editor th:nth-child(2){width:25%}.attendance-editor th:nth-child(3){width:14%}.attendance-editor td small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.attendance-choice{border:0;padding:0;margin:0;display:flex;gap:4px;align-items:center}.radio-option{display:inline-flex;align-items:center;gap:4px;border:1px solid #d9e2dc;border-radius:6px;padding:4px 7px;background:#fff;color:var(--ink);font-size:10px;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer}.radio-option:has(input:checked){background:#e9f4e9;border-color:#75aa8e;color:#1d654e}.radio-option input{accent-color:#176c5b;margin:0}.attendance-temperature,.attendance-remarks{height:32px;padding:6px 8px}.attendance-temperature{width:78px}.attendance-remarks{min-width:0;width:100%}
.portal-carousel{position:relative;max-width:1180px;margin:26px auto 0;padding:0 24px}.portal-carousel-track{position:relative;min-height:330px;border-radius:18px;overflow:hidden;background:#153e35}.portal-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .35s ease}.portal-slide.active{opacity:1;visibility:visible}.portal-slide img{width:100%;height:330px;object-fit:cover;filter:brightness(.62)}.portal-slide>div{position:absolute;left:40px;bottom:35px;max-width:620px;color:white}.portal-slide h2{font-size:31px;color:white;margin-bottom:8px}.portal-slide p{margin:0;color:#e9f1eb}.portal-slide .eyebrow{color:#dbe8ca}.carousel-controls{position:absolute;right:45px;bottom:34px;display:flex;gap:7px;z-index:2}.carousel-controls button{width:10px;height:10px;padding:0;border:1px solid white;border-radius:50%;background:transparent}.carousel-controls button[aria-pressed="true"]{background:white}.settings-preview{display:block;width:180px;height:100px;object-fit:cover;border-radius:9px;margin-bottom:12px}.invoice-addons{border-top:1px solid var(--line);padding:22px 24px}.quantity-input{width:72px}.finance-line{display:block;margin:2px 0}@media(max-width:760px){.portal-carousel{padding:0 15px}.portal-carousel-track,.portal-slide img{min-height:260px;height:260px}.portal-slide>div{left:24px;right:24px;bottom:28px}.portal-slide h2{font-size:24px}.carousel-controls{right:25px;bottom:18px}}
.theme-dark{--bg:#101816;--text:#cbd8d3;--ink:#eff7f3;--muted:#91a49d;--white:#17231f;--line:#2a3934}.theme-dark .panel,.theme-dark .stat-card,.theme-dark input,.theme-dark select,.theme-dark .radio-option,.theme-dark th{background:#17231f;color:var(--text)}.theme-dark th{border-color:#2a3934}.theme-dark tbody tr:hover{background:#1b2925}.theme-dark .topbar{background:#17231fee}.theme-dark .button.secondary{background:#17231f;color:var(--ink)}
.profile-preview{display:block;width:96px;height:96px;object-fit:cover;border-radius:22px;margin-bottom:16px}
.account .avatar{overflow:hidden;padding:0}.account .avatar img{width:100%;height:100%;object-fit:cover}
.product-art img{width:100%;height:100%;object-fit:cover}.product-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin:18px 0}.product-image-grid label{border:1px solid var(--line);border-radius:10px;overflow:hidden}.product-image-grid img{display:block;width:100%;height:90px;object-fit:cover}.product-image-grid span{display:block;padding:8px;font-size:11px}
.student-profile-photo{width:118px;height:118px;object-fit:cover;border-radius:26px;border:4px solid white;box-shadow:0 8px 24px #173d3518;margin:-10px 0 24px}
