*,:before,:after{box-sizing:border-box}:root{--primary-h:212;--primary-s:80%;--primary-l:42%;--primary:hsl(var(--primary-h), var(--primary-s), var(--primary-l));--primary-soft:hsl(var(--primary-h), var(--primary-s), 96%);--secondary:#1e293b;--primary-color:#1565c0;--primary-color-light:#5c9ce6;--secondary-color:#1e293b;--text-main:#0f172a;--text-muted:#64748b;--bg-main:#f8fafc;--bg-card:#fff;--border-color:#e2e8f0;--gap-sm:.5rem;--gap-md:.75rem;--gap-lg:1rem;--radius-sm:10px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 3px 0 #0000000d;--danger-strong:#991b1b;--danger-bg:#fef2f2;--danger-border:#fecaca;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text-main);background-color:var(--bg-main);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-smoothing:grayscale;font-family:Plus Jakarta Sans,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500;transition:color .2s}a:hover{color:#535bf2}body{width:100%;min-width:320px;min-height:100vh;margin:0;display:block;overflow-x:hidden}h1{font-size:3.2em;line-height:1.1}button{color:inherit;cursor:pointer;background-color:#0000;border:none;border-radius:8px;padding:0;font-family:inherit;font-size:1em;font-weight:500;transition:background-color .18s,color .18s}button:focus-visible{outline-offset:2px;outline:2px solid #646cff99}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0000004d}@media (width>=710px) and (width<=1210px){aside.sidebar-aside{height:auto;bottom:0}}input,textarea,select{color:inherit;background-color:#0000;font-size:1rem}.academic-container .custom-input,.settings-container .custom-input,.modal-content .custom-input{background-color:#fff}input::placeholder,textarea::placeholder{color:#94a3b8}.form-grid-premium,.form-grid-responsive{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:1.25rem;display:grid}.modal-span-full{grid-column:1/-1}.modal-span-2{grid-column:span 2}.discipline-config-grid{grid-template-columns:repeat(auto-fill,minmax(min(450px,100%),1fr));gap:1.25rem;display:grid}@media (width<=768px){.modal-span-2{grid-column:auto}}@media (width<=500px){.form-grid-premium,.form-grid-responsive{grid-template-columns:1fr}.modal-span-full{grid-column:auto}.discipline-config-grid{grid-template-columns:1fr}}.page-header{margin-bottom:2rem}.page-title{color:var(--text-main);margin:0;font-size:1.5rem;font-weight:700}.page-subtitle{color:var(--text-muted);margin:.25rem 0 0}.page-list{gap:var(--gap-lg);flex-direction:column;display:flex}.empty-state{text-align:center;background:var(--bg-card);border-radius:var(--radius-lg);color:var(--text-muted);padding:3rem}.error-box{background-color:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-md);color:var(--danger-strong);margin-bottom:1.5rem;padding:1rem 1.25rem;font-weight:600}.auth-visual-content{z-index:2;position:relative}.auth-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#ffffff26;border:1px solid #fff3;border-radius:100px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:inline-flex}.auth-visual-title{letter-spacing:-1px;margin-bottom:1.25rem;font-size:2.25rem;font-weight:800;line-height:1.1}.auth-visual-desc{color:#ffffffe6;max-width:360px;margin-bottom:2.5rem;font-size:1rem;line-height:1.6}.auth-steps{flex-direction:column;gap:1.25rem;display:flex}.auth-step-item{align-items:center;gap:1rem;font-size:.9375rem;font-weight:500;display:flex}.auth-step-icon{color:#90caf9;align-items:center;display:flex}.auth-submit-btn{border-radius:12px;height:3.25rem;margin-top:1rem;font-size:.9375rem;font-weight:700}.auth-submit-btn:disabled{opacity:.55;cursor:not-allowed}.auth-btn-icon{margin-right:.5rem}.auth-alert-icon{flex-shrink:0}.password-field{position:relative}.password-field .custom-input{padding-right:2.5rem}.password-field>button{padding:0;position:absolute;top:55%;right:12px;transform:translateY(-50%)}.password-field--center-toggle>button{top:calc(50% + .8rem)}.strength-wrapper{margin-top:-.25rem}.match-wrapper{margin-top:-.25rem;font-size:.8125rem;transition:color .25s}.admin-page{padding:.1rem}.admin-header{margin-bottom:2rem}.admin-header-title{color:var(--secondary-color,#1e293b);margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.admin-header-subtitle{color:var(--text-muted);margin:0}.admin-header-row{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.admin-header-row-title{color:#333;margin:0}.admin-toolbar{max-width:400px;margin-bottom:1.5rem}.admin-filters-column{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.mgmt-list-page{width:100%}@media (width<=768px){.mgmt-list-page{padding:.5rem}.hub-panel .mgmt-list-page{padding:0}}.admin-filters-column--lg{margin-bottom:2rem}.admin-loading-fade{transition:opacity .2s}.admin-loading-fade.is-loading{opacity:.6}.admin-cards-grid{gap:1.5rem;margin-bottom:2.5rem;display:grid}.admin-cards-grid--kpi{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.admin-cards-grid--charts{grid-template-columns:repeat(auto-fit,minmax(450px,1fr))}.admin-panel-card{background-color:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 6px #00000005,0 1px 3px #0000000d}.admin-panel-card--chart{height:400px}.admin-section-title{color:var(--secondary-color,#1e293b);margin-bottom:1.5rem;font-size:1.1rem;font-weight:600}.spin-once{animation:1s linear infinite spin}.hub-page{max-width:1400px;margin:0 auto;padding-bottom:3rem}.hub-header{border-bottom:1px solid #e2e8f0;margin-bottom:3rem;padding-bottom:1.5rem}.hub-title-row{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.hub-icon-badge{background:var(--primary-color,#1565c0);color:#fff;border-radius:10px;padding:.5rem;display:flex}.hub-title{color:#1a1a2e;letter-spacing:-.02em;margin:0;font-size:1.85rem;font-weight:800}.hub-desc{color:#666;max-width:800px;margin:0;font-size:1rem}.hub-tabs-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2.5rem;display:grid}.hub-panel{background:#fff;border:1px solid #f1f5f9;border-radius:24px;padding:2rem;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.lib-page{max-width:1400px;margin:0 auto;padding:2rem}.lib-page--bare{max-width:none;margin:0;padding:0}.lib-header{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2rem;display:flex}.lib-header--end{justify-content:flex-end}.lib-title{color:var(--secondary-color,#1e293b);margin-bottom:.5rem;font-size:1.875rem;font-weight:800}.lib-subtitle{color:#64748b;margin:0}.lib-new-btn{width:auto}.lib-header .lib-new-btn,.lib-toolbar .lib-new-btn{flex:none;width:auto}.lib-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.lib-search{flex:1;min-width:200px;position:relative}.lib-search-icon{color:#94a3b8;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.lib-search-input{border:1px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:.75rem 1rem .75rem 2.5rem;font-size:.95rem}.lib-search-input--animated{transition:border-color .2s}.loans-list{flex-direction:column;gap:0;display:flex}.lib-loading{text-align:center;padding:4rem}.lib-pagination{margin-top:1.5rem}.lib-empty{text-align:center;background-color:#fff;border:1px solid #f1f5f9;border-radius:16px;padding:4rem}.lib-empty-icon{margin-bottom:1rem}.lib-empty-title{color:#94a3b8;font-weight:600}.lib-empty-sub{color:#cbd5e1;font-size:.9rem}@media (width<=500px){.lib-header{flex-direction:column;align-items:stretch}.lib-header .lib-new-btn{width:100%}}.section-title{color:#64748b;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid #f1f5f9;align-items:center;gap:.6rem;margin-bottom:1.5rem;padding-bottom:.5rem;font-size:.75rem;font-weight:700;display:flex}.login-info-box{color:#64748b;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:.75rem;margin-top:1.25rem;padding:1rem;font-size:.875rem;line-height:1.5;display:flex}.filter-group{flex-direction:column;gap:.4rem;display:flex}.filter-label{color:#64748b;text-transform:uppercase;font-size:.75rem;font-weight:700}.filter-select{color:#1e293b;cursor:pointer;background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;width:100%;height:38px;padding:0 .75rem;font-size:.875rem}.ui-panel{background-color:var(--bg-card,#fff);border:1px solid var(--border-color,#e2e8f0);box-shadow:var(--shadow-sm);border-radius:20px;margin-bottom:2rem;overflow:hidden}.ui-panel--flush{margin-bottom:0}.ui-panel-header{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1.5rem 2rem;display:flex}.ui-panel-title{color:var(--secondary-color,#1e293b);margin:0;font-size:1.05rem;font-weight:700}.ui-panel-badge{border-radius:20px;margin-left:auto;padding:.2rem .75rem;font-size:.78rem;font-weight:600}.ui-panel-badge--blue{color:var(--primary-color,#1565c0);background-color:#eff6ff}.ui-panel-badge--purple{color:#7c3aed;background-color:#f3e8ff}.ui-panel-badge--amber{color:#d97706;background-color:#fef3c7}.ui-data-table-wrap{overflow-x:auto}.ui-data-table{border-collapse:collapse;width:100%}.ui-data-table thead tr{background-color:#f8fafc}.ui-data-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color,#e2e8f0);white-space:nowrap;padding:.875rem 1.5rem;font-size:.75rem;font-weight:600}.ui-data-table th--compact{padding:.875rem 1rem;font-size:.73rem}.ui-data-table tbody tr{background-color:#fff;border-bottom:1px solid #f1f5f9}.ui-data-table tbody tr:nth-child(2n){background-color:#fafafa}.ui-data-table tbody tr:hover{background-color:#f0f9ff}.ui-data-table td{padding:1rem 1.5rem}.ui-data-table td--compact{padding:.875rem 1rem}.ui-pill{white-space:nowrap;border-radius:20px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.ui-pill--blue{color:#1d4ed8;background-color:#eff6ff}.ui-pill--green{color:#059669;background-color:#d1fae5}.ui-pill--amber{color:#d97706;background-color:#fef3c7}.ui-pill--red{color:#dc2626;background-color:#fee2e2}.ui-pill--purple{color:#7c3aed;background-color:#f3e8ff}.ui-stack{gap:var(--gap-lg,1rem);flex-direction:column;display:flex}.ui-row{align-items:center;gap:.75rem;display:flex}.ui-row-between{justify-content:space-between;align-items:center;gap:1rem;display:flex}.ui-grid-auto{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.ui-card{background-color:var(--bg-card,#fff);border-radius:var(--radius-lg,16px);padding:1.5rem;box-shadow:0 4px 12px #0000000f}.ui-muted{color:var(--text-muted,#64748b);font-size:.9rem}.ui-empty{text-align:center;color:#94a3b8;padding:3rem 2rem}.ui-mono{font-family:monospace}.ui-empty-icon{opacity:.3;margin-bottom:1rem}.ui-empty-text{margin:0}.sidebar-aside{background:var(--primary-color,#1565c0);z-index:1100;flex-direction:column;height:100vh;transition:width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;overflow:hidden auto;box-shadow:4px 0 24px #0000002e}.sidebar-aside::-webkit-scrollbar{width:4px}.sidebar-aside::-webkit-scrollbar-track{background:0 0}.sidebar-aside::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.sidebar-aside::-webkit-scrollbar-thumb:hover{background:#ffffff59}.sidebar-aside.is-expanded{width:260px;padding:1rem;left:0}.sidebar-aside.is-collapsed{width:72px;padding:1rem .5rem;left:0}.sidebar-header{color:#fff;border-bottom:1px solid #ffffff1f;align-items:center;margin-bottom:1rem;padding:.75rem 0 1.25rem;display:flex;position:relative}.sidebar-aside.is-collapsed .sidebar-header{flex-direction:column;justify-content:center;padding:.75rem 0}.sidebar-aside.is-expanded .sidebar-header{flex-direction:row;justify-content:flex-start}.sidebar-brand{align-items:center;gap:.875rem;width:100%;min-width:0;display:flex}.sidebar-brand-avatar{background:#ffffff26;border:2px solid #ffffff4d;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0003,inset 0 1px #fff3}.sidebar-brand-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.sidebar-brand-avatar-initials{color:#fff;letter-spacing:-.5px;text-shadow:0 1px 3px #0003;font-size:1rem;font-weight:800;line-height:1}.sidebar-brand-info{flex-direction:column;gap:.1rem;min-width:0;display:flex;overflow:hidden}.sidebar-brand-name{color:#fff;letter-spacing:-.3px;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;line-height:1.25;display:block;overflow:hidden}.sidebar-brand-subtitle{color:#ffffff80;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:500;display:block}.sidebar-aside.is-collapsed .sidebar-brand{justify-content:center}.sidebar-aside.is-collapsed .sidebar-brand-avatar{border-radius:10px;width:40px;height:40px}.sidebar-aside.is-collapsed .sidebar-brand-avatar-initials{font-size:.85rem}.sidebar-section-header{color:#ffffff73;text-transform:uppercase;letter-spacing:.09em;margin-top:1.25rem;margin-bottom:.35rem;padding-left:.75rem;font-size:.68rem;font-weight:700}.sidebar-section-header.is-collapsed{border-bottom:1px solid #ffffff12;height:0;margin:.6rem 0 .4rem;padding:0;overflow:hidden}.sidebar-aside.is-expanded .sidebar-section-header{border-top:1px solid #ffffff14;margin-top:.5rem;padding-top:1.1rem}.sidebar-aside.is-expanded .sidebar-section-header:first-of-type{border-top:none;margin-top:.5rem;padding-top:0}.sidebar-nav-link{color:#ffffffb8;box-sizing:border-box;background-color:#0000;border:none;border-radius:10px;outline:none;align-items:center;gap:.75rem;width:100%;margin-bottom:.2rem;padding:.65rem .85rem;font-size:.9rem;font-weight:400;line-height:1.4;text-decoration:none;transition:background-color .18s,color .18s,box-shadow .18s;display:flex}.sidebar-nav-link:hover{color:#fffffff2;background-color:#ffffff21}.sidebar-nav-link.active{color:#fff;background-color:#fff3;font-weight:600;box-shadow:0 2px 8px #0000001f,inset 0 1px #ffffff26}.sidebar-aside.is-collapsed .sidebar-nav-link{border-radius:10px;justify-content:center;gap:0;padding:.65rem}.sidebar-sub-link{color:#ffffff9e;box-sizing:border-box;background-color:#0000;border:none;border-radius:8px;outline:none;align-items:center;gap:.75rem;width:100%;margin-bottom:.15rem;padding:.5rem .75rem .5rem 2.25rem;font-size:.845rem;font-weight:400;line-height:1.4;text-decoration:none;transition:background-color .18s,color .18s;display:flex}.sidebar-aside.is-collapsed .sidebar-sub-link{border-radius:8px;justify-content:center;gap:0;padding:.55rem}.sidebar-sub-link:hover{color:#ffffffe6;background-color:#ffffff1a}.sidebar-sub-link.active{color:#fff;background-color:#ffffff26;font-weight:600}.sidebar-accordion-button{color:#ffffffb8;cursor:pointer;text-align:left;box-sizing:border-box;background-color:#0000;border:none;border-radius:10px;outline:none;justify-content:space-between;align-items:center;gap:.75rem;width:100%;margin-bottom:.2rem;padding:.65rem .85rem;font-family:inherit;font-size:.9rem;font-weight:400;line-height:1.4;transition:background-color .18s,color .18s;display:flex}.sidebar-accordion-button:hover{color:#fffffff2;background-color:#ffffff21}.sidebar-accordion-button-label{align-items:center;gap:.75rem;min-width:0;display:flex}.sidebar-accordion-button-chevron{flex-shrink:0;transition:transform .18s}.sidebar-accordion-button.is-open .sidebar-accordion-button-chevron{transform:rotate(180deg)}.sidebar-accordion-panel{margin-top:.2rem;margin-bottom:.65rem;padding-left:.15rem}.sidebar-empty-state{color:#ffffffb8;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;margin-top:.35rem;margin-bottom:.65rem;margin-left:.4rem;padding:.75rem .85rem;font-size:.8rem;line-height:1.4}.sidebar-payment-btn{color:#ffffffb8;cursor:pointer;text-align:left;box-sizing:border-box;background-color:#0000;border:none;border-radius:10px;outline:none;justify-content:space-between;align-items:center;gap:.75rem;width:100%;margin-bottom:.2rem;padding:.65rem .85rem;font-family:inherit;font-size:.9rem;font-weight:400;line-height:1.4;transition:background-color .18s,color .18s;display:flex}.sidebar-aside.is-collapsed .sidebar-payment-btn{justify-content:center;gap:0;padding:.65rem}.sidebar-payment-btn:hover{color:#fffffff2;background-color:#ffffff21}.sidebar-user-card{background:#0000001f;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:.75rem;margin:0 0 1rem;padding:.7rem;transition:background-color .18s;display:flex}.sidebar-user-card:hover{background:#0000002e}.sidebar-user-photo-container{background:#ffffff26;border:2px solid #ffffff59;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.sidebar-aside.is-collapsed .sidebar-user-card{background:0 0;border-color:#0000;justify-content:center;margin-bottom:.75rem;padding:0}.sidebar-aside.is-collapsed .sidebar-user-card:hover{background:0 0}.sidebar-aside.is-collapsed .sidebar-user-photo-container{border:2px solid #fff6;width:38px;height:38px}.sidebar-user-info{overflow:hidden}.sidebar-user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:700;overflow:hidden}.sidebar-user-role{color:#ffffff8c;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.72rem;overflow:hidden}@media (width<=768px){.sidebar-aside.is-mobile-collapsed{left:-280px}}.sidebar-user-photo{object-fit:cover;width:100%;height:100%}.sidebar-user-initial{color:#fff;font-size:1.1rem;font-weight:700}.sidebar-user-initial--collapsed{font-size:.9rem}.tnv-context{background:#ffffff14;border:1px solid #ffffff1f;border-radius:12px;margin-top:.5rem;margin-left:.4rem;padding:.85rem}.tnv-context-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;margin-bottom:.35rem;font-size:.68rem;font-weight:800}.tnv-class{color:#fff;font-size:.92rem;font-weight:700;line-height:1.25}.tnv-disc{color:#ffffffb8;margin-top:.2rem;font-size:.78rem}.tnv-links{margin-top:.85rem}.hp-chevron{pointer-events:none;display:flex;position:absolute;right:.5rem}.hp-name{font-weight:600}.hp-name--mobile{font-size:.8rem}.hp-name--desktop{font-size:.875rem}.hp-role{color:#666;font-size:.7rem}.hp-avatar-btn{cursor:pointer;background:0 0;border:none;padding:0;display:flex}.hp-avatar-img{object-fit:cover;border:2px solid #e2e8f0;border-radius:50%;width:32px;height:32px}.hp-avatar-fallback{color:#64748b;background-color:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.hp-logout{width:auto}.hp-logout--mobile{padding:.4rem .75rem;font-size:.75rem}.hp-logout--desktop{padding:.5rem 1rem;font-size:.875rem}.hp-logout-inner{align-items:center;gap:4px;display:flex}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.625rem 1.25rem;font-family:inherit;font-size:.925rem;font-weight:600;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),filter .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.button:disabled,.button.is-loading{cursor:not-allowed;box-shadow:none;filter:none;color:#94a3b8;background-color:#f1f5f9;border-color:#e2e8f0;transform:none}.button:active:not(:disabled){transition-duration:50ms;transform:translateY(0)scale(.98)}.button-primary{background-color:var(--secondary-color,#1e293b);color:#fff;box-shadow:0 1px 2px #0000000d,0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.button-primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.button-secondary{color:#334155;background-color:#fff;border-color:#e2e8f0;box-shadow:0 1px 2px #0000000d}.button-secondary:hover:not(:disabled){background-color:#f8fafc;transform:translateY(-2px)}.button-danger{color:#fff;background-color:#ef4444;box-shadow:0 1px 2px #8b00001a}.button-danger:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-2px)}.button-ghost{color:#64748b;width:auto;box-shadow:none;background-color:#0000;padding:.5rem}.button-ghost:hover:not(:disabled){color:#0f172a;background-color:#f1f5f9}.animate-spin{width:1rem;height:1rem;margin-right:.5rem;animation:1s linear infinite spin}.button-spinner-circle{opacity:.25}.button-spinner-path{opacity:.75}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-overlay.contained{z-index:50;border-radius:inherit;position:absolute}.modal-overlay.offset-sidebar{left:var(--sidebar-width,0);z-index:1050;transition:left .3s cubic-bezier(.4,0,.2,1)}.modal-content{background-color:#fff;border-radius:12px;flex-direction:column;width:100%;max-height:90vh;margin:2rem;padding:1.5rem;animation:.3s ease-out slideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.modal-title{color:#333;overflow-wrap:anywhere;min-width:0;margin:0;font-size:1.25rem}.modal-close-btn{cursor:pointer;color:#757575;background:0 0;border:none;padding:.25rem;font-size:1.5rem;line-height:1}.modal-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--primary-color,#1565c0) transparent;flex:1;margin-right:-.75rem;padding-right:calc(.75rem + 8px);overflow-y:auto}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:0 0}.modal-body::-webkit-scrollbar-thumb{background:var(--primary-color,#1565c0);border-radius:8px}.modal-body::-webkit-scrollbar-thumb:hover{filter:brightness(.9)}.modal-body--with-footer{margin-bottom:1rem}.modal-footer{border-top:1px solid #f3f4fb;margin-top:auto;padding-top:1.25rem}.modal-footer .button{border-radius:14px;padding:.9rem 1.15rem;font-size:.92rem;font-weight:700}.modal-footer .button-secondary{color:#475569;background-color:#f8fafc}@media (width<=500px){.modal-content{width:95%;max-width:95vw;margin:1rem;padding:1.25rem 1rem}.modal-body{margin-right:-.5rem;padding-right:.5rem}.modal-footer .sbm-footer,.modal-footer .acf-actions,.modal-footer .sam-footer,.modal-footer .pem-actions,.modal-footer .cpm-actions,.modal-footer .dvfm-actions,.modal-footer .wdm-footer,.modal-footer .dpm-footer,.modal-footer .ctf-form-footer,.modal-footer .pdt-form-footer,.modal-footer .diverse-modal-actions{flex-direction:column;align-items:stretch;gap:.6rem}.modal-footer .sbm-footer>*,.modal-footer .acf-actions>*,.modal-footer .sam-footer>*,.modal-footer .pem-actions>*,.modal-footer .cpm-actions>*,.modal-footer .dvfm-actions>*,.modal-footer .wdm-footer>*,.modal-footer .dpm-footer>*,.modal-footer .ctf-form-footer>*,.modal-footer .pdt-form-footer>*,.modal-footer .diverse-modal-actions>*{justify-content:center;width:100%}.modal-title{font-size:1.1rem}}.modal-title{font-size:1.1rem}.input-container{width:100%;margin-bottom:1.25rem}.input-label{color:#444;align-items:center;gap:.4rem;min-height:1.25rem;margin-bottom:.4rem;font-size:.875rem;font-weight:600;display:flex}.input-wrapper{width:100%;position:relative}.input-icon{color:#94a3b8;pointer-events:none;z-index:1;align-items:center;display:flex;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.custom-input{color:#333;box-sizing:border-box;background-color:#0000;border:1.5px solid #e0e0e0;border-radius:10px;outline:none;width:100%;padding:.75rem 1rem;font-size:.95rem;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out,background-color .2s ease-in-out;transform:translateZ(0)}.custom-input[type=password]::-ms-reveal{display:none}.custom-input[type=password]::-webkit-credentials-auto-fill-button{display:none}.custom-input.has-icon{padding-left:2.8rem}.custom-input.has-error{border-color:#f44336}.custom-input:focus{background-color:#fff;border-color:#42a5f5;box-shadow:0 0 0 3px #42a5f526}.custom-input:hover:not(:focus){border-color:#ccc}.custom-input::placeholder{color:#94a3b8}.input-error-message{color:#f44336;margin-top:.4rem;font-size:.8rem;display:block}.pp-field-label{color:#475569;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.pp-field-hint{color:#94a3b8;margin-top:.25rem;font-size:.74rem}.pp-input{box-sizing:border-box;width:100%;color:var(--secondary-color,#1e293b);background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;outline:none;padding:.65rem .85rem;font-size:.95rem;transition:border-color .2s}.pp-input:focus{border-color:var(--primary-color,#1565c0)}.pp-input--with-toggle{padding-right:2.5rem}.pp-input--readonly{color:#94a3b8;cursor:not-allowed;background:#f1f5f9;border-color:#e2e8f0}.pp-save{color:#fff;background:var(--secondary-color,#1e293b);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1.5rem;font-size:.9rem;font-weight:600;transition:background .2s;display:flex}.pp-save:disabled{cursor:default;background:#90caf9}.pp-card{background:#fff;border-radius:16px;margin-bottom:1.5rem;overflow:hidden;box-shadow:0 4px 14px #0000000f}.pp-card-head{background:var(--primary-color,#1565c0);align-items:center;gap:.65rem;padding:.9rem 1.5rem;display:flex}.pp-card-title{color:#fff;font-size:1rem;font-weight:700}.pp-card-body{padding:1.5rem}.pp-photo{flex-direction:column;align-items:center;gap:.4rem;display:flex}.pp-photo-circle{cursor:pointer;background-color:#e2e8f0;border:3px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:88px;height:88px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #0000001f}.pp-photo-img{object-fit:cover;width:100%;height:100%}.pp-photo-edit{color:#fff;cursor:pointer;background:#00000080;border:none;justify-content:center;align-items:center;gap:3px;padding:4px 0;font-size:.63rem;display:flex;position:absolute;bottom:0;left:0;right:0}.pp-photo-label{color:#94a3b8;text-align:center;font-size:.72rem}.pp-photo-input{display:none}.pp-pass-wrap{position:relative}.pp-pass-toggle{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:.8rem;transform:translateY(-50%)}.pp-span{grid-column:1/-1}.pem-avatar-wrap{flex-direction:column;align-items:center;margin-bottom:1.5rem;display:flex}.pem-avatar{background-color:#e2e8f0;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin-bottom:1rem;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 10px #0000001a}.pem-avatar-img{object-fit:cover;width:100%;height:100%}.pem-avatar-edit{color:#fff;cursor:pointer;background-color:#00000080;border:none;justify-content:center;align-items:center;gap:4px;padding:4px 0;font-size:.7rem;display:flex;position:absolute;bottom:0;left:0;right:0}.pem-avatar-input{display:none}.pem-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.modal-footer .pem-actions{margin-top:0}.pem-save{min-width:120px}.pem-actions .button-secondary{color:#475569;background-color:#f8fafc}.gc-layout{flex-wrap:wrap;gap:1.75rem;display:flex}.gc-main{flex:1;min-width:260px}.gc-actions{align-items:center;gap:.75rem;display:flex}.gc-pass-btn{color:#475569;cursor:pointer;background:#f1f5f9;border:1.5px solid #e2e8f0;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.gc-pass-btn:hover{background:#e2e8f0}.main-header{color:#333;z-index:1000;background-color:#fff;justify-content:space-between;align-items:center;height:64px;transition:all .3s;display:flex;box-shadow:0 2px 4px #0000000d}.header-left{flex-shrink:0;align-items:center;gap:1rem;display:flex}.school-badge{color:#1976d2;white-space:nowrap;background-color:#e3f2fd;border-radius:16px;padding:.25rem .75rem;font-size:.875rem;font-weight:500}.header-right{flex-shrink:0;align-items:center;gap:1.5rem;display:flex}.notifications-wrapper{z-index:1250;align-items:center;gap:.75rem;display:flex;position:relative}.notifications-trigger{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s;display:inline-flex;position:relative}.notifications-trigger:hover{color:var(--primary-color,#1565c0);background:color-mix(in srgb, var(--primary-color,#1565c0) 8%, transparent)}.notifications-badge{color:#fff;background:#ef4444;border:1.5px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.65rem;font-weight:800;display:inline-flex;position:absolute;top:-3px;right:-3px}.notifications-popover{z-index:1300;background:#fff;border:1px solid #e2e8f0;border-radius:18px;flex-direction:column;width:380px;max-width:calc(100vw - 2rem);display:flex;position:absolute;top:calc(100% + .75rem);right:0;overflow:hidden;box-shadow:0 24px 50px #0f172a24}.notifications-popover-header{border-bottom:1px solid #f1f5f9;padding:1rem 1.1rem}.notifications-popover-header strong{color:#0f172a;font-size:.95rem;display:block}.notifications-popover-header span{color:#64748b;font-size:.78rem}.notifications-popover-list{flex-direction:column;gap:.6rem;max-height:360px;padding:.75rem;display:flex;overflow-y:auto}.notifications-item{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:100%;padding:.85rem .9rem;transition:all .2s}.notifications-item.unread{background:#fffbeb;border-color:#fde68a}.notifications-item:hover{border-color:color-mix(in srgb, var(--primary-color,#1565c0) 30%, transparent);transform:translateY(-1px);box-shadow:0 8px 18px #0f172a14}.notifications-item-top{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.35rem;display:flex}.notifications-item-title{align-items:center;gap:.4rem;min-width:0;display:flex;overflow:hidden}.notifications-item-title strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.notifications-dot{background:#f59e0b;border-radius:999px;flex-shrink:0;width:8px;height:8px}.notifications-item p{color:#475569;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8rem;line-height:1.45;overflow:hidden}.notifications-item-meta{color:#94a3b8;flex-wrap:wrap;gap:.5rem .75rem;margin-top:.55rem;font-size:.7rem;display:flex}.notifications-item-meta span{align-items:center;gap:.2rem;display:inline-flex}.notifications-empty{text-align:center;color:#94a3b8;flex-direction:column;align-items:center;gap:.4rem;padding:1rem;font-size:.85rem;display:flex}.notifications-popover-footer{background:#fbfdff;border-top:1px solid #f1f5f9;padding:.75rem}.notifications-view-all{background:color-mix(in srgb, var(--primary-color,#1565c0) 8%, #fff);width:100%;min-height:42px;color:var(--primary-color,#1565c0);border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .85rem;font-size:.86rem;font-weight:800;text-decoration:none;transition:all .2s;display:flex}.notifications-view-all:hover{background:color-mix(in srgb, var(--primary-color,#1565c0) 14%, #fff);color:var(--primary-color,#1565c0);filter:brightness(.97);transform:translateY(-1px)}.notifications-view-all-label{align-items:center;gap:.45rem;display:inline-flex}.user-profile-container{text-align:right;white-space:nowrap;align-items:center;gap:8px;line-height:1.2;display:flex}.user-info-text{flex-direction:column;display:flex}.student-selector-wrapper{align-items:center;display:flex;position:relative}.student-selector-container{background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:.4rem;padding:.4rem .6rem;display:flex;position:relative}.student-selector-select{color:#1e293b;cursor:pointer;appearance:none;z-index:1;background-color:#0000;border:none;outline:none;padding-right:1.2rem;font-size:.875rem;font-weight:600}@media (width<=768px){.header-right{gap:.75rem}.notifications-popover{width:320px}}@media (width<=500px){.main-header{padding:0 .75rem}.school-badge,.user-info-text span{display:none}.user-info-text>div:first-child{white-space:nowrap;text-overflow:ellipsis;max-width:130px;overflow:hidden}.header-right{gap:.5rem}.notifications-trigger{width:32px;height:32px}.notifications-popover{width:calc(100vw - 2rem);position:fixed;top:60px;left:50%;right:auto;transform:translate(-50%)}.student-selector-select{text-overflow:ellipsis;max-width:100px}.student-selector-container{padding:.4rem .5rem}.logout-text{display:none}}.app-shell{min-height:100vh;display:flex;position:relative}.app-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1050;cursor:pointer;background-color:#00000080;transition:opacity .3s;position:fixed;inset:0}.main-content-wrapper{flex-direction:column;flex:1;transition:margin-left .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow-x:hidden}.main-content-wrapper--mobile{margin-left:0}.main-content-wrapper--mini{margin-left:80px}.main-content-wrapper--full{margin-left:260px}.main-content-wrapper--mini .dashboard-container,.main-content-wrapper--mini .hub-page,.main-content-wrapper--mini .lib-page,.main-content-wrapper--mini .docs-page,.main-content-wrapper--mini .docs-page.docs-consumer,.main-content-wrapper--mini .academic-container,.main-content-wrapper--mini .teacher-finance-page,.main-content-wrapper--full .dashboard-container,.main-content-wrapper--full .hub-page,.main-content-wrapper--full .lib-page,.main-content-wrapper--full .docs-page,.main-content-wrapper--full .docs-page.docs-consumer,.main-content-wrapper--full .academic-container,.main-content-wrapper--full .teacher-finance-page{max-width:none}.main-content-wrapper--mini .app-main--desktop{padding:1.5rem 2.5rem 1.5rem 2rem}.main-header--pad-default{padding:0 2rem}.main-header--pad-narrow{padding:0 1rem}.main-header--pad-right-desktop{padding-right:2.5rem}.main-header--pad-right-narrow{padding-right:1.5rem}.main-header--pad-right-mobile{padding-right:1rem}.main-header--sticky{z-index:1000;position:sticky;top:0;overflow:visible}.main-header--fixed{z-index:1000;width:100%;position:fixed;top:0;left:0;right:0;overflow:visible}.sidebar-toggle{cursor:pointer;color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 1px 2px #0000000d}.sidebar-toggle:hover{color:#1976d2;border-color:#1976d2}.sidebar-toggle:active{transform:scale(.95)}.app-main{background-color:#f4f6f8;flex:1;transition:padding .3s}.app-main--desktop{height:auto;padding:2rem 2.5rem 2rem 2rem;overflow-y:auto}.app-main--narrow{height:auto;padding:1rem 1.5rem;overflow-y:auto}.app-main--mobile{height:100vh;padding:calc(64px + .5rem) .5rem .5rem;overflow-y:hidden}@keyframes fadeInScale{0%{opacity:0;transform:scale(.98)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.auth-card{transition:box-shadow .4s,transform .4s}.auth-card:hover{transform:translateY(-2px);box-shadow:0 0 45px #1565c080}.login-shell{box-sizing:border-box;background-color:#0000;justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;font-family:Inter,system-ui,sans-serif;display:flex;position:relative;overflow:hidden auto}.login-bg-overlay{z-index:0;background-position:50%;background-size:cover;position:fixed;inset:0}.login-card{z-index:1;background-color:#fff;border-radius:24px;width:100%;max-width:1000px;max-height:min(700px,95vh);animation:.6s cubic-bezier(.16,1,.3,1) fadeInScale;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #0000004d}.login-visual{color:#fff;background-position:50%;background-size:cover;flex-direction:column;flex:1;justify-content:center;padding:3rem;display:flex;position:relative}.login-form{background-color:#fff;flex-direction:column;flex:1;justify-content:center;padding:3rem;display:flex}.login-form-inner{width:100%;max-width:340px;margin:0 auto}.login-footer{text-align:center;color:#94a3b8;margin-top:2.5rem;font-size:.8125rem}.login-mobile-brand{display:none}@media (width<=425px){.login-shell{background:#0f172a;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:0;position:relative;overflow-x:hidden}.login-shell:before{content:"";pointer-events:none;background:radial-gradient(circle,#3882f659,#0000 70%);width:320px;height:320px;position:absolute;top:-130px;right:-110px}.login-shell:after{content:"";pointer-events:none;background:radial-gradient(circle,#0ea5e938,#0000 70%);width:260px;height:260px;position:absolute;top:60px;left:-130px}.login-shell .login-bg-overlay{display:none}.login-shell .auth-card:hover{transform:none}.login-shell .login-mobile-brand{z-index:1;text-align:center;color:#fff;background-position:50%;background-size:cover;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-height:38dvh;padding:1.5rem 1.5rem calc(1.5rem + 28px);display:flex;position:relative;overflow:hidden}.login-shell .login-mobile-deco{pointer-events:none;position:absolute;inset:0}.login-shell .login-mobile-deco svg{color:#fff;opacity:.07;position:absolute}.login-shell .login-mobile-deco-1{top:12px;left:18px;transform:rotate(-14deg)}.login-shell .login-mobile-deco-2{top:24px;right:26px;transform:rotate(12deg)}.login-shell .login-mobile-deco-3{bottom:-8px;right:70px;transform:rotate(-8deg)}.login-shell .login-mobile-logo{color:#0f172a;background:#fff;border:1px solid #fff6;border-radius:18px;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:.7rem;display:flex;box-shadow:0 12px 28px #00000059}.login-shell .login-mobile-name{letter-spacing:-.02em;font-size:1.3rem;font-weight:800}.login-shell .login-mobile-trust{justify-content:center;align-items:center;gap:.5rem;margin-top:.7rem;display:flex}.login-shell .login-mobile-trust span{color:#cbd5e1;align-items:center;gap:.3rem;font-size:.7rem;font-weight:700;display:inline-flex}.login-shell .login-mobile-trust i{background:#475569;border-radius:999px;width:3px;height:3px}.login-shell .login-card{z-index:1;border-radius:28px 28px 0 0;flex-direction:column;flex:1 0 auto;width:100%;max-width:none;max-height:none;margin:-28px 0 0;position:relative;overflow:hidden;box-shadow:0 -12px 40px #00000059}.login-shell .login-card:before{content:"";background:#e2e8f0;border-radius:999px;flex-shrink:0;align-self:center;width:44px;height:5px;margin-top:10px}.login-shell .login-visual{display:none}.login-shell .login-form{padding:1.25rem 1.5rem calc(1.25rem + env(safe-area-inset-bottom))}.login-shell .login-form-inner{width:100%;max-width:none;margin:auto}.login-shell .lf-head{text-align:center;margin-bottom:1.25rem}.login-shell .lf-forgot-wrap{text-align:center;margin-top:.85rem;margin-bottom:1.5rem}.login-shell .login-footer{margin-top:1.25rem}}.lf-head{text-align:center;margin-bottom:2rem}.lf-title{color:var(--secondary-color,#1e293b);letter-spacing:-.5px;margin-bottom:.25rem;font-size:1.75rem;font-weight:800}.lf-sub{color:#64748b;margin:0;font-size:.9375rem}.lf-alert{color:#991b1b;background-color:#fef2f2;border:1px solid #fee2e2;border-radius:10px;align-items:center;gap:.625rem;margin-bottom:1.5rem;padding:.875rem;font-size:.8125rem;animation:.4s ease-in-out shake;display:flex}.lf-pass-wrap{position:relative}.lf-eye{padding:0;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.lf-forgot-wrap{text-align:center;margin-top:.85rem;margin-bottom:1.75rem}.lf-forgot{color:var(--primary-color,#1565c0);font-size:.875rem;font-weight:600;text-decoration:none}.lf-submit{border-radius:12px;height:3.25rem;font-size:.9375rem;font-weight:700}.lf-submit-icon{margin-right:.5rem}.pw-meter{margin-top:.5rem}.pw-bars{gap:.25rem;margin-bottom:.25rem;display:flex}.pw-bar{background-color:#e2e8f0;border-radius:2px;flex:1;height:4px}.pw-bar--on{background-color:var(--pw-color)}.pw-label{color:var(--pw-color);font-size:.75rem;font-weight:600}.pw-rules{flex-direction:column;gap:.25rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.pw-rule{color:#64748b;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.pw-rule--pass{color:#16a34a}.pw-rule-dot{color:#cbd5e1}.pw-rule--pass .pw-rule-dot{color:#16a34a}.pw-eye{cursor:pointer;color:#94a3b8;box-shadow:none;background:0 0;border:none;outline:none;align-items:center;padding:4px;display:flex}.pw-panel-bars{gap:4px;margin-bottom:.5rem;display:flex}.pw-panel-bar{background-color:#e2e8f0;border-radius:4px;flex:1;height:4px;transition:background-color .3s}.pw-panel-bar--on{background-color:var(--pw-color)}.pw-panel-label{color:var(--pw-color);margin-bottom:.625rem;font-size:.75rem;font-weight:600;transition:color .3s}.pw-panel-box{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.375rem;padding:.75rem 1rem;display:flex}.pw-panel-rule{color:#64748b;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:400;transition:color .25s;display:flex}.pw-panel-rule--pass{color:#16a34a;font-weight:600}.pw-panel-icon{flex-shrink:0}.pw-panel-icon--pass{color:#22c55e}.pw-panel-icon--fail{color:#cbd5e1}.pw-match{align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;display:flex}.pw-match--ok{color:#16a34a}.pw-match--bad{color:#ef4444}.route-state{--route-primary:var(--primary-color,#1565c0);box-sizing:border-box;color:#0f172a;text-align:center;background:#f8fafc;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:2rem;display:flex}.route-state:before{content:"";background:var(--route-primary);height:5px;position:fixed;top:0;left:0;right:0}.route-state--loading:before{display:none}.route-state__icon{border:1px solid color-mix(in srgb, var(--route-primary) 16%, transparent);width:68px;height:68px;color:var(--route-primary);background:#fff;border-radius:20px;justify-content:center;align-items:center;margin-bottom:1.25rem;display:flex;box-shadow:0 10px 25px #0f172a14}.route-state h1{color:#0f172a;letter-spacing:-.02em;margin:0;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800}.route-state p{color:#64748b;max-width:420px;margin:.6rem 0 0;font-size:.98rem;line-height:1.6}.route-state__eyebrow,.route-state__code{color:var(--route-primary);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.45rem;font-size:.75rem;font-weight:800}.route-state__code{letter-spacing:.08em;font-size:1.1rem}.route-state__action{background:var(--route-primary);color:#fff;box-shadow:0 8px 18px color-mix(in srgb, var(--route-primary) 20%, transparent);border-radius:10px;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .2s,filter .2s;display:inline-flex}.route-state__action:hover{color:#fff;filter:brightness(1.06);transform:translateY(-1px)}.route-state--loading{min-height:100dvh}.route-state--inline{background:0 0;min-height:0;padding:3rem 1.5rem}.route-state__spinner{border:4px solid #e2e8f0;border-top-color:var(--route-primary);border-radius:50%;width:56px;height:56px;margin-bottom:1rem;animation:.9s linear infinite route-state-spin}.route-state--loading h1{font-size:1.2rem}.route-state--loading p{margin-top:.35rem;font-size:.9rem}@keyframes route-state-spin{to{transform:rotate(360deg)}}@media (width<=480px){.route-state{padding:1.5rem}.route-state__action{justify-content:center;width:100%;max-width:280px}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}body{color:#333;background-color:#f5f5f5}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}button{cursor:pointer;font-family:inherit}input,button,select,textarea{font-family:inherit}
