:root{--primary: #4f46e5;--primary-hover: #4338ca;--secondary: #64748b;--secondary-hover: #475569;--success: #22c55e;--danger: #ef4444;--danger-hover: #dc2626;--warning: #f59e0b;--background: #f8fafc;--surface: #ffffff;--text: #1e293b;--text-muted: #64748b;--border: #e2e8f0;--border-focus: #4f46e5}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:var(--background);color:var(--text);line-height:1.6}.app-layout{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--surface);border-bottom:1px solid var(--border);padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.header.admin-header{background:linear-gradient(135deg,#1e293b,#334155);color:#fff}.header.admin-header .nav a{color:#e2e8f0}.header.admin-header .nav a:hover{color:#fff}.logo{font-size:1.5rem;font-weight:700;color:var(--primary);text-decoration:none}.header.admin-header .logo{color:#fff}.nav{display:flex;gap:1.5rem}.nav a{color:var(--text);text-decoration:none;font-weight:500;transition:color .2s}.nav a:hover{color:var(--primary)}.header-right{display:flex;align-items:center;gap:1rem}.user-info{color:var(--text-muted);font-size:.875rem}.main-content{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{background:var(--surface);padding:2.5rem;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;width:100%;max-width:400px}.auth-card h1{margin-bottom:.5rem;text-align:center}.auth-subtitle{text-align:center;color:var(--text-muted);margin-bottom:2rem}.auth-footer{text-align:center;margin-top:1.5rem;color:var(--text-muted)}.auth-footer a{color:var(--primary)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--border-focus)}.form-group small{display:block;margin-top:.5rem;color:var(--text-muted);font-size:.875rem}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--secondary);color:#fff}.btn-secondary:hover{background:var(--secondary-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn-block{width:100%}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn:disabled{opacity:.6;cursor:not-allowed}.toggle-btn{padding:.375rem .75rem;border:1px solid var(--border);border-radius:20px;background:var(--background);color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .2s}.toggle-btn.active{background:var(--success);color:#fff;border-color:var(--success)}.alert{padding:1rem;border-radius:8px;margin-bottom:1rem}.alert-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.alert-success{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500}.badge-admin{background:#e0e7ff;color:#4338ca}.badge-user{background:#e0f2fe;color:#0284c7}.badge-success{background:#dcfce7;color:#16a34a}.badge-error{background:#fef2f2;color:#dc2626}.badge-sent{background:#dcfce7;color:#16a34a}.badge-failed{background:#fef2f2;color:#dc2626}.badge-simulated{background:#fef3c7;color:#d97706}.table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.table th,.table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border)}.table th{background:var(--background);font-weight:600;color:var(--text-muted);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.table tr:last-child td{border-bottom:none}.table .actions{display:flex;gap:.5rem}.table-responsive{overflow-x:auto}.truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{margin:0}.subtitle{color:var(--text-muted);margin-bottom:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--surface);padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000001a}.stat-card h3{color:var(--text-muted);font-size:.875rem;margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:700;margin-bottom:.5rem}.empty-state{text-align:center;padding:3rem;background:var(--surface);border-radius:12px;color:var(--text-muted)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem}.pagination button{padding:.5rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);cursor:pointer}.pagination button:disabled{opacity:.5;cursor:not-allowed}.settings-card{background:var(--surface);padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem}.settings-card h2{margin-bottom:.5rem}.setting-description{color:var(--text-muted);margin-bottom:1.5rem}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:2rem}.setting-info h3{font-size:1rem;margin-bottom:.25rem}.setting-info p{color:var(--text-muted);font-size:.875rem}.setting-info code{background:var(--background);padding:.25rem .5rem;border-radius:4px;font-size:.875rem}.rule-form{max-width:600px}.rule-form form{background:var(--surface);padding:2rem;border-radius:12px;box-shadow:0 1px 3px #0000001a}
