/* OIMS design system: shared shell, forms and operational screens. */
:root {
  --ink: #192b42; --muted: #607086; --primary: #245e83; --primary-dark: #194866;
  --sidebar: #14243b; --line: #dfe5ed; --page: #f4f6f9; --radius: 10px;
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
  --space-5: 20px; --space-6: 24px; --space-8: 32px;
  --sidebar-width: 268px; --header-height: 72px; --control-height: 42px;
  --shadow-card: 0 2px 6px rgb(25 43 66 / 3%);
  --bs-body-color: var(--ink); --bs-body-bg: var(--page);
  --bs-link-color: var(--primary); --bs-link-hover-color: var(--primary-dark);
  --bs-body-font-family: "Segoe UI", Inter, -apple-system, BlinkMacSystemFont, sans-serif;
}
body { font-size: 14px; line-height: 1.55; color: var(--ink); background: var(--page); }
h1,h2,h3,h4 { color: var(--ink); font-weight: 650; }
a { text-underline-offset: 3px; }
:focus-visible { outline: 3px solid #4b8db5; outline-offset: 3px; }
.ui-icon { flex: 0 0 20px; vertical-align: middle; }
.text-muted,.text-secondary { color: var(--muted)!important; }
.small,small { font-size: 12px; }
.app-sidebar { width: var(--sidebar-width); background: var(--sidebar); border-right: 1px solid #23374f; }
.brand { padding: 24px 20px; gap: 12px; min-height: 86px; letter-spacing: .2px; }
.brand-mark { width: 38px; height: 38px; background: #2b6285; color: #fff; border-radius: 10px; }
.brand-mark .ui-icon { width: 24px; height: 24px; }
.brand-copy { font-size: 24px; font-weight: 700; color: #fff; }
.brand small { font-size: 9px; letter-spacing: 1.1px; color: #aebed2; margin-top: 6px; line-height: 1.4; }
.institute-switcher { margin: 0 16px 18px; border: 1px solid #34445c; background: #1b2f49; padding: 12px; gap: 10px; }
.institute-avatar { background: #2b425e; color: #dce8f4; width: 34px; height: 34px; }
.institute-switcher strong { font-size: 12px; color: #f2f6fa; }
.institute-switcher small { color: #b0bed0; font-size: 11px; }
.sidebar-nav { padding: 0 12px 18px; min-height: 0; scrollbar-color: #4c607b transparent; overscroll-behavior: contain; }
.nav-item { min-height: 40px; gap: 11px; padding: 9px 12px; color: #c4cede; font-size: 13px; font-weight: 450; border-radius: 7px; margin: 2px 0; }
.nav-item .ui-icon { color: #9bafc9; width: 18px; height: 18px; }
.nav-item:hover { color: #fff; background: #243a55; }
.nav-item.active { background: #2b536f; color: #fff; box-shadow: inset 3px 0 #79b8d8; font-weight: 600; }
.nav-item.active .ui-icon { color: #cce7f5; }
.nav-section-label { font-size: 10px; font-weight: 700; letter-spacing: 1px; color: #9caec7; padding: 22px 12px 7px; }
.sidebar-footer { padding: 16px 22px; font-size: 10px; color: #aebed2; border-color: #2d405a; }
.status-dot { background: #78b49d; }
.app-shell { margin-left: var(--sidebar-width); min-width: 0; }
.topbar { min-height: var(--header-height); height: var(--header-height); padding: 0 32px; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 1020; box-shadow: 0 1px 3px #192b4203; }
.topbar-leading { display: flex; align-items: center; gap: 16px; min-width: 0; }
.workspace-title { font-size: 13px; font-weight: 600; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.workspace-title small { display: block; color: var(--muted); font-size: 11px; font-weight: 400; margin-top: 2px; }
.topbar-actions { gap: 16px; }
.global-search { background: #f7f9fb; border: 1px solid var(--line); min-height: 36px; }
.global-search input { font-size: 12px; width: 170px; }
.icon-button { color: #64768c; height: 36px; width: 36px; border-radius: 8px; }
.icon-button:hover { background: #eaf1f7; color: var(--primary); }
.user-profile { border-color: var(--line); padding-left: 16px; }
.user-avatar { background: #e6eef4; color: #285875; border: 0; width: 36px; height: 36px; }
.user-copy strong { font-size: 12px; max-width: 180px; }
.user-copy small { font-size: 11px; color: var(--muted); }
.main-content { padding: 24px 32px 0; max-width: 1640px; }
.breadcrumb-row { margin-bottom: 18px; }
.breadcrumb { font-size: 12px; }
.breadcrumb a { color: var(--muted); }
.breadcrumb-item.active { color: var(--ink); }
.page-header { align-items: flex-start; margin-bottom: 24px; gap: 20px; }
h1.page-heading { display: block; }
.page-header h1,h1.page-heading,.main-content > h1 { font-size: 27px; line-height: 1.3; letter-spacing: -.6px; color: var(--ink); margin: 0 0 8px; font-weight: 650; }
.page-header p,.page-description { font-size: 13px; line-height: 1.6; color: var(--muted); max-width: 780px; }
.eyebrow { color: #5d728a; font-size: 10px; letter-spacing: 1.2px; font-weight: 700; margin-bottom: 8px; }
.page-actions { gap: 10px; }
.btn { min-height: 40px; padding: 9px 16px; border-radius: 7px; font-size: 13px; font-weight: 600; gap: 7px; box-shadow: none; }
.btn-primary { --bs-btn-bg: var(--primary); --bs-btn-border-color: var(--primary); --bs-btn-hover-bg: var(--primary-dark); --bs-btn-hover-border-color: var(--primary-dark); --bs-btn-active-bg: var(--primary-dark); --bs-btn-active-border-color: var(--primary-dark); --bs-btn-disabled-bg: var(--primary); --bs-btn-disabled-border-color: var(--primary); }
.btn-outline-primary { --bs-btn-color: var(--primary); --bs-btn-border-color: #bdcfdc; --bs-btn-hover-bg: #eaf1f6; --bs-btn-hover-color: var(--primary-dark); --bs-btn-hover-border-color: #8aafc7; --bs-btn-active-bg: var(--primary); --bs-btn-active-border-color: var(--primary); }
.btn-outline-secondary { --bs-btn-color: #43556d; --bs-btn-border-color: #d2dae4; --bs-btn-hover-bg: #f1f5f8; --bs-btn-hover-color: var(--ink); --bs-btn-hover-border-color: #adbdcd; background: #fff; }
.btn-secondary { --bs-btn-bg: #53677f; --bs-btn-border-color: #53677f; }
.btn-danger { --bs-btn-bg: #b63b40; --bs-btn-border-color: #b63b40; }
.btn-success { --bs-btn-bg: #287653; --bs-btn-border-color: #287653; }
.btn-warning { --bs-btn-bg: #f1c36b; --bs-btn-border-color: #f1c36b; --bs-btn-color: #50370e; }
.btn-sm { min-height: 30px; font-size: 12px; padding: 5px 10px; }
.btn-link { color: var(--primary); }
.btn:disabled { opacity: .55; cursor: not-allowed; }
.content-card,.card,.stat-card { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-card); }
.card-header { padding: 18px 22px; background: #fff; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.card-header:first-child { border-radius: var(--radius) var(--radius) 0 0; }
.section-title,.card-header h2 { color: var(--ink); font-size: 15px; font-weight: 650; margin: 0; }
.card-header p { font-size: 12px; color: var(--muted); margin: 4px 0 0; }
.card-body { padding: 24px; }
.stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-bottom: 24px; }
.stat-card { padding: 20px; min-height: 124px; }
.stat-label { color: var(--muted); font-size: 12px; font-weight: 500; margin-bottom: 12px; max-width: none; }
.stat-value { font-size: 29px; font-weight: 650; color: var(--ink); letter-spacing: -.8px; line-height: 1.2; }
.stat-trend { font-size: 11px; color: var(--muted); margin-top: 10px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 24px; }
.dashboard-grid > *, .row > * { min-width: 0; }
.quick-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.quick-links .btn { justify-content: space-between; padding: 13px 14px; min-height: 48px; font-weight: 500; }
.activity-list > div { padding: 0 0 14px 18px; border-left: 2px solid #e3eaf1; position: relative; }
.activity-list > div::before { content: ''; width: 8px; height: 8px; background: #76a0bb; border-radius: 50%; position: absolute; left: -5px; top: 6px; }
.platform-banner { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 26px; border: 1px solid #d5e1eb; border-radius: var(--radius); background: #eaf1f7; margin-bottom: 24px; }
.platform-banner h2 { font-size: 19px; margin: 6px 0; color: #254c68; letter-spacing: -.3px; }
.platform-banner p { color: #4f6a82; margin: 0; font-size: 13px; }
.platform-banner .eyebrow { color: #4b6b84; }
.banner-monogram { display: none; }
.hero-card { background: #eaf1f7; border-color: #d5e1eb; }
.platform-filters,.filter-bar,.table-toolbar { padding: 18px 22px!important; border-bottom: 1px solid var(--line); background: #fff; display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.platform-filters > div:first-child { flex: 1; min-width: 200px; }
.platform-filters > div:nth-child(2) { min-width: 200px; }
.filter-bar .form-label,.platform-filters .form-label { margin-bottom: 6px; }
.table-responsive { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; border-radius: inherit; }
.table { font-size: 13px; color: var(--ink); margin-bottom: 0; --bs-table-hover-bg: #f5f8fb; }
.table > thead > tr > th { background: #f6f8fb; color: #53677f; font-size: 11px; font-weight: 650; text-transform: none; letter-spacing: .1px; border-bottom: 1px solid var(--line); white-space: nowrap; padding: 12px 18px; }
.table > tbody > tr > td,.table > tbody > tr > th { padding: 13px 18px; border-color: #eaf0f5; vertical-align: middle; }
.table > tbody > tr:hover > td { background: #f8fafc; }
.table td .btn { white-space: nowrap; }
.table .form-control,.table .form-select { min-width: 96px; }
.table .form-check-input { min-width: 18px; }
.table td .small { line-height: 1.5; margin-top: 3px; }
.badge,.status-pill { display: inline-flex; align-items: center; font-size: 11px; font-weight: 600; padding: 5px 9px; border-radius: 5px; line-height: 1.4; }
.status-pill { gap: 6px; white-space: nowrap; }
.status-pill::before { content: ''; width: 5px; height: 5px; background: currentColor; border-radius: 50%; }
.badge-soft-success,.status-active { background: #e8f3ec; color: #226744; }
.badge-soft-primary,.status-pending { background: #e9f0f8; color: #345b83; }
.status-due { background: #fff3dc; color: #875b13; }
.status-expired,.status-suspended { background: #fbecee; color: #a43342; }
.empty-state,.platform-empty { padding: 36px 24px; text-align: center; color: var(--muted); font-size: 13px; }
.empty-state h2,.platform-empty h3 { color: var(--ink); font-size: 16px; margin: 0 0 8px; }
.empty-state p,.platform-empty p { max-width: 430px; margin: 0 auto 16px; }
.empty-symbol,.empty-icon { color: #6f89a4; background: #f0f4f8; width: 44px; height: 44px; border-radius: 10px; margin: 0 auto 14px; display: grid; place-items: center; font-size: 20px; }
.pagination-row,.pagination-bar,nav[aria-label='Pagination'],nav[aria-label='Report pages'] { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 16px 20px; font-size: 12px; }
.editor-panel { max-width: 1120px; padding: 0; overflow: visible; }
.editor-panel > form > .form-sections { padding: 0 28px; }
.editor-panel > form > .form-error-summary { margin: 24px 28px 0; }
.form-panel,.platform-form { max-width: 1120px; width: 100%; }
.form-sections { width: 100%; }
.form-section { min-width: 0; padding: 26px 0; border: 0; border-bottom: 1px solid var(--line); margin: 0; }
.form-section:last-child { border-bottom: 0; }
.form-section legend { float: none; width: auto; font-size: 15px; font-weight: 650; color: var(--ink); margin: 0 0 4px; padding: 0; }
.form-section-description { font-size: 12px; color: var(--muted); margin: 0 0 22px; }
.form-fields-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 28px; align-items: start; }
.form-sections-short .form-section { padding-top: 24px; padding-bottom: 24px; }
.form-field { min-width: 0; }
.field-wide { grid-column: 1 / -1; }
.form-label,.field-group > label { display: block; margin: 0 0 8px; font-size: 12px; font-weight: 600; color: #354960; }
.required-marker { color: #ac3646; margin-left: 4px; font-weight: 600; }
.form-control,.form-select,.form-field input:not([type='checkbox']):not([type='radio']),.form-field select,.form-field textarea { min-height: var(--control-height); width: 100%; font-size: 14px; color: var(--ink); background-color: #fff; border: 1px solid #cfd8e3; border-radius: 7px; padding: 10px 12px; line-height: 1.45; box-shadow: none; }
.form-select { padding-right: 34px; }
textarea.form-control,.form-field textarea { min-height: 110px; resize: vertical; }
.form-control::placeholder { color: #78879a; opacity: 1; }
.form-control:focus,.form-select:focus { border-color: #6094b7; box-shadow: 0 0 0 3px #245e8318; outline: none; }
.form-control:disabled,.form-select:disabled { background-color: #eef2f6; color: #65788b; cursor: not-allowed; opacity: 1; }
.form-control[readonly] { background-color: #f7f9fb; color: #52667c; }
.form-control.is-invalid,.form-select.is-invalid { border-color: #c94d5d; background-image: none; }
.form-control.is-valid,.form-select.is-valid { border-color: #398a62; }
.form-text { font-size: 12px; color: #65778b; line-height: 1.5; margin-top: 7px; }
.form-text ul { margin: 6px 0 0; padding-left: 18px; }
.field-errors,.errorlist { color: #b02f43; font-size: 12px; margin: 7px 0 0; padding-left: 0; list-style: none; }
.field-errors p { margin: 0 0 3px; }
.field-checkbox { align-self: center; padding-top: 7px; }
.checkbox-control { display: flex; align-items: flex-start; gap: 10px; }
.checkbox-control label { font-size: 13px; font-weight: 500; line-height: 1.5; }
.form-check-input { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 2px; border-color: #aebdcd; }
.form-check-input:checked { background-color: var(--primary); border-color: var(--primary); }
input[type='file'].form-control { padding: 8px 10px; background: #f8fafc; border-style: dashed; }
input[type='file']::file-selector-button { font-weight: 600; color: var(--primary); background: #eaf1f7; border: 0; padding: 8px 12px; margin-right: 12px; }
.form-actions,.form-footer { padding: 20px 26px; margin-top: 0; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 16px; background: #fff; border-radius: 0 0 var(--radius) var(--radius); }
.form-actions-sticky { position: sticky; bottom: 0; z-index: 10; box-shadow: 0 -4px 16px #192b4206; }
.form-actions-note { color: var(--muted); font-size: 12px; }
.form-actions-buttons { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.calendar-input-group { flex-wrap: nowrap; }
.calendar-input-group > .form-control { min-width: 0; border-radius: 7px 0 0 7px!important; }
.calendar-toggle { min-width: 42px; display: inline-flex; align-items: center; justify-content: center; }
.flatpickr-calendar { font-family: var(--bs-body-font-family); border-radius: 10px; box-shadow: 0 10px 30px #14243b24; }
.flatpickr-day.selected,.flatpickr-day.selected:hover { background: var(--primary); border-color: var(--primary); }
.flash-messages { margin-bottom: 20px; }
.alert { border-radius: 8px; font-size: 13px; padding: 14px 18px; border-width: 1px; display: block; }
.alert-dismissible { padding-right: 48px; }
.alert-title { display: block; font-size: 12px; margin-bottom: 3px; }
.alert-success { background: #eef7f1; color: #266344; border-color: #c9e5d4; }
.alert-info { background: #edf4fb; color: #345a7f; border-color: #d1e1f0; }
.alert-warning { background: #fff8e9; color: #795820; border-color: #eddfb6; }
.alert-danger { background: #fcf0f1; color: #9a3540; border-color: #efcfd4; }
.confirm-dialog { border: 1px solid var(--line); border-radius: 14px; padding: 28px; max-width: 440px; width: calc(100% - 32px); box-shadow: 0 20px 80px #14243b33; color: var(--ink); }
.confirm-dialog::backdrop { background: #14243b80; }
.confirm-dialog h2 { font-size: 20px; }
.confirm-dialog p { color: var(--muted); margin: 16px 0 24px; }
.page-footer { padding: 22px 0; border-top: 1px solid var(--line); margin-top: 28px; color: #718197; font-size: 11px; }
.subscription-summary { display: flex; justify-content: space-between; gap: 24px; padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); margin-bottom: 24px; }
.subscription-summary h2 { font-size: 22px; margin: 12px 0 8px; }
.subscription-summary p { color: var(--muted); font-size: 13px; margin: 0; }
.subscription-price { text-align: right; align-self: center; flex-shrink: 0; }
.subscription-price strong { font-size: 26px; display: block; }
.subscription-price span { font-size: 12px; color: var(--muted); }
.renewal-row { padding: 14px 0; border-bottom: 1px solid #eef2f6; display: flex; justify-content: space-between; gap: 14px; }
.renewal-row:last-child { border: 0; }
.renewal-row small { display: block; color: var(--muted); }
.revenue-total { display: flex; justify-content: space-between; padding: 10px 0; gap: 12px; }
.revenue-total strong { font-size: 24px; }
.report-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-bottom: 24px; }
.notice-card { padding: 22px; border-bottom: 1px solid var(--line); }
.notice-card:last-child { border-bottom: 0; }
.notice-card h2 { font-size: 16px; margin: 12px 0 8px; }
.notice-meta,.message-meta { display: flex; flex-wrap: wrap; gap: 12px; color: var(--muted); font-size: 12px; }
.auth-main { background: #f3f6fa; padding: 48px 24px; }
.auth-layout { max-width: 1020px; min-height: 560px; border: 1px solid var(--line); box-shadow: 0 16px 50px #14243b0a; border-radius: 16px; }
.auth-story { background: #14243b; padding: 44px; }
.auth-story .brand { padding: 0; }
.auth-story h1 { color: #fff; font-size: 34px; letter-spacing: -.7px; line-height: 1.25; margin-top: 64px; }
.auth-story h1 em { color: #a7d0e5; font-style: normal; }
.auth-story p { color: #b6c6d9; font-size: 14px; }
.auth-art { display: none; }
.auth-story-footer { color: #9eb2cb; font-size: 10px; letter-spacing: 1px; }
.auth-form-side { padding: 52px 44px; }
.auth-form-side h2 { font-size: 26px; letter-spacing: -.4px; }
.auth-form-side > p,.auth-note { font-size: 13px; color: var(--muted); }
.auth-form-side .form-control { min-height: 46px; }
.auth-simple { background: #fff; max-width: 560px; border: 1px solid var(--line); padding: 36px; border-radius: 14px; box-shadow: var(--shadow-card); }
.auth-main > .content-card { max-width: 600px; margin: 0 auto; }
.auth-main .form-fields-grid { grid-template-columns: 1fr; }
@media(min-width:768px) {
  .sidebar-collapsed { --sidebar-width: 76px; }
  .sidebar-collapsed .brand { padding: 24px 18px; }
  .sidebar-collapsed .brand-copy,.sidebar-collapsed .workspace-copy,.sidebar-collapsed .nav-text,.sidebar-collapsed .nav-section-label,.sidebar-collapsed .sidebar-footer { display: none; }
  .sidebar-collapsed .institute-switcher { padding: 0; margin: 0 18px 18px; border: 0; background: none; }
  .sidebar-collapsed .sidebar-nav { padding: 0 10px 18px; }
  .sidebar-collapsed .nav-item { justify-content: center; padding: 11px; }
  .sidebar-collapsed .nav-group { border-top: 1px solid #2d405a; margin-top: 10px; padding-top: 10px; }
}
@media(max-width:1199px) { .main-content { padding: 22px 24px 0; } .topbar { padding: 0 24px; } .topbar-actions { gap: 10px; } .global-search { display: none; } .stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .dashboard-grid { grid-template-columns: 1fr; } }
@media(max-width:900px) { .form-fields-grid { grid-template-columns: 1fr; gap: 20px; } .field-wide { grid-column: auto; } .form-actions-note { display: none; } .form-actions { justify-content: flex-end; } }
@media(max-width:767px) {
  :root { --sidebar-width: 268px; --header-height: 64px; }
  .app-shell { margin-left: 0; } .desktop-sidebar-toggle { display: none; }
  .app-sidebar { width: min(290px,85vw); } .topbar { padding: 0 16px; gap: 8px; }
  .topbar-leading { gap: 8px; flex: 1; } .workspace-title { max-width: 145px; font-size: 12px; }
  .user-copy,.global-search { display: none; } .user-profile { padding-left: 8px; } .topbar-actions { gap: 3px; }
  .main-content { padding: 18px 16px 0; } .page-header { flex-wrap: wrap; gap: 14px; }
  .page-header h1,h1.page-heading { font-size: 23px; } .page-header p { font-size: 13px; }
  .page-actions { width: 100%; } .stat-grid { gap: 12px; } .stat-card { padding: 16px; min-height: 112px; }
  .stat-value { font-size: 26px; } .stat-label { font-size: 12px; } .stat-trend { font-size: 11px; }
  .card-header { padding: 16px; } .platform-banner { padding: 20px; } .platform-banner h2 { font-size: 18px; }
  .editor-panel > form > .form-sections { padding: 0 18px; } .form-section { padding: 22px 0; }
  .form-actions { padding: 16px 18px; } .form-actions-buttons { width: 100%; } .form-actions-buttons .btn { flex: 1; }
  .filter-bar > div,.platform-filters > div { width: 100%; min-width: 0!important; } .filter-bar,.platform-filters { padding: 16px!important; }
  .subscription-summary { flex-direction: column; padding: 20px; } .subscription-price { text-align: left; align-self: flex-start; }
  .report-summary { grid-template-columns: 1fr; } .quick-links { grid-template-columns: 1fr; }
  .auth-main { padding: 24px 16px; } .auth-layout { min-height: 0; } .auth-story { padding: 26px; }
  .auth-story h1 { margin-top: 24px; font-size: 25px; } .auth-form-side { padding: 28px; }
  .page-footer { font-size: 10px; } .form-control,.form-select { font-size: 16px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition: none!important; animation: none!important; } }
@media print { .app-shell { margin: 0!important; } .main-content { padding: 0; max-width: none; } .form-actions,.platform-filters,.confirm-dialog { display: none!important; } .table-responsive { overflow: visible; } .content-card,.card,.stat-card { box-shadow: none; } .stat-grid { grid-template-columns: repeat(4,1fr); } }

/* Combined student admission and family entry. */
.student-photo-panel { display: flex; gap: 24px; align-items: center; padding: 24px; border-bottom: 1px solid var(--bs-border-color, #dde3eb); }
.student-portrait { width: 112px; height: 140px; object-fit: cover; border-radius: 8px; border: 1px solid #d5deea; flex-shrink: 0; }
.family-section { border-top: 1px solid #dde3eb; padding: 24px; }
.family-section-heading { margin-bottom: 20px; }
.family-row { border: 1px solid #dde3eb; border-radius: 10px; margin-bottom: 16px; padding: 16px; background: #fafbfd; }
.family-row .form-sections { padding: 0; }
.family-row .form-section { padding: 12px 0; }
.family-row-deleted { border-color: #ba4854; background: #fff5f5; }
.family-add { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.family-add .form-text { margin: 0; }
@media (max-width: 767px) { .student-photo-panel { align-items: flex-start; gap: 16px; padding: 16px; } .family-section { padding: 16px; } }

.student-photo-content { flex: 1; min-width: 0; }
.institute-logo { width: 72px; height: 72px; object-fit: contain; }
.institute-logo-preview { width: 144px; height: 144px; object-fit: contain; border: 1px solid #d5deea; border-radius: 10px; background: #fff; padding: 8px; }

/* Printable class invoice batches. */
.invoice-section-group { margin-bottom: 32px; }
.batch-section-heading { padding: 16px 20px; background: #eaf0f6; border: 1px solid #d6e0ea; border-radius: 10px 10px 0 0; }
.batch-section-heading h2, .batch-section-heading p { margin: 0; }
.invoice-print-sheet { padding: 24px; margin-bottom: 20px; border: 1px solid #d6e0ea; background: #fff; }
.invoice-print-header, .invoice-student { display: flex; align-items: center; gap: 20px; justify-content: space-between; }
.invoice-number { text-align: right; }
.invoice-student { padding: 16px 0; border-bottom: 1px solid #d6e0ea; }
.checkbox-grid { list-style: none; padding: 12px; margin: 0; border: 1px solid #ced7e2; border-radius: 8px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; max-height: 360px; overflow: auto; }
.checkbox-grid label { display: flex; align-items: flex-start; gap: 8px; padding: 6px; cursor: pointer; }
.checkbox-grid input { margin-top: 3px; }
@media (max-width: 767px) { .checkbox-grid { grid-template-columns: 1fr; } }
@media print {
  .batch-section-heading { break-after: avoid; }
  .invoice-print-sheet { break-after: page; break-inside: avoid; border: 0; padding: 0; margin: 0; }
  .invoice-print-sheet:last-child { break-after: auto; }
}

/* Printable student admission form. */
.admission-print-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:18px}.admission-form-sheet{max-width:210mm;margin:0 auto;background:#fff;border:1px solid #bcc8c0;padding:12mm;color:#17231d;font-size:11px}.admission-form-header{display:grid;grid-template-columns:25mm 1fr 30mm;gap:12px;align-items:center;border-bottom:2px solid #214f46;padding-bottom:10px}.admission-logo-box,.admission-photo-box{height:29mm;border:1px solid #8f9f96;display:grid;place-items:center;text-align:center;color:#77857d;font-size:9px;overflow:hidden}.admission-logo-box img,.admission-photo-box img{width:100%;height:100%;object-fit:contain}.admission-photo-box img{object-fit:cover}.admission-heading{text-align:center}.admission-heading h1{font-size:22px;margin:0;color:#173f37}.admission-heading p{margin:2px 0;font-size:9px}.admission-heading h2{font-size:14px;letter-spacing:1.4px;margin:8px 0 0}.admission-meta{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #8f9f96;border-top:0}.admission-meta>div,.admission-grid>div{padding:6px 8px;border-right:1px solid #c4cec8;border-bottom:1px solid #c4cec8;min-height:38px}.admission-meta>div:last-child{border-right:0}.admission-meta span,.admission-grid span{display:block;text-transform:uppercase;font-size:7px;letter-spacing:.6px;color:#607069}.admission-meta strong,.admission-grid strong{display:block;margin-top:3px;font-size:10px;font-weight:600}.admission-section{margin-top:10px}.admission-section h3,.admission-declaration h3{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#fff;background:#214f46;padding:5px 8px;margin:0}.admission-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid #c4cec8}.admission-grid .wide{grid-column:span 2}.admission-grid .full{grid-column:1/-1}.admission-table{width:100%;border-collapse:collapse;font-size:9px}.admission-table th,.admission-table td{border:1px solid #9eaaa3;padding:5px 6px;text-align:left;height:24px}.admission-table th{background:#edf2ef;font-size:8px;text-transform:uppercase}.blank-row{text-align:center!important;color:#78857e}.admission-declaration{margin-top:10px;border:1px solid #9eaaa3}.admission-declaration p{padding:7px 9px;margin:0}.signature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:20px 9px 7px}.signature-grid div{border-top:1px solid #4d5a53;padding-top:4px;text-align:center;font-size:8px}.admission-office{border:1px solid #9eaaa3;margin-top:10px;padding:7px 9px}.admission-office>strong{font-size:9px}.admission-office>div{display:grid;grid-template-columns:1fr 1fr 2fr;gap:16px;margin-top:14px}.admission-office span{border-top:1px solid #66736c;padding-top:4px;font-size:8px}.admission-form-sheet footer{text-align:center;font-size:7px;color:#7a877f;margin-top:8px}@media(max-width:800px){.admission-form-sheet{padding:20px;overflow-x:auto}.admission-meta,.admission-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}.admission-grid .full{grid-column:1/-1}}@media print{@page{size:A4 portrait;margin:7mm}.admission-print-actions{display:none!important}.admission-form-sheet{width:196mm;max-width:none;border:0;padding:0;font-size:9px}.admission-form-header{grid-template-columns:22mm 1fr 27mm}.admission-logo-box,.admission-photo-box{height:27mm}.admission-section{break-inside:avoid;margin-top:7px}.admission-meta>div,.admission-grid>div{padding:4px 6px;min-height:31px}.admission-table th,.admission-table td{padding:4px 5px;height:20px}.admission-declaration,.admission-office{break-inside:avoid}.admission-form-sheet footer{margin-top:5px}}

/* CNIC-size student identity card (clearly identified as an institute card). */
.student-card-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.student-card-toolbar h1{font-size:27px;margin:0 0 6px}.student-card-toolbar p{margin:0;color:#748279}.cnic-card-print-area{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}.student-cnic-card{position:relative;width:85.6mm;height:53.98mm;overflow:hidden;border-radius:3.2mm;border:1px solid #759188;background:#f7faf7;color:#12261f;box-shadow:0 10px 30px #1f403627;font-family:Arial,'Noto Sans Arabic',sans-serif}.cnic-security-pattern{position:absolute;inset:0;opacity:.17;background:radial-gradient(circle at 12% 30%,transparent 0 15mm,#8db8a5 15.2mm 15.5mm,transparent 15.7mm),repeating-linear-gradient(128deg,transparent 0 4mm,#7fa795 4.1mm 4.25mm,transparent 4.35mm 8mm);pointer-events:none}.cnic-card-header{height:13.5mm;position:relative;z-index:1;display:grid;grid-template-columns:11mm 1fr 23mm;align-items:center;gap:2.3mm;padding:2mm 3mm;background:linear-gradient(105deg,#174d3f,#2e745d);color:#fff}.cnic-logo{height:9mm;width:9mm;border-radius:50%;background:#fff;display:grid;place-items:center;overflow:hidden;color:#174d3f;font-size:5mm;font-weight:800}.cnic-logo img{width:100%;height:100%;object-fit:contain;padding:.7mm}.cnic-institute{min-width:0}.cnic-institute h2{font-size:3.5mm;line-height:1.05;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.cnic-institute p{font-size:1.7mm;letter-spacing:.2mm;margin:.8mm 0 0;color:#d8eee5}.cnic-card-type{text-align:right;border-left:.2mm solid #ffffff69;padding-left:2mm}.cnic-card-type strong{display:block;font-size:2.8mm;letter-spacing:.45mm}.cnic-card-type span{display:block;font-size:1.55mm;letter-spacing:.25mm;margin-top:.4mm}.cnic-front-body{position:relative;z-index:1;display:grid;grid-template-columns:20mm 1fr;gap:3mm;padding:3mm 3mm 1.8mm}.cnic-photo{width:20mm;height:25mm;border:1px solid #78958a;background:#e7efeb;display:grid;place-items:center;color:#6d8178;font-size:2mm}.cnic-photo img{width:100%;height:100%;object-fit:cover}.cnic-student-data{min-width:0}.cnic-name{border-bottom:.35mm solid #27634f;padding-bottom:1.3mm;margin-bottom:1.8mm}.cnic-name span,.cnic-data-grid span,.cnic-back-fields span{display:block;color:#537067;font-size:1.65mm;line-height:1.15}.cnic-name strong{font-size:4mm;line-height:1.1;display:block;margin-top:.7mm;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cnic-data-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:2mm 3mm}.cnic-data-grid strong{font-size:2.45mm;display:block;margin-top:.55mm;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cnic-front-footer{position:absolute;z-index:1;inset:auto 0 0;min-height:7mm;display:grid;grid-template-columns:1fr auto 1.2fr;align-items:center;gap:2mm;padding:1.4mm 3mm;background:#dcebe4;border-top:.25mm solid #9eb8ae;font-size:1.8mm;font-weight:650}.cnic-front-footer span:last-child{text-align:right}.cnic-status{background:#1d604b;color:white;border-radius:3mm;padding:.7mm 2mm;text-transform:uppercase;font-size:1.55mm;letter-spacing:.2mm}.cnic-back{background:linear-gradient(145deg,#f8fbf9,#e6f0eb)}.cnic-back-header{position:relative;z-index:1;height:10mm;padding:2mm 3mm;background:#194e40;color:white;display:flex;justify-content:space-between;align-items:center}.cnic-back-header strong{font-size:2.8mm}.cnic-back-header span{font-size:1.45mm;letter-spacing:.15mm}.cnic-back-body{position:relative;z-index:1;display:grid;grid-template-columns:1fr 24mm;gap:3mm;padding:3mm}.cnic-back-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.8mm 3mm}.cnic-back-fields strong{display:block;font-size:2.2mm;line-height:1.15;margin-top:.45mm;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cnic-back-fields .cnic-address{grid-column:1/-1}.cnic-verification{display:flex;flex-direction:column;justify-content:space-between}.cnic-code-box{height:17mm;border:1px solid #718c82;background:repeating-linear-gradient(90deg,#163f34 0 .55mm,transparent .55mm 1.1mm);display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;text-shadow:0 1px 2px #000;background-color:#eaf2ee}.cnic-code-box span{background:#164b3c;padding:.6mm 1.4mm;font-size:2.4mm;letter-spacing:.5mm}.cnic-code-box strong{background:white;color:#173b31;text-shadow:none;padding:.5mm 1mm;margin-top:1mm;font-size:1.65mm}.cnic-signature{border-top:.25mm solid #344d44;text-align:center;padding-top:1mm;font-size:1.65mm}.student-cnic-card footer{position:absolute;z-index:1;inset:auto 0 0;background:#d7e7df;border-top:.25mm solid #9bb3a9;padding:1.4mm 3mm;display:flex;justify-content:space-between;font-size:1.55mm}.student-card-note{text-align:center;color:#75847c;margin-top:18px;font-size:11px}@media(max-width:760px){.cnic-card-print-area{justify-content:flex-start;overflow-x:auto;padding-bottom:12px}.student-card-toolbar{flex-direction:column}}@media print{@page{size:A4 portrait;margin:12mm}.student-card-toolbar,.student-card-note{display:none!important}.cnic-card-print-area{display:block}.student-cnic-card{width:85.6mm;height:53.98mm;box-shadow:none;break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact;margin:0 0 10mm}.student-cnic-card:last-child{margin-bottom:0}}

/* Mobile-first attendance and class workflow launchers. */
.attendance-launch-header{align-items:center}.attendance-today{min-width:120px;padding:10px 14px;border:1px solid #d9e3d5;border-radius:10px;background:#fff;text-align:right}.attendance-today span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:#7d8d78}.attendance-today strong{font-size:14px;color:#214d3f}.mobile-action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.mobile-action-card{display:flex;align-items:center;gap:15px;min-height:104px;padding:18px;background:#fff;border:1px solid #dce5d8;border-radius:12px;color:#314b3b;box-shadow:0 2px 4px #1d392b08;transition:transform .15s,border-color .15s,box-shadow .15s}.mobile-action-card:hover{color:#214d3f;border-color:#9ebc91;box-shadow:0 8px 20px #1d392b14;transform:translateY(-1px)}.mobile-action-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;background:#dceccb;color:#28553f;font-size:22px;font-weight:750}.mobile-action-icon-promote{background:#e3ebf4;color:#315b7c}.mobile-action-copy{min-width:0;flex:1}.mobile-action-copy h2{font-size:14px;margin:0 0 5px;font-weight:650}.mobile-action-copy p{font-size:10px;color:#7d8c7a;margin:0}.attendance-progress{display:flex;justify-content:space-between;gap:12px;margin-top:13px;padding-top:10px;border-top:1px solid #edf1e9;font-size:9px;color:#687b65}.attendance-progress span:last-child{font-weight:650;color:#2b6551}.attendance-save-bar{display:flex;justify-content:flex-end;margin:16px 0}.attendance-save-bar .btn{min-width:190px}@media(max-width:600px){.attendance-launch-header{align-items:flex-start}.attendance-today{text-align:left;width:100%;margin-top:10px}.mobile-action-grid{grid-template-columns:1fr}.mobile-action-card{min-height:92px;padding:14px}.attendance-register{overflow:visible!important;border:0;background:transparent;box-shadow:none}.attendance-register .table-responsive{overflow:visible}.attendance-register table,.attendance-register tbody,.attendance-register tr,.attendance-register td{display:block;width:100%}.attendance-register thead{display:none}.attendance-register tr{background:#fff;border:1px solid #dfe7da;border-radius:10px;margin-bottom:10px;padding:13px}.attendance-register .table>tbody>tr>td{border:0;padding:5px 0}.attendance-register .table>tbody>tr>td:first-child{padding-bottom:9px;border-bottom:1px solid #eef2ea;margin-bottom:5px}.attendance-register select,.attendance-register input{min-height:44px;font-size:14px}.attendance-save-bar{position:sticky;bottom:8px;z-index:20;margin:12px 0}.attendance-save-bar .btn{width:100%;min-height:48px;box-shadow:0 8px 24px #183c2c40}.attendance-entry-form .card.p-3{padding:12px!important}}

.certificate-number{text-align:right;margin:8px 0;font-size:9px;font-weight:700}.certificate-statement{padding:18px 12px 8px;font-size:13px;line-height:1.8;text-align:center}.certificate-statement p,.certificate-declaration p{margin:0}.certificate-declaration{border:1px solid #9eaaa3;margin-top:12px;padding:10px;font-size:10px;line-height:1.6}.certificate-signatures{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:34px}.certificate-signatures div{border-top:1px solid #4d5a53;padding-top:5px;text-align:center;font-size:8px}@media print{.certificate-statement{padding-top:15px}.certificate-signatures{margin-top:30px}}
.student-summary-sheet{background:#fff;border:1px solid #bcc8c0;padding:10mm;color:#17231d}.student-summary-header{display:grid;grid-template-columns:22mm 1fr 22mm;gap:12px;align-items:center;border-bottom:2px solid #214f46;padding-bottom:8px}.student-summary-header>div{height:20mm}.student-summary-header img{width:100%;height:100%;object-fit:contain}.student-summary-header section{text-align:center}.student-summary-header h1{font-size:20px;margin:0;color:#173f37}.student-summary-header h2{font-size:13px;letter-spacing:1.2px;margin:6px 0 0}.student-summary-header p{font-size:9px;margin:2px}.student-summary-header aside{text-align:center;border:1px solid #8f9f96;padding:5px}.student-summary-header aside strong,.student-summary-header aside span{display:block}.student-summary-header aside strong{font-size:18px}.student-summary-header aside span{font-size:8px;text-transform:uppercase}.student-summary-meta{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;padding:6px;font-size:8px;border-bottom:1px solid #aebbb3}.student-summary-table{width:100%;border-collapse:collapse;font-size:8px;margin-top:8px}.student-summary-table th,.student-summary-table td{border:1px solid #9eaaa3;padding:4px;vertical-align:top}.student-summary-table th{background:#214f46;color:#fff;text-transform:uppercase;font-size:7px;letter-spacing:.3px}.student-summary-table td strong,.student-summary-table td span,.student-summary-table td small{display:block}.student-summary-table td small{margin-top:2px;color:#4f5f57;font-size:7px}.student-summary-sheet footer{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:28px;font-size:8px}.student-summary-sheet footer span{border-top:1px solid #4d5a53;padding-top:4px;text-align:center}@media print{@page{size:A4 landscape;margin:7mm}.student-summary-sheet{width:100%;max-width:100%;border:0;padding:0}.student-summary-table{font-size:7px}.student-summary-table th,.student-summary-table td{padding:3px}.student-summary-table tr{break-inside:avoid}.student-summary-sheet footer{break-inside:avoid}}
.exam-status-mark{display:inline-flex;align-items:center;justify-content:center;width:1.55em;height:1.55em;border:1.5px solid currentColor;border-radius:50%;font-weight:700;line-height:1;vertical-align:middle;white-space:nowrap}.exam-status-legend{display:flex;align-items:center;gap:.4rem;margin:.6rem 0 1rem;font-size:.85rem}@media print{.exam-status-mark{border-color:#000;color:#000;print-color-adjust:exact}}

.student-summary-photo{width:14mm;text-align:center}.student-summary-photo img{width:12mm;height:15mm;object-fit:cover;border:1px solid #9eaaa3;border-radius:1mm}.student-summary-photo span{font-size:6px;color:#6b7770}

@page portrait-report{size:A4 portrait;margin:8mm}@media print{body.portrait-report-page{page:portrait-report}.portrait-report{width:auto!important;max-width:none!important}.portrait-report.student-summary-sheet{padding:0;border:0}}

@media print{html,body,.app-shell,.main-content{height:auto!important;min-height:0!important}.main-content{margin:0!important;overflow:visible!important}.main-content>.content-card{break-inside:auto!important}.student-summary-sheet{margin:0!important;break-after:auto!important}.modal,.modal-backdrop{display:none!important}}.student-crosstab th,.student-crosstab td{text-align:center;vertical-align:middle}.student-crosstab th:first-child{text-align:left}.summary-grand-total th,.summary-grand-total td{font-weight:700;background:#e8efe9}

@media print{html,body{margin:0!important;padding:0!important;width:100%!important;overflow:visible!important}.app-shell,.main-content{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;overflow:visible!important}.student-summary-sheet{width:calc(100% - 1mm)!important;max-width:calc(100% - 1mm)!important;margin:0!important;padding:0!important;box-sizing:border-box!important;page-break-after:avoid!important;break-after:avoid-page!important}.student-summary-sheet footer{margin-bottom:0!important;break-inside:auto!important}.student-summary-sheet+*{page-break-before:avoid!important;break-before:avoid-page!important}}

@page admission-portrait{size:A4 portrait;margin:5mm}@media print{body.admission-portrait-page{page:admission-portrait}.admission-portrait-page .admission-form-sheet{width:calc(100% - 1mm)!important;max-width:calc(100% - 1mm)!important;margin:0!important}}

@media print{
body.admission-portrait-page{page:admission-portrait}
.admission-portrait-page .admission-form-sheet{width:calc(100% - 1mm)!important;max-width:calc(100% - 1mm)!important;margin:0!important;padding:0!important;font-size:7.5px!important;line-height:1.15!important}
.admission-portrait-page .admission-form-header{grid-template-columns:18mm 1fr 21mm!important;gap:7px!important;padding-bottom:4px!important}
.admission-portrait-page .admission-logo-box,.admission-portrait-page .admission-photo-box{height:21mm!important}
.admission-portrait-page .admission-heading h1{font-size:16px!important}
.admission-portrait-page .admission-heading p{font-size:7px!important;line-height:1.1!important;margin:1px 0!important}
.admission-portrait-page .admission-heading h2{font-size:10px!important;margin:3px 0 0!important}
.admission-portrait-page .admission-meta>div,.admission-portrait-page .admission-grid>div{padding:2px 4px!important;min-height:20px!important}
.admission-portrait-page .admission-meta span,.admission-portrait-page .admission-grid span{font-size:5.5px!important}
.admission-portrait-page .admission-meta strong,.admission-portrait-page .admission-grid strong{font-size:7px!important;margin-top:1px!important;line-height:1.15!important}
.admission-portrait-page .admission-section{margin-top:4px!important;break-inside:avoid!important}
.admission-portrait-page .admission-section h3,.admission-portrait-page .admission-declaration h3{font-size:7px!important;padding:2px 4px!important}
.admission-portrait-page .admission-table{font-size:6.5px!important;line-height:1.1!important}
.admission-portrait-page .admission-table th,.admission-portrait-page .admission-table td{padding:2px 3px!important;height:14px!important}
.admission-portrait-page .admission-declaration{margin-top:4px!important}
.admission-portrait-page .admission-declaration p{padding:3px 5px!important;font-size:6.5px!important;line-height:1.2!important}
.admission-portrait-page .signature-grid{gap:10px!important;padding:11px 5px 3px!important}
.admission-portrait-page .signature-grid div{font-size:6px!important;padding-top:2px!important}
.admission-portrait-page .admission-office{margin-top:4px!important;padding:3px 5px!important}
.admission-portrait-page .admission-office>strong{font-size:6.5px!important}
.admission-portrait-page .admission-office>div{gap:10px!important;margin-top:8px!important}
.admission-portrait-page .admission-office span{font-size:6px!important;padding-top:2px!important}
.admission-portrait-page .admission-form-sheet footer{font-size:5.5px!important;margin-top:3px!important}
}

@media print{
.admission-portrait-page .admission-form-sheet{font-size:9px!important;line-height:1.3!important}
.admission-portrait-page .admission-form-header{grid-template-columns:22mm 1fr 26mm!important;gap:10px!important;padding-bottom:7px!important}
.admission-portrait-page .admission-logo-box,.admission-portrait-page .admission-photo-box{height:26mm!important}
.admission-portrait-page .admission-heading h1{font-size:20px!important}
.admission-portrait-page .admission-heading p{font-size:8px!important;line-height:1.25!important;margin:2px 0!important}
.admission-portrait-page .admission-heading h2{font-size:12px!important;margin:5px 0 0!important}
.admission-portrait-page .admission-meta>div,.admission-portrait-page .admission-grid>div{padding:4px 6px!important;min-height:27px!important}
.admission-portrait-page .admission-meta span,.admission-portrait-page .admission-grid span{font-size:6.5px!important}
.admission-portrait-page .admission-meta strong,.admission-portrait-page .admission-grid strong{font-size:8.5px!important;margin-top:2px!important;line-height:1.25!important}
.admission-portrait-page .admission-section{margin-top:6px!important}
.admission-portrait-page .admission-section h3,.admission-portrait-page .admission-declaration h3{font-size:8.5px!important;padding:3px 6px!important}
.admission-portrait-page .admission-table{font-size:8px!important;line-height:1.25!important}
.admission-portrait-page .admission-table th,.admission-portrait-page .admission-table td{padding:3px 5px!important;height:18px!important}
.admission-portrait-page .admission-declaration{margin-top:6px!important}
.admission-portrait-page .admission-declaration p{padding:5px 7px!important;font-size:8px!important;line-height:1.35!important}
.admission-portrait-page .signature-grid{gap:15px!important;padding:17px 7px 5px!important}
.admission-portrait-page .signature-grid div{font-size:7px!important;padding-top:3px!important}
.admission-portrait-page .admission-office{margin-top:6px!important;padding:5px 7px!important}
.admission-portrait-page .admission-office>strong{font-size:8px!important}
.admission-portrait-page .admission-office>div{gap:14px!important;margin-top:12px!important}
.admission-portrait-page .admission-office span{font-size:7px!important;padding-top:3px!important}
.admission-portrait-page .admission-form-sheet footer{font-size:6.5px!important;margin-top:5px!important}
}
