@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=IBM+Plex+Sans+Arabic:wght@400;500;600;700&family=EB+Garamond:ital,wght@0,600;1,600;1,700&family=Great+Vibes&family=Montserrat:wght@600&display=swap";:root{--font-sans:"Inter", "IBM Plex Sans Arabic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--navy-950:#00152f;--navy-900:#001f45;--navy-800:#002a5c;--navy-700:#0b3a75;--navy-600:#1d4e8f;--navy-200:#c9d6e8;--navy-100:#e8eef6;--navy-50:#f3f6fb;--blue-600:#0072bc;--gold-700:#8a6420;--gold-500:#c29755;--gold-300:#d9b877;--gold-200:#ead9b5;--gold-50:#fbf6ec;--gray-900:#0f172a;--gray-700:#334155;--gray-600:#5b6779;--gray-400:#94a3b8;--gray-300:#cbd5e1;--gray-200:#e2e8f0;--gray-100:#eef1f5;--gray-50:#f5f7fa;--white:#fff;--color-primary:var(--navy-800);--color-primary-hover:var(--navy-900);--color-primary-600:var(--navy-600);--color-primary-light:var(--navy-50);--color-primary-tint:var(--navy-100);--color-primary-border:var(--navy-200);--color-accent:var(--blue-600);--color-gold:var(--gold-500);--color-gold-text:var(--gold-700);--color-gold-bg:var(--gold-50);--color-gold-border:var(--gold-200);--color-bg:var(--gray-50);--color-surface:var(--white);--color-surface-muted:#f8fafc;--color-surface-sunken:var(--gray-100);--color-border:var(--gray-200);--color-border-light:var(--gray-100);--color-border-strong:var(--gray-300);--color-overlay:#00152f80;--color-text-main:var(--gray-900);--color-text-secondary:var(--gray-700);--color-text-muted:var(--gray-600);--color-text-subtle:var(--gray-400);--color-text-inverse:var(--white);--color-success:#15803d;--color-success-strong:#166534;--color-success-bg:#f0fdf4;--color-success-bg-strong:#dcfce7;--color-success-border:#bbf7d0;--color-warning:#92400e;--color-warning-strong:#78350f;--color-warning-bg:#fffbeb;--color-warning-bg-strong:#fef3c7;--color-warning-border:#fde68a;--color-danger:#b91c1c;--color-danger-strong:#991b1b;--color-danger-bg:#fef2f2;--color-danger-bg-strong:#fee2e2;--color-danger-border:#fecaca;--color-info:#0369a1;--color-info-bg:#f0f9ff;--color-info-border:#bae6fd;--sidebar-bg:var(--navy-900);--sidebar-text:#d6deea;--sidebar-text-muted:#a9b8cf;--sidebar-hover:#ffffff0f;--sidebar-active-bg:#ffffff1a;--sidebar-active-text:var(--white);--sidebar-marker:var(--gold-500);--sidebar-width:248px;--sidebar-width-collapsed:72px;--header-height:64px;--focus-ring:0 0 0 3px #0072bc33;--focus-outline:3px solid #0072bc73;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:.9375rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #00152f0d;--shadow-md:0 4px 6px -1px #00152f14, 0 2px 4px -2px #00152f0f;--shadow-lg:0 12px 28px -8px #00152f38, 0 4px 8px -4px #00152f14;--modal-w-sm:480px;--modal-w-md:720px;--modal-w-lg:1120px;--modal-h-md:min(720px, 88vh);--modal-h-lg:min(860px, 92vh);--transition-fast:.15s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-main);-webkit-font-smoothing:antialiased;line-height:1.5}.spinner{border:4px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-container{background:radial-gradient(circle at 50% 15%, var(--navy-700) 0%, var(--navy-950) 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.5rem;display:flex;position:relative;overflow:hidden}.login-container:before{content:"";pointer-events:none;background-image:radial-gradient(#ffffff0a 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.login-card-wrapper{z-index:10;width:100%;max-width:460px;position:relative}.login-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid #e2e8f0e6;width:100%;padding:2.75rem 2.5rem 2.25rem;box-shadow:0 25px 50px -12px #0006,0 0 0 1px #ffffff0d}.login-header{text-align:center;margin-bottom:1.5rem}.login-logo-container{justify-content:center;align-items:center;margin-bottom:1.25rem;display:flex}.login-brand-logo{object-fit:contain;width:auto;max-width:250px;height:auto;max-height:75px;margin:0 auto;display:block}.login-institution-tag{text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);margin-bottom:.25rem;font-size:.6875rem;font-weight:700}.login-portal-title{color:var(--color-text-main);letter-spacing:-.03em;margin:0 0 .25rem;font-size:1.75rem;font-weight:800;line-height:1.2}.login-portal-subtitle{color:var(--color-text-secondary);margin:0;font-size:.875rem;font-weight:500}.login-security-notice{background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.5rem .75rem;font-size:.75rem;font-weight:600;display:flex}.notice-icon{font-size:.875rem}.login-form{flex-direction:column;gap:1.25rem;display:flex}.login-submit-btn{letter-spacing:.01em;height:44px;margin-top:.5rem;font-size:.9375rem;font-weight:600}.login-card-footer{border-top:1px solid var(--color-surface-sunken);margin-top:1.75rem;padding-top:1.25rem}.login-compliance-info{color:var(--color-text-subtle);justify-content:center;align-items:center;gap:.5rem;font-size:.6875rem;font-weight:500;display:flex}.dot-divider{opacity:.6}.login-page-footer{text-align:center;color:var(--color-text-subtle);margin-top:1.5rem;font-size:.75rem}.footer-subtext{opacity:.8;margin-top:.25rem;font-size:.6875rem}.form-group{text-align:left;flex-direction:column;gap:.375rem;display:flex}.form-group label{color:var(--color-text-main);font-size:.875rem;font-weight:600}.form-group input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text-main);background-color:var(--color-surface);padding:.75rem 1rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.form-group input:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring);outline:none}.alert{border-radius:var(--radius-sm);align-items:center;gap:.625rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.alert-error{background-color:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger)}.login-footer{border-top:1px solid var(--color-border-light);text-align:center;color:var(--color-text-muted);margin-top:2rem;padding-top:1.25rem;font-size:.8125rem}.login-footer .note{color:var(--color-text-subtle);margin-top:.25rem}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;font-family:inherit;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse);padding:.75rem 1.25rem;font-size:.9375rem}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-primary:disabled{opacity:.65;cursor:not-allowed}.btn-block{width:100%}.btn-outline{border-color:var(--color-border);color:var(--color-text-main);background:0 0;padding:.5rem .875rem}.btn-outline:hover{background-color:var(--color-bg);border-color:var(--color-text-muted)}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-icon{border-radius:var(--radius-sm);cursor:pointer;min-width:2rem;min-height:2rem;transition:all var(--transition-fast);justify-content:center;align-items:center;padding:.35rem .5rem;font-size:.95rem;line-height:1;display:inline-flex}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-header{height:var(--header-height);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);z-index:20;justify-content:space-between;align-items:center;padding:0 1.75rem;display:flex;position:sticky;top:0}.header-brand{align-items:center;gap:var(--space-4);min-width:0;display:flex}.header-brand-logo{object-fit:contain;width:auto;max-width:150px;height:40px;display:block}.brand-divider{background:var(--color-border-strong);width:1px;height:28px}.header-clock{white-space:nowrap;flex-direction:column;line-height:1.2;display:flex}.clock-time{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-primary);font-variant-numeric:tabular-nums;letter-spacing:-.01em;align-items:baseline;gap:1px;display:flex}.clock-seconds{color:var(--color-gold-text);font-weight:var(--weight-semibold)}.clock-period{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);margin-inline-start:var(--space-2)}.clock-date{font-size:var(--text-xs);color:var(--color-text-muted)}.user-menu{position:relative}.user-menu-trigger{align-items:center;gap:var(--space-3);border-radius:var(--radius-full);font:inherit;color:var(--color-text-main);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;padding:.25rem .5rem .25rem .25rem;display:flex}.user-menu-trigger:hover,.user-menu-trigger.open{background:var(--color-surface-muted);border-color:var(--color-border)}.user-menu-trigger:focus-visible{outline:var(--focus-outline);outline-offset:2px}.user-avatar{background:var(--color-primary);width:2.25rem;height:2.25rem;color:var(--gold-300);font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.user-avatar-lg{width:2.75rem;height:2.75rem;font-size:var(--text-base)}.user-summary{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.25;display:flex}.user-name{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text-main)}.user-role{font-size:var(--text-xs);color:var(--color-text-muted)}.user-email{font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.user-menu-chevron{color:var(--color-text-muted);transition:transform var(--transition-fast)}.user-menu-trigger.open .user-menu-chevron{transform:rotate(180deg)}.user-menu-panel{inset-inline-end:0;top:calc(100% + var(--space-2));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:18rem;max-width:calc(100vw - 2rem);box-shadow:var(--shadow-lg);z-index:60;position:absolute;overflow:hidden}.user-menu-profile{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-muted);border-bottom:1px solid var(--color-border);display:flex}.user-menu-identity{flex-direction:column;gap:2px;min-width:0;display:flex}.user-menu-roles{gap:var(--space-1);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.user-menu-items{padding:var(--space-2);flex-direction:column;display:flex}.user-menu-item{align-items:center;gap:var(--space-3);width:100%;padding:.5rem var(--space-3);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-base);color:var(--color-text-secondary);text-align:start;cursor:pointer;background:0 0;border:none;display:flex}.user-menu-item:hover,.user-menu-item:focus-visible{background:var(--color-primary-light);color:var(--color-primary);outline:none}.user-menu-item-danger:hover,.user-menu-item-danger:focus-visible{background:var(--color-danger-bg);color:var(--color-danger)}.role-pill{font-size:var(--text-xs);font-weight:var(--weight-semibold);background-color:var(--color-primary-tint);color:var(--color-primary);border:1px solid var(--color-primary-border);border-radius:var(--radius-full);padding:.125rem .5rem}.app-body{flex:1;display:flex}.app-sidebar{width:var(--sidebar-width);background-color:var(--sidebar-bg);color:var(--sidebar-text);gap:var(--space-2);padding:var(--space-4) var(--space-3);top:var(--header-height);height:calc(100vh - var(--header-height));overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#fff3 transparent;flex-direction:column;flex-shrink:0;align-self:flex-start;transition:width .2s cubic-bezier(.4,0,.2,1),padding .2s cubic-bezier(.4,0,.2,1);display:flex;position:sticky;overflow-y:auto}.app-sidebar.collapsed{width:var(--sidebar-width-collapsed);padding:var(--space-4) var(--space-2);align-items:center}.sidebar-nav{gap:var(--space-1);flex-direction:column;flex:1;width:100%;display:flex}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group-label{text-transform:uppercase;font-size:.6875rem;font-weight:var(--weight-semibold);letter-spacing:.06em;color:var(--sidebar-text-muted);padding:var(--space-4) var(--space-3) var(--space-1);white-space:nowrap}.nav-group-divider{margin:var(--space-3) var(--space-2);border:0;border-top:1px solid #ffffff1f}.nav-item{align-items:center;gap:var(--space-3);width:100%;padding:.5625rem var(--space-3);color:var(--sidebar-text);font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);text-align:start;background:0 0;border:none;border-radius:8px;display:flex;position:relative}.nav-item:hover{background-color:var(--sidebar-hover);color:var(--sidebar-active-text)}.nav-item:focus-visible,.sidebar-collapse-btn:focus-visible{outline:2px solid var(--gold-300);outline-offset:1px}.nav-item.active{background-color:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:var(--weight-semibold)}.nav-item.active:before{content:"";inset-inline-start:calc(-1 * var(--space-3));background:var(--sidebar-marker);border-start-end-radius:3px;border-end-end-radius:3px;width:3px;position:absolute;top:6px;bottom:6px}.nav-item.active .nav-icon{color:var(--gold-300)}.nav-icon{flex-shrink:0}.app-sidebar.collapsed .nav-item{justify-content:center;padding:.625rem 0}.app-sidebar.collapsed .nav-item.active:before{inset-inline-start:calc(-1 * var(--space-2))}.sidebar-collapse-btn{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);color:var(--sidebar-text-muted);font-family:inherit;font-size:var(--text-sm);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #ffffff1f;border-radius:8px;display:flex}.sidebar-collapse-btn:hover{background-color:var(--sidebar-hover);color:var(--sidebar-active-text)}.app-sidebar.collapsed .sidebar-collapse-btn{padding:var(--space-2) 0;justify-content:center}.app-sidebar.collapsed .sidebar-footer{display:none}.sidebar-footer{padding-top:var(--space-3);border-top:1px solid #ffffff1f;width:100%}.system-pill{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--sidebar-text-muted);padding:var(--space-1) var(--space-3);display:flex}.status-dot{background-color:var(--gold-500);border-radius:50%;width:8px;height:8px}.app-content{flex:1;width:100%;max-width:1720px;padding:2rem 2.5rem;transition:max-width .2s,padding .2s}.app-content.expanded-content{max-width:100%;padding:2rem 3rem}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.75rem;display:flex}.page-header h2{letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.page-subtitle{color:var(--color-text-muted);margin-top:.25rem;font-size:.875rem}.header-status-badge{background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:9999px;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;display:flex}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.5rem}.card h3{font-size:1.125rem;font-weight:600}.card-subtitle{color:var(--color-text-muted);margin-top:.25rem;margin-bottom:1.25rem;font-size:.875rem}.mt-6{margin-top:1.5rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.stat-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;padding:1.25rem 1.5rem;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:.75rem;font-weight:600}.stat-value{color:var(--color-primary);margin:.375rem 0;font-size:2rem;font-weight:700;line-height:1.2}.stat-desc{color:var(--color-text-muted);font-size:.8125rem}.quick-access-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.quick-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);text-align:left;cursor:pointer;flex-direction:column;gap:.375rem;padding:1.25rem;transition:all .2s;display:flex}.quick-card:hover{background-color:var(--color-surface);border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quick-icon{margin-bottom:.25rem;font-size:1.75rem}.quick-card h4{color:var(--color-text-main);font-size:.9375rem;font-weight:600}.quick-card p{color:var(--color-text-muted);font-size:.8125rem}.placeholder-content{text-align:center;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.placeholder-icon{opacity:.7;margin-bottom:1rem;font-size:3rem}.placeholder-content h3{color:var(--color-text-main);margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.placeholder-content p{max-width:480px;margin-bottom:1.25rem;font-size:.9375rem}.badge-tag{background-color:var(--color-primary-light);color:var(--color-primary);border:1px solid #0072bc33;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.table-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.search-box{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex:1;align-items:center;gap:.5rem;max-width:400px;padding:.375rem .75rem;display:flex}.search-icon{color:var(--color-text-subtle);font-size:.875rem}.table-search-input{width:100%;color:var(--color-text-main);background:0 0;border:none;outline:none;font-family:inherit;font-size:.875rem}.sort-controls{align-items:center;gap:.5rem;display:flex}.sort-label{color:var(--color-text-muted);font-size:.8125rem;font-weight:500}.select-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text-main);outline:none;padding:.375rem .625rem;font-family:inherit;font-size:.8125rem}.table-responsive{overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.data-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);background-color:var(--color-surface-muted);padding:.75rem 1rem;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--color-border-light);vertical-align:middle;padding:.875rem 1rem}.text-right{text-align:right}.table-actions{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.code-badge{background-color:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-sm);padding:.125rem .5rem;font-family:monospace;font-size:.8125rem;font-weight:600;display:inline-block}.college-tag{background-color:var(--color-surface-sunken);color:var(--color-text-secondary);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);align-items:center;padding:.2rem .6rem;font-size:.8125rem;font-weight:500;display:inline-flex}.w-full{width:100%}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn-danger{background-color:var(--color-danger);color:var(--color-text-inverse);padding:.5rem .875rem}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-strong)}.btn-danger-outline{border:1px solid var(--color-danger-border);color:var(--color-danger);background:0 0;padding:.375rem .75rem}.btn-danger-outline:hover:not(:disabled){background-color:var(--color-danger-bg)}.table-loading,.empty-state{color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1rem;display:flex}.empty-icon{opacity:.5;font-size:2.5rem}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background-color:#00152f80;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-dialog{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);width:100%;max-width:var(--modal-w-md);flex-direction:column;max-height:min(90vh,100vh - 3rem);margin:auto;display:flex;overflow:hidden}.modal-dialog>form,.modal-form-flex{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h3{color:var(--color-text-main);font-size:1.125rem;font-weight:700}.close-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.25rem;font-size:1.5rem;line-height:1}.close-btn:hover{color:var(--color-text-main)}.modal-body{overscroll-behavior:contain;flex-direction:column;flex:1;gap:1.25rem;min-height:0;padding:1.5rem;display:flex;overflow-y:auto}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:0 0}.modal-body::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:9999px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.modal-footer{background-color:var(--color-bg);border-top:1px solid var(--color-border);flex-shrink:0;justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.textarea-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text-main);background-color:var(--color-surface);resize:vertical;padding:.625rem .875rem;font-family:inherit;font-size:.875rem}.textarea-input:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring);outline:none}.help-text{color:var(--color-text-muted);margin-top:.25rem;font-size:.75rem}.mt-2{margin-top:.5rem}.modal-dialog.modal-sm{max-width:var(--modal-w-sm)}.modal-dialog.modal-md{max-width:var(--modal-w-md)}.modal-dialog.modal-dialog-fixed{height:var(--modal-h-md)}.modal-dialog.modal-lg{max-width:var(--modal-w-lg);height:var(--modal-h-lg)}.form-grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-grid-3{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}.form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}@media (width<=640px){.form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.status-badge{border-radius:var(--radius-sm);text-transform:capitalize;align-items:center;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge.status-enrolled{background-color:var(--color-primary-light);color:var(--color-primary-600);border:1px solid var(--color-primary-border)}.status-badge.status-passed,.status-badge.status-active{background-color:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.status-badge.status-failed{background-color:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border)}.status-badge.status-suspended,.status-badge.status-withdrawn{background-color:var(--color-surface-muted);color:var(--color-text-secondary);border:1px solid var(--color-border-strong)}.grade-badge{font-family:monospace;font-size:.875rem;font-weight:700}.stats-bar{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.8125rem;display:flex}.stats-bar-item{align-items:center;gap:.375rem;display:flex}.stats-bar-item strong{color:var(--color-text-main)}.modal-form-flex{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.modal-dialog-fixed .modal-header{flex-shrink:0}.modal-dialog-fixed .modal-body{flex:1;min-height:0;padding:1.5rem;overflow-y:auto}.modal-dialog-fixed .modal-footer{flex-shrink:0}.modal-tabs-header{border-bottom:1px solid var(--color-border);background-color:var(--color-surface-muted);flex-shrink:0;gap:0;width:100%;padding:0;display:flex;overflow-x:hidden}.modal-tab-btn{text-align:center;min-width:0;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:1 1 0;justify-content:center;align-items:center;gap:.375rem;padding:.8125rem .5rem;font-family:inherit;font-size:.8125rem;font-weight:600;transition:all .15s;display:flex}.modal-tab-btn:hover{color:var(--color-text-main);background-color:#f1f5f9cc}.modal-tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background-color:var(--color-surface)}.tab-badge{background-color:var(--color-primary-light);color:var(--color-primary);border-radius:9999px;flex-shrink:0;padding:.125rem .45rem;font-size:.6875rem;font-weight:700}.tab-pane{flex-direction:column;gap:1.25rem;display:flex}.tab-pane.hidden{display:none}.tab-nav-footer{border-top:1px solid var(--color-border-light);justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1rem;display:flex}@media (height<=768px){.modal-backdrop{padding:.75rem}.modal-dialog{max-height:min(92vh,100vh - 1.5rem)}.modal-header{padding:.875rem 1.25rem}.modal-body{gap:.875rem;padding:1rem 1.25rem}.modal-footer{padding:.75rem 1.25rem}}@media (width<=768px){.modal-backdrop{padding:1rem}.modal-dialog{max-height:min(92vh,100vh - 2rem)}.modal-dialog.modal-lg{height:92vh}.modal-header{padding:1rem 1.25rem}.modal-body{gap:1rem;padding:1.25rem}.modal-footer{padding:.875rem 1.25rem}.modal-dialog.modal-dialog-fixed{height:92vh}.modal-tab-btn{gap:.25rem;padding:.625rem .25rem;font-size:.75rem}}@media (width<=580px){.modal-tab-btn{padding:.5rem .15rem;font-size:.7rem}.modal-tab-btn .tab-icon{display:none}}@media (width<=480px){.modal-backdrop{padding:.5rem}.modal-dialog{border-radius:var(--radius-md);max-width:100%;max-height:calc(100vh - 1rem)}.modal-header{padding:.875rem 1rem}.modal-body{gap:.875rem;padding:1rem}.modal-footer{flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem}.modal-footer .btn{flex:auto;justify-content:center}}.doc-upload-box{background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:1.25rem;padding:1.25rem}.doc-upload-box h5{color:var(--color-text-main);margin-bottom:.75rem;font-size:.875rem;font-weight:600}.file-input{border:1px dashed var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);cursor:pointer;width:100%;padding:.5rem;font-size:.8125rem;display:block}.doc-pill{background-color:var(--color-surface-sunken);border-radius:var(--radius-sm);color:var(--color-text-secondary);align-items:center;gap:.375rem;padding:.2rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.ui-icon{vertical-align:-.2em;flex-shrink:0}.btn,.modal-tab-btn,.quick-card h4,.page-header h2{gap:var(--space-2)}.btn:focus-visible,.close-btn:focus-visible,.modal-tab-btn:focus-visible,.quick-card:focus-visible{outline:var(--focus-outline);outline-offset:2px}.btn-outline{background-color:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary-light);border-color:var(--color-primary-border)}.btn-outline:disabled,.btn-danger-outline:disabled,.btn-danger:disabled{opacity:.55;cursor:not-allowed}.btn-icon{min-width:2rem;min-height:2rem;padding:.375rem;position:relative}.btn-icon[data-tooltip]:after{content:attr(data-tooltip);bottom:calc(100% + 6px);background:var(--navy-900);color:var(--color-text-inverse);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);pointer-events:none;opacity:0;transition:opacity var(--transition-fast), transform var(--transition-fast);z-index:40;padding:.3125rem .5rem;line-height:1.3;position:absolute;inset-inline-end:0;transform:translateY(2px)}.btn-icon[data-tooltip]:hover:after,.btn-icon[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(0)}.close-btn{border-radius:var(--radius-sm);width:2rem;height:2rem;font-size:var(--text-lg);justify-content:center;align-items:center;display:inline-flex}.close-btn:hover:not(:disabled){background-color:var(--color-surface-sunken)}.alert{border:1px solid #0000;line-height:1.45}.alert .ui-icon{vertical-align:-.2em}.alert-success{background-color:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-strong)}.alert-error,.alert-danger{background-color:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger)}.alert-warning{background-color:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning)}.alert-info{background-color:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info)}.empty-icon,.placeholder-icon,.quick-icon{color:var(--color-primary-600);opacity:1;display:inline-flex}.quick-icon{border-radius:var(--radius-md);background-color:var(--color-primary-tint);width:2.5rem;height:2.5rem;color:var(--color-primary);justify-content:center;align-items:center;font-size:1.25rem}.quick-card:hover{border-color:var(--color-primary-border)}.quick-card:hover .quick-icon{background-color:var(--color-gold-bg);color:var(--color-gold-text)}.search-icon{color:var(--color-text-muted);display:inline-flex}.search-box:focus-within{border-color:var(--color-accent);box-shadow:var(--focus-ring);background-color:var(--color-surface)}.stat-card{border-top:3px solid var(--color-primary-tint)}.stat-card:first-child{border-top-color:var(--color-gold)}.select-input,.app-content select:not([class]),.app-content input[type=text]:not([class]),.app-content input[type=search]:not([class]),.app-content input[type=email]:not([class]),.app-content input[type=number]:not([class]),.app-content input[type=date]:not([class]),.form-control{font-family:inherit;font-size:var(--text-base);color:var(--color-text-main);background-color:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-height:2.25rem;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:.5rem .75rem}.select-input,.app-content select:not([class]),select.form-control{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b6779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .625rem center;background-repeat:no-repeat;background-size:16px;padding-inline-end:2rem}.select-input:focus,.app-content select:not([class]):focus,.app-content input:not([class]):focus,.form-control:focus,.form-group select:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring);outline:none}.form-control::placeholder,.table-search-input::placeholder,.app-content input::placeholder{color:var(--color-text-subtle)}.data-table th{color:var(--color-text-muted)}.data-table tr:hover td{background-color:var(--color-primary-light)}.form-control{width:100%}.text-main{color:var(--color-text-main)}.text-muted,.text-subtle{color:var(--color-text-muted)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-center{text-align:center}.font-semibold{font-weight:var(--weight-semibold)}.p-4{padding:var(--space-4)}.p-8{padding:var(--space-8)}.header-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.filter-card,.filter-bar{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5)}.filter-bar{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.filter-grid{gap:var(--space-4);grid-template-columns:minmax(240px,2fr) minmax(180px,1fr) auto;align-items:end;display:grid}.filter-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.search-input,.form-group select,.form-group textarea{width:100%;font-family:inherit;font-size:var(--text-base);color:var(--color-text-main);background-color:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:.5rem .75rem}.search-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b6779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");background-position:.75rem;background-repeat:no-repeat;background-size:16px;padding-inline-start:2.25rem}.search-input:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring);outline:none}.table-header-info{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.results-count{font-size:var(--text-sm);color:var(--color-text-muted)}.results-count strong{color:var(--color-text-main)}.table{border-collapse:collapse;width:100%;font-size:var(--text-base);text-align:start}.table th{padding:.625rem var(--space-4);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--weight-semibold);color:var(--color-text-muted);background-color:var(--color-surface-muted);border-bottom:1px solid var(--color-border);text-align:start}.table td{padding:.75rem var(--space-4);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.table tbody tr:hover td{background-color:var(--color-primary-light)}.info-table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.info-table th,.info-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-light);text-align:start;vertical-align:top}.info-table th{width:38%;color:var(--color-text-muted);font-weight:var(--weight-medium)}.badge,.badge-outline,.credits-badge{align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:var(--radius-full);background-color:var(--color-surface-sunken);color:var(--color-text-secondary);border:1px solid var(--color-border);white-space:nowrap;padding:.125rem .5rem;display:inline-flex}.badge-outline{background-color:#0000}.credits-badge{background-color:var(--color-gold-bg);color:var(--color-gold-text);border-color:var(--color-gold-border)}.status-badge.status-error{background-color:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border)}.status-badge.status-graduated{background-color:var(--color-gold-bg);color:var(--color-gold-text);border:1px solid var(--color-gold-border)}.btn-xs{font-size:var(--text-xs);padding:.25rem .5rem}.btn-secondary{background-color:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-primary);padding:.625rem 1.125rem}.btn-secondary:hover:not(:disabled){background-color:var(--color-primary-light)}.modal-title{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-text-main)}.modal-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:.125rem}.spinner-border{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:1.5rem;height:1.5rem;animation:.8s linear infinite spin;display:inline-block}.spinner-border-sm{border-width:2px;width:1rem;height:1rem}@media print{.no-print,.app-sidebar,.app-header{display:none!important}}@media (width<=900px){.filter-grid{grid-template-columns:1fr}}.form-group .search-input{padding-inline-start:2.25rem}.app-body,.app-content{min-width:0}.college-tag{white-space:normal;max-width:14rem}.data-table th,.data-table td{padding-inline:.75rem}.data-table th{letter-spacing:.03em}@media (width<=1100px){:root{--sidebar-width:208px}.app-content,.app-content.expanded-content{padding:var(--space-5) var(--space-5)}}@media (width>=768px) and (width<=900px){.app-sidebar:not(.collapsed){inset-block:var(--header-height) 0;z-index:30;box-shadow:var(--shadow-lg);position:fixed;inset-inline-start:0}.app-body:has(.app-sidebar:not(.collapsed)){padding-inline-start:var(--sidebar-width)}}.header-menu-btn{width:40px;height:40px;color:var(--color-primary);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-inline-start:calc(-1 * var(--space-2));display:inline-flex}.header-menu-btn:hover{background-color:var(--color-primary-tint)}.header-menu-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.sidebar-backdrop{inset:var(--header-height) 0 0 0;background:var(--color-overlay);z-index:29;position:fixed}@media (width<=767.98px){.app-sidebar.is-drawer{inset-block:var(--header-height) 0;z-index:30;width:min(280px,85vw);height:auto;box-shadow:var(--shadow-lg);visibility:hidden;align-self:stretch;transition:transform .2s cubic-bezier(.4,0,.2,1),visibility .2s;position:fixed;inset-inline-start:0;transform:translate(-100%)}[dir=rtl] .app-sidebar.is-drawer{transform:translate(100%)}.app-sidebar.is-drawer.open{visibility:visible;transform:none}.app-content,.app-content.expanded-content{padding:var(--space-4)}}.modal-tabs-header{scrollbar-width:thin;overflow-x:auto}.modal-tab-btn{padding-inline:var(--space-4);flex:1 0 auto}@media (width<=900px){.app-header{padding-inline:var(--space-4)}.header-brand-logo{max-width:110px}.user-summary,.user-menu-chevron,.brand-divider{display:none}.user-menu-trigger{padding:.125rem}.page-header{gap:var(--space-3);flex-wrap:wrap}}td.table-actions{white-space:nowrap;text-align:end;display:table-cell}td.table-actions>.btn+.btn{margin-inline-start:var(--space-2)}.sort-controls{white-space:nowrap;flex-shrink:0}.table-controls .search-box{min-width:200px}.data-table td:first-child{min-width:7rem}input[type=file]::file-selector-button{font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-primary);background-color:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;margin-inline-end:var(--space-3);padding:.375rem .75rem}input[type=file]::file-selector-button:hover{background-color:var(--color-primary-light)}.modal-close{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.modal-close:hover{background-color:var(--color-surface-sunken);color:var(--color-text-main)}.modal-close:focus-visible{outline:var(--focus-outline);outline-offset:2px}.pagination{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-5);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.pagination strong{color:var(--color-text-main)}.pagination-controls{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.pagination-size{align-items:center;gap:var(--space-2);display:inline-flex}.pagination-size .select-input{min-height:2rem;padding-block:.25rem}.pagination-buttons{align-items:center;gap:var(--space-1);display:inline-flex}.pagination-page{text-align:center;white-space:nowrap;min-width:7.5rem}.pagination .btn-icon[data-tooltip]:after{inset-inline:50% auto;transform:translate(-50%)translateY(2px)}.pagination .btn-icon[data-tooltip]:hover:after,.pagination .btn-icon[data-tooltip]:focus-visible:after{transform:translate(-50%)translateY(0)}@media (width<=640px){.pagination{text-align:center;justify-content:center}.clock-date,.clock-period{display:none}}.verify-page{background:linear-gradient(180deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);min-height:100vh;color:var(--color-text-main);flex-direction:column;display:flex}.verify-header{background:var(--color-surface);padding:var(--space-10) var(--space-4) var(--space-8);text-align:center;border-bottom:3px solid var(--gold-500)}.verify-logo{object-fit:contain;max-width:100%;height:96px;margin:0 auto var(--space-4);display:block}.verify-header h1{color:var(--color-primary);margin:0;font-size:1.5rem}.verify-header p{margin:var(--space-2) 0 0;color:var(--color-text-muted)}.verify-main{width:100%;max-width:640px;padding:var(--space-8) var(--space-4);gap:var(--space-4);flex-direction:column;flex:1;margin:0 auto;display:flex}.verify-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-6)}.verify-form label{color:var(--color-primary);font-weight:700}.verify-hint{margin:var(--space-1) 0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.verify-input-row{gap:var(--space-2);display:flex}.verify-input-row .form-control{min-width:0;font-family:var(--font-mono);letter-spacing:.04em;flex:1}.verify-result{border-inline-start:6px solid var(--color-border)}.verify-result.is-valid{border-inline-start-color:var(--color-success)}.verify-result.is-revoked,.verify-result.is-missing{border-inline-start-color:var(--color-danger)}.verify-result-head{gap:var(--space-3);align-items:flex-start;display:flex}.verify-result.is-valid .verify-result-head{color:var(--color-success-strong)}.verify-result.is-revoked .verify-result-head,.verify-result.is-missing .verify-result-head{color:var(--color-danger-strong)}.verify-result-head h2{margin:0;font-size:1.25rem}.verify-result-head p{margin:var(--space-1) 0 0;color:var(--color-text-main)}.verify-facts{margin:var(--space-5) 0 0;gap:var(--space-2);display:grid}.verify-facts div{gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light);grid-template-columns:10rem 1fr;display:grid}.verify-facts dt{color:var(--color-text-muted);font-size:var(--text-sm)}.verify-facts dd{margin:0;font-weight:600}.verify-footer{text-align:center;padding:var(--space-6) var(--space-4);color:var(--color-text-inverse);opacity:.8;font-size:var(--text-sm)}.verify-page .mono{font-family:var(--font-mono)}@media (width<=520px){.verify-input-row{flex-direction:column}.verify-facts div{grid-template-columns:1fr;gap:0}}.verify-tabs{gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-md);background:#ffffff1f;display:flex}.verify-tab{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font:inherit;color:var(--color-text-inverse);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;flex:1;font-weight:600;display:inline-flex}.verify-tab.is-active{color:var(--color-primary);background:var(--color-surface);box-shadow:var(--shadow-sm)}.verify-tab:focus-visible{outline:2px solid var(--gold-500);outline-offset:2px}.verify-hint-first{margin-top:0}.verify-fields{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.verify-fields label{margin-bottom:var(--space-1);display:block}.verify-fields .form-control{width:100%}.verify-submit{justify-content:center;width:100%}.verify-checked-on{margin:var(--space-4) 0 0;font-size:var(--text-sm);color:var(--color-text-muted)}@media (width<=520px){.verify-fields{grid-template-columns:1fr}}.portal-muted{color:var(--color-text-muted);margin:0}.portal-fields{margin-bottom:var(--space-4)}.portal-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.portal-card-head h2{margin:0 0 var(--space-2);font-size:var(--text-xl);color:var(--color-primary)}.portal-facts{gap:var(--space-3) var(--space-5);grid-template-columns:1fr 1fr;margin:0;display:grid}.portal-facts dt{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.portal-facts dd{font-weight:var(--weight-medium);overflow-wrap:anywhere;margin:0}.portal-stats{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.portal-stats div{background:var(--color-surface-muted);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-1);flex-direction:column;display:flex}.portal-stats strong{font-size:var(--text-xl);color:var(--color-primary)}.portal-stats span{font-size:var(--text-xs);color:var(--color-text-muted)}.portal-table-wrap{overflow-x:auto}.portal-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.portal-table th,.portal-table td{text-align:start;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-light)}.portal-table th{color:var(--color-text-muted);font-weight:var(--weight-semibold)}@media (width<=560px){.portal-facts,.portal-stats{grid-template-columns:1fr}}
