@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
:root{--primary-50:#eef2ff;--primary-100:#e0e7ff;--primary-200:#c7d2fe;--primary-300:#a5b4fc;--primary-400:#818cf8;--primary-500:#6366f1;--primary-600:#4f46e5;--primary-700:#4338ca;--primary-800:#3730a3;--primary-900:#312e81;--accent-400:#a78bfa;--accent-500:#8b5cf6;--accent-600:#7c3aed;--success-50:#ecfdf5;--success-400:#34d399;--success-500:#10b981;--success-600:#059669;--danger-50:#fef2f2;--danger-400:#f87171;--danger-500:#ef4444;--danger-600:#dc2626;--warning-50:#fffbeb;--warning-400:#fbbf24;--warning-500:#f59e0b;--info-50:#eff6ff;--info-400:#60a5fa;--info-500:#3b82f6;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--gray-950:#020617;--white:#fff;--surface:var(--white);--body-bg:var(--gray-50);--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--shadow-glow:0 0 20px #6366f126;--shadow-card-hover:0 20px 40px -12px #6366f12e;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--ease-out:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--sidebar-width:270px;--sidebar-collapsed:0px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--body-bg);color:var(--gray-800);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.6;overflow-x:hidden}a{color:var(--primary-600);text-decoration:none}a:hover{color:var(--primary-700)}img{max-width:100%;display:block}.page{min-height:100vh;display:none}.page.active{display:block}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-ring{0%{opacity:1;transform:scale(.9)}80%,to{opacity:0;transform:scale(2.2)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(120%)}}.auth-page-bg{background:linear-gradient(135deg, var(--gray-900) 0%, #1a1046 50%, var(--gray-950) 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.auth-page-bg:before{content:"";pointer-events:none;background-color:#0000;background-image:radial-gradient(circle at 30% 40%,#6366f11f 0%,#0000 50%),radial-gradient(circle at 70% 80%,#8b5cf61a 0%,#0000 40%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:200% 200%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;width:200%;height:200%;animation:15s infinite gradient-shift;position:absolute;top:-50%;left:-50%}.container{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-xl);width:100%;max-width:420px;animation:fadeInUp var(--duration-slow) var(--ease-out);z-index:1;background:#ffffff0f;border:1px solid #ffffff1a;padding:44px 40px;position:relative}.auth-header{text-align:center;margin-bottom:32px}.auth-header h1{color:var(--white);letter-spacing:-.5px;margin-bottom:6px;font-size:30px;font-weight:800}.auth-header h1 i{background:linear-gradient(135deg, var(--primary-400), var(--accent-400));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-right:8px}.auth-header p{color:var(--gray-400);font-size:14px;font-weight:400}.auth-card .form-group label{color:var(--gray-300)}.auth-card .form-group input{color:var(--white);transition:all var(--duration-normal) var(--ease-out);background:#ffffff0f;border:1px solid #ffffff1f}.auth-card .form-group input::placeholder{color:var(--gray-500)}.auth-card .form-group input:focus{border-color:var(--primary-400);background:#ffffff14;box-shadow:0 0 0 3px #6366f133}.auth-tabs{border:1px solid var(--gray-200);border-radius:10px;gap:0;margin-bottom:20px;display:flex;overflow:hidden}.auth-tab{background:var(--gray-50);color:var(--gray-500);cursor:pointer;border:none;flex:1;padding:10px 12px;font-size:13px;font-weight:600;transition:all .2s}.auth-tab i{margin-right:6px}.auth-tab.active{background:var(--primary-500);color:#fff}.auth-tab:hover:not(.active){background:var(--gray-100);color:var(--gray-700)}.auth-divider{color:var(--gray-500);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:16px;margin:24px 0;font-size:12px;font-weight:500;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#ffffff1a;flex:1;height:1px}.auth-switch{text-align:center;color:var(--gray-400);margin-top:24px;font-size:14px}.auth-switch a{color:var(--primary-400);transition:color var(--duration-fast);font-weight:600}.auth-switch a:hover{color:var(--primary-300)}.auth-legal{color:var(--gray-500);text-align:center;border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:26px;padding-top:18px;font-size:12.5px;display:flex}.auth-legal a{color:var(--gray-400);transition:color var(--duration-fast);text-decoration:none}.auth-legal a:hover{color:var(--primary-300)}.auth-legal-sep{color:var(--gray-600)}.btn-google{background:var(--white);width:100%;color:var(--gray-800);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);border:none;justify-content:center;align-items:center;gap:10px;padding:12px 20px;font-family:inherit;font-size:14px;font-weight:600;display:flex}.btn-google:hover{background:var(--gray-100);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-google img,.btn-google svg{width:20px;height:20px}.form-group{margin-bottom:20px}.form-group label{color:var(--gray-700);letter-spacing:.01em;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--gray-300);border-radius:var(--radius-md);width:100%;color:var(--gray-800);background:var(--white);transition:all var(--duration-normal) var(--ease-out);padding:10px 14px;font-family:inherit;font-size:14px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100);outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--gray-400)}.form-group .input-hint{color:var(--gray-500);margin-top:4px;font-size:12px}.form-group.error input,.form-group.error textarea{border-color:var(--danger-500);box-shadow:0 0 0 3px var(--danger-50)}.form-group .error-text{color:var(--danger-500);margin-top:4px;font-size:12px}.radio-group{gap:12px;margin-top:4px;display:flex}.radio-label{border:2px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);color:var(--gray-600);background:var(--gray-50);flex:1;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;display:flex}.radio-label:hover{border-color:var(--primary-300);background:var(--primary-50)}.radio-label input[type=radio]{display:none}.radio-label:has(input:checked){border-color:var(--primary-500);background:var(--primary-50);color:var(--primary-700);box-shadow:0 0 0 3px var(--primary-100)}.input-with-icon{position:relative}.input-with-icon input{padding-right:42px}.input-with-icon .toggle-password{color:var(--gray-400);cursor:pointer;transition:color var(--duration-fast);background:0 0;border:none;padding:4px;font-size:16px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.input-with-icon .toggle-password:hover{color:var(--gray-600)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:linear-gradient(135deg, var(--primary-500), var(--primary-600));color:var(--white);box-shadow:0 2px 8px #6366f140}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-600), var(--primary-700));transform:translateY(-1px);box-shadow:0 4px 14px #6366f159}.btn-secondary{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-200)}.btn-secondary:hover:not(:disabled){background:var(--gray-200);transform:translateY(-1px)}.btn-outline{color:var(--primary-600);border:1.5px solid var(--primary-300);background:0 0}.btn-outline:hover:not(:disabled){background:var(--primary-50);border-color:var(--primary-500);transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg, var(--danger-500), var(--danger-600));color:var(--white);box-shadow:0 2px 8px #ef444433}.btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #ef44444d}.btn-success{background:linear-gradient(135deg, var(--success-500), var(--success-600));color:var(--white)}.btn-success:hover:not(:disabled){transform:translateY(-1px)}.btn-warning{background:linear-gradient(135deg, var(--warning-500,#f59e0b), var(--warning-600,#d97706));color:var(--white)}.btn-warning:hover:not(:disabled){transform:translateY(-1px)}.btn-info{background:linear-gradient(135deg, var(--info-500), #2563eb);color:var(--white)}.btn-info:hover:not(:disabled){transform:translateY(-1px)}.btn-ghost{color:var(--gray-600);background:0 0;padding:8px 12px}.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--gray-800)}.btn-sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:13px}.btn-full{width:100%}.btn-icon{border-radius:var(--radius-md);width:36px;height:36px;padding:0}.btn .spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}#dashboard-layout,#admin-layout{min-height:100vh;display:flex}#dashboard-layout .sidebar,#admin-layout .sidebar{width:var(--sidebar-width);background:linear-gradient(180deg, var(--gray-900) 0%, #111338 60%, var(--gray-950) 100%);color:var(--white);z-index:100;height:100vh;transition:transform var(--duration-slow) var(--ease-out);border-right:1px solid #ffffff0f;padding:0;position:fixed;overflow:hidden auto}#dashboard-layout .sidebar::-webkit-scrollbar{width:0}#admin-layout .sidebar::-webkit-scrollbar{width:0}.sidebar-header{border-bottom:1px solid #ffffff14;padding:24px 22px 20px}.sidebar-header h2{letter-spacing:-.3px;align-items:center;gap:10px;font-size:20px;font-weight:800;display:flex}.sidebar-header h2 i{background:linear-gradient(135deg, var(--primary-400), var(--accent-400));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:22px}.sidebar-menu{padding:12px 12px 24px;list-style:none}.sidebar-menu li{margin:2px 0}.sidebar-menu a{color:var(--gray-400);border-radius:var(--radius-md);transition:all var(--duration-normal) var(--ease-out);align-items:center;gap:12px;padding:11px 14px;font-size:14px;font-weight:500;text-decoration:none;display:flex;position:relative}.sidebar-menu a:hover{color:var(--gray-200);background:#ffffff0f}.sidebar-menu a.active{color:var(--white);background:linear-gradient(135deg,#6366f12e,#8b5cf61f);box-shadow:inset 0 0 0 1px #6366f133}.sidebar-menu a.active:before{content:"";background:linear-gradient(180deg, var(--primary-400), var(--accent-400));border-radius:0 3px 3px 0;width:3px;height:24px;position:absolute;top:50%;left:-12px;transform:translateY(-50%)}.sidebar-menu a i{text-align:center;flex-shrink:0;width:20px;font-size:15px}.sidebar-user{border-top:1px solid #ffffff14;align-items:center;gap:12px;margin-top:auto;padding:16px 22px;display:flex}.sidebar-user-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--primary-500), var(--accent-500));width:36px;height:36px;color:var(--white);flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.sidebar-user-info{min-width:0}.sidebar-user-info .name{color:var(--gray-200);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user-info .plan{color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.main-content{margin-left:var(--sidebar-width);background:var(--body-bg);min-height:100vh;transition:margin-left var(--duration-slow) var(--ease-out);flex:1;padding:32px 36px}.content-page{animation:fadeInUp var(--duration-slow) var(--ease-out)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.page-header h1{color:var(--gray-900);letter-spacing:-.5px;font-size:26px;font-weight:800}.page-header p{color:var(--gray-500);margin-top:2px;font-size:14px}.header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);transition:box-shadow var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out);overflow:hidden}.card:hover{box-shadow:var(--shadow-md)}.card-header{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.card-header h2{color:var(--gray-900);font-size:16px;font-weight:700}.card-body{padding:24px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:28px;display:grid}.stat-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);transition:all var(--duration-normal) var(--ease-out);align-items:center;gap:16px;padding:22px 24px;display:flex;position:relative;overflow:hidden}.stat-card:after{content:"";background:linear-gradient(90deg, var(--primary-400), var(--accent-400));opacity:0;height:3px;transition:opacity var(--duration-normal);position:absolute;top:0;left:0;right:0}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.stat-card:hover:after{opacity:1}.stat-icon{background:linear-gradient(135deg, var(--primary-500), var(--accent-500));border-radius:var(--radius-md);width:50px;height:50px;color:var(--white);flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex;box-shadow:0 4px 12px #6366f140}.stat-card:nth-child(2) .stat-icon{background:linear-gradient(135deg, var(--success-500), #059669);box-shadow:0 4px 12px #10b98140}.stat-card:nth-child(3) .stat-icon{background:linear-gradient(135deg, var(--info-500), #2563eb);box-shadow:0 4px 12px #3b82f640}.stat-card:nth-child(4) .stat-icon{background:linear-gradient(135deg, var(--warning-500), #d97706);box-shadow:0 4px 12px #f59e0b40}.stat-info h3{color:var(--gray-900);letter-spacing:-.5px;margin-bottom:2px;font-size:28px;font-weight:800;line-height:1.1}.stat-info p{color:var(--gray-500);font-size:13px;font-weight:500}.usage-bar-container{margin-bottom:16px}.usage-bar-header{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.usage-bar-label{color:var(--gray-700);font-size:13px;font-weight:600}.usage-bar-value{color:var(--gray-500);font-size:13px;font-weight:500}.usage-bar{background:var(--gray-100);border-radius:var(--radius-full);height:8px;overflow:hidden}.usage-bar-fill{border-radius:var(--radius-full);background:linear-gradient(90deg, var(--primary-500), var(--accent-500));height:100%;transition:width .8s var(--ease-out);position:relative}.usage-bar-fill.warning{background:linear-gradient(90deg, var(--warning-400), var(--warning-500))}.usage-bar-fill.danger{background:linear-gradient(90deg, var(--danger-400), var(--danger-500))}.table-container{border-radius:var(--radius-md);overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--gray-100);padding:12px 16px}.data-table th{background:var(--gray-50);color:var(--gray-500);text-transform:uppercase;letter-spacing:.8px;font-size:11px;font-weight:700}.data-table td{color:var(--gray-700);font-size:14px}.data-table tbody tr{transition:background var(--duration-fast)}.data-table tbody tr:hover{background:var(--gray-50)}.empty-state{text-align:center;color:var(--gray-400);padding:48px 24px}.empty-state i{color:var(--gray-300);margin-bottom:12px;font-size:40px;display:block}.empty-state p{font-size:14px;font-weight:500}.search-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.search-bar .search-input{flex:1;min-width:200px;position:relative}.search-bar .search-input input{border:1px solid var(--gray-300);border-radius:var(--radius-md);background:var(--white);width:100%;transition:all var(--duration-normal);padding:10px 14px 10px 40px;font-family:inherit;font-size:14px}.search-bar .search-input input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100);outline:none}.search-bar .search-input i{color:var(--gray-400);pointer-events:none;font-size:14px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.plans-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.plan-card{background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--gray-200);text-align:center;transition:all var(--duration-normal) var(--ease-out);padding:32px 24px;position:relative;overflow:hidden}.plan-card:before{content:"";border-radius:var(--radius-xl);-webkit-mask-composite:xor;opacity:0;transition:opacity var(--duration-normal);background:linear-gradient(135deg,#0000,#0000);padding:2px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.plan-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.plan-card:hover:before{opacity:1}.plan-card.popular{border-color:var(--primary-400);box-shadow:var(--shadow-glow)}.plan-card.popular:before{background:linear-gradient(135deg, var(--primary-400), var(--accent-400), var(--primary-400));opacity:1;background-size:200% 200%;animation:3s infinite gradient-shift}.plan-card.current{border-color:var(--success-400);max-width:420px;margin:0 auto}.plan-current-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--success-600);margin-bottom:8px;font-size:12px;font-weight:700}.popular-badge{background:linear-gradient(135deg, var(--primary-500), var(--accent-500));color:var(--white);border-radius:0 0 var(--radius-md) var(--radius-md);text-transform:uppercase;letter-spacing:1px;padding:4px 20px;font-size:11px;font-weight:700;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.plan-card h3{color:var(--gray-900);margin-top:8px;margin-bottom:8px;font-size:20px;font-weight:700}.plan-price{color:var(--gray-900);letter-spacing:-1px;margin-bottom:4px;font-size:44px;font-weight:800}.plan-price span{color:var(--gray-500);letter-spacing:0;font-size:15px;font-weight:500}.plan-features{text-align:left;margin:24px 0;list-style:none}.plan-features li{color:var(--gray-600);align-items:center;gap:10px;padding:8px 0;font-size:14px;font-weight:500;display:flex}.plan-features li:before{content:"";color:var(--success-500);background:var(--success-50);border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-family:"Font Awesome 6 Free";font-size:12px;font-weight:900;display:flex}.current-plan-badge{background:var(--success-50);color:var(--success-600);border-radius:var(--radius-full);border:1px solid #10b98133;align-items:center;gap:6px;padding:6px 16px;font-size:13px;font-weight:700;display:inline-flex}.stripe-card-container{border:1px solid var(--gray-300);border-radius:var(--radius-md);background:var(--white);transition:all var(--duration-normal);min-height:44px;padding:14px}.stripe-card-container.StripeElement--focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.stripe-card-container.StripeElement--invalid{border-color:var(--danger-500);box-shadow:0 0 0 3px var(--danger-50)}.billing-history-item{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.billing-history-item:last-child{border-bottom:none}.modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;width:100%;height:100%;animation:fadeIn var(--duration-fast);background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--surface);border-radius:var(--radius-xl);width:100%;max-width:540px;max-height:90vh;box-shadow:var(--shadow-xl);animation:fadeInUp var(--duration-normal) var(--ease-out);overflow-y:auto}.modal-content.modal-lg{max-width:860px}.code-editor{white-space:pre-wrap;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.55}.modal-header{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{color:var(--gray-900);font-size:18px;font-weight:700}.modal-close{color:var(--gray-400);cursor:pointer;border-radius:var(--radius-sm);width:32px;height:32px;transition:all var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:24px;display:flex}.modal-close:hover{background:var(--gray-100);color:var(--gray-600)}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--gray-100);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.campaign-item{border-bottom:1px solid var(--gray-100);transition:background var(--duration-fast);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.campaign-item:last-child{border-bottom:none}.campaign-item:hover{background:var(--gray-50)}.campaign-info h4{color:var(--gray-900);margin-bottom:3px;font-size:15px;font-weight:600}.campaign-info p{color:var(--gray-500);font-size:13px}.campaign-actions{flex-shrink:0;gap:8px;display:flex}.status-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-flex}.status-active,.status-running{background:var(--success-50);color:var(--success-600)}.status-draft{background:var(--gray-100);color:var(--gray-600)}.status-paused{background:var(--warning-50);color:#b45309}.status-suspended,.status-cancelled{background:var(--danger-50);color:var(--danger-600)}.status-completed{color:#065f46;background:#d1fae5}.status-failed,.status-stopped{background:var(--danger-50);color:var(--danger-600)}.status-sent{background:var(--success-50);color:var(--success-600)}.send-count{border-radius:var(--radius-full);background:var(--primary-50);min-width:28px;color:var(--primary-600);justify-content:center;align-items:center;padding:2px 10px;font-size:13px;font-weight:700;display:inline-flex}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;max-width:400px;display:flex;position:fixed;top:20px;right:20px}.toast{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--gray-200);animation:toast-in var(--duration-normal) var(--ease-spring);pointer-events:auto;align-items:flex-start;gap:12px;max-width:100%;padding:14px 18px;display:flex}.toast.removing{animation:toast-out var(--duration-normal) var(--ease-out) forwards}.toast-icon{border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:1px;font-size:12px;display:flex}.toast.success .toast-icon{background:var(--success-50);color:var(--success-600)}.toast.error .toast-icon{background:var(--danger-50);color:var(--danger-600)}.toast.warning .toast-icon{background:var(--warning-50);color:#b45309}.toast.info .toast-icon{background:var(--info-50);color:var(--info-500)}.toast-content{flex:1;min-width:0}.toast-title{color:var(--gray-900);margin-bottom:2px;font-size:14px;font-weight:600}.toast-message{color:var(--gray-500);font-size:13px;line-height:1.4}.toast-close{color:var(--gray-400);cursor:pointer;transition:color var(--duration-fast);background:0 0;border:none;flex-shrink:0;padding:4px;font-size:14px}.toast-close:hover{color:var(--gray-600)}.skeleton{background:linear-gradient(90deg, var(--gray-100) 25%, var(--gray-200) 50%, var(--gray-100) 75%);border-radius:var(--radius-sm);background-size:400% 100%;animation:1.5s infinite shimmer}.skeleton-text{border-radius:var(--radius-sm);height:14px;margin-bottom:8px}.skeleton-text:last-child{width:60%}.skeleton-heading{width:200px;height:28px;margin-bottom:12px}.skeleton-card{border-radius:var(--radius-lg);height:120px}.skeleton-row{height:48px;margin-bottom:4px}.connected-account{background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);transition:all var(--duration-fast);align-items:center;gap:14px;margin-bottom:10px;padding:14px 16px;display:flex}.connected-account:hover{border-color:var(--gray-300)}.connected-account .account-icon{border-radius:var(--radius-full);background:var(--white);border:1px solid var(--gray-200);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.connected-account .account-icon img{width:20px;height:20px}.connected-account .account-info{flex:1;min-width:0}.connected-account .account-email{color:var(--gray-800);font-size:14px;font-weight:600}.connected-account .account-meta{color:var(--gray-500);font-size:12px}.email-account-row{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;margin-bottom:12px;padding:16px;transition:box-shadow .2s}.email-account-row:hover{box-shadow:0 2px 8px #0000000f}.email-account-row .account-main{align-items:center;gap:12px;margin-bottom:10px;display:flex}.email-account-row .account-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.email-account-row .account-info{flex:1;min-width:0}.email-account-row .account-email{color:var(--gray-900);font-size:14px;font-weight:600}.email-account-row .account-meta{color:var(--gray-500);font-size:12px}.email-account-row .account-actions{flex-shrink:0}.email-account-row .account-usage{align-items:center;gap:12px;display:flex}.email-account-row .usage-bar-container{background:var(--gray-200);border-radius:4px;flex:1;height:8px;overflow:hidden}.email-account-row .usage-bar{border-radius:4px;height:100%;transition:width .4s}.email-account-row .usage-text{white-space:nowrap;text-align:right;min-width:130px;font-size:12px;font-weight:600}.template-select-row{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;justify-content:space-between;align-items:center;margin-top:4px;padding:10px 14px;display:flex}.template-select-row span{color:var(--gray-700);font-size:13px;font-weight:600}.template-full-card{border:2px solid var(--gray-200);background:#fff;border-radius:12px;margin-bottom:20px;transition:border-color .2s;overflow:hidden}.template-full-card:hover{border-color:var(--primary-300)}.template-full-card.selected{border-color:var(--primary-500);box-shadow:0 0 0 2px var(--primary-200)}.template-full-card .template-header{background:var(--gray-50);border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.template-full-card .template-header .template-info h3{color:var(--gray-900);margin:0;font-size:15px;font-weight:700}.template-full-card .template-header .template-info p{color:var(--gray-500);margin:2px 0 0;font-size:12px}.template-full-card .template-preview-iframe{background:#fff;border:none;width:100%;height:380px}.template-full-card .template-actions{text-align:right;border-top:1px solid var(--gray-100);padding:12px 20px;position:relative}.template-icon-actions{gap:6px;margin-right:12px;display:inline-flex}.template-icon-actions .icon-btn{border:1px solid var(--gray-200);width:32px;height:32px;color:var(--gray-600);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;font-size:13px;transition:all .15s;display:inline-flex}.template-icon-actions .icon-btn:hover{border-color:var(--primary-400);color:var(--primary-600);background:var(--primary-50)}.template-icon-actions .icon-btn.danger:hover{color:#ef4444;background:#fef2f2;border-color:#ef4444}.template-custom-badge{letter-spacing:.4px;text-transform:uppercase;color:var(--primary-600);background:var(--primary-50);border:1px solid var(--primary-200);border-radius:999px;align-items:center;gap:4px;margin-top:4px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.locked-badge{color:#fff;letter-spacing:.3px;vertical-align:middle;background:linear-gradient(135deg,#7c3aed,#4f46e5);border-radius:999px;align-items:center;gap:5px;margin-left:8px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex;box-shadow:0 2px 6px #4f46e559}.template-full-card .locked-badge{z-index:2;margin:0;position:absolute;top:14px;right:14px}.template-full-card.locked .template-preview-iframe{filter:saturate(.45)opacity(.92)}.template-full-card.locked{border-color:var(--gray-200)}.email-account-row.locked-row{position:relative}.email-account-row.locked-row .account-usage{opacity:.55}.file-upload-area{border:2px dashed var(--gray-300);text-align:center;cursor:pointer;background:var(--gray-50);border-radius:8px;padding:16px;transition:border-color .2s}.file-upload-area:hover{border-color:var(--primary-400)}.file-upload-area input[type=file]{display:none}.file-upload-hint{color:var(--gray-500);font-size:13px}.file-upload-hint i{color:var(--primary-500);margin-right:6px}.attachment-list{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.attachment-item{background:var(--primary-50);color:var(--primary-700);border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;display:flex}.attachment-item .remove-attachment{cursor:pointer;color:var(--gray-400);font-size:14px;line-height:1}.attachment-item .remove-attachment:hover{color:#ef4444}.csv-preview-table{border-collapse:collapse;width:100%;margin:16px 0;font-size:13px}.csv-preview-table th{background:var(--primary-50);color:var(--primary-700);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;font-size:11px;font-weight:700}.csv-preview-table td{border-bottom:1px solid var(--gray-100);color:var(--gray-600);padding:8px 12px}.csv-preview-table select{border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--white);width:100%;padding:6px 8px;font-family:inherit;font-size:12px}.activity-item{border-bottom:1px solid var(--gray-100);gap:12px;padding:12px 0;display:flex}.activity-item:last-child{border-bottom:none}.activity-dot{border-radius:var(--radius-full);background:var(--primary-400);flex-shrink:0;width:8px;height:8px;margin-top:6px}.activity-content{flex:1}.activity-text{color:var(--gray-700);font-size:13px}.activity-time{color:var(--gray-400);margin-top:2px;font-size:12px}.quick-actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:28px;display:grid}.quick-action-card{background:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all var(--duration-normal) var(--ease-out);color:inherit;padding:20px 16px;text-decoration:none}.quick-action-card:hover{border-color:var(--primary-300);background:var(--primary-50);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quick-action-card i{color:var(--primary-500);margin-bottom:8px;font-size:22px;display:block}.quick-action-card span{color:var(--gray-700);font-size:13px;font-weight:600}.mobile-menu-btn{z-index:200;border-radius:var(--radius-md);background:var(--gray-900);width:44px;height:44px;color:var(--white);cursor:pointer;box-shadow:var(--shadow-lg);transition:all var(--duration-normal);border:none;justify-content:center;align-items:center;font-size:18px;display:none;position:fixed;top:16px;left:16px}.mobile-menu-btn:hover{background:var(--gray-800)}.sidebar-overlay{z-index:90;background:#0006;display:none;position:fixed;inset:0}.loading-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#fffc;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-spinner{border:3px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.tabs{border-bottom:2px solid var(--gray-200);gap:0;margin-bottom:24px;display:flex}.tab{color:var(--gray-500);cursor:pointer;transition:all var(--duration-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600}.tab:hover{color:var(--gray-700)}.tab.active{color:var(--primary-600);border-bottom-color:var(--primary-600)}.danger-zone{border:1px solid var(--danger-400);border-radius:var(--radius-lg);background:var(--danger-50);margin-top:24px;padding:24px}.danger-zone h3{color:var(--danger-600);margin-bottom:8px;font-size:16px;font-weight:700}.danger-zone p{color:var(--gray-600);margin-bottom:16px;font-size:14px}@media (max-width:1024px){.stats-grid,.plans-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.mobile-menu-btn{display:flex}.sidebar-overlay.active{display:block}#dashboard-layout .sidebar,#admin-layout .sidebar{z-index:150;transform:translate(-100%)}#dashboard-layout .sidebar.open,#admin-layout .sidebar.open{transform:translate(0)}.main-content{margin-left:0;padding:72px 16px 20px}.stats-grid,.plans-grid{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(2,1fr)}.page-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%}.campaign-item{flex-direction:column;align-items:flex-start}.campaign-actions{margin-top:10px}.toast-container{max-width:none;left:16px;right:16px}.modal-content{max-width:100%;margin:0 10px}.auth-card{padding:32px 24px}}@media (max-width:480px){.quick-actions{grid-template-columns:1fr}.header-actions{flex-direction:column}.header-actions .btn{width:100%}}.text-center{text-align:center}.text-muted{color:var(--gray-500)}.text-sm{font-size:13px}.text-xs{font-size:12px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.gap-2{gap:8px}.gap-3{gap:12px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.hidden{display:none!important}.plan-bar-container{flex-direction:column;gap:12px;padding:4px 0;display:flex}.plan-bar-row{align-items:center;gap:12px;display:flex}.plan-label{width:100px;color:var(--gray-600);text-align:right;font-size:13px;font-weight:600}.plan-bar-track{background:var(--gray-100);border-radius:6px;flex:1;height:22px;overflow:hidden}.plan-bar{border-radius:6px;min-width:0;height:100%;transition:width .6s}.plan-bar-free{background:linear-gradient(90deg,#6b7280,#9ca3af)}.plan-bar-starter{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.plan-bar-pro{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.plan-bar-enterprise{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.plan-count{width:40px;color:var(--gray-800);text-align:left;font-size:13px;font-weight:700}.charts-grid{grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:16px;display:grid}@media (max-width:1100px){.charts-grid{grid-template-columns:1fr 1fr}}@media (max-width:700px){.charts-grid{grid-template-columns:1fr}}.chart-card .card-body.chart-body{padding:12px}.chart-card canvas{max-width:100%;max-height:260px}
