:root{--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-primary-800: #1e40af;--color-primary-900: #1e3a8a;--color-primary-950: #172554;--color-primary: var(--color-primary-600);--color-primary-hover: var(--color-primary-700);--color-primary-alpha-5: rgba(37, 99, 235, .05);--color-primary-alpha-10: rgba(37, 99, 235, .1);--color-primary-alpha-20: rgba(37, 99, 235, .2);--color-primary-alpha-50: rgba(37, 99, 235, .5);--color-primary-alpha-80: rgba(37, 99, 235, .8);--color-primary-alpha-90: rgba(37, 99, 235, .9);--color-secondary-50: #faf5ff;--color-secondary-100: #f3e8ff;--color-secondary-200: #e9d5ff;--color-secondary-300: #d8b4fe;--color-secondary-400: #c084fc;--color-secondary-500: #a855f7;--color-secondary-600: #9333ea;--color-secondary-700: #7e22ce;--color-secondary-800: #6b21a8;--color-secondary-900: #581c87;--color-success-50: #f0fdf4;--color-success-100: #dcfce7;--color-success-500: #22c55e;--color-success-600: #16a34a;--color-success-700: #15803d;--color-success-900: #14532d;--color-success: var(--color-success-600);--color-danger-50: #fef2f2;--color-danger-100: #fee2e2;--color-danger-500: #ef4444;--color-danger-600: #dc2626;--color-danger-700: #b91c1c;--color-danger-900: #7f1d1d;--color-danger: var(--color-danger-600);--color-danger-hover: var(--color-danger-700);--color-warning-50: #fffbeb;--color-warning-100: #fef3c7;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-700: #b45309;--color-warning-900: #78350f;--color-warning: var(--color-warning-500);--color-info-50: #ecfeff;--color-info-100: #cffafe;--color-info-500: #06b6d4;--color-info-600: #0891b2;--color-info-700: #0e7490;--color-info-900: #164e63;--color-gray-25: #fcfcfd;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-gray-950: #030712;--color-white-alpha-5: rgba(255, 255, 255, .05);--color-white-alpha-10: rgba(255, 255, 255, .1);--color-white-alpha-20: rgba(255, 255, 255, .2);--color-white-alpha-40: rgba(255, 255, 255, .4);--color-white-alpha-60: rgba(255, 255, 255, .6);--color-white-alpha-80: rgba(255, 255, 255, .8);--color-white-alpha-90: rgba(255, 255, 255, .9);--color-black-alpha-5: rgba(0, 0, 0, .05);--color-black-alpha-10: rgba(0, 0, 0, .1);--color-black-alpha-20: rgba(0, 0, 0, .2);--color-black-alpha-40: rgba(0, 0, 0, .4);--color-black-alpha-60: rgba(0, 0, 0, .6);--color-black-alpha-80: rgba(0, 0, 0, .8);--color-role-lab-admin: #a855f7;--color-role-lab-admin-bg: #f3e8ff;--color-role-lab-admin-alpha: rgba(168, 85, 247, .1);--color-role-lab-user: #3b82f6;--color-role-lab-user-bg: #dbeafe;--color-role-lab-user-alpha: rgba(59, 130, 246, .1);--color-role-clinic-admin: #10b981;--color-role-clinic-admin-bg: #d1fae5;--color-role-clinic-admin-alpha: rgba(16, 185, 129, .1);--color-role-clinic-user: #14b8a6;--color-role-clinic-user-bg: #ccfbf1;--color-role-clinic-user-alpha: rgba(20, 184, 166, .1);--color-role-supplier-admin: #f97316;--color-role-supplier-admin-bg: #ffedd5;--color-role-supplier-admin-alpha: rgba(249, 115, 22, .1);--color-role-supplier-user: #eab308;--color-role-supplier-user-bg: #fef3c7;--color-role-supplier-user-alpha: rgba(234, 179, 8, .1);--color-bg-primary: #ffffff;--color-bg-secondary: var(--color-gray-50);--color-bg-tertiary: var(--color-gray-100);--color-bg-success: var(--color-success-50);--color-bg-danger: var(--color-danger-50);--color-bg-warning: var(--color-warning-50);--color-bg-info: var(--color-info-50);--color-border-subtle: var(--color-gray-100);--color-border-default: var(--color-gray-200);--color-border-strong: var(--color-gray-300);--color-border-primary: var(--color-primary-600);--color-border-danger: var(--color-danger-600);--color-border-glass-light: var(--color-white-alpha-40);--color-border-glass-strong: var(--color-white-alpha-60);--color-text-primary: var(--color-gray-900);--color-text-secondary: var(--color-gray-700);--color-text-tertiary: var(--color-gray-600);--color-text-muted: var(--color-gray-500);--color-text-disabled: var(--color-gray-400);--color-text-inverted: #ffffff;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--font-mono: ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", Menlo, Monaco, "Courier New", monospace;--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-size-4xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--spacing-0: 0;--spacing-px: 1px;--spacing-0_5: .125rem;--spacing-1: .25rem;--spacing-1_5: .375rem;--spacing-2: .5rem;--spacing-2_5: .625rem;--spacing-3: .75rem;--spacing-3_5: .875rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-7: 1.75rem;--spacing-8: 2rem;--spacing-9: 2.25rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-14: 3.5rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--spacing-xs: var(--spacing-1);--spacing-sm: var(--spacing-2);--spacing-md: var(--spacing-4);--spacing-lg: var(--spacing-6);--spacing-xl: var(--spacing-8);--spacing-2xl: var(--spacing-12);--spacing-3xl: var(--spacing-16);--radius-none: 0;--radius-xs: .125rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--shadow-none: none;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .05);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--shadow-glass-sm: 0 4px 12px rgba(0, 0, 0, .05), 0 0 0 1px rgba(255, 255, 255, .1) inset;--shadow-glass-md: 0 8px 24px rgba(0, 0, 0, .1), 0 0 0 1px rgba(255, 255, 255, .2) inset;--shadow-glass-lg: 0 16px 48px rgba(0, 0, 0, .1), 0 0 0 1px rgba(255, 255, 255, .2) inset, 0 1px 0 0 rgba(255, 255, 255, .4) inset;--shadow-primary: 0 4px 12px rgba(37, 99, 235, .2), 0 2px 6px rgba(37, 99, 235, .1);--shadow-danger: 0 4px 12px rgba(220, 38, 38, .2), 0 2px 6px rgba(220, 38, 38, .1);--shadow-success: 0 4px 12px rgba(34, 197, 94, .2), 0 2px 6px rgba(34, 197, 94, .1);--duration-instant: 50ms;--duration-fast: .15s;--duration-base: .25s;--duration-medium: .35s;--duration-slow: .5s;--duration-slower: .75s;--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-emphasized: cubic-bezier(.4, 0, 0, 1);--ease-decelerated: cubic-bezier(0, 0, 0, 1);--ease-accelerated: cubic-bezier(.3, 0, 1, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-elastic: cubic-bezier(.68, -.6, .32, 1.6);--transition-fast: var(--duration-fast) var(--ease-out);--transition-base: var(--duration-base) var(--ease-out);--transition-medium: var(--duration-medium) var(--ease-in-out);--transition-slow: var(--duration-slow) var(--ease-in-out);--transition-colors: background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);--transition-transform: transform var(--duration-base) var(--ease-out);--transition-opacity: opacity var(--duration-base) var(--ease-out);--transition-shadow: box-shadow var(--duration-base) var(--ease-out);--transition-fast-legacy: .15s cubic-bezier(.4, 0, .2, 1);--transition-base-legacy: .2s cubic-bezier(.4, 0, .2, 1);--glass-bg-subtle: rgba(255, 255, 255, .4);--glass-bg-light: rgba(255, 255, 255, .6);--glass-bg-medium: rgba(255, 255, 255, .7);--glass-bg-strong: rgba(255, 255, 255, .8);--glass-bg-opaque: rgba(255, 255, 255, .9);--glass-blur-subtle: blur(8px);--glass-blur-light: blur(12px);--glass-blur-medium: blur(20px);--glass-blur-strong: blur(32px);--glass-blur-intense: blur(48px);--glass-saturate-none: saturate(100%);--glass-saturate-light: saturate(150%);--glass-saturate-medium: saturate(180%);--glass-saturate-strong: saturate(200%);--glass-backdrop-subtle: blur(8px) saturate(150%);--glass-backdrop-light: blur(12px) saturate(180%);--glass-backdrop-medium: blur(20px) saturate(180%);--glass-backdrop-strong: blur(32px) saturate(200%);--glass-border-subtle: 1px solid rgba(255, 255, 255, .2);--glass-border-medium: 1px solid rgba(255, 255, 255, .4);--glass-border-strong: 1px solid rgba(255, 255, 255, .6)}.glass-subtle{background:var(--glass-bg-subtle);backdrop-filter:var(--glass-backdrop-subtle);-webkit-backdrop-filter:var(--glass-backdrop-subtle);border:var(--glass-border-subtle);box-shadow:var(--shadow-glass-sm)}.glass-light{background:var(--glass-bg-light);backdrop-filter:var(--glass-backdrop-light);-webkit-backdrop-filter:var(--glass-backdrop-light);border:var(--glass-border-medium);box-shadow:var(--shadow-glass-sm)}.glass-medium{background:var(--glass-bg-medium);backdrop-filter:var(--glass-backdrop-medium);-webkit-backdrop-filter:var(--glass-backdrop-medium);border:var(--glass-border-medium);box-shadow:var(--shadow-glass-md)}.glass-strong{background:var(--glass-bg-strong);backdrop-filter:var(--glass-backdrop-strong);-webkit-backdrop-filter:var(--glass-backdrop-strong);border:var(--glass-border-strong);box-shadow:var(--shadow-glass-lg)}.glass-primary{background:linear-gradient(135deg,var(--color-primary-alpha-10) 0%,var(--color-primary-alpha-5) 100%);backdrop-filter:var(--glass-backdrop-medium);-webkit-backdrop-filter:var(--glass-backdrop-medium);border:1px solid var(--color-primary-alpha-20);box-shadow:0 8px 24px var(--color-primary-alpha-10),0 0 0 1px var(--color-white-alpha-20) inset}.glass-reflect:before{content:"";position:absolute;top:0;left:0;right:0;height:40%;background:linear-gradient(180deg,rgba(255,255,255,.2) 0%,transparent 100%);pointer-events:none;border-radius:inherit}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInFromLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInFromTop{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInFromBottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:0}}@keyframes scaleBounce{0%{transform:scale(.9)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);line-height:1.5;color:var(--color-gray-900);background-color:var(--color-gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{width:100%;max-width:80rem;margin:0 auto;padding:0 var(--spacing-md)}.page{min-height:100vh;background-color:var(--color-gray-50)}.page-center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-md)}.card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg)}.card-header{background:linear-gradient(135deg,var(--color-primary) 0%,#1d4ed8 100%);padding:var(--spacing-lg);color:#fff;border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin:calc(var(--spacing-lg) * -1) calc(var(--spacing-lg) * -1) var(--spacing-lg)}.card-title{font-size:1.25rem;font-weight:600;margin:0}.card-grid{display:grid;gap:var(--spacing-lg)}@media(min-width:768px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.card-grid-3{grid-template-columns:repeat(3,1fr)}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem;font-weight:500;line-height:1.5;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-base);text-decoration:none}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-hover)}.btn-full{width:100%}.btn-lg{padding:.625rem var(--spacing-md)}.btn-role-lab-admin{background-color:var(--color-role-lab-admin);color:#fff}.btn-role-lab-admin:hover:not(:disabled){filter:brightness(.9)}.btn-role-lab-user{background-color:var(--color-role-lab-user);color:#fff}.btn-role-lab-user:hover:not(:disabled){filter:brightness(.9)}.btn-role-clinic-admin{background-color:var(--color-role-clinic-admin);color:#fff}.btn-role-clinic-admin:hover:not(:disabled){filter:brightness(.9)}.btn-role-clinic-user{background-color:var(--color-role-clinic-user);color:#fff}.btn-role-clinic-user:hover:not(:disabled){filter:brightness(.9)}.btn-role-supplier-admin{background-color:var(--color-role-supplier-admin);color:#fff}.btn-role-supplier-admin:hover:not(:disabled){filter:brightness(.9)}.btn-role-supplier-user{background-color:var(--color-role-supplier-user);color:#fff}.btn-role-supplier-user:hover:not(:disabled){filter:brightness(.9)}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--color-gray-700);margin-bottom:var(--spacing-xs)}.form-input{width:100%;padding:var(--spacing-sm) .75rem;font-size:.875rem;line-height:1.5;color:var(--color-gray-900);background-color:#fff;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);transition:all var(--transition-base)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-input:disabled{background-color:var(--color-gray-100);cursor:not-allowed}.form-input::placeholder{color:var(--color-gray-400)}.form-checkbox{width:1rem;height:1rem;color:var(--color-primary);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);cursor:pointer}.form-checkbox:disabled{cursor:not-allowed}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) .75rem;font-size:.875rem;font-weight:500;border-radius:var(--radius-full);border:1px solid transparent}.badge-lg{padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem}.badge-role-lab-admin{background-color:var(--color-role-lab-admin-bg);color:var(--color-role-lab-admin);border-color:var(--color-role-lab-admin)}.badge-role-lab-user{background-color:var(--color-role-lab-user-bg);color:var(--color-role-lab-user);border-color:var(--color-role-lab-user)}.badge-role-clinic-admin{background-color:var(--color-role-clinic-admin-bg);color:var(--color-role-clinic-admin);border-color:var(--color-role-clinic-admin)}.badge-role-clinic-user{background-color:var(--color-role-clinic-user-bg);color:var(--color-role-clinic-user);border-color:var(--color-role-clinic-user)}.badge-role-supplier-admin{background-color:var(--color-role-supplier-admin-bg);color:var(--color-role-supplier-admin);border-color:var(--color-role-supplier-admin)}.badge-role-supplier-user{background-color:var(--color-role-supplier-user-bg);color:var(--color-role-supplier-user);border-color:var(--color-role-supplier-user)}.badge-gray{background-color:var(--color-gray-100);color:var(--color-gray-800)}.alert{padding:.75rem var(--spacing-md);border-radius:var(--radius-md);border:1px solid transparent}.alert-error{background-color:#fef2f2;border-color:#fecaca;color:#991b1b}.alert-warning{background-color:#fffbeb;border-color:#fde68a;color:#92400e}.alert-success{background-color:#f0fdf4;border-color:#bbf7d0;color:#166534}.header{background:#fff;box-shadow:var(--shadow-sm)}.header-content{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);max-width:80rem;margin:0 auto}.header-title{font-size:1.875rem;font-weight:700;color:var(--color-gray-900);margin:0}.header-subtitle{font-size:.875rem;color:var(--color-gray-600);margin-top:var(--spacing-xs)}.text-center{text-align:center}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-4{margin-top:var(--spacing-md)}.mt-6{margin-top:var(--spacing-lg)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-4{margin-bottom:var(--spacing-md)}.mb-6{margin-bottom:var(--spacing-lg)}.space-y-4>*+*{margin-top:var(--spacing-md)}.space-y-6>*+*{margin-top:var(--spacing-lg)}.space-y-8>*+*{margin-top:var(--spacing-xl)}.spinner{width:3rem;height:3rem;border:2px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin .6s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:16rem;text-align:center}.loading-text{margin-top:var(--spacing-md);color:var(--color-gray-600)}.link{color:var(--color-primary);text-decoration:none;font-weight:500;transition:color var(--transition-base)}.link:hover{color:var(--color-primary-hover)}@media(min-width:640px){.container{padding:0 var(--spacing-lg)}.header-content{padding:var(--spacing-md) var(--spacing-lg)}}.alert{padding:.75rem 1rem;border-radius:.375rem;margin-bottom:1rem}.alert-danger{background-color:#fef2f2;border:1px solid #fecaca;color:#991b1b}.alert-success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-grid-full{grid-column:1 / -1}@media(max-width:768px){.form-grid{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column}.form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.25rem}.form-label .required{color:#dc2626}.form-input,.form-select,.form-textarea{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.6}.form-textarea{resize:none}.form-input-mono{font-family:monospace;font-size:.875rem}.form-help-text{margin-top:.25rem;font-size:.75rem;color:#6b7280}.btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:.5rem;border:none;cursor:pointer;transition:background-color .2s,color .2s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background-color:#1d4ed8}.btn-secondary{background-color:transparent;color:#374151}.btn-secondary:hover:not(:disabled){background-color:#f3f4f6}.btn-icon{padding:.5rem 1rem;background-color:#f3f4f6;color:#374151}.btn-icon:hover:not(:disabled){background-color:#e5e7eb}.btn-link{background:none;padding:0;color:#2563eb;font-size:.875rem}.btn-link:hover:not(:disabled){color:#1d4ed8}.form-checkbox{width:1rem;height:1rem;border:1px solid #d1d5db;border-radius:.25rem;cursor:pointer}.form-checkbox:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-checkbox:disabled{opacity:.5;cursor:not-allowed}.text-optional{color:#9ca3af;font-weight:400}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.option-list{display:flex;flex-direction:column;gap:.5rem}.option-item{display:flex;align-items:center;gap:.75rem;background-color:#f9fafb;padding:.75rem;border-radius:.5rem}.option-item-content{flex:1}.option-item-title{font-size:.875rem;font-weight:500;color:#111827}.option-item-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#6b7280;margin-top:.25rem}.option-item-code{background-color:#e5e7eb;padding:0 .25rem;border-radius:.25rem}.btn-danger{color:#dc2626;background:none;padding:.25rem}.btn-danger:hover:not(:disabled){color:#991b1b}.empty-state{text-align:center;padding:1rem;background-color:#f9fafb;border-radius:.5rem;font-size:.875rem;color:#6b7280}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}
