@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css);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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.app-root{display:flex;flex-direction:column;min-height:100vh}.topbar{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:10px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand{color:#111827;font-weight:600}.nav-actions{display:flex;gap:8px}.nav-btn{background:#e67100;border-radius:6px;color:#fff;font-size:14px;padding:8px 12px;text-decoration:none}.nav-btn:hover{background:#c56000}.page-container{flex:1 1;padding:16px}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:Segoe UI,system-ui,-apple-system,Roboto,Ubuntu,Helvetica Neue,Arial,sans-serif;line-height:1.5}body,h1,h2,h3,h4,h5,h6,p{margin:0}img,video{display:block;max-width:100%}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}button,input,select{font:inherit}:root{--primary:#ff7f00;--primary-hover:#e67100;--primary-light:#fff3e6;--black:#111;--white:#fff;--gray:#f5f5f5;--gray-dark:#e0e0e0;--text-gray:#555;--entree:#00c853;--entree-hover:#00b34a;--entree-light:#e6f7eb;--sortie:#d50000;--sortie-hover:#c00000;--sortie-light:#fce8e8;--border-radius:10px;--border-radius-sm:6px;--transition:all 0.25s cubic-bezier(0.4,0,0.2,1);--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #0000001f}.pointage-page{background-color:#fff;background-color:var(--white);color:#111;color:var(--black);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;margin:0 auto;max-width:1400px;min-width:100%;padding:2.5rem;width:100%}.pointage-page h2{align-items:center;color:#ff7f00;color:var(--primary);display:flex;font-size:2rem;font-weight:700;gap:.75rem;margin-bottom:2rem;padding-bottom:.75rem;position:relative}.pointage-page h2:after{background:#ff7f00;background:var(--primary);border-radius:2px;bottom:0;content:"";height:4px;left:0;position:absolute;width:60px}.pointage-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:space-between;margin-bottom:2.5rem}.pointage-controls input[type=date]{padding:.7rem 1rem}.pointage-controls input[type=date]:focus{box-shadow:0 0 0 3px #ff7f0026}.pointage-controls__actions{display:flex;gap:1rem}.pointage-controls button{align-items:center;background-color:#ff7f00;background-color:var(--primary);border:none;border-radius:6px;border-radius:var(--border-radius-sm);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);color:#fff;color:var(--white);cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.7rem 1.5rem;transition:all .25s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.pointage-controls button:hover{background-color:#e67100;background-color:var(--primary-hover);box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.pointage-controls button:active{transform:translateY(0)}.liste-pointages{display:flex;flex-direction:column;gap:1.25rem;list-style:none;margin:0;max-height:65vh;overflow-y:auto;padding:0 .5rem 0 0;scrollbar-color:#ff7f00 #f5f5f5;scrollbar-color:var(--primary) var(--gray);scrollbar-width:thin}.liste-pointages::-webkit-scrollbar{width:8px}.liste-pointages::-webkit-scrollbar-track{background:#f5f5f5;background:var(--gray);border-radius:10px}.liste-pointages::-webkit-scrollbar-thumb{background-color:#ff7f00;background-color:var(--primary);border-radius:10px}.pointage-item{align-items:flex-start;background-color:#fff;background-color:var(--white);border-radius:10px;border-radius:var(--border-radius);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);display:grid;grid-template-columns:minmax(300px,2fr) 1fr;min-height:150px;overflow:hidden;padding:1.75rem 2rem;position:relative}.pointage-item,.pointage-item:before{transition:all .25s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.pointage-item:before{background:linear-gradient(90deg,#ff7f000d,#ff7f0000);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.pointage-item:hover{box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-3px)}.pointage-item:hover:before{opacity:1}.bloc-identite{display:flex;flex-direction:column;gap:.35rem}.nom{color:#111;color:var(--black);font-size:1.1rem;font-weight:700;letter-spacing:-.3px}.fonction{font-size:.9rem;font-style:italic}.date,.fonction{color:#555;color:var(--text-gray)}.date{align-items:center;display:flex;font-size:.85rem;gap:.5rem}.date:before{content:"📅";font-size:.9em}.heures{display:flex;flex-direction:column;gap:.5rem}.heure-entree,.heure-sortie{align-items:center;display:flex;font-size:.95rem;font-weight:500;gap:.5rem}.heure-entree{color:#00c853;color:var(--entree)}.heure-sortie{color:#d50000;color:var(--sortie)}.aucun-resultat{align-items:center;color:#ff7f00;color:var(--primary);display:flex;flex-direction:column;font-size:1.2rem;font-weight:600;gap:1rem;margin:3rem 0;text-align:center}.aucun-resultat svg{height:3rem;opacity:.7;width:3rem}@media (max-width:992px){.pointage-page{padding:2rem 1.5rem}}@media (max-width:768px){.pointage-controls{align-items:stretch;flex-direction:column;gap:1rem}.pointage-controls__actions{justify-content:flex-end;width:100%}.pointage-item{gap:1.5rem;grid-template-columns:1fr}.heures{grid-column:span 2}}@media (max-width:576px){.pointage-controls__actions{flex-direction:column}.pointage-controls button{justify-content:center}.pointage-item{min-height:170px;padding:1.75rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}.pointage-item{animation:fadeIn .5s ease-out forwards}.pointage-controls button:hover{animation:pulse 1.5s infinite}.pointage-controls .filter-date,.pointage-controls .filter-input,.pointage-controls .filter-select{-webkit-appearance:none;appearance:none;background-color:#fff;background-color:var(--white);border:1px solid #e0e0e0;border:1px solid var(--gray-dark);border-radius:6px;border-radius:var(--border-radius-sm);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);color:#111;color:var(--black);font-size:.95rem;min-width:200px;padding:.7rem 1rem;transition:all .25s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.pointage-controls .filter-input::placeholder{color:#555;color:var(--text-gray);opacity:.8}.pointage-controls .filter-date:hover,.pointage-controls .filter-input:hover,.pointage-controls .filter-select:hover{border-color:#ff7f00;border-color:var(--primary);box-shadow:0 0 0 3px #ff7f001a}.pointage-controls .filter-date:focus,.pointage-controls .filter-input:focus,.pointage-controls .filter-select:focus{border-color:#ff7f00;border-color:var(--primary);box-shadow:0 0 0 3px #ff7f0033;outline:none}.pointage-controls .filter-select{cursor:pointer}.pointage-controls .btn{align-items:center;background-color:#ff7f00;background-color:var(--primary);border:none;border-radius:6px;border-radius:var(--border-radius-sm);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);color:#fff;color:var(--white);cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.7rem 1.5rem;transition:all .25s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.pointage-controls .btn:hover{background-color:#e67100;background-color:var(--primary-hover);box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.pointage-controls input[type=date]{background-color:#fff;background-color:var(--white);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.1rem;border:1px solid #e0e0e0;border:1px solid var(--gray-dark);border-radius:6px;border-radius:var(--border-radius-sm);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);color:#111;color:var(--black);cursor:pointer;font-family:inherit;font-size:.95rem;min-width:200px;padding:.7rem 2.5rem .7rem 1rem;transition:all .25s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.pointage-controls input[type=date]:hover{border-color:#ff7f00;border-color:var(--primary);box-shadow:0 0 0 3px #ff7f001a}.pointage-controls input[type=date]:focus{border-color:#ff7f00;border-color:var(--primary);box-shadow:0 0 0 3px #ff7f0033;outline:none}.pointage-controls input[type=date]::placeholder{color:#555;color:var(--text-gray);opacity:.7}.pointage-controls input[type=date]::-webkit-datetime-edit{color:#111;color:var(--black)}.pointage-controls input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}.pointage-controls input[type=date]::-webkit-datetime-edit-text{color:#ff7f00;color:var(--primary);padding:0 .2rem}.pointage-controls input[type=date]::-webkit-calendar-picker-indicator,.pointage-controls input[type=date]::-webkit-inner-spin-button{cursor:pointer;height:100%;opacity:0;position:absolute;right:0;width:100%}.pointage-controls input[type=date]::-moz-focus-inner{border:0;padding:0}@media (max-width:768px){.pointage-controls .filter-date,.pointage-controls .filter-input,.pointage-controls .filter-select,.pointage-controls input[type=date]{min-width:auto;width:100%}}:root{--primary-color:#ff7f00;--secondary-color:#e67100;--accent-color:#e74c3c;--light-color:#ecf0f1;--dark-color:#2c3e50;--success-color:#2ecc71;--warning-color:#f39c12;--border-radius:8px;--box-shadow:0 4px 6px #0000001a;--transition:all 0.3s ease}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f7fa;color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}.qr-app{margin:0 auto;max-width:1200px;padding:0 20px}.app-header{margin-bottom:2rem;padding:2rem 0;text-align:center}.app-header h1{color:#e67100;color:var(--secondary-color);font-size:2.5rem;margin-bottom:.5rem}.app-header i{color:#ff7f00;color:var(--primary-color);margin-right:10px}.app-subtitle{color:#7f8c8d;font-size:1.1rem}.card{background:#fff;border-radius:8px;border-radius:var(--border-radius);box-shadow:0 4px 6px #0000001a;box-shadow:var(--box-shadow);margin-bottom:1.5rem;padding:1.5rem;transition:all .3s ease;transition:var(--transition)}.card:hover{box-shadow:0 6px 12px #00000026}.agence-form{gap:1rem}.agence-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#e67100;color:var(--secondary-color);font-weight:600}.form-group input{border:1px solid #ddd;border-radius:8px;border-radius:var(--border-radius);font-size:1rem;padding:.75rem;transition:all .3s ease;transition:var(--transition)}.form-group input:focus{border-color:#ff7f00;border-color:var(--primary-color);box-shadow:0 0 0 2px #3498db33;outline:none}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1 1}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--border-radius);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .3s ease;transition:var(--transition)}.btn-primary{background-color:#ff7f00;background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:#2c3e50;color:#fff}.btn-secondary:hover{background-color:#1a252f}.btn-action{background-color:#fff;border:1px solid #ddd;color:#2c3e50}.btn-action:hover{background-color:#ecf0f1;background-color:var(--light-color)}.btn-link{background:none;border:none;color:#ff7f00;color:var(--primary-color);cursor:pointer;padding:0;text-decoration:underline}.action-section{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.search-box{flex:1 1;min-width:300px;position:relative}.search-box i{color:#95a5a6;left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.search-box input{border:1px solid #ddd;border-radius:8px;border-radius:var(--border-radius);font-size:1rem;padding:.75rem 1rem .75rem 2.5rem;width:100%}.agences-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.agence-card{display:flex;flex-direction:column;height:100%}.agence-header{align-items:flex-start;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.agence-header h3{color:#e67100;color:var(--secondary-color);margin-right:1rem}.agence-id{background-color:#ecf0f1;background-color:var(--light-color);border-radius:4px;color:#7f8c8d;font-size:.8rem;font-weight:600;padding:.25rem .5rem}.agence-details{flex:1 1;margin-bottom:1rem}.agence-details p{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.agence-details i{color:#ff7f00;color:var(--primary-color);width:1.25rem}.qr-container{background-color:#fff;border:1px solid #eee;border-radius:8px;border-radius:var(--border-radius);display:flex;justify-content:center;margin:1rem 0;padding:1rem}.card-actions{display:flex;justify-content:flex-end;margin-top:auto}.loading-state{align-items:center;color:#7f8c8d;display:flex;gap:.5rem;justify-content:center;padding:2rem}.empty-state{color:#95a5a6;padding:3rem;text-align:center}.empty-state i{color:#bdc3c7;font-size:3rem;margin-bottom:1rem}.print-content{left:-9999px;position:absolute}.print-agence{margin-bottom:15mm}.print-date{color:#95a5a6;font-size:.9rem;margin-top:5mm;text-align:center}@media (max-width:768px){.form-row{flex-direction:column;gap:1rem}.action-section{align-items:stretch;flex-direction:column}.search-box{min-width:100%}}.permissions-container{background:#f9f9f9;min-height:100vh;padding:20px}.permissions-container h2{color:#ff7f00;margin-bottom:20px}.permissions-table{background:#fff;border-collapse:collapse;border-radius:10px;overflow:hidden;width:100%}.permissions-table td,.permissions-table th{border-bottom:1px solid #ddd;padding:12px;text-align:left}.permissions-table th{background:#ff7f00;color:#fff}.statut{border-radius:6px;font-weight:700;padding:4px 8px}.statut.approuvée{background:#d4f8d4;color:#2d7a2d}.statut.refusée{background:#fddede;color:#a12323}.statut.en{background:#fff3cd;color:#856404}.btn-approve,.btn-reject,.btn-view{border-radius:6px;cursor:pointer;font-size:.9em;margin-right:6px;padding:6px 12px;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.btn-view{background:#fff;border:1px solid #ff7f00;color:#ff7f00}.btn-view:hover{background:#e67100;border-color:#e67100;color:#fff}.btn-approve{background:#ff7f00;border:1px solid #ff7f00;color:#fff}.btn-approve:hover{background:#e67100;border-color:#e67100}.btn-reject{background:#dc3545;border:1px solid #dc3545;color:#fff}.btn-reject:hover{background:#c5303d;border-color:#c5303d}.empty{color:#777;margin-top:20px;text-align:center}
/*# sourceMappingURL=main.fae44f0e.css.map*/