:root{--bg-primary:#000;--bg-secondary:#111a2d;--card-bg:#111a2d73;--card-border:#f2f2f214;--primary:#7d39fb;--primary-glow:#7d39eb26;--accent:#c6fe33;--accent-glow:#c6ff3333;--success:#c6fe33;--success-glow:#c6ff3326;--warning:#ffb703;--danger:#ff0054;--text-main:#f2f2f2;--text-muted:#94a3b8;--text-dark:#64748b;--font-heading:"Space Grotesk", -apple-system, sans-serif;--font-body:"Inter", -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--transition-smooth:all .3s cubic-bezier(.16, 1, .3, 1);--glass-blur:blur(16px)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-primary);color:var(--text-main);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:600}button,input,select,textarea{font-family:inherit;font-size:inherit}a{color:var(--accent);transition:var(--transition-smooth);text-decoration:none}a:hover{filter:brightness(1.2)}.noise{opacity:.035;pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");width:100%;height:100%;position:fixed;top:0;left:0}.bg-grid{background-image:linear-gradient(90deg,#f2f2f205 1px,#0000 1px),linear-gradient(#f2f2f205 1px,#0000 1px);background-size:45px 45px}.v-grid-lines{pointer-events:none;z-index:0;opacity:.07;grid-template-columns:repeat(12,1fr);gap:0;width:100%;height:100%;display:grid;position:absolute;inset:0}.v-grid-line{border-right:1px solid var(--text-main);height:100%}.app-container{z-index:10;min-height:100vh;display:flex;position:relative}.sidebar{width:290px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-right:1px solid var(--card-border);z-index:100;background:#111a2da6;flex-direction:column;height:100vh;padding:2.5rem 1.5rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.75rem;margin-bottom:3.5rem;display:flex}.brand-logo{object-fit:contain;width:32px;height:32px}.brand-name{font-size:1.4rem;font-weight:700;font-family:var(--font-heading);color:var(--text-main);letter-spacing:-.03em;background:linear-gradient(135deg, var(--text-main) 30%, #a5b4fc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.menu-list{flex-direction:column;gap:.6rem;list-style:none;display:flex}.menu-item button{width:100%;color:var(--text-muted);font-weight:500;font-family:var(--font-heading);cursor:pointer;transition:var(--transition-smooth);text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:.85rem;padding:.9rem 1.25rem;display:flex}.menu-item button:hover{color:var(--text-main);background:#f2f2f20a;transform:translate(4px)}.menu-item.active button{border-left:3px solid var(--accent);color:var(--accent);background:linear-gradient(90deg,#c6ff331a 0%,#7d39eb08 100%);font-weight:600;box-shadow:inset 4px 0 12px #c6ff3308}.menu-item button iconify-icon{font-size:1.25rem}.sidebar-footer{font-size:.72rem;font-family:var(--font-mono);color:var(--text-dark);text-align:center;border-top:1px solid var(--card-border);margin-top:auto;padding-top:1.5rem}.main-content{z-index:10;flex:1;width:100%;max-width:1350px;margin:0 auto;padding:3rem 4rem;position:relative;overflow-y:auto}.page-header{border-bottom:1px solid var(--card-border);margin-bottom:3rem;padding-bottom:1.5rem}.page-title{letter-spacing:-.03em;background:linear-gradient(90deg,#fff,#c7d2fe);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.6rem;font-size:2.5rem;font-weight:700}.page-subtitle{color:var(--text-muted);font-size:1rem;font-weight:300}.glass-panel{background:var(--card-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--card-border);transition:var(--transition-smooth);border-radius:16px;margin-bottom:2.25rem;padding:2.25rem;box-shadow:0 20px 40px #0006}.glass-panel h2{letter-spacing:-.02em;color:var(--text-main);border-left:3px solid var(--primary);margin-bottom:1.5rem;padding-left:.75rem;font-size:1.5rem;font-weight:500}.flashlight-card{position:relative;overflow:hidden}.flashlight-card:before{content:"";background:radial-gradient(500px circle at var(--mouse-x,0) var(--mouse-y,0), #c6ff330f, transparent 45%);opacity:0;pointer-events:none;z-index:2;transition:opacity .5s;position:absolute;inset:0}.flashlight-card:hover:before{opacity:1}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2.5rem;display:grid}.stat-card{background:var(--card-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--card-border);transition:var(--transition-smooth);border-radius:12px;flex-direction:column;gap:.4rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.stat-card:hover{border-color:#c6ff3340;transform:translateY(-4px);box-shadow:0 10px 20px #0000004d}.stat-card:before{content:"";background:linear-gradient(90deg, var(--primary), var(--accent));opacity:.8;width:100%;height:3px;position:absolute;top:0;left:0}.stat-card.primary:before{background:var(--primary)}.stat-card.success:before{background:var(--success)}.stat-card.danger:before{background:var(--danger)}.stat-card.warning:before{background:var(--warning)}.stat-label{color:var(--text-muted);font-size:.75rem;font-weight:500;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.stat-value{font-size:2.25rem;font-weight:600;font-family:var(--font-heading);color:var(--text-main);line-height:1}.btn{font-weight:600;font-family:var(--font-heading);cursor:pointer;transition:var(--transition-smooth);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.6rem;font-size:.9rem;display:inline-flex}.btn-primary{background:var(--accent);color:#000;box-shadow:0 4px 14px var(--accent-glow)}.btn-primary:hover{background:#d6ff5c;transform:translateY(-2px);box-shadow:0 6px 20px #c6ff3366}.btn-secondary{border-color:var(--card-border);color:var(--text-main);background:#f2f2f20a}.btn-secondary:hover{background:#f2f2f214;border-color:#f2f2f226}.btn-danger{color:#ff4d80;background:#ff005426;border-color:#ff00544d}.btn-danger:hover{background:#ff005440;transform:translateY(-2px);box-shadow:0 4px 14px #ff005440}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none!important;transform:none!important}@keyframes borderRotate{to{transform:rotate(360deg)}}.btn-beam{z-index:10;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:1px;display:inline-flex;position:relative;overflow:hidden}.btn-beam:before{content:"";z-index:-1;background:conic-gradient(from 90deg at 50% 50%, var(--text-main) 0%, var(--primary) 50%, var(--text-main) 100%);border-radius:inherit;opacity:0;transition:opacity .3s;animation:4s linear infinite borderRotate;position:absolute;inset:-10px}.btn-beam:hover:before{opacity:1}.btn-beam-content{background-color:var(--bg-secondary);color:var(--text-main);z-index:10;border:1px solid var(--card-border);width:100%;height:100%;font-weight:600;font-family:var(--font-heading);border-radius:9px;justify-content:center;align-items:center;padding:.8rem 1.6rem;transition:background-color .3s;display:flex;position:relative}.btn-beam:hover .btn-beam-content{background-color:#111a2dcc}.form-group{margin-bottom:1.75rem}.form-label{text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;font-weight:500;font-family:var(--font-mono);color:var(--text-muted);margin-bottom:.6rem;display:block}.form-control{border:1px solid var(--card-border);width:100%;color:var(--text-main);font-family:var(--font-body);transition:var(--transition-smooth);background:#111a2dcc;border-radius:10px;padding:.9rem 1.25rem}.form-control:focus{border-color:var(--accent);background:#111a2df2;outline:none;box-shadow:0 0 0 3px #c6ff331f}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23f2f2f2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-position:right 1.25rem center;background-repeat:no-repeat;background-size:1rem;padding-right:3rem}.table-container{border:1px solid var(--card-border);border-radius:12px;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%;font-family:var(--font-body);background:#111a2d40}.custom-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600;font-family:var(--font-mono);border-bottom:1px solid var(--card-border);background:#111a2db3;padding:1.1rem 1.4rem}.custom-table td{border-bottom:1px solid var(--card-border);color:var(--text-main);padding:1.15rem 1.4rem;font-size:.9rem}.custom-table tr:last-child td{border-bottom:none}.custom-table tr:hover td{background:#f2f2f204}.custom-table code{font-family:var(--font-mono);background:#f2f2f20f;border-radius:4px;padding:.2rem .4rem;font-size:.85rem}.badge{text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:600;font-family:var(--font-mono);border:1px solid #0000;border-radius:9999px;align-items:center;padding:.3rem .8rem;display:inline-flex}.badge-success{color:var(--accent);background:#c6ff3314;border-color:#c6ff3333}.badge-danger{color:#ff4d80;background:#ff005414;border-color:#ff005433}.badge-warning{color:var(--warning);background:#ffb70314;border-color:#ffb70333}.badge-primary{color:#a5b4fc;background:#7d39eb14;border-color:#7d39eb33}.badge-secondary{border-color:var(--card-border);color:var(--text-muted);background:#f2f2f20f}.dropzone{text-align:center;cursor:pointer;transition:var(--transition-smooth);background:#111a2d4d;border:2px dashed #f2f2f226;border-radius:12px;flex-direction:column;align-items:center;gap:.75rem;padding:3rem;display:flex}.dropzone:hover,.dropzone.active{border-color:var(--accent);background:#c6ff3305}.dropzone-icon{color:var(--accent);background:linear-gradient(135deg, var(--accent) 0%, var(--primary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;justify-content:center;align-items:center;font-size:2.5rem;display:flex}.dropzone h3{font-size:1.15rem;font-weight:500}.mapping-container{flex-direction:column;gap:.85rem;margin-top:1.5rem;display:flex}.mapping-row{grid-template-columns:1fr 1fr;align-items:center;gap:1.5rem;display:grid}.mapping-var-label{border:1px solid var(--card-border);font-family:var(--font-mono);color:var(--text-main);background:#f2f2f208;border-radius:8px;padding:.85rem 1.25rem;font-size:.85rem}.mapping-var-label strong{color:var(--accent)}.template-preview{border:1px solid var(--card-border);background:#0006;border-radius:12px;justify-content:flex-start;margin-top:1rem;padding:1.5rem;display:flex;position:relative}.template-bubble{color:#e9edef;background:#005c4b;border:1px solid #ffffff0d;border-radius:0 12px 12px;max-width:75%;padding:.9rem 1.25rem;font-size:.9rem;box-shadow:0 2px 4px #0003}.template-bubble-meta{color:#fff6;text-align:right;font-size:.68rem;font-family:var(--font-mono);margin-top:.4rem}.loader{border:3px solid #f2f2f214;border-top:3px solid var(--accent);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader-container{color:var(--text-muted);font-family:var(--font-mono);justify-content:center;align-items:center;gap:.75rem;padding:3rem;display:flex}.alert-box{cursor:pointer;transition:var(--transition-smooth);border:1px solid #0000;border-radius:10px;align-items:center;gap:.75rem;margin-bottom:2rem;padding:1rem 1.5rem;font-size:.925rem;display:flex}.alert-box:hover{filter:brightness(1.1)}.alert-box.success{color:var(--accent);background:#c6ff3314;border-color:#c6ff332e}.alert-box.error{color:#ff4d80;background:#ff005414;border-color:#ff00542e}.row-flex{flex-wrap:wrap;gap:2rem;display:flex}.col-half{flex:1;min-width:320px}.campaign-progress-bar{border:1px solid var(--card-border);background:#f2f2f20a;border-radius:9999px;height:10px;display:flex;overflow:hidden}.progress-segment{height:100%;transition:width .5s cubic-bezier(.16,1,.3,1)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#f2f2f21a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#f2f2f233}
