:root{--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading: "Outfit", "Inter", sans-serif;--primary-50: #f0fdf4;--primary-100: #dcfce7;--primary-200: #bbf7d0;--primary-500: #22c55e;--primary-600: #16a34a;--primary-700: #15803d;--primary-800: #166534;--primary-900: #14532d;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--amber-50: #fffbeb;--amber-100: #fef3c7;--amber-600: #d97706;--amber-700: #b45309;--red-50: #fef2f2;--red-100: #fee2e2;--red-600: #dc2626;--blue-50: #f0f9ff;--blue-100: #e0f2fe;--blue-600: #0284c7;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 25px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-glow: 0 0 20px rgba(22, 163, 74, .2);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);background-color:var(--slate-50);color:var(--slate-800);line-height:1.5;-webkit-font-smoothing:antialiased}.app-container{display:flex;min-height:100vh}.sidebar{width:260px;background-color:#fff;border-right:1px solid var(--slate-200);display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:40;transition:transform .25s ease}.main-content{flex:1;margin-left:260px;display:flex;flex-direction:column;min-width:0}.top-header{height:70px;background-color:#fff;border-bottom:1px solid var(--slate-200);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;position:sticky;top:0;z-index:30}.page-container{padding:2rem;max-width:1400px;width:100%;margin:0 auto}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--slate-900);font-weight:700}.page-title{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;color:var(--slate-900)}.page-subtitle{font-size:.95rem;color:var(--slate-500);margin-top:.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9rem;font-weight:600;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-primary{background-color:var(--primary-600);color:#fff;box-shadow:0 2px 6px #16a34a59}.btn-primary:hover{background-color:var(--primary-700);transform:translateY(-1px);box-shadow:0 4px 12px #16a34a66}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background-color:#fff;color:var(--slate-700);border-color:var(--slate-300)}.btn-secondary:hover{background-color:var(--slate-50);border-color:var(--slate-400)}.card{background-color:#fff;border-radius:var(--radius-lg);border:1px solid var(--slate-200);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .2s ease}.card:hover{box-shadow:var(--shadow-md)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2rem}.stat-card{padding:1.25rem;display:flex;align-items:center;gap:1rem}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{background-color:var(--slate-50);padding:.875rem 1.25rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--slate-500);border-bottom:1px solid var(--slate-200)}td{padding:1rem 1.25rem;font-size:.875rem;border-bottom:1px solid var(--slate-200);vertical-align:middle}tr:hover td{background-color:#f8fafc}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .625rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.badge-completed{background-color:var(--primary-100);color:var(--primary-800)}.badge-sending{background-color:var(--blue-100);color:var(--blue-600)}.badge-partially_failed{background-color:var(--amber-100);color:var(--amber-700)}.badge-failed{background-color:var(--red-100);color:var(--red-600)}.badge-draft{background-color:var(--slate-100);color:var(--slate-600)}.form-group{margin-bottom:1.25rem}.form-label{display:flex;justify-content:space-between;font-size:.875rem;font-weight:600;color:var(--slate-700);margin-bottom:.375rem}.form-hint{font-size:.75rem;color:var(--slate-400)}.form-input,.form-textarea,.form-select{width:100%;padding:.625rem .875rem;border-radius:var(--radius-md);border:1px solid var(--slate-300);font-family:inherit;font-size:.9rem;color:var(--slate-800);background-color:#fff;transition:all .2s ease}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--primary-600);box-shadow:0 0 0 3px #22c55e26}.char-counter{font-size:.75rem;color:var(--slate-400);text-align:right;margin-top:.25rem}.phone-mockup-wrapper{position:sticky;top:90px}.phone-mockup{width:320px;background:#fff;border:8px solid #0f172a;border-radius:36px;box-shadow:0 20px 40px -10px #0003,0 0 0 1px #0000000d;overflow:hidden;margin:0 auto;min-height:480px;position:relative}.phone-notch{width:100px;height:18px;background:#0f172a;border-bottom-left-radius:12px;border-bottom-right-radius:12px;margin:0 auto}.phone-status-bar{display:flex;justify-content:space-between;padding:6px 16px;font-size:10px;color:#64748b;font-weight:600}.notification-banner{margin:12px;padding:12px;background:#fff;border-radius:16px;box-shadow:0 6px 16px #0000001a;border:1px solid #e2e8f0;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal-content{background:#fff;border-radius:var(--radius-lg);max-width:480px;width:100%;box-shadow:var(--shadow-lg);overflow:hidden;animation:scaleUp .2s ease}@keyframes scaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (max-width: 900px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}}
