:root{--color-primary-50: #e6f0ff;--color-primary-100: #b3d1ff;--color-primary-200: #80b3ff;--color-primary-300: #4d94ff;--color-primary-400: #1a75ff;--color-primary-500: #1a3b5d;--color-primary-600: #13294d;--color-primary-700: #0d1a3d;--color-primary-800: #060c2d;--color-primary-900: #03061d;--color-secondary-50: #f0f9ff;--color-secondary-100: #e0f2fe;--color-secondary-200: #bae6fd;--color-secondary-300: #7dd3fc;--color-secondary-400: #38bdf8;--color-secondary-500: #4dabf7;--color-secondary-600: #339af0;--color-secondary-700: #0284c7;--color-secondary-800: #0369a1;--color-secondary-900: #0c4a6e;--color-success-50: #f0fdf4;--color-success-100: #dcfce7;--color-success-200: #bbf7d0;--color-success-300: #86efac;--color-success-400: #4ade80;--color-success-500: #22c55e;--color-success-600: #16a34a;--color-success-700: #15803d;--color-success-800: #166534;--color-success-900: #14532d;--color-error-50: #fef2f2;--color-error-100: #fee2e2;--color-error-200: #fecaca;--color-error-300: #fca5a5;--color-error-400: #f87171;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-error-700: #b91c1c;--color-error-800: #991b1b;--color-error-900: #7f1d1d;--color-warning-50: #fffbeb;--color-warning-100: #fef3c7;--color-warning-200: #fde68a;--color-warning-300: #fcd34d;--color-warning-400: #fbbf24;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-700: #b45309;--color-warning-800: #92400e;--color-warning-900: #78350f;--color-gray-50: #f8fafc;--color-gray-100: #f1f5f9;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e1;--color-gray-400: #94a3b8;--color-gray-500: #64748b;--color-gray-600: #475569;--color-gray-700: #334155;--color-gray-800: #1e293b;--color-gray-900: #0f172a;--color-background-primary: #ffffff;--color-background-secondary: #f8fafc;--color-background-tertiary: #f1f5f9;--color-background-accent: #e6f0ff;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-tertiary: #64748b;--color-text-inverse: #ffffff;--color-border-light: #e2e8f0;--color-border-medium: #cbd5e1;--color-border-dark: #94a3b8;--spacing-0: 0;--spacing-px: 1px;--spacing-0-5: 2px;--spacing-1: 4px;--spacing-1-5: 6px;--spacing-2: 8px;--spacing-2-5: 10px;--spacing-3: 12px;--spacing-3-5: 14px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-7: 28px;--spacing-8: 32px;--spacing-9: 36px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px;--spacing-20: 80px;--spacing-24: 96px;--spacing-32: 128px;--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-mono: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--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 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--border-radius-none: 0;--border-radius-sm: 4px;--border-radius-base: 6px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--border-radius-2xl: 24px;--border-radius-full: 9999px;--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--transition-colors: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;--z-index-dropdown: 1000;--z-index-sticky: 1100;--z-index-overlay: 1300;--z-index-modal: 1400;--z-index-toast: 1700;--header-height: 70px;--mobile-nav-height: 80px;--container-max-width: 1400px;--content-padding: var(--spacing-5);--content-padding-lg: var(--spacing-8)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background-secondary);min-height:100vh}*:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}::selection{background-color:var(--color-primary-100);color:var(--color-primary-800)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background-color:var(--color-gray-100)}::-webkit-scrollbar-thumb{background-color:var(--color-gray-300);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background-color:var(--color-gray-400)}.btn{border:none;background:none;padding:0;margin:0;cursor:pointer;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);font-family:var(--font-family-sans);font-weight:var(--font-weight-medium);line-height:var(--line-height-none);text-decoration:none;white-space:nowrap;border-radius:var(--border-radius-md);transition:var(--transition-colors),var(--transition-normal);box-shadow:var(--shadow-xs);outline:none}.btn:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.btn__content{position:relative;z-index:1}.btn__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.btn__spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center}.btn__spinner-icon{width:1em;height:1em;animation:spin 1s linear infinite}.btn--sm{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);min-height:32px}.btn--sm .btn__icon{width:16px;height:16px}.btn--md{padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-base);min-height:40px}.btn--md .btn__icon{width:18px;height:18px}.btn--lg{padding:var(--spacing-4) var(--spacing-6);font-size:var(--font-size-lg);min-height:48px}.btn--lg .btn__icon{width:20px;height:20px}.btn--xl{padding:var(--spacing-5) var(--spacing-8);font-size:var(--font-size-xl);min-height:56px}.btn--xl .btn__icon{width:24px;height:24px}.btn--full-width{width:100%}.btn--primary{background-color:var(--color-primary-500);color:var(--color-text-inverse);border:1px solid var(--color-primary-500)}.btn--primary:hover:not(.btn--disabled){background-color:var(--color-primary-600);border-color:var(--color-primary-600);box-shadow:var(--shadow-sm)}.btn--primary:active:not(.btn--disabled){background-color:var(--color-primary-700);border-color:var(--color-primary-700);transform:translateY(1px)}.btn--secondary{background-color:var(--color-secondary-500);color:var(--color-text-inverse);border:1px solid var(--color-secondary-500)}.btn--secondary:hover:not(.btn--disabled){background-color:var(--color-secondary-600);border-color:var(--color-secondary-600);box-shadow:var(--shadow-sm)}.btn--secondary:active:not(.btn--disabled){background-color:var(--color-secondary-700);border-color:var(--color-secondary-700);transform:translateY(1px)}.btn--outline{background-color:transparent;color:var(--color-primary-500);border:1px solid var(--color-primary-500)}.btn--outline:hover:not(.btn--disabled){background-color:var(--color-primary-50);color:var(--color-primary-600);border-color:var(--color-primary-600)}.btn--outline:active:not(.btn--disabled){background-color:var(--color-primary-100);transform:translateY(1px)}.btn--ghost{background-color:transparent;color:var(--color-primary-500);border:1px solid transparent;box-shadow:none}.btn--ghost:hover:not(.btn--disabled){background-color:var(--color-primary-50);color:var(--color-primary-600)}.btn--ghost:active:not(.btn--disabled){background-color:var(--color-primary-100);transform:translateY(1px)}.btn--danger{background-color:var(--color-error-500);color:var(--color-text-inverse);border:1px solid var(--color-error-500)}.btn--danger:hover:not(.btn--disabled){background-color:var(--color-error-600);border-color:var(--color-error-600);box-shadow:var(--shadow-sm)}.btn--danger:active:not(.btn--disabled){background-color:var(--color-error-700);border-color:var(--color-error-700);transform:translateY(1px)}.btn--success{background-color:var(--color-success-500);color:var(--color-text-inverse);border:1px solid var(--color-success-500)}.btn--success:hover:not(.btn--disabled){background-color:var(--color-success-600);border-color:var(--color-success-600);box-shadow:var(--shadow-sm)}.btn--success:active:not(.btn--disabled){background-color:var(--color-success-700);border-color:var(--color-success-700);transform:translateY(1px)}.btn--disabled,.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none;box-shadow:none}.btn--loading{cursor:wait;pointer-events:none}.btn--loading .btn__content{opacity:0}@media (max-width: 768px){.btn--lg{padding:var(--spacing-3) var(--spacing-5);min-height:44px}.btn--xl{padding:var(--spacing-4) var(--spacing-6);min-height:48px}}.card{border:none;background:none;padding:0;margin:0;text-align:left;display:flex;flex-direction:column;position:relative;width:100%;border-radius:var(--border-radius-lg);transition:var(--transition-colors),var(--transition-normal);overflow:hidden}.card--elevated{background-color:var(--color-background-primary);box-shadow:var(--shadow-sm)}.card--outlined{background-color:var(--color-background-primary);border:1px solid var(--color-border-light)}.card--filled{background-color:var(--color-background-secondary);border:1px solid transparent}.card--padding-sm{padding:var(--spacing-3)}.card--padding-md{padding:var(--spacing-6)}.card--padding-lg{padding:var(--spacing-8)}.card--padding-xl{padding:var(--spacing-10)}.card--hover:hover{transform:translateY(-2px)}.card--elevated.card--hover:hover{box-shadow:var(--shadow-md)}.card--outlined.card--hover:hover{border-color:var(--color-border-medium);box-shadow:var(--shadow-xs)}.card--filled.card--hover:hover{background-color:var(--color-background-tertiary)}.card--interactive{cursor:pointer;transition:var(--transition-colors),var(--transition-normal)}.card--interactive:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.card--interactive:active{transform:translateY(1px)}.card__header{display:flex;flex-direction:column;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.card__body{flex:1;display:flex;flex-direction:column;gap:var(--spacing-3)}.card__footer{display:flex;flex-direction:column;gap:var(--spacing-2);margin-top:var(--spacing-4)}.card__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text-primary)}.card__description{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}@media (max-width: 768px){.card--padding-lg{padding:var(--spacing-6)}.card--padding-xl{padding:var(--spacing-8)}}.card--horizontal{flex-direction:row;align-items:center}.card--horizontal .card__header,.card--horizontal .card__body,.card--horizontal .card__footer{margin:0}.card--horizontal .card__body{margin-left:var(--spacing-4)}.input{display:flex;flex-direction:column;gap:var(--spacing-1-5);width:100%}.input__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-normal)}.input__required{color:var(--color-error-500);margin-left:var(--spacing-1)}.input__wrapper{position:relative;display:flex;align-items:center}.input__field{border:none;background:none;padding:0;margin:0;outline:none;width:100%;display:flex;align-items:center;font-family:var(--font-family-sans);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);border-radius:var(--border-radius-md);transition:var(--transition-colors),var(--transition-normal);color:var(--color-text-primary)}.input__field::placeholder{color:var(--color-text-tertiary)}.input__field:focus{outline:none}.input__field--sm{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);min-height:32px}.input__field--md{padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-base);min-height:40px}.input__field--lg{padding:var(--spacing-4) var(--spacing-5);font-size:var(--font-size-lg);min-height:48px}.input__field--with-left-icon.input__field--sm{padding-left:var(--spacing-8)}.input__field--with-left-icon.input__field--md{padding-left:var(--spacing-10)}.input__field--with-left-icon.input__field--lg{padding-left:var(--spacing-12)}.input__field--with-right-icon.input__field--sm{padding-right:var(--spacing-8)}.input__field--with-right-icon.input__field--md{padding-right:var(--spacing-10)}.input__field--with-right-icon.input__field--lg{padding-right:var(--spacing-12)}.input__field--full-width{width:100%}.input__field--outline{background-color:var(--color-background-primary);border:1px solid var(--color-border-light);box-shadow:var(--shadow-inner)}.input__field--outline:hover:not(.input__field--disabled){border-color:var(--color-border-medium)}.input__field--outline:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #1a3b5d1a}.input__field--filled{background-color:var(--color-background-tertiary);border:1px solid transparent}.input__field--filled:hover:not(.input__field--disabled){background-color:var(--color-background-secondary)}.input__field--filled:focus{background-color:var(--color-background-primary);border-color:var(--color-primary-500);box-shadow:0 0 0 3px #1a3b5d1a}.input__field--ghost{background-color:transparent;border:1px solid transparent;border-bottom:1px solid var(--color-border-light);border-radius:0}.input__field--ghost:hover:not(.input__field--disabled){border-bottom-color:var(--color-border-medium)}.input__field--ghost:focus{border-bottom-color:var(--color-primary-500);box-shadow:0 1px 0 0 var(--color-primary-500)}.input__field--error{border-color:var(--color-error-500)!important}.input__field--error:focus{box-shadow:0 0 0 3px #ef44441a!important}.input__field--disabled,.input__field:disabled{background-color:var(--color-gray-50);color:var(--color-text-tertiary);border-color:var(--color-border-light);cursor:not-allowed;opacity:.6}.input__field--disabled::placeholder,.input__field:disabled::placeholder{color:var(--color-gray-400)}.input__field--loading{cursor:wait}.input__icon{position:absolute;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);pointer-events:none}.input__icon--left{left:var(--spacing-3)}.input__icon--right{right:var(--spacing-3)}.input__field--sm+.input__icon,.input__wrapper:has(.input__field--sm) .input__icon{width:16px;height:16px}.input__field--md+.input__icon,.input__wrapper:has(.input__field--md) .input__icon{width:18px;height:18px}.input__field--lg+.input__icon,.input__wrapper:has(.input__field--lg) .input__icon{width:20px;height:20px}.input__spinner{width:1em;height:1em;animation:spin 1s linear infinite}.input__footer{display:flex;flex-direction:column;gap:var(--spacing-1)}.input__error{font-size:var(--font-size-sm);color:var(--color-error-500);line-height:var(--line-height-normal)}.input__hint{font-size:var(--font-size-sm);color:var(--color-text-tertiary);line-height:var(--line-height-normal)}.input__wrapper:focus-within .input__icon{color:var(--color-primary-500)}.input__wrapper:has(.input__field--error):focus-within .input__icon{color:var(--color-error-500)}.alert{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-3);width:100%;border-radius:var(--border-radius-md);border:1px solid;padding:var(--spacing-4);font-family:var(--font-family-sans);transition:var(--transition-colors)}.alert__content{display:flex;align-items:flex-start;gap:var(--spacing-3);flex:1;min-width:0}.alert__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--font-size-lg);line-height:1}.alert__body{display:flex;flex-direction:column;gap:var(--spacing-1);flex:1;min-width:0}.alert__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);margin:0}.alert__message{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);margin:0}.alert__close{background:none;border:none;padding:0;margin:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm);line-height:1;transition:var(--transition-colors)}.alert__close:hover{background-color:#0000001a}.alert__close:focus-visible{outline:2px solid currentColor;outline-offset:2px}.alert--sm{padding:var(--spacing-3)}.alert--sm .alert__content{gap:var(--spacing-2)}.alert--sm .alert__icon{font-size:var(--font-size-base)}.alert--sm .alert__title{font-size:var(--font-size-sm)}.alert--sm .alert__message{font-size:var(--font-size-xs)}.alert--lg{padding:var(--spacing-6)}.alert--lg .alert__content{gap:var(--spacing-4)}.alert--lg .alert__icon{font-size:var(--font-size-xl)}.alert--lg .alert__title{font-size:var(--font-size-lg)}.alert--lg .alert__message{font-size:var(--font-size-base)}.alert--info{background-color:var(--color-secondary-50);border-color:var(--color-secondary-200);color:var(--color-secondary-900)}.alert--info .alert__title{color:var(--color-secondary-900)}.alert--info .alert__message{color:var(--color-secondary-800)}.alert--info .alert__icon{color:var(--color-secondary-600)}.alert--success{background-color:var(--color-success-50);border-color:var(--color-success-200);color:var(--color-success-900)}.alert--success .alert__title{color:var(--color-success-900)}.alert--success .alert__message{color:var(--color-success-800)}.alert--success .alert__icon{color:var(--color-success-600)}.alert--warning{background-color:var(--color-warning-50);border-color:var(--color-warning-200);color:var(--color-warning-900)}.alert--warning .alert__title{color:var(--color-warning-900)}.alert--warning .alert__message{color:var(--color-warning-800)}.alert--warning .alert__icon{color:var(--color-warning-600)}.alert--error{background-color:var(--color-error-50);border-color:var(--color-error-200);color:var(--color-error-900)}.alert--error .alert__title{color:var(--color-error-900)}.alert--error .alert__message{color:var(--color-error-800)}.alert--error .alert__icon{color:var(--color-error-600)}@media (max-width: 768px){.alert--lg{padding:var(--spacing-4)}.alert__content{gap:var(--spacing-2)}}.toast{position:fixed;top:20px;right:20px;min-width:300px;max-width:500px;padding:16px 20px;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.4;animation:slideIn .3s ease-out;transition:all .3s ease}.toast.success{background-color:#10b981;color:#fff;border-left:4px solid #059669}.toast.error{background-color:#ef4444;color:#fff;border-left:4px solid #dc2626}.toast.warning{background-color:#f59e0b;color:#fff;border-left:4px solid #d97706}.toast.info{background-color:#3b82f6;color:#fff;border-left:4px solid #2563eb}.toast-content{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.toast-message{flex:1;margin:0}.toast-close{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;line-height:1;padding:0;opacity:.7;transition:opacity .2s ease}.toast-close:hover{opacity:1}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background-color:#ffffff4d;border-radius:0 0 8px 8px;transition:width linear}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast.removing{animation:slideOut .3s ease-in forwards}@media (max-width: 640px){.toast{left:20px;right:20px;min-width:auto;max-width:none}}.spinner{display:inline-flex;align-items:center;justify-content:center}.spinner__icon{animation:spin 1s linear infinite}.spinner--sm .spinner__icon{width:16px;height:16px}.spinner--md .spinner__icon{width:24px;height:24px}.spinner--lg .spinner__icon{width:32px;height:32px}.spinner--xl .spinner__icon{width:48px;height:48px}.spinner--primary{color:var(--color-primary-500)}.spinner--secondary{color:var(--color-secondary-500)}.spinner--current{color:currentColor}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal);padding:var(--spacing-4);animation:modalOverlayFadeIn .2s ease-out}.modal{background-color:var(--color-background-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-2xl);display:flex;flex-direction:column;max-height:calc(100vh - var(--spacing-8));width:100%;position:relative;outline:none;animation:modalSlideIn .3s ease-out}.modal--sm{max-width:400px}.modal--md{max-width:500px}.modal--lg{max-width:700px}.modal--xl{max-width:900px}.modal--full{max-width:calc(100vw - var(--spacing-8));max-height:calc(100vh - var(--spacing-8))}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-6);border-bottom:1px solid var(--color-border-light);flex-shrink:0}.modal__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-snug)}.modal__close{background:none;border:none;padding:0;margin:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:var(--border-radius-md);cursor:pointer;color:var(--color-text-tertiary);font-size:var(--font-size-lg);line-height:1;transition:var(--transition-colors)}.modal__close:hover{background-color:var(--color-gray-100);color:var(--color-text-primary)}.modal__close:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.modal__body{padding:var(--spacing-6);flex:1;overflow-y:auto;min-height:0}.modal__body::-webkit-scrollbar{width:6px}.modal__body::-webkit-scrollbar-track{background-color:var(--color-gray-100);border-radius:var(--border-radius-full)}.modal__body::-webkit-scrollbar-thumb{background-color:var(--color-gray-300);border-radius:var(--border-radius-full)}.modal__body::-webkit-scrollbar-thumb:hover{background-color:var(--color-gray-400)}.modal__footer{padding:var(--spacing-6);border-top:1px solid var(--color-border-light);flex-shrink:0}.modal__footer-actions{display:flex;justify-content:flex-end;gap:var(--spacing-3)}@media (max-width: 768px){.modal-overlay{padding:var(--spacing-2);align-items:flex-end}.modal{max-height:90vh;border-bottom-left-radius:0;border-bottom-right-radius:0;animation:modalSlideUp .3s ease-out}.modal--sm,.modal--md,.modal--lg,.modal--xl{max-width:100%}.modal__header,.modal__body,.modal__footer{padding:var(--spacing-4)}.modal__footer-actions{flex-direction:column-reverse}.modal__footer-actions>*{width:100%}}@media (max-width: 480px){.modal-overlay{padding:0}.modal{max-height:100vh;border-radius:0;height:100vh}.modal--full{max-width:100vw;max-height:100vh}}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media print{.modal-overlay{position:static;background:none;display:block;padding:0}.modal{box-shadow:none;border:1px solid var(--color-border-medium);max-width:none;max-height:none;animation:none}.modal__close{display:none}}.layout{display:flex;flex-direction:column;min-height:100vh}.mobile-header{background-color:#1a3b5d;color:#fff;box-shadow:0 2px 10px #0003;position:sticky;top:0;z-index:1000;width:100%;height:60px}.mobile-header-content{padding:0 16px;display:flex;justify-content:space-between;align-items:center;height:100%}.mobile-menu-toggle{background:none;border:none;padding:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-around;width:32px;height:32px;position:relative}.mobile-menu-toggle span{display:block;width:24px;height:3px;background-color:#fff;border-radius:2px;transition:all .3s ease;transform-origin:center}.mobile-menu-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.mobile-menu-toggle.open span:nth-child(2){opacity:0}.mobile-menu-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:999;opacity:0;animation:fadeIn .3s ease forwards}@keyframes fadeIn{to{opacity:1}}.mobile-navigation{position:fixed;top:60px;right:0;width:280px;height:calc(100vh - 60px);background-color:#fff;box-shadow:-2px 0 10px #0000001a;z-index:1000;transform:translate(100%);transition:transform .3s ease;overflow-y:auto}.mobile-navigation.open{transform:translate(0)}.mobile-nav-content{padding:20px;height:100%;display:flex;flex-direction:column}.mobile-user-info{padding:20px 0;border-bottom:1px solid #e0e0e0;margin-bottom:20px}.mobile-user-details{display:flex;flex-direction:column;gap:4px}.mobile-user-email{font-weight:600;font-size:16px;color:#333}.mobile-company-name{font-size:14px;color:#666}.mobile-nav-list{list-style:none;margin:0;padding:0;flex:1}.mobile-nav-list li{margin-bottom:8px}.mobile-nav-list li a{display:block;padding:16px 0;color:#333;text-decoration:none;font-size:18px;font-weight:500;border-radius:8px;transition:all .2s ease}.mobile-nav-list li a:hover{background-color:#f5f5f5;color:#1a3b5d}.mobile-nav-list li.active a{background-color:#1a3b5d;color:#fff;font-weight:600}.mobile-nav-category{font-size:16px;font-weight:600;color:#1a3b5d;padding:12px 0 8px;margin-top:16px;border-bottom:2px solid #e7f3ff;text-transform:uppercase;letter-spacing:1px}.mobile-nav-sublist{list-style:none;padding:0;margin:0 0 0 16px}.mobile-nav-sublist li{margin-bottom:4px}.mobile-nav-sublist li a{padding:10px 0;font-size:16px;font-weight:400;color:#666;border-radius:4px}.mobile-nav-sublist li a:hover{background-color:#f8f9fa;color:#1a3b5d;padding-left:8px}.mobile-nav-sublist li.active a{background-color:#e7f3ff;color:#1a3b5d;font-weight:600;padding-left:8px}.mobile-nav-footer{margin-top:auto;padding-top:20px;border-top:1px solid #e0e0e0}.mobile-logout-button{width:100%;padding:16px;background-color:#dc3545;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.mobile-logout-button:hover{background-color:#c82333}.mobile-auth-buttons{margin-top:auto;padding-top:20px;display:flex;flex-direction:column;gap:12px}.mobile-auth-button{display:block;padding:16px;text-align:center;text-decoration:none;border-radius:8px;font-size:16px;font-weight:600;transition:all .2s ease}.mobile-auth-button.login{background-color:#1a3b5d;color:#fff}.mobile-auth-button.login:hover{background-color:#133045}.mobile-auth-button.register{background-color:transparent;color:#1a3b5d;border:2px solid #1a3b5d}.mobile-auth-button.register:hover{background-color:#1a3b5d;color:#fff}.header{background-color:#1a3b5d;color:#fff;box-shadow:0 2px 10px #0003;position:sticky;top:0;z-index:100;width:100%;padding:0;display:flex;justify-content:center;height:70px}.header-content{max-width:1400px;width:100%;padding:0 20px;display:flex;justify-content:space-between;align-items:center;height:100%}.logo a{color:#fff;text-decoration:none;font-size:28px;font-weight:700;letter-spacing:.5px;transition:color .2s}.logo a:hover{color:#4dabf7;text-decoration:none}.navigation{display:flex;justify-content:flex-end;flex:1;margin:0 20px;height:100%}.nav-list{list-style:none;margin:0;padding:0;display:flex;height:100%;align-items:center}.nav-list li{height:100%;display:flex;align-items:center}.nav-list li a{color:#fff;text-decoration:none;padding:0 20px;font-size:16px;font-weight:500;height:100%;display:flex;align-items:center;transition:background-color .2s}.nav-list li:hover a{background-color:#ffffff1a}.nav-list li.active a{background-color:#ffffff26;font-weight:600;color:#4dabf7}.nav-item{position:relative}.nav-item.has-dropdown{cursor:pointer}.nav-dropdown-toggle{background:none;border:none;color:#fff;text-decoration:none;padding:0 20px;font-size:16px;font-weight:500;height:100%;display:flex;align-items:center;transition:background-color .2s;cursor:pointer}.nav-dropdown-toggle:hover{background-color:#ffffff1a}.dropdown-arrow{margin-left:8px;font-size:12px;transition:transform .2s}.nav-item:hover .dropdown-arrow{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:100%;left:0;background-color:#fff;box-shadow:0 4px 20px #00000026;border-radius:8px;overflow:hidden;min-width:220px;z-index:1000;list-style:none;margin:0;padding:8px 0}.dropdown-menu li{height:auto;display:block}.dropdown-menu li a{color:#333;padding:12px 20px;display:block;font-size:14px;font-weight:500;height:auto;border-bottom:1px solid #f0f0f0;transition:background-color .2s}.dropdown-menu li:last-child a{border-bottom:none}.dropdown-menu li a:hover{background-color:#f8f9fa;color:#1a3b5d}.dropdown-menu li.active a{background-color:#e7f3ff;color:#1a3b5d;font-weight:600}.user-menu{display:flex;align-items:center}.user-info{display:flex;flex-direction:column;margin-right:20px;text-align:right}.user-info span{font-size:14px}.user-info .company-name{font-weight:700;font-size:16px}.logout-button{background-color:transparent;border:2px solid white;color:#fff;padding:8px 16px;border-radius:4px;cursor:pointer;font-weight:600;transition:all .2s}.logout-button:hover{background-color:#fff;color:#1a3b5d}.auth-links{display:flex}.auth-links .login-link,.auth-links .register-link{display:inline-block;padding:8px 20px;border-radius:4px;font-weight:600;text-decoration:none;transition:all .2s;margin-left:10px;min-width:100px;text-align:center}.auth-links .login-link{background-color:transparent;border:2px solid white;color:#fff}.auth-links .login-link:hover{background-color:#fff;color:#1a3b5d}.auth-links .register-link{background-color:#4dabf7;border:2px solid #4dabf7;color:#fff}.auth-links .register-link:hover{background-color:#339af0;border-color:#339af0}.main-content{flex:1;padding:20px;max-width:1400px;width:100%;margin:0 auto}.main-content.has-bottom-nav{padding-bottom:80px}.footer{background-color:#f8f9fa;padding:20px 0;border-top:1px solid #e9ecef}.footer-container{max-width:1400px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.footer-info p{margin:0;color:#6c757d;font-size:14px}.footer-links{display:flex}.footer-link{margin-left:20px;color:#495057;text-decoration:none;font-size:14px;transition:color .2s}.footer-link:hover{color:#1a3b5d}.mobile-navbar{position:fixed;bottom:0;left:0;width:100%;background-color:#1a3b5d;box-shadow:0 -2px 10px #0000001a;z-index:100}.mobile-navbar-content{display:flex;justify-content:space-around;padding:10px 0}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;color:#fff;text-decoration:none;font-size:12px;opacity:.7;transition:opacity .2s;background:none;border:none;cursor:pointer;padding:5px;width:20%}.mobile-nav-item.active{opacity:1;color:#4dabf7}.mobile-nav-icon{font-size:24px;margin-bottom:5px}.mobile-nav-label{text-align:center;font-size:11px;font-weight:500}.mobile-header{background-color:#1a3b5d;color:#fff;padding:15px;display:flex;justify-content:center;align-items:center;box-shadow:0 2px 10px #0003;position:sticky;top:0;z-index:100;width:100%}@media (max-width: 992px){.header{padding:0 15px}.nav-list li a{padding:0 15px;font-size:14px}.user-info{margin-right:10px}.auth-links .login-link,.auth-links .register-link{padding:0 16px;min-width:80px;font-size:14px}}@media (max-width: 768px){.header{height:auto;flex-direction:column;padding:10px}.navigation{margin:10px 0;width:100%;justify-content:center}.nav-list{width:100%;flex-wrap:wrap;justify-content:center}.nav-list li{height:40px}.user-menu{flex-direction:column;width:100%;align-items:center}.user-info{margin-right:0;margin-bottom:10px;text-align:center}.auth-links{width:100%;justify-content:center}}.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}.visually-hidden{@extend .sr-only;}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--content-padding)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--spacing-2)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.w-full{width:100%}.h-full{height:100%}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.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-tertiary{color:var(--color-text-tertiary)}.text-error{color:var(--color-error-500)}.text-success{color:var(--color-success-500)}.text-warning{color:var(--color-warning-500)}.p-2{padding:var(--spacing-2)}.p-4{padding:var(--spacing-4)}.p-6{padding:var(--spacing-6)}.p-8{padding:var(--spacing-8)}.m-2{margin:var(--spacing-2)}.m-4{margin:var(--spacing-4)}.m-6{margin:var(--spacing-6)}.m-8{margin:var(--spacing-8)}.mt-auto{margin-top:auto}.mb-auto{margin-bottom:auto}.border{border:1px solid var(--color-border-light)}.border-radius-md{border-radius:var(--border-radius-md)}.border-radius-lg{border-radius:var(--border-radius-lg)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.transition{transition:var(--transition-normal)}.transition-fast{transition:var(--transition-fast)}.transition-colors{transition:var(--transition-colors)}:root{--primary-color: #007bff;--secondary-color: #6c757d;--success-color: #28a745;--danger-color: #dc3545;--warning-color: #ffc107;--info-color: #17a2b8;--light-color: #f8f9fa;--dark-color: #343a40;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--border-radius: .375rem;--box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);line-height:1.6;color:var(--dark-color);background-color:var(--light-color)}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}
