@charset "UTF-8";.glass-card-2025{background:var(--glass-bg-normal);border:1px solid var(--glass-border-normal);box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);border-radius:var(--radius-xl);padding:var(--spacing-xl)}.glass-card-2025:hover{border-color:var(--glass-border-strong);box-shadow:var(--shadow-sm)}.glass-card-subtle{background:var(--glass-bg-normal);border:1px solid var(--glass-border-normal);box-shadow:var(--shadow-sm);border-color:var(--glass-border-subtle);box-shadow:none;border-radius:var(--radius-lg);padding:var(--spacing-lg)}.glass-card-strong{background:var(--glass-bg-normal);border:1px solid var(--glass-border-normal);box-shadow:var(--shadow-sm);border-color:var(--glass-border-strong);box-shadow:var(--shadow-md);border-radius:var(--radius-2xl);padding:var(--spacing-2xl)}.btn-2025,.btn-neon-2025,.btn-glass-2025,.btn-primary-2025{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);min-height:var(--touch-target-min);font-family:var(--font-primary);outline:none}.btn-2025:focus-visible,.btn-neon-2025:focus-visible,.btn-glass-2025:focus-visible,.btn-primary-2025:focus-visible{box-shadow:0 0 0 var(--focus-ring-width) var(--focus-ring)}.btn-2025:disabled,.btn-neon-2025:disabled,.btn-glass-2025:disabled,.btn-primary-2025:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-2025:not(:disabled):hover,.btn-neon-2025:not(:disabled):hover,.btn-glass-2025:not(:disabled):hover,.btn-primary-2025:not(:disabled):hover{transform:translateY(-2px)}.btn-2025:not(:disabled):active,.btn-neon-2025:not(:disabled):active,.btn-glass-2025:not(:disabled):active,.btn-primary-2025:not(:disabled):active{transform:translateY(0)}.btn-primary-2025{background:var(--color-bronze);color:var(--text-primary)}.btn-primary-2025:hover:not(:disabled){box-shadow:var(--glow-primary),var(--elevation-2)}.btn-glass-2025{background:var(--glass-bg-normal);border:1px solid var(--glass-border-normal);box-shadow:var(--shadow-sm)}.btn-glass-2025:hover:not(:disabled){background:var(--glass-bg-strong);border-color:var(--glass-border-strong);box-shadow:var(--elevation-1)}.btn-neon-2025{background:var(--color-ink);color:var(--text-primary)}.btn-neon-2025:hover:not(:disabled){box-shadow:var(--glow-neon),var(--elevation-3)}.btn-sm-2025{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-body-sm);min-height:var(--touch-target-min)}.btn-lg-2025{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-body-lg);min-height:var(--touch-target-comfortable)}.input-glass-2025{width:100%;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-body);font-family:var(--font-primary);color:var(--text-primary);background:var(--glass-bg-normal);border:1px solid var(--glass-border-normal);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));transition:all var(--duration-normal) var(--ease-in-out);outline:none;min-height:var(--touch-target-min)}.input-glass-2025::placeholder{color:var(--text-tertiary)}.input-glass-2025:focus{background:var(--glass-bg-strong);border-color:var(--accent-primary-start);box-shadow:0 0 0 var(--focus-ring-width) var(--focus-ring)}.input-glass-2025:hover:not(:focus){border-color:var(--glass-border-strong)}.input-glass-2025.error{border-color:var(--color-danger)}.input-group-2025{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.input-group-2025 label{font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.text-display-hero{font-size:clamp(2rem,calc(2rem + 1rem*(100vw - 375px)/905px),3rem);font-family:var(--font-display);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight)}.text-display-large{font-size:clamp(1.5rem,calc(1.5rem + .75rem*(100vw - 375px)/905px),2.25rem);font-family:var(--font-display);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight)}.text-display-medium{font-size:clamp(1.25rem,calc(1.25rem + .625rem*(100vw - 375px)/905px),1.875rem);font-family:var(--font-display);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight)}.text-gradient-primary{color:var(--color-bronze)}.text-3d-shadow,.text-neon-glow{text-shadow:none}.stat-card-2025{background:var(--glass-bg-normal);border:1px solid var(--glass-border-normal);box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);border-radius:var(--radius-xl);padding:var(--spacing-xl);display:flex;align-items:center;gap:var(--spacing-lg);position:relative;overflow:hidden}.stat-card-2025:hover{border-color:var(--glass-border-strong);box-shadow:var(--shadow-sm)}.stat-card-2025 .stat-icon{width:56px;height:56px;border-radius:var(--radius-lg);background:var(--color-bronze);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.stat-card-2025 .stat-content{flex:1}.stat-card-2025 .stat-content .stat-label{font-size:var(--font-size-body-sm);color:var(--text-secondary);margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em}.stat-card-2025 .stat-content .stat-value{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1}.stat-card-2025 .stat-content .stat-change{font-size:var(--font-size-caption);margin-top:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.stat-card-2025 .stat-content .stat-change.positive{color:var(--color-success)}.stat-card-2025 .stat-content .stat-change.negative{color:var(--color-danger)}.table-2025{width:100%;border-collapse:separate;border-spacing:0}.table-2025 thead tr th{padding:var(--spacing-lg) var(--spacing-md);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;text-align:left;background:var(--glass-bg-subtle);border-bottom:1px solid var(--glass-border-normal)}.table-2025 thead tr th:first-child{border-top-left-radius:var(--radius-lg)}.table-2025 thead tr th:last-child{border-top-right-radius:var(--radius-lg)}.table-2025 tbody tr{transition:background var(--duration-fast) var(--ease-out)}.table-2025 tbody tr:hover{background:var(--glass-bg-normal)}.table-2025 tbody tr td{padding:var(--spacing-lg) var(--spacing-md);font-size:var(--font-size-body-sm);color:var(--text-primary);border-bottom:1px solid var(--glass-border-subtle)}.table-2025 tbody tr:last-child td{border-bottom:none}.table-2025 tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius-lg)}.table-2025 tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius-lg)}.table-container-2025{background:var(--glass-bg-normal);border:1px solid var(--glass-border-normal);box-shadow:var(--shadow-sm);border-radius:var(--radius-xl);overflow:hidden;margin-bottom:var(--spacing-xl)}.badge-2025{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);border:1px solid;white-space:nowrap}.badge-2025.badge-success{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success)}.badge-2025.badge-danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger)}.badge-2025.badge-warning{background:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning)}.badge-2025.badge-info{background:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info)}.modal-overlay-2025{position:fixed;inset:0;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--spacing-lg);animation:fadeIn var(--duration-normal) var(--ease-out)}.modal-2025{background:var(--glass-bg-normal);border:1px solid var(--glass-border-normal);box-shadow:var(--shadow-sm);border-color:var(--glass-border-strong);box-shadow:var(--shadow-md);border-radius:var(--radius-2xl);max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--elevation-4);animation:slideUp var(--duration-normal) var(--ease-out)}.modal-2025.modal-sm{width:400px}.modal-2025.modal-md{width:600px}.modal-2025.modal-lg{width:800px}.modal-2025 .modal-header{padding:var(--spacing-xl);border-bottom:1px solid var(--glass-border-normal);display:flex;align-items:center;justify-content:space-between}.modal-2025 .modal-header .modal-title{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.modal-2025 .modal-header .modal-close{transition:transform var(--duration-fast) var(--ease-out);background:var(--glass-bg-normal);border:none;border-radius:var(--radius-full);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary)}.modal-2025 .modal-header .modal-close:hover{transform:scale(1.01)}.modal-2025 .modal-header .modal-close:active{transform:scale(.99)}.modal-2025 .modal-header .modal-close:hover{background:var(--glass-bg-strong);color:var(--text-primary)}.modal-2025 .modal-body{padding:var(--spacing-xl);overflow-y:auto;flex:1}.modal-2025 .modal-footer{padding:var(--spacing-xl);border-top:1px solid var(--glass-border-normal);display:flex;gap:var(--spacing-md);justify-content:flex-end}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--duration-slow) var(--ease-out)}.animate-slide-up{animation:slideUp var(--duration-slow) var(--ease-out)}.animate-slide-left{animation:slideInLeft var(--duration-slow) var(--ease-out)}.animate-slide-right{animation:slideInRight var(--duration-slow) var(--ease-out)}.animate-scale-in{animation:scaleIn var(--duration-slow) var(--ease-out)}.hover-lift{transition:transform var(--duration-fast) var(--ease-out)}.hover-lift:hover{transform:translateY(-1px)}.hover-lift:active{transform:translateY(0)}.hover-scale{transition:transform var(--duration-fast) var(--ease-out)}.hover-scale:hover{transform:scale(1.01)}.hover-scale:active{transform:scale(.99)}.focus-ring{outline:none}.focus-ring:focus-visible{box-shadow:0 0 0 var(--focus-ring-width) var(--focus-ring)}@media (max-width: 768px){.text-display-hero{font-size:clamp(2rem,8vw,4rem)}.text-display-large{font-size:clamp(1.5rem,6vw,3rem)}.stat-card-2025{flex-direction:column;text-align:center}.stat-card-2025 .stat-content{align-items:center;display:flex;flex-direction:column}.modal-2025{width:100%!important;max-width:100%;border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin-top:auto}}@media (max-width: 640px){.btn-2025,.btn-primary-2025,.btn-glass-2025,.btn-neon-2025{min-height:var(--touch-target-comfortable);padding:var(--spacing-md) var(--spacing-lg)}.input-glass-2025{min-height:var(--touch-target-comfortable);font-size:16px}}.container-2025{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}@media (max-width: 639px){.container-2025{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}@media (min-width: 640px){.container-2025{max-width:640px}}@media (min-width: 768px){.container-2025{max-width:768px}}@media (min-width: 1024px){.container-2025{max-width:1024px}}@media (min-width: 1280px){.container-2025{max-width:1280px}}@media (min-width: 1536px){.container-2025{max-width:1536px}}.container-fluid-2025{width:100%;padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}@media (max-width: 639px){.container-fluid-2025{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}.grid-2025{display:grid;gap:var(--spacing-lg)}@media (max-width: 639px){.grid-2025{gap:var(--spacing-md)}}.grid-2025.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-2025.grid-cols-2{grid-template-columns:repeat(2,1fr)}@media (max-width: 639px){.grid-2025.grid-cols-2{grid-template-columns:1fr}}.grid-2025.grid-cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 639px){.grid-2025.grid-cols-3{grid-template-columns:1fr}}@media (min-width: 640px) and (max-width: 767px){.grid-2025.grid-cols-3{grid-template-columns:repeat(2,1fr)}}.grid-2025.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 639px){.grid-2025.grid-cols-4{grid-template-columns:1fr}}@media (min-width: 640px) and (max-width: 767px){.grid-2025.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px) and (max-width: 1023px){.grid-2025.grid-cols-4{grid-template-columns:repeat(3,1fr)}}.flex-2025{display:flex;gap:var(--spacing-lg)}@media (max-width: 639px){.flex-2025{gap:var(--spacing-md)}}.flex-2025.flex-col{flex-direction:column}.flex-2025.flex-row{flex-direction:row}@media (max-width: 639px){.flex-2025.flex-row{flex-direction:column}}.flex-2025.flex-wrap{flex-wrap:wrap}.flex-2025.items-center{align-items:center}.flex-2025.items-start{align-items:flex-start}.flex-2025.items-end{align-items:flex-end}.flex-2025.justify-center{justify-content:center}.flex-2025.justify-between{justify-content:space-between}.flex-2025.justify-end{justify-content:flex-end}@media (max-width: 639px){.spacing-mobile-adjust{padding:var(--spacing-md)!important}}@media (max-width: 639px){.margin-mobile-adjust{margin:var(--spacing-md)!important}}.text-responsive.text-hero{font-size:clamp(2rem,calc(2rem + 10rem*(100vw - 375px)/905px),12rem)}@media (max-width: 639px){.text-responsive.text-hero{font-size:clamp(2rem,10vw,4rem)}}.text-responsive.text-display{font-size:clamp(1.5rem,calc(1.5rem + 4.5rem*(100vw - 375px)/905px),6rem)}@media (max-width: 639px){.text-responsive.text-display{font-size:clamp(1.5rem,8vw,3rem)}}.text-responsive.text-h1{font-size:var(--font-size-h1)}@media (max-width: 639px){.text-responsive.text-h1{font-size:calc(var(--font-size-h1) * .75)}}.text-responsive.text-h2{font-size:var(--font-size-h2)}@media (max-width: 639px){.text-responsive.text-h2{font-size:calc(var(--font-size-h2) * .8)}}.touch-target{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}@media (hover: none) and (pointer: coarse){.touch-target{min-height:var(--touch-target-comfortable);min-width:var(--touch-target-comfortable)}}.touch-padding{padding:var(--spacing-md)}@media (hover: none) and (pointer: coarse){.touch-padding{padding:var(--spacing-lg)}}@media (min-width: 1024px){.mobile-nav{display:none}}@media (max-width: 639px){.desktop-nav{display:none}}@media (min-width: 640px) and (max-width: 767px){.desktop-nav{display:none}}@media (max-width: 639px){.hide-mobile{display:none!important}}@media (min-width: 640px) and (max-width: 767px){.hide-tablet{display:none!important}}@media (min-width: 1024px){.hide-desktop{display:none!important}}.show-mobile{display:none!important}@media (max-width: 639px){.show-mobile{display:block!important}}.show-tablet{display:none!important}@media (min-width: 640px) and (max-width: 767px){.show-tablet{display:block!important}}.show-desktop{display:none!important}@media (min-width: 1024px){.show-desktop{display:block!important}}.card-stack-mobile{display:grid;gap:var(--spacing-lg);grid-template-columns:1fr}@media (min-width: 640px){.card-stack-mobile{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.card-stack-mobile{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1280px){.card-stack-mobile{grid-template-columns:repeat(4,1fr)}}@media (max-width: 639px){.scroll-horizontal-mobile{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:var(--spacing-md);padding-bottom:var(--spacing-md)}.scroll-horizontal-mobile::-webkit-scrollbar{height:4px}.scroll-horizontal-mobile::-webkit-scrollbar-track{background:var(--glass-bg-subtle)}.scroll-horizontal-mobile::-webkit-scrollbar-thumb{background:var(--glass-border-normal);border-radius:var(--radius-full)}.scroll-horizontal-mobile>*{flex:0 0 auto;scroll-snap-align:start;width:85%;max-width:350px}}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}@media (max-width: 639px){.modal-mobile-fullscreen{width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important;border-radius:0!important;margin:0!important}}@media (max-width: 639px){.modal-mobile-bottom-sheet{width:100vw!important;max-width:100vw!important;border-radius:var(--radius-xl) var(--radius-xl) 0 0!important;margin-top:auto!important;animation:slideUpFromBottom var(--duration-normal) var(--ease-out)}}@keyframes slideUpFromBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (max-width: 639px){.input-mobile-optimized{font-size:16px!important;min-height:var(--touch-target-comfortable)}}@media print{.no-print{display:none!important}body{background:white;color:#000}.glass-card-2025,.glass-card-subtle,.glass-card-strong{background:white;border:1px solid #ddd;-webkit-backdrop-filter:none;backdrop-filter:none}}:root{--color-ink: #2D323D;--color-ivory: #F7F8FA;--color-ivory-deep: #FFFFFF;--color-sand: #EEF0F4;--color-bronze: #128055;--color-accent: #FE840F;--color-green: #16A34A;--color-brick: #B91C1C;--color-ochre: #D97706;--color-neutral-dark: #727C92}:root{--color-bg-primary: var(--color-ivory);--color-bg-secondary: var(--color-ivory-deep);--color-bg-tertiary: var(--color-ivory-deep);--glass-bg-subtle: rgba(45, 50, 61, .03);--glass-bg-normal: var(--color-ivory-deep);--glass-bg-strong: #FCFDFE;--glass-border-subtle: rgba(45, 50, 61, .06);--glass-border-normal: #DDE1E9;--glass-border-strong: #C2C9D6;--blur-sm: 0px;--blur-md: 0px;--blur-lg: 0px;--blur-xl: 0px;--text-primary: var(--color-ink);--text-secondary: var(--color-neutral-dark);--text-tertiary: #9AA3B5;--text-muted: #9AA3B5;--accent-primary-start: var(--color-bronze);--accent-primary-end: var(--color-bronze);--accent-secondary-start: var(--color-accent);--accent-secondary-end: var(--color-accent);--accent-neon-blue: var(--color-green);--accent-neon-purple: var(--color-bronze);--accent-neon-pink: var(--color-brick);--color-success: var(--color-green);--color-success-bg: rgba(22, 163, 74, .12);--color-danger: var(--color-brick);--color-danger-bg: rgba(185, 28, 28, .12);--color-warning: var(--color-ochre);--color-warning-bg: rgba(217, 119, 6, .14);--color-info: var(--color-bronze);--color-info-bg: rgba(18, 128, 85, .1);--hover-bg: rgba(45, 50, 61, .04);--active-bg: rgba(18, 128, 85, .1);--focus-ring: rgba(18, 128, 85, .3);--focus-ring-width: 2px}:root{--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 6rem}:root{--font-primary: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Sora", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--font-size-display-xl: 2.125rem;--font-size-display-lg: 2.125rem;--font-size-display-md: 1.375rem;--font-size-h1: 2.125rem;--font-size-h2: 1.375rem;--font-size-h3: .9375rem;--font-size-h4: 1.125rem;--font-size-h5: 1rem;--font-size-h6: .875rem;--font-size-body-lg: .9375rem;--font-size-body: .875rem;--font-size-body-sm: .8125rem;--font-size-caption: .6875rem;--font-weight-light: 400;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75}:root{--radius-sm: .5rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px}:root{--shadow-sm: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);--shadow-md: 0 4px 16px -2px rgba(16, 24, 40, .06), 0 2px 6px -2px rgba(16, 24, 40, .04);--shadow-lg: 0 12px 32px -8px rgba(16, 24, 40, .12), 0 4px 12px -4px rgba(16, 24, 40, .06);--shadow-xl: 0 24px 48px -12px rgba(16, 24, 40, .18), 0 8px 20px -6px rgba(16, 24, 40, .08);--glow-primary: 0 0 0 rgba(0, 0, 0, 0);--glow-secondary: 0 0 0 rgba(0, 0, 0, 0);--glow-neon: 0 0 0 rgba(0, 0, 0, 0);--elevation-1: var(--shadow-sm);--elevation-2: var(--shadow-md);--elevation-3: var(--shadow-lg);--elevation-4: var(--shadow-xl)}:root{--duration-instant: .1s;--duration-fast: .2s;--duration-normal: .3s;--duration-slow: .5s;--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-bounce: cubic-bezier(.4, 0, .2, 1)}:root{--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700}:root{--breakpoint-xs: 375px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}:root{--touch-target-min: 44px;--touch-target-comfortable: 48px;--touch-target-spacious: 56px}@keyframes hoverLift{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.hover-lift-animation{transition:transform var(--duration-fast) var(--ease-out)}.hover-lift-animation:hover{animation:hoverLift var(--duration-fast) var(--ease-out) forwards}@keyframes hoverScale{0%{transform:scale(1)}to{transform:scale(1.05)}}.hover-scale-animation{transition:transform var(--duration-fast) var(--ease-bounce)}.hover-scale-animation:hover{animation:hoverScale var(--duration-fast) var(--ease-bounce) forwards}@keyframes glowPulse{0%,to{box-shadow:var(--shadow-sm)}50%{box-shadow:var(--shadow-sm)}}.glow-pulse-animation{box-shadow:var(--shadow-sm)}.button-press-animation{transition:transform var(--duration-instant) var(--ease-in)}.button-press-animation:active{transform:scale(.95)}.shimmer-animation{position:relative}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.ripple-animation{position:relative;overflow:hidden}.ripple-animation:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(18,23,43,.1);transform:translate(-50%,-50%);transition:width var(--duration-normal),height var(--duration-normal)}.ripple-animation:active:before{width:300px;height:300px;animation:ripple var(--duration-normal) var(--ease-out)}@keyframes fadeInScroll{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.scroll-fade-in{opacity:0;animation:fadeInScroll var(--duration-slow) var(--ease-out) forwards}@keyframes slideInLeftScroll{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}.scroll-slide-left{opacity:0;animation:slideInLeftScroll var(--duration-slow) var(--ease-out) forwards}@keyframes slideInRightScroll{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}.scroll-slide-right{opacity:0;animation:slideInRightScroll var(--duration-slow) var(--ease-out) forwards}@keyframes scaleInScroll{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.scroll-scale-in{opacity:0;animation:scaleInScroll var(--duration-slow) var(--ease-out) forwards}@keyframes revealBottom{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.scroll-reveal-bottom{opacity:0;animation:revealBottom var(--duration-slow) var(--ease-out) forwards}.scroll-delay-1{animation-delay:.1s}.scroll-delay-2{animation-delay:.2s}.scroll-delay-3{animation-delay:.3s}.scroll-delay-4{animation-delay:.4s}.scroll-delay-5{animation-delay:.5s}@keyframes text3dReveal{0%{opacity:0}to{opacity:1}}.text-3d-reveal{opacity:0;animation:text3dReveal var(--duration-slow) var(--ease-out) forwards}.gradient-text-animated{color:var(--color-bronze)}.neon-glow-pulse{text-shadow:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-animation{animation:spin .8s linear infinite}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{background:linear-gradient(90deg,var(--glass-bg-subtle) 25%,var(--glass-bg-normal) 50%,var(--glass-bg-subtle) 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse-animation{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes glassGlow{0%{box-shadow:var(--elevation-1)}to{box-shadow:var(--elevation-2),var(--glow-primary)}}.glass-hover-glow{transition:all var(--duration-normal) var(--ease-out)}.glass-hover-glow:hover{animation:glassGlow var(--duration-normal) var(--ease-out) forwards}.glass-card-shimmer{position:relative}@keyframes pageTransition{0%{opacity:0}to{opacity:1}}.page-fade-in{animation:pageTransition var(--duration-normal) var(--ease-out)}@keyframes pageSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-slide-up{animation:pageSlideUp var(--duration-normal) var(--ease-out)}@keyframes modalBackdropFade{0%{opacity:0}to{opacity:1}}.modal-backdrop-fade{animation:modalBackdropFade var(--duration-normal) var(--ease-out)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-slide-up{animation:modalSlideUp var(--duration-normal) var(--ease-out)}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-scale-in{animation:modalScaleIn var(--duration-normal) var(--ease-out)}@keyframes toastSlideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-slide-in{animation:toastSlideIn var(--duration-normal) var(--ease-out)}@keyframes toastSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.toast-slide-out{animation:toastSlideOut var(--duration-normal) var(--ease-in)}@keyframes progressFill{0%{width:0%}to{width:var(--progress-value, 100%)}}.progress-fill-animation{animation:progressFill var(--duration-slow) var(--ease-out) forwards}@keyframes progressIndeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}.progress-indeterminate{position:relative;overflow:hidden}.progress-indeterminate:before{content:"";position:absolute;top:0;left:-35%;right:100%;height:100%;background:var(--accent-primary-start);animation:progressIndeterminate 2s cubic-bezier(.65,.815,.735,.395) infinite}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.count-up-animation{animation:countUp var(--duration-normal) var(--ease-out)}.pause-on-hover:hover{animation-play-state:paused}.animate-infinite{animation-iteration-count:infinite}.animate-once{animation-iteration-count:1;animation-fill-mode:forwards}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--bg-primary: var(--color-bg-primary);--bg-secondary: var(--color-bg-secondary);--card-bg: var(--glass-bg-normal);--card-border: var(--glass-border-normal);--text-primary: var(--color-ink);--text-secondary: var(--color-neutral-dark);--accent-start: var(--color-bronze);--accent-end: var(--color-bronze);--success: var(--color-success);--danger: var(--color-danger);--warning: var(--color-warning);--info: var(--color-info)}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--color-ivory)}body{font-family:var(--font-primary);background:var(--color-ivory);color:var(--text-primary);overflow-x:hidden;min-height:100vh;line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:var(--font-size-body)}app-root,app-layout,app-main-layout{display:block;min-height:100vh;background:transparent}.glass-card{background:var(--glass-bg-normal);border:1px solid var(--glass-border-normal);border-radius:var(--radius-lg);transition:border-color var(--duration-normal) var(--ease-in-out),box-shadow var(--duration-normal) var(--ease-in-out);box-shadow:var(--shadow-sm)}.stat-card{background:var(--glass-bg-normal);border:1px solid var(--glass-border-normal);border-radius:var(--radius-lg);padding:24px;display:flex;align-items:center;gap:16px;transition:border-color .2s ease,box-shadow .2s ease;box-shadow:var(--shadow-sm)}.stat-card:hover{border-color:var(--glass-border-strong);box-shadow:var(--shadow-md)}.section-card{background:var(--glass-bg-normal);border:1px solid var(--glass-border-normal);border-radius:var(--radius-xl);padding:24px;margin-bottom:24px;box-shadow:var(--shadow-sm)}.brand-wordmark{font-family:var(--font-display);font-weight:500;letter-spacing:-.01em;color:inherit}.brand-wordmark em,.brand-wordmark .brand-wordmark-suffix{font-style:italic;color:var(--color-bronze)}.btn,.btn-secondary-glass,.btn-primary-glass{padding:.5rem 1rem;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;border:1px solid transparent;display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;outline:none}.btn:disabled,.btn-secondary-glass:disabled,.btn-primary-glass:disabled{opacity:.5;cursor:not-allowed}.btn-primary,.btn-primary-glass{background:var(--color-ink);color:var(--color-ivory);border-color:var(--color-ink)}.btn-primary:hover:not(:disabled),.btn-primary-glass:hover:not(:disabled){background:var(--color-bronze);border-color:var(--color-bronze);color:var(--color-ink)}.btn-secondary,.btn-secondary-glass{background:transparent;color:var(--text-primary);border:1px solid var(--glass-border-strong)}.btn-secondary:hover:not(:disabled),.btn-secondary-glass:hover:not(:disabled){background:var(--hover-bg);border-color:var(--color-ink)}.btn-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid rgba(60,82,69,.3)}.btn-success:hover:not(:disabled){background:rgba(60,82,69,.2)}.btn-error,.btn-danger{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid rgba(163,53,46,.3)}.btn-error:hover:not(:disabled),.btn-danger:hover:not(:disabled){background:rgba(163,53,46,.2)}.btn-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid rgba(140,106,47,.3)}.btn-warning:hover:not(:disabled){background:rgba(140,106,47,.2)}.btn-xs{padding:.25rem .5rem;font-size:.75rem}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.search-bar-glass{display:flex;align-items:center;background:var(--glass-bg-normal);border:1px solid var(--glass-border-normal);border-radius:var(--radius-md);padding:12px 20px;transition:border-color .2s ease}.search-bar-glass:focus-within{border-color:var(--color-bronze);box-shadow:0 0 0 var(--focus-ring-width) var(--focus-ring)}.search-bar-glass input{background:transparent;border:none;color:var(--text-primary);font-size:14px;width:100%;outline:none}.search-bar-glass input::placeholder{color:var(--text-muted)}.form-input,.form-input-dark,.form-control,select.form-input,textarea.form-input{width:100%;background:var(--glass-bg-normal);border:1px solid var(--glass-border-normal);border-radius:var(--radius-sm);color:var(--text-primary);padding:.625rem 1rem;font-size:.875rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;outline:none}.form-input:focus,.form-input-dark:focus,.form-control:focus,select.form-input:focus,textarea.form-input:focus{border-color:var(--color-bronze);box-shadow:0 0 0 var(--focus-ring-width) var(--focus-ring)}.form-input::placeholder,.form-input-dark::placeholder,.form-control::placeholder,select.form-input::placeholder,textarea.form-input::placeholder{color:var(--text-muted)}.form-input.error,.error.form-input-dark,.form-control.error,select.form-input.error,textarea.form-input.error{border-color:var(--color-danger)}.form-input option,.form-input-dark option,.form-control option,select.form-input option,textarea.form-input option{background:var(--glass-bg-normal);color:var(--text-primary)}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem;font-weight:500}.table-container{background:var(--glass-bg-normal);border-radius:var(--radius-lg);border:1px solid var(--glass-border-normal);overflow:hidden;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.table-header{padding:1.5rem;border-bottom:1px solid var(--glass-border-normal)}.table-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.table-wrapper{overflow-x:auto}.table,.data-table-dark,.products-table{width:100%;border-collapse:collapse}.table th,.data-table-dark th,.table td,.data-table-dark td,.products-table th,.products-table td{padding:1rem;font-size:.875rem;border-bottom:1px solid var(--glass-border-subtle);text-align:left}.table th,.data-table-dark th,.products-table th{background:var(--color-ivory-deep);text-transform:uppercase;font-size:.6875rem;color:var(--text-secondary);font-weight:600;letter-spacing:.05em}.table tbody tr,.data-table-dark tbody tr,.products-table tbody tr{transition:background .15s ease}.table tbody tr:hover,.data-table-dark tbody tr:hover,.products-table tbody tr:hover{background:var(--glass-bg-subtle)}.table tbody tr:last-child td,.data-table-dark tbody tr:last-child td,.products-table tbody tr:last-child td{border-bottom:none}.table td,.data-table-dark td,.products-table td{color:var(--text-primary);font-variant-numeric:tabular-nums}.card{background:var(--glass-bg-normal);border:1px solid var(--glass-border-normal);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.card-header{padding:1.5rem;border-bottom:1px solid var(--glass-border-normal)}.card-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.card-body{padding:1.5rem}.container{width:100%;padding:0}.modal-overlay{position:fixed;inset:0;background:rgba(20,20,28,.55);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal,.modal-dark{background:var(--color-ivory);border:1px solid var(--glass-border-normal);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);color:var(--text-primary);max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal.modal-sm,.modal-sm.modal-dark{width:400px}.modal.modal-lg,.modal-lg.modal-dark{width:700px}.modal.modal-xl,.modal-xl.modal-dark{width:1000px}.modal-close{background:var(--glass-bg-subtle);border:1px solid var(--glass-border-normal);color:var(--text-primary);font-size:1.25rem;cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.modal-close:hover{background:var(--hover-bg)}.status-brouillon{background:rgba(74,74,84,.1);color:var(--text-secondary);border:1px solid rgba(74,74,84,.25)}.status-en-attente{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid rgba(140,106,47,.3)}.status-accorde{background:var(--color-info-bg);color:var(--color-info);border:1px solid rgba(74,74,84,.25)}.status-actif{background:var(--color-success-bg);color:var(--color-success);border:1px solid rgba(60,82,69,.3)}.status-solde{background:rgba(60,82,69,.18);color:var(--color-success);border:1px solid rgba(60,82,69,.35)}.status-rejete{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid rgba(163,53,46,.3)}.status-annule{background:rgba(74,74,84,.1);color:var(--text-secondary);border:1px solid rgba(74,74,84,.25)}.kpi-mini{background:var(--glass-bg-normal);border:1px solid var(--glass-border-normal);border-radius:var(--radius-md);padding:1rem 1.5rem;transition:border-color .2s ease,box-shadow .2s ease;box-shadow:var(--shadow-sm)}.kpi-mini:hover{border-color:var(--glass-border-strong);box-shadow:var(--shadow-md)}.kpi-mini h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 .25rem;font-weight:500}.kpi-mini p{font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--text-primary);margin:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;padding:1rem 0}.pagination button{background:var(--glass-bg-normal);border:1px solid var(--glass-border-normal);color:var(--text-primary);padding:.5rem .75rem;border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s ease,background .2s ease;min-width:36px;font-size:.875rem}.pagination button:hover:not(:disabled){border-color:var(--color-bronze)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination button.active{background:var(--color-ink);color:var(--color-ivory);border-color:var(--color-ink);font-weight:600}.loading-spinner{width:40px;height:40px;border:3px solid var(--glass-border-normal);border-top-color:var(--color-bronze);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}.loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:rgba(244,246,251,.75);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:20;border-radius:inherit;animation:fadeIn .15s ease-in}.loading-overlay .loading-overlay-text{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.loading-bar{width:160px;height:4px;border-radius:2px;background:var(--color-ivory-deep);overflow:hidden;position:relative}.loading-bar:after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;border-radius:2px;background:var(--color-bronze);animation:loadingBarSlide 1.1s ease-in-out infinite}@keyframes loadingBarSlide{0%{left:-40%}to{left:100%}}.table-container,.kpi-grid,.card-body{animation:fadeIn .3s ease-in}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;white-space:nowrap}.action-btn{padding:.375rem .5rem;min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center}.text-red-500{color:var(--color-danger)}.text-center{text-align:center}.flex{display:flex}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-wrap{flex-wrap:wrap}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-ivory-deep);border-radius:3px}::-webkit-scrollbar-thumb{background:var(--glass-border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-bronze)}.client-dropdown{box-shadow:var(--shadow-lg);background:var(--glass-bg-normal);border:1px solid var(--glass-border-normal)}.client-dropdown .client-option:hover{background:var(--hover-bg)!important}@media (max-width: 1024px){.modal.modal-xl,.modal-xl.modal-dark{width:95vw!important;max-width:95vw!important}}@media (max-width: 768px){.kpi-grid{grid-template-columns:repeat(2,1fr)!important;gap:.75rem!important}.kpi-card,.stat-card,.kpi-mini{padding:.75rem!important}.kpi-card .kpi-value,.kpi-card p:last-child,.stat-card .kpi-value,.stat-card p:last-child,.kpi-mini .kpi-value,.kpi-mini p:last-child{font-size:1.125rem}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-container:after{content:"";position:absolute;top:0;right:0;bottom:0;width:24px;background:linear-gradient(to left,rgba(244,246,251,.9),transparent);pointer-events:none}.table,.data-table-dark,.products-table,.amortissement-table{min-width:600px}.table th,.table td,.products-table th,.products-table td,.data-table-dark th,.data-table-dark td,.amortissement-table th,.amortissement-table td{padding:.625rem .5rem;font-size:.75rem}.table th,.products-table th,.data-table-dark th,.amortissement-table th{font-size:.625rem}.modal-overlay{padding:.5rem;align-items:flex-end}.modal,.modal-dark{max-width:100%!important;width:100%!important;max-height:92vh!important;border-radius:16px 16px 0 0}.modal.modal-sm,.modal-sm.modal-dark,.modal.modal-lg,.modal-lg.modal-dark,.modal.modal-xl,.modal-xl.modal-dark{width:100%!important}.modal .card-body,.modal-dark .card-body{max-height:70vh;overflow-y:auto;padding:1rem}.form-grid-2,[style*="grid-template-columns: 1fr 1fr"],[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}.form-input,.form-input-dark,.form-control,select.form-input{font-size:16px}.btn,.btn-primary-glass,.btn-secondary-glass{min-height:40px;padding:.5rem .875rem}.btn-xs{min-height:32px;min-width:32px;padding:.25rem .5rem}.pagination{gap:.25rem;flex-wrap:wrap}.pagination button{min-width:40px;min-height:40px;font-size:.8125rem}.page-header .page-title{font-size:1.125rem}.page-header .page-subtitle{font-size:.75rem}.page-header-top{gap:.75rem}.page-header-top .page-icon{width:40px;height:40px;font-size:1rem}.search-bar{flex-direction:column!important;gap:.5rem!important}.search-bar .search-input{min-width:100%!important;width:100%!important}.search-bar .filter-select{width:100%!important}.card-header,.card-body{padding:1rem}.section-card{padding:1rem;margin-bottom:1rem}.container{padding:0 .5rem}.progress-bar{height:8px}}@media (max-width: 480px){.kpi-grid{grid-template-columns:1fr!important}.table,.data-table-dark,.products-table{min-width:500px}.page-header-top{flex-direction:column;align-items:flex-start}.card-header,.card-body,.modal .card-body,.modal-dark .card-body{padding:.75rem}}@media (max-width: 768px){[style*=grid-template-columns]{grid-template-columns:1fr!important}[style*="display:flex"][style*="justify-content:space-between"]{flex-wrap:wrap!important;gap:.5rem!important}}
