body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{min-height:100%}body{background-color:#f4f6f9;color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.app-layout{min-height:100vh;width:100%}.app-header{align-items:center;background:#1e1e2f;box-shadow:0 2px 8px #0000001f;color:#fff;display:flex;height:60px;justify-content:space-between;left:260px;padding:0 24px;position:fixed;right:0;top:0;z-index:900}.app-header .logo{color:#fff;font-size:18px;font-weight:700;white-space:nowrap}.app-header .header-actions{align-items:center;display:flex;gap:15px}.app-header button{background:#0000;border:none;color:#fff;cursor:pointer;font-size:14px}.content{margin-left:260px;min-height:100vh;padding:84px 24px 30px;transition:margin-left .3s ease,width .3s ease;width:calc(100% - 260px)}.login-content{margin-left:0;padding:0;width:100%}.btn-login{align-items:center;background-color:#4a90e2;border-radius:6px;color:#fff;display:inline-flex;font-weight:600;justify-content:center;padding:8px 14px;text-decoration:none;transition:.2s ease}.btn-login:hover{background-color:#357abd;transform:translateY(-1px)}.profile-menu{position:relative}.profile-trigger{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-weight:600;gap:7px;padding:7px 10px;transition:background .2s ease;-webkit-user-select:none;user-select:none}.profile-trigger:hover{background:#ffffff1a}.arrow{font-size:10px;transition:transform .3s ease}.arrow.up{transform:rotate(180deg)}.profile-dropdown{animation:profileDropdown .18s ease;background:#fff;border-radius:10px;box-shadow:0 8px 25px #0000002e;color:#333;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:220px;z-index:2000}@keyframes profileDropdown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.profile-info{border-bottom:1px solid #eee;display:flex;flex-direction:column;gap:8px;padding:14px}.profile-info strong{font-size:15px}.role-badge{border-radius:12px;display:inline-flex;font-size:11px;font-weight:700;padding:4px 10px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.role-badge.admin{background-color:#e53935;color:#fff}.role-badge.technicien{background-color:#1976d2;color:#fff}.dropdown-item{background:#0000;border:none;color:#333;cursor:pointer;display:block;font-family:inherit;font-size:14px;padding:11px 14px;text-align:left;text-decoration:none;transition:background .2s ease;width:100%}.dropdown-item:hover{background:#f5f5f5}.dropdown-item.logout{border-top:1px solid #eee;color:#e53935;font-weight:600}.dropdown-item.logout:hover{background:#fff1f1}textarea{background:#fff;border:1px solid #ccc;border-radius:5px;font-family:inherit;font-size:14px;min-height:70px;padding:8px 10px;resize:vertical;width:100%}textarea:focus{border-color:#0d6efd;box-shadow:0 0 0 2px #0d6efd1a;outline:none}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:25px 0}.pagination button{background:#fff;border:1px solid #ddd;border-radius:8px;color:#333;cursor:pointer;font-size:15px;font-weight:500;height:38px;min-width:38px;padding:0 12px;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.pagination button:hover:not(:disabled){background:#f0f4ff;border-color:#3b82f6;color:#2563eb;transform:translateY(-1px)}.pagination button.active{background:#2563eb;border-color:#2563eb;color:#fff}.pagination button:first-child,.pagination button:last-child{font-size:18px;font-weight:700}.pagination button:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.5;transform:none}@media (max-width:768px){.responsive-table,.responsive-table tbody,.responsive-table td,.responsive-table th,.responsive-table thead,.responsive-table tr{display:block;width:100%}.responsive-table thead{display:none}.responsive-table tr{background:#fff;border-radius:12px;box-shadow:0 4px 10px #00000014;margin-bottom:16px;padding:14px}.responsive-table td{align-items:flex-start;border:none;display:flex;font-size:14px;gap:10px;justify-content:space-between;padding:8px 0}.responsive-table td:before{color:#666;content:attr(data-label);flex-shrink:0;font-weight:600}}@media (max-width:900px){.app-header{height:60px;left:0;padding:0 14px}.app-header .logo{font-size:16px}.content{margin-left:0;padding:75px 14px 20px;width:100%}.profile-trigger{padding:7px}}@media (max-width:600px){.app-header{padding:0 10px}.app-header .logo{font-size:15px}.header-actions{gap:5px!important}.profile-dropdown{position:fixed;right:10px;top:60px;width:220px}.role-badge{display:none}.content{padding:72px 10px 15px}.pagination{gap:5px}.pagination button{font-size:13px;height:32px;min-width:32px;padding:0 8px}}@media (max-width:400px){.app-header .logo{font-size:14px}.profile-trigger{font-size:13px}.content{padding-left:8px;padding-right:8px}}form{background:#f7f8fa;border-radius:10px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;font-family:Arial,sans-serif;gap:15px;margin:20px auto;max-width:500px;padding:20px}form label{font-weight:700;margin-bottom:5px}form input,form select{border:1px solid #ccc;border-radius:6px;box-sizing:border-box;font-size:16px;padding:10px 12px;transition:all .2s;width:100%}form input:focus,form select:focus{border-color:#4a90e2;box-shadow:0 0 5px #4a90e280;outline:none}form button{background-color:#4a90e2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;padding:12px;transition:background-color .2s}form button:hover{background-color:#357abd}@media (max-width:600px){form{padding:15px}form button,form input,form select{font-size:14px}}.form-container{background:#f7f8fa;border-radius:10px;box-shadow:0 4px 12px #0000000d;margin-bottom:15px;max-height:0;opacity:0;overflow:hidden;padding:0;transition:max-height .5s ease,padding .5s ease,opacity .5s ease}.form-container.open{max-height:800px;opacity:1;padding:20px}.btn-add{background-color:#4a90e2;border:none;border-radius:6px;color:#fff;cursor:pointer;float:right;margin-bottom:10px;margin-left:20px;padding:10px 15px;transition:background .3s}@media (max-width:768px){.btn-add{border-radius:50px;bottom:16px;box-shadow:0 6px 16px #0003;float:none;padding:14px 18px;position:fixed;right:16px;width:auto;z-index:1200}}.btn-add:hover{background-color:#357abd}.btn-close{background-color:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:10px;padding:8px 12px;transition:background .3s}.btn-close:hover{background-color:#c0392b}.filters{gap:10px;margin:15px 0}.filters input[type=month],.filters select{border:1px solid #ccc;border-radius:6px;font-size:16px;padding:8px 12px;transition:border-color .3s,box-shadow .3s}.filters input[type=month]:focus,.filters select:focus{border-color:#4a90e2;box-shadow:0 0 5px #4a90e280;outline:none}select{border-radius:5px;padding:5px}select option[value=EN_ATTENTE]{background-color:#f39c12}select option[value=EN_COURS]{background-color:#3498db;color:#fff}select option[value=TERMINE]{background-color:#2ecc71;color:#fff}.etat-badge{border-radius:20px;font-size:13px;font-weight:600;padding:6px 12px;text-transform:uppercase;white-space:nowrap}.etat-badge.en_attente{background:#eee;color:#555}.etat-badge.en_cours{background:#e3f2fd;color:#1976d2}.etat-badge.termine{background:#e6f4ea;color:#2e7d32}.etat-badge.termine:after{content:" 🔒"}.modal{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.modal,.modal>div{background:#fff;border-radius:8px;padding:20px}.modal-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background:#fff;border-radius:10px;display:flex;flex-direction:column;gap:10px;padding:25px;width:300px}.modal-actions{display:flex;justify-content:space-between}.etat-badge{border-radius:12px;color:#fff;display:inline-block;font-size:.8rem;font-weight:500;min-width:70px;padding:4px 10px;text-align:center}@media (max-width:768px){.etat-badge{font-size:.7rem;min-width:60px;padding:3px 8px}}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px}.stat-card{border-left:6px solid;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:18px}.stat-title{color:#666;margin:0}.stat-value{font-size:28px;margin-top:8px}.stat-card h3{color:#333;font-size:18px;margin-bottom:10px}.stat-card p{font-size:14px;margin:6px 0}.dashboard-container{padding:20px}.dashboard-top{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 2fr}.dashboard-grid{grid-gap:15px;gap:15px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.dashboard-graph{background:#fff;border-radius:8px;box-shadow:0 0 10px #0000001a;padding:20px}.stat-card{border-radius:8px;box-shadow:0 0 8px #0000001a;padding:15px;text-align:center}.badge{color:#fff;font-size:12px;padding:4px 10px}.badge.TERMINE{background:#4caf50}.badge.EN_COURS{background:#2196f3}.badge.EN_ATTENTE{background:#ff9800}.phone-link{align-items:center;background:#e8f0fe;border-radius:20px;color:#1a73e8;display:inline-flex;font-size:13px;gap:6px;padding:6px 10px;transition:all .3s ease}.phone-link:hover{background:#1a73e8}.accordion{background:#fff;border-radius:10px;box-shadow:0 4px 12px #00000014;margin-bottom:16px;overflow:hidden}.accordion-header{align-items:center;background:#f5f7fa;cursor:pointer;display:flex;font-weight:600;justify-content:space-between;padding:14px 18px;transition:background .3s}.accordion-header:hover{background:#eaeef3}.accordion-title{align-items:center;display:flex;gap:10px}.accordion .icon{font-size:18px}.accordion-content{max-height:0;overflow:hidden;padding:0 18px;transition:max-height .4s ease,padding .3s ease}.accordion.open .accordion-content{max-height:1200px;padding:18px}.chevron{font-size:14px}.badge.TERMINE{background:green;color:#fff}.badge.EN_COURS{background:orange}.badge.EN_ATTENTE{background:gray}.dashboard-container{background:#f5f7fa;font-family:Segoe UI,Tahoma,sans-serif;min-height:100vh;padding:24px}.dashboard-container h1{color:#333;margin-bottom:20px}.dashboard-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:32px}.stat-card{background:#fff;border-left:6px solid #1976d2;border-radius:10px;box-shadow:0 4px 10px #00000014;padding:16px 18px;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:0 8px 18px #0000001f;transform:translateY(-3px)}.stat-title{color:#777;font-size:14px;margin-bottom:6px}.stat-value{color:#222;font-size:26px;font-weight:700}h2{color:#444;margin-bottom:12px}table{background:#fff;border-collapse:collapse;border-radius:10px;box-shadow:0 4px 12px #00000014;overflow:hidden;width:100%}thead{background:#1976d2;color:#fff}td,th{padding:12px 14px;text-align:left}th{font-size:14px;text-transform:uppercase}tbody tr{border-bottom:1px solid #eee}tbody tr:hover{background:#f4f8ff}select{border:1px solid #ccc;border-radius:6px;cursor:pointer;font-size:14px;padding:6px 10px}select:focus{border-color:#1976d2;outline:none}tbody tr td[colspan]{color:#888;font-style:italic;text-align:center}.badge{border-radius:12px;font-size:13px;font-weight:700;padding:6px 10px;text-transform:uppercase}.badge.TERMINE{background:#e8f5e9;color:#2e7d32}.badge.EN_COURS{background:#e3f2fd;color:#1976d2}.badge.EN_ATTENTE{background:#eee;color:#616161}@media (max-width:768px){table{font-size:13px}td,th{padding:10px}.stat-value{font-size:22px}}.filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.filters input,.filters select{border:1px solid #ccc;border-radius:6px;flex:1 1;font-size:14px;min-width:150px;padding:8px 12px;transition:border-color .3s}.filters input:focus,.filters select:focus{border-color:#4a90e2;outline:none}.filters button{background-color:#4a90e2;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px 16px;transition:background .3s}.filters button:hover{background-color:#357abd}@media (max-width:768px){.filters{flex-direction:column;gap:10px}.filters button,.filters input,.filters select{font-size:16px;min-width:0;min-width:auto;width:100%}}.phone-link{color:#0d6efd;font-weight:600;text-decoration:none}.phone-link:hover,.sidebar{color:#fff}.sidebar{background:linear-gradient(180deg,#1e1e2f,#171725);box-shadow:4px 0 15px #0000002e;height:100vh;left:0;overflow-y:auto;position:fixed;top:0;transition:transform .3s ease,box-shadow .3s ease;width:260px;z-index:1000}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff1f;display:flex;justify-content:space-between;padding:20px}.sidebar-header h2{font-size:21px;font-weight:700;margin:0;white-space:nowrap}.close-btn{background:#0000;border:none;border-radius:8px;color:#fff;cursor:pointer;display:none;font-size:20px;height:36px;transition:.2s ease;width:36px}.close-btn:hover{background:#ffffff1f}.sidebar-menu{list-style:none;margin:0;padding:12px 10px}.sidebar-menu li{margin-bottom:5px}.btn-logout,.sidebar-menu a,.submenu-title{align-items:center;border-radius:9px;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;font-size:15px;gap:10px;justify-content:space-between;min-height:46px;padding:11px 14px;text-decoration:none;transition:background .2s ease,color .2s ease,transform .2s ease;width:100%}.sidebar-menu a:hover,.submenu-title:hover{background:#ffffff1a;transform:translateX(4px)}.sidebar-menu>li.active>a{background:#fff;box-shadow:0 3px 8px #0000001f;color:#2563eb;font-weight:600}.submenu li.active a{background:#2563ebd9;color:#fff;font-weight:600}.submenu-title{-webkit-user-select:none;user-select:none}.submenu-title.submenu-open{background:#ffffff1a}.submenu-title.submenu-open:hover{transform:none}.submenu-arrow{font-size:10px;opacity:.8;transition:transform .25s ease}.submenu-title.submenu-open .submenu-arrow{transform:rotate(0deg)}.submenu{animation:submenuOpen .2s ease;border-left:2px solid #ffffff2e;list-style:none;margin:3px 0 8px 8px;padding:5px 0 5px 15px}.submenu li{margin:4px 0}.submenu a{border-radius:8px;font-size:14px;min-height:42px;padding:9px 12px}@keyframes submenuOpen{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.logout-container{margin-top:25px}.btn-logout{background:#dc2626;border:none;font-weight:600;justify-content:center}.btn-logout:hover{background:#b91c1c;transform:translateY(-1px)}.burger-btn{background:#1e1e2f;border:none;border-radius:9px;box-shadow:0 4px 12px #00000038;color:#fff;cursor:pointer;display:none;font-size:24px;height:45px;left:15px;position:fixed;top:15px;transition:background .2s ease,transform .2s ease;width:45px;z-index:1200}.burger-btn:hover{background:#2563eb;transform:scale(1.05)}.burger-btn:active{transform:scale(.95)}.sidebar-overlay{animation:overlayFade .25s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;inset:0;position:fixed;z-index:999}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}@media (max-width:900px){.sidebar{box-shadow:none;transform:translateX(-100%);width:270px}.sidebar.open{box-shadow:5px 0 20px #0000004d;transform:translateX(0)}.burger-btn,.close-btn{align-items:center;display:flex;justify-content:center}}@media (max-width:480px){.sidebar{max-width:290px;width:85%}.sidebar-header{padding:18px 16px}.sidebar-header h2{font-size:19px}.sidebar-menu{padding:10px 8px}.btn-logout,.sidebar-menu a,.submenu-title{font-size:15px;min-height:48px;padding:12px 13px}.submenu a{font-size:14px}.burger-btn{height:44px;left:12px;top:12px;width:44px}}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:10px}.sidebar::-webkit-scrollbar-thumb:hover{background:#fff6}.sidebar::-webkit-scrollbar-track{background:#0000}.btn-logout:focus-visible,.burger-btn:focus-visible,.close-btn:focus-visible,.sidebar-menu a:focus-visible,.submenu-title:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.paiements-page{box-sizing:border-box;padding:25px;width:100%}.paiements-page .page-header{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:25px}.paiements-page .page-header h1{font-size:18px;font-weight:700;margin:0 0 6px}.paiements-page .page-header p{color:#6b7280;font-size:14px;margin:0}.paiements-page .page-actions{display:flex;gap:10px}.paiements-page .page-actions button{border:none;border-radius:7px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:.2s}.paiements-page .page-actions button:first-child{background:#f3f4f6;color:#374151}.paiements-page .page-actions button:last-child{background:#2563eb;color:#fff}.paiements-page .page-actions button:hover{opacity:.9}.paiements-page .page-actions button:disabled{cursor:not-allowed;opacity:.6}.paiements-page .alert-danger{background:#fee2e2;border:1px solid #fecaca;border-radius:7px;color:#991b1b;font-size:14px;margin-bottom:20px;padding:12px 15px}.paiement-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 8px #0000000a;overflow:hidden;width:100%}.paiement-table-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:18px 20px}.paiement-table-header h2{color:#111827;font-size:14px;font-weight:700;margin:0 0 4px}.paiement-table-header span{color:#6b7280;font-size:10px}.table-responsive{overflow-x:auto;width:100%}.paiement-table{border-collapse:collapse;min-width:1000px;table-layout:auto;width:100%}.paiement-table th{background:#1976d2;border-bottom:1px solid #e5e7eb;color:#fff;font-size:12px;font-weight:700;padding:10px 7px;text-align:left;text-transform:uppercase;white-space:nowrap}.paiement-table td{border-bottom:1px solid #f0f0f0;color:#374151;font-size:12px;padding:10px 7px;vertical-align:middle}.paiement-table tbody tr:hover{background:#f9fafb}.paiement-table tbody tr:last-child td{border-bottom:none}.client-info{display:flex;flex-direction:column;gap:3px}.client-info strong{color:#111827;font-weight:600}.client-info small{color:#6b7280;font-size:10px}.rdv-info{display:flex;flex-direction:column}.rdv-info strong{color:#2563eb;font-weight:600}.paiement-montant{color:#111827;font-size:12px;white-space:nowrap}.mode-paiement{gap:7px}.mode-paiement,.statut-paiement{align-items:center;display:inline-flex;white-space:nowrap}.statut-paiement{border-radius:20px;font-size:12px;font-weight:600;justify-content:center;padding:5px 10px}.statut-paye{background:#dcfce7;color:#166534}.statut-partiel{background:#fef3c7;color:#92400e}.statut-annule{background:#fee2e2;color:#991b1b}.statut-default{background:#f3f4f6;color:#374151}.paiement-actions{align-items:center;display:flex;gap:7px}.paiement-actions button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;height:34px;justify-content:center;transition:.2s;width:34px}.paiement-actions .btn-edit{background:#eff6ff}.paiement-actions .btn-delete{background:#fef2f2}.paiement-actions button:hover{transform:translateY(-1px)}.paiement-table-loading{color:#6b7280;padding:50px}.paiement-table-empty,.paiement-table-loading{background:#fff;border:1px solid #e5e7eb;border-radius:10px;text-align:center}.paiement-table-empty{padding:60px 20px}.paiement-table-empty .empty-icon{font-size:40px;margin-bottom:10px}.paiement-table-empty h3{color:#111827;margin:0 0 8px}.paiement-table-empty p{color:#6b7280;margin:0}.paiement-form-container{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 8px #0000000a;margin:0 auto;max-width:800px;padding:25px}.paiement-form-header{border-bottom:1px solid #e5e7eb;margin-bottom:25px;padding-bottom:18px}.paiement-form-header h2{color:#111827;font-size:22px;margin:0 0 5px}.paiement-form-header p{color:#6b7280;font-size:14px;margin:0}.paiement-form-container .form-group{margin-bottom:20px}.paiement-form-container label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:7px}.paiement-form-container select{background:#fff;border:1px solid #d1d5db;border-radius:7px;color:#111827;font-size:14px;height:42px;outline:none;padding:0 12px;width:100%}.paiement-form-container select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-readonly{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:7px;box-sizing:border-box;color:#374151;display:flex;gap:15px;min-height:42px;padding:10px 12px}.paiement-form-container .form-group small{color:#6b7280;display:block;font-size:12px;margin-top:6px}.montant-info{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:7px;color:#166534;font-size:18px;font-weight:700;padding:12px 15px}.form-actions{border-top:1px solid #e5e7eb;display:flex;gap:10px;justify-content:flex-end;margin-top:30px;padding-top:20px}.form-actions button{border:none;border-radius:7px;cursor:pointer;font-size:14px;font-weight:600;height:40px;min-width:110px;padding:0 18px}.form-actions button[type=button]{background:#f3f4f6;color:#374151}.form-actions button[type=submit]{background:#2563eb;color:#fff}.form-actions button:hover{opacity:.9}.form-actions button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.paiements-page{padding:15px}.paiements-page .page-header{align-items:flex-start;flex-direction:column}.paiements-page .page-actions{width:100%}.paiements-page .page-actions button{flex:1 1}.paiement-form-container{padding:18px}.form-readonly{align-items:flex-start;flex-direction:column;gap:5px}}.paiement-statistiques{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:25px;width:100%}.paiement-stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;gap:18px;min-height:115px;padding:22px 24px;transition:transform .2s ease,box-shadow .2s ease;width:100%}.paiement-stat-card:hover{box-shadow:0 6px 18px #00000014;transform:translateY(-2px)}.paiement-stat-icon{align-items:center;background:#f3f4f6;border-radius:12px;display:flex;flex-shrink:0;font-size:18px;height:32px;justify-content:center;width:32px}.paiement-stat-content{gap:6px;min-width:0}.paiement-stat-content span{font-size:14px;font-weight:500}.paiement-stat-content strong{color:#111827;font-size:18px;line-height:1.2}.paiement-stat-profit strong{color:#15803d}.paiement-stat-encaisse strong{color:#1d4ed8}.paiement-stat-total strong{color:#6d28d9}.paiement-stat-paye strong{color:#15803d}.paiement-stat-partiel strong{color:#d97706}.paiement-stat-annule strong{color:#b91c1c}@media (max-width:1100px){.paiement-statistiques{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.paiement-statistiques{grid-template-columns:1fr}.paiement-stat-card{min-height:100px}}.paiement-statistiques-accordion{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:20px;overflow:hidden;width:100%}.paiement-statistiques-header{align-items:center;background:#fff;border:none;cursor:pointer;display:flex;justify-content:space-between;min-height:70px;padding:14px 20px;text-align:left;transition:background .2s ease;width:100%}.paiement-statistiques-header:hover{background:#f8fafc}.paiement-statistiques-title{align-items:center;display:flex;gap:12px}.paiement-statistiques-title>div:last-child{display:flex;flex-direction:column;gap:3px}.paiement-statistiques-title strong{color:#1f2937;font-size:16px;font-weight:600}.paiement-statistiques-title small{color:#6b7280;font-size:12px}.paiement-statistiques-main-icon{align-items:center;background:#eff6ff;border-radius:9px;display:flex;font-size:20px;height:40px;justify-content:center;width:40px}.paiement-statistiques-arrow{color:#6b7280;font-size:13px;transition:transform .25s ease}.paiement-statistiques-arrow.open{transform:rotate(180deg)}.paiement-statistiques-content{grid-gap:15px;border-top:1px solid #f0f0f0;display:grid;gap:15px;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 20px 20px}.paiement-stat-card{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:14px;margin-top:18px;min-height:85px;padding:16px}.paiement-stat-card .paiement-stat-icon{align-items:center;border-radius:9px;display:flex;flex-shrink:0;font-size:20px;height:42px;justify-content:center;width:42px}.paiement-stat-content{display:flex;flex-direction:column;gap:4px}.paiement-stat-content span{color:#6b7280;font-size:12px}.paiement-stat-content strong{font-size:19px;font-weight:700}.paiement-stat-profit{border-left:4px solid #16a34a}.paiement-stat-profit .paiement-stat-icon{background:#dcfce7}.paiement-stat-profit .paiement-stat-content strong{color:#15803d}.paiement-stat-encaisse{border-left:4px solid #2563eb}.paiement-stat-encaisse .paiement-stat-icon{background:#dbeafe}.paiement-stat-encaisse .paiement-stat-content strong{color:#1d4ed8}.paiement-stat-total{border-left:4px solid #7c3aed}.paiement-stat-total .paiement-stat-icon{background:#ede9fe}.paiement-stat-total .paiement-stat-content strong{color:#6d28d9}.paiement-stat-paye{border-left:4px solid #16a34a}.paiement-stat-paye .paiement-stat-icon{background:#dcfce7}.paiement-stat-paye .paiement-stat-content strong{color:#15803d}.paiement-stat-partiel{border-left:4px solid #f59e0b}.paiement-stat-partiel .paiement-stat-icon{background:#fef3c7}.paiement-stat-partiel .paiement-stat-content strong{color:#d97706}.paiement-stat-annule{border-left:4px solid #dc2626}.paiement-stat-annule .paiement-stat-icon{background:#fee2e2}.paiement-stat-annule .paiement-stat-content strong{color:#dc2626}@media (max-width:1000px){.paiement-statistiques-content{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.paiement-statistiques-content{grid-template-columns:1fr}.paiement-statistiques-header{padding:12px 15px}.paiement-statistiques-content{padding-left:15px;padding-right:15px}}.paiement-mobile-list{display:none}@media (max-width:768px){.table-responsive{display:none}.paiement-mobile-list{display:flex;flex-direction:column;gap:12px;padding:12px}.paiement-mobile-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 6px #0000000d;padding:14px;width:100%}.paiement-mobile-header{align-items:center;border-bottom:1px solid #eee;display:flex;gap:10px;justify-content:space-between;margin-bottom:4px;padding-bottom:12px}.paiement-mobile-header>div{display:flex;flex-direction:column;gap:3px}.paiement-mobile-header strong{color:#1976d2;font-size:14px}.paiement-mobile-header small{color:#6b7280;font-size:12px}.paiement-mobile-row{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;font-size:13px;gap:15px;justify-content:space-between;padding:9px 0}.mobile-label{color:#6b7280;flex-shrink:0;font-size:12px}.paiement-mobile-row>span:last-child,.paiement-mobile-row>strong{text-align:right;word-break:break-word}.paiement-mobile-card .paiement-montant{color:#1976d2;font-size:14px}.paiement-mobile-actions{border-top:1px solid #eee;display:flex;gap:8px;margin-top:12px;padding-top:12px}.paiement-mobile-actions button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:12px;font-weight:600;min-height:38px}.paiement-mobile-actions .btn-edit{background:#e3f2fd;color:#1976d2}.paiement-mobile-actions .btn-delete{background:#ffebee;color:#d32f2f}.paiement-table-header{padding:14px}.paiement-table-header h2{font-size:18px}.paiement-table-header span{font-size:12px}.paiement-pagination{display:flex;flex-direction:column;gap:12px;padding:12px}.pagination-info{font-size:12px;text-align:center}.pagination-controls{align-items:center;display:flex;gap:5px;justify-content:center;width:100%}.pagination-pages{align-items:center;display:flex;gap:4px;max-width:170px;overflow-x:auto}.pagination-page{flex-shrink:0;height:34px;min-width:34px}.pagination-btn{min-height:34px;padding:0 9px}.pagination-btn span{display:none}.pagination-dots{color:#6b7280;padding:0 4px}}.finance-page{padding:20px}.finance-page .page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.finance-page .page-header h1{font-size:28px;font-weight:600;margin:0 0 5px}.finance-page .page-header p{color:#6c757d;margin:0}.finance-page .page-actions{align-items:center;display:flex;gap:10px}.finance-page .page-actions button{border:none;border-radius:8px;cursor:pointer;font-weight:500;padding:9px 18px;transition:.2s ease}.finance-page .page-actions button:first-child{background-color:#f1f3f5;color:#343a40}.finance-page .page-actions button:last-child{background-color:#0d6efd;color:#fff}.finance-page .page-actions button:hover{opacity:.9}.finance-page .page-actions button:disabled{cursor:not-allowed;opacity:.6}.finance-page .alert{border-radius:8px;margin-bottom:20px;padding:12px 16px}.finance-page .alert-danger{background-color:#f8d7da;border:1px solid #f5c2c7;color:#842029}.finance-page .finance-form-container{background-color:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin:0 0 25px;padding:30px}.finance-page .finance-form-container form{width:100%}.finance-page .finance-form-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:25px;padding-bottom:18px}.finance-page .finance-form-header h2{color:#212529;font-size:24px;font-weight:600;margin:0 0 5px}.finance-page .finance-form-header p{color:#6c757d;font-size:14px;margin:0}.finance-page .finance-form-icon{align-items:center;background-color:#fff3cd;border-radius:10px;display:flex;font-size:23px;height:50px;justify-content:center;width:50px}.finance-page .finance-alert{border-radius:8px;font-size:14px;margin-bottom:20px;padding:13px 16px}.finance-page .finance-alert-danger{background-color:#f8d7da;border:1px solid #f5c2c7;color:#842029}.finance-page,.finance-page .finance-form-container,.finance-page .finance-section{box-sizing:border-box;max-width:none;width:100%}.finance-page .finance-section{background-color:#fafbfc;border:1px solid #e9ecef;border-radius:10px;display:block;margin:0 0 22px;padding:25px}.finance-page .finance-form-container form,.finance-page .finance-form-container>*,.finance-page>*{box-sizing:border-box;max-width:none;width:100%}.finance-page .finance-section-title{align-items:center;display:flex;gap:12px;margin-bottom:22px}.finance-page .finance-section-title>span{align-items:center;background-color:#e9f2ff;border-radius:9px;display:flex;font-size:20px;height:42px;justify-content:center;width:42px}.finance-page .finance-section-title h3{color:#212529;font-size:18px;font-weight:600;margin:0}.finance-page .finance-section-title p{color:#6c757d;font-size:12px;margin:4px 0 0}.finance-page .finance-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.finance-page .finance-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-page .finance-form-container .form-group{margin-bottom:18px}.finance-page .finance-form-container .form-group label{color:#343a40;display:block;font-size:14px;font-weight:600;margin-bottom:7px}.finance-page .finance-form-container .form-group label span{color:#dc3545}.finance-page .finance-form-container input,.finance-page .finance-form-container select{background-color:#fff;border:1px solid #ced4da;border-radius:7px;box-sizing:border-box;color:#212529;font-size:14px;height:44px;padding:8px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.finance-page .finance-form-container input::placeholder{color:#adb5bd}.finance-page .finance-form-container input:focus,.finance-page .finance-form-container select:focus{border-color:#86b7fe;box-shadow:0 0 0 .15rem #0d6efd26;outline:none}.finance-page .finance-form-container input:disabled,.finance-page .finance-form-container select:disabled{background-color:#e9ecef;cursor:not-allowed;opacity:.8}.finance-page #client_id,.finance-page #rendez_vous_id{cursor:pointer}.finance-page #client_id:hover:not(:disabled),.finance-page #rendez_vous_id:hover:not(:disabled){border-color:#adb5bd}.finance-page .finance-rdv-card{background-color:#fff;border:1px solid #dbeafe;border-radius:9px;box-sizing:border-box;margin-top:20px;padding:18px;width:100%}.finance-page .finance-rdv-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;gap:10px;justify-content:space-between;margin-bottom:17px;padding-bottom:13px}.finance-page .finance-rdv-header strong{color:#212529;font-size:14px}.finance-page .finance-rdv-header span{align-items:center;background-color:#e7f1ff;border-radius:20px;color:#0d6efd;display:inline-flex;font-size:12px;font-weight:600;justify-content:center;padding:5px 11px;white-space:nowrap}.finance-page .finance-rdv-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,minmax(0,1fr))}.finance-page .finance-rdv-grid div{display:flex;flex-direction:column;gap:5px}.finance-page .finance-rdv-grid small{color:#6c757d;font-size:12px}.finance-page .finance-rdv-grid strong{color:#343a40;font-size:14px;font-weight:600}.finance-page .finance-input-money{display:flex;width:100%}.finance-page .finance-input-money input{border-radius:7px 0 0 7px;flex:1 1}.finance-page .finance-input-money span{align-items:center;background-color:#f8f9fa;border:1px solid #ced4da;border-left:none;border-radius:0 7px 7px 0;box-sizing:border-box;color:#495057;display:flex;font-size:13px;font-weight:600;height:44px;justify-content:center;min-width:60px;padding:0 10px}.finance-page .finance-results{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin:25px 0;width:100%}.finance-page .finance-result{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;padding:18px}.finance-page .finance-result span{color:#6c757d;display:block;font-size:13px;margin-bottom:8px}.finance-page .finance-result strong{color:#212529;display:block;font-size:20px;font-weight:600}.finance-page .finance-result-profit{background-color:#f1f8f3;border-color:#cfe8d5}.finance-page .finance-result-profit span,.finance-page .finance-result-profit strong{color:#198754}.finance-page .finance-form-actions{align-items:center;border-top:1px solid #e9ecef;display:flex;gap:10px;justify-content:flex-end;margin-top:22px;padding-top:22px}.finance-page .finance-btn{align-items:center;border:none;border-radius:7px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;height:44px;justify-content:center;min-width:130px;padding:9px 18px;transition:all .2s ease}.finance-page .finance-btn:disabled{cursor:not-allowed;opacity:.6}.finance-page .finance-btn-cancel{background-color:#6c757d;color:#fff}.finance-page .finance-btn-cancel:hover:not(:disabled){background-color:#5c636a}.finance-page .finance-btn-submit{background-color:#0d6efd;color:#fff}.finance-page .finance-btn-submit:hover:not(:disabled){background-color:#0b5ed7;box-shadow:0 3px 8px #0d6efd40}.finance-page .finance-spinner{animation:finance-spinner .7s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}@keyframes finance-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.finance-page .paiement-table-container{background-color:#fff;border-radius:12px;overflow:hidden;width:100%}.finance-page .paiement-table-header{align-items:center;display:flex;justify-content:space-between;padding:20px}.finance-page .paiement-table-header h2{font-size:20px;font-weight:600;margin:0 0 5px}.finance-page .paiement-table-header span{color:#6c757d;font-size:14px}.finance-page .table-responsive{overflow-x:auto;width:100%}.finance-page .paiement-table{border-collapse:collapse;min-width:1000px;table-layout:auto;width:100%}.finance-page .paiement-table thead th{background-color:#1976d2;border-bottom:1px solid #dee2e6;font-size:12px;font-weight:600;padding:10px 6px;vertical-align:middle;white-space:nowrap}.finance-page .paiement-table tbody td{border-bottom:1px solid #f0f0f0;font-size:12px;padding:9px 6px;vertical-align:middle}.finance-page .paiement-table tbody tr:hover{background-color:#f8f9fa}.finance-page .client-info{display:flex;flex-direction:column;gap:3px}.finance-page .client-info strong{font-weight:600}.finance-page .client-info small{color:#6c757d;font-size:12px}.finance-page .paiement-table td strong{font-weight:600}.finance-page .paiement-actions{align-items:center;display:flex;gap:6px}.finance-page .paiement-actions button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;height:34px;justify-content:center;width:34px}.finance-page .paiement-actions .btn-edit{background-color:#fff3cd}.finance-page .paiement-actions .btn-delete{background-color:#f8d7da}.finance-page .paiement-actions button:hover{opacity:.8}.finance-page .paiement-table-loading{color:#6c757d;padding:40px;text-align:center}.finance-page .paiement-table-empty{padding:50px 20px;text-align:center}.finance-page .paiement-table-empty .empty-icon{font-size:45px;margin-bottom:15px}.finance-page .paiement-table-empty h3{font-size:20px;margin-bottom:8px}.finance-page .paiement-table-empty p{color:#6c757d;margin:0}@media (max-width:1000px){.finance-page .finance-grid-3,.finance-page .finance-rdv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.finance-page{padding:12px}.finance-page .page-header{align-items:flex-start;flex-direction:column;gap:15px}.finance-page .page-header h1{font-size:22px}.finance-page .page-actions{flex-direction:column;width:100%}.finance-page .page-actions button{width:100%}.finance-page .finance-form-container{padding:18px}.finance-page .finance-form-header{align-items:flex-start}.finance-page .finance-form-header h2{font-size:20px}.finance-page .finance-section{padding:16px}.finance-page .finance-grid,.finance-page .finance-grid-3,.finance-page .finance-rdv-grid,.finance-page .finance-results{grid-template-columns:1fr}.finance-page .finance-form-actions{flex-direction:column-reverse}.finance-page .finance-btn{width:100%}.finance-page .paiement-table{min-width:1100px}}@media (max-width:480px){.finance-page{padding:10px}.finance-page .finance-form-container,.finance-page .finance-section{padding:14px}.finance-page .finance-form-header{gap:10px}.finance-page .finance-form-icon{font-size:20px;height:42px;width:42px}.finance-page .finance-section-title>span{font-size:17px;height:36px;width:36px}.finance-page .finance-section-title h3{font-size:16px}.finance-page .finance-section-title p{font-size:12px}.finance-page .finance-rdv-header{align-items:flex-start;flex-direction:column}.finance-page .finance-result strong{font-size:18px}}.paiement-pagination{align-items:center;background:#fff;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:15px 20px}.pagination-info{color:#6b7280;font-size:12px}.pagination-info strong{color:#374151;font-weight:600}.pagination-btn,.pagination-controls{align-items:center;display:flex;gap:5px}.pagination-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:12px;height:32px;padding:0 10px;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.pagination-btn:disabled{cursor:not-allowed;opacity:.45}.pagination-pages{align-items:center;display:flex;gap:4px}.pagination-page{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:12px;font-weight:500;height:32px;transition:all .2s ease;width:32px}.pagination-page:hover{background:#f3f4f6}.pagination-page.active{background:#1976d2;border-color:#1976d2;color:#fff;font-weight:600}@media (max-width:768px){.paiement-pagination{align-items:center;flex-direction:column;gap:12px}.pagination-btn span{display:none}.pagination-controls{justify-content:center;width:100%}}.finance-mobile-list{display:none}.finance-mobile-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 6px #0000000d;margin:10px 12px;padding:15px}.finance-mobile-card-header{align-items:flex-start;border-bottom:1px solid #eee;display:flex;gap:10px;justify-content:space-between;padding-bottom:12px}.finance-mobile-rdv{color:#1976d2;display:block;font-size:15px;margin-bottom:4px}.finance-mobile-client{color:#374151;display:block;font-size:14px;font-weight:600}.finance-mobile-actions{display:flex;flex-shrink:0;gap:6px}.finance-mobile-actions button{align-items:center;border:none;border-radius:7px;cursor:pointer;display:flex;height:34px;justify-content:center;width:34px}.finance-mobile-info{border-bottom:1px solid #eee;padding:12px 0}.finance-mobile-row{align-items:center;display:flex;font-size:13px;gap:10px;justify-content:space-between;padding:5px 0}.finance-mobile-row span{color:#6b7280}.finance-mobile-row strong{color:#374151;text-align:right}.finance-mobile-financial{padding-top:10px}.finance-mobile-financial-row{align-items:center;display:flex;font-size:13px;justify-content:space-between;padding:7px 0}.finance-mobile-financial-row span{color:#6b7280}.finance-mobile-financial-row strong{color:#374151}.finance-mobile-total{border-top:1px solid #e5e7eb;font-size:14px;margin-top:5px;padding-top:10px}.finance-mobile-total strong{color:#1976d2}.finance-mobile-profit{background:#f0fdf4;border-radius:8px;margin-top:5px;padding:10px}.finance-mobile-profit span,.finance-mobile-profit strong{color:#15803d}@media (max-width:768px){.finance-desktop-table{display:none}.finance-mobile-list{display:block}.paiement-table-container{overflow:hidden;width:100%}.paiement-table-header{padding:15px}.paiement-table-header h2{font-size:18px}.paiement-table-header span{font-size:13px}.paiement-pagination{display:flex;flex-direction:column;gap:12px;padding:12px}.pagination-info{font-size:12px;text-align:center}.pagination-controls{align-items:center;display:flex;gap:5px;justify-content:center;width:100%}.pagination-btn{height:36px;min-width:38px;padding:0 8px}.pagination-btn span{display:none}.pagination-pages{display:flex;gap:4px;max-width:150px;overflow-x:auto;padding:2px}.pagination-page{flex-shrink:0;height:34px;min-width:34px}}
/*# sourceMappingURL=main.ce593f8e.css.map*/