/* PHASE8 V4. Shared component finish: cards, controls, DataTables and Select2. */
.premium-body{--p-border:#e6e1ef;--p-shadow:0 8px 30px #37235a08;--p-radius:22px;--p-muted:#766886}
.premium-body .portal-main{background:radial-gradient(ellipse at 95% 0,rgba(var(--a-primary-rgb),.07),transparent 42%),#f6f5fa}
.p-with-icon{display:inline-flex;align-items:center;justify-content:center;gap:8px}.p-with-icon .p-icon{width:18px;height:18px;flex:none;vertical-align:middle}.text-link.p-with-icon{gap:5px}.text-link .p-icon{width:15px;height:15px}
.p-heading-icon{width:36px;height:36px;padding:9px;border-radius:11px;background:var(--a-soft);color:var(--a-primary);margin-inline-end:10px;vertical-align:middle;flex:none}
.premium-body .module-hero h2,.premium-body .panel-heading h2,.premium-body .file-section-heading h2{display:flex;align-items:center;gap:0}
.premium-body .nav-group{margin:11px 0 0;border-bottom:1px solid #ffffff0b;padding-bottom:9px}
.premium-body .nav-group>summary{display:flex;align-items:center;gap:10px;padding:12px 10px;border-radius:12px;font-size:12px;transition:background .2s;color:#d5cee8;font-weight:650}
.premium-body .nav-group>summary:hover{background:#ffffff06}.premium-body .nav-group[open]>summary{color:#fff;background:#ffffff06;margin-bottom:8px}
.premium-body .p-nav-section-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#ffffff0a;flex:none;color:var(--a-pop)}.p-nav-section-icon .ui-icon{width:17px;height:17px}
.premium-body .p-nav-section-title{flex:1;color:inherit!important}.premium-body .p-nav-chevron{font-size:17px;transition:transform .2s;color:#b6acce!important;transform:rotate(90deg)}.premium-body .nav-group[open] .p-nav-chevron{transform:rotate(0)}
.premium-body .nav-group-links{padding-inline:5px 0;border-inline-start:1px solid #ffffff0d;margin-inline-start:22px}.premium-body .nav-group-links .nav-item{font-size:12px;margin-block:3px;min-height:43px;padding:8px 10px}.premium-body .nav-group-links .nav-icon{width:27px;height:27px;border-radius:8px}.premium-body .sidebar-nav{padding-inline:12px}
.premium-body :is(.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){border:0;background:linear-gradient(118deg,var(--a-dark),var(--a-deep) 65%,var(--a-primary));color:#fff;border-radius:25px;padding:30px 33px;box-shadow:0 13px 33px rgba(var(--a-primary-rgb),.14);overflow:hidden;position:relative}
.premium-body :is(.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{color:#fff;font-size:29px;line-height:1.5;letter-spacing:-.6px}
.premium-body :is(.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) p{color:#e4def4;line-height:1.9}
.premium-body :is(.students-hero,.schedule-hero,.attendance-hero,.teacher-attendance-hero,.operations-hero,.payment-links-hero) .light-button{background:#fff;color:var(--a-deep);border:1px solid #fff4;border-radius:12px;box-shadow:0 5px 15px #17103722}
.premium-body :is(.panel,.form-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){border:1px solid var(--p-border);border-radius:var(--p-radius);box-shadow:var(--p-shadow);background:#fff}
.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){position:relative;border:1px solid var(--p-border);border-radius:var(--p-radius);background:linear-gradient(145deg,#fff,#fdfcff);box-shadow:var(--p-shadow);overflow:visible;transition:box-shadow .25s,border-color .25s}
.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):hover{border-color:#cebfdf;box-shadow:0 14px 36px rgba(var(--a-primary-rgb),.09)}
.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){background:linear-gradient(115deg,var(--a-soft),#fff);border-bottom:1px solid var(--p-border);border-radius:21px 21px 0 0}
.premium-body :is(.directory-card,.group-card,.weekly-card,.guardian-card,.collection-card,.enrollment-card) h3{color:var(--a-deep);font-size:18px;line-height:1.7}
.premium-body :is(.student-avatar,.teacher-avatar,.directory-avatar){background:linear-gradient(135deg,var(--a-soft),#fcebdc);color:var(--a-primary);border:3px solid #fff;border-radius:17px;box-shadow:0 5px 14px #42305512}
.premium-body :is(.stat-card,.financial-card,.attendance-report-card,.operations-report-card,.payment-summary-card){position:relative;border:1px solid var(--p-border);border-radius:20px;padding:23px;background:linear-gradient(125deg,#fff,#f9f7fd);box-shadow:var(--p-shadow);overflow:hidden}
.premium-body :is(.stat-card,.financial-card,.attendance-report-card,.operations-report-card,.payment-summary-card):before{content:"";position:absolute;inset-inline-start:0;top:22px;width:5px;height:32px;border-radius:5px;background:var(--a-primary)}
.premium-body :is(.stat-card,.financial-card,.attendance-report-card,.payment-summary-card):nth-child(3n+2):before{background:#d89761}.premium-body :is(.stat-card,.financial-card,.attendance-report-card,.payment-summary-card):nth-child(3n):before{background:#37a986}
.premium-body :is(.stat-card,.financial-card,.attendance-report-card,.payment-summary-card)>strong{font-size:30px;letter-spacing:-.8px}.premium-body :is(.stat-card,.financial-card,.attendance-report-card,.payment-summary-card)>span{color:var(--p-muted);font-size:12px}
.premium-body :is(.status-badge,.status-pill,.admin-badge){border-radius:8px;font-size:11px;line-height:1.8;padding:4px 9px;font-weight:650}.premium-body :is(.card-actions,.group-card-actions,.directory-card-actions){border-top:1px solid var(--p-border);padding-top:15px;display:flex;flex-wrap:wrap;gap:8px}
.premium-body .p-table-host{overflow:visible;padding:0;min-width:0}.premium-body .p-table-scroll{overflow-x:auto;max-width:100%;scrollbar-width:thin;scrollbar-color:#bfb0d7 #f8f5fb;-webkit-overflow-scrolling:touch;border-radius:13px}
.premium-body .p-data-table{--dt-row-selected:101,80,217;--dt-row-stripe:247,244,252;--dt-border-color:var(--p-border);padding:18px 18px 12px;background:white;border:1px solid var(--p-border);border-radius:18px;font-size:13px;max-width:100%;min-width:0;margin:0}
.premium-body .p-data-table .dt-layout-row{gap:16px;margin:0 0 14px;align-items:center}.premium-body .p-data-table .dt-layout-row:last-child{margin:15px 0 0}.premium-body .p-data-table .dt-layout-table{margin:0;min-width:0}.premium-body .p-data-table .dt-layout-cell{min-width:0}
.premium-body .p-data-table table.dataTable{width:100%!important;margin:0!important;border-collapse:separate;border-spacing:0;border:0}
.premium-body .p-data-table table.dataTable th{background:#f3eef9;color:#5a426e;padding:15px 16px;font-size:12px;white-space:nowrap;border-bottom:1px solid #e7deef;text-align:right}
.premium-body .p-data-table table.dataTable td{padding:16px;line-height:1.85;border-bottom:1px solid #eee8f4;font-size:13px;vertical-align:middle;color:#5c4b6b;box-shadow:none}
.premium-body .p-data-table table.dataTable tbody tr:nth-child(even){background:#fcfaff}.premium-body .p-data-table table.dataTable tbody tr:hover{background:#f5f0fc}.premium-body .p-data-table table.dataTable tfoot th{background:#f0eaf8;color:var(--a-deep);border-top:1px solid #dfd3ed}
.premium-body .p-data-table :is(.dt-length,.dt-search){display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:var(--p-muted)}.premium-body .p-data-table :is(.dt-length,.dt-search) label{font-size:12px;color:var(--p-muted);margin:0}
.premium-body .p-data-table .dt-search input{min-height:40px;width:240px;max-width:100%;padding:9px 13px;border:1px solid #e0d5eb;background:#faf8fd;border-radius:11px;font-size:13px;margin:0;box-shadow:none}.premium-body .p-data-table .dt-search input:focus{border-color:var(--a-primary);box-shadow:0 0 0 3px rgba(var(--a-primary-rgb),.1)}
.premium-body .p-data-table .dt-length .select2-container{width:78px!important}.premium-body .p-data-table .dt-length .select2-selection--single{min-height:39px!important;height:39px!important}.premium-body .p-data-table .dt-length .select2-selection__rendered{line-height:37px!important}
.premium-body .p-data-table .dt-info{font-size:12px;color:var(--p-muted);padding:0}.premium-body .p-data-table .dt-paging{display:flex;flex-wrap:wrap;gap:4px}.premium-body .p-data-table .dt-paging-button{font:inherit;font-size:12px;border:1px solid #e2d8ed!important;border-radius:9px;background:#fff!important;color:#79638c!important;min-width:35px;min-height:35px;padding:6px 10px!important;margin:0 2px;box-shadow:none!important;cursor:pointer}
.premium-body .p-data-table .dt-paging-button.current{background:var(--a-primary)!important;border-color:var(--a-primary)!important;color:white!important}.premium-body .p-data-table .dt-paging-button:not(.disabled):hover{background:var(--a-soft)!important;color:var(--a-deep)!important}.premium-body .p-data-table .dt-paging-button.disabled{opacity:.4;cursor:default}
.p-table-scope{margin:0 0 15px;padding:10px 13px;border-inline-start:3px solid var(--a-primary);border-radius:8px;background:var(--a-soft);color:var(--a-deep);font-size:12px;line-height:1.8}.premium-body .p-data-table .dt-empty{text-align:center!important;color:var(--p-muted);padding:30px!important}
.premium-body .p-data-table th button{font:inherit}.premium-body .p-data-table .dt-orderable-asc:focus-visible{outline:2px solid var(--a-primary);outline-offset:-2px}.premium-body .p-data-table td .p-with-icon{white-space:nowrap}
/* Select2 is styled alongside its native select, including disabled and error states. */
.select2-container{font-family:inherit;max-width:100%;vertical-align:middle;min-width:0}.select2-container--default .select2-selection--single{border:1px solid #ded4e8;border-radius:12px;background:#fdfcfe;min-height:47px;height:47px;box-shadow:0 2px 3px #31204002;transition:border-color .2s,box-shadow .2s}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:#4a385b;line-height:45px;padding-inline:13px 35px;font-size:14px}.select2-container--default .select2-selection--single .select2-selection__arrow{height:45px;width:32px;left:3px!important;right:auto!important}
.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:var(--a-primary) transparent transparent;border-width:5px 4px 0;margin-top:-2px}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent var(--a-primary);border-width:0 4px 5px}
.select2-container--default.select2-container--focus .select2-selection,.select2-container--default.select2-container--open .select2-selection{border-color:var(--a-primary);box-shadow:0 0 0 4px rgba(var(--a-primary-rgb),.08)}
.select2-dropdown{border:1px solid #d9cce7;border-radius:13px!important;overflow:hidden;box-shadow:0 18px 45px #30154721;background:#fff;z-index:400}.select2-container--open .select2-dropdown--below{margin-top:6px}.select2-container--open .select2-dropdown--above{margin-top:-6px}
.select2-search--dropdown{padding:11px;background:#fcfafd;border-bottom:1px solid #eee6f4}.select2-container--default .select2-search--dropdown .select2-search__field{font:inherit;font-size:13px;min-height:38px;border:1px solid #daccE6;border-radius:8px;padding:8px 11px;background:#fff;outline:0;color:#4a385b}.select2-container--default .select2-search--dropdown .select2-search__field:focus{border-color:var(--a-primary);box-shadow:none}
.select2-results__option{font-size:13px;padding:11px 14px;line-height:1.7;transition:background .15s}.select2-container--default .select2-results__option[aria-selected=true]{background:var(--a-soft);color:var(--a-deep)}.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--a-primary);color:#fff}.select2-container--default .select2-results__option[aria-disabled=true]{color:#a699b2;background:#faf8fc}
.select2-container--default.select2-container--disabled .select2-selection--single{background:#f2eff6;border-color:#e7dfed;cursor:not-allowed}.select2-container--default.select2-container--disabled .select2-selection__rendered{color:#91839d}
.select2-container--default .select2-selection--multiple{min-height:47px;border:1px solid #ded4e8;border-radius:12px;background:#fdfcfe;padding:4px 6px}.select2-container--default .select2-selection--multiple .select2-selection__choice{font-size:12px;background:var(--a-soft);color:var(--a-deep);border:1px solid #e0d4ef;border-radius:7px;padding:4px 8px;margin:3px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:var(--a-primary);margin-inline-end:6px;font-size:16px}
.premium-body .select2-container--default .select2-search--inline .select2-search__field{min-height:29px!important;line-height:29px;padding:0 5px;background:transparent;border:0;box-shadow:none;margin:3px;font-size:13px}.p-select-error{display:block;color:#b83e59;font-size:12px;margin-top:6px}.select2-selection[aria-invalid=true]{border-color:#be4d67!important;box-shadow:0 0 0 3px #be4d6710}
.premium-body .topbar .branch-switcher{min-width:165px}.premium-body .branch-switcher .select2-selection--single{background:transparent;border:0;min-height:29px;height:29px;box-shadow:none}.premium-body .branch-switcher .select2-selection--single .select2-selection__rendered{line-height:29px;padding-inline:0 22px;font-size:12px;color:var(--a-deep)}.premium-body .branch-switcher .select2-selection__arrow{height:29px;width:22px}
.premium-body .absence-followup-inline-form{min-width:340px;display:grid;grid-template-columns:1fr 1.1fr auto;align-items:center;gap:9px}.premium-body .absence-followup-inline-form .select2-container{min-width:130px}
@media(max-width:760px){.premium-body :is(.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:25px 22px;border-radius:21px}.premium-body :is(.students-hero,.schedule-hero,.attendance-hero,.teacher-attendance-hero,.operations-hero,.payment-links-hero) h2{font-size:25px}.premium-body .p-data-table{padding:13px 10px;border-radius:15px}.premium-body .p-data-table .dt-layout-row{gap:12px;display:flex;flex-wrap:wrap}.premium-body .p-data-table .dt-search input{width:190px}.premium-body .p-data-table .dt-layout-table{display:table;width:100%;table-layout:fixed}.premium-body .p-data-table table.dataTable td{padding:13px 12px}.premium-body .p-data-table table.dataTable th{padding:13px 12px}.premium-body .topbar .branch-switcher{min-width:120px}.premium-body :is(.stat-card,.financial-card,.attendance-report-card,.payment-summary-card){padding:20px 18px;border-radius:17px}.p-heading-icon{width:30px;height:30px;padding:7px;margin-inline-end:8px}.premium-body .p-data-table .dt-layout-start,.premium-body .p-data-table .dt-layout-end{margin-inline:0!important;text-align:start!important}}
@media print{.p-table-scope,.dt-search,.dt-length,.dt-paging,.dt-info,.p-icon,.select2-container{display:none!important}.premium-body .p-data-table,.premium-body .p-table-scroll{overflow:visible!important;padding:0!important;border:0!important;box-shadow:none!important;display:block!important;max-height:none!important}.premium-body .p-data-table table.dataTable{width:100%!important}.premium-body .p-data-table .dt-layout-row,.premium-body .p-data-table .dt-layout-cell{display:block!important}.select2-hidden-accessible{position:static!important;width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;border:0!important;margin:0!important;overflow:visible!important}.premium-body :is(.directory-card,.group-card,.stat-card,.financial-card,.attendance-report-card){box-shadow:none!important;background:white!important}}
