/* PHASE8 V5: compact, readable workspace. Loaded after all shared themes. */
.premium-body{--p-radius:14px;--sidebar-width:260px;font-size:13px;line-height:1.65}
.premium-body .content-wrap{padding:20px 24px 30px;max-width:1580px}
.premium-body .topbar{min-height:76px;padding:10px 24px;gap:12px}
.premium-body .topbar h1{font-size:19px;letter-spacing:0}
.premium-body .workspace-footer{padding:12px 24px}
.premium-body .brand{min-height:82px;padding:15px 20px}
.premium-body .brand strong{font-size:24px;letter-spacing:0}
.premium-body .nav-group{margin-top:6px;padding-bottom:5px}
.premium-body .nav-group>summary{display:flex;flex-wrap:nowrap;gap:9px;padding:9px 8px;min-height:44px;font-size:13px;letter-spacing:0}
.premium-body .nav-group>summary>.p-nav-section-title{flex:1 1 auto;min-width:0;transform:none;rotate:none;writing-mode:horizontal-tb;white-space:normal;line-height:1.65;font-size:13px}
.premium-body .nav-group>summary>.p-nav-section-icon{transform:none;rotate:none;width:27px;height:27px}
.premium-body .nav-group>summary>.p-nav-chevron{flex:0 0 16px;text-align:center;font-size:17px;transform:rotate(90deg)}
.premium-body .nav-group[open]>summary>.p-nav-chevron{transform:none}
.premium-body .nav-group-links .nav-item{min-height:38px;padding:6px 9px;line-height:1.6;font-size:12px}
.premium-body .nav-group-links{margin-inline-start:18px}
.premium-body .nav-search{margin:12px 16px 7px}
.premium-body .nav-search input{min-height:38px;padding-block:7px}
.premium-body .sidebar-footer{padding:10px 16px}

/* Compact headings and panels keep task content close to its controls. */
.premium-body :is(.panel,.form-panel,.users-form-panel,.groups-form-panel,.student-file-section,.group-create-panel,.admin-panel,.student-filter-panel,.student-list-panel,.schedule-filter-panel,.salary-filter-panel,.salary-report-panel,.teacher-filter-panel,.teacher-profile-panel,.teacher-contact-panel,.users-filter-panel,.user-assignments-panel,.permission-panel,.enrollment-choice-panel,.payment-filter-panel,.payment-create-panel,.duplicate-search-panel){padding:17px 18px;border-radius:14px;margin-block:12px;min-width:0;container-type:inline-size}
.premium-body :is(.registration-hero,.users-hero,.group-hero,.teachers-hero,.student-file-hero,.user-file-hero,.module-hero,.students-hero,.schedule-hero,.attendance-hero,.teacher-attendance-hero,.operations-hero,.payment-links-hero,.teacher-file-hero,.group-file-hero,.session-closure-hero,.enrollment-choice-hero){padding:19px 22px;border-radius:17px;margin-bottom:16px;gap:16px;min-height:0}
.premium-body :is(.registration-hero,.users-hero,.group-hero,.teachers-hero,.student-file-hero,.user-file-hero,.module-hero,.students-hero,.schedule-hero,.attendance-hero,.teacher-attendance-hero,.operations-hero,.payment-links-hero,.teacher-file-hero,.group-file-hero,.session-closure-hero,.enrollment-choice-hero) h2{font-size:23px;line-height:1.55;margin-block:0 5px;letter-spacing:0}
.premium-body :is(.module-hero,.registration-hero,.students-hero,.schedule-hero,.attendance-hero,.teacher-attendance-hero,.operations-hero,.payment-links-hero) p{font-size:12px;line-height:1.85;margin-block:5px 0}
.premium-body .module-hero-icon{width:44px;height:44px;min-width:44px;border-radius:12px}
.premium-body .module-hero-icon .ui-icon{width:23px;height:23px}
.premium-body .panel-heading{margin-bottom:13px;padding-bottom:12px;gap:12px}
.premium-body :is(.panel-heading h2,.file-section-heading h2){font-size:18px;line-height:1.55;margin:0}
.premium-body .panel h3{font-size:16px}
.premium-body .section-title-row{margin:21px 0 11px}
.premium-body .section-title-row h2{font-size:18px}
.premium-body .p-heading-icon{width:29px;height:29px;padding:7px;border-radius:9px;margin-inline-end:8px}
.premium-body .section-number{width:32px;height:32px;min-width:32px;border-radius:9px;font-size:11px}
.premium-body .v-process-intro{padding:10px 14px;margin-bottom:15px;font-size:12px;border-radius:11px}
.premium-body .v-process-intro strong{font-size:13px}

/* No fixed tall cards: content determines height; descriptions remain fully visible. */
.premium-body .content-wrap .daily-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,225px),1fr));gap:12px;align-items:start}
.premium-body .daily-card{min-height:0;height:auto;padding:15px 16px;border-radius:14px;display:flex;flex-direction:column;gap:7px;align-self:start}
.premium-body .daily-card:before{width:4px;height:25px;top:16px}
.premium-body .daily-card:after{width:55px;height:55px;left:-22px;top:18px;border-radius:18px;opacity:.45}
.premium-body .daily-card h3{font-size:12px;line-height:1.7;margin:0}
.premium-body .daily-number{font-size:29px;line-height:1.3;letter-spacing:0;margin:0}
.premium-body .daily-number small{font-size:11px}
.premium-body .daily-card p{font-size:11px;line-height:1.75;margin:0}
.premium-body .daily-card-link{font-size:11px;margin-top:2px;padding-top:0}
.premium-body .daily-money{margin:0;padding-block:6px;gap:3px;font-size:11px}
.premium-body .daily-money strong{font-size:13px}
.premium-body .daily-card:hover{transform:translateY(-2px)}
.premium-body :is(.stat-card,.financial-card,.attendance-report-card,.operations-report-card,.payment-summary-card){padding:15px 16px;min-height:0;border-radius:14px;gap:10px}
.premium-body :is(.stat-card,.financial-card,.attendance-report-card,.operations-report-card,.payment-summary-card) strong{font-size:25px;line-height:1.45;letter-spacing:0}
.premium-body :is(.stat-card,.financial-card,.attendance-report-card,.payment-summary-card):before{top:16px;height:25px;width:4px}
.premium-body .module-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:11px}
.premium-body .module-card{min-height:88px;padding:14px 16px;gap:11px;border-radius:14px}
.premium-body .module-icon{width:37px;height:37px;border-radius:11px}
.premium-body .module-content strong{font-size:13px}
.premium-body .module-content small{font-size:11px;margin-top:3px;line-height:1.7}
.premium-body :is(.directory-card,.group-card,.weekly-card,.attendance-session-card,.teacher-session-card,.operations-teacher-card,.session-closure-card,.subject-choice-card,.guardian-card,.student-followup-card,.collection-card,.enrollment-card,.schedule-action-card,.careers-link-card,.tv-link-card,.user-security-card,.reset-password-card,.student-result-card,.risk-control-card){border-radius:14px;padding:15px;min-height:0}
.premium-body :is(.directory-card,.group-card,.weekly-card,.guardian-card,.collection-card,.enrollment-card) h3{font-size:16px;margin-block:0 7px}
.premium-body :is(.directory-card,.group-card,.weekly-card,.attendance-session-card,.teacher-session-card,.operations-teacher-card,.session-closure-card,.subject-choice-card)>:is(header,.card-heading,.group-card-heading){border-radius:13px 13px 0 0;padding-block:10px}
.premium-body :is(.card-actions,.group-card-actions,.directory-card-actions){padding-top:10px;gap:7px}
.premium-body .welcome-banner{padding:23px 26px;min-height:150px;border-radius:18px}
.premium-body .welcome-copy h2{font-size:29px;letter-spacing:0;line-height:1.5}
.premium-body .v-quick-section{margin:19px 0}
.premium-body .v-quick-card{padding:12px 15px;min-height:66px;border-radius:13px;gap:10px}
.premium-body .v-quick-card strong{font-size:12px}
.premium-body .v-quick-card .ui-icon{width:34px;height:34px;padding:8px}
.premium-body .daily-toolbar{margin-top:14px;padding:12px 16px}

/* Grids adapt to the panel width, including forms embedded beside other panels. */
.premium-body :is(.registration-fields,.v-fields,.users-form-grid,.teacher-form-grid,.group-form-grid,.schedule-form-grid,.payment-create-grid,.admin-grid){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px;align-items:start;margin-top:12px}
.premium-body :is(.registration-fields,.v-fields,.users-form-grid,.teacher-form-grid,.group-form-grid,.schedule-form-grid,.payment-create-grid,.admin-grid)>*{min-width:0}
.premium-body :is(.registration-fields,.v-fields)>.wide-field{grid-column:auto}
.premium-body :is(.registration-fields,.v-fields,.users-form-grid,.teacher-form-grid,.group-form-grid,.schedule-form-grid,.payment-create-grid,.admin-grid)>:is(.full-field,.admin-wide,.v-fieldset,.v-save-row,.admin-actions,.admin-table-wrap,.expense-allocation-grid,p,[id*=Preview]){grid-column:1/-1}
.premium-body .v-fieldset{padding:15px 16px;margin:0 0 10px;border-radius:13px;container-type:inline-size}
.premium-body :is(.v-fieldset legend,.v-form-caption){font-size:14px}
.premium-body :is(.v-fieldset legend b,.v-form-caption b){width:27px;height:27px;border-radius:8px;font-size:11px}
.premium-body .v-fields>label{gap:5px}
.premium-body .field-group{gap:5px}
.premium-body label,.premium-body .teacher-form-grid label>span{font-size:12px;line-height:1.7}
.premium-body input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.premium-body select,.premium-body textarea{min-height:39px;padding:7px 10px;border-radius:9px;font-size:13px;line-height:1.7}
.premium-body textarea{min-height:68px;resize:vertical}
.premium-body .registration-fields textarea{min-height:68px}
.premium-body .registration-fields .field-validation-valid:empty{display:none;min-height:0}
.premium-body :is(.field-group small,.helper-note,.admin-hint,.form-intro){font-size:12px;line-height:1.8}
.premium-body :is(.primary-button,.secondary-button,.danger-button,.light-button){min-height:37px;padding:7px 13px;font-size:12px;border-radius:9px;gap:6px}
.premium-body .compact-button{min-height:32px;padding:5px 10px}
.premium-body .v-wizard-nav{gap:9px;margin-block:17px 12px}
.premium-body .v-wizard-nav button{min-height:56px;padding:10px 12px;font-size:12px;border-radius:12px;gap:8px}
.premium-body .v-wizard-nav b{width:28px;height:28px;font-size:11px}
.premium-body .v-wizard-controls{padding:11px 16px;border-radius:12px;margin:12px 0}
.premium-body .v-wizard-controls p,.premium-body .v-wizard-status{font-size:11px}
.premium-body .v-review-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,225px),1fr));gap:10px 16px}
.premium-body .v-review-grid dd{font-size:13px;margin-top:3px}
.premium-body .registration-submit-bar{padding:14px 16px;border-radius:12px}
@container (min-width:700px){.premium-body :is(.registration-fields,.v-fields,.users-form-grid,.teacher-form-grid,.group-form-grid,.schedule-form-grid,.payment-create-grid,.admin-grid){grid-template-columns:repeat(3,minmax(0,1fr))}}
@container (min-width:1000px){.premium-body :is(.registration-fields,.v-fields,.users-form-grid,.teacher-form-grid,.group-form-grid,.schedule-form-grid,.payment-create-grid,.admin-grid){grid-template-columns:repeat(4,minmax(0,1fr))}.premium-body .registration-fields>.full-field:has(textarea){grid-column:span 2}}
@container (max-width:479px){.premium-body :is(.registration-fields,.v-fields,.users-form-grid,.teacher-form-grid,.group-form-grid,.schedule-form-grid,.payment-create-grid,.admin-grid){grid-template-columns:minmax(0,1fr)}.premium-body :is(.registration-fields,.v-fields,.users-form-grid,.teacher-form-grid,.group-form-grid,.schedule-form-grid,.payment-create-grid,.admin-grid)>*{grid-column:1/-1!important}}

/* Match enhanced inputs to the same compact control size. */
.premium-body .select2-container--default .select2-selection--single{height:39px;min-height:39px;border-radius:9px}
.premium-body .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:37px;font-size:13px;padding-inline:10px 30px}
.premium-body .select2-container--default .select2-selection--single .select2-selection__arrow{height:37px;width:27px}
.premium-body .select2-container--default .select2-selection--multiple{min-height:39px;padding:2px 5px;border-radius:9px}
.premium-body .select2-results__option{padding:8px 12px;font-size:13px}
.premium-body .topbar .branch-switcher{padding:3px 9px}
.premium-body .nav-search input{padding-inline:36px 10px}
.premium-body .p-data-table{padding:13px 13px 10px;border-radius:13px}
.premium-body .p-data-table .dt-layout-row{gap:10px;margin-bottom:10px}
.premium-body .p-data-table table.dataTable th{padding:10px 12px;font-size:12px}
.premium-body .p-data-table table.dataTable td{padding:10px 12px;font-size:12px;line-height:1.75}
.premium-body .p-data-table .dt-search input{min-height:36px;width:215px;padding:7px 10px}
.premium-body .p-data-table .dt-paging-button{min-width:32px;min-height:32px;padding:4px 8px!important}
.premium-body .p-table-scope{padding:8px 11px;margin-bottom:10px;font-size:11px}

/* A modal top layer blocks dialogs, Select2 dropdowns, touch and keyboard alike. */
body.ui-page-locked{overflow:hidden!important;overscroll-behavior:none}
body.ui-page-locked>:not(#uiLoading):not(#uiProgress){pointer-events:none!important;user-select:none}
body:is(.premium-body,.premium-login,.premium-parent) .ui-loading{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px;box-sizing:border-box;display:grid;place-items:center;border:0;border-radius:0;background:rgba(23,16,48,.32);backdrop-filter:blur(3px);color:#fff;z-index:2147483646;cursor:wait;outline:0}
body:is(.premium-body,.premium-login,.premium-parent) .ui-loading::backdrop{background:transparent}
body:is(.premium-body,.premium-login,.premium-parent) .ui-loading-panel{display:flex;align-items:center;gap:16px;width:min(420px,100%);box-sizing:border-box;padding:23px 25px;background:var(--a-dark,#251a42);border:1px solid #ffffff24;border-radius:18px;box-shadow:0 20px 70px #160b423d}
body:is(.premium-body,.premium-login,.premium-parent) .ui-loading strong{font-size:15px;line-height:1.8}
body:is(.premium-body,.premium-login,.premium-parent) .ui-loading p{font-size:12px;line-height:1.9;color:#e0d9ef;margin:5px 0 0}
body:is(.premium-body,.premium-login,.premium-parent) .ui-loading[hidden]{display:none!important}
body .ui-progress{z-index:2147483647}
@media(max-width:760px){.premium-body .content-wrap{padding:14px 12px 24px}.premium-body .topbar{padding:10px 14px}.premium-body .content-wrap .daily-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.premium-body .daily-card{padding:13px}.premium-body .daily-number{font-size:26px}.premium-body .welcome-banner{padding:20px;min-height:0}.premium-body .welcome-copy h2{font-size:24px}.premium-body .v-wizard-nav button{min-height:65px;padding:8px 4px;gap:4px}.premium-body .v-wizard-nav b{width:25px;height:25px}.premium-body .v-wizard-controls{padding:10px 12px}.premium-body :is(.panel,.form-panel,.student-file-section,.v-fieldset){padding:14px}.premium-body .v-fields>*{grid-column:auto!important}.premium-body .v-fields>:is(.admin-wide,.span-2,.full-field,.wide-field,.admin-actions,.v-save-row,.admin-table-wrap,.expense-allocation-grid,p,[id*=Preview]){grid-column:1/-1!important}}
@media(max-width:540px){.premium-body .content-wrap .daily-grid{grid-template-columns:1fr}.premium-body :is(.registration-fields,.v-fields,.users-form-grid,.teacher-form-grid,.group-form-grid,.schedule-form-grid,.payment-create-grid,.admin-grid){grid-template-columns:minmax(0,1fr)}.premium-body :is(.registration-fields,.v-fields,.users-form-grid,.teacher-form-grid,.group-form-grid,.schedule-form-grid,.payment-create-grid,.admin-grid)>*{grid-column:1/-1!important}.premium-body .module-grid{grid-template-columns:1fr}.premium-body :is(.primary-button,.secondary-button,.danger-button,.light-button){min-height:42px}.premium-body .p-data-table{padding:10px 8px}}
@media print{body.ui-page-locked{overflow:visible!important}.ui-loading,.ui-progress{display:none!important}.premium-body :is(.panel,.form-panel,.v-fieldset){container-type:normal}}
