:root{--brand-900:#0f2a44;--brand-700:#1b4268;--primary:#1f6fb5;--primary-hover:#185a94;--primary-soft:#e8f1fa;--accent:#e8a33d;--bg:#f4f6f9;--surface:#fff;--border:#dde3ea;--text:#1a2433;--text-muted:#5f6b7a;--success:#1e8e5a;--danger:#d64545;--danger-hover:#b53636;--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #1018280f,0 1px 3px #10182814;--shadow:0 4px 12px #10182814;--shadow-lg:0 12px 28px #1018281f}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f4f6f9;background-color:var(--bg);color:#1a2433;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6{font-weight:600;margin-bottom:1rem}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,select,textarea{font-family:inherit}.loading{align-items:center;color:#5f6b7a;color:var(--text-muted);display:flex;font-size:1.2rem;justify-content:center;min-height:200px}.navbar{background-color:var(--brand-900);box-shadow:0 1px 0 #ffffff0f,var(--shadow-sm);color:#fff;padding:.75rem 0;position:sticky;top:0;z-index:5}.navbar-container{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 2rem}.navbar-brand a{align-items:center;color:#fff;display:flex;font-size:1.15rem;font-weight:700;gap:.6rem;text-decoration:none;white-space:nowrap}.navbar-brand .brand-mark{background:var(--accent);border-radius:8px;color:var(--brand-900);display:inline-grid;font-weight:800;height:2rem;place-items:center;width:2rem}.navbar-collapse{align-items:center;display:flex;flex:1 1;gap:1rem;justify-content:space-between}.navbar-toggle{display:none}.navbar-menu{display:flex;flex:1 1;flex-wrap:wrap;gap:.25rem;margin-left:2rem}.navbar-item{border-radius:var(--radius-sm);color:#ffffffbf;font-size:.95rem;font-weight:500;padding:.5rem .9rem;text-decoration:none;transition:background-color .2s,color .2s}.navbar-item:hover{background-color:#ffffff14;color:#fff}.navbar-item.active{background-color:#ffffff24;color:#fff}.navbar-user{align-items:center;display:flex;gap:.75rem}.user-info{align-items:flex-end;display:flex;flex-direction:column;font-size:.875rem;line-height:1.2}.user-info small{color:var(--accent);font-size:.75rem;text-transform:capitalize}.logout-btn{background-color:initial;border:1px solid #ffffff40;border-radius:var(--radius-sm);color:#fff;font-size:.875rem;padding:.45rem .9rem;transition:background-color .2s,border-color .2s}.logout-btn:hover{background-color:var(--danger);border-color:var(--danger)}@media (max-width:1100px){.navbar-menu{margin-left:1rem}.navbar-item{font-size:.9rem;padding:.5rem .65rem}}@media (max-width:900px){.navbar{padding:calc(.6rem + env(safe-area-inset-top)) 0 .6rem}.navbar-container{flex-wrap:wrap;gap:0;padding:0 1rem}.navbar-brand a{font-size:1rem}.navbar-toggle{background:#0000;border:none;border-radius:var(--radius-sm);display:inline-flex;flex-direction:column;gap:5px;height:44px;justify-content:center;margin-right:-6px;padding:0 11px;width:44px}.navbar-toggle span{background:#fff;border-radius:2px;display:block;height:2px;transition:transform .2s,opacity .2s;width:100%}.menu-open .navbar-toggle span:first-child{transform:translateY(7px) rotate(45deg)}.menu-open .navbar-toggle span:nth-child(2){opacity:0}.menu-open .navbar-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navbar-collapse{align-items:stretch;border-top:1px solid #ffffff1a;display:none;flex-basis:100%;flex-direction:column;gap:0;margin-top:.6rem;max-height:calc(100dvh - 70px);overflow-y:auto;padding:.75rem 0 .25rem}.menu-open .navbar-collapse{display:flex}.navbar-menu{flex-direction:column;gap:.15rem;margin-left:0}.navbar-item{display:block;font-size:1rem;padding:.8rem .75rem}.navbar-user{border-top:1px solid #ffffff1a;justify-content:space-between;margin-top:.75rem;padding:.75rem .75rem 0}.user-info{align-items:flex-start}.logout-btn{padding:.6rem 1rem}}@media (max-width:360px){.brand-text{font-size:.9rem}}.login-split{background:var(--surface);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);inset:0;overflow-y:auto;position:fixed;z-index:10}.login-showcase{background:radial-gradient(circle at 85% 15%,#e8a33d59 0,#0000 45%),radial-gradient(circle at 10% 90%,#2e7dc073 0,#0000 50%),var(--brand-900);color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:3rem 3.5rem;position:relative}.login-showcase:after{background-image:linear-gradient(#ffffff0a 1px,#0000 0),linear-gradient(90deg,#ffffff0a 1px,#0000 0);background-size:48px 48px;content:"";inset:0;pointer-events:none;position:absolute}.login-showcase>*{position:relative;z-index:1}.showcase-brand{align-items:center;display:flex;font-weight:700;gap:.75rem;letter-spacing:.02em}.brand-mark{background:var(--accent);border-radius:10px;color:var(--brand-900);display:inline-grid;font-size:1.1rem;font-weight:800;height:2.25rem;place-items:center;width:2.25rem}.showcase-body{max-width:34rem}.showcase-body h1{font-size:clamp(2rem,3.2vw,2.9rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-bottom:1.25rem}.showcase-lead{color:#ffffffc7;font-size:1.1rem;line-height:1.6;margin-bottom:2.5rem}.showcase-modules{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.showcase-module{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff12;border:1px solid #ffffff24;border-radius:var(--radius-lg);padding:1.25rem}.module-tag{color:var(--accent);display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.08em;margin-bottom:.5rem}.showcase-module p{color:#ffffffd9;font-size:.95rem;line-height:1.5}.showcase-footer{color:#ffffff80;font-size:.85rem}.app-download{align-items:center;background:var(--accent);border-radius:var(--radius);color:var(--brand-900);display:inline-flex;gap:.85rem;margin-top:1.5rem;padding:.8rem 1.1rem;transition:transform .2s,box-shadow .2s}.app-download:hover{box-shadow:0 8px 20px #00000040;transform:translateY(-2px)}.app-download-icon{background:#0f2a441f;border-radius:50%;display:inline-grid;font-size:1.1rem;height:2.2rem;place-items:center;width:2.2rem}.app-download strong{display:block;font-size:.95rem}.app-download small{font-size:.8rem;opacity:.8}.login-panel{align-items:center;background:var(--surface);display:flex;justify-content:center;padding:3rem 2rem}.login-box{max-width:400px;width:100%}.login-mobile-brand{align-items:center;color:var(--brand-900);display:none;font-weight:700;gap:.75rem;margin-bottom:2rem}.login-box h2{color:var(--text);font-size:1.9rem;letter-spacing:-.01em;margin-bottom:.5rem}.login-subtitle{color:var(--text-muted);margin-bottom:2rem}.login-box .form-group{margin-bottom:1.25rem}.password-field{position:relative}.password-field input{padding-right:5.5rem}.password-toggle{background:none;border:none;border-radius:var(--radius-sm);color:var(--primary);font-size:.85rem;font-weight:600;padding:.35rem .5rem;position:absolute;right:.5rem;top:50%;transform:translateY(-50%)}.password-toggle:hover{background:var(--primary-soft)}.login-footer{color:var(--text-muted);font-size:.85rem;margin-top:2.5rem;text-align:center}.login-box button[type=submit]{font-size:1rem;font-weight:600;margin-top:.75rem;padding:.95rem;width:100%}@media (max-width:900px){.login-split{background:var(--brand-900);grid-template-columns:1fr;grid-template-rows:auto 1fr}.login-showcase{gap:1.75rem;justify-content:flex-start;padding:calc(1.25rem + env(safe-area-inset-top)) 1.25rem 3.25rem}.showcase-body h1{font-size:1.6rem;margin-bottom:.6rem}.showcase-lead{font-size:.95rem;margin-bottom:1.25rem}.showcase-module{border-radius:var(--radius);padding:.75rem .9rem}.showcase-module p{font-size:.82rem}.module-tag{font-size:.68rem;margin-bottom:.25rem}.showcase-footer{display:none}.app-download{display:flex;margin-top:1rem;padding:.65rem .9rem}.login-panel{align-items:flex-start;border-radius:22px 22px 0 0;margin-top:-1.75rem;padding:2rem 1.25rem calc(2rem + env(safe-area-inset-bottom));position:relative;z-index:2}.login-box h2{font-size:1.6rem}.login-subtitle{margin-bottom:1.5rem}.login-box button[type=submit]{font-size:1.05rem;padding:1rem}}@media (max-width:400px){.showcase-lead{display:none}.showcase-modules{gap:.6rem;grid-template-columns:1fr 1fr}}@media (max-height:500px) and (orientation:landscape){.login-showcase{display:none}.login-panel{border-radius:0;margin-top:0}.login-mobile-brand{display:flex;margin-bottom:1rem}}.home-container{margin:0 auto;max-width:1200px}.welcome-section{align-items:flex-end;background:radial-gradient(circle at 95% 0,#e8a33d59 0,#0000 40%),linear-gradient(120deg,var(--brand-900),var(--brand-700));border-radius:var(--radius-lg);box-shadow:var(--shadow);color:#fff;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2.5rem;padding:2rem 2.25rem}.welcome-eyebrow{color:var(--accent);font-size:.8rem;font-weight:600;letter-spacing:.08em;margin-bottom:.4rem;text-transform:uppercase}.welcome-section h1{font-size:1.9rem;letter-spacing:-.01em;margin-bottom:0}.welcome-badges{display:flex;flex-wrap:wrap;gap:.5rem}.badge{background:#ffffff1f;border:1px solid #fff3;border-radius:999px;font-size:.85rem;font-weight:500;padding:.35rem .8rem}.badge-accent{background:var(--accent);border-color:var(--accent);color:var(--brand-900)}.dashboard h2{color:var(--text);font-size:1.15rem;margin-bottom:1rem}.dashboard-cards{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.dashboard-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;padding:1.5rem;transition:transform .2s,box-shadow .2s,border-color .2s}.dashboard-card:hover{border-color:#c5d6e8;box-shadow:var(--shadow-lg);transform:translateY(-3px)}.card-tag{align-self:flex-start;background:var(--primary-soft);border-radius:999px;color:var(--primary);font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-bottom:1rem;padding:.25rem .6rem;text-transform:uppercase}.dashboard-card h3{color:var(--text);font-size:1.1rem;margin-bottom:.5rem}.dashboard-card p{color:var(--text-muted);flex:1 1;line-height:1.55;margin-bottom:1.25rem}.card-link{color:var(--primary);font-weight:600}.dashboard-card:hover .card-link{color:var(--primary-hover)}@media (max-width:600px){.welcome-section{align-items:flex-start;flex-direction:column;margin-bottom:1.75rem;padding:1.4rem 1.25rem}.welcome-section h1{font-size:1.45rem}.dashboard-cards{gap:.75rem;grid-template-columns:1fr}.dashboard-card{padding:1.1rem 1.15rem}.dashboard-card:hover{transform:none}.card-tag{margin-bottom:.6rem}.dashboard-card p{font-size:.92rem;margin-bottom:.75rem}}.profile-container{margin:0 auto;max-width:800px}.profile-container h1{color:#2c3e50;margin-bottom:2rem}.profile-form{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.form-section{border-bottom:1px solid #dee2e6;margin-bottom:2rem;padding-bottom:2rem}.form-section:last-of-type{border-bottom:none}.form-section h2{color:#2c3e50;font-size:1.25rem;margin-bottom:1.5rem}.profile-form button{margin-top:1rem}.error-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;text-align:center}.error-container h1{color:#e74c3c;font-size:6rem;margin-bottom:1rem}.error-container h2{color:#2c3e50;font-size:2rem;margin-bottom:1rem}.error-container p{color:#7f8c8d;font-size:1.1rem;margin-bottom:2rem}.sms-management,.user-management{margin:0 auto;max-width:1200px}.header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.header h1{color:#2c3e50}.users-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;width:100%}.users-table thead{background-color:#2c3e50;color:#fff}.users-table td,.users-table th{padding:1rem;text-align:left}.users-table tbody tr{border-bottom:1px solid #dee2e6}.users-table tbody tr:hover{background-color:#f8f9fa}.status{border-radius:12px;display:inline-block;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.status.active{background-color:#d4edda;color:#155724}.status.inactive{background-color:#f8d7da;color:#721c24}.modal{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem;width:100%}.modal-content h2{color:#2c3e50;margin-bottom:1.5rem}.modal-actions{display:flex;gap:1rem;margin-top:2rem}.modal-actions button{flex:1 1}.sms-form-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:2rem}.send-type-selector{border-bottom:2px solid #dee2e6;display:flex;gap:1rem;margin-bottom:2rem}.type-btn{background:none;border:none;border-bottom:2px solid #0000;color:#7f8c8d;font-size:1rem;margin-bottom:-2px;padding:1rem 1.5rem;transition:all .3s}.type-btn.active{border-bottom-color:#007bff;color:#007bff;font-weight:500}.type-btn:hover{color:#007bff}.sms-form textarea{resize:vertical}.users-preview{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.users-preview h3{color:#2c3e50;margin-bottom:1rem}.module-container{margin:0 auto;max-width:1000px}.module-container h1{color:#2c3e50;margin-bottom:2rem}.module-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.module-content p{color:#7f8c8d;line-height:1.6;margin-bottom:1rem}.module-placeholder{background:#f8f9fa;border-radius:8px;margin:2rem 0;padding:2rem}.module-placeholder h2{color:#2c3e50;margin-bottom:1rem}.module-placeholder ul{color:#7f8c8d;line-height:2;list-style-position:inside}.info-box{background:#e7f3ff;border-left:4px solid #007bff;border-radius:4px;margin-top:2rem;padding:1.5rem}.info-box h3{color:#007bff;margin-bottom:.5rem}.info-box p{color:#495057;margin-bottom:0}.ara-module{margin:0 auto;max-width:1400px;padding:20px}.ara-module h1{color:#333;margin-bottom:20px}.alert{border-radius:4px;padding:12px 20px}.alert-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.ara-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:10px;margin-bottom:20px;padding-bottom:10px}.ara-tabs button{background:#f5f5f5;border:none;border-radius:4px 4px 0 0;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s}.ara-tabs button:hover{background:#e0e0e0}.ara-tabs button.active{background:var(--primary);color:#fff}.ara-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.loading{color:#666;padding:40px;text-align:center}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#f8f9fa;border:1px solid #e0e0e0}.stat-card.highlight{background:#e3f2fd;border-color:#90caf9}.stat-card h3{color:#666;font-size:14px;margin:0 0 10px}.stat-value{color:#333;font-size:28px;margin:0}.stat-card.highlight .stat-value{color:#1976d2}.stat-card.blue{background:#e3f2fd;border-color:#90caf9}.stat-card.green{background:#e8f5e9;border-color:#a5d6a7}.stat-card.purple{background:#f3e5f5;border-color:#ce93d8}.stat-card.red{background:#ffebee;border-color:#ef9a9a}.stat-card.yellow{background:#fff8e1;border-color:#ffe082}.stat-card.orange{background:#fff3e0;border-color:#ffcc80}.stat-card.teal{background:#e0f2f1;border-color:#80cbc4}.stat-card .stat-number{color:#333;font-size:28px;font-weight:700;margin:0}.btn-delete,.btn-edit,.btn-view{border:none;border-radius:3px;cursor:pointer;font-size:12px;margin-right:5px;padding:4px 8px}.btn-edit{background:#17a2b8;color:#fff}.btn-edit:hover{background:#138496}.btn-delete{background:#dc3545;color:#fff}.btn-delete:hover{background:#c82333}.btn-view{background:#6c757d;color:#fff}.btn-view:hover{background:#5a6268}.stats-summary{display:flex;gap:20px;margin:15px 0}.stat-item{border-radius:4px;font-size:14px;padding:8px 15px}.stat-item.green{background:#d4edda;color:#155724}.stat-item.yellow{background:#fff3cd;color:#856404}.stat-item.red{background:#f8d7da;color:#721c24}.status-badge{border-radius:4px;padding:4px 8px}.status-badge.payé{background:#d4edda;color:#155724}.status-badge.partiel{background:#fff3cd;color:#856404}.status-badge.non-payé{background:#f8d7da;color:#721c24}.row-paid{background:#f0fff0}.row-unpaid{background:#fff5f5}.modal-overlay .modal.large{max-width:1100px}.stats-section{margin-top:20px}.stats-section h3{color:#333;margin-bottom:15px}.section-header{align-items:center;flex-wrap:wrap;justify-content:space-between;margin-bottom:20px}.search-form,.section-header{display:flex;gap:10px}.search-form input{border:1px solid #ddd;border-radius:4px;padding:8px 12px;width:250px}.search-form button{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.search-form button:hover{background:#5a6268}.btn-primary{background:#007bff;border-radius:4px;cursor:pointer;padding:8px 16px}.btn-primary:hover{background:#0056b3}.btn-export{background:#17a2b8;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:8px 16px}.btn-export:hover{background:#138496}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.ara-table{border-collapse:collapse;width:100%}.ara-table td,.ara-table th{border-bottom:1px solid #e0e0e0;padding:12px;text-align:left}.ara-table th{background:#f8f9fa;color:#333;font-weight:600}.ara-table tbody tr:hover{background:#f5f5f5}.ara-table .actions{display:flex;gap:8px}.ara-table .actions button{background:#6c757d;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:12px;padding:4px 8px}.ara-table .actions button:hover{background:#5a6268}.ara-table .actions .btn-danger{background:#dc3545}.ara-table .actions .btn-danger:hover{background:#c82333}.pagination{display:flex;gap:5px;justify-content:center;margin-top:20px}.pagination button{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;padding:8px 12px}.pagination button:hover{background:#f0f0f0}.pagination button.active{background:#007bff;border-color:#007bff;color:#fff}.pagination button:disabled{cursor:not-allowed;opacity:.5}.pagination-info{align-self:center;color:#666;font-size:13px;margin-left:15px}.modal-overlay{align-items:flex-start;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:40px 20px;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:8px;margin:0 auto;max-width:900px;padding:30px;position:relative;width:95%}.modal-overlay .modal{display:block;inset:auto;position:relative;z-index:auto}.modal h2{color:#333;margin:0 0 20px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.form-row.two-cols{grid-template-columns:1fr 1fr}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:15px;padding:12px 15px}.form-group small{display:block;font-size:12px;margin-top:4px}.form-group textarea{min-height:80px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff}.form-actions{border-top:1px solid #e0e0e0;gap:10px;margin-top:20px;padding-top:20px}.form-actions button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:10px 20px}.form-actions button[type=button]{background:#6c757d;color:#fff}.form-actions button[type=button]:hover{background:#5a6268}.filter-buttons{display:flex;gap:10px}.filter-buttons button{background:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:13px;padding:8px 16px}.filter-buttons button:hover{background:#e0e0e0}.filter-buttons button.active{background:#007bff;border-color:#007bff;color:#fff}.statut-section .ara-table th small{color:#666;font-weight:400}@media (max-width:768px){.ara-tabs{flex-wrap:wrap}.form-row{grid-template-columns:1fr}.section-header{align-items:stretch;flex-direction:column}.search-form{width:100%}.search-form input{flex:1 1}.ara-table{font-size:12px}.ara-table td,.ara-table th{padding:8px}}.broadcast-sms-container{margin:0 auto;max-width:1200px;padding:20px}.broadcast-sms-header{margin-bottom:30px}.broadcast-sms-header h2{color:#1a1a1a;font-size:28px;margin-bottom:8px}.broadcast-sms-header .subtitle{color:#666;font-size:14px}.broadcast-sms-form{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.form-group{margin-bottom:20px}.form-group label{color:#333;font-size:14px;font-weight:600;margin-bottom:8px}.form-group textarea{border:2px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:14px;padding:12px;resize:vertical;transition:border-color .3s;width:100%}.form-group textarea:focus{border-color:#2196f3;outline:none}.form-group textarea.error{border-color:#f44336}.form-group textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.char-counter{align-items:center;display:flex;font-size:13px;justify-content:space-between;margin-top:8px}.char-counter span{color:#666}.char-counter span.warning{color:#ff9800;font-weight:600}.char-counter span.error{color:#f44336;font-weight:600}.char-counter .total{color:#999}.alert{align-items:center;border-radius:6px;display:flex;font-size:14px;gap:10px;margin-bottom:20px;padding:12px 16px}.alert-error{background-color:#ffebee;border:1px solid #ef9a9a;color:#c62828}.alert-success{background-color:#e8f5e9;border:1px solid #a5d6a7;color:#2e7d32}.alert i{font-size:18px;font-style:normal}.form-actions{display:flex;gap:12px;justify-content:flex-end}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:#2196f3}.btn-primary:hover:not(:disabled){background-color:#1976d2;box-shadow:0 4px 12px #2196f34d;transform:translateY(-1px)}.btn-secondary{background-color:#f5f5f5;color:#666}.btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:14px;width:14px}@keyframes spin{to{transform:rotate(1turn)}}.broadcast-result{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:30px}.result-summary{border-top:1px solid #e0e0e0;margin-top:20px;padding-top:20px}.result-summary h3{color:#333;font-size:18px;margin-bottom:20px}.summary-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:16px}.stat-card{border-radius:8px;color:#fff;padding:20px;text-align:center}.stat-card,.stat-card.total{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-card.success{background:linear-gradient(135deg,#66bb6a,#43a047)}.stat-card.failed{background:linear-gradient(135deg,#ef5350,#d32f2f)}.stat-value{font-size:32px;font-weight:700;margin-bottom:4px}.stat-label{font-size:13px;letter-spacing:.5px;opacity:.9;text-transform:uppercase}.test-mode-badge{align-items:center;background-color:#fff3e0;border:1px solid #ffb74d;border-radius:6px;color:#e65100;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px}.result-details{border-top:1px solid #e0e0e0;margin-top:30px;padding-top:20px}.result-details h3{color:#333;font-size:18px;margin-bottom:16px}.details-table-container{overflow-x:auto}.details-table{border-collapse:collapse;font-size:14px;width:100%}.details-table thead{background-color:#f5f5f5}.details-table th{border-bottom:2px solid #e0e0e0;color:#333;font-weight:600;padding:12px;text-align:left}.details-table td{border-bottom:1px solid #f0f0f0;padding:12px}.details-table tbody tr:hover{background-color:#fafafa}.details-table .success-row{background-color:#4caf500d}.details-table .error-row{background-color:#f443360d}.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.status-badge.success{background-color:#e8f5e9;color:#2e7d32}.status-badge.error{background-color:#ffebee;color:#c62828}.provider-badge{background-color:#e3f2fd;border-radius:4px;color:#1565c0;display:inline-block;font-size:11px;font-weight:600;padding:4px 8px}@media (max-width:768px){.broadcast-sms-container{padding:16px}.broadcast-sms-form{padding:20px}.broadcast-sms-header h2{font-size:24px}.summary-stats{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{justify-content:center;width:100%}.details-table{font-size:12px}.details-table td,.details-table th{padding:8px}}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin:0 auto;max-width:1400px;padding:2rem;width:100%}@media (max-width:600px){.main-content{padding:1.25rem 1rem}}.app-footer{background:var(--surface);border-top:1px solid var(--border);color:var(--text-muted);font-size:.85rem;padding:1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom));text-align:center}.app-footer a,.login-footer a{color:var(--primary);font-weight:600}.app-footer a:hover,.login-footer a:hover{text-decoration:underline}.success-message{background-color:#e7f6ee;border:1px solid #b9e3cc;border-radius:var(--radius-sm);color:#166b44}.error-message,.success-message{margin-bottom:1rem;padding:.875rem 1rem}.error-message{background-color:#fdecec;border:1px solid #f5c2c2;border-radius:var(--radius-sm);color:#9b2c2c}.helper-text{color:var(--text-muted);font-size:.875rem;margin-top:.25rem}.btn-primary{background-color:var(--primary);border:none;border-radius:var(--radius-sm);color:#fff;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s,box-shadow .2s}.btn-primary:hover{background-color:var(--primary-hover)}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-small:focus-visible{box-shadow:0 0 0 3px #1f6fb54d;outline:none}.btn-primary:disabled{background-color:#9aa5b1;cursor:not-allowed}.btn-secondary{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s,border-color .2s}.btn-secondary:hover{background-color:var(--bg);border-color:#c5ced8}.btn-small{background-color:var(--primary);border:none;border-radius:var(--radius-sm);color:#fff;font-size:.875rem;margin-right:.5rem;padding:.375rem .75rem;transition:background-color .2s}.btn-small:hover{background-color:var(--primary-hover)}.btn-danger{background-color:var(--danger)}.btn-danger:hover{background-color:var(--danger-hover)}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text);display:block;font-size:.925rem;font-weight:500;margin-bottom:.45rem}.form-group input,.form-group select,.form-group textarea{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:1rem;padding:.75rem .875rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1f6fb52e;outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#eef1f5;cursor:not-allowed}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-tap-highlight-color:rgba(31,111,181,.15)}@media (max-width:768px){.main-content{padding:1rem .75rem calc(1.5rem + env(safe-area-inset-bottom))}h1{font-size:1.4rem}.form-group input,.form-group select,.form-group textarea,.search-form input,input,select,textarea{font-size:16px!important}.main-content input,.main-content select,.main-content textarea{max-width:100%}.main-content div[style*="display: flex"]{flex-wrap:wrap}.btn-export,.btn-primary,.btn-secondary,.filter-buttons button,.form-actions button,.search-form button{min-height:44px}.ara-module{padding:0}.ara-module h1{margin-bottom:.9rem}.ara-content{border-radius:var(--radius);padding:1rem .85rem}.ara-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:6px;margin:0 -.75rem 1rem;overflow-x:auto;padding:0 .75rem 8px;scrollbar-width:none}.ara-tabs::-webkit-scrollbar{display:none}.ara-tabs button{border-radius:999px;flex-shrink:0;padding:9px 16px;white-space:nowrap}.section-header h2,.section-header h3{margin-bottom:0}.search-form{flex-wrap:wrap}.search-form input{min-width:0;width:auto}.filter-buttons{flex-wrap:wrap}.filter-buttons button{flex:1 1 auto}.stats-summary{flex-wrap:wrap;gap:8px}.stats-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1.25rem}.stat-card{padding:14px 10px}.stat-card h3{font-size:12px;margin-bottom:6px}.stat-card .stat-number,.stat-card .stat-value,.stats-grid .stat-value{font-size:20px;overflow-wrap:anywhere}.ara-content table,.ara-table,.details-table,.users-table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;white-space:nowrap;width:100%}.ara-table td,.ara-table th,.users-table td,.users-table th{font-size:13px;padding:10px 12px}.ara-table .actions{gap:6px}.ara-table .actions button,.btn-delete,.btn-edit,.btn-view{font-size:12px;padding:8px 10px}.pagination{flex-wrap:wrap;gap:6px}.pagination-info{flex-basis:100%;margin:6px 0 0;text-align:center}.modal-overlay{align-items:flex-end;padding:0}.modal-overlay .modal,.modal-overlay .modal.large{border-radius:18px 18px 0 0;max-height:92dvh;max-width:100%;overflow-y:auto;padding:1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom));width:100%}.modal h2{font-size:1.25rem;margin-bottom:1rem}.form-row,.form-row.two-cols{gap:0;grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;gap:.6rem;margin-top:1rem;padding-top:1rem}.form-actions button{width:100%}.header{align-items:stretch;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.header h1{margin-bottom:0}.modal:has(>.modal-content){align-items:flex-end}.modal>.modal-content{border-radius:18px 18px 0 0;max-height:92dvh;max-width:100%;padding:1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom))}.modal-actions{flex-direction:column-reverse;gap:.6rem;margin-top:1.25rem}.profile-form,.sms-form-container,.users-preview{padding:1.25rem 1rem}.send-type-selector{gap:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.send-type-selector::-webkit-scrollbar{display:none}.type-btn{flex:1 0 auto;margin-bottom:0;padding:.85rem .75rem;white-space:nowrap}.profile-container h1{margin-bottom:1rem}.form-section{margin-bottom:1.25rem;padding-bottom:1.25rem}.profile-form button{width:100%}}
/*# sourceMappingURL=main.9ad301c5.css.map*/