@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Prompt:wght@300;400;500;600;700&display=swap");:root,[data-theme=dark]{--primary:#10b981;--primary-hover:#059669;--primary-light:rgba(16,185,129,0.1);--primary-muted:rgba(16,185,129,0.12);--primary-glow:rgba(16,185,129,0.3);--accent:#06B6D4;--danger:#EF4444;--danger-light:rgba(239,68,68,0.1);--warning:#F59E0B;--warning-light:rgba(245,158,11,0.1);--info:#3B82F6;--info-light:rgba(59,130,246,0.1);--success:#10B981;--success-light:rgba(16,185,129,0.1);--purple:#8B5CF6;--purple-light:rgba(139,92,246,0.1);--bg-app:#030706;--bg-card:#070D0A;--bg-card-hover:#0A1210;--bg-input:#0A1210;--bg-muted:#0C1613;--bg-highlight:rgba(16,185,129,0.05);--bg-sidebar:#040907;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b;--text-white:#ffffff;--border-card:rgba(255,255,255,0.06);--border-input:rgba(255,255,255,0.1);--border-hover:rgba(16,185,129,0.3);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-2xl:24px;--radius-full:9999px;--shadow-card:0 4px 24px rgba(0,0,0,0.3);--shadow-glow:0 0 20px rgba(16,185,129,0.15);--shadow-modal:0 25px 80px rgba(0,0,0,0.6);--transition:all 0.3s cubic-bezier(0.4,0,0.2,1);--transition-fast:all 0.15s ease;--sidebar-width:260px;--header-height:70px}[data-theme=light]{--bg-app:#f4f7f6;--bg-card:#ffffff;--bg-card-hover:#f8faf9;--bg-input:#f0f4f3;--bg-muted:#e8eeec;--bg-highlight:rgba(16,185,129,0.06);--bg-sidebar:#ffffff;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#94a3b8;--text-white:#0f172a;--border-card:rgba(0,0,0,0.08);--border-input:rgba(0,0,0,0.12);--border-hover:rgba(16,185,129,0.4);--shadow-card:0 2px 12px rgba(0,0,0,0.06);--shadow-glow:0 0 16px rgba(16,185,129,0.1);--shadow-modal:0 20px 60px rgba(0,0,0,0.15);--primary-light:rgba(16,185,129,0.08);--primary-muted:rgba(16,185,129,0.1);--danger-light:rgba(239,68,68,0.08);--warning-light:rgba(245,158,11,0.08);--info-light:rgba(59,130,246,0.08);--success-light:rgba(16,185,129,0.08);--purple-light:rgba(139,92,246,0.08)}[data-theme=light] .hero-banner{background:linear-gradient(135deg,rgba(16,185,129,.06),rgba(6,182,212,.03) 50%,transparent);border-color:rgba(16,185,129,.15)}[data-theme=light] .hero-banner:before{background:linear-gradient(90deg,transparent,rgba(16,185,129,.2),transparent)}[data-theme=light] .login-page{background:#f4f7f6}[data-theme=light] .login-bg{background:radial-gradient(ellipse at 30% 20%,rgba(16,185,129,.06) 0,transparent 60%),radial-gradient(ellipse at 70% 80%,rgba(6,182,212,.04) 0,transparent 60%)}[data-theme=light] .login-card{box-shadow:0 8px 40px rgba(0,0,0,.08)}[data-theme=light] .login-card:before{background:linear-gradient(90deg,transparent,rgba(16,185,129,.3),transparent)}[data-theme=light] .sidebar-v2{box-shadow:2px 0 12px rgba(0,0,0,.04)}[data-theme=light] .header-v2{background:rgba(244,247,246,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}[data-theme=light] .modal-overlay{background:rgba(0,0,0,.3)}[data-theme=light] .deco-glow{opacity:.04}[data-theme=light] .deco-corner-bl,[data-theme=light] .deco-corner-br,[data-theme=light] .deco-corner-tl,[data-theme=light] .deco-corner-tr{opacity:.25}[data-theme=light] .camp-card:hover,[data-theme=light] .inf-card:hover,[data-theme=light] .stat-card:hover{box-shadow:0 4px 20px rgba(16,185,129,.1)}[data-theme=light] .loading-overlay{background:#f4f7f6}[data-theme=light] .table th{background:rgba(0,0,0,.02)}[data-theme=light] .table tr:hover td{background:rgba(16,185,129,.03)}[data-theme=light] .progress-bar{background:rgba(0,0,0,.06)}[data-theme=light] .kanban-column{background:rgba(0,0,0,.02)}[data-theme=light] .budget-hero-bg{background:linear-gradient(120deg,#edfaf4,#e8f5ef 40%,#eaf2f8)!important;border-color:rgba(16,185,129,.25)!important}[data-theme=light] .budget-hero-bg svg{opacity:.55!important}[data-theme=light] .tube-seg-off,[data-theme=light] .tube-track{background:rgba(0,0,0,.08)!important}[data-theme=light] .budget-mini-tile,[data-theme=light] .budget-stat-tile{background:rgba(0,0,0,.04)!important;border-color:rgba(0,0,0,.08)!important}[data-theme=light] .camp-budget-row{background:#ffffff!important}[data-theme=light] .camp-budget-row:hover{border-color:var(--primary)!important}[data-theme=light] .budget-deco-orb{opacity:.04!important}@keyframes floatCoin{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{font-family:Prompt,Inter,system-ui,-apple-system,sans-serif}body{background:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100vh}a,button,div,h1,h2,h3,h4,h5,h6,input,label,li,p,select,span,td,textarea,th{font-family:inherit}::selection{background:rgba(16,185,129,.3);color:#fff}a{color:inherit;text-decoration:none}.bg-grid{background-image:repeating-linear-gradient(45deg,rgba(16,185,129,.015),rgba(16,185,129,.015) 1px,transparent 0,transparent 32px)}.bg-dots{background-image:radial-gradient(rgba(16,185,129,.06) 1px,transparent 0);background-size:16px 16px}.bg-grid-fine{background-image:linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 0),linear-gradient(180deg,rgba(255,255,255,.02) 1px,transparent 0);background-size:48px 48px}.border-gradient{position:relative;border:none!important}.border-gradient:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.02) 50%,rgba(255,255,255,.08));pointer-events:none;z-index:1}.border-gradient-emerald:before{background:linear-gradient(135deg,rgba(16,185,129,.5),rgba(16,185,129,.05) 50%,rgba(16,185,129,.3))}.app-layout{display:flex;min-height:100vh}.page-content{flex:1 1;margin-left:var(--sidebar-width);padding:24px 32px;padding-top:calc(var(--header-height) + 24px);min-height:100vh;position:relative}.sidebar-v2{width:var(--sidebar-width);height:100vh;position:fixed;left:0;top:0;z-index:40;background:var(--bg-sidebar);border-right:1px solid var(--border-card);display:flex;flex-direction:column;overflow-y:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.sidebar-v2 .sidebar-logo{padding:24px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border-card)}.sidebar-v2 .sidebar-logo-icon{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--primary);display:flex;align-items:center;justify-content:center;color:#000;font-weight:700;font-size:14px}.sidebar-v2 .sidebar-logo-text{display:flex;flex-direction:column}.sidebar-v2 .sidebar-logo-text .title{font-size:16px;font-weight:700;color:var(--text-white);letter-spacing:.02em}.sidebar-v2 .sidebar-logo-text .subtitle{font-size:9px;font-weight:600;color:var(--primary);letter-spacing:.15em;text-transform:uppercase;margin-top:2px}.sidebar-v2 nav{padding:16px 12px;flex:1 1}.sidebar-v2 .nav-section-label{font-size:9px;font-weight:600;color:var(--text-muted);letter-spacing:.15em;text-transform:uppercase;padding:12px 12px 8px}.sidebar-v2 .nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:var(--transition);position:relative;overflow:hidden;margin-bottom:2px;border:none;background:none;width:100%;text-align:left}.sidebar-v2 .nav-item:hover{color:var(--text-primary);background:rgba(255,255,255,.04)}.sidebar-v2 .nav-item.active{color:var(--text-white);background:linear-gradient(135deg,rgba(16,185,129,.15),rgba(16,185,129,.05));border:1px solid rgba(16,185,129,.2)}.sidebar-v2 .nav-item.active:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;background:var(--primary);border-radius:0 2px 2px 0}.sidebar-v2 .sidebar-footer{padding:16px;border-top:1px solid var(--border-card)}.sidebar-v2 .sidebar-user{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);background:rgba(255,255,255,.03);border:1px solid var(--border-card)}.sidebar-v2 .sidebar-user-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#000;flex-shrink:0}.sidebar-v2 .sidebar-user-info{flex:1 1;min-width:0}.sidebar-v2 .sidebar-user-info .name{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-v2 .sidebar-user-info .role{font-size:10px;color:var(--text-muted);text-transform:capitalize}.header-v2{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--header-height);z-index:30;background:rgba(3,7,6,.85);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-card);display:flex;align-items:center;justify-content:space-between;padding:0 32px}.header-v2 .header-left h1{font-size:18px;font-weight:700;color:var(--text-white);letter-spacing:-.01em}.header-v2 .header-left p{font-size:12px;color:var(--text-muted);margin-top:2px}.header-v2 .header-right{display:flex;align-items:center;gap:16px}.header-v2 .header-user-pill{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:var(--radius-full);background:rgba(255,255,255,.04);font-size:12px;color:var(--text-secondary)}.card,.header-v2 .header-user-pill{border:1px solid var(--border-card)}.card{background:var(--bg-card);border-radius:var(--radius-xl);padding:24px;position:relative;overflow:hidden;transition:var(--transition)}.card:hover{border-color:rgba(255,255,255,.1)}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-title{font-size:14px;font-weight:600;color:var(--text-primary)}.stat-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-xl);padding:20px;transition:var(--transition)}.stat-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-glow)}.stat-card .stat-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:14px}.stat-card .stat-value{font-size:28px;font-weight:700;color:var(--text-white);line-height:1;margin-bottom:6px}.stat-card .stat-label{font-size:12px;color:var(--text-muted);font-weight:500}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:var(--primary);color:#000;font-size:13px;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);white-space:nowrap}.btn-primary:hover{background:var(--primary-hover);box-shadow:0 0 20px rgba(16,185,129,.3);transform:translateY(-1px)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:rgba(255,255,255,.05);color:var(--text-primary);font-size:13px;font-weight:500;border:1px solid var(--border-input);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);white-space:nowrap}.btn-secondary:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:var(--danger-light);color:var(--danger);font-size:13px;font-weight:600;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.btn-danger:hover{background:rgba(239,68,68,.2)}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.btn-ghost:hover{background:rgba(255,255,255,.06);color:var(--text-primary)}.form-input{width:100%;padding:10px 14px;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-input);border-radius:var(--radius-md);font-size:13px;font-family:inherit;transition:var(--transition);outline:none}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(16,185,129,.1)}.form-input::placeholder{color:var(--text-muted)}.form-select{width:100%;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-input);border-radius:var(--radius-md);font-size:13px;font-family:inherit;transition:var(--transition);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding:10px 36px 10px 14px}.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(16,185,129,.1)}.form-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;letter-spacing:.02em}textarea.form-input{resize:vertical;min-height:80px}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600;white-space:nowrap;letter-spacing:.01em}.badge-success{background:var(--success-light);color:var(--success);border:1px solid rgba(16,185,129,.2)}.badge-warning{background:var(--warning-light);color:var(--warning);border:1px solid rgba(245,158,11,.2)}.badge-danger{background:var(--danger-light);color:var(--danger);border:1px solid rgba(239,68,68,.2)}.badge-info{background:var(--info-light);color:var(--info);border:1px solid rgba(59,130,246,.2)}.badge-purple{background:var(--purple-light);color:var(--purple);border:1px solid rgba(139,92,246,.2)}.badge-muted{background:rgba(100,116,139,.1);color:var(--text-muted);border:1px solid rgba(100,116,139,.15)}.table-wrap{overflow-x:auto;border-radius:var(--radius-xl);border:1px solid var(--border-card);background:var(--bg-card)}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:rgba(255,255,255,.02);white-space:nowrap}.table td,.table th{padding:12px 16px;border-bottom:1px solid var(--border-card)}.table td{color:var(--text-primary);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:rgba(255,255,255,.02)}.modal-overlay{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .2s ease}.modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-2xl);width:100%;max-width:560px;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-modal);animation:slideUp .3s ease;position:relative}.modal:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(16,185,129,.3),transparent)}.modal-lg{max-width:720px}.modal-xl{max-width:900px}.modal-header{padding:24px 24px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-card)}.modal-header h2{font-size:18px;font-weight:700;color:var(--text-white)}.modal-body{padding:24px}.modal-footer{padding:16px 24px 24px;display:flex;justify-content:flex-end;gap:10px}.tabs{display:flex;gap:4px;padding:4px;background:rgba(255,255,255,.03);border:1px solid var(--border-card);border-radius:var(--radius-lg);overflow-x:auto}.tab{padding:8px 16px;font-size:12px;font-weight:500;color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);white-space:nowrap;border:none;background:none;font-family:inherit}.tab:hover{color:var(--text-primary);background:rgba(255,255,255,.05)}.tab.active{color:#000;background:var(--primary);font-weight:600}.campaign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:16px;gap:16px;margin-bottom:28px}.camp-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-xl);padding:24px;cursor:pointer;transition:var(--transition);position:relative;overflow:hidden}.camp-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent));opacity:0;transition:var(--transition)}.camp-card:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:var(--shadow-glow)}.camp-card:hover:before{opacity:1}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.status-dot.active{background:#10B981;box-shadow:0 0 8px rgba(16,185,129,.5)}.status-dot.plan{background:#F59E0B;box-shadow:0 0 8px rgba(245,158,11,.3)}.status-dot.done{background:#6B7280}.status-dot.cancel{background:#EF4444}.dash-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:24px}.dash-breadcrumb button{background:none;border:none;color:var(--primary);cursor:pointer;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-md);transition:var(--transition);font-family:inherit}.dash-breadcrumb button:hover{background:var(--primary-light)}.hero-banner{background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(6,182,212,.04) 50%,transparent);border:1px solid rgba(16,185,129,.12);border-radius:var(--radius-2xl);padding:32px;position:relative;overflow:hidden;margin-bottom:24px}.hero-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(16,185,129,.4),transparent)}.hero-banner:after{content:"";position:absolute;top:-80px;right:-80px;width:250px;height:250px;background:radial-gradient(circle,rgba(16,185,129,.1) 0,transparent 70%);pointer-events:none}.progress-bar{width:100%;height:6px;background:rgba(255,255,255,.06);border-radius:var(--radius-full);overflow:hidden}.progress-bar .progress-fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--primary),var(--accent));transition:width .6s ease}.progress-bar .progress-fill.warning{background:linear-gradient(90deg,var(--warning),#F97316)}.progress-bar .progress-fill.danger{background:linear-gradient(90deg,var(--danger),#DC2626)}.kanban-board{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));grid-gap:12px;gap:12px;overflow-x:auto;padding-bottom:12px}.kanban-column{background:rgba(255,255,255,.02);border:1px solid var(--border-card);border-radius:var(--radius-xl);padding:16px;min-height:200px}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border-card)}.kanban-column-title{font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.kanban-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:14px;margin-bottom:8px;cursor:pointer;transition:var(--transition)}.kanban-card:hover{border-color:var(--border-hover);transform:translateY(-1px);box-shadow:var(--shadow-glow)}.inf-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-xl);overflow:hidden;transition:var(--transition);position:relative}.inf-card:hover{border-color:var(--border-hover);transform:translateY(-3px);box-shadow:var(--shadow-glow)}.inf-card .inf-banner{height:80px;position:relative;overflow:hidden}.inf-card .inf-avatar{width:64px;height:64px;border-radius:var(--radius-full);border:3px solid var(--bg-card);position:absolute;left:20px;top:48px;z-index:2;background:var(--bg-muted);display:flex;align-items:center;justify-content:center;overflow:hidden}.inf-card .inf-avatar img{width:100%;height:100%;object-fit:cover}.inf-card .inf-body{padding:44px 20px 20px}.step-tracker{display:flex;align-items:center;gap:0;margin-bottom:24px}.step-tracker .step{flex:1 1;flex-direction:column}.step-tracker .step,.step-tracker .step-dot{display:flex;align-items:center;position:relative}.step-tracker .step-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--border-input);justify-content:center;font-size:11px;font-weight:700;color:var(--text-muted);background:var(--bg-card);z-index:2;transition:var(--transition)}.step-tracker .step.completed .step-dot{background:var(--primary);border-color:var(--primary);color:#000}.step-tracker .step.current .step-dot{border-color:var(--primary);color:var(--primary);box-shadow:0 0 12px rgba(16,185,129,.3)}.step-tracker .step-line{position:absolute;top:14px;left:50%;right:-50%;height:2px;background:var(--border-input);z-index:1}.step-tracker .step.completed .step-line{background:var(--primary)}.step-tracker .step-label{font-size:10px;color:var(--text-muted);margin-top:8px;text-align:center;white-space:nowrap}.step-tracker .step.completed .step-label,.step-tracker .step.current .step-label{color:var(--text-primary)}.chart-container{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-xl);padding:24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px rgba(16,185,129,.3)}50%{box-shadow:0 0 20px rgba(16,185,129,.6)}}.text-emerald{color:var(--primary)}.text-muted{color:var(--text-muted)}.text-white{color:var(--text-white)}.grid-2{grid-template-columns:1fr 1fr;grid-gap:16px}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:16px}.grid-4{grid-template-columns:repeat(4,1fr);grid-gap:16px}.grid-4,.grid-6{display:grid;gap:16px}.grid-6{grid-template-columns:repeat(6,1fr);grid-gap:16px}.flex-between{justify-content:space-between}.flex-between,.flex-center{display:flex;align-items:center}.flex-center{justify-content:center}.flex-gap-2{gap:8px}.flex-gap-2,.flex-gap-3{display:flex;align-items:center}.flex-gap-3{gap:12px}.flex-gap-4{display:flex;align-items:center;gap:16px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.2)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-page .login-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(16,185,129,.08) 0,transparent 60%),radial-gradient(ellipse at 70% 80%,rgba(6,182,212,.05) 0,transparent 60%)}.login-card{width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-2xl);padding:40px;position:relative;z-index:10;box-shadow:var(--shadow-modal)}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--primary),transparent);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.empty-state{flex-direction:column;padding:60px 24px;text-align:center}.empty-state,.empty-state .empty-icon{display:flex;align-items:center;justify-content:center}.empty-state .empty-icon{width:64px;height:64px;border-radius:var(--radius-full);background:var(--primary-light);margin-bottom:20px}.empty-state h3{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-state p{font-size:13px;color:var(--text-muted);max-width:320px}.loader{width:24px;height:24px;border:2px solid rgba(16,185,129,.2);border-top:2px solid var(--primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.loading-overlay{position:fixed;inset:0;z-index:100;background:var(--bg-app);flex-direction:column;gap:20px}.loading-logo,.loading-overlay{display:flex;align-items:center;justify-content:center}.loading-logo{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--accent));animation:logo-pulse 2s ease-in-out infinite;box-shadow:0 0 40px rgba(16,185,129,.3)}@keyframes logo-pulse{0%,to{transform:scale(1);box-shadow:0 0 40px rgba(16,185,129,.3)}50%{transform:scale(1.05);box-shadow:0 0 60px rgba(16,185,129,.5)}}.loading-bar{width:180px;height:3px;background:rgba(255,255,255,.06);border-radius:2px;overflow:hidden}.loading-bar-fill{height:100%;width:40%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:2px;animation:loading-slide 1.2s ease-in-out infinite}@keyframes loading-slide{0%{transform:translateX(-100%)}to{transform:translateX(350%)}}.skeleton{background:linear-gradient(90deg,var(--bg-muted) 25%,rgba(255,255,255,.04) 50%,var(--bg-muted) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.deco-corner-bl,.deco-corner-br,.deco-corner-tl,.deco-corner-tr{position:absolute;width:16px;height:16px;pointer-events:none;z-index:1}.deco-corner-tl{left:-1px;border-left:2px solid var(--primary)}.deco-corner-tl,.deco-corner-tr{top:-1px;border-top:2px solid var(--primary);opacity:.4}.deco-corner-tr{right:-1px;border-right:2px solid var(--primary)}.deco-corner-bl{left:-1px;border-left:2px solid var(--primary)}.deco-corner-bl,.deco-corner-br{bottom:-1px;border-bottom:2px solid var(--primary);opacity:.4}.deco-corner-br{right:-1px;border-right:2px solid var(--primary)}.deco-glow{border-radius:50%;filter:blur(60px);opacity:.07;z-index:0}.deco-glow,.deco-line-h{position:absolute;pointer-events:none}.deco-line-h{left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--primary),transparent);opacity:.15}.deco-line-v{position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,var(--primary),transparent);opacity:.1;pointer-events:none}.card-glow{position:relative;overflow:hidden}.card-glow:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(16,185,129,.06) 0,transparent 60%);opacity:0;transition:opacity .5s ease;pointer-events:none}.card-glow:hover:after{opacity:1}.bg-grid-animated{background-image:linear-gradient(90deg,rgba(16,185,129,.03) 1px,transparent 0),linear-gradient(180deg,rgba(16,185,129,.03) 1px,transparent 0);background-size:40px 40px;animation:grid-shift 20s linear infinite}@keyframes grid-shift{0%{background-position:0 0}to{background-position:40px 40px}}.stat-card{position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;top:0;right:0;width:80px;height:80px;background:radial-gradient(circle,rgba(16,185,129,.08) 0,transparent 70%);pointer-events:none}@media (max-width:1024px){.grid-6{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}.kanban-board{grid-template-columns:repeat(3,minmax(200px,1fr))}}@media (max-width:768px){.sidebar-v2{display:none}.page-content{margin-left:0}.header-v2{left:0}.grid-3,.grid-4,.grid-6{grid-template-columns:repeat(2,1fr)}.campaign-grid,.grid-2{grid-template-columns:1fr}.kanban-board{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (max-width:480px){.grid-2,.grid-3,.grid-4,.grid-6{grid-template-columns:1fr}.page-content{padding:16px;padding-top:calc(var(--header-height) + 16px)}}