@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--font-heading:"Outfit", sans-serif;--font-body:"Inter", sans-serif;--success:#20c55d;--success-glow:#20c55d26;--warning:#f59f0a;--warning-glow:#f59f0a26;--danger:#f43e5c;--danger-glow:#f43e5c26;--info:#0da2e7;--info-glow:#0da2e726;--shadow-sm:0 2px 8px #0000000d;--shadow-md:0 8px 30px #0000001f;--shadow-lg:0 16px 40px #0003;--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast:all .15s ease}body,body.dark-theme{--bg-primary:#080b11;--bg-secondary:#0a0e17;--bg-card:#0f131c;--bg-card-hover:#151a24;--border-color:#1b2230;--border-glow:#ffffff05;--text-primary:#fff;--text-secondary:#9ba3b0;--text-muted:#5a6578;--sidebar-bg:#06080c;--sidebar-active:#151a24;--scrollbar-thumb:#1e293b;--scrollbar-track:transparent;--accent-cyan:#ee3e80;--accent-purple:#473192}body.light-theme{--bg-primary:#f0eeff;--bg-secondary:#fff0f6;--bg-card:#ffffffd9;--bg-card-hover:#fffffff2;--border-color:#47319226;--border-glow:#00000003;--text-primary:#1f1938;--text-secondary:#4a4463;--text-muted:#7d7699;--sidebar-bg:#eae6fa;--sidebar-active:#4731921a;--scrollbar-thumb:#47319233;--scrollbar-track:transparent;--accent-cyan:#ee3e80;--accent-purple:#473192}*{box-sizing:border-box;font-family:var(--font-body);margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.5;transition:background-color .4s,color .4s;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:600}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border-color);box-shadow:var(--shadow-md);transition:var(--transition-smooth);border-radius:16px;padding:24px}.glass-card:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-lg);border-color:#66809926;transform:translateY(-2px)}@keyframes pulseGlow{0%{box-shadow:0 0 0 0 var(--pulse-color,#fff6)}70%{box-shadow:0 0 0 8px var(--pulse-color,#fff0)}to{box-shadow:0 0 0 0 var(--pulse-color,#fff0)}}.pulse-indicator{background-color:var(--status-color);border-radius:50%;width:10px;height:10px;display:inline-block;position:relative}.pulse-indicator:after{content:"";--pulse-color:var(--status-color-glow);border-radius:50%;width:100%;height:100%;animation:2s infinite pulseGlow;position:absolute;top:0;left:0}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeInSlide}.dashboard-layout{background-color:var(--bg-primary);min-height:100vh;transition:background-color .4s;display:flex}.sidebar{background-color:var(--sidebar-bg);border-right:1px solid var(--border-color);z-index:100;width:260px;height:100vh;transition:var(--transition-smooth);flex-direction:column;justify-content:space-between;padding:32px 24px;display:flex;position:fixed;top:0;left:0}.sidebar-logo{align-items:center;gap:12px;margin-bottom:40px;display:flex}.sidebar-logo-icon{color:var(--accent-cyan);justify-content:center;align-items:center;display:flex}.sidebar-logo-text{letter-spacing:-.03em;background:linear-gradient(135deg, var(--text-primary) 30%, var(--accent-cyan));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.25rem;font-weight:800}.sidebar-menu{flex-direction:column;flex-grow:1;gap:8px;list-style:none;display:flex}.sidebar-item{color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);border-radius:12px;align-items:center;gap:14px;padding:12px 16px;font-size:.95rem;font-weight:500;text-decoration:none;display:flex}.sidebar-item:hover{background-color:var(--sidebar-active);color:var(--text-primary)}.sidebar-item.active{background-color:var(--sidebar-active);color:var(--text-primary);border-left:3px solid var(--accent-cyan)}.sidebar-footer{color:var(--text-muted);text-align:center;border-top:1px solid var(--border-color);padding-top:20px;font-size:.8rem}.main-content{flex-direction:column;flex-grow:1;gap:32px;min-height:100vh;margin-left:260px;padding:40px;transition:margin-left .3s;display:flex}.dashboard-header{justify-content:space-between;align-items:center;display:flex}.header-title-section h1{color:var(--text-primary);font-size:2rem;font-weight:800}.header-title-section p{color:var(--text-secondary);margin-top:4px;font-size:.95rem}.header-actions{align-items:center;gap:16px;display:flex}.theme-toggle-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow-sm);transition:var(--transition-smooth);border-radius:12px;justify-content:center;align-items:center;display:flex}.theme-toggle-btn:hover{border-color:var(--text-secondary);transform:rotate(15deg)}.filter-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:600}.filter-btn:hover{color:var(--text-primary);border-color:var(--text-muted);background:#ffffff05}.filter-btn.active{color:#fff;background:#111a2e;border-color:#3b82f6;box-shadow:0 0 8px #3b82f626}.btn-reset{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;border-radius:12px;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:500;display:flex}.btn-reset:hover{border-color:var(--danger);color:var(--danger)}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;display:grid}.metric-card{flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.metric-card:before{content:"";background:var(--accent-gradient,linear-gradient(90deg, var(--accent-cyan), var(--accent-purple)));width:100%;height:3px;position:absolute;top:0;left:0}.metric-card-header{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.9rem;font-weight:500;display:flex}.metric-card-icon{color:var(--card-icon-color,var(--text-primary));background:#6680991a;border-radius:10px;justify-content:center;align-items:center;padding:8px;display:flex}.metric-card-value{font-size:2rem;font-weight:700;font-family:var(--font-heading);color:var(--text-primary);margin:16px 0 8px}.metric-card-footer{justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.metric-trend-badge{border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:flex}.metric-trend-badge.up{background:var(--success-glow);color:var(--success)}.metric-trend-badge.down{background:var(--danger-glow);color:var(--danger)}.metric-trend-badge.neutral{background:var(--warning-glow);color:var(--warning)}.dashboard-grid{grid-template-columns:2fr 1fr;gap:32px;display:grid}@media (width<=1200px){.dashboard-grid{grid-template-columns:1fr}}.left-column,.right-column{flex-direction:column;gap:32px;display:flex}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-header h2{color:var(--text-primary);font-size:1.35rem;font-weight:700}.chart-container{width:100%;height:320px;position:relative}.clients-list{flex-direction:column;gap:12px;max-height:480px;padding-right:4px;display:flex;overflow-y:auto}.client-row{border:1px solid var(--border-color);cursor:pointer;transition:var(--transition-fast);background:#6680990a;border-radius:12px;justify-content:space-between;align-items:center;padding:16px;display:flex}.client-row:hover{border-color:var(--text-muted);background:#66809914}.client-info-group{flex-direction:column;gap:4px;display:flex}.client-name{color:var(--text-primary);font-size:.95rem;font-weight:600}.client-meta{color:var(--text-muted);font-size:.8rem}.client-metric-group{align-items:center;gap:24px;display:flex}.client-dpd-tag{text-align:center;border-radius:8px;min-width:70px;padding:4px 10px;font-size:.8rem;font-weight:600}.client-dpd-tag.stable{background-color:var(--success-glow);color:var(--success)}.client-dpd-tag.watchlist{background-color:var(--warning-glow);color:var(--warning)}.client-dpd-tag.delinquent{background-color:var(--danger-glow);color:var(--danger)}.alerts-filter-bar{gap:8px;margin-bottom:16px;display:flex}.alerts-feed{flex-direction:column;gap:16px;max-height:520px;padding-right:4px;display:flex;overflow-y:auto}.alert-card{border:1px solid var(--border-color);border-left:4px solid var(--alert-color,var(--text-muted));transition:var(--transition-smooth);background:#66809908;border-radius:12px;flex-direction:column;gap:12px;padding:20px;animation:.3s ease-out fadeInSlide;display:flex}.alert-card:hover{background:#6680990f}.alert-card-header{justify-content:space-between;align-items:flex-start;display:flex}.alert-client-name{color:var(--text-primary);font-size:1rem;font-weight:700}.alert-severity-badge{text-transform:uppercase;border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:700}.alert-severity-badge.high{background:var(--danger-glow);color:var(--danger)}.alert-severity-badge.medium{background:var(--warning-glow);color:var(--warning)}.alert-severity-badge.low{background:var(--info-glow);color:var(--info)}.alert-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.alert-metadata{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.alert-actions{gap:8px;margin-top:4px;display:flex}.alert-btn{cursor:pointer;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);transition:var(--transition-fast);border-radius:6px;padding:6px 12px;font-size:.8rem;font-weight:500}.alert-btn:hover{background:var(--sidebar-active);color:var(--text-primary)}.alert-btn.resolve:hover{background:var(--success-glow);color:var(--success);border-color:var(--success)}.alert-btn.escalate:hover{background:var(--danger-glow);color:var(--danger);border-color:var(--danger)}.note-form{border-top:1px dashed var(--border-color);flex-direction:column;gap:8px;margin-top:8px;padding-top:10px;display:flex}.note-input{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;outline:none;padding:8px 12px;font-size:.8rem}.note-input:focus{border-color:var(--accent-cyan)}.note-submit-btn{background:var(--accent-cyan);color:var(--bg-primary);cursor:pointer;border:none;border-radius:6px;align-self:flex-end;padding:4px 10px;font-size:.75rem;font-weight:600}.simulator-panel{flex-direction:column;gap:16px;display:flex}.simulator-form{flex-direction:column;gap:12px;margin-top:12px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.form-select,.form-input{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;outline:none;padding:10px;font-size:.85rem}.form-select:focus,.form-input:focus{border-color:var(--accent-cyan)}.btn-trigger{background:var(--accent-purple);color:var(--text-primary);cursor:pointer;transition:var(--transition-smooth);border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:.9rem;font-weight:600;display:flex;box-shadow:0 4px 12px #a65af240}.btn-trigger:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 16px #a65af259}.btn-trigger.secondary{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);box-shadow:none}.btn-trigger.secondary:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);width:90%;max-width:680px;box-shadow:var(--shadow-lg);border-radius:20px;animation:.35s cubic-bezier(.16,1,.3,1) forwards fadeInSlide;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:24px;display:flex}.modal-header h3{font-size:1.4rem;font-weight:700}.close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.close-btn:hover{color:var(--text-primary)}.modal-body{flex-direction:column;gap:24px;max-height:70vh;padding:24px;display:flex;overflow-y:auto}.client-detail-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.detail-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:16px}.detail-label{color:var(--text-muted);text-transform:uppercase;font-size:.75rem;font-weight:600}.detail-value{color:var(--text-primary);margin-top:4px;font-size:1.15rem;font-weight:700}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px;display:flex}.ews-kpi-row-8{grid-template-columns:repeat(8,1fr);gap:12px;width:100%;display:grid}.ews-three-column-row{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:20px;width:100%;display:grid}@media (width<=1600px){.ews-kpi-row-8{grid-template-columns:repeat(4,1fr)}}@media (width<=1200px){.ews-three-column-row{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.ews-kpi-row-8{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.ews-three-column-row{grid-template-columns:1fr}}.login-split-layout{width:100%;min-height:100vh;display:flex;overflow-x:hidden}.login-visual-panel{width:55%;color:var(--accent-purple);background-color:#fff;justify-content:center;align-items:center;display:none;position:relative;overflow:hidden}body.dark-theme .login-visual-panel{background-color:#080b11}@media (width>=768px){.login-visual-panel{display:flex}}.login-visual-content{text-align:center;z-index:10;padding:2rem}.login-visual-content h1{margin-bottom:1rem;font-size:3rem;font-weight:800}.login-visual-content p{opacity:.9;font-size:1.25rem}.login-form-panel{border-left:1px solid var(--border-color);background-color:#f0eeff;flex-direction:column;justify-content:center;width:100%;padding:2rem 10%;animation:.8s cubic-bezier(.16,1,.3,1) forwards slideInFromRight;display:flex}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}body.dark-theme .login-form-panel{background-color:#0a0e17}@media (width>=768px){.login-form-panel{width:45%}}.login-form-panel h2{color:var(--text-primary);text-align:center;font-size:2.5rem;font-weight:700;font-family:var(--font-heading);margin:0 0 .5rem}.login-form-panel p{text-align:center;color:var(--text-secondary);margin-bottom:2.5rem}.floating-input-group{margin-bottom:1.5rem;position:relative}.floating-input-group input{border:none;border-bottom:1.5px solid var(--border-color);box-sizing:border-box;width:100%;color:var(--text-primary);background-color:#0000;border-radius:0;padding:1rem .5rem .5rem;font-size:1rem;transition:all .2s}.floating-input-group label{color:var(--text-muted);pointer-events:none;background-color:#0000;padding:0 .25rem;font-size:1rem;transition:all .2s;position:absolute;top:50%;left:.5rem;transform:translateY(-50%)}.floating-input-group input:focus,.floating-input-group input:not(:placeholder-shown){border-color:var(--accent-purple);outline:none}.floating-input-group input:focus+label,.floating-input-group input:not(:placeholder-shown)+label{color:var(--accent-purple);background-color:#0000;top:0;transform:translateY(-50%)scale(.85)}.login-form-panel .primary-btn{background-color:var(--accent-purple);color:#fff;cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;width:60%;max-width:280px;height:3.25rem;margin:2.5rem auto 0;font-size:1.05rem;font-weight:600;transition:all .2s;display:flex}.login-form-panel .primary-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbit{0%{transform:rotate(0deg) translateX(var(--orbit-radius,150px)) rotate(0deg)}to{transform:rotate(360deg) translateX(var(--orbit-radius,150px)) rotate(-360deg)}}.spinning-orbits{pointer-events:none;position:absolute;inset:0}.spinning-orbits .orbit-path{z-index:0;position:absolute;inset:0}.spinning-orbits .orbit-path svg{opacity:.4;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.spinning-orbits .orbit-path.slow{animation:35s linear infinite spin}.spinning-orbits .orbit-path.reverse{animation:30s linear infinite reverse spin}.particle-orbit-anchor{position:absolute;top:50%;left:50%}.particle-orbit-anchor .particle-animator{transform-origin:50%;animation-name:orbit;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute}.particle-orbit-anchor .particle-animator.direction-reverse{animation-direction:reverse}.particle-orbit-anchor .particle-animator .particle{opacity:.5;border-radius:9999px}
