:root{--color-institutional: #26374f;--color-institutional-light: #334a68;--color-academic: #315055;--color-academic-light: #3d656b;--color-gold: #d0a64b;--color-gold-light: #e0bc6e;--color-neutral: #9aa3aa;--color-surface: #f7f6f2;--color-surface-elevated: #ffffff;--color-brand-primary: var(--color-institutional);--color-brand-secondary: var(--color-academic);--color-brand-accent: var(--color-gold);--color-text-primary: var(--color-institutional);--color-text-secondary: var(--color-academic);--color-text-muted: var(--color-neutral);--color-text-inverse: var(--color-surface-elevated);--color-text-on-accent: var(--color-institutional);--color-background: var(--color-surface);--color-surface-muted: var(--color-surface);--color-border: rgba(154, 163, 170, .45);--color-border-soft: rgba(38, 55, 79, .08);--color-border-strong: var(--color-neutral);--color-success: var(--color-academic);--color-success-subtle: rgba(49, 80, 85, .1);--color-warning: var(--color-gold);--color-warning-subtle: rgba(208, 166, 75, .12);--color-error: color-mix(in srgb, #26374f 75%, black);--color-error-subtle: rgba(38, 55, 79, .08);--color-disabled: var(--color-neutral);--color-disabled-bg: rgba(154, 163, 170, .12);--color-brand-primary-hover: var(--color-institutional-light);--color-brand-primary-active: color-mix(in srgb, var(--color-institutional) 78%, black);--color-brand-primary-subtle: rgba(38, 55, 79, .06);--color-brand-secondary-hover: var(--color-academic-light);--color-brand-accent-hover: var(--color-gold-light);--font-family-base: "Inter", Aptos, "Segoe UI", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 1.875rem;--font-size-3xl: 2.25rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-base: 1.5;--line-height-relaxed: 1.625;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgb(38 55 79 / .06);--shadow-soft: 0 4px 24px -4px rgb(38 55 79 / .08);--shadow-md: 0 2px 8px rgb(38 55 79 / .08);--shadow-card: 0 8px 32px -8px rgb(38 55 79 / .12);--shadow-focus: 0 0 0 3px rgb(38 55 79 / .18);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--container-max-width: 80rem;--container-padding: var(--space-4);--header-height: 4.25rem;--logo-min-height: 2rem;--logo-safe-margin: var(--space-1)}*,*:before,*:after{box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;background-color:var(--color-background);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0;color:var(--color-text-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-base)}p{margin:0 0 var(--space-4)}a{color:var(--color-brand-primary);text-decoration:underline;text-underline-offset:.15em;transition:color var(--transition-fast)}a:hover{color:var(--color-brand-primary-hover)}a:focus{outline:none}a:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px;box-shadow:var(--shadow-focus)}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit}.logo{display:block;width:auto;height:auto;min-height:var(--logo-min-height);max-width:100%;margin:var(--logo-safe-margin);object-fit:contain;object-position:left center}.logo-link{display:inline-flex;align-items:center;padding:var(--logo-safe-margin);text-decoration:none}.logo-link:focus{outline:none}.logo-link:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px;box-shadow:var(--shadow-focus)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.5rem;padding:var(--space-2) var(--space-4);border:1px solid transparent;border-radius:var(--radius-xl);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.55;pointer-events:none}.btn:focus{outline:none}.btn:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px;box-shadow:var(--shadow-focus)}.btn-primary{background-color:var(--color-institutional);border-color:var(--color-institutional);color:var(--color-text-inverse);box-shadow:var(--shadow-soft)}.btn-primary:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--color-institutional-light);border-color:var(--color-institutional-light);box-shadow:var(--shadow-card)}.btn-primary:active:not(:disabled):not([aria-disabled=true]){background-color:var(--color-brand-primary-active);border-color:var(--color-brand-primary-active);transform:translateY(0)}.btn-secondary{background-color:var(--color-academic);border-color:var(--color-academic);color:var(--color-text-inverse);box-shadow:var(--shadow-soft)}.btn-secondary:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--color-academic-light);border-color:var(--color-academic-light);box-shadow:var(--shadow-card)}.btn-secondary:active:not(:disabled):not([aria-disabled=true]){background-color:var(--color-brand-secondary-hover);border-color:var(--color-brand-secondary-hover)}.btn-outline{background-color:var(--color-surface-elevated);border:2px solid rgba(38,55,79,.2);color:var(--color-institutional)}.btn-outline:hover:not(:disabled):not([aria-disabled=true]){border-color:#26374f66;background-color:var(--color-surface-elevated)}.btn-accent{background-color:var(--color-gold);border-color:var(--color-gold);color:var(--color-text-on-accent)}.btn-accent:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--color-gold-light);border-color:var(--color-gold-light)}.btn-accent:focus{outline:none}.btn-accent:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px;box-shadow:var(--shadow-focus)}.btn-ghost{background-color:transparent;border-color:transparent;color:var(--color-institutional)}.btn-ghost:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--color-brand-primary-subtle)}.btn-ghost:active:not(:disabled):not([aria-disabled=true]){background-color:var(--color-border-soft)}.btn:disabled,.btn[aria-disabled=true]{background-color:var(--color-disabled-bg);border-color:var(--color-border-soft);color:var(--color-disabled)}.btn-primary:disabled,.btn-primary[aria-disabled=true]{background-color:var(--color-disabled-bg);border-color:var(--color-border-soft);color:var(--color-disabled)}.card{background-color:var(--color-surface-elevated);border:1px solid var(--color-border-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-soft);background-color:var(--color-surface-elevated)}.card-title{margin:0;color:var(--color-text-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);font-size:var(--font-size-lg)}.card-body{padding:var(--space-5)}.form-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.form-label{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.form-control{display:block;width:100%;min-height:2.75rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-surface-elevated);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.form-control::placeholder{color:var(--color-text-muted)}.form-control:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled);cursor:not-allowed}.form-control:focus{outline:none}.form-control:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px;box-shadow:var(--shadow-focus)}.form-control:focus{border-color:var(--color-brand-primary);box-shadow:var(--shadow-focus)}.form-control.is-invalid,.form-control[aria-invalid=true]{border-color:var(--color-error)}.form-control.is-invalid:focus,.form-control[aria-invalid=true]:focus{box-shadow:0 0 0 3px #26374f1f}.form-control.is-valid,.form-control[aria-invalid=false]{border-color:var(--color-success)}.form-control.is-valid:focus,.form-control[aria-invalid=false]:focus{box-shadow:0 0 0 3px var(--color-success-subtle)}textarea.form-control{min-height:6rem;resize:vertical}.form-error{display:flex;align-items:flex-start;gap:var(--space-2);margin:0;color:var(--color-error);font-size:var(--font-size-sm);line-height:var(--line-height-base);animation:form-error-enter var(--transition-fast) ease-out}.form-error__icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1rem;height:1rem;margin-top:.125rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-error) 14%,transparent);color:var(--color-error);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:1}.form-error__text{flex:1}@keyframes form-error-enter{0%{opacity:0;transform:translateY(-.125rem)}to{opacity:1;transform:translateY(0)}}.form-hint{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);white-space:nowrap}.badge-academic{background-color:var(--color-success-subtle);color:var(--color-brand-secondary)}.badge-highlight{background-color:var(--color-warning-subtle);color:var(--color-brand-accent)}.badge-muted{background-color:var(--color-disabled-bg);color:var(--color-text-muted)}.app-shell{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-background)}.container{width:100%;max-width:var(--container-max-width);margin-inline:auto;padding-inline:var(--container-padding)}.section{padding-block:var(--space-8)}.page-title{margin:0;color:var(--color-text-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:var(--space-2);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.page-subtitle{margin:0 0 var(--space-6);color:var(--color-text-muted);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-relaxed);max-width:42rem}.text-primary{color:var(--color-text-primary)!important}.text-secondary{color:var(--color-text-secondary)!important}.text-muted{color:var(--color-text-muted)!important}.text-inverse{color:var(--color-text-inverse)!important}.bg-brand{background-color:var(--color-brand-primary)!important}.bg-surface{background-color:var(--color-surface)!important}.bg-surface-elevated{background-color:var(--color-surface-elevated)!important}.bg-background{background-color:var(--color-background)!important}.border-soft{border:1px solid var(--color-border-soft)!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
