@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(30px,30px)}}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.1);opacity:.8}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes glow{0%,to{box-shadow:0 8px 20px #667eea59}50%{box-shadow:0 8px 30px #667eea8c}}.login-container{min-height:100vh;display:flex;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden;align-items:center;justify-content:center;padding:clamp(12px,3vw,20px);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.bg-blob{position:absolute;border-radius:50%;filter:blur(100px);opacity:.8}.blob-1{top:-10%;right:-5%;width:600px;height:600px;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%);animation:float 20s ease-in-out infinite}.blob-2{bottom:-15%;left:-10%;width:700px;height:700px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:float 25s ease-in-out infinite reverse}.blob-3{top:40%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);animation:pulse 15s ease-in-out infinite}.grid-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:60px 60px;opacity:.5;pointer-events:none}.login-card{background:#fffffffa;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-radius:clamp(16px,4vw,24px);border:1px solid rgba(255,255,255,.3);box-shadow:0 25px 60px #0003,0 0 1px #ffffff4d inset,0 50px 100px -20px #667eea4d;padding:clamp(24px,6vw,48px) clamp(20px,5vw,40px);position:relative;overflow:hidden;animation:fadeInUp .6s ease-out}.login-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(102,126,234,.1) 0%,transparent 70%);animation:float 15s ease-in-out infinite;pointer-events:none}.accent-bar{position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb,#667eea);background-size:200% 100%;animation:shimmer 3s linear infinite}.login-logo{height:clamp(80px,15vw,120px);max-width:100%;display:block;margin:0 auto clamp(16px,3vw,24px);filter:drop-shadow(0 8px 16px rgba(102,126,234,.2));transition:all .4s ease}.login-logo:hover{transform:scale(1.05) rotate(2deg);filter:drop-shadow(0 12px 24px rgba(102,126,234,.4))}.login-title{color:#1a202c;font-size:clamp(20px,4vw,26px);margin:0 0 8px;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center}.login-subtitle{color:#718096;font-size:clamp(13px,2.5vw,15px);margin:0;font-weight:500;text-align:center}.input-wrapper{position:relative}.input-field{width:100%;padding:14px 14px 14px 44px;background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;color:#1a202c;transition:all .3s cubic-bezier(.4,0,.2,1);outline:none;font-weight:500}.input-field:focus{border:2px solid #667eea;background:#fff;box-shadow:0 0 0 4px #667eea1f;transform:translateY(-1px)}.input-field::placeholder{color:#cbd5e0}.input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#a0aec0;pointer-events:none;transition:all .3s ease}.input-field:focus~.input-icon{color:#667eea;transform:translateY(-50%) scale(1.1)}.submit-btn{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 20px #667eea59;display:flex;align-items:center;justify-content:center;gap:10px;letter-spacing:.02em;position:relative;overflow:hidden}.submit-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#764ba2,#f093fb);opacity:0;transition:opacity .4s ease}.submit-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 12px 32px #667eea80}.submit-btn:hover:not(:disabled):before{opacity:1}.submit-btn:active:not(:disabled){transform:translateY(-1px)}.submit-btn:disabled{background:#cbd5e0;cursor:not-allowed;box-shadow:none}.submit-btn>*{position:relative;z-index:1}.error-message{padding:14px 16px;background:linear-gradient(135deg,#fff5f5,#fed7d7);border:2px solid #fc8181;border-radius:12px;color:#c53030;font-size:14px;display:flex;align-items:center;gap:12px;font-weight:600;animation:slideDown .3s ease,shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.secondary-btn{background:linear-gradient(135deg,#f7fafc,#edf2f7);border:2px solid #e2e8f0;color:#667eea;padding:12px 32px;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.secondary-btn:hover{background:linear-gradient(135deg,#fff,#f7fafc);border-color:#667eea;transform:translateY(-2px);box-shadow:0 6px 16px #667eea33}.security-badge{margin-top:24px;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px;color:#fffffff2;font-size:13px;font-weight:600;text-shadow:0 2px 8px rgba(0,0,0,.2);animation:fadeInUp .8s ease .3s both}.security-badge svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.login-wrapper{width:100%;max-width:440px;position:relative;z-index:1}.login-header{margin-bottom:clamp(24px,5vw,32px);text-align:center}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{color:#4a5568;font-size:14px;font-weight:600;letter-spacing:.02em}.input-password{padding-right:44px!important}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#a0aec0;cursor:pointer;padding:6px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.password-toggle:hover{color:#667eea;background:#667eea1a}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.divider{margin:24px 0;text-align:center;position:relative;display:flex;align-items:center;justify-content:center}.divider:before,.divider:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,#e2e8f0,transparent)}.divider span{padding:0 16px;color:#a0aec0;font-size:13px;font-weight:600;letter-spacing:.05em}.register-section{text-align:center;display:flex;flex-direction:column;gap:12px}.register-text{color:#718096;font-size:14px;font-weight:500;margin:0}.security-icon{height:16px;width:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}@media (max-width: 640px){.login-container{padding:16px}.login-card{padding:28px 20px}.login-logo{height:80px}.input-field{padding:12px 12px 12px 40px;font-size:14px}.submit-btn{padding:14px;font-size:15px}}@media (max-width: 375px){.login-card{padding:24px 16px}.login-logo{height:70px}.submit-btn{padding:12px;font-size:14px}}@media (max-height: 600px) and (orientation: landscape){.login-container{min-height:auto;padding:16px 10px}.login-card{padding:20px 24px}.login-logo{height:60px;margin-bottom:12px}}.hamburger-btn{display:none;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:var(--text-inverse, #fff)!important;padding:.5rem .6rem;margin-left:.5rem;cursor:pointer;align-items:center;border-radius:10px;justify-content:center;vertical-align:middle;z-index:10002;transition:background .12s ease,transform .12s ease;box-shadow:0 6px 18px #02061759,inset 0 1px #ffffff0f}.hamburger-btn:hover{background:#ffffff1f;transform:translateY(-1px)}.hamburger-line{display:block;width:26px;height:3px;background:linear-gradient(90deg,#fffffff2,#ebf0fff2);margin:3px 0;border-radius:4px;box-shadow:0 2px 6px #00000059,0 1px #ffffff0f inset}.dashboard-header.light .hamburger-btn{color:var(--text-primary, #0f172a)!important;background:#0000000f;border-color:#00000014}.mobile-nav-panel,.mobile-nav-panel .mobile-nav-items,.mobile-nav-panel .mobile-nav-items .user-badge,.mobile-nav-panel .mobile-nav-items .btn{color:var(--text-primary, #0f172a)!important}.mobile-nav-panel .btn.btn-outline{background:transparent!important;color:var(--text-primary, #0f172a)!important;border-color:#0000001f!important}@media (max-width: 768px){.header-right{display:none!important}.dashboard-header{padding:.75rem}.header-container{gap:.5rem;padding-left:.5rem!important;padding-right:.5rem!important}.header-left{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.logo-link{margin-left:0!important;padding-left:.25rem!important}}@media (min-width: 769px){.mobile-nav-panel{display:none!important}}:root{--primary-wine: #8b1538;--primary-dark: #5a0a20;--primary-light: #a52a52;--accent-primary: #0066ff;--accent-primary-light: #3d8bff;--accent-primary-dark: #0052cc;--accent-glow: rgba(0, 102, 255, .2);--accent-glow-strong: rgba(0, 102, 255, .4);--success: #10b981;--success-light: #34d399;--success-dark: #059669;--success-glow: rgba(16, 185, 129, .2);--warning: #f59e0b;--warning-light: #fbbf24;--warning-dark: #d97706;--warning-glow: rgba(245, 158, 11, .2);--danger: #ef4444;--danger-light: #f87171;--danger-dark: #dc2626;--danger-glow: rgba(239, 68, 68, .2);--info: #3b82f6;--info-light: #60a5fa;--info-dark: #2563eb;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #94a3b8;--text-white: #ffffff;--text-muted: #cbd5e1;--text-inverse: #f8fafc;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-quaternary: #e2e8f0;--bg-dark: #0f172a;--bg-dark-secondary: #1e293b;--bg-overlay: rgba(15, 23, 42, .75);--bg-hover: #f8fafc;--glass-bg: rgba(255, 255, 255, .98);--glass-bg-secondary: rgba(255, 255, 255, .92);--glass-bg-dark: rgba(15, 23, 42, .98);--glass-border: rgba(0, 102, 255, .08);--glass-border-light: rgba(255, 255, 255, .15);--glass-blur: blur(32px) saturate(180%);--radius-xs: .375rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-2xl: 2rem;--radius-3xl: 3rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .12);--shadow-2xl: 0 24px 64px rgba(0, 0, 0, .16);--shadow-3xl: 0 32px 80px rgba(0, 0, 0, .2);--shadow-glow: 0 0 32px var(--accent-glow-strong);--shadow-glow-success: 0 0 24px var(--success-glow);--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--space-3xl: 6rem;--transition-instant: all .1s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .2s cubic-bezier(.4, 0, .2, 1);--transition: all .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: all .5s cubic-bezier(.4, 0, .2, 1);--transition-bounce: all .6s cubic-bezier(.34, 1.56, .64, 1);--transition-elastic: all .8s cubic-bezier(.68, -.55, .265, 1.55)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;color:var(--text-primary);background:var(--bg-dark);overflow-x:hidden}.dashboard-container{min-height:100vh;background:linear-gradient(135deg,#0a0e1a,#1a1f35,#0f1729,#1e2742,#0a0e1a);position:relative;overflow-x:hidden}.dashboard-container:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 25% 35%,rgba(0,102,255,.12) 0%,transparent 40%),radial-gradient(circle at 75% 65%,rgba(139,21,56,.08) 0%,transparent 40%),radial-gradient(circle at 50% 50%,rgba(16,185,129,.06) 0%,transparent 50%);pointer-events:none;z-index:0;animation:floatingGradient 20s ease-in-out infinite}@keyframes floatingGradient{0%,to{transform:translate(0) rotate(0);opacity:1}25%{transform:translate(5%,-5%) rotate(90deg);opacity:.8}50%{transform:translate(-3%,8%) rotate(180deg);opacity:1}75%{transform:translate(7%,3%) rotate(270deg);opacity:.9}}.dashboard-container:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0px,transparent 1px,transparent 2px,rgba(255,255,255,.015) 3px),repeating-linear-gradient(90deg,rgba(255,255,255,.015) 0px,transparent 1px,transparent 2px,rgba(255,255,255,.015) 3px);pointer-events:none;z-index:0;opacity:.3}.dashboard-header{background:var(--glass-bg-dark);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 4px 24px #0006,0 0 1px #ffffff1a;position:sticky;top:0;z-index:100;animation:slideDown .6s cubic-bezier(.34,1.56,.64,1)}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.header-container{max-width:1600px;margin:0 auto;padding:1.125rem var(--space-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl);flex-wrap:wrap}.header-left{display:flex;align-items:center;gap:var(--space-2xl);flex-wrap:wrap}.logo-link{display:flex;align-items:center;gap:var(--space-md);text-decoration:none;cursor:pointer;transition:var(--transition);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-lg);position:relative}.logo-link:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(135deg,var(--accent-primary),var(--primary-wine));border-radius:var(--radius-lg);opacity:0;transition:var(--transition);z-index:-1;filter:blur(8px)}.logo-link:hover:before{opacity:.6;animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{filter:blur(8px);opacity:.6}50%{filter:blur(12px);opacity:.8}}.logo-link:hover{transform:translateY(-2px) scale(1.02)}.dashboard-title{margin:0;font-size:2rem;font-weight:900;background:linear-gradient(135deg,#60a5fa,#3b82f6,#2563eb 60%,#1e40af);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:Playfair Display,serif;letter-spacing:-.03em;position:relative;text-shadow:0 0 30px rgba(59,130,246,.5);animation:titleShimmer 3s ease-in-out infinite}@keyframes titleShimmer{0%,to{filter:brightness(1)}50%{filter:brightness(1.2)}}.dashboard-subtitle{font-size:.6875rem;color:var(--accent-primary-light);font-weight:800;opacity:.95;text-transform:uppercase;letter-spacing:.15em;margin-top:.125rem;text-shadow:0 0 10px rgba(59,130,246,.3)}.breadcrumbs{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-full);font-size:.8125rem;color:var(--text-inverse);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-xs)}.breadcrumb-item{color:var(--text-inverse);opacity:.6;text-decoration:none;transition:var(--transition-fast);padding:.25rem .5rem;border-radius:var(--radius-sm);font-weight:500}.breadcrumb-item:hover{opacity:1;background:#3b82f626;color:var(--accent-primary-light)}.breadcrumb-item.active{opacity:1;font-weight:700;color:var(--accent-primary-light)}.header-right{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.user-badge{background:#fffffff2;border:1px solid rgba(0,102,255,.15);color:var(--text-primary);font-size:.875rem;font-weight:600;padding:.75rem 1.25rem;border-radius:var(--radius-full);display:flex;align-items:center;gap:var(--space-xs);transition:var(--transition);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:relative;overflow:hidden;box-shadow:0 4px 12px #00000014}.user-badge:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent,rgba(59,130,246,.1),transparent);transform:translate(-100%);transition:transform .6s}.user-badge:hover:before{transform:translate(100%)}.user-badge:hover{background:#fff;border-color:var(--accent-primary);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #3b82f64d}.btn{padding:.875rem 1.75rem;border:none;border-radius:var(--radius-lg);font-weight:700;font-size:.875rem;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);font-family:Inter,sans-serif;text-decoration:none;line-height:1;position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:.05em}.btn:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.3) 50%,transparent 60%);transform:translate(-100%) translateY(-100%) rotate(45deg);transition:transform .6s}.btn:hover:after{transform:translate(100%) translateY(100%) rotate(45deg)}.btn:active:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(255,255,255,.5) 0%,transparent 70%);animation:ripple .6s ease-out}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(2.5);opacity:0}}.btn-primary{background:linear-gradient(135deg,#06f,#0052cc);color:#fff;box-shadow:0 4px 16px #06f6,0 0 0 1px #ffffff1a inset}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0066ff80,0 0 32px #0066ff4d;background:linear-gradient(135deg,#0052cc,#0041a3)}.btn-primary:active{transform:translateY(-1px) scale(.98)}.btn-secondary{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--text-inverse);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn-secondary:hover{background:#ffffff1a;border-color:var(--accent-primary-light);transform:translateY(-2px);box-shadow:0 8px 20px #3b82f626}.btn-outline{background:transparent;border:2px solid var(--accent-primary);color:var(--accent-primary)}.btn-outline:hover{background:var(--accent-primary);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #0066ff4d}.logout-btn{background:linear-gradient(135deg,var(--danger) 0%,var(--danger-dark) 100%);color:#fff;box-shadow:0 4px 16px #ef44444d}.logout-btn:hover{background:linear-gradient(135deg,var(--danger-dark) 0%,#b91c1c 100%);transform:translateY(-2px);box-shadow:0 8px 24px #ef444466}.main-content{max-width:1600px;margin:0 auto;padding:var(--space-2xl) var(--space-xl);position:relative;z-index:1}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-xl);margin-bottom:var(--space-2xl)}.stat-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--space-xl);box-shadow:var(--shadow-xl);transition:var(--transition);position:relative;overflow:hidden;animation:fadeInScale .6s cubic-bezier(.34,1.56,.64,1) backwards}.stat-card:nth-child(1){animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.stat-card:nth-child(4){animation-delay:.4s}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.stat-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-primary-light),var(--accent-primary));background-size:200% 100%;transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.34,1.56,.64,1);animation:gradientFlow 3s ease infinite}@keyframes gradientFlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.stat-card:hover:before{transform:scaleX(1)}.stat-card:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(135deg,var(--accent-primary),var(--primary-wine),var(--success));border-radius:var(--radius-2xl);opacity:0;filter:blur(20px);z-index:-1;transition:var(--transition-slow)}.stat-card:hover:after{opacity:.4}.stat-card:hover{transform:translateY(-12px) scale(1.03);box-shadow:0 32px 64px #00000026,0 0 40px var(--accent-glow-strong);border-color:var(--accent-primary)}.stat-card-content{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.stat-card-info h3{margin:0 0 .75rem;color:var(--text-secondary);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.stat-card-value{font-size:3rem;font-weight:900;color:var(--text-primary);font-family:Playfair Display,serif;line-height:1;margin-bottom:.5rem;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:valueAppear .6s cubic-bezier(.34,1.56,.64,1)}@keyframes valueAppear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.stat-card-unit{font-size:.875rem;color:var(--text-tertiary);font-weight:600}.stat-card-icon{width:80px;height:80px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:2.5rem;flex-shrink:0;transition:var(--transition-elastic);position:relative;filter:drop-shadow(0 8px 16px rgba(0,0,0,.2));animation:gentlePulse 3s ease-in-out infinite}@keyframes gentlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.stat-card:hover .stat-card-icon{transform:scale(1.15) rotate(5deg);filter:drop-shadow(0 12px 24px rgba(0,0,0,.3));animation:none}.stat-card-icon.primary{background:linear-gradient(135deg,var(--primary-wine),var(--primary-dark));box-shadow:0 12px 32px #8b153866,0 0 0 1px #ffffff1a inset}.stat-card-icon.success{background:linear-gradient(135deg,var(--success),var(--success-dark));box-shadow:0 12px 32px #10b98166,0 0 0 1px #ffffff1a inset}.stat-card-icon.warning{background:linear-gradient(135deg,var(--accent-primary),var(--accent-primary-dark));box-shadow:0 12px 32px #06f6,0 0 0 1px #ffffff1a inset}.stat-card-icon.danger{background:linear-gradient(135deg,var(--primary-light),var(--primary-wine));box-shadow:0 12px 32px #a52a5266,0 0 0 1px #ffffff1a inset}.section-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-3xl);padding:var(--space-2xl);box-shadow:var(--shadow-2xl);margin-bottom:var(--space-2xl);position:relative;overflow:hidden;animation:fadeInUp .6s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.section-card:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(0,102,255,.03) 50%,transparent 70%);transform:rotate(45deg);animation:diagonalShine 10s infinite}@keyframes diagonalShine{0%,to{transform:translate(-100%) rotate(45deg)}50%{transform:translate(100%) rotate(45deg)}}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2xl);padding-bottom:var(--space-lg);border-bottom:3px solid transparent;border-image:linear-gradient(90deg,var(--accent-primary),transparent) 1;gap:var(--space-lg);flex-wrap:wrap;position:relative}.section-title{margin:0;font-size:2.25rem;font-weight:900;color:var(--text-primary);font-family:Playfair Display,serif;display:flex;align-items:center;gap:var(--space-md);letter-spacing:-.02em;position:relative}.section-title:after{content:"";position:absolute;bottom:-8px;left:0;width:60px;height:4px;background:linear-gradient(90deg,var(--accent-primary),transparent);border-radius:var(--radius-full)}.section-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.parameters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-xl);margin-bottom:var(--space-2xl);padding:var(--space-2xl);background:linear-gradient(135deg,#0066ff08,#8b153808);border-radius:var(--radius-2xl);border:1px solid var(--glass-border);box-shadow:var(--shadow-md);position:relative}.parameters-grid:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;background:linear-gradient(135deg,var(--accent-primary),var(--primary-wine));border-radius:var(--radius-2xl);opacity:0;transition:var(--transition);z-index:-1;filter:blur(8px)}.parameters-grid:hover:before{opacity:.2}.input-group{display:flex;flex-direction:column;gap:.75rem}.input-label{font-weight:800;color:var(--text-primary);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;display:flex;align-items:center;gap:.625rem}.tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:linear-gradient(135deg,var(--info),var(--info-dark));color:#fff;border-radius:50%;font-size:.625rem;cursor:help;font-weight:800;transition:var(--transition-bounce);box-shadow:0 4px 12px #3b82f64d;animation:gentleBounce 2s ease-in-out infinite}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.tooltip-icon:hover{transform:scale(1.3) rotate(360deg);box-shadow:0 6px 20px #3b82f699;animation:none}.input-field{padding:1.125rem 1.5rem;border:2px solid var(--bg-quaternary);border-radius:var(--radius-lg);font-size:1.25rem;font-weight:800;background:linear-gradient(135deg,#fff,#fafafa);color:var(--text-primary);transition:var(--transition);font-family:Playfair Display,serif;box-shadow:var(--shadow-xs)}.input-field:hover{border-color:var(--accent-primary-light);box-shadow:0 4px 12px #00000014,0 0 0 3px var(--accent-glow);transform:translateY(-2px)}.input-field:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 8px 24px #0066ff26,0 0 0 4px var(--accent-glow);transform:scale(1.02);background:#fff}.table-container{width:100%;overflow-x:auto;border-radius:var(--radius-lg, 12px);box-shadow:0 2px 8px #00000014;background:var(--bg-white, #ffffff);margin-top:1.5rem}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9375rem;line-height:1.5;table-layout:fixed}.data-table colgroup col:nth-child(1){width:30%}.data-table colgroup col:nth-child(2){width:15%}.data-table colgroup col:nth-child(3){width:15%}.data-table colgroup col:nth-child(4){width:25%}.data-table colgroup col:nth-child(5){width:15%}.data-table thead{position:sticky;top:0;z-index:10;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.data-table thead th{padding:1rem 1.25rem;text-align:left;font-weight:800;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;color:#1e293b;border-bottom:2px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc,#f1f5f9);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:all .2s ease}.data-table thead th.sortable{cursor:pointer;position:relative;padding-right:2.5rem}.data-table thead th.sortable:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:var(--primary-wine, #8b1538)}.sort-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);opacity:.5;transition:opacity .2s ease}.sortable:hover .sort-icon{opacity:1}.data-table tbody tr{transition:all .2s ease;border-bottom:1px solid #f1f5f9}.data-table tbody tr:nth-child(odd){background:#fafbfc}.data-table tbody tr:nth-child(2n){background:#fff}.data-table tbody tr:hover{background:linear-gradient(90deg,#f0f9ff,#e0f2fe);transform:translate(2px);box-shadow:inset 4px 0 0 var(--accent-primary, #0066ff)}.data-table td{padding:1rem 1.25rem;vertical-align:middle;color:#334155;font-size:.9375rem}.cepage-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;border-radius:var(--radius-md, 8px);font-weight:700;font-size:.875rem;border:2px solid;transition:all .2s ease;white-space:nowrap}.cepage-badge:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.cepage-icon{font-size:1.25rem;line-height:1}.cepage-label{font-weight:700;letter-spacing:.02em}.cell-value{font-weight:600;font-variant-numeric:tabular-nums;color:#1e293b}.progress-bar{width:100%;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin-top:.5rem;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:3px;transition:width .3s ease;position:relative}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (max-width: 1024px){.data-table{font-size:.875rem}.data-table thead th,.data-table td{padding:.875rem 1rem}.cepage-badge{padding:.375rem .75rem;font-size:.8125rem}}@media (max-width: 768px){.table-container{border-radius:var(--radius-md, 8px)}.data-table{font-size:.8125rem}.data-table thead th{padding:.75rem .5rem;font-size:.75rem}.data-table td{padding:.75rem .5rem}.cepage-badge{padding:.25rem .5rem;font-size:.75rem;gap:.25rem}.cepage-icon{font-size:1rem}.data-table colgroup col:nth-child(3){width:0}.data-table td[data-col=pieds],.data-table th:nth-child(3){display:none}}.data-table tbody tr.loading{animation:pulse 1.5s ease-in-out infinite}.table-empty-state{padding:3rem 1rem;text-align:center;color:#64748b}.table-empty-state svg{width:64px;height:64px;margin-bottom:1rem;opacity:.5}.data-table tfoot{background:linear-gradient(135deg,#f8fafc,#f1f5f9);font-weight:700}.data-table tfoot td{padding:1rem 1.25rem;border-top:2px solid #e2e8f0;color:#1e293b}.data-table thead th:focus,.data-table tbody tr:focus{outline:2px solid var(--accent-primary, #0066ff);outline-offset:-2px}@media print{.table-container{box-shadow:none;overflow:visible}.data-table{page-break-inside:auto}.data-table tr{page-break-inside:avoid;page-break-after:auto}.data-table thead{display:table-header-group}.data-table tbody tr:hover{background:transparent!important;transform:none!important;box-shadow:none!important}.progress-fill:after{display:none}}.progress-bar{height:12px;background:linear-gradient(90deg,#0000000d,#00000005);border-radius:var(--radius-full);overflow:hidden;margin-top:.5rem;box-shadow:inset 0 2px 6px #0000001f,0 1px 2px #ffffff80;position:relative}.progress-bar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}.progress-fill{height:100%;background:linear-gradient(90deg,var(--success) 0%,var(--success-light) 50%,var(--accent-primary) 100%);background-size:200% 100%;border-radius:var(--radius-full);transition:width .8s cubic-bezier(.34,1.56,.64,1);position:relative;box-shadow:0 2px 8px #10b98166,0 0 0 1px #ffffff4d inset;animation:progressGlow 2s ease-in-out infinite;overflow:hidden}@keyframes progressGlow{0%,to{background-position:0% 50%;box-shadow:0 2px 8px #10b98166}50%{background-position:100% 50%;box-shadow:0 2px 12px #06f9}}.progress-fill:before{content:"";position:absolute;top:0;left:-100%;width:200%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.8) 10%,transparent 20%),radial-gradient(circle,rgba(255,255,255,.6) 10%,transparent 20%);background-size:20px 20px,30px 30px;background-position:0 0,10px 10px;animation:sparkles 3s linear infinite}@keyframes sparkles{to{transform:translate(50%)}}.progress-fill:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:progressShine 3s infinite}@keyframes progressShine{0%{left:-100%}to{left:200%}}.cepage-badge{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 1.375rem;border-radius:var(--radius-full);font-weight:800;font-size:.8125rem;white-space:nowrap;border:2px solid;transition:var(--transition);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a,inset 0 1px #ffffff80}.cepage-badge:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.3),transparent);transform:scale(0);transition:transform .5s}.cepage-badge:hover:before{transform:scale(1)}.cepage-badge:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);opacity:0;transition:opacity .5s}.cepage-badge:hover:after{opacity:1;animation:shimmerSweep 1s ease-out}@keyframes shimmerSweep{0%{transform:translate(-100%) skew(-15deg)}to{transform:translate(200%) skew(-15deg)}}.cepage-badge:hover{transform:translateY(-4px) scale(1.08);box-shadow:0 8px 24px #00000026,0 0 20px currentColor;filter:brightness(1.1)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-lg);margin-bottom:var(--space-2xl)}.summary-card{padding:var(--space-xl);border-radius:var(--radius-2xl);border:2px solid;box-shadow:var(--shadow-lg);transition:var(--transition);position:relative;overflow:hidden;animation:slideInUp .5s cubic-bezier(.34,1.56,.64,1) backwards}.summary-card:nth-child(1){animation-delay:.1s}.summary-card:nth-child(2){animation-delay:.2s}.summary-card:nth-child(3){animation-delay:.3s}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.summary-card:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:linear-gradient(180deg,currentColor,transparent);opacity:.9}.summary-card:after{content:"";position:absolute;bottom:-100%;left:0;width:100%;height:100%;background:linear-gradient(180deg,transparent 0%,currentColor 100%);opacity:.1;transition:bottom .5s ease}.summary-card:hover:after{bottom:0}.summary-card:hover{transform:translateY(-8px) scale(1.03);box-shadow:0 16px 48px #0000001f,0 0 0 3px currentColor}.summary-card.info{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-color:var(--info);color:var(--info-dark)}.summary-card.warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:var(--warning);color:var(--warning-dark)}.summary-card.success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:var(--success);color:var(--success-dark)}.summary-card-label{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.75rem;opacity:.9}.summary-card-value{font-size:2.5rem;font-weight:900;font-family:Playfair Display,serif;line-height:1;text-shadow:0 2px 4px rgba(0,0,0,.1)}.map-controls{display:flex;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap;align-items:center}.map-mode-buttons{display:flex;gap:.5rem;background:var(--bg-primary);padding:.5rem;border-radius:var(--radius-lg);border:1px solid var(--glass-border);box-shadow:var(--shadow-md)}.map-mode-btn{padding:.875rem 1.625rem;border:none;border-radius:var(--radius-md);font-weight:700;font-size:.875rem;cursor:pointer;transition:var(--transition);background:transparent;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;position:relative}.map-mode-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(135deg,var(--accent-primary),var(--accent-primary-dark));opacity:0;z-index:-1;transition:opacity .3s}.map-mode-btn.active{background:var(--accent-primary);color:#fff;box-shadow:0 4px 16px #06f6,0 0 0 3px #06f3;transform:scale(1.05)}.map-mode-btn.active:before{opacity:1}.map-mode-btn.inactive:hover{background:#0066ff1a;color:var(--text-primary);transform:translateY(-2px)}.map-filter-select{padding:.875rem 1.5rem;border:2px solid var(--bg-quaternary);border-radius:var(--radius-lg);font-weight:700;font-size:.875rem;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm)}.map-filter-select:hover{border-color:var(--accent-primary-light);box-shadow:var(--shadow-md)}.map-filter-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 4px var(--accent-glow),var(--shadow-md)}.map-legend{background:var(--bg-primary);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--space-xl);margin-bottom:var(--space-xl);box-shadow:var(--shadow-lg)}.map-legend-title{font-weight:800;font-size:.875rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-primary);margin-bottom:var(--space-lg);display:flex;align-items:center;gap:var(--space-sm);padding-bottom:var(--space-md);border-bottom:3px solid transparent;border-image:linear-gradient(90deg,var(--accent-primary),transparent) 1}.legend-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-sm)}.legend-item{display:flex;align-items:center;gap:.75rem;font-size:.8125rem;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);border:1px solid transparent;transition:var(--transition);cursor:pointer;font-weight:600;position:relative;overflow:hidden}.legend-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 100%);opacity:0;transition:opacity .3s}.legend-item:hover:before{opacity:1}.legend-item:hover{background:var(--bg-secondary);border-color:currentColor;transform:translate(8px) scale(1.03);box-shadow:0 4px 12px #0000001a,0 0 0 2px currentColor}.legend-color{width:32px;height:32px;border-radius:var(--radius-md);border:2px solid rgba(0,0,0,.06);flex-shrink:0;box-shadow:var(--shadow-xs);transition:var(--transition);position:relative;overflow:hidden}.legend-color:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(255,255,255,.6) 0%,transparent 70%);opacity:0;transition:opacity .3s}.legend-item:hover .legend-color{transform:scale(1.15) rotate(5deg);box-shadow:0 4px 12px #0003}.legend-item:hover .legend-color:after{opacity:1}.map-wrapper{border-radius:var(--radius-3xl);overflow:hidden;box-shadow:var(--shadow-3xl);border:2px solid var(--glass-border);margin-bottom:var(--space-xl);position:relative}.map-wrapper:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:var(--radius-3xl);background:linear-gradient(45deg,var(--accent-primary),var(--primary-wine),var(--success),var(--accent-primary));background-size:300% 100%;opacity:0;z-index:-1;animation:borderGlow 4s ease infinite;filter:blur(12px)}.map-wrapper:hover:after{opacity:.4}@keyframes borderGlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.map-container{height:700px;width:100%;background:var(--bg-tertiary);animation:zoomIn .8s cubic-bezier(.34,1.56,.64,1)}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.alert{padding:var(--space-xl);border-radius:var(--radius-2xl);border-left:6px solid;margin-bottom:var(--space-lg);display:flex;align-items:flex-start;gap:var(--space-lg);box-shadow:var(--shadow-lg);animation:alertSlideIn .4s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}@keyframes alertSlideIn{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.alert:before{content:"";position:absolute;top:0;left:0;width:6px;height:100%;background:currentColor;animation:alertPulse 2s ease-in-out infinite;box-shadow:0 0 10px currentColor}@keyframes alertPulse{0%,to{opacity:1}50%{opacity:.5}}.alert:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 30%,currentColor 2px,transparent 2px),radial-gradient(circle at 80% 70%,currentColor 2px,transparent 2px),radial-gradient(circle at 50% 50%,currentColor 2px,transparent 2px);background-size:100px 100px,150px 150px,120px 120px;opacity:.05;animation:floatParticles 20s linear infinite}@keyframes floatParticles{0%{transform:translateY(0)}to{transform:translateY(-100px)}}.alert-info{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:var(--info);color:var(--info-dark)}.alert-success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:var(--success);color:var(--success-dark)}.alert-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:var(--warning);color:var(--warning-dark)}.alert-danger{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:var(--danger);color:var(--danger-dark)}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-tertiary) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:loading 1.5s ease infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.8) 50%,transparent 100%);animation:skeletonShine 2s ease infinite}@keyframes skeletonShine{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:var(--space-2xl)}.btn-export{padding:.875rem 1.75rem;border:none;border-radius:var(--radius-lg);font-weight:700;font-size:.875rem;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);font-family:Inter,sans-serif;text-decoration:none;line-height:1;position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(135deg,var(--success) 0%,var(--success-dark) 100%);color:#fff;box-shadow:0 4px 16px var(--success-glow)}.btn-export:hover{transform:translateY(-3px);box-shadow:0 8px 24px #10b98166}.stat-card:hover,.summary-card:hover,.btn:hover,.legend-item:hover,.cepage-badge:hover{will-change:transform,box-shadow}@media (max-width: 1400px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.section-card{padding:var(--space-xl)}.stat-card-value{font-size:2.5rem}}@media (max-width: 768px){:root{--space-xl: 2rem;--space-2xl: 3rem}.header-container{padding:var(--space-md);flex-direction:column;align-items:flex-start}.dashboard-title{font-size:1.5rem}.main-content{padding:var(--space-md)}.stats-grid{grid-template-columns:1fr}.section-card{padding:var(--space-md)}.section-title{font-size:1.5rem}.map-container{height:500px}.data-table th,.data-table td{padding:1rem 1.25rem}.progress-fill:before,.alert:after{display:none}.stat-card:hover{transform:translateY(-6px) scale(1.015)}.summary-card:hover{transform:translateY(-4px) scale(1.015)}}@media (max-width: 480px){.stat-card-icon{width:64px;height:64px;font-size:2rem}.btn{padding:.75rem 1.25rem;font-size:.8125rem}.stat-card-value{font-size:2rem}}.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}*:focus-visible{outline:3px solid var(--accent-primary);outline-offset:3px;border-radius:var(--radius-sm);animation:focusPulse 2s ease infinite}@keyframes focusPulse{0%,to{outline-color:var(--accent-primary)}50%{outline-color:var(--accent-primary-light)}}@media (prefers-contrast: high){.btn,.stat-card,.summary-card{border:2px solid currentColor}}@media print{@page{size:A4 portrait;margin:1.5cm 1cm}*{print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}html,body{background:#fff!important;color:#000!important}.dashboard-container{background:#fff!important}.dashboard-container:before,.dashboard-container:after,.section-card:before,.stat-card:before,.stat-card:after{display:none!important}.dashboard-header,.section-actions,.alert,button,.btn,video{display:none!important}.section-card{page-break-inside:avoid;box-shadow:none;border:1px solid #ddd}.table-container,.data-table{box-shadow:none!important;background:#fff!important}.data-table thead,.data-table thead th{background:#fff!important;color:#000!important;position:static!important;text-shadow:none!important}.data-table thead:after{display:none!important}.data-table th,.data-table td{border:1px solid #000!important;color:#000!important;padding:8px 10px!important;background:#fff!important}.data-table tbody tr{box-shadow:none!important;transform:none!important}.data-table tbody tr:before{display:none!important}.data-table thead{display:table-header-group!important}.data-table tfoot{display:table-footer-group!important}.data-table tr,.data-table td,.data-table th{page-break-inside:avoid!important}#estimation-section{font-size:12px}#estimation-section .section-title{font-size:18px!important}.print-header{display:block!important;position:static!important;margin-bottom:12px;color:#000!important}.print-footer{display:block!important;position:static!important;bottom:auto;left:auto;right:auto;padding:6px 0;border-top:1px solid #000;color:#000!important;background:#fff!important;font-size:10px;text-align:right;margin-top:8px}}.text-right{text-align:right}.font-bold{font-weight:700}.hidden{display:none!important}.mb-1{margin-bottom:var(--space-xs)}.mb-2{margin-bottom:var(--space-sm)}.mb-3{margin-bottom:var(--space-md)}.mb-4{margin-bottom:var(--space-lg)}.dashboard-header{padding:.5rem var(--space-md);height:80px}.header-container{padding:.25rem var(--space-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:nowrap}.logo-link{padding:.25rem .5rem}.dashboard-title{font-size:1.125rem;line-height:1}.dashboard-subtitle{display:none}.breadcrumbs{display:inline-flex;gap:.5rem;align-items:center;padding:0}.header-left{display:flex;align-items:center;gap:var(--space-md)}.header-right{display:flex;align-items:center;gap:.5rem}.header-right .user-badge{padding:.4rem .6rem;font-size:.8125rem}.header-right .btn{padding:.45rem .75rem;font-size:.8125rem}@media (max-width: 768px){.header-container{flex-wrap:wrap;padding:.5rem var(--space-md)}.dashboard-title{font-size:1.25rem}.dashboard-subtitle{display:block;font-size:.65rem}}.params-summary{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .75rem;font-size:.875rem;color:var(--text-secondary)}.params-summary .pill{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:var(--bg-tertiary);border:1px solid var(--bg-quaternary);border-radius:var(--radius-full)}@media print{.params-summary{color:#111827}.params-summary .pill{background:#fff;border-color:#000;color:#111827}}.data-table{table-layout:auto!important;min-width:0!important;width:100%!important}.data-table col{width:auto!important}@media (max-width: 900px){.table-container{overflow-x:auto}.data-table,.data-table thead,.data-table tbody,.data-table tr,.data-table th,.data-table td{display:block}.data-table thead{display:none}.data-table tr{margin:0 0 12px;padding:10px;border-radius:8px;background:var(--card-bg, #fff);box-shadow:0 1px 2px #0000000a;border:1px solid rgba(0,0,0,.04)}.data-table td{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border:none;box-sizing:border-box}.data-table td:before{content:attr(data-col);font-weight:600;color:#000000a6;margin-right:8px;flex:0 0 45%;max-width:45%;white-space:normal}.data-table td .cell-value{text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%;display:inline-block}.data-table thead th:nth-child(1),.data-table tbody td:nth-child(1){position:static!important;left:auto!important;box-shadow:none!important}}@media (min-width: 901px) and (max-width: 1200px){.data-table{table-layout:fixed!important}.data-table col{width:auto!important}}html{font-size:clamp(14px,1.5vw,16px)}.main-content{max-width:1200px;padding:clamp(1rem,2.5vw,2rem)}.header-container{padding:clamp(.5rem,1.5vw,1.125rem) var(--space-xl)}.map-container{height:clamp(300px,40vh,700px)!important}img,picture,video,svg{max-width:100%;height:auto;display:block}.stats-grid,.summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.cepage-badge{white-space:normal;overflow:hidden;text-overflow:ellipsis;max-width:100%}@media (max-width: 1200px){.table-container{overflow-x:auto}.data-table{table-layout:fixed}.data-table thead th,.data-table td{padding:.6rem .75rem}.data-table td .cell-value{max-width:120px}}@media (max-width: 600px){.stat-card,.summary-card,.section-card{box-shadow:none!important;border:1px solid rgba(0,0,0,.04)!important;padding:clamp(.75rem,2.5vw,1rem)!important}.cepage-badge{padding:.4rem .6rem!important;font-size:.75rem!important}.data-table tr{padding:8px}.data-table td:before{font-size:.85rem}.data-table td .cell-value{font-size:.9rem}}:root{--container-max: 1200px}html{font-size:clamp(14px,1.6vw,16px)}.main-content{max-width:var(--container-max);padding:clamp(.75rem,2.5vw,2rem)}.dashboard-header{padding-block:clamp(8px,1.2vw,12px);padding-left:max(var(--space-md),env(safe-area-inset-left));padding-right:max(var(--space-md),env(safe-area-inset-right));height:auto}.header-container{gap:clamp(.5rem,1.5vw,1rem);flex-wrap:nowrap;min-height:56px}.hamburger-btn{min-height:40px;min-width:40px;z-index:10002}.mobile-nav-panel{position:fixed;top:calc(var(--header-height, 64px));left:0;right:0;height:calc(100svh - var(--header-height, 64px));overflow:auto;-webkit-overflow-scrolling:touch;background:var(--bg-primary, #fff);z-index:10001;padding-bottom:max(1rem,env(safe-area-inset-bottom))}.stats-grid,.summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(.75rem,2vw,1.25rem)}@media (max-width: 720px){.stat-card,.summary-card,.section-card{box-shadow:var(--shadow-sm);transform:none!important}.hamburger-btn{display:inline-flex!important}.stat-card:hover,.summary-card:hover{transform:translateY(-3px)}.stat-card-value{font-size:clamp(1.5rem,6vw,2.25rem)}}@media (max-width: 900px){.table-container{overflow:visible}.data-table,.data-table thead,.data-table tbody,.data-table tr,.data-table th,.data-table td{display:block}.data-table thead{display:none}.data-table tr{margin:0 0 12px;padding:10px;border-radius:10px;background:var(--bg-white, #fff);box-shadow:0 1px 6px #00000014;border:1px solid rgba(0,0,0,.06)}.data-table td{display:grid;grid-template-columns:1fr auto;gap:8px;padding:8px 6px;border:0}.data-table td:before{content:attr(data-col);font-weight:700;color:#334155;margin-right:8px}.data-table td .cell-value{max-width:100%;text-align:right}}@media (hover: none),(pointer: coarse){.progress-fill:before,.alert:after,.map-wrapper:after{display:none!important}.stat-card,.summary-card{transition:transform .15s ease}}.map-container{height:clamp(280px,55svh,700px)!important}img,video,svg,canvas{max-width:100%;height:auto}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}*:focus-visible{outline-width:3px}@media (max-width: 400px){.header-right .btn,.header-right .user-badge{padding:.35rem .55rem}.dashboard-title{font-size:1rem}.cepage-badge{padding:.35rem .55rem;font-size:.75rem}}.mobile-nav-panel{position:fixed!important;left:0!important;right:0!important;top:calc(var(--header-height, 58px))!important;height:calc(100svh - var(--header-height, 58px))!important;width:100vw!important;margin:0!important;border-left:0;border-right:0;overflow:auto;-webkit-overflow-scrolling:touch;z-index:10001}.dashboard-header{--header-height: 64px}@media (max-width: 768px){.dashboard-header{--header-height: 58px}}body.nav-open{overflow:hidden;height:100vh}.mobile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay, rgba(15, 23, 42, .55));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10000;display:none}.mobile-backdrop.is-open{display:block}.mobile-nav-items>*{display:flex;align-items:center;gap:.75rem;padding:.875rem .75rem;border-radius:12px}.mobile-nav-items>*:hover{background:var(--bg-hover, #f8fafc)}@media (max-width: 768px){.hamburger-btn{position:fixed!important;right:1rem;top:calc(env(safe-area-inset-top,0px) + 10px);transform:none!important;min-width:40px;min-height:40px;z-index:10002}}.leaflet-popup-content button,.leaflet-popup-content button *,.leaflet-popup button,.leaflet-popup button *{color:inherit!important;opacity:1!important;visibility:visible!important}.leaflet-popup-content button span,.leaflet-popup button span{color:#fff!important;opacity:1!important;display:inline!important}:root{--meteo-sky-light: #87CEEB;--meteo-sky-medium: #4A90E2;--meteo-sky-dark: #2E5C8A;--meteo-sun: #FDB813;--meteo-cloud: #E8E8E8;--meteo-rain: #4682B4;--meteo-snow: #B0E0E6;--meteo-wind: #98D8C8}.dashboard-container{min-height:100vh!important;background:linear-gradient(180deg,#1e3c72,#2a5298,#7e8ba3,#bcccdc,#e8f1f5)!important;position:relative!important;overflow-x:hidden!important}.dashboard-container:before{content:""!important;position:fixed!important;top:0!important;left:0!important;width:200%!important;height:100%!important;background-image:radial-gradient(ellipse 200px 100px at 20% 30%,rgba(255,255,255,.3) 0%,transparent 50%),radial-gradient(ellipse 250px 120px at 60% 50%,rgba(255,255,255,.25) 0%,transparent 50%),radial-gradient(ellipse 180px 90px at 85% 70%,rgba(255,255,255,.2) 0%,transparent 50%)!important;animation:floatClouds 60s linear infinite!important;pointer-events:none!important;z-index:0!important}@keyframes floatClouds{0%{transform:translate(0)}to{transform:translate(-50%)}}.dashboard-container>*{position:relative!important;z-index:1!important}.dashboard-header{background:#fffffff2!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;backdrop-filter:blur(20px) saturate(180%)!important;border-bottom:2px solid rgba(255,255,255,.3)!important;box-shadow:0 8px 32px #1e3c7233!important}.dashboard-title{font-size:28px!important;font-weight:800!important;background:linear-gradient(135deg,#1e3c72,#2a5298,#7e8ba3)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}.dashboard-subtitle{color:#6b7280!important;font-weight:600!important}.user-badge{background:linear-gradient(135deg,#4a90e226,#87ceeb26)!important;border:2px solid rgba(74,144,226,.3)!important;padding:10px 16px!important;border-radius:12px!important;font-weight:700!important;color:#1e3c72!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}.stat-card{background:#fffffff2!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;backdrop-filter:blur(20px) saturate(180%)!important;border:2px solid rgba(255,255,255,.5)!important;box-shadow:0 8px 32px #1e3c7226!important;transition:all .4s cubic-bezier(.4,0,.2,1)!important}.stat-card:hover{transform:translateY(-8px) scale(1.02)!important;box-shadow:0 16px 48px #1e3c7240!important;border-color:#4a90e299!important}.stat-card-icon{font-size:48px!important;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))!important}.stat-card-value{font-size:42px!important;font-weight:900!important;background:linear-gradient(135deg,#1e3c72,#4a90e2)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}.section-card{background:#fffffff2!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;backdrop-filter:blur(20px) saturate(180%)!important;border:2px solid rgba(255,255,255,.5)!important;box-shadow:0 8px 32px #1e3c7226!important;border-radius:24px!important;overflow:hidden!important}.section-title{font-size:24px!important;font-weight:800!important;color:#1e3c72!important;display:flex!important;align-items:center!important;gap:12px!important}.section-title svg{color:#4a90e2!important}.btn-primary{background:linear-gradient(135deg,#4a90e2,#2e5c8a)!important;border:none!important;box-shadow:0 4px 16px #4a90e266!important;font-weight:700!important;transition:all .3s ease!important}.btn-primary:hover:not(:disabled){transform:translateY(-2px)!important;box-shadow:0 8px 24px #4a90e280!important}.btn-secondary{background:#98d8c833!important;border:2px solid #98D8C8!important;color:#2e5c8a!important;font-weight:700!important}.btn-secondary:hover{background:#98d8c8!important;color:#fff!important}.btn-outline{background:#ffffff80!important;border:2px solid rgba(74,144,226,.5)!important;color:#2e5c8a!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;font-weight:700!important}.btn-outline:hover{background:#4a90e226!important;border-color:#4a90e2!important}.input-field{background:#ffffffe6!important;border:2px solid rgba(74,144,226,.3)!important;border-radius:12px!important;padding:14px 20px!important;font-weight:600!important;transition:all .3s ease!important}.input-field:focus{outline:none!important;border-color:#4a90e2!important;box-shadow:0 0 0 4px #4a90e226!important;background:#fff!important}.input-label{font-weight:700!important;color:#2e5c8a!important;display:flex!important;align-items:center!important;gap:8px!important}.input-label svg{color:#4a90e2!important}.cepage-badge{border-radius:12px!important;border:2px solid rgba(74,144,226,.3)!important;transition:all .3s ease!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}.cepage-badge:hover{transform:translateY(-4px)!important;box-shadow:0 8px 20px #4a90e24d!important}.summary-card{background:#ffffffe6!important;-webkit-backdrop-filter:blur(15px)!important;backdrop-filter:blur(15px)!important;border:2px solid rgba(255,255,255,.5)!important;border-radius:16px!important;transition:all .3s ease!important}.summary-card:hover{transform:translateY(-4px)!important;box-shadow:0 12px 32px #1e3c7233!important}.summary-card.info{background:linear-gradient(135deg,#4a90e21a,#87ceeb1a)!important;border-color:#4a90e266!important}.summary-card.warning{background:linear-gradient(135deg,#fdb8131a,#ffa5001a)!important;border-color:#fdb81366!important}.summary-card.success{background:linear-gradient(135deg,#98d8c81a,#10b9811a)!important;border-color:#98d8c866!important}.summary-card-value{font-weight:900!important;color:#1e3c72!important}.summary-card-label{font-weight:700!important;color:#6b7280!important;text-transform:uppercase!important;letter-spacing:.05em!important}.alert{border-radius:16px!important;border:2px solid!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;font-weight:600!important}.alert-info{background:#4a90e21a!important;border-color:#4a90e266!important;color:#2e5c8a!important}.alert-danger{background:#ef44441a!important;border-color:#ef444466!important;color:#991b1b!important}.section-card canvas{filter:drop-shadow(0 4px 8px rgba(0,0,0,.05))!important}.skeleton{background:linear-gradient(90deg,#4a90e21a,#87ceeb33,#4a90e21a)!important;background-size:200% 100%!important;animation:skeletonWave 1.5s ease-in-out infinite!important}.tooltip-icon{display:inline-block!important;width:18px!important;height:18px!important;background:#4a90e2!important;color:#fff!important;border-radius:50%!important;text-align:center!important;font-size:12px!important;font-weight:700!important;line-height:18px!important;cursor:help!important;margin-left:6px!important;transition:all .3s ease!important}.tooltip-icon:hover{transform:scale(1.2)!important;background:#2e5c8a!important}.parameters-grid{gap:20px!important}.parameters-grid .input-group{background:#ffffff80!important;padding:20px!important;border-radius:16px!important;border:2px solid rgba(74,144,226,.2)!important;transition:all .3s ease!important}.parameters-grid .input-group:hover{background:#fffc!important;border-color:#4a90e266!important;transform:translateY(-2px)!important}.stats-grid{gap:20px!important}.section-actions{display:flex!important;gap:12px!important}@keyframes gentlePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.stat-card-icon.warning{animation:sunGlow 3s ease-in-out infinite!important}@keyframes sunGlow{0%,to{filter:drop-shadow(0 0 8px rgba(253,184,19,.5))}50%{filter:drop-shadow(0 0 16px rgba(253,184,19,.8))}}.stat-card-icon.success{animation:waterDrop 2s ease-in-out infinite!important}@keyframes waterDrop{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.stat-card-icon.primary{animation:windBlow 3s ease-in-out infinite!important}@keyframes windBlow{0%,to{transform:translate(0)}25%{transform:translate(4px)}75%{transform:translate(-4px)}}.stat-card-icon.danger{animation:heatPulse 2s ease-in-out infinite!important}@keyframes heatPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.summary-card:has(.summary-card-label){position:relative!important;overflow:visible!important}@media (max-width: 768px){.dashboard-title{font-size:22px!important}.stat-card-value{font-size:36px!important}.section-title{font-size:20px!important}.stats-grid{grid-template-columns:1fr!important;gap:16px!important}.parameters-grid{grid-template-columns:1fr!important}}@media (max-width: 480px){.dashboard-container:before{animation:floatClouds 90s linear infinite!important}.stat-card-value{font-size:32px!important}.user-badge{padding:8px 12px!important;font-size:13px!important}}.stat-card:after{content:""!important;position:absolute!important;top:-50%!important;left:-50%!important;width:200%!important;height:200%!important;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%)!important;transform:rotate(45deg)!important;transition:all .6s ease!important;opacity:0!important;pointer-events:none!important}.stat-card:hover:after{opacity:1!important;animation:shine 1.5s ease-in-out!important}@keyframes shine{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}.main-content{padding:32px!important}@media (max-width: 768px){.main-content{padding:16px!important}}.section-card>div:has(canvas){background:#fffc!important;-webkit-backdrop-filter:blur(15px)!important;backdrop-filter:blur(15px)!important;border:2px solid rgba(255,255,255,.5)!important}::-webkit-scrollbar{width:10px!important;height:10px!important}::-webkit-scrollbar-track{background:#fff3!important;border-radius:5px!important}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#4a90e2,#2e5c8a)!important;border-radius:5px!important}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#2e5c8a,#1e3c72)!important}.spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px}.spinner{position:relative;display:inline-block}.spinner-ring{position:absolute;border-radius:50%;border:3px solid transparent;animation:spin 1.5s cubic-bezier(.5,0,.5,1) infinite}.spinner-small .spinner-ring{width:20px;height:20px;border-width:2px}.spinner-medium .spinner-ring{width:40px;height:40px;border-width:3px}.spinner-large .spinner-ring{width:60px;height:60px;border-width:4px}.spinner-primary .spinner-ring{border-top-color:#1e3ee8;border-right-color:#1e3ee8}.spinner-secondary .spinner-ring{border-top-color:#6b7280;border-right-color:#6b7280}.spinner-success .spinner-ring{border-top-color:#10b981;border-right-color:#10b981}.spinner-ring:nth-child(1){animation-delay:0s}.spinner-ring:nth-child(2){animation-delay:.15s;opacity:.7}.spinner-ring:nth-child(3){animation-delay:.3s;opacity:.4}.spinner-text{font-size:14px;color:#6b7280;margin:0;font-weight:500}.loading-dots-container{display:inline-flex;align-items:center;gap:6px;padding:8px 16px}.loading-dots-text{font-size:14px;color:#475569;font-weight:500}.loading-dots{display:inline-flex;gap:4px}.loading-dots .dot{width:6px;height:6px;background:#1e3ee8;border-radius:50%;animation:dotPulse 1.4s ease-in-out infinite}.loading-dots .dot:nth-child(1){animation-delay:0s}.loading-dots .dot:nth-child(2){animation-delay:.2s}.loading-dots .dot:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.progress-bar-container{width:100%;display:flex;flex-direction:column;gap:8px}.progress-label{font-size:13px;color:#334155;font-weight:600;display:flex;justify-content:space-between;align-items:center}.progress-bar-track{height:8px;background:#e5e7eb;border-radius:8px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#1e3ee8,#3b82f6);border-radius:8px;transition:width .3s ease-out;position:relative;overflow:hidden}.progress-bar-fill.animated{animation:progressPulse 2s ease-in-out infinite}.progress-bar-shimmer{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.8}}.progress-percentage{font-size:12px;color:#6b7280;text-align:right;font-weight:600}.skeleton-line{background:linear-gradient(90deg,#e5e7eb,#f3f4f6,#e5e7eb);background-size:200% 100%;border-radius:4px;animation:skeletonWave 1.5s ease-in-out infinite;margin-bottom:8px}.skeleton-line.short{width:60%!important}@keyframes skeletonWave{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{background:#fff;padding:16px;border-radius:8px;box-shadow:0 6px 18px #141e500a}.skeleton-header{width:40%;height:20px;background:linear-gradient(90deg,#e5e7eb,#f3f4f6,#e5e7eb);background-size:200% 100%;border-radius:4px;animation:skeletonWave 1.5s ease-in-out infinite;margin-bottom:12px}.skeleton-body .skeleton-line{height:16px}.skeleton-stat-card{display:flex;gap:12px;background:#fff;padding:16px;border-radius:8px;box-shadow:0 6px 18px #141e500a}.skeleton-icon{width:48px;height:48px;border-radius:8px;background:linear-gradient(90deg,#e5e7eb,#f3f4f6,#e5e7eb);background-size:200% 100%;animation:skeletonWave 1.5s ease-in-out infinite;flex-shrink:0}.skeleton-content{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton-value{width:70%;height:24px;background:linear-gradient(90deg,#e5e7eb,#f3f4f6,#e5e7eb);background-size:200% 100%;border-radius:4px;animation:skeletonWave 1.5s ease-in-out infinite;animation-delay:.1s}.skeleton-label{width:50%;height:16px;background:linear-gradient(90deg,#e5e7eb,#f3f4f6,#e5e7eb);background-size:200% 100%;border-radius:4px;animation:skeletonWave 1.5s ease-in-out infinite;animation-delay:.2s}.skeleton-table-row{animation:fadeIn .3s ease-in}.skeleton-cell{height:16px;background:linear-gradient(90deg,#e5e7eb,#f3f4f6,#e5e7eb);background-size:200% 100%;border-radius:4px;animation:skeletonWave 1.5s ease-in-out infinite}.pulse-loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px}.pulse-loader{display:flex;gap:8px}.pulse-circle{width:12px;height:12px;background:#1e3ee8;border-radius:50%;animation:pulsate 1.4s ease-in-out infinite}.pulse-circle.pulse-1{animation-delay:0s}.pulse-circle.pulse-2{animation-delay:.2s}.pulse-circle.pulse-3{animation-delay:.4s}@keyframes pulsate{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1.2);opacity:1}}.pulse-text{font-size:14px;color:#6b7280;margin:0;font-weight:500}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;min-height:300px;background:#fff;border-radius:8px;animation:fadeInUp .4s ease-out}.empty-state-icon{color:#9ca3af;margin-bottom:24px;animation:iconFloat 3s ease-in-out infinite}.empty-state.error .empty-state-icon{color:#ef4444}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-state-title{font-size:20px;font-weight:700;color:#1f2937;margin:0 0 12px}.empty-state.error .empty-state-title{color:#dc2626}.empty-state-message{font-size:15px;color:#6b7280;line-height:1.6;max-width:400px;margin:0 0 24px}.empty-state-action{margin-top:8px}.btn-retry{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#1e3ee8;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-retry:hover{background:#1632c0;transform:translateY(-1px);box-shadow:0 4px 12px #1e3ee84d}.btn-retry:active{transform:translateY(0)}.btn-retry svg{animation:rotate 2s linear infinite paused}.btn-retry:hover svg{animation-play-state:running}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toast-container{position:fixed;top:24px;right:24px;z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none}@media (max-width: 768px){.toast-container{top:12px;right:12px;left:12px}}.toast{display:flex;align-items:center;gap:12px;min-width:320px;max-width:500px;padding:14px 16px;background:#fff;border-radius:10px;box-shadow:0 10px 40px #00000026,0 0 0 1px #0000000d;pointer-events:auto;animation:toastSlideIn .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.toast.toast-exit{animation:toastSlideOut .3s cubic-bezier(.4,0,.2,1)}@keyframes toastSlideIn{0%{transform:translate(calc(100% + 24px));opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastSlideOut{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(calc(100% + 24px)) scale(.8);opacity:0}}@media (max-width: 768px){.toast{min-width:unset;width:100%}}.toast-success{border-left:4px solid #10b981}.toast-success .toast-icon{color:#10b981;background:#d1fae5}.toast-error{border-left:4px solid #ef4444}.toast-error .toast-icon{color:#ef4444;background:#fee2e2}.toast-warning{border-left:4px solid #f59e0b}.toast-warning .toast-icon{color:#f59e0b;background:#fef3c7}.toast-info{border-left:4px solid #3b82f6}.toast-info .toast-icon{color:#3b82f6;background:#dbeafe}.toast-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;flex-shrink:0}.toast-message{flex:1;font-size:14px;line-height:1.5;color:#1f2937;font-weight:500}.toast-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:#6b7280;cursor:pointer;border-radius:6px;transition:all .2s ease;flex-shrink:0}.toast-close:hover{background:#f3f4f6;color:#1f2937}.toast-close:active{transform:scale(.95)}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:currentColor;opacity:.3;animation:toastProgress linear forwards;transform-origin:left}.toast-success .toast-progress{color:#10b981}.toast-error .toast-progress{color:#ef4444}.toast-warning .toast-progress{color:#f59e0b}.toast-info .toast-progress{color:#3b82f6}@keyframes toastProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast:hover{box-shadow:0 12px 48px #0003,0 0 0 1px #0000000d;transform:translateY(-2px)}.toast:hover .toast-progress{animation-play-state:paused}.btn-enhanced{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn-enhanced:focus-visible{outline:2px solid #1e3ee8;outline-offset:2px}.btn-enhanced:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-enhanced:active:before{width:300px;height:300px}.btn-small{padding:6px 12px;font-size:13px;border-radius:6px}.btn-medium{padding:10px 18px;font-size:14px}.btn-large{padding:14px 24px;font-size:16px;border-radius:10px}.btn-primary{background:linear-gradient(135deg,#1e3ee8,#3b82f6);color:#fff;box-shadow:0 2px 8px #1e3ee840}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1632c0,#2563eb);transform:translateY(-2px);box-shadow:0 6px 16px #1e3ee859}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:#f3f4f6;color:#374151;box-shadow:0 1px 3px #0000001a}.btn-secondary:hover:not(:disabled){background:#e5e7eb;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-success{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;box-shadow:0 2px 8px #10b98140}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#059669,#10b981);transform:translateY(-2px);box-shadow:0 6px 16px #10b98159}.btn-danger{background:linear-gradient(135deg,#ef4444,#f87171);color:#fff;box-shadow:0 2px 8px #ef444440}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#ef4444);transform:translateY(-2px);box-shadow:0 6px 16px #ef444459}.btn-warning{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff;box-shadow:0 2px 8px #f59e0b40}.btn-warning:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#f59e0b);transform:translateY(-2px);box-shadow:0 6px 16px #f59e0b59}.btn-ghost{background:transparent;color:#374151;border:1px solid #e5e7eb}.btn-ghost:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;transform:translateY(-1px)}.btn-outline{background:transparent;color:#1e3ee8;border:2px solid #1e3ee8}.btn-outline:hover:not(:disabled){background:#1e3ee8;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #1e3ee840}.btn-link{background:transparent;color:#1e3ee8;padding:4px 8px;text-decoration:underline}.btn-link:hover:not(:disabled){color:#1632c0;text-decoration:none}.btn-enhanced:disabled,.btn-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading .btn-text,.btn-loading .btn-icon{opacity:0}.button-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);animation:spin 1s linear infinite}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.button-spinner circle{animation:spinDash 1.5s ease-in-out infinite}@keyframes spinDash{0%{stroke-dashoffset:32}50%{stroke-dashoffset:8}to{stroke-dashoffset:32}}.btn-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.btn-icon-left{margin-right:4px;margin-left:-4px}.btn-icon-right{margin-left:4px;margin-right:-4px}.btn-icon-only{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;flex-shrink:0}.btn-icon-only.btn-small{width:32px;height:32px;padding:0;border-radius:6px}.btn-icon-only.btn-medium{width:40px;height:40px;padding:0}.btn-icon-only.btn-large{width:48px;height:48px;padding:0;border-radius:10px}.btn-icon-only:hover:not(:disabled){transform:translateY(-2px)}.btn-full-width{width:100%}.btn-group{display:inline-flex;gap:8px}.btn-group-vertical{flex-direction:column}.btn-group.btn-group-attached{gap:0}.btn-group.btn-group-attached .btn-enhanced:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.btn-group.btn-group-attached .btn-enhanced:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group.btn-group-attached.btn-group-vertical .btn-enhanced:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;margin-left:0;margin-top:-1px}.btn-group.btn-group-attached.btn-group-vertical .btn-enhanced:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}@media (max-width: 768px){.btn-enhanced{padding:10px 16px}.btn-small{padding:6px 10px;font-size:12px}.btn-large{padding:12px 20px;font-size:15px}}@media (prefers-reduced-motion: reduce){.btn-enhanced,.btn-icon-only,.button-spinner,.button-spinner circle{animation:none!important;transition:none!important}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.stat-card{animation:fadeInUp .4s ease-out;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);transition:left .5s ease}.stat-card:hover:before{left:100%}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #141e501f}.stat-card:nth-child(1){animation-delay:.05s}.stat-card:nth-child(2){animation-delay:.1s}.stat-card:nth-child(3){animation-delay:.15s}.stat-card:nth-child(4){animation-delay:.2s}.section-container{animation:fadeInUp .5s ease-out}.panel{transition:all .3s ease}.panel:hover{box-shadow:0 12px 28px #141e5014}.btn,button{transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn:after,button:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:active:after,button:active:after{width:300px;height:300px}.btn:hover,button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.btn:active,button:active{transform:translateY(0)}.data-table{animation:fadeIn .4s ease-out}.data-table tbody tr{transition:all .2s ease}.data-table tbody tr:hover{background:#f8f9ff!important;transform:scale(1.01);box-shadow:0 2px 8px #1e3ee814}input,select,textarea{transition:all .2s ease}input:focus,select:focus,textarea:focus{transform:translateY(-1px);box-shadow:0 4px 12px #1e3ee826}.card{transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #141e501a}.floating-panel{animation:slideInRight .4s cubic-bezier(.4,0,.2,1)}.modal-overlay{animation:fadeIn .3s ease}.modal-content{animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)}.progress-bar{position:relative;overflow:hidden}.progress-bar:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:shimmer 2s infinite;transform:translate(-100%)}.badge,.tag{transition:all .2s ease}.badge:hover,.tag:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:10;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tooltip{animation:fadeInDown .2s ease}.notification{animation:slideInRight .4s cubic-bezier(.4,0,.2,1)}.notification.closing{animation:slideInRight .3s cubic-bezier(.4,0,.2,1) reverse}.skeleton{background:linear-gradient(90deg,#e5e7eb,#f3f4f6,#e5e7eb);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:4px}.stagger-item{animation:fadeInUp .4s ease-out backwards}.stagger-item:nth-child(1){animation-delay:.05s}.stagger-item:nth-child(2){animation-delay:.1s}.stagger-item:nth-child(3){animation-delay:.15s}.stagger-item:nth-child(4){animation-delay:.2s}.stagger-item:nth-child(5){animation-delay:.25s}.stagger-item:nth-child(6){animation-delay:.3s}html{scroll-behavior:smooth}:focus-visible{outline:2px solid #1e3ee8;outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.stress-card-loading{position:relative;pointer-events:none;opacity:.6}.stress-card-loading:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%);animation:shimmer 1.5s infinite}.map-loading{position:relative}.map-loading:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#fffffff2;z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.bounce{animation:bounce 1s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.glassmorphism{background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.gradient-border{position:relative;background:#fff}.gradient-border:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:2px;background:linear-gradient(135deg,#1e3ee8,#3b82f6);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}html,body{margin:0!important;padding:0!important;min-height:100vh!important;overflow-x:hidden!important;position:relative!important;height:100%!important}body{background:#f8f9fa!important;padding-top:0!important;margin-top:0!important}#root{margin:0!important;padding:0!important;height:100%!important}.dashboard-container>video{display:none!important}.dashboard-container{min-height:100vh!important;display:flex!important;flex-direction:column!important;margin:0!important;padding:0!important;position:relative!important}.dashboard-container:before{display:none!important}.dashboard-header{margin-top:0!important;position:sticky!important;top:0!important;animation:none!important;transform:none!important}.main-content{max-width:1400px;margin:0 auto;padding:32px 24px;background:#f8f9fa;width:100%;flex:1}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 1px 3px #00000014;border:1px solid #e5e7eb;transition:all .2s ease}.stat-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.stat-card-content{display:flex;align-items:center;justify-content:space-between;gap:16px}.stat-card-info h3{font-size:14px;font-weight:600;color:#6b7280;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.stat-card-value{font-size:32px;font-weight:700;color:#111827;line-height:1;margin:0}.stat-card-unit{font-size:14px;color:#9ca3af;font-weight:500;margin-top:4px}.stat-card-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-size:28px;border-radius:12px;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);flex-shrink:0}.stat-card-icon.primary{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.stat-card-icon.success{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.stat-card-icon.warning{background:linear-gradient(135deg,#fef3c7,#fde68a)}.stat-card-icon.danger{background:linear-gradient(135deg,#fee2e2,#fecaca)}.section-card{background:#fff;border-radius:16px;padding:32px;margin-bottom:24px;box-shadow:0 1px 3px #00000014;border:1px solid #e5e7eb}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f3f4f6}.section-title{font-size:24px;font-weight:700;color:#111827;margin:0;display:flex;align-items:center;gap:12px}.section-actions{display:flex;gap:12px;align-items:center}.alert{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-radius:12px;margin-bottom:20px;font-size:14px;line-height:1.6}.alert-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.alert-warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.alert-danger{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.params-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.pill{display:inline-flex;align-items:center;padding:6px 14px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;font-size:13px;font-weight:500;color:#374151}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.summary-card{background:#f9fafb;padding:16px;border-radius:10px;border:1px solid #e5e7eb;text-align:center}.summary-card-label{font-size:13px;font-weight:600;color:#6b7280;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.summary-card-value{font-size:28px;font-weight:700;color:#111827;line-height:1}.summary-card.success{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac}.summary-card.success .summary-card-value{color:#166534}.summary-card.info{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#93c5fd}.summary-card.info .summary-card-value{color:#1e40af}.summary-card.warning{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fcd34d}.summary-card.warning .summary-card-value{color:#92400e}.input-group{display:flex;flex-direction:column;gap:8px}.input-label{font-size:14px;font-weight:600;color:#374151;display:flex;align-items:center;gap:6px}.input-field{width:100%;padding:10px 14px;border:1.5px solid #d1d5db;border-radius:8px;font-size:14px;color:#111827;background:#fff;transition:all .2s ease}.input-field:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.parameters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:24px}.table-container{overflow-x:auto;border-radius:12px;border:1px solid #e5e7eb}.data-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff}.data-table thead{background:#f9fafb}.data-table th{padding:14px 16px;text-align:left;font-weight:600;color:#111827;border-bottom:2px solid #e5e7eb;white-space:nowrap}.data-table td{padding:14px 16px;border-bottom:1px solid #f3f4f6;color:#374151}.data-table tbody tr{transition:background .15s ease}.data-table tbody tr:hover{background:#f9fafb}.data-table tbody tr:last-child td{border-bottom:none}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.sortable:hover{background:#f3f4f6}.sort-icon{margin-left:6px;display:inline-flex;vertical-align:middle}.cepage-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;font-weight:600;font-size:13px;border:1.5px solid;white-space:nowrap}.cepage-icon{font-size:16px;display:inline-flex}.cepage-label{line-height:1}.progress-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-top:6px}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:3px;transition:width .3s ease}.map-wrapper{margin:24px 0;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000014;border:1px solid #e5e7eb}.map-container{width:100%;height:600px;background:#f9fafb;position:relative}.map-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#f9fafb,#f3f4f6)}.map-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:20px;padding:16px;background:#f9fafb;border-radius:10px;border:1px solid #e5e7eb}.map-mode-buttons{display:flex;gap:8px;background:#fff;padding:4px;border-radius:8px;border:1px solid #e5e7eb}.map-mode-btn{padding:8px 16px;border:none;background:transparent;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;color:#6b7280}.map-mode-btn.active{background:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f64d}.map-mode-btn.inactive:hover{background:#f3f4f6;color:#111827}.map-filter-select{padding:8px 14px;border:1.5px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;color:#374151;background:#fff;cursor:pointer;transition:all .2s ease}.map-filter-select:hover{border-color:#9ca3af}.map-filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.map-legend{background:#fff;padding:16px;border-radius:10px;margin-bottom:20px;border:1px solid #e5e7eb}.map-legend-title{display:flex;align-items:center;gap:8px;font-weight:600;color:#111827;margin-bottom:12px;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.legend-items{display:flex;flex-wrap:wrap;gap:8px}.legend-item{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:8px;font-size:13px;font-weight:500;transition:all .2s ease}.legend-item:hover{background:#f3f4f6;border-color:#d1d5db}.legend-color{width:16px;height:16px;border-radius:4px;flex-shrink:0;border:1px solid rgba(0,0,0,.1)}.legend-label{line-height:1;white-space:nowrap}.floating-panel{position:fixed;right:24px;bottom:24px;z-index:999;background:#fff;padding:20px;border-radius:12px;box-shadow:0 10px 40px #00000026;min-width:280px;max-width:400px;border:1px solid #e5e7eb;animation:slideInRight .3s ease}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.modal{background:#fff;padding:24px;border-radius:16px;width:460px;max-width:95%;box-shadow:0 20px 60px #0000004d;animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal h3{font-size:20px;font-weight:700;color:#111827;margin:0 0 16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f64d}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#e5e7eb;border-color:#9ca3af}.btn-outline{background:transparent;color:#374151;border:1.5px solid #d1d5db}.btn-outline:hover{background:#f9fafb;border-color:#9ca3af}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef44444d}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef444466;transform:translateY(-1px)}.btn-export{background:#10b981;color:#fff;border:none;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #10b9814d;transition:all .2s ease}.btn-export:hover{background:#059669;box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}@media (max-width: 768px){.main-content{padding:20px 16px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.stat-card{padding:16px}.stat-card-value{font-size:24px}.stat-card-icon{width:40px;height:40px;font-size:20px}.section-card{padding:20px 16px}.section-title{font-size:18px}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.map-container{height:400px}.floating-panel{right:12px;bottom:12px;left:12px;min-width:unset}}.mb-3{margin-bottom:24px}.text-center{text-align:center}.cell-value{font-weight:600;color:#111827}.dashboard-header{background:linear-gradient(135deg,#fff,#f8f9fa);border-bottom:1px solid #e5e7eb;padding:16px 24px;box-shadow:0 1px 3px #0000000f;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-container{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.header-left{display:flex;align-items:center;gap:16px}.logo-link{display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .2s ease;padding:8px 12px;border-radius:8px}.logo-link:hover{background:#3b82f60d}.dashboard-title{font-size:20px;font-weight:700;color:#111827;margin:0;line-height:1;letter-spacing:-.5px}.dashboard-subtitle{font-size:11px;font-weight:600;color:#6b7280;margin:4px 0 0;text-transform:uppercase;letter-spacing:1px}.header-right{display:flex;align-items:center;gap:12px}.user-badge{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;color:#111827;transition:all .2s ease;box-shadow:0 1px 3px #00000014}.user-badge:hover{background:#f9fafb;border-color:#06f;box-shadow:0 4px 12px #0066ff26}.user-badge svg{color:#374151;flex-shrink:0}.user-badge>div>div:first-child{font-weight:600;color:#111827;line-height:1.3}.user-badge>div>div:last-child{font-size:12px;color:#374151;line-height:1.3;font-weight:500}.user-badge.warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fbbf24;color:#92400e}.header-right .btn{padding:8px 14px;font-size:14px;font-weight:600;border-radius:8px;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease;white-space:nowrap;border:none;cursor:pointer}.header-right .btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.header-right .btn-secondary:hover{background:#e5e7eb;border-color:#9ca3af;transform:translateY(-1px)}.header-right .btn-secondary svg{color:#6b7280}.logout-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff!important;box-shadow:0 2px 6px #ef444440}.logout-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef444459;transform:translateY(-1px)}.hamburger-btn{display:none;background:#f9fafb;border:1px solid #e5e7eb;padding:8px 10px;border-radius:8px;cursor:pointer;transition:all .2s ease;flex-direction:column;gap:4px}.hamburger-btn:hover{background:#f3f4f6;border-color:#d1d5db}.hamburger-line{width:20px;height:2px;background:#374151;border-radius:2px;transition:all .3s ease}.mobile-nav-panel{position:fixed;top:0;right:0;width:320px;max-width:85vw;height:100vh;background:#fff;box-shadow:-4px 0 24px #00000026;z-index:1000;animation:slideInFromRight .3s ease;overflow-y:auto}@keyframes slideInFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-nav-items{padding:24px 20px;display:flex;flex-direction:column;gap:12px}.mobile-nav-items .user-badge{width:100%;justify-content:flex-start}.mobile-nav-items .btn{width:100%;justify-content:flex-start;padding:12px 16px}.mobile-nav-panel:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:-1}@media (max-width: 1024px){.header-right .btn-secondary span{display:none}.header-right .btn-secondary svg{margin:0}}@media (max-width: 768px){.dashboard-header{padding:12px 16px}.header-container{gap:12px}.header-left{flex:1;justify-content:space-between}.dashboard-title{font-size:18px}.dashboard-subtitle{font-size:10px}.header-right{display:none!important}.hamburger-btn{display:flex}}.dashboard-header.scrolled{padding:12px 24px;box-shadow:0 2px 8px #0000001a}.dashboard-header.scrolled .dashboard-title{font-size:18px}.dashboard-header.scrolled .dashboard-subtitle{display:none}.header-right>*{animation:fadeInDown .4s ease backwards}.header-right>*:nth-child(1){animation-delay:.05s}.header-right>*:nth-child(2){animation-delay:.1s}.header-right>*:nth-child(3){animation-delay:.15s}.header-right>*:nth-child(4){animation-delay:.2s}.header-right>*:nth-child(5){animation-delay:.25s}.header-right .btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.header-right .btn:active{transform:translateY(0)!important}@media (prefers-color-scheme: dark){.dashboard-header{background:linear-gradient(135deg,#1f2937,#111827);border-bottom-color:#374151}.dashboard-title{color:#f9fafb}.dashboard-subtitle{color:#9ca3af}.user-badge{background:#374151;border-color:#4b5563;color:#d1d5db}.user-badge>div>div:first-child{color:#f9fafb}.header-right .btn-secondary{background:#374151;border-color:#4b5563;color:#d1d5db}.header-right .btn-secondary:hover{background:#4b5563;border-color:#6b7280}.mobile-nav-panel{background:#1f2937}.hamburger-line{background:#d1d5db}}.header-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.header-badge.badge-info{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border:1px solid #93c5fd}.header-badge.badge-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #fbbf24}.header-badge.badge-danger{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border:1px solid #fca5a5}.header-divider{width:1px;height:32px;background:#e5e7eb;margin:0 4px}@media (max-width: 768px){.header-divider{display:none}}.dashboard-header{padding:16px 24px!important;height:auto!important;min-height:unset!important;--header-height: 72px !important}.header-container{padding:0!important;gap:24px!important;flex-wrap:nowrap!important;min-height:unset!important;max-width:1400px;margin:0 auto}.logo-link{padding:8px 12px!important;margin:0!important}.dashboard-title{font-size:20px!important;line-height:1!important;margin:0!important}.dashboard-subtitle{display:block!important;font-size:11px!important;margin:4px 0 0!important}.header-left{display:flex!important;align-items:center!important;gap:16px!important;flex:0 0 auto!important}.header-right{display:flex!important;align-items:center!important;gap:12px!important;flex:0 0 auto!important;margin-left:auto!important}.user-badge{padding:8px 16px!important;font-size:14px!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:10px!important;display:flex!important;align-items:center!important;gap:10px!important;color:#111827!important;box-shadow:0 1px 3px #00000014!important}.user-badge:hover{background:#f9fafb!important;border-color:#06f!important;color:#111827!important;box-shadow:0 4px 12px #0066ff26!important}.user-badge>div>div:first-child{color:#111827!important;font-weight:600!important}.user-badge>div>div:last-child{color:#374151!important;font-weight:500!important}.user-badge svg{color:#374151!important}.header-right .btn{padding:8px 14px!important;font-size:14px!important;border-radius:8px!important;display:inline-flex!important;align-items:center!important;gap:6px!important;white-space:nowrap!important;font-weight:600!important}.header-right .btn-secondary{background:#f3f4f6!important;color:#374151!important;border:1px solid #d1d5db!important}.header-right .btn-secondary:hover{background:#e5e7eb!important;border-color:#9ca3af!important;transform:translateY(-1px)!important}.logout-btn{background:linear-gradient(135deg,#ef4444,#dc2626)!important;color:#fff!important;box-shadow:0 2px 6px #ef444440!important;border:none!important}.logout-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)!important;box-shadow:0 4px 12px #ef444459!important;transform:translateY(-1px)!important}.logout-btn svg{color:#fff!important}.hamburger-btn{display:none!important;min-width:40px!important;min-height:40px!important;padding:8px 10px!important;background:#f9fafb!important;border:1px solid #e5e7eb!important;border-radius:8px!important;cursor:pointer!important;flex-direction:column!important;gap:4px!important;justify-content:center!important;align-items:center!important;position:relative!important;right:auto!important;top:auto!important;z-index:1002!important;box-shadow:none!important}.hamburger-btn:hover{background:#f3f4f6!important;border-color:#d1d5db!important;transform:none!important}.hamburger-line{width:20px!important;height:2px!important;background:#374151!important;border-radius:2px!important;display:block!important;margin:0!important;box-shadow:none!important}.mobile-nav-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:#00000080!important;z-index:1000!important;-webkit-backdrop-filter:blur(2px)!important;backdrop-filter:blur(2px)!important;animation:fadeIn .3s ease!important}.mobile-nav-panel{position:fixed!important;top:0!important;right:0!important;width:320px!important;max-width:85vw!important;height:100vh!important;background:#fff!important;box-shadow:-4px 0 24px #00000026!important;z-index:1001!important;overflow-y:auto!important;padding:0!important;margin:0!important;left:auto!important;border:none!important}.mobile-nav-close{position:absolute!important;top:16px!important;right:16px!important;width:40px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#f3f4f6!important;border:1px solid #e5e7eb!important;border-radius:8px!important;cursor:pointer!important;transition:all .2s ease!important;z-index:10!important;padding:0!important;color:#374151!important}.mobile-nav-close:hover{background:#e5e7eb!important;border-color:#d1d5db!important;transform:rotate(90deg)!important}.mobile-nav-close:active{transform:rotate(90deg) scale(.95)!important}.mobile-nav-close svg{width:20px!important;height:20px!important;stroke:currentColor!important}.mobile-nav-items{padding:70px 20px 24px!important;display:flex!important;flex-direction:column!important;gap:12px!important}.mobile-nav-items .user-badge,.mobile-nav-items .btn{width:100%!important;justify-content:flex-start!important;margin:0!important}.mobile-nav-items .btn{padding:12px 16px!important}@media (max-width: 1024px){.header-right .btn-secondary span{display:none!important}.header-right .btn-secondary svg{margin:0!important}.header-right .btn{padding:8px 12px!important}}@media (max-width: 768px){.dashboard-header{padding:12px 16px!important;--header-height: 64px !important}.header-container{gap:12px!important}.header-left{flex:1!important;justify-content:space-between!important}.dashboard-title{font-size:18px!important}.dashboard-subtitle{font-size:10px!important}.header-right{display:none!important}.hamburger-btn{display:flex!important}.mobile-nav-panel{top:64px!important;height:calc(100vh - 64px)!important}}@media (max-width: 400px){.dashboard-title{font-size:16px!important}.mobile-nav-panel{width:100vw!important;max-width:100vw!important}}.header-right>*{animation:fadeInDown .4s ease backwards!important}.header-right>*:nth-child(1){animation-delay:.05s!important}.header-right>*:nth-child(2){animation-delay:.1s!important}.header-right>*:nth-child(3){animation-delay:.15s!important}.header-right>*:nth-child(4){animation-delay:.2s!important}.header-right>*:nth-child(5){animation-delay:.25s!important}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.mobile-nav-panel{animation:slideInFromRight .3s ease!important}.breadcrumbs{display:none!important}.header-right .btn:focus-visible,.logout-btn:focus-visible,.hamburger-btn:focus-visible{outline:2px solid #3b82f6!important;outline-offset:2px!important}@media (prefers-reduced-motion: reduce){.header-right>*,.mobile-nav-panel{animation:none!important}}.dashboard-header{z-index:100!important;position:sticky!important;top:0!important}.hamburger-btn{z-index:1002!important}.mobile-nav-panel{z-index:1001!important}.header-container,.dashboard-header,.dashboard-container{overflow:visible!important}body.nav-open{overflow:hidden!important;height:100vh!important}.user-badge.warning,.header-right .user-badge[style*=fadbd8]{background:linear-gradient(135deg,#fef3c7,#fde68a)!important;border-color:#fbbf24!important;color:#92400e!important}@media (prefers-color-scheme: dark){.dashboard-header{background:linear-gradient(135deg,#fff,#f8f9fa)!important;border-bottom-color:#e5e7eb!important}.dashboard-title{color:#111827!important}.dashboard-subtitle{color:#6b7280!important}.user-badge{background:#fff!important;border-color:#e5e7eb!important;color:#111827!important}.user-badge>div>div:first-child{color:#111827!important}.user-badge>div>div:last-child{color:#374151!important}.header-right .btn-secondary{background:#374151!important;border-color:#4b5563!important;color:#d1d5db!important}.header-right .btn-secondary:hover{background:#4b5563!important;border-color:#6b7280!important}.mobile-nav-panel{background:#1f2937!important}.hamburger-btn{background:#374151!important;border-color:#4b5563!important}.hamburger-line{background:#d1d5db!important}.mobile-nav-close{background:#374151!important;border-color:#4b5563!important;color:#d1d5db!important}.mobile-nav-close:hover{background:#4b5563!important;border-color:#6b7280!important}.mobile-nav-overlay{background:#000000b3!important}}.dashboard-header{background:linear-gradient(135deg,#fff,#f8f9fa)!important;border-bottom:1px solid #e5e7eb!important;box-shadow:0 1px 3px #0000000f!important}.header-right>*{opacity:1!important;visibility:visible!important}:root{--primary-color: #c53030;--primary-dark: #9b2c2c;--text-primary: #2d3748;--text-secondary: #718096;--text-muted: #a0aec0;--bg-white: #ffffff;--bg-light: #f7fafc;--bg-lighter: #edf2f7;--border-color: #e2e8f0;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--transition: all .3s ease}*{box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.directory-root{min-height:100vh;background:linear-gradient(135deg,#2d3748,#1a202c);padding:2rem}.directory-container{max-width:1400px;margin:0 auto}.directory-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.header-content h1{font-size:2rem;font-weight:700;color:#fff;margin:0 0 .5rem}.header-content p{color:#ffffffb3;font-size:.95rem;margin:0}.tabs-container{display:flex;gap:1rem;margin-bottom:2rem}.tab{padding:.75rem 1.5rem;background:#ffffff1a;border:none;border-radius:var(--radius-sm);color:#ffffffb3;cursor:pointer;font-size:.95rem;font-weight:500;transition:var(--transition)}.tab:hover:not(.active){background:#ffffff26;color:#fff}.tab.active{background:var(--primary-color);color:#fff;font-weight:600}.search-bar-container{margin-bottom:2rem}.search-input{width:100%;max-width:500px;padding:1rem 1.5rem;background:#fff;border:none;border-radius:var(--radius-md);font-size:.95rem;box-shadow:var(--shadow-md);transition:var(--transition)}.search-input:focus{outline:none;box-shadow:0 4px 12px #c5303033}.loading{text-align:center;padding:3rem;color:#fff;font-size:1.1rem}.empty-state{text-align:center;padding:3rem;background:#fff;border-radius:var(--radius-lg);color:var(--text-secondary);font-size:1rem}.associes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem}.associe-card{background:#fff;border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-md);transition:var(--transition);position:relative;overflow:hidden;cursor:pointer}.associe-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--primary-color) 0%,var(--primary-dark) 100%)}.associe-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.associe-card.expanded{box-shadow:0 8px 16px #c5303026}.associe-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.associe-info h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.associe-code{font-size:.85rem;color:var(--text-secondary);font-family:Courier New,Courier,monospace;font-weight:500}.associe-badge{background:var(--bg-light);padding:.4rem .8rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.associe-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.25rem}.stat-item{background:var(--bg-light);padding:1rem;border-radius:10px;text-align:center}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.stat-label{font-size:.8rem;color:var(--text-secondary);font-weight:500;text-transform:capitalize}.parcelles-preview{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border-color)}.parcelles-title{font-size:.85rem;color:var(--text-secondary);font-weight:600;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.parcelles-list{display:flex;flex-wrap:wrap;gap:.5rem}.parcelle-tag{background:var(--bg-lighter);padding:.4rem .8rem;border-radius:6px;font-size:.8rem;color:var(--text-secondary);font-family:Courier New,Courier,monospace;font-weight:500}.parcelles-more{background:var(--primary-color);color:#fff;padding:.4rem .8rem;border-radius:6px;font-size:.8rem;font-weight:600}.view-details-btn{width:100%;margin-top:1rem;padding:.75rem;background:var(--bg-light);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-weight:600;font-size:.9rem;cursor:pointer;transition:var(--transition)}.view-details-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.parcelles-detail{margin-top:1rem;background:var(--bg-light);border-radius:var(--radius-sm);padding:1rem}.detail-title{font-size:.95rem;margin-bottom:.75rem;display:block;color:var(--text-primary)}.no-parcelles{color:var(--text-muted);font-style:italic}.parcelles-full-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;max-height:300px;overflow-y:auto}.parcelle-item{background:#fff;padding:.5rem .75rem;border-radius:6px;font-size:.85rem;font-family:Courier New,Courier,monospace;color:var(--text-primary);border:1px solid var(--border-color)}.employes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem}.employe-card{background:#fff;border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-md);transition:var(--transition);position:relative;overflow:hidden}.employe-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,#4299e1,#2b6cb0)}.employe-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.employe-info h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.employe-contact{font-size:.9rem;color:var(--text-secondary)}.employe-actions{display:flex;gap:.75rem;margin-top:1rem}.create-employee-actions{margin-bottom:2rem;display:flex;justify-content:flex-end}.create-form,.edit-form{background:#fff;padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:2rem;display:flex;flex-direction:column;gap:1rem}.create-form input,.edit-form input{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.95rem;transition:var(--transition)}.create-form input:focus,.edit-form input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #c530301a}.edit-actions{display:flex;gap:.75rem}.error-message{color:#e53e3e;background:#fff5f5;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.9rem;border:1px solid #feb2b2}.success-message{color:#38a169;background:#f0fff4;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.9rem;border:1px solid #9ae6b4}.auth-error-container{max-width:500px;margin:60px auto;padding:2rem;background:#fff5f5;border-radius:var(--radius-lg);box-shadow:0 4px 12px #e53e3e4d;color:#c53030;text-align:center}.auth-error-container h2{margin-bottom:1rem}.btn{padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;cursor:pointer;transition:var(--transition);border:none;display:inline-block;text-align:center}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline{background:var(--bg-lighter);color:var(--text-primary);border:2px solid var(--primary-color);box-shadow:var(--shadow-sm)}.btn-outline:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-dark)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626)!important;border-color:#dc2626!important;color:#fff!important;box-shadow:0 2px 8px #ef44444d!important}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)!important;border-color:#b91c1c!important;color:#fff!important;box-shadow:0 4px 12px #ef444466!important}@media (max-width: 768px){.directory-root{padding:1rem}.directory-header{flex-direction:column;align-items:flex-start}.header-content h1{font-size:1.5rem}.associes-grid,.employes-grid{grid-template-columns:1fr}.tabs-container{width:100%}.tab{flex:1;text-align:center}.search-input{max-width:100%}.associe-card-header{flex-direction:column;gap:.5rem}.associe-badge{align-self:flex-start}.parcelles-full-list{grid-template-columns:1fr}}@media (max-width: 480px){.associe-stats{grid-template-columns:1fr}.employe-actions,.edit-actions{flex-direction:column}.btn{width:100%}}.directory-root~*{margin:0!important;padding:0!important}:root{--directory-primary: #3b82f6;--directory-primary-dark: #2563eb;--directory-secondary: #10b981;--directory-danger: #ef4444;--directory-text: #111827;--directory-text-secondary: #6b7280;--directory-bg: #f9fafb;--directory-white: #ffffff;--directory-border: #e5e7eb;--directory-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--directory-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1);--directory-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--directory-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--directory-radius: 12px;--directory-radius-lg: 16px}.directory-root{min-height:100vh!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;padding:32px!important;margin:0!important;position:relative!important}@media (max-width: 768px){.directory-root{padding:16px!important}}.directory-container{max-width:1400px!important;margin:0 auto!important;animation:fadeInUp .5s ease!important}.directory-header{background:var(--directory-white)!important;padding:24px 32px!important;border-radius:var(--directory-radius-lg)!important;box-shadow:var(--directory-shadow-md)!important;margin-bottom:24px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:16px!important;animation:slideInDown .4s ease!important}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.header-content h1{font-size:28px!important;font-weight:700!important;color:var(--directory-text)!important;margin:0 0 8px!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}.header-content p{color:var(--directory-text-secondary)!important;font-size:14px!important;margin:0!important}.tabs-container{display:flex!important;gap:12px!important;margin-bottom:24px!important;background:var(--directory-white)!important;padding:8px!important;border-radius:var(--directory-radius)!important;box-shadow:var(--directory-shadow)!important}.tab{flex:1!important;padding:12px 24px!important;background:transparent!important;border:none!important;border-radius:8px!important;color:var(--directory-text-secondary)!important;cursor:pointer!important;font-size:15px!important;font-weight:600!important;transition:all .3s ease!important;position:relative!important}.tab:hover:not(.active){background:var(--directory-bg)!important;color:var(--directory-text)!important}.tab.active{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;box-shadow:var(--directory-shadow-md)!important}.search-bar-container{margin-bottom:24px!important}.search-input{width:100%!important;max-width:600px!important;padding:14px 20px 14px 48px!important;background:var(--directory-white)!important;border:2px solid var(--directory-border)!important;border-radius:var(--directory-radius)!important;font-size:15px!important;box-shadow:var(--directory-shadow)!important;transition:all .3s ease!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:16px center!important;background-size:20px!important}.search-input:focus{outline:none!important;border-color:#667eea!important;box-shadow:0 0 0 4px #667eea1a!important}.loading{text-align:center!important;padding:64px!important;color:#fff!important;font-size:20px!important;font-weight:700!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:20px!important;background:#ffffff1a!important;border-radius:var(--directory-radius-lg)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}.loading svg{filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))!important}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center!important;padding:64px 24px!important;background:var(--directory-white)!important;border-radius:var(--directory-radius-lg)!important;color:var(--directory-text-secondary)!important;font-size:16px!important;box-shadow:var(--directory-shadow)!important}.associes-grid,.employes-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))!important;gap:20px!important}@media (max-width: 768px){.associes-grid,.employes-grid{grid-template-columns:1fr!important}}.associe-card{background:#fffffff2!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;backdrop-filter:blur(20px) saturate(180%)!important;border-radius:20px!important;padding:28px!important;box-shadow:0 8px 32px #667eea26,0 2px 8px #0000001a!important;transition:all .4s cubic-bezier(.4,0,.2,1)!important;border:2px solid rgba(255,255,255,.8)!important;animation:fadeInUp .6s ease!important;position:relative!important;overflow:hidden!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.associe-card:before{content:""!important;position:absolute!important;top:0!important;left:-100%!important;width:100%!important;height:100%!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent)!important;transition:left .5s ease!important}.associe-card:hover:before{left:100%!important}.associe-card:hover{transform:translateY(-8px) scale(1.02)!important;box-shadow:0 16px 48px #667eea40,0 8px 16px #00000026!important;border-color:#667eea99!important}.associe-card.expanded{border-color:#667eea!important;box-shadow:0 20px 60px #667eea4d,0 12px 24px #0003!important;background:#fffffffa!important}.associe-card-header{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;margin-bottom:16px!important;gap:12px!important}.associe-info h3{font-size:22px!important;font-weight:800!important;color:var(--directory-text)!important;margin:0 0 8px!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;position:relative!important;z-index:1!important}.associe-code{font-size:12px!important;color:#fff!important;font-family:Courier New,Courier,monospace!important;font-weight:700!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;padding:6px 12px!important;border-radius:8px!important;display:inline-block!important;box-shadow:0 2px 8px #667eea4d!important;letter-spacing:.5px!important;text-transform:uppercase!important;position:relative!important;z-index:1!important}.associe-stats{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:12px!important;margin-top:16px!important}.stat-item{background:linear-gradient(135deg,#667eea14,#764ba214)!important;padding:20px!important;border-radius:16px!important;text-align:center!important;transition:all .4s cubic-bezier(.4,0,.2,1)!important;border:2px solid rgba(102,126,234,.2)!important;position:relative!important;overflow:hidden!important;z-index:1!important}.stat-item:before{content:""!important;position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;opacity:0!important;transition:opacity .4s ease!important;z-index:-1!important}.stat-item:hover{transform:translateY(-4px) scale(1.05)!important;border-color:#667eea!important;box-shadow:0 12px 32px #667eea4d!important}.stat-item:hover:before{opacity:1!important}.stat-item:hover .stat-value,.stat-item:hover .stat-label{color:#fff!important}.stat-value{font-size:40px!important;font-weight:900!important;color:#667eea!important;margin-bottom:6px!important;transition:color .3s ease!important;text-shadow:0 2px 4px rgba(0,0,0,.1)!important}.stat-label{font-size:11px!important;color:var(--directory-text-secondary)!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:1px!important;transition:color .3s ease!important}.parcelles-preview{margin-top:20px!important;padding-top:20px!important;border-top:2px solid var(--directory-border)!important}.parcelles-title{font-size:12px!important;color:var(--directory-text-secondary)!important;font-weight:700!important;margin-bottom:12px!important;text-transform:uppercase!important;letter-spacing:1px!important}.parcelles-list{display:flex!important;flex-wrap:wrap!important;gap:8px!important}.parcelle-tag{background:var(--directory-bg)!important;padding:6px 12px!important;border-radius:8px!important;font-size:13px!important;color:var(--directory-text)!important;font-family:Courier New,Courier,monospace!important;font-weight:600!important;border:1px solid var(--directory-border)!important;transition:all .2s ease!important}.parcelle-tag:hover{background:#667eea!important;color:#fff!important;border-color:#667eea!important;transform:translateY(-2px)!important}.parcelles-more{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;padding:6px 12px!important;border-radius:8px!important;font-size:13px!important;font-weight:700!important;border:none!important}.view-details-btn{width:100%!important;margin-top:20px!important;padding:14px 20px!important;background:linear-gradient(135deg,#667eea1a,#764ba21a)!important;border:2px solid #667eea!important;border-radius:12px!important;color:#667eea!important;font-weight:700!important;font-size:15px!important;cursor:pointer!important;transition:all .4s cubic-bezier(.4,0,.2,1)!important;position:relative!important;overflow:hidden!important;z-index:1!important}.view-details-btn:before{content:""!important;position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;opacity:0!important;transition:opacity .4s ease!important;z-index:-1!important}.view-details-btn:hover{color:#fff!important;border-color:#764ba2!important;transform:translateY(-3px)!important;box-shadow:0 8px 24px #667eea66!important}.view-details-btn:hover:before{opacity:1!important}.parcelles-detail{margin-top:16px!important;background:var(--directory-bg)!important;border-radius:10px!important;padding:20px!important;animation:slideDown .3s ease!important}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:1000px;transform:translateY(0)}}.detail-title{font-size:14px!important;margin-bottom:12px!important;display:block!important;color:var(--directory-text)!important;font-weight:700!important}.parcelles-full-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))!important;gap:8px!important;max-height:300px!important;overflow-y:auto!important;padding:4px!important}.parcelle-item{background:#fff!important;padding:10px 12px!important;border-radius:8px!important;font-size:13px!important;font-family:Courier New,Courier,monospace!important;color:var(--directory-text)!important;border:1px solid var(--directory-border)!important;transition:all .2s ease!important}.parcelle-item:hover{border-color:#667eea!important;transform:translate(4px)!important;box-shadow:var(--directory-shadow-sm)!important}.employe-card{background:var(--directory-white)!important;border-radius:var(--directory-radius-lg)!important;padding:24px!important;box-shadow:var(--directory-shadow)!important;transition:all .3s ease!important;border:2px solid transparent!important;animation:fadeIn .5s ease!important}.employe-card:before{display:none!important}.employe-card:hover{transform:translateY(-4px)!important;box-shadow:var(--directory-shadow-lg)!important;border-color:#10b981!important}.employe-info h3{font-size:20px!important;font-weight:700!important;color:var(--directory-text)!important;margin:0 0 8px!important}.employe-contact{font-size:14px!important;color:var(--directory-text-secondary)!important}.employe-actions{display:flex!important;gap:12px!important;margin-top:16px!important}.create-employee-actions{margin-bottom:24px!important;display:flex!important;justify-content:flex-end!important}.create-form,.edit-form{background:var(--directory-white)!important;padding:24px!important;border-radius:var(--directory-radius-lg)!important;box-shadow:var(--directory-shadow-md)!important;margin-bottom:24px!important;display:flex!important;flex-direction:column!important;gap:16px!important;border:2px solid #667eea!important;animation:slideDown .3s ease!important}.create-form input,.edit-form input{padding:12px 16px!important;border:2px solid var(--directory-border)!important;border-radius:10px!important;font-size:15px!important;transition:all .3s ease!important;background:var(--directory-white)!important}.create-form input:focus,.edit-form input:focus{outline:none!important;border-color:#667eea!important;box-shadow:0 0 0 4px #667eea1a!important}.edit-actions{display:flex!important;gap:12px!important}.error-message{color:#dc2626!important;background:#fef2f2!important;padding:12px 16px!important;border-radius:10px!important;font-size:14px!important;border:2px solid #fecaca!important;font-weight:600!important;animation:shake .4s ease!important}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.success-message{color:#059669!important;background:#ecfdf5!important;padding:12px 16px!important;border-radius:10px!important;font-size:14px!important;border:2px solid #a7f3d0!important;font-weight:600!important;animation:slideInDown .4s ease!important}.directory-root .btn{padding:12px 24px!important;border-radius:10px!important;font-weight:600!important;font-size:14px!important;cursor:pointer!important;transition:all .3s ease!important;border:none!important;display:inline-block!important;text-align:center!important}.directory-root .btn:disabled{opacity:.5!important;cursor:not-allowed!important;transform:none!important}.directory-root .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;box-shadow:var(--directory-shadow)!important}.directory-root .btn-primary:hover:not(:disabled){transform:translateY(-2px)!important;box-shadow:var(--directory-shadow-lg)!important}.directory-root .btn-outline{background:#fff!important;color:var(--directory-text)!important;border:2px solid var(--directory-border)!important;box-shadow:var(--directory-shadow-sm)!important}.directory-root .btn-outline:hover:not(:disabled){background:var(--directory-bg)!important;border-color:#667eea!important;color:#667eea!important;transform:translateY(-2px)!important}.directory-root .btn-danger{border-color:#ef4444!important;color:#ef4444!important}.directory-root .btn-danger:hover:not(:disabled){background:#fef2f2!important;transform:translateY(-2px)!important}.auth-error-container{max-width:500px!important;margin:60px auto!important;padding:32px!important;background:#fff!important;border-radius:var(--directory-radius-lg)!important;box-shadow:var(--directory-shadow-lg)!important;text-align:center!important;border:2px solid #ef4444!important}.auth-error-container h2{color:#dc2626!important;margin-bottom:16px!important}.auth-error-container p{color:var(--directory-text-secondary)!important;margin-bottom:24px!important}.parcelles-full-list::-webkit-scrollbar{width:8px!important}.parcelles-full-list::-webkit-scrollbar-track{background:var(--directory-bg)!important;border-radius:4px!important}.parcelles-full-list::-webkit-scrollbar-thumb{background:#667eea!important;border-radius:4px!important}.parcelles-full-list::-webkit-scrollbar-thumb:hover{background:#764ba2!important}@media (max-width: 768px){.directory-header{flex-direction:column!important;align-items:flex-start!important;padding:20px!important}.header-content h1{font-size:24px!important}.associe-card-header{flex-direction:column!important;gap:12px!important}.employe-actions,.edit-actions{flex-direction:column!important}.directory-root .btn{width:100%!important}.associe-stats,.parcelles-full-list{grid-template-columns:1fr!important}}html,body,#root{height:100%}body{font-family:Arial,sans-serif;margin:0;padding:0;background:linear-gradient(135deg,#667eea,#764ba2);color:#243148}.app{max-width:1100px;margin:0 auto;box-sizing:border-box}.section-card{background:#fffffff5;border:1px solid #eceff7;border-radius:12px;padding:1rem;box-shadow:0 6px 18px #141e500d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.parameters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.input-group{display:flex;flex-direction:column;gap:.25rem}.input-label{font-weight:600;display:flex;align-items:center;gap:.4rem}.input-field{width:100%;box-sizing:border-box;padding:.55rem .75rem;border:1px solid #e6e8f0;border-radius:8px;background:#fff}.table-container{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.6rem .75rem;border-bottom:1px solid #eef1f8;white-space:nowrap}.data-table thead th{position:sticky;top:0;background:inherit;color:inherit;z-index:1}.map-legend .legend-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}@media (max-width: 640px){.data-table th,.data-table td{white-space:normal}}.app-header{height:56px;display:flex;align-items:center;padding:0 24px;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 6px #0000000f}.brand{color:#fff;font-weight:700;font-size:13px}
