:root{--color-primary: #1f3f68;--color-secondary: #21354c;--color-accent: #4a6fa1;--color-tertiary: #16263a;--color-gold: #d97706;--color-background: #e7ecf4;--color-background-soft: #f1f4fa;--color-background-elevated: #f7f9fc;--gradient-background: linear-gradient(135deg, #e7ecf4 0%, #d5dce8 100%);--gradient-surface: linear-gradient(145deg, #f7f9fc 0%, #e7ecf4 100%);--shadow-neu-light: -6px -6px 12px rgba(255, 255, 255, .8);--shadow-neu-dark: 6px 6px 12px rgba(33, 53, 76, .12);--shadow-neu: var(--shadow-neu-light), var(--shadow-neu-dark);--shadow-neu-inset-light: inset -3px -3px 8px rgba(255, 255, 255, .7);--shadow-neu-inset-dark: inset 3px 3px 8px rgba(33, 53, 76, .1);--shadow-neu-inset: var(--shadow-neu-inset-light), var(--shadow-neu-inset-dark);--shadow-neu-pressed: inset 4px 4px 10px rgba(33, 53, 76, .16), inset -4px -4px 10px rgba(255, 255, 255, .5);--color-success: #34c759;--color-warning: #ffb347;--color-danger: #ff4f58;--color-info: #3ba9ff;--color-surface: #ecf1f8;--color-surface-light: #f6f8fc;--color-surface-raised: #eef3fa;--color-surface-pressed: #d9e2f0;--color-text: #0f172a;--color-text-secondary: #334155;--color-text-muted: #64748b;--color-text-light: #94a3b8;--separator-opaque: rgba(84, 84, 88, .65);--separator-non-opaque: rgba(84, 84, 88, .4);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--grid-gap: 16px;--container-padding: 24px;--header-height: 64px;--sidebar-width: 280px;--card-min-height: 120px;--border-radius-sm: 8px;--border-radius-md: 12px;--border-radius-lg: 16px;--border-radius-xl: 20px;--border-radius-2xl: 28px;--border-radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(33, 53, 76, .08);--shadow-md: 0 4px 8px rgba(33, 53, 76, .1);--shadow-lg: 0 8px 16px rgba(33, 53, 76, .12);--shadow-xl: 0 12px 24px rgba(33, 53, 76, .15);--shadow-glow-primary: 0 0 20px rgba(31, 63, 104, .25);--shadow-glow-accent: 0 0 24px rgba(74, 111, 161, .3);--shadow-glow-secondary: 0 0 18px rgba(33, 53, 76, .25);--glass-bg: rgba(255, 255, 255, .4);--glass-bg-light: rgba(255, 255, 255, .6);--glass-border: rgba(31, 63, 104, .1);--blur-amount: 20px;--gradient-primary: linear-gradient(135deg, var(--color-primary), var(--color-secondary));--gradient-accent: linear-gradient(135deg, var(--color-primary), var(--color-accent));--gradient-glass: linear-gradient(135deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .05));--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--spring: cubic-bezier(.68, -.55, .265, 1.55);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html,body{height:100%;width:100%;overflow-x:hidden;min-height:100vh}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--gradient-background);background-attachment:fixed;color:var(--color-text);line-height:1.6;letter-spacing:-.01em;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;margin:0;padding:0;position:relative;min-height:100vh}@media (max-width: 768px){body{background-attachment:scroll}}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 80%,rgba(74,111,161,.04) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(33,53,76,.03) 0%,transparent 50%);opacity:1;z-index:0}#app-preloader{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;text-align:center;background:linear-gradient(180deg,#0d4a85,#146eb4 45%,#082b4d);color:#f7f9fc;z-index:9999;overflow:hidden;transition:opacity .45s var(--ease-out),visibility .45s var(--ease-out);isolation:isolate}#app-preloader.app-preloader--hidden{opacity:0;visibility:hidden;pointer-events:none}.app-preloader__waves{position:absolute;inset:0;overflow:hidden;pointer-events:none;filter:drop-shadow(0 18px 24px rgba(7,28,53,.35))}.app-preloader__wave{position:absolute;bottom:-42%;left:50%;width:165%;height:165%;border-radius:45% 55% 50% 50%;background:#ffffff2e;opacity:.65;transform:translate(-50%) rotate(0);animation:preloader-swell 8s ease-in-out infinite}.app-preloader__wave--two{background:#ffffff24;opacity:.55;animation-duration:10s;animation-delay:-2.5s}.app-preloader__wave--three{background:#ffffff1a;opacity:.45;animation-duration:12s;animation-delay:-5s}.app-preloader__spinner{position:relative;z-index:1;width:clamp(70px,11vw,96px);height:clamp(70px,11vw,96px);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 38% 32%,#ffffff8c,#f7f9fc1f 55%,#f7f9fc05);box-shadow:0 28px 50px #071c3559;animation:preloader-bob 3.6s ease-in-out infinite;transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}.app-preloader__spinner:before{content:"";position:absolute;inset:0;border-radius:50%;border:4px solid rgba(247,249,252,.2);border-top-color:#f7f9fceb;border-right-color:#f7f9fc80;box-shadow:inset 0 0 14px #f7f9fc59;animation:preloader-spin 1.35s linear infinite}.app-preloader__spinner:after{content:"";width:46%;height:46%;border-radius:50%;background:radial-gradient(circle at 30% 30%,#146eb4c7,#082b4da6 70%,#082b4d00);box-shadow:0 0 18px #082b4d73;animation:preloader-pulse 1.9s ease-in-out infinite}#app-preloader.app-preloader--hidden .app-preloader__spinner{animation-play-state:paused;opacity:0;transform:scale(.85)}#app-preloader.app-preloader--hidden .app-preloader__spinner:before,#app-preloader.app-preloader--hidden .app-preloader__spinner:after{animation-play-state:paused}#app-preloader.app-preloader--hidden .app-preloader__wave{animation-play-state:paused}@keyframes preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes preloader-pulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.18);opacity:1}}@keyframes preloader-swell{0%{transform:translate(-50%,-4%) scale(1) rotate(0)}50%{transform:translate(-47%,-10%) scale(1.05) rotate(2deg)}to{transform:translate(-50%,-4%) scale(1) rotate(0)}}@keyframes preloader-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}main,section,header,footer{position:relative;z-index:1}.page-surface{background:var(--color-background-soft);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.04);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-md)}img,svg,video,iframe{max-width:100%;height:auto;display:block}iframe{border:none;border-radius:inherit}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:linear-gradient(90deg,#e7ecf480,#d5dce84d);border-radius:var(--border-radius-full);margin:4px;box-shadow:inset 2px 2px 6px #21354c14,inset -2px -2px 6px #ffffff80}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border-radius:var(--border-radius-full);border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 6px #21354c4d,inset 0 1px 2px #fff6;transition:all var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,var(--color-accent),var(--color-primary));box-shadow:0 4px 10px #21354c66,inset 0 1px 3px #ffffff80,0 0 12px #4a6fa133;border-color:#ffffff80}::-webkit-scrollbar-thumb:active{background:linear-gradient(135deg,var(--color-secondary),var(--color-primary));box-shadow:inset 0 2px 4px #21354c4d,0 1px 2px #fff9}::-webkit-scrollbar-corner{background:linear-gradient(135deg,#e7ecf480,#d5dce84d)}*{scrollbar-width:thin;scrollbar-color:var(--color-primary) rgba(231,236,244,.3)}.custom-scroll::-webkit-scrollbar{width:10px;height:10px}.custom-scroll::-webkit-scrollbar-track{background:#e7ecf433;border-radius:var(--border-radius-md)}.custom-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#21354c99,#4a6fa199);border-radius:var(--border-radius-md);border:1px solid rgba(255,255,255,.2)}.custom-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#21354ccc,#4a6fa1cc)}.scroll-indicator{position:fixed;top:0;right:0;width:4px;background:linear-gradient(to bottom,var(--color-accent) 0%,var(--color-primary) 50%,var(--color-secondary) 100%);transform-origin:top;z-index:9999;border-radius:0 0 var(--border-radius-sm) var(--border-radius-sm);box-shadow:0 0 10px #4a6fa180}.container{width:min(1200px,100%);margin:0 auto;padding-inline:clamp(16px,4vw,32px)}.text-center{text-align:center}.text-primary{color:var(--color-primary)}.text-muted{color:var(--color-text-muted)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.btn{padding:14px 32px;font-size:15px;font-weight:600;letter-spacing:.02em;border:none;border-radius:var(--border-radius-lg);cursor:pointer;transition:all var(--transition-normal);position:relative;font-family:Inter,sans-serif;background:var(--color-background);color:var(--color-text);box-shadow:var(--shadow-neu)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:hover:not(:disabled){box-shadow:-8px -8px 16px #ffffffe6,8px 8px 16px #21354c33}.btn:active:not(:disabled){box-shadow:var(--shadow-neu-pressed);transform:translateY(1px)}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;box-shadow:-4px -4px 10px #ffffff26,4px 4px 10px #21354c66,var(--shadow-glow-primary)}.btn-primary:hover:not(:disabled){box-shadow:-6px -6px 14px #fff3,6px 6px 14px #21354c80,var(--shadow-glow-primary)}.btn-primary:active:not(:disabled){box-shadow:inset 2px 2px 8px #0003,inset -2px -2px 8px #ffffff1a}.btn-secondary{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-neu)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-raised)}.btn-secondary:active:not(:disabled){background:var(--color-surface-pressed)}.btn-success{background:var(--color-success);color:#fff;box-shadow:0 2px 8px #34c75940}.btn-success:hover:not(:disabled){box-shadow:0 4px 16px #34c75959}.btn-danger{background:var(--color-danger);color:#fff;box-shadow:0 2px 8px #ff3b3040}.btn-danger:hover:not(:disabled){box-shadow:0 4px 16px #ff3b3059}.btn-sm{padding:8px 16px;font-size:13px}.card{background:var(--color-surface);border-radius:var(--border-radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-neu);border:1px solid rgba(255,255,255,.6);transition:all var(--transition-normal);position:relative}.card:hover{box-shadow:-8px -8px 16px #ffffffe6,8px 8px 16px #21354c33}.card-header{border-bottom:1px solid rgba(33,53,76,.08);padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-lg)}.card-header h2,.card-header h3{color:var(--color-text);margin:0;font-family:Cormorant Garamond,serif;font-weight:600;letter-spacing:.01em}.card-body{color:var(--color-text-secondary);line-height:1.7}.card-footer{border-top:1px solid rgba(33,53,76,.08);padding-top:var(--spacing-md);margin-top:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);color:var(--color-text);font-weight:600;font-size:.95rem;font-family:Inter,sans-serif}.form-group input,.form-group select,.form-group textarea{width:100%;padding:14px 18px;background:var(--color-surface);border:1px solid rgba(33,53,76,.1);border-radius:var(--border-radius-lg);color:var(--color-text);font-size:15px;font-family:Inter,sans-serif;transition:all var(--transition-normal);box-shadow:var(--shadow-neu-inset)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-neu-inset),0 0 0 3px #21354c1a}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:var(--color-text-light)}.form-group textarea{resize:vertical;min-height:120px}.table{width:100%;border-collapse:collapse;background:var(--color-gray);border-radius:var(--border-radius-md);overflow:hidden}.table thead{background:var(--color-dark-light)}.table thead th{padding:var(--spacing-md);text-align:left;color:var(--color-text);font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:.05em}.table tbody tr{border-bottom:1px solid var(--color-gray-light);transition:background var(--transition-fast)}.table tbody tr:hover{background:var(--color-gray-light)}.table tbody tr:last-child{border-bottom:none}.table tbody td{padding:var(--spacing-md);color:var(--color-text-muted)}.badge{display:inline-block;padding:4px 10px;border-radius:var(--border-radius-full);font-size:12px;font-weight:600;letter-spacing:-.01em}.badge-primary{background:var(--color-primary);color:#fff}.badge-success{background:var(--color-success);color:#fff}.badge-warning{background:var(--color-warning);color:#fff}.badge-danger{background:var(--color-danger);color:#fff}.badge-info{background:var(--color-info);color:#fff}.spinner{border:2px solid rgba(255,255,255,.1);border-top:2px solid var(--color-primary);border-radius:50%;width:32px;height:32px;animation:ios-spin .8s cubic-bezier(.4,0,.2,1) infinite}@keyframes ios-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.alert{padding:var(--spacing-md);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-md)}.alert-success{background:#34c75933;border-left:4px solid var(--color-success);color:var(--color-success)}.alert-danger{background:#ff4f5833;border-left:4px solid var(--color-danger);color:var(--color-danger)}.alert-warning{background:#ffb34738;border-left:4px solid var(--color-warning);color:var(--color-warning)}.alert-info{background:#3ba9ff38;border-left:4px solid var(--color-info);color:var(--color-info)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);width:100%}@media (max-width: 768px){.container{padding:0 var(--spacing-sm)}}@media (max-width: 576px){.container{padding:0 var(--spacing-xs)}}.grid{display:grid;gap:var(--grid-gap)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}@media (max-width: 768px){.grid-cols-2{grid-template-columns:1fr}}.grid-cols-3{grid-template-columns:repeat(3,1fr)}@media (min-width: 1024px){.grid-cols-3{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 576px){.grid-cols-3{grid-template-columns:1fr}}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (min-width: 1024px){.grid-cols-4{grid-template-columns:repeat(4,1fr)}}@media (max-width: 768px){.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 576px){.grid-cols-4{grid-template-columns:1fr}}h1,h2,h3,h4,h5,h6{font-family:Cormorant Garamond,serif;font-weight:600;color:var(--color-text);line-height:1.3;letter-spacing:.01em;margin:0}h1{font-size:3rem;font-weight:700}@media (max-width: 768px){h1{font-size:2.5rem}}@media (max-width: 576px){h1{font-size:2rem}}h2{font-size:2.25rem}@media (max-width: 768px){h2{font-size:2rem}}@media (max-width: 576px){h2{font-size:1.75rem}}h3{font-size:1.75rem}@media (max-width: 768px){h3{font-size:1.5rem}}@media (max-width: 576px){h3{font-size:1.25rem}}@media (max-width: 576px){.card{padding:var(--spacing-sm);border-radius:var(--border-radius-md)}}@media (max-width: 576px){.btn{width:100%;padding:14px 20px;font-size:16px}}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 576px){.table-responsive{font-size:.875rem}.table-responsive th,.table-responsive td{padding:var(--spacing-sm)}}@media (max-width: 576px){.hide-mobile{display:none!important}}.show-mobile{display:none!important}@media (max-width: 576px){.show-mobile{display:block!important}}@media (max-width: 768px){.hide-tablet{display:none!important}}.show-tablet{display:none!important}@media (max-width: 768px){.show-tablet{display:block!important}}@media (max-width: 576px){.p-sm{padding:calc(var(--spacing-sm) * .75)}.p-md{padding:var(--spacing-sm)}.p-lg{padding:var(--spacing-md)}.mt-sm{margin-top:calc(var(--spacing-sm) * .75)}.mt-md{margin-top:var(--spacing-sm)}.mt-lg{margin-top:var(--spacing-md)}.mb-sm{margin-bottom:calc(var(--spacing-sm) * .75)}.mb-md{margin-bottom:var(--spacing-sm)}.mb-lg{margin-bottom:var(--spacing-md)}}app-root{display:block;min-height:100vh;height:100%}
