:root{--color-kth-blue: #004791;--color-navy: #000061;--color-sky-blue: #6298d2;--color-light-blue: #def0ff;--color-digital-blue: #0029ed;--color-kth-blue-soft: color-mix( in srgb, var(--color-kth-blue) 85%, var(--color-sky-blue) 15% );--color-sand: #ebe5e0;--color-sand-dark: #ebe5e0;--color-white: #ffffff;--color-broken-white: #fcfcfc;--color-broken-black: #212121;--color-green-dark: #0d4a21;--color-green: #4da060;--color-green-light: #c7ebba;--color-red-dark: #78001a;--color-red: #e86a58;--color-red-light: #ffccc4;--color-yellow-dark: #a65900;--color-yellow: #ffbe00;--color-yellow-light: #fff0b0;--color-turquoise-dark: #1c434c;--color-turquoise: #339c9c;--color-turquoise-light: #b2e0e0;--color-gray-dark: #323232;--color-gray: #a5a5a5;--color-gray-light: #e6e6e6;--color-gray-lighter: #fcfcfc;--color-primary-100: var(--color-light-blue);--color-primary-200: var(--color-sky-blue);--color-primary-500: var(--color-kth-blue);--color-primary-600: var(--color-navy);--color-primary-700: var(--color-navy);--color-primary-800: var(--color-navy);--color-secondary-500: var(--color-digital-blue);--color-secondary-300: var(--color-sky-blue);--color-secondary-700: var(--color-kth-blue);--color-secondary-900: var(--color-navy);--color-background: var(--color-broken-white);--color-surface: var(--color-white);--color-surface-hover: var(--color-gray-lighter);--color-border: var(--color-gray-light);--color-border-hover: var(--color-gray);--color-gray-50: var(--color-broken-white);--color-gray-200: var(--color-gray-light);--color-gray-300: var(--color-gray);--color-gray-600: var(--color-gray-dark);--color-text-primary: var(--color-broken-black);--color-text-secondary: var(--color-gray-dark);--color-text-light: var(--color-white);--color-table-header-bg: color-mix( in srgb, var(--color-gray-200) 65%, var(--color-white) 35% );--color-table-header-bg-muted: color-mix( in srgb, var(--color-gray-200) 45%, var(--color-white) 55% );--henry-switch-checked-bg: var(--color-kth-blue-soft);--henry-switch-checked-border: var(--color-kth-blue);--color-text-disabled: var(--color-gray);--color-overlay: var(--color-broken-black-50);--color-success: var(--color-green);--color-success-bg: var(--color-green-light);--color-success-text: var(--color-green-dark);--color-success-hover: var(--color-green-dark);--color-success-light: var(--color-green-light);--color-danger: var(--color-red);--color-danger-bg: var(--color-red-light);--color-danger-text: var(--color-red-dark);--color-danger-hover: var(--color-red-dark);--color-danger-light: var(--color-red-light);--color-warning: var(--color-yellow);--color-warning-bg: var(--color-yellow-light);--color-warning-text: var(--color-yellow-dark);--color-info: var(--color-turquoise);--color-info-bg: var(--color-turquoise-light);--color-info-text: var(--color-turquoise-dark);--color-info-hover: var(--color-turquoise-dark);--color-info-light: var(--color-turquoise-light);--color-course-1: color-mix( in srgb, var(--color-kth-blue) 55%, var(--color-broken-white) );--color-course-2: color-mix( in srgb, var(--color-sky-blue) 45%, var(--color-broken-white) );--color-course-3: color-mix( in srgb, var(--color-navy) 40%, var(--color-broken-white) );--color-course-4: color-mix( in srgb, var(--color-red) 50%, var(--color-broken-white) );--color-course-5: color-mix( in srgb, var(--color-red-dark) 40%, var(--color-broken-white) );--color-course-6: color-mix( in srgb, var(--color-turquoise) 45%, var(--color-broken-white) );--color-course-7: color-mix( in srgb, var(--color-turquoise-dark) 40%, var(--color-broken-white) );--color-course-8: color-mix( in srgb, var(--color-green) 45%, var(--color-broken-white) );--color-course-9: color-mix( in srgb, var(--color-green-dark) 40%, var(--color-broken-white) );--color-course-10: color-mix( in srgb, var(--color-yellow) 45%, var(--color-broken-white) );--color-course-11: color-mix( in srgb, var(--color-yellow-dark) 40%, var(--color-broken-white) );--color-course-12: color-mix( in srgb, var(--color-digital-blue) 45%, var(--color-broken-white) );--color-course-fallback: var(--color-gray-dark);--color-course-text-1: var(--color-navy);--color-course-text-2: var(--color-navy);--color-course-text-3: var(--color-navy);--color-course-text-4: var(--color-navy);--color-course-text-5: var(--color-navy);--color-course-text-6: var(--color-navy);--color-course-text-7: var(--color-navy);--color-course-text-8: var(--color-navy);--color-course-text-9: var(--color-navy);--color-course-text-10: var(--color-navy);--color-course-text-11: var(--color-navy);--color-course-text-12: var(--color-navy);--color-course-text-fallback: var(--color-navy);--color-white-15: rgba(255, 255, 255, .15);--color-white-50: rgba(255, 255, 255, .5);--color-white-70: rgba(255, 255, 255, .7);--color-white-92: rgba(255, 255, 255, .92);--color-broken-black-8: rgba(33, 33, 33, .08);--color-broken-black-20: rgba(33, 33, 33, .2);--color-broken-black-30: rgba(33, 33, 33, .3);--color-broken-black-50: rgba(33, 33, 33, .5);--color-kth-blue-15: rgba(0, 71, 145, .15);--color-kth-blue-20: rgba(0, 71, 145, .2);--color-red-20: rgba(232, 106, 88, .2);--color-yellow-20: rgba(255, 190, 0, .2);--font-family-base: "Figtree", system-ui, -apple-system, sans-serif;--font-family-serif: "Georgia", serif;--font-family-mono: "SF Mono", "Menlo", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--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: 4px;--radius-base: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(33 33 33 / .05);--shadow-base: 0 4px 6px -1px rgb(33 33 33 / .1), 0 2px 4px -2px rgb(33 33 33 / .1);--shadow-md: 0 10px 15px -3px rgb(33 33 33 / .1), 0 4px 6px -4px rgb(33 33 33 / .1);--shadow-lg: 0 20px 25px -5px rgb(33 33 33 / .1), 0 8px 10px -6px rgb(33 33 33 / .1);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--button-height-sm: 32px;--button-height-base: 40px;--button-height-lg: 48px;--input-height-base: 40px;--input-border-width: 1px;--input-focus-ring: 0 0 0 3px var(--color-kth-blue-15)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-base);font-weight:var(--font-weight-bold);color:var(--color-kth-blue);margin-top:0;margin-bottom:var(--space-4);line-height:var(--line-height-tight);letter-spacing:-.02em}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{margin-top:0;margin-bottom:var(--space-4);color:var(--color-text-secondary)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.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)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-kth-blue{color:var(--color-kth-blue)}.text-disabled{color:var(--color-text-disabled)}.m-0{margin:0}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.btn-base{display:inline-flex;align-items:center;justify-content:center;height:var(--button-height-base);padding:0 var(--space-5);font-family:var(--font-family-base);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);border-radius:var(--radius-base);border:1px solid transparent;cursor:pointer;transition:var(--transition-base);text-decoration:none;white-space:nowrap}.btn-base:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary-500);color:var(--color-white);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:var(--color-white);border-color:var(--color-border);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){border-color:var(--color-gray);background-color:var(--color-broken-white);color:var(--color-kth-blue)}.btn-danger{background-color:var(--color-danger);color:var(--color-white)}.btn-danger:hover:not(:disabled){background-color:var(--color-red-dark)}.btn-success{background-color:var(--color-success);color:var(--color-white)}.btn-success:hover:not(:disabled){background-color:var(--color-green-dark)}.panel-header henry-button,.header-buttons henry-button{--henry-button-primary-bg: var(--color-kth-blue-soft);--henry-button-primary-color: var(--color-white);--henry-button-primary-bg-hover: var(--color-kth-blue)}henry-switch{--henry-switch-checked-bg: var(--color-kth-blue-soft);--henry-switch-checked-border: var(--color-kth-blue)}.form-label{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-input{display:block;width:100%;height:var(--input-height-base);padding:0 var(--space-3);font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text-primary);background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-base);transition:all .2s ease;box-shadow:var(--shadow-sm)}.form-input:hover:not(:disabled){border-color:var(--color-gray)}.form-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:var(--input-focus-ring)}.form-input:disabled{background-color:var(--color-gray-lighter);color:var(--color-text-disabled);cursor:not-allowed;box-shadow:none}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.card-elevated{border:none;box-shadow:var(--shadow-base)}.card-padded{padding:var(--space-6)}.table-container{width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;text-align:left}th{padding:var(--space-3) var(--space-4);background-color:var(--color-table-header-bg);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-primary)}tr:last-child td{border-bottom:none}tr:hover td{background-color:var(--color-broken-white)}
