@import"https://fonts.googleapis.com/css2?family=Alegreya:wght@400;500;600;700;800;900&family=Nunito:wght@400;600;700&family=Poppins:wght@300;400;500;600;700&family=Fredoka:wght@400&display=swap";.error-boundary-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--bg-primary, #0b0b0b)}.error-boundary-card{width:100%;max-width:500px;padding:2rem;text-align:center;border-radius:var(--radius-btn-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0a;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:1.5rem}.error-boundary-icon{width:4rem;height:4rem;margin:0 auto;border-radius:999px;background:#ef44441f;color:var(--error);display:flex;align-items:center;justify-content:center}.error-boundary-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.error-boundary-message{color:var(--text-secondary);line-height:1.6;word-break:break-word}.error-boundary-button{width:100%;border:none;outline:none;cursor:pointer;padding:.9rem 1rem;border-radius:var(--radius-btn-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);transition:all var(--transition-fast);background:var(--button-gradient);color:var(--color-infineo-black)}.error-boundary-button:focus-visible{outline:none;box-shadow:var(--btn-focus-ring)}.error-boundary-button:hover{transform:translateY(-1px);box-shadow:var(--gold-glow)}.error-boundary-button:active{transform:translateY(0) scale(.98)}@media(max-width:768px){.error-boundary-card{padding:1.5rem}.error-boundary-title{font-size:var(--font-size-xl)}.error-boundary-message{font-size:var(--font-size-sm)}}:root{--color-infineo-black: #0d1b2e;--color-infineo-gold: #c9944e;--color-infineo-blue: #073389;--color-infineo-gold-light: #f0c86a;--color-infineo-gold-vibrant: #e8b445;--color-infineo-cream: #fef0d0;--color-infineo-white: #ffffff;--color-primary: var(--color-infineo-gold);--color-primary-light: var(--color-infineo-gold-light);--color-accent: var(--color-infineo-blue);--font-primary: "Alegreya", serif;--font-secondary: "Nunito", sans-serif;--font-supporting: "Poppins", sans-serif;--font-decorative: "Fredoka", sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 22px;--font-size-2xl: 26px;--font-size-3xl: 30px;--font-size-4xl: 36px;--font-size-5xl: 42px;--font-weight-light: 200;--font-weight-normal: 300;--font-weight-medium: 400;--font-weight-semibold: 500;--font-weight-bold: 600;--font-weight-black: 700;--line-height-tight: 1.25;--line-height-normal: 1.75;--line-height-relaxed: 1.85;--line-height-loose: 2.1;--letter-spacing-tight: -.5px;--letter-spacing-normal: 0px;--letter-spacing-wide: .5px;--letter-spacing-wider: 1px;--letter-spacing-widest: 2px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--spacing-3xl: 48px;--spacing-4xl: 64px;--section-padding-y: 120px;--radius-sm: 12px;--radius-md: 18px;--radius-lg: 26px;--radius-xl: 36px;--radius-2xl: 48px;--radius-full: 9999px;--input-radius: 12px;--radius-input: var(--input-radius);--radius-btn-sm: 8px;--radius-btn-md: 12px;--radius-btn-lg: 16px;--radius-btn-xl: 18px;--radius-btn-default: var(--radius-btn-md);--transition-fast: .2s cubic-bezier(.25, 1, .5, 1);--transition-base: .4s cubic-bezier(.25, 1, .5, 1);--transition-slow: .6s cubic-bezier(.25, 1, .5, 1);--transition-cubic: cubic-bezier(.25, 1, .5, 1);--transition-smooth: cubic-bezier(.25, 1, .5, 1);--z-dropdown: 100;--z-sticky: 500;--z-fixed: 1000;--z-offcanvas: 1050;--z-modal-backdrop: 1100;--z-modal: 1150;--z-tooltip: 1200;--z-notification: 1300;--dialog-max-height: calc(100vh - 2rem) ;--dialog-width-sm: 440px;--dialog-width-md: 560px;--dialog-width-lg: 800px;--dialog-width-xl: 1040px}@media(max-width:1024px){:root{--section-padding-y: 80px}}@media(max-width:768px){:root{--section-padding-y: 60px}}:root,[data-theme=light]{--bg-primary: #fdf6e3;--bg-secondary: #f7ead0;--bg-tertiary: #f0ddb8;--bg-card: rgba(255, 254, 249, .9);--bg-glass: rgba(255, 255, 255, .055);--bg-overlay: rgba(17, 43, 71, .08);--heading-primary: #112B47;--heading-secondary: #1C3E63;--text-primary: #112B47;--text-secondary: #4A5A6A;--text-muted: #6F7B88;--text-inverse: #fdf6e3;--accent-primary: #C9944E;--accent-hover: #b5803d;--accent-soft: #E8B445;--accent-dark: #916429;--eyebrow-color: var(--accent-dark);--eyebrow-bg: rgba(145, 100, 41, .08);--eyebrow-border: rgba(145, 100, 41, .25);--input-bg: #ffffff;--input-border: rgba(17, 43, 71, .2);--input-border-hover: rgba(17, 43, 71, .4);--input-border-focus: var(--accent-primary);--border-primary: rgba(17, 43, 71, .15);--border-secondary: rgba(17, 43, 71, .08);--border-light: rgba(17, 43, 71, .04);--section-glow: radial-gradient(ellipse 80% 50% at 50% -10%, rgba(201, 148, 78, .08), transparent);--card-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 2px 0 rgba(17, 43, 71, .05) inset, 0 8px 24px rgba(17, 43, 71, .06), 0 2px 6px rgba(17, 43, 71, .04);--button-gradient: linear-gradient(135deg, #C9944E 0%, #E8B445 50%, #C9944E 100%);--gold-glow: 0 0 10px rgba(201, 148, 78, .2), 0 0 28px rgba(201, 148, 78, .1), 0 0 56px rgba(201, 148, 78, .05);--elevation-card-3d: 0 4px 0 #d9bc94, 0 10px 24px rgba(17, 43, 71, .08), inset 0 1px 0 rgba(255, 255, 255, .9);--elevation-card-3d-hover: 0 7px 0 #c9a77c, 0 16px 32px rgba(17, 43, 71, .12), inset 0 1px 0 rgba(255, 255, 255, 1);--elevation-btn-3d: 0 3px 0 #b5803d, 0 4px 12px rgba(201, 148, 78, .25);--elevation-btn-3d-hover: 0 5px 0 #9c6c2e, 0 6px 18px rgba(201, 148, 78, .35);--elevation-btn-3d-pressed: 0 1px 0 #9c6c2e, inset 0 2px 4px rgba(17, 43, 71, .15);--elevation-input-inset: inset 0 2px 4px rgba(17, 43, 71, .08), 0 1px 0 rgba(255, 255, 255, .8);--elevation-input-focus: inset 0 1px 2px rgba(17, 43, 71, .05), 0 0 0 3px rgba(201, 148, 78, .25), 0 2px 8px rgba(201, 148, 78, .15);--elevation-asset-3d: drop-shadow(0 4px 6px rgba(17, 43, 71, .12)) drop-shadow(0 1px 2px rgba(17, 43, 71, .08));--success: #1a7a58;--error: #b82020;--warning: #b06010;--info: #1C3E63;--btn-disabled-bg: rgba(17, 43, 71, .08);--btn-disabled-text: rgba(17, 43, 71, .35);--btn-disabled-border: rgba(17, 43, 71, .12);--btn-focus-ring: 0 0 0 3px rgba(201, 148, 78, .35);--module-bg: url(../assets/module/Landmass-light.webp) no-repeat center center / cover;--star-color: rgba(201, 148, 78, .3);--nebula-teal: rgba(15, 140, 160, .04);--nebula-purple: rgba(110, 60, 180, .03);--shimmer-gradient: linear-gradient(105deg, transparent 20%, rgba(201, 148, 78, .15) 40%, rgba(201, 148, 78, .25) 50%, rgba(201, 148, 78, .15) 60%, transparent 80%)}[data-theme=dark]{--bg-primary: #080f1e;--bg-secondary: #0d1830;--bg-tertiary: #050c18;--bg-card: rgba(12, 24, 50, .85);--bg-glass: rgba(255, 255, 255, .055);--bg-overlay: rgba(4, 8, 18, .6);--heading-primary: #F0D08A;--heading-secondary: #D4A055;--text-primary: #F0D08A;--text-secondary: #a8976f;--text-muted: #D1BC91;--text-inverse: #0d1830;--accent-primary: #D4A055;--accent-hover: #f0c86a;--accent-soft: #f5d078;--accent-dark: #7a5028;--eyebrow-color: var(--accent-hover);--eyebrow-bg: rgba(244, 208, 120, .08);--eyebrow-border: rgba(244, 208, 120, .25);--input-bg: rgba(255, 255, 255, .04);--input-border: rgba(244, 208, 120, .2);--input-border-hover: rgba(244, 208, 120, .38);--input-border-focus: rgba(244, 208, 120, .65);--border-primary: rgba(244, 208, 120, .2);--border-secondary: rgba(244, 208, 120, .11);--border-light: rgba(255, 255, 255, .06);--section-glow: radial-gradient(ellipse 80% 50% at 50% -10%, rgba(212, 160, 85, .18), transparent);--card-shadow: 0 2px 0 rgba(244, 208, 120, .14) inset, 0 24px 64px rgba(0, 0, 0, .55), 0 4px 16px rgba(0, 0, 0, .35);--button-gradient: linear-gradient(135deg, #c9944e 0%, #f5d078 50%, #e8b445 100%);--gold-glow: 0 0 12px rgba(244, 208, 120, .5), 0 0 32px rgba(244, 208, 120, .25), 0 0 72px rgba(244, 208, 120, .1);--elevation-card-3d: 0 4px 0 #050a14, 0 14px 36px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(244, 208, 120, .15);--elevation-card-3d-hover: 0 7px 0 #03060d, 0 20px 48px rgba(0, 0, 0, .75), inset 0 1px 0 rgba(244, 208, 120, .25);--elevation-btn-3d: 0 3px 0 #8c5d1e, 0 4px 16px rgba(0, 0, 0, .4);--elevation-btn-3d-hover: 0 5px 0 #6e4612, 0 8px 24px rgba(244, 208, 120, .25);--elevation-btn-3d-pressed: 0 1px 0 #6e4612, inset 0 2px 4px rgba(0, 0, 0, .4);--elevation-input-inset: inset 0 2px 6px rgba(0, 0, 0, .5), 0 1px 0 rgba(244, 208, 120, .08);--elevation-input-focus: inset 0 1px 2px rgba(0, 0, 0, .3), 0 0 0 3px rgba(244, 208, 120, .35), 0 2px 10px rgba(244, 208, 120, .2);--elevation-asset-3d: drop-shadow(0 6px 12px rgba(0, 0, 0, .65)) drop-shadow(0 0 8px rgba(244, 208, 120, .15));--btn-disabled-bg: rgba(255, 255, 255, .06);--btn-disabled-text: rgba(240, 208, 138, .35);--btn-disabled-border: rgba(244, 208, 120, .12);--btn-focus-ring: 0 0 0 3px rgba(244, 208, 120, .4);--module-bg: url(../assets/module/Landmass.webp) no-repeat center center / cover}:root{--themed-bg: var(--bg-primary);--themed-text: var(--text-primary);--themed-border: var(--border-primary);--themed-card-bg: var(--bg-card);--border-color: var(--themed-border)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-secondary);background-color:var(--themed-bg);color:var(--themed-text);margin:0;padding:0;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-base),color var(--transition-base)}img,picture,video,canvas,svg{display:block;max-width:100%}button,input,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:var(--font-weight-bold);color:var(--heading-primary);letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-5xl);font-weight:var(--font-weight-black);letter-spacing:var(--letter-spacing-widest)}h2{font-size:var(--font-size-4xl);letter-spacing:var(--letter-spacing-wider)}h3{font-size:var(--font-size-2xl);color:var(--heading-secondary)}h4{font-size:var(--font-size-xl);color:var(--heading-secondary)}h5{font-size:var(--font-size-lg);color:var(--heading-secondary)}h6{font-size:var(--font-size-base);color:var(--heading-secondary)}p{color:var(--text-secondary);line-height:var(--line-height-relaxed);font-size:var(--font-size-base)}a{color:var(--accent-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-hover)}::selection{background:#c9944e4d;color:var(--text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--button-gradient);border-radius:var(--radius-full);border:2px solid var(--bg-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--accent-soft)}.app-shell{height:100vh;display:flex;overflow:hidden;width:100%}.app-main{flex:1;min-width:0;overflow-y:auto;position:relative;z-index:1}body.modal-open{overflow:hidden!important}.app-page{max-width:1152px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-2xl);position:relative;z-index:1}.app-page--full{max-width:100%;margin:0}@media(min-width:768px){.app-page{padding:var(--spacing-2xl) var(--spacing-3xl)}}@media(min-width:1280px){.app-page{max-width:1380px}}.app-sidebar{width:250px;min-width:250px;display:flex;flex-direction:column;padding:1.25rem .875rem;transition:width .22s var(--transition-cubic),padding .22s var(--transition-cubic),background-color .22s ease;border-right:1px solid var(--border-color);position:relative;box-sizing:border-box;overflow-x:hidden;-webkit-user-select:none;user-select:none}.app-sidebar--collapsed{width:88px;min-width:88px;padding:1.25rem .375rem}[data-theme=light] .app-sidebar,.light .app-sidebar{background:var(--bg-card, #ffffff);border-right:1px solid var(--border-secondary, #e2e8f0)}[data-theme=dark] .app-sidebar,.dark .app-sidebar{background:var(--bg-secondary, #0d1b2e);border-right:1px solid var(--border-primary, rgba(255, 255, 255, .08))}.app-sidebar__logo{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1.5rem;padding:0 .5rem;min-height:44px;overflow:hidden}.app-sidebar--collapsed .app-sidebar__logo{justify-content:space-between;padding:0 .25rem;gap:.25rem}.logo-img{height:32px;width:auto;object-fit:contain}.logo-img--full{height:32px}.logo-img--short{height:28px}.logo-icon-mark{width:36px;height:36px;border-radius:var(--radius-btn-md);background:var(--button-gradient);color:var(--color-infineo-black);font-family:var(--font-primary);font-weight:var(--font-weight-black);font-size:var(--font-size-base);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #c9944e4d}.portal-badge{font-family:var(--font-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-black);letter-spacing:.1em;padding:.2rem .5rem;border-radius:var(--radius-btn-sm);background:var(--eyebrow-bg);color:var(--eyebrow-color);border:1px solid var(--eyebrow-border);white-space:nowrap;margin-top:2px}.sidebar-logo-brand{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.sidebar-logo-brand--collapsed{display:flex;align-items:center;justify-content:flex-start;width:auto}.admin-sidebar-logo-icon{width:32px;height:32px;border-radius:var(--radius-btn-sm);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-black);color:var(--color-infineo-black)}.admin-sidebar-logo-text{font-family:var(--font-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-base);letter-spacing:.05em;color:var(--heading-primary);white-space:nowrap}.app-sidebar--collapsed .admin-sidebar-logo-text{display:none}.sidebar-nav-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.sidebar-nav-group-label{font-family:var(--font-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:.5rem .875rem .25rem}.app-sidebar--collapsed .sidebar-nav-group-label{display:none}.app-sidebar__nav{flex:1;min-height:0;display:flex;flex-direction:column;gap:.35rem;overflow-y:auto;overflow-x:hidden}.app-sidebar__nav::-webkit-scrollbar{width:4px}.app-sidebar__nav::-webkit-scrollbar-thumb{background:#c9944e40;border-radius:var(--radius-btn-sm)}@media(max-width:768px){.app-sidebar{display:none}}.app-nav-item{width:100%;border:none;background:transparent;display:flex;align-items:center;gap:.875rem;padding:.75rem .875rem;border-radius:var(--radius-btn-md);cursor:pointer;transition:background-color .18s ease,color .18s ease,transform .18s ease;color:var(--text-secondary);font-family:var(--font-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;box-sizing:border-box;outline:none;min-width:0}.app-sidebar--collapsed .app-nav-item{flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:.55rem .25rem;gap:.25rem;min-height:58px}[data-theme=light] .app-nav-item--active,.light .app-nav-item--active{background:#c9944e24;color:var(--color-infineo-black);font-weight:var(--font-weight-bold);border-left:3px solid var(--accent-primary)}[data-theme=light] .app-nav-item--active svg,.light .app-nav-item--active svg{color:var(--accent-primary)}[data-theme=dark] .app-nav-item--active,.dark .app-nav-item--active{background:#c9944e2e;color:var(--color-infineo-cream);font-weight:var(--font-weight-bold);border-left:3px solid var(--accent-primary)}[data-theme=dark] .app-nav-item--active svg,.dark .app-nav-item--active svg{color:var(--accent-primary)}[data-theme=light] .app-nav-item:hover:not(.app-nav-item--active),.light .app-nav-item:hover:not(.app-nav-item--active){background:#c9944e14;color:var(--text-primary)}[data-theme=dark] .app-nav-item:hover:not(.app-nav-item--active),.dark .app-nav-item:hover:not(.app-nav-item--active){background:#ffffff0d;color:var(--text-primary)}.app-nav-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.app-nav-item__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .18s ease,width .18s ease;flex:1;text-align:left}.app-sidebar--collapsed .app-nav-item__label{display:block;opacity:1;width:100%;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.15;text-align:center;white-space:normal;word-break:break-word;overflow-wrap:break-word;overflow:visible;text-overflow:clip;pointer-events:auto}.app-nav-item svg{flex-shrink:0;transition:transform .2s ease,color .18s ease}.app-nav-item:hover svg{transform:scale(1.05)}.app-page-header{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2.5rem;position:relative;z-index:2}.app-page-header__left{display:flex;align-items:center;gap:1rem}.app-page-header__content{display:flex;flex-direction:column}.app-page-header__title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-black);line-height:1.25;letter-spacing:.025em;color:var(--heading-primary, var(--text-primary));margin:0}.app-page-header__highlight{background:var(--button-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.app-page-header__subtitle{margin-top:.5rem;color:var(--text-secondary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1.5}.app-page-header__actions{display:flex;align-items:center;gap:.75rem}.app-page-header__back-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border-primary);outline:none;cursor:pointer;border-radius:var(--radius-btn-md);color:var(--text-secondary);background:var(--bg-card);box-shadow:var(--elevation-btn-3d);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all var(--transition-fast)}.app-page-header__back-btn:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translateY(-2px);box-shadow:var(--elevation-btn-3d-hover)}.app-page-header__back-btn:active{transform:translateY(1px) scale(.96);box-shadow:var(--elevation-btn-3d-pressed)}.app-page-header__back-btn svg{flex-shrink:0}.app-page-header__profile-btn{display:flex;align-items:center;gap:.75rem;background:transparent;border:none;padding:.25rem .5rem;border-radius:var(--radius-btn-md);cursor:pointer;color:inherit;text-decoration:none;transition:all var(--transition-fast)}.app-page-header__profile-btn:hover{background:#c9944e14;transform:translateY(-1px)}.app-page-header__profile-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.app-page-header__avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-secondary, #e2e8f0);background:#94a3b81a;filter:var(--elevation-asset-3d);flex-shrink:0}[data-theme=dark] .app-page-header__avatar,.dark .app-page-header__avatar{border-color:#ffffff26}.app-page-header__avatar-img{width:100%;height:100%;object-fit:cover}.app-page-header__avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-primary);background:#94a3b840}.app-page-header__user-info{display:flex;flex-direction:column;text-align:left}.app-page-header__user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0;line-height:1.25}.app-page-header__user-role{font-size:var(--font-size-xs);color:var(--text-secondary);margin:0;line-height:1.2}.student-header-actions{display:flex;align-items:center;gap:var(--spacing-md);margin-left:auto}.student-header-logout-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);min-height:36px;padding:6px 14px}@media(max-width:768px){.app-page-header{flex-direction:column;align-items:flex-start}.app-page-header__actions{width:100%;flex-wrap:wrap;justify-content:flex-end}.student-header-actions{gap:var(--spacing-sm)}.app-page-header__title{font-size:clamp(1.6rem,5vw,2.1rem);font-weight:800}.app-page-header__subtitle{font-size:var(--font-size-sm)}}@media(max-width:520px){.student-header-logout-text,.app-page-header__user-info{display:none}}.app-card,.glass-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--elevation-card-3d);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);position:relative;overflow:hidden;padding:var(--spacing-xl);transition:transform var(--transition-base),box-shadow var(--transition-base)}.app-card--interactive:hover,.glass-card--interactive:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--elevation-card-3d-hover),var(--gold-glow);cursor:pointer}.app-card--compact,.app-card--sm,.glass-card--compact,.glass-card--sm{padding:var(--spacing-lg)}.app-card--hero,.app-card--lg,.glass-card--hero,.glass-card--lg{padding:var(--spacing-2xl)}.app-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.app-card__eyebrow-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);width:100%;margin-bottom:var(--spacing-xs)}.app-card__eyebrow-row .app-eyebrow,.app-card__eyebrow-row .text-infineo-gold{margin-bottom:0}.app-card__title{margin-bottom:var(--spacing-xs);font-family:var(--font-primary);font-weight:var(--font-weight-bold);color:var(--heading-primary);line-height:var(--line-height-tight)}.app-card__subtitle,.app-card__description{margin-bottom:var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.app-card__consequence{margin-top:calc(var(--spacing-xs) * -1);margin-bottom:var(--spacing-md);color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.app-card__metadata{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.app-card__metadata-row{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.4}.app-card__body{display:flex;flex-direction:column;gap:var(--spacing-md);flex:1}.app-card__actions{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:auto;padding-top:var(--spacing-sm)}.app-card__status-row{display:flex;align-items:center;justify-content:center;margin-top:var(--spacing-sm)}.app-card__footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-secondary);display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-md)}.app-card-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:var(--spacing-xl)}@media(min-width:768px){.app-card-grid--2col{grid-template-columns:repeat(2,minmax(0,1fr))}.app-card-grid--3col{grid-template-columns:repeat(3,minmax(0,1fr))}}.app-panel{background:var(--bg-glass);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.app-surface{background:var(--bg-secondary);border-radius:var(--radius-lg)}.app-stat-card{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xl);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--elevation-card-3d)}.app-stat-card__content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.app-stat-card__label{font-family:var(--font-secondary);font-size:var(--font-size-sm);color:var(--text-muted);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.app-stat-card__value{font-family:var(--font-primary);font-size:var(--font-size-3xl);color:var(--text-primary);font-weight:var(--font-weight-bold);line-height:1}.app-stat-card__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);background:var(--eyebrow-bg);color:var(--eyebrow-color);border:1px solid var(--eyebrow-border)}.app-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--font-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.25;letter-spacing:.2px;cursor:pointer;border-radius:var(--radius-btn-md);transition:all var(--transition-fast);padding:10px 20px;min-height:40px;border:1px solid transparent;text-decoration:none;box-sizing:border-box;-webkit-user-select:none;user-select:none}.app-btn--sm{min-height:32px;padding:6px 14px;font-size:var(--font-size-xs);border-radius:var(--radius-btn-sm)}.app-btn--md{min-height:40px;padding:10px 20px;font-size:var(--font-size-sm);border-radius:var(--radius-btn-md)}.app-btn--lg{min-height:48px;padding:12px 26px;font-size:var(--font-size-base);border-radius:var(--radius-btn-lg)}.app-btn--xl{min-height:56px;padding:14px 32px;font-size:var(--font-size-lg);border-radius:var(--radius-btn-xl)}.app-btn--full{width:100%}.app-btn-group,.btn-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md)}.app-btn-group--sm,.btn-group--sm{gap:var(--spacing-sm)}.app-btn-group--vertical,.btn-group--vertical{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.app-btn-group .app-btn,.btn-group .btn-primary,.btn-group .btn-secondary,.btn-group .btn-outline,.btn-group .btn-ghost,.btn-group .btn-danger,.btn-group .btn-success{flex-shrink:0}.app-btn:focus-visible{outline:none;box-shadow:var(--btn-focus-ring)}.app-btn:not(:disabled):active{transform:translateY(1px) scale(.98);box-shadow:var(--elevation-btn-3d-pressed)}.app-btn:disabled,.app-btn[aria-disabled=true]{background:var(--btn-disabled-bg)!important;color:var(--btn-disabled-text)!important;border-color:var(--btn-disabled-border)!important;box-shadow:none!important;transform:none!important;cursor:not-allowed!important;opacity:.7}.app-btn--primary{background:var(--button-gradient);color:var(--color-infineo-black);border-color:transparent;box-shadow:var(--elevation-btn-3d)}.app-btn--primary:not(:disabled):hover{transform:translateY(-2px);box-shadow:var(--elevation-btn-3d-hover)}.app-btn--secondary{background:var(--bg-card);color:var(--text-primary);border-color:var(--border-primary);box-shadow:var(--elevation-btn-3d)}.app-btn--secondary:not(:disabled):hover{background:var(--bg-secondary);border-color:var(--accent-primary);color:var(--heading-primary);transform:translateY(-2px);box-shadow:var(--elevation-btn-3d-hover)}.app-btn--outline{background:transparent;color:var(--accent-primary);border-color:var(--accent-primary);box-shadow:var(--elevation-btn-3d)}.app-btn--outline:not(:disabled):hover{background:var(--eyebrow-bg);border-color:var(--accent-hover);color:var(--accent-hover);transform:translateY(-2px);box-shadow:var(--elevation-btn-3d-hover)}.app-btn--ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.app-btn--ghost:not(:disabled):hover{background:var(--bg-glass);color:var(--text-primary);transform:translateY(-2px);box-shadow:0 2px 8px #00000014}.app-btn--ghost:not(:disabled):active{transform:translateY(1px) scale(.98);box-shadow:inset 0 1px 2px #00000026}.app-btn--danger{background:#b820201a;color:var(--error);border-color:#b8202040;box-shadow:var(--elevation-btn-3d)}.app-btn--danger:not(:disabled):hover{background:#b820202e;border-color:var(--error);transform:translateY(-2px);box-shadow:var(--elevation-btn-3d-hover)}.app-btn--success{background:#1a7a581a;color:var(--success);border-color:#1a7a5840;box-shadow:var(--elevation-btn-3d)}.app-btn--success:not(:disabled):hover{background:#1a7a582e;border-color:var(--success);transform:translateY(-2px);box-shadow:var(--elevation-btn-3d-hover)}.app-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-btn-sm);border:1px solid var(--border-primary);background:var(--bg-card);color:var(--text-secondary);box-shadow:var(--elevation-btn-3d);cursor:pointer;transition:all var(--transition-fast);box-sizing:border-box}.app-icon-btn:focus-visible{outline:none;box-shadow:var(--btn-focus-ring)}.app-icon-btn:not(:disabled):hover{color:var(--text-primary);border-color:var(--accent-primary);background:var(--bg-secondary);transform:translateY(-2px);box-shadow:var(--elevation-btn-3d-hover)}.app-icon-btn:not(:disabled):active{transform:translateY(1px) scale(.96);box-shadow:var(--elevation-btn-3d-pressed)}.app-icon-btn:disabled{background:var(--btn-disabled-bg)!important;color:var(--btn-disabled-text)!important;border-color:var(--btn-disabled-border)!important;box-shadow:none!important;transform:none!important;cursor:not-allowed!important;opacity:.65}@media(prefers-reduced-motion:reduce){.app-btn,.app-icon-btn{transition:none!important;transform:none!important}}.app-eyebrow{font-family:var(--font-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider, 1px);color:var(--eyebrow-color);margin-bottom:var(--spacing-xs);line-height:var(--line-height-tight)}.app-eyebrow-pill{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:2px 10px;border-radius:var(--radius-full);background:var(--eyebrow-bg);color:var(--eyebrow-color);border:1px solid var(--eyebrow-border);font-family:var(--font-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.5px}.app-tabs{display:flex;align-items:center;gap:var(--spacing-xs);padding:4px;background:var(--bg-glass);border:1px solid var(--border-secondary);border-radius:var(--radius-md);overflow-x:auto}.app-tab{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:8px 20px;font-family:var(--font-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-muted);border:none;border-radius:var(--radius-btn-sm);background:transparent;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.app-tab:hover{color:var(--text-primary);background:var(--bg-card)}.app-tab--active{background:var(--button-gradient);color:var(--color-infineo-black);box-shadow:0 2px 8px #c9944e40}.app-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;min-height:24px;font-size:var(--font-size-xs);font-family:var(--font-secondary);font-weight:var(--font-weight-bold);border-radius:var(--radius-full);letter-spacing:.5px;text-transform:uppercase;border:1px solid transparent;white-space:nowrap;line-height:1}.app-badge--neutral{background:var(--bg-glass);color:var(--text-secondary);border-color:var(--border-primary)}.app-badge--info{background:#1c3e631f;color:var(--info);border-color:#3b82f640}.app-badge--success{background:#1a7a581f;color:var(--success);border-color:#10b98140}.app-badge--warning{background:#b060101f;color:var(--warning);border-color:#f59e0b40}.app-badge--danger{background:#b820201f;color:var(--error);border-color:#ef444440}.app-badge--suspended{background:#a8976f1f;color:var(--accent-primary);border-color:#d4a05540}.app-field{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%}.app-label{font-family:var(--font-secondary);font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-semibold)}.app-input,.app-select,.app-textarea{width:100%;background:var(--input-bg);border:1.5px solid var(--input-border);color:var(--text-primary);padding:12px 16px;border-radius:var(--input-radius);font-family:var(--font-secondary);font-size:var(--font-size-sm);box-shadow:var(--elevation-input-inset);transition:all var(--transition-fast)}.app-input:focus,.app-select:focus,.app-textarea:focus{outline:none;border-color:var(--input-border-focus);box-shadow:var(--elevation-input-focus)}.app-input::placeholder,.app-textarea::placeholder{color:var(--text-muted)}.app-textarea{min-height:100px;resize:vertical}.app-field-error{font-family:var(--font-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--error);margin-top:.25rem;margin-bottom:0;line-height:1.3}.app-alert{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);border-radius:var(--radius-md);border:1px solid}.app-alert--info{background:#1c3e631a;border-color:#3b82f633;color:var(--info)}.app-alert--warning{background:#b060101a;border-color:#f59e0b33;color:var(--warning)}.app-alert--danger{background:#b820201a;border-color:#ef444433;color:var(--error)}.app-alert--success{background:#1a7a581a;border-color:#10b98133;color:var(--success)}.app-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-4xl) var(--spacing-xl);background:var(--bg-glass);border:1px dashed var(--border-primary);border-radius:var(--radius-xl);gap:var(--spacing-md)}.app-empty-state__icon{color:var(--text-muted);margin-bottom:var(--spacing-sm)}.app-empty-state__title{font-family:var(--font-primary);font-size:var(--font-size-xl);color:var(--text-primary)}.app-empty-state__description{font-family:var(--font-secondary);font-size:var(--font-size-sm);color:var(--text-secondary);max-width:400px}.app-spinner{border:3px solid var(--border-primary);border-top-color:var(--accent-primary);border-radius:50%;width:24px;height:24px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-skeleton{background:linear-gradient(90deg,var(--bg-glass) 25%,var(--border-primary) 50%,var(--bg-glass) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.app-page-loader{display:flex;height:50vh;width:100%;align-items:center;justify-content:center}.app-loading-fallback{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.app-loader-icon{animation:spin 1s linear infinite;color:var(--accent-primary)}.app-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);overflow-y:auto}.app-modal{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);box-shadow:var(--card-shadow);width:100%;max-width:var(--dialog-width-md);max-height:var(--dialog-max-height);display:flex;flex-direction:column;position:relative;overflow:hidden;z-index:var(--z-modal);margin:auto}.app-modal--sm{max-width:var(--dialog-width-sm)}.app-modal--md{max-width:var(--dialog-width-md)}.app-modal--lg{max-width:var(--dialog-width-lg)}.app-modal--xl{max-width:var(--dialog-width-xl)}.app-modal__header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--border-secondary);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-shrink:0;background:var(--bg-card);position:relative}.app-modal__title-area{min-width:0;flex:1}.app-modal__title{font-family:var(--font-primary);font-size:var(--font-size-xl);color:var(--text-primary);font-weight:var(--font-weight-bold);margin:0;overflow-wrap:anywhere}.app-modal__subtitle{font-family:var(--font-secondary);font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px}.app-modal__tabs{display:flex;gap:var(--spacing-xs);padding:0 var(--spacing-xl);border-bottom:1px solid var(--border-secondary);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0;background:var(--bg-glass)}.app-modal__tabs::-webkit-scrollbar{display:none}.app-modal__tab{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);font-family:var(--font-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-muted);border:none;border-bottom:2px solid transparent;background:transparent;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.app-modal__tab:hover{color:var(--text-primary)}.app-modal__tab--active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.app-modal__icon-box{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--bg-glass);border:1px solid var(--border-secondary);color:var(--accent-primary);flex-shrink:0}.app-modal__info-box{background:var(--bg-glass);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg);font-size:var(--font-size-xs);color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--spacing-sm)}.app-modal__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.app-modal__grid-item{background:var(--bg-glass);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:4px}.app-modal__grid-item--full{grid-column:1 / -1}.app-modal__body{padding:var(--spacing-xl);overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:var(--spacing-lg)}.app-modal__footer{padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--border-secondary);display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-md);flex-shrink:0;background:var(--bg-glass)}.app-video-wrapper{position:relative;width:100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:#000;border-radius:var(--radius-lg);overflow:hidden}@media(max-width:640px){.app-modal-backdrop{padding:var(--spacing-xs)}.app-modal{max-height:calc(100vh - 1rem);border-radius:var(--radius-xl)}.app-modal__header{padding:var(--spacing-md) var(--spacing-lg)}.app-modal__tabs{padding:0 var(--spacing-md)}.app-modal__tab{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs)}.app-modal__body{padding:var(--spacing-lg);gap:var(--spacing-md)}.app-modal__footer{padding:var(--spacing-md) var(--spacing-lg);flex-wrap:wrap}.app-modal__footer .app-btn{width:100%}}.app-table__wrapper{width:100%;overflow-x:auto;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl)}.app-table{width:100%;border-collapse:collapse;text-align:left}.app-table th{padding:var(--spacing-md) var(--spacing-lg);font-family:var(--font-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-muted);border-bottom:1px solid var(--border-primary);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.app-table td{padding:var(--spacing-lg);font-family:var(--font-secondary);font-size:var(--font-size-sm);color:var(--text-primary);border-bottom:1px solid var(--border-secondary)}.app-table tr:last-child td{border-bottom:none}.app-table tbody tr:hover{background:var(--bg-glass)}.app-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.app-section-header__title{font-family:var(--font-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--heading-primary);margin:0;line-height:var(--line-height-tight)}.app-section-header__actions{display:flex;align-items:center;gap:var(--spacing-md)}.app-section-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--accent-primary);text-decoration:none;background:transparent;border:none;padding:4px 8px;margin:-4px -8px;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),transform var(--transition-fast);line-height:1;white-space:nowrap;-webkit-user-select:none;user-select:none}.app-section-link:hover{color:var(--accent-hover);text-decoration:none}.app-section-link:hover .app-section-link__icon,.app-section-link:hover svg{transform:translate(3px)}.app-section-link:focus-visible{outline:none;box-shadow:var(--btn-focus-ring)}.app-section-link__icon,.app-section-link svg{display:inline-block;transition:transform var(--transition-fast);color:currentColor;flex-shrink:0}.star-rating-container{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) 0}.star-rating-btn{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:var(--spacing-xs);border:none;background:transparent;border-radius:var(--radius-lg);cursor:pointer;outline:none;transition:transform .18s cubic-bezier(.34,1.56,.64,1),filter .18s ease}.star-rating-btn:hover{transform:scale(1.18)}.star-rating-btn:focus-visible{outline:2px solid var(--border-gold-focus, #eab308);outline-offset:2px}.star-icon{width:32px;height:32px;transition:color .18s ease,fill .18s ease,filter .18s ease}.star-icon--filled{color:var(--warning);fill:#f59e0b;filter:drop-shadow(0 2px 8px rgba(245,158,11,.45))}.star-icon--empty{color:var(--text-muted);fill:transparent;opacity:.5}.star-rating-btn:hover .star-icon--empty{opacity:.85;color:var(--warning)}.star-rating-label-pill{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-lg);border-radius:9999px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.25);color:var(--text-primary);font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin-top:var(--spacing-sm);transition:all .2s ease}@media(prefers-reduced-motion:reduce){.star-rating-btn{transition:none!important;transform:none!important}}.app-tooltip-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;max-width:100%}.app-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:8px 12px;font-family:var(--font-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);white-space:normal;max-width:280px;width:max-content;text-align:center;box-shadow:var(--card-shadow),0 8px 24px #00000047;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast);z-index:var(--z-tooltip, 1200)}.app-tooltip-wrapper:hover .app-tooltip,.app-tooltip-wrapper:focus-within .app-tooltip,.app-tooltip-wrapper.app-tooltip--visible .app-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.app-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:var(--border-primary) transparent transparent transparent}.app-auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2.5rem 1.5rem;background-color:var(--bg-primary);transition:background-color var(--transition-base);font-family:var(--font-secondary);position:relative;overflow-x:hidden}.app-auth:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 15% 15%,var(--bg-secondary) 0%,transparent 45%),radial-gradient(circle at 85% 85%,rgba(201,148,78,.08) 0%,transparent 45%);z-index:0;pointer-events:none}.app-auth--student.app-auth-light{background-color:#fdf6e3}.app-auth__ambient-glow{position:absolute;top:-150px;left:50%;transform:translate(-50%);width:800px;height:600px;background:radial-gradient(ellipse at center,rgba(201,148,78,.12) 0%,rgba(240,200,106,.06) 40%,transparent 75%);pointer-events:none;z-index:0}.app-auth__constellation-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(2px 2px at 20px 30px,#c9944e40,#0000),radial-gradient(2px 2px at 150px 120px,#c9944e33,#0000),radial-gradient(2.5px 2.5px at 280px 70px,#c9944e4d,#0000),radial-gradient(2px 2px at 400px 250px,#c9944e2e,#0000),radial-gradient(2px 2px at 600px 180px,#c9944e40,#0000),radial-gradient(3px 3px at 750px 90px,#c9944e59,#0000),radial-gradient(2px 2px at 880px 240px,#c9944e33,#0000),radial-gradient(2px 2px at 980px 140px,#c9944e47,#0000);background-repeat:repeat;background-size:1000px 400px;opacity:.7;pointer-events:none;z-index:0}.app-auth__top-logo{position:absolute;top:2rem;left:2.5rem;z-index:10}.app-auth__full-logo-img{height:42px;width:auto;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(17,43,71,.06))}.app-auth__container{width:100%;max-width:480px;position:relative;z-index:1;margin:3.5rem auto 1.5rem}.app-auth__panel{width:100%;padding:3rem 2.5rem;border-radius:var(--radius-xl);background:#fffef9;border:1px solid rgba(201,148,78,.22);box-shadow:0 1px #ffffffe6 inset,0 20px 48px #112b4714,0 4px 12px #112b470a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:relative;overflow:hidden}.app-auth__panel--wide{max-width:700px;margin:0 auto}.app-auth__panel:before{content:"";height:5px;width:100%;position:absolute;top:0;left:0;background:linear-gradient(90deg,#c9944e,#e8b445,#c9944e)}.app-auth__header{display:flex;flex-direction:column;align-items:center;margin-bottom:2.25rem;text-align:center}.app-auth__eyebrow{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-supporting);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--accent-dark);text-transform:uppercase;letter-spacing:1.5px;padding:4px 14px;background:#c9944e1a;border:1px solid rgba(201,148,78,.25);border-radius:var(--radius-btn-lg);margin-bottom:.85rem}.app-auth__eyebrow-sparkle{color:var(--accent-primary);font-size:var(--font-size-xs)}.app-auth__logo{width:64px;height:64px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-family:var(--font-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-black);color:var(--color-infineo-black);background:var(--gradient-gold);margin-bottom:1.25rem;box-shadow:var(--shadow-md)}.app-auth__title{font-family:var(--font-primary);font-size:var(--font-size-3xl);color:var(--heading-primary);margin-bottom:.35rem;letter-spacing:.5px;font-weight:var(--font-weight-bold);line-height:1.2}.app-auth__subtitle{font-family:var(--font-secondary);font-size:var(--font-size-base);color:var(--text-secondary);letter-spacing:.2px;font-weight:var(--font-weight-semibold)}.app-auth__form{display:flex;flex-direction:column;gap:1.35rem}.app-auth__actions{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.app-auth__btn--full{width:100%;height:48px;font-family:var(--font-supporting);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);letter-spacing:.5px;background:var(--button-gradient);color:var(--color-infineo-white);border:none;border-radius:var(--radius-btn-lg);box-shadow:0 4px 12px #c9944e40;transition:all var(--transition-fast);cursor:pointer;display:flex;align-items:center;justify-content:center}.app-auth__btn--full:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #c9944e73}.app-auth__btn--full:active:not(:disabled){transform:scale(.98)}.app-auth__btn--full:disabled{background:var(--btn-disabled-bg);color:var(--btn-disabled-text);box-shadow:none;cursor:not-allowed}.app-auth__message{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.15rem;border-radius:var(--input-radius, 12px);font-family:var(--font-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:1.25rem;border:1px solid transparent}.app-auth__message--error{background:#ef444414;border-color:#ef444440;color:var(--error)}.app-auth__message--success{background:#10b98114;border-color:#10b98140;color:var(--success)}.app-field-error{font-family:var(--font-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--error);margin-top:.35rem;margin-bottom:0;line-height:1.3}.app-input--error{border-color:#ef444499!important;background-color:#ef44440a!important}.app-input--error:focus{border-color:#ef4444cc!important;box-shadow:0 0 0 3px #ef444426!important}.app-auth__footer{text-align:center;margin-top:1.75rem;padding-top:1.25rem;border-top:1px dashed rgba(17,43,71,.1);font-family:var(--font-secondary);font-size:var(--font-size-sm);color:var(--text-secondary)}.app-auth__link{background:none;border:none;font-family:var(--font-secondary);color:var(--accent-primary);font-weight:var(--font-weight-bold);cursor:pointer;margin-left:.4rem;transition:color var(--transition-fast);padding:2px 4px;border-radius:var(--radius-btn-sm);text-decoration:none}.app-auth__link:focus-visible{outline:none;box-shadow:var(--btn-focus-ring)}.app-auth__link:hover{color:var(--accent-hover);text-decoration:underline}.app-auth__link-secondary{color:var(--text-secondary);font-size:var(--font-size-xs)}.app-auth__link-secondary:hover{color:var(--text-primary)}.app-auth__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}.app-auth__col-full{grid-column:1 / -1}.app-auth__section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--heading-secondary);border-bottom:1px solid var(--border-light);padding-bottom:.25rem;margin-bottom:.5rem}.app-auth__remember-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.15rem;font-family:var(--font-secondary)}.app-auth__checkbox-label{display:inline-flex;align-items:center;gap:.6rem;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;-webkit-user-select:none;user-select:none}.app-auth__checkbox-label:hover{color:var(--heading-primary)}.app-auth__checkbox{width:18px;height:18px;border-radius:var(--radius-btn-sm);accent-color:var(--accent-primary);cursor:pointer}@media(max-width:640px){.app-auth{padding:1.5rem 1rem;align-items:flex-start}.app-auth__top-logo{position:relative;top:auto;left:auto;margin-bottom:1.5rem;display:flex;justify-content:center}.app-auth__full-logo-img{height:36px}.app-auth__container{margin-top:.5rem;margin-bottom:1rem}.app-auth__panel{padding:2rem 1.5rem;border-radius:var(--radius-btn-lg)}.app-auth__grid{grid-template-columns:1fr}.app-auth__title{font-size:var(--font-size-2xl)}.app-auth__subtitle{font-size:var(--font-size-sm)}}.app-auth-dark .app-auth__panel,[data-theme=dark] .app-auth__panel{background:var(--bg-card, #0f172a);border-color:#c9944e59}.app-auth-dark .app-auth__title,[data-theme=dark] .app-auth__title{color:var(--heading-primary)}.app-auth-dark .app-auth__subtitle,[data-theme=dark] .app-auth__subtitle,.app-auth-dark .app-auth__checkbox-label,[data-theme=dark] .app-auth__checkbox-label{color:var(--text-secondary)}.app-auth-dark .app-auth__checkbox-label:hover,[data-theme=dark] .app-auth__checkbox-label:hover{color:var(--text-primary)}.app-auth-dark .app-auth__footer,[data-theme=dark] .app-auth__footer{color:var(--text-secondary);border-top-color:#ffffff1a}.shadow-md{box-shadow:0 6px 24px #0000001f}.shadow-lg{box-shadow:0 12px 40px #00000029}.shadow-xl{box-shadow:0 20px 60px #0003}.shadow-glow{box-shadow:var(--gold-glow)}.magic-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--elevation-card-3d);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:transform var(--transition-base),box-shadow var(--transition-base);position:relative;overflow:hidden}.magic-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--shimmer-gradient);background-size:200% 100%;opacity:0;transition:opacity .4s ease;pointer-events:none;border-radius:inherit}.magic-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--elevation-card-3d-hover),var(--gold-glow)}.magic-card:hover:after{opacity:1;animation:shimmerSweep .7s ease forwards}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--font-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:.2px;cursor:pointer;background:var(--button-gradient);color:var(--color-infineo-black);border:1px solid transparent;border-radius:var(--radius-btn-md);box-shadow:var(--elevation-btn-3d);transition:all var(--transition-fast);padding:10px 24px;min-height:40px;box-sizing:border-box;text-decoration:none;-webkit-user-select:none;user-select:none}.btn-primary:focus-visible{outline:none;box-shadow:var(--btn-focus-ring)}.btn-primary:not(:disabled):hover{transform:translateY(-2px);box-shadow:var(--elevation-btn-3d-hover)}.btn-primary:not(:disabled):active{transform:translateY(1px) scale(.98);box-shadow:var(--elevation-btn-3d-pressed)}.btn-primary:disabled{background:var(--btn-disabled-bg)!important;color:var(--btn-disabled-text)!important;border-color:var(--btn-disabled-border)!important;box-shadow:none!important;transform:none!important;cursor:not-allowed!important;opacity:.7}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--font-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:.2px;cursor:pointer;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:var(--radius-btn-md);box-shadow:var(--elevation-btn-3d);transition:all var(--transition-fast);padding:10px 24px;min-height:40px;box-sizing:border-box;text-decoration:none;-webkit-user-select:none;user-select:none}.btn-secondary:focus-visible{outline:none;box-shadow:var(--btn-focus-ring)}.btn-secondary:not(:disabled):hover{background:var(--bg-secondary);border-color:var(--accent-primary);color:var(--heading-primary);transform:translateY(-2px);box-shadow:var(--elevation-btn-3d-hover)}.btn-secondary:not(:disabled):active{transform:translateY(1px) scale(.98);box-shadow:var(--elevation-btn-3d-pressed)}.btn-secondary:disabled{background:var(--btn-disabled-bg)!important;color:var(--btn-disabled-text)!important;border-color:var(--btn-disabled-border)!important;box-shadow:none!important;transform:none!important;cursor:not-allowed!important;opacity:.7}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--font-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);cursor:pointer;background:transparent;color:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:var(--radius-btn-md);box-shadow:var(--elevation-btn-3d);transition:all var(--transition-fast);padding:10px 24px;min-height:40px;box-sizing:border-box;text-decoration:none;-webkit-user-select:none;user-select:none}.btn-outline:focus-visible{outline:none;box-shadow:var(--btn-focus-ring)}.btn-outline:not(:disabled):hover{background:var(--eyebrow-bg);border-color:var(--accent-hover);color:var(--accent-hover);transform:translateY(-2px);box-shadow:var(--elevation-btn-3d-hover)}.btn-outline:not(:disabled):active{transform:translateY(1px) scale(.98);box-shadow:var(--elevation-btn-3d-pressed)}.btn-outline:disabled{background:var(--btn-disabled-bg)!important;color:var(--btn-disabled-text)!important;border-color:var(--btn-disabled-border)!important;box-shadow:none!important;transform:none!important;cursor:not-allowed!important;opacity:.7}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--font-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);cursor:pointer;background:transparent;color:var(--text-secondary);border:1px solid transparent;border-radius:var(--radius-btn-md);transition:all var(--transition-fast);padding:10px 24px;min-height:40px;box-sizing:border-box;text-decoration:none;-webkit-user-select:none;user-select:none}.btn-ghost:focus-visible{outline:none;box-shadow:var(--btn-focus-ring)}.btn-ghost:not(:disabled):hover{background:var(--bg-glass);color:var(--text-primary);transform:translateY(-2px);box-shadow:0 2px 8px #00000014}.btn-ghost:not(:disabled):active{transform:translateY(1px) scale(.98);box-shadow:inset 0 1px 2px #00000026}.btn-ghost:disabled{background:var(--btn-disabled-bg)!important;color:var(--btn-disabled-text)!important;border-color:var(--btn-disabled-border)!important;box-shadow:none!important;transform:none!important;cursor:not-allowed!important;opacity:.7}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--font-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);cursor:pointer;background:#b820201a;color:var(--error);border:1px solid rgba(184,32,32,.25);border-radius:var(--radius-btn-md);box-shadow:var(--elevation-btn-3d);transition:all var(--transition-fast);padding:10px 24px;min-height:40px;box-sizing:border-box;text-decoration:none;-webkit-user-select:none;user-select:none}.btn-danger:focus-visible{outline:none;box-shadow:var(--btn-focus-ring)}.btn-danger:not(:disabled):hover{background:#b820202e;border-color:var(--error);transform:translateY(-2px);box-shadow:var(--elevation-btn-3d-hover)}.btn-danger:not(:disabled):active{transform:translateY(1px) scale(.98);box-shadow:var(--elevation-btn-3d-pressed)}.btn-danger:disabled{background:var(--btn-disabled-bg)!important;color:var(--btn-disabled-text)!important;border-color:var(--btn-disabled-border)!important;box-shadow:none!important;transform:none!important;cursor:not-allowed!important;opacity:.7}.btn-success{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--font-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);cursor:pointer;background:#1a7a581a;color:var(--success);border:1px solid rgba(26,122,88,.25);border-radius:var(--radius-btn-md);box-shadow:var(--elevation-btn-3d);transition:all var(--transition-fast);padding:10px 24px;min-height:40px;box-sizing:border-box;text-decoration:none;-webkit-user-select:none;user-select:none}.btn-success:focus-visible{outline:none;box-shadow:var(--btn-focus-ring)}.btn-success:not(:disabled):hover{background:#1a7a582e;border-color:var(--success);transform:translateY(-2px);box-shadow:var(--elevation-btn-3d-hover)}.btn-success:not(:disabled):active{transform:translateY(1px) scale(.98);box-shadow:var(--elevation-btn-3d-pressed)}.btn-success:disabled{background:var(--btn-disabled-bg)!important;color:var(--btn-disabled-text)!important;border-color:var(--btn-disabled-border)!important;box-shadow:none!important;transform:none!important;cursor:not-allowed!important;opacity:.7}.btn-sm{min-height:32px;padding:6px 14px;font-size:var(--font-size-xs);border-radius:var(--radius-btn-sm)}.btn-md{min-height:40px;padding:10px 20px;font-size:var(--font-size-sm);border-radius:var(--radius-btn-md)}.btn-lg{min-height:48px;padding:12px 26px;font-size:var(--font-size-base);border-radius:var(--radius-btn-lg)}.btn-xl{min-height:56px;padding:14px 32px;font-size:var(--font-size-lg);border-radius:var(--radius-btn-xl)}.btn-full{width:100%}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-btn-sm);border:1px solid var(--border-primary);background:var(--bg-card);color:var(--text-secondary);box-shadow:var(--elevation-btn-3d);cursor:pointer;transition:all var(--transition-fast);box-sizing:border-box}.btn-icon:focus-visible{outline:none;box-shadow:var(--btn-focus-ring)}.btn-icon:not(:disabled):hover{color:var(--text-primary);border-color:var(--accent-primary);background:var(--bg-secondary);transform:translateY(-2px);box-shadow:var(--elevation-btn-3d-hover)}.btn-icon:not(:disabled):active{transform:translateY(1px) scale(.96);box-shadow:var(--elevation-btn-3d-pressed)}.btn-icon:disabled{background:var(--btn-disabled-bg)!important;color:var(--btn-disabled-text)!important;border-color:var(--btn-disabled-border)!important;box-shadow:none!important;transform:none!important;cursor:not-allowed!important;opacity:.65}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(32px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-32px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-52px) scale(.97)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(52px) scale(.97)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes popIn{0%{transform:scale(.8) translateY(20px);opacity:0}55%{transform:scale(1.06) translateY(-5px);opacity:1}75%{transform:scale(.97) translateY(2px)}to{transform:scale(1) translateY(0);opacity:1}}@keyframes sparkle{0%{transform:scale(0) rotate(0);opacity:1}50%{transform:scale(1.3) rotate(180deg);opacity:.85}to{transform:scale(0) rotate(360deg);opacity:0}}@keyframes twinkle{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes float{0%{transform:translateY(0) rotate(0)}33%{transform:translateY(-12px) rotate(.8deg)}66%{transform:translateY(-6px) rotate(-.5deg)}to{transform:translateY(0) rotate(0)}}@keyframes bounce{0%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-14px) scale(1.04)}70%{transform:translateY(-6px) scale(.98)}}@keyframes glow{0%,to{box-shadow:var(--gold-glow)}50%{box-shadow:0 0 20px #f4d078b3,0 0 50px #f4d07859,0 0 100px #f4d07826}}@keyframes shimmerSweep{0%{background-position:-200% 0;opacity:.6}to{background-position:200% 0;opacity:0}}@keyframes starDrift{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes ripple{0%{transform:scale(0);opacity:.6}to{transform:scale(3.5);opacity:0}}@keyframes textShimmer{0%{background-position:-400% center}to{background-position:400% center}}@keyframes dustFall{0%{transform:translateY(-10px) translate(0) rotate(0);opacity:1}to{transform:translateY(80px) translate(20px) rotate(360deg);opacity:0}}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.15)}28%{transform:scale(1)}42%{transform:scale(1.1)}70%{transform:scale(1)}}.text-shimmer{background:linear-gradient(90deg,var(--accent-primary) 0%,var(--accent-soft) 30%,#fff8c0 50%,var(--accent-soft) 70%,var(--accent-primary) 100%);background-size:300% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:textShimmer 4s linear infinite}.btn-magic{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);background:var(--button-gradient);color:var(--color-infineo-black);border-radius:var(--radius-btn-lg);box-shadow:var(--elevation-btn-3d),var(--gold-glow);position:relative;overflow:hidden;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-magic:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--shimmer-gradient);background-size:200% 100%;opacity:0;transition:opacity .4s ease}.btn-magic:hover{transform:translateY(-3px) scale(1.02);box-shadow:var(--elevation-btn-3d-hover),var(--gold-glow)}.btn-magic:active{transform:translateY(1px) scale(.98);box-shadow:var(--elevation-btn-3d-pressed)}.btn-magic:hover:before{opacity:1;animation:shimmerSweep .65s ease forwards}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--btn-focus-ring)}.glass-card{background:var(--themed-card-bg);border:1px solid var(--themed-border);border-radius:var(--radius-xl);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--card-shadow);transition:all var(--transition-base)}.glass-card:hover{border-color:var(--accent-primary);box-shadow:var(--card-shadow),var(--gold-glow)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.shrink-0{flex-shrink:0}.flex-1{flex:1 1 0%}.hidden{display:none}@media(min-width:768px){.md\:flex{display:flex!important}.md\:hidden{display:none!important}.md\:flex-row{flex-direction:row!important}.md\:p-12{padding:48px!important}.md\:pb-12{padding-bottom:48px!important}.grid-cols-2{grid-template-cols:repeat(2,minmax(0,1fr))!important}}@media(min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.lg\:col-span-2{grid-column:span 2 / span 2!important}}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.gap-8{gap:32px}.space-y-1>*+*{margin-top:4px}.space-y-2>*+*{margin-top:8px}.space-y-3>*+*{margin-top:12px}.space-y-4>*+*{margin-top:16px}.space-y-6>*+*{margin-top:24px}.space-y-8>*+*{margin-top:32px}.space-y-12>*+*{margin-top:48px}.p-1{padding:4px}.p-2\.5{padding:10px}.p-4{padding:16px}.p-6{padding:24px}.p-8{padding:32px}.p-12{padding:48px}.px-4{padding-left:16px;padding-right:16px}.px-6{padding-left:24px;padding-right:24px}.px-8{padding-left:32px;padding-right:32px}.py-2{padding-top:8px;padding-bottom:8px}.py-2\.5{padding-top:10px;padding-bottom:10px}.py-3{padding-top:12px;padding-bottom:12px}.py-4{padding-top:16px;padding-bottom:16px}.py-12{padding-top:48px;padding-bottom:48px}.pb-4{padding-bottom:16px}.pb-6{padding-bottom:24px}.pb-8{padding-bottom:32px}.pb-12{padding-bottom:48px}.pb-32{padding-bottom:128px}.pt-2{padding-top:8px}.pt-4{padding-top:16px}.pt-6{padding-top:24px}.pt-12{padding-top:48px}.pl-6{padding-left:24px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-8{margin-top:32px}.mt-12{margin-top:48px}.mt-auto{margin-top:auto}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mb-10{margin-bottom:40px}.ml-1{margin-left:4px}.mr-32{margin-right:128px}.mx-auto{margin-left:auto;margin-right:auto}.my-8{margin-top:32px;margin-bottom:32px}.h-screen{height:100vh}.h-\[60vh\]{height:60vh}.h-1{height:4px}.h-1\.5{height:6px}.h-px{height:1px}.h-5{height:20px}.h-6{height:24px}.h-10{height:40px}.h-12{height:48px}.h-16{height:64px}.h-20{height:80px}.h-24{height:96px}.h-32{height:128px}.w-1\.5{width:6px}.w-5{width:20px}.w-6{width:24px}.w-10{width:40px}.w-12{width:48px}.w-16{width:64px}.w-20{width:80px}.w-32{width:128px}.w-72{width:288px}.w-full{width:100%}.max-w-md{max-width:448px}.max-w-xl{max-width:576px}.max-w-2xl{max-width:672px}.max-w-6xl{max-width:1152px}.border{border:1px solid var(--border-primary)}.border-t{border-top:1px solid var(--border-primary)}.border-r{border-right:1px solid var(--border-primary)}.border-b{border-bottom:1px solid var(--border-primary)}.border-l{border-left:1px solid var(--border-primary)}.border-2{border-width:2px}.border-dashed{border-style:dashed}.border-white\/5{border-color:#ffffff0d}.border-white\/10{border-color:#ffffff1a}.border-slate-200{border-color:var(--themed-border)}.rounded-lg{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-md)}.rounded-2xl{border-radius:var(--radius-lg)}.rounded-3xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.bg-white{background-color:var(--bg-card)}.bg-white\/5{background-color:#ffffff0d}.bg-white\/10{background-color:#ffffff1a}.bg-emerald-500\/10{background-color:#1a7a581a}.bg-red-500\/10{background-color:#b820201a}.bg-red-500{background-color:var(--error)}.bg-amber-500\/10{background-color:#b060101a}.bg-slate-500\/30{background-color:#78787833}.text-white{color:var(--text-primary)}.text-red-400,.text-red-500{color:var(--error)}.text-emerald-400,.text-emerald-500{color:var(--success)}.text-amber-500{color:var(--warning)}.text-infineo-gold{color:var(--accent-primary)}.text-infineo-black{color:var(--color-infineo-black)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.font-bold{font-weight:var(--font-weight-bold)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-black{font-weight:var(--font-weight-black)}.tracking-tight{letter-spacing:var(--letter-spacing-tight)}.tracking-tighter{letter-spacing:-1px}.tracking-wider{letter-spacing:var(--letter-spacing-wide)}.tracking-widest{letter-spacing:var(--letter-spacing-widest)}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.text-center{text-align:center}.text-left{text-align:left}.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.z-50{z-index:var(--z-sticky)}.z-\[100\]{z-index:var(--z-modal)}.z-\[100\]{z-index:100}.backdrop-blur-sm{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.backdrop-blur-xl{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.transition-colors{transition:color var(--transition-fast),background-color var(--transition-fast)}.transition-all{transition:all var(--transition-base)}.duration-300{transition-duration:.3s}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.text-themed-primary{color:var(--text-primary)}.text-themed-secondary{color:var(--text-secondary)}.text-themed-muted{color:var(--text-muted)}.input-themed{background-color:var(--input-bg);border:1.5px solid var(--input-border);color:var(--text-primary);transition:all var(--transition-base)}.input-themed:focus{border-color:var(--input-border-focus);outline:none}.gold-bg-gradient{background:var(--button-gradient)}.gold-gradient{background:var(--button-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.star-rating-container{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px;margin-bottom:18px}.star-rating-btn{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:var(--radius-btn-lg);display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background-color .2s ease;touch-action:manipulation;min-width:48px;min-height:48px}.star-rating-btn:hover{transform:scale(1.22);background-color:#f59e0b1a}.star-rating-btn:active{transform:scale(.92)}.star-rating-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #f59e0b66;background-color:#f59e0b26}.star-icon{width:38px;height:38px;transition:fill .2s ease,color .2s ease,filter .2s ease}.star-icon--filled{fill:#f59e0b;color:var(--warning);filter:drop-shadow(0 0 10px rgba(245,158,11,.5))}.star-icon--empty{fill:#ffffff0d;color:var(--text-muted)}.star-rating-label-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 18px;border-radius:9999px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);color:var(--warning);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:.01em;box-shadow:0 2px 8px #0000001a;transition:all .2s ease}@media(prefers-reduced-motion:reduce){.star-rating-btn{transition:none!important;transform:none!important}.star-icon{transition:none!important}}
