@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;700&display=swap";.collabs-detail{min-height:100vh;background-color:var(--bg-dark);background-image:radial-gradient(circle at 10% 20%,rgba(110,86,207,.15) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(0,242,255,.1) 0%,transparent 40%);padding:2rem}.charts-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:2rem}.chart-card h2{margin:0 0 1.5rem;font-size:1.5rem;color:var(--text-primary);font-weight:600}.pie-chart-container{display:flex;gap:2rem;align-items:center}.pie-chart-svg{width:200px;height:200px;flex-shrink:0}.pie-slice{transition:opacity .3s ease;cursor:pointer}.pie-slice:hover{opacity:1!important}.pie-legend{flex:1;display:flex;flex-direction:column;gap:.5rem}.legend-item{display:grid;grid-template-columns:12px 1fr 100px 55px;align-items:center;gap:.75rem;font-size:.85rem;padding:.2rem 0}.legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.legend-label{color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-value{color:var(--text-secondary);font-size:.8rem;justify-self:end;text-align:right;font-variant-numeric:tabular-nums}.legend-item>span:last-child{justify-self:end;min-width:45px;text-align:right}.bar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.bar-column{width:100%;height:250px;display:flex;align-items:flex-end;justify-content:center;position:relative}.bar-value{color:#fff;font-weight:700;font-size:.9rem;text-shadow:0 1px 3px rgba(0,0,0,.3);position:absolute;top:-1.5rem;left:50%;transform:translate(-50%);white-space:nowrap}.bar-label{font-size:.75rem;color:var(--text-secondary);font-weight:600;text-align:center}.experiences-chart{display:flex;flex-direction:column;gap:1rem}.exp-item{display:flex;flex-direction:column;gap:.5rem}.exp-label{display:flex;justify-content:space-between;align-items:center}.exp-name{font-weight:600;color:var(--text-primary);font-size:.9rem}.exp-count{color:var(--text-secondary);font-size:.85rem;font-weight:700}.exp-bar-container{width:100%;height:24px;background:#ffffff0d;border-radius:12px;overflow:hidden}.exp-bar{height:100%;border-radius:12px;transition:all .3s ease;position:relative;box-shadow:inset 0 1px 1px #fff3}@media(max-width:1024px){.pie-chart-container,.bar-chart-container{flex-direction:column;gap:1.5rem}.pie-chart-svg{width:250px;height:250px}.bar-legend{border-left:none;border-top:1px solid rgba(255,255,255,.1);padding-top:1rem;padding-left:0;width:100%}}@media(max-width:768px){.charts-grid{grid-template-columns:1fr}.detail-header h1{font-size:2rem}.bar-chart{height:250px}.bar-column{height:200px}.collabs-detail{padding:1rem}}.unique-users-container{display:flex;flex-direction:column;gap:.5rem}.unique-users-progress-mini{padding:0 1rem;margin-top:-.5rem}.progress-bar-container-mini{width:100%;height:4px;background:#ffffff1a;border-radius:2px;margin-bottom:.25rem;overflow:hidden}.progress-bar-fill-mini{height:100%;background:linear-gradient(90deg,var(--accent) 0%,#4facfe 100%);border-radius:2px;transition:width 1s ease-out}.progress-labels-mini{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-secondary);font-weight:500}.users-detail{min-height:100vh;background-color:var(--bg-dark);background-image:radial-gradient(circle at 10% 20%,rgba(110,86,207,.15) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(0,242,255,.1) 0%,transparent 40%);padding:2rem}.detail-header{max-width:1400px;margin:0 auto 2rem}.back-button{background:var(--bg-card);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border:var(--glass-border);color:var(--text-primary);padding:.75rem 1.5rem;border-radius:12px;font-size:1rem;cursor:pointer;transition:all .3s ease;margin-bottom:1rem;font-family:var(--font-main);font-weight:500}.back-button:hover{background:#ffffff26;transform:translate(-4px);box-shadow:var(--glass-shadow)}.detail-header h1{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin:0;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.charts-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2rem}.stats-column{display:flex;flex-direction:column;gap:2rem}.kpi-group-horizontal{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.loyalty-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.chart-card{background:var(--bg-card);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border:var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;padding:2rem}.chart-card h2{margin:0 0 1.5rem;font-size:1.3rem;color:var(--text-primary);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.line-chart-container{height:200px;display:flex;flex-direction:column}.cumulative-svg{width:100%;height:100%}.chart-labels{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.75rem;color:var(--text-muted)}.full-width{grid-column:span 2}.country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.country-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#ffffff08;border-radius:12px;transition:transform .2s ease}.country-flag-container{width:40px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border-radius:4px;box-shadow:0 2px 4px #0003;border:1px solid rgba(255,255,255,.1);background:#ffffff0d}.flag-img{width:100%;height:100%;object-fit:cover}.country-flag{font-size:1.5rem}.country-info{flex:1}.country-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.country-name{font-weight:600;color:var(--text-primary);font-size:.9rem}.country-count{font-weight:700;color:var(--accent)}.country-progress-bg{height:6px;background:#ffffff0d;border-radius:3px;overflow:hidden;margin-bottom:.25rem}.country-progress-fill{height:100%;border-radius:3px}.country-perc{font-size:.75rem;color:var(--text-muted)}.bar-chart-container{display:flex;gap:2rem;align-items:center}.bar-chart{flex:2;display:flex;justify-content:space-around;align-items:flex-end;height:300px;padding:2rem 0 1rem;gap:1rem}.bar-legend{flex:1;display:flex;flex-direction:column;gap:.5rem;padding-left:1rem;border-left:1px solid rgba(255,255,255,.1)}.bar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.5rem;height:100%}.bar-column{width:100%;height:100%;max-height:250px;display:flex;align-items:flex-end;justify-content:center;position:relative;border-bottom:2px solid rgba(255,255,255,.1)}.bar-fill{width:60%;border-radius:8px 8px 0 0;display:flex;align-items:flex-start;justify-content:center;transition:all .3s ease;position:relative;overflow:visible;box-shadow:inset 0 1px 1px #fff3}.bar-fill:hover{transform:scaleY(1.05);filter:brightness(1.2);box-shadow:0 -4px 20px #0003}.bar-fill:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:#ffffff4d}.bar-value{color:#fff;font-weight:700;font-size:.9rem;text-shadow:0 1px 3px rgba(0,0,0,.3);position:absolute;top:-1.75rem;left:50%;transform:translate(-50%);white-space:nowrap}.bar-label{font-size:.75rem;color:var(--text-secondary);font-weight:600;text-align:center;min-height:2.5rem;display:flex;align-items:center;justify-content:center;width:100%}.users-detail.loading{display:flex;flex-direction:column;align-items:center;justify-content:center}.loader{width:48px;height:48px;border:5px solid rgba(255,255,255,.1);border-bottom-color:var(--accent);border-radius:50%;animation:rotation 1s linear infinite;margin-bottom:1rem}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1024px){.charts-grid{grid-template-columns:1fr}.full-width{grid-column:span 1}.loyalty-cards{grid-template-columns:1fr}}.goals-container{padding:2rem;max-width:1400px;margin:0 auto}.sidebar{width:240px;min-height:100vh;background:#0a0a0cf2;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;padding:1.5rem 0;position:fixed;left:0;top:0;z-index:100}.sidebar-logo{padding:0 1.5rem;margin-bottom:2rem;display:flex;align-items:center}.sidebar-icon-img{height:40px;width:auto;display:block}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;padding:0 .75rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;color:var(--text-secondary);text-decoration:none;transition:all .2s ease;position:relative;overflow:hidden}.nav-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--success);transform:scaleY(0);transition:transform .2s ease}.nav-item:hover{background:#ffffff0d;color:var(--text-primary)}.nav-item:hover .nav-icon{filter:drop-shadow(0 0 8px var(--success))}.nav-item.active{background:#00ff9d14;color:var(--success)}.nav-item.active:before{transform:scaleY(1)}.nav-icon{flex-shrink:0;transition:filter .2s ease}.nav-label{font-size:.875rem;font-weight:500;letter-spacing:.01em}.sidebar-footer{margin-top:auto;padding:0 .75rem .5rem}.logout-btn{width:100%;background:none;border:none;cursor:pointer;color:var(--text-muted);font-family:var(--font-main);text-align:left}.logout-btn:hover{background:#ff005514;color:var(--error)}.logout-btn:hover .nav-icon{filter:drop-shadow(0 0 6px var(--error))}.security-banner{background:linear-gradient(90deg,#ffbf001a,#ffbf000d);border-left:3px solid var(--warning);padding:.75rem 1.5rem;display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.banner-icon{color:var(--warning);flex-shrink:0}.banner-text{font-size:.75rem;color:var(--text-secondary);line-height:1.5;margin:0}.app-footer{background:#0a0a0ccc;border-top:1px solid rgba(255,255,255,.06);padding:1rem 1.5rem;margin-top:3rem;text-align:center}.footer-text{font-size:.75rem;color:var(--text-muted);margin:0;letter-spacing:.02em}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-dark);background-image:radial-gradient(circle at 20% 30%,rgba(110,86,207,.2) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(0,242,255,.12) 0%,transparent 50%);padding:1rem}.login-card{width:100%;max-width:400px;background:#141416b3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 64px #00000080,0 0 0 1px #6e56cf1a;border-radius:20px;padding:2.5rem 2rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:fadeInUp .4s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-logo img{width:56px;height:56px;object-fit:contain;margin-bottom:.5rem;filter:drop-shadow(0 0 12px rgba(110,86,207,.5))}.login-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0}.login-subtitle{font-size:.8rem;color:var(--text-muted);margin-bottom:1rem}.login-form{width:100%;display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.login-field{display:flex;flex-direction:column;gap:.4rem}.login-field label{font-size:.75rem;font-weight:500;color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase}.login-field input{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:.75rem 1rem;color:var(--text-primary);font-family:var(--font-main);font-size:.9rem;outline:none;transition:border-color .2s,box-shadow .2s}.login-field input::placeholder{color:var(--text-muted)}.login-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6e56cf26}.login-error{background:#ff00551a;border:1px solid rgba(255,0,85,.3);border-radius:8px;color:var(--error);font-size:.8rem;padding:.6rem .9rem;text-align:center}.login-btn{margin-top:.5rem;width:100%;padding:.85rem;background:linear-gradient(135deg,var(--primary) 0%,#8b6fe8 100%);border:none;border-radius:10px;color:#fff;font-family:var(--font-main);font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 20px #6e56cf59;display:flex;align-items:center;justify-content:center;min-height:48px}.login-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 6px 28px #6e56cf80}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--bg-dark: #050507;--bg-card: rgba(20, 20, 22, .6);--bg-glass: rgba(255, 255, 255, .03);--primary: #6E56CF;--primary-glow: #6E56CF80;--accent-cyan: #00f2ff;--accent-pink: #ff0080;--success: #00ff9d;--success-glow: rgba(0, 255, 157, .3);--warning: #ffbf00;--error: #ff0055;--error-glow: rgba(255, 0, 85, .3);--text-primary: #ffffff;--text-secondary: #a1a1aa;--text-muted: #52525b;--glass-border: 1px solid rgba(255, 255, 255, .08);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--backdrop-blur: blur(12px);--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--font-main: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-main);background-color:var(--bg-dark);color:var(--text-primary);min-height:100vh;overflow-x:hidden;background-image:radial-gradient(circle at 10% 20%,rgba(110,86,207,.15) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(0,242,255,.1) 0%,transparent 40%)}#root{min-height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--bg-glass);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff1a}.glass-panel{background:var(--bg-card);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border:var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px}.text-gradient{background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hover-card{transition:transform .2s ease,box-shadow .2s ease}.hover-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #00000026}
