:root{--couleur-primaire: #0c3a61;--couleur-primaire-fonce: #0f4878;--couleur-secondaire: white;--couleur-secondaire-fonce: #dddddd;--couleur-verte: #baffc9;--couleur-rouge: #ffb3ba;--couleur-warning: #ffee99;--couleur-violet: #e1baff;--couleur-bleue: #bae1ff;--couleur-jaune: #fff4bd;--couleur-gris: #b5b8bd}body{background-color:#f0f2f5;margin:0;padding:0;font-family:Source Sans Pro,sans-serif}:root{--primary-color: #0f4878;--secondary-color: #2478cc;--accent-color: #e74c3c;--background-color: #ecf0f1;--card-background: #ffffff;--text-color: #34495e}body{font-family:Roboto,sans-serif;margin:0;padding:0}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;margin-top:-50px;padding:20px;background:linear-gradient(135deg,#f4f7f9,#e8eef3)}.login-card{width:100%;max-width:400px;background-color:var(--card-background);border-radius:20px;box-shadow:0 15px 30px rgba(0,0,0,.1);overflow:hidden;position:relative}.card-header{padding:50px 0;text-align:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);position:relative}.card-header:after{content:"";position:absolute;bottom:-20px;left:0;right:0;height:40px;background-color:var(--card-background);transform:skewY(-4deg)}.logo-container{display:flex;justify-content:center;margin-bottom:20px}.company-logo{width:130px;height:80px;object-fit:contain}.company-name{font-size:22px;font-weight:700;color:var(--card-background);margin:0;text-transform:uppercase;letter-spacing:2px}.card-content-login{padding:25px 30px 20px}.input-group{margin-bottom:40px;position:relative}.input-label{position:absolute;left:0;top:10px;font-size:16px;color:#999;transition:all .3s ease;pointer-events:none}.input-field{width:100%;padding:10px 0;font-size:16px;color:var(--text-color);border:none;border-bottom:2px solid #ddd;outline:none;background-color:transparent;transition:all .3s ease}.input-field:focus,.input-field:not(:placeholder-shown){border-bottom-color:var(--primary-color)}.input-field:focus+.input-label,.input-field:not(:placeholder-shown)+.input-label{top:-15px;font-size:16px;color:var(--primary-color)}.card-footer{padding:0 30px 30px}.login-button{width:100%;padding:15px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;border:none;border-radius:50px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.login-button:hover{opacity:.9;transform:translateY(-3px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.input-field.error{border-bottom-color:var(--accent-color)}.error-message{color:var(--accent-color);font-size:16px;margin-top:-5px;margin-bottom:20px;text-align:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-card{animation:fadeInUp .6s ease-out}.toggle-password{position:absolute;right:0;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-color);opacity:.7;transition:opacity .3s ease}.toggle-password:hover{opacity:1}.input-group{position:relative}.icon-password{width:20px;height:20px}.carteItem{background-color:#f8f8f8;border-radius:8px;padding:15px;margin-bottom:15px;box-shadow:0 2px 4px rgba(0,0,0,.05);transition:box-shadow .3s}.carteItem:hover{box-shadow:0 4px 8px rgba(0,0,0,.1)}.carteTitle{color:#0c3a61;font-size:18px;font-weight:700;margin-bottom:10px}.carteSousTitre{margin-top:5px;font-size:12px;color:#666}.carteDetails{display:flex;justify-content:space-between;font-size:14px;color:#666}.bordure-prise-en-charge{border:3px solid #bae1ff!important;box-shadow:0 0 10px #bae1ff,0 0 20px #bae1ff!important;transition:box-shadow .3s ease-in-out}.bordure-prise-en-charge:hover{box-shadow:0 0 15px #bae1ff,0 0 30px #bae1ff}.carteNomClient{font-size:14px;color:#666}.important{color:red}.carte-enlevement{border-left:4px solid #4caf50}.carte-livraison{border-left:4px solid #2196f3}.carte-retour{border-left:4px solid #ff9800}.pagination-container{background-color:#fff;border-top:1px solid #e5e5e5;padding:15px 20px;margin-top:10px}.pagination-info{text-align:center;margin-bottom:10px;color:#666;font-size:14px}.pagination-controls{display:flex;justify-content:space-between;align-items:center;gap:10px}.pagination-btn{background-color:#0c3a61;color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;outline:none;-webkit-tap-highlight-color:transparent;min-width:100px}.pagination-btn:hover:not(.disabled){background-color:#0a2f50;transform:translateY(-1px)}.pagination-btn:active:not(.disabled){transform:translateY(0);background-color:#083247}.pagination-btn.disabled{background-color:#ccc;color:#999;cursor:not-allowed;transform:none}.pagination-pages{color:#333;font-size:14px;font-weight:500;text-align:center;flex:1;white-space:nowrap}@media (max-width: 480px){.pagination-container{padding:12px 15px}.pagination-controls{gap:8px}.pagination-btn{min-width:120px;padding:12px 20px}.pagination-pages{margin-bottom:8px}}@media (max-width: 370px){.pagination-container{padding:10px}.pagination-btn{font-size:13px;padding:10px 16px;min-width:90px}}.navbar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background-color:#0c3a61;padding:10px 0;box-shadow:0 -2px 10px rgba(0,0,0,.1);z-index:100}.navbar-tab{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;color:rgba(255,255,255,.6);padding:8px 20px;cursor:pointer;transition:color .2s ease;position:relative;outline:none;-webkit-tap-highlight-color:transparent}.navbar-tab:active{transform:scale(.95)}.navbar-tab.active{color:#fff}.navbar-tab.active:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:40px;height:3px;background-color:#fff;border-radius:0 0 3px 3px}.navbar-icon{width:24px;height:24px}.navbar-tab span:not(.navbar-badge){font-size:12px;font-weight:500}.navbar-badge{position:absolute;top:2px;right:10px;background-color:#e74c3c;color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.app{min-height:100vh;background-color:#fff;color:#333;font-family:Arial,sans-serif;display:flex;flex-direction:column;padding-bottom:80px}.header{position:-webkit-sticky;position:sticky;top:0;z-index:10;background-color:#0c3a61;color:#fff;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.headerContent{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.switchButtons{display:flex;gap:10px;margin-bottom:15px}.switchButton{flex:1;padding:8px 16px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background-color:rgba(255,255,255,.1);color:#fff;font-size:14px;cursor:pointer;transition:all .3s ease;outline:none;-webkit-tap-highlight-color:transparent}.switchButton:active{transform:scale(.95)}.switchButton.active{background-color:rgba(255,255,255,.9);color:#0c3a61;font-weight:700}.title{font-size:24px;font-weight:700;margin:0}@keyframes clickEffect{0%{background-color:rgba(255,255,255,.1)}50%{background-color:rgba(255,255,255,.3)}to{background-color:rgba(255,255,255,.1)}}.reloadButton{background-color:rgba(255,255,255,.1);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .3s;outline:none;-webkit-tap-highlight-color:transparent}.reloadButton:active{animation:clickEffect .5s ease}.reloadButton img{transition:transform .3s ease}.reloadButton.spinning img{animation:spin 1s linear infinite}.reloadIcon{width:20px;height:20px;display:block}.searchContainer{position:relative}.searchInput{width:85%;margin-top:10px;margin-left:-5px;padding:10px 40px 10px 10px;border-radius:15px;border:none;background-color:rgba(255,255,255,.1);color:#fff;font-size:16px}.searchInput::placeholder{font-size:14px;color:gray}.main{padding:20px;flex:1}.noCarte{text-align:center;margin-top:40px;color:#666}.spinning{animation:spin 1s linear infinite}.carteList{list-style:none;padding:0;margin:0}@media (max-width: 370px){.main{padding:20px 10px}}.transfert-blocage{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:20px}.transfert-blocage-content{background-color:#fff3cd;border:2px solid #ffc107;border-radius:16px;padding:30px 20px;text-align:center;max-width:350px;box-shadow:0 4px 12px rgba(0,0,0,.15)}.transfert-blocage-icon{font-size:48px;margin-bottom:15px}.transfert-blocage-content h2{color:#856404;margin:0 0 15px;font-size:1.4rem}.transfert-blocage-content p{color:#664d03;margin:0 0 25px;font-size:1rem;line-height:1.5}.transfert-blocage-btn{background-color:#0c3a61;color:#fff;border:none;padding:14px 28px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.transfert-blocage-btn:active{background-color:#0a2d4d}.modal-titre{font-weight:700;margin:15px 0;color:#333}.conversation-page{display:flex;flex-direction:column;height:100vh;height:-webkit-fill-available;height:100dvh;width:100%;position:fixed;overflow:hidden;background-color:#fff;font-family:Arial,sans-serif}.header-conversation{flex:0 0 32px;background-color:#0c3a61;color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center;z-index:10}.header-button{background:none;border:none;color:#fff;cursor:pointer;padding:.5rem;border-radius:50%;transition:background-color .3s}.header-button:hover{background-color:#0a2e4d}.header-title{font-size:1.25rem;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}.message-container{flex:1 1 auto;height:0;overflow-y:auto;overflow-x:hidden;padding:1rem;display:flex;flex-direction:column;position:relative;-webkit-overflow-scrolling:touch}.message-container.has-response{transition:padding-bottom .3s ease}.message{position:relative;display:inline-block;max-width:70%;min-width:auto;width:fit-content;padding:.75rem;border-radius:1rem;margin-bottom:1.5rem;white-space:pre-line}.message.user{background-color:#0c3a61;color:#fff;align-self:flex-end;margin-left:auto;text-align:left;border-bottom-right-radius:.25rem}.message.other{background-color:#f1f1f1;color:#333;border-bottom-left-radius:.25rem}.message-time{position:absolute;bottom:-1.25rem;font-size:.75rem;color:#666}.message.user .message-time{right:0}.message.other .message-time{left:0}.response-section{flex:0 0 auto;position:fixed;bottom:0;left:0;right:0;background-color:#f9f9f9;padding:1rem;padding-top:0;padding-bottom:20px;z-index:10;overflow-y:visible;max-height:none;border-top:1px solid #e0e0e0;box-shadow:0 -2px 10px rgba(0,0,0,.1)}.response-title{font-size:1.125rem;font-weight:600;color:#0c3a61;margin-bottom:1rem}.response-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding-bottom:1rem;max-height:60vh}.response-button{height:70px;min-height:70px;scroll-snap-align:start;display:flex;justify-content:space-between;align-items:center;background-color:#fff;border:1px solid #e0e0e0;border-radius:.5rem;padding:.75rem;cursor:pointer;transition:background-color .3s}.response-button:hover{background-color:#f0f0f0}.response-button span{font-size:.775rem;color:#0c3a61}.response-button svg{width:1rem;height:1rem;color:#0c3a61}.connection-status,.error-banner{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;padding:2rem;border-radius:1rem;box-shadow:0 4px 6px rgba(0,0,0,.1);z-index:1000;text-align:center}.overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:999}.connection-status{display:flex;flex-direction:column;align-items:center;gap:1rem}.loader{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #0c3a61;border-radius:50%;animation:spin 1s linear infinite}.error-banner{background-color:#fff1f0;border:1px solid #ffccc7;color:#cf1322}.address-link{color:#007aff;text-decoration:underline;display:inline-block;margin:5px 0;background:none;border:none;font-size:inherit;cursor:pointer;padding:0;text-align:left}.address-link:active{opacity:.7}.message-photo{max-width:200px;border-radius:8px;cursor:pointer;transition:transform .2s}.message-photo:hover{transform:scale(1.05)}.fullscreen-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.9);display:flex;justify-content:center;align-items:center;z-index:1000}.fullscreen-photo{max-width:95%;max-height:95vh;object-fit:contain}.close-fullscreen{position:absolute;top:20px;right:20px;color:#fff;background:none;border:none;font-size:30px;cursor:pointer;padding:10px}.copy-confirmation{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background-color:#0c3a61;color:#fff;padding:10px 20px;border-radius:20px;z-index:1000;animation:fadeInOut 2s ease-in-out}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,20px)}15%{opacity:1;transform:translate(-50%)}85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,20px)}}.marchandise-grid{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.marchandise-row{display:flex;justify-content:space-between;align-items:center;background-color:#fff;padding:.75rem;border:1px solid #e0e0e0;border-radius:.5rem}.marchandise-label{font-size:.875rem;color:#0c3a61;font-weight:500}.counter-container{display:flex;align-items:center;gap:1rem}.counter-button{width:2rem;height:2rem;border-radius:50%;border:1px solid #0c3a61;background-color:#fff;color:#0c3a61;font-size:1.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.counter-button:disabled{border-color:#ccc;color:#ccc;cursor:not-allowed}.counter-button:not(:disabled):hover{background-color:#0c3a61;color:#fff}.counter-input{font-size:1rem;color:#0c3a61;width:3rem;height:2rem;text-align:center;border:1px solid #e0e0e0;border-radius:.25rem;background-color:#fff;outline:none;transition:all .3s ease}.counter-input:focus{border-color:#0c3a61;box-shadow:0 0 0 2px rgba(12,58,97,.1)}.counter-input:disabled{background-color:#f5f5f5;color:#ccc;border-color:#ccc;cursor:not-allowed}.counter-input::-webkit-outer-spin-button,.counter-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.counter-input[type=number]{-moz-appearance:textfield}.validation-error-simple{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:.5rem;padding:.75rem;margin-bottom:1rem;color:#856404;font-size:.875rem;font-weight:500;text-align:center}.photo-section{display:flex;flex-direction:column;gap:1rem;height:200px!important}.camera-container{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-bottom:20px}.camera-input,.gallery-input{display:none}.camera-button,.gallery-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem;border:none;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:background-color .3s}.camera-button{background-color:#0c3a61;color:#fff}.gallery-button{background-color:#f1f1f1;color:#0c3a61}.camera-button:disabled,.gallery-button:disabled{background-color:#ccc;color:#666;cursor:not-allowed}.camera-button svg,.gallery-button svg{width:24px;height:24px}.camera-button:not(:disabled):hover{background-color:#0a2e4d}.gallery-button:not(:disabled):hover{background-color:#e0e0e0}.compression-indicator{display:flex;align-items:center;gap:10px;padding:10px;background-color:#f0f8ff;border:1px solid #007aff;border-radius:8px;margin-bottom:15px}.compression-loader{width:20px;height:20px;border:2px solid #e0e0e0;border-left:2px solid #007aff;border-radius:50%;animation:spin 1s linear infinite}.compression-indicator p{margin:0;color:#007aff;font-size:14px;font-weight:500}.camera-button:disabled,.gallery-button:disabled{opacity:.6;cursor:not-allowed}.signature-container{display:flex;flex-direction:column;gap:1rem;padding:1rem}.signature-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.signature-input-group{display:flex;gap:1rem;align-items:center;width:100%}.signature-button{background-color:#0c3a61;color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;cursor:pointer;transition:background-color .3s;flex:1;min-width:140px;display:flex;align-items:center;justify-content:center;gap:.5rem}.signature-button:disabled{background-color:#ccc;cursor:not-allowed}.signature-status{width:24px;height:24px;color:#ccc;transition:color .3s}.signature-status.signed{color:#4caf50}.signature-pad-container{position:fixed;top:60.5%;left:50%;transform:translate(-50%,-50%);background-color:#fff;padding:1rem;z-index:1001;width:93%;max-width:500px}.signature-pad{width:100%;height:200px;border:1px solid #e0e0e0;border-radius:.25rem}.signature-pad-buttons{display:flex;justify-content:space-between;margin-top:1rem}.signature-pad-buttons button{padding:.5rem 1rem;border:none;border-radius:.25rem;cursor:pointer}.signature-pad-buttons button:first-child{background-color:#f1f1f1;color:#333}.signature-pad-buttons button:last-child{background-color:#cd5c5c;color:#fff;transition:all .3s ease}.signature-pad-buttons button:last-child.validated{background-color:#4caf50;color:#fff}.signature-pad-buttons button:last-child:hover:not(.validated){background-color:#e0e0e0}.signature-pad-buttons button:last-child.validated:hover{background-color:#45a049}.signataire-input{flex:2;padding:.75rem;border:1px solid #e0e0e0;border-radius:.5rem;font-size:1rem;min-width:0}.submit-button{width:100%;padding:.75rem;background-color:#0c3a61;color:#fff;border:none;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:background-color .3s;margin-top:1rem}.response-section.signature-section{height:200px!important}.signature-status:not(.signed){color:red}.signature-section:before{content:"";position:fixed;top:75px;left:0;right:0;bottom:200px;background-color:rgba(0,0,0,.5);z-index:5;pointer-events:none}.signature-label{margin-top:0;font-size:1.2rem;font-weight:700;color:#0c3a61;margin-bottom:1rem;text-align:center}.message-container.signature-active{overflow:hidden!important;pointer-events:none}.header-conversation{pointer-events:auto!important;position:relative;z-index:1002}.header-button{pointer-events:auto!important}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:20px;border-radius:8px;width:80%;max-width:500px;text-align:center}.modal-reponse{font-weight:700;margin:15px 0;color:#333;word-break:break-word}.modal-buttons{display:flex;justify-content:center;gap:15px;margin-top:20px}.modal-button{padding:10px 30px;border:none;border-radius:5px;font-weight:700;cursor:pointer}.modal-button.confirm{background-color:var(--couleur-primaire);color:#fff}.modal-button.cancel{background-color:#f44;color:#fff}.commentaire-container{display:flex;flex-direction:column;gap:1rem;width:100%}.commentaire-input{width:95%;min-height:100px;padding:.75rem;border:1px solid #e0e0e0;border-radius:.5rem;font-size:1rem;resize:vertical;color:#0c3a61;background-color:#fff}.commentaire-input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.commentaire-input:focus{outline:none;border-color:#0c3a61}.submit-button{width:100%;padding:.75rem;background-color:#0c3a61;color:#fff;border:none;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:background-color .3s}.submit-button:disabled{background-color:#ccc;cursor:not-allowed}.submit-button:not(:disabled):hover{background-color:#0a2e4d}.carte-transfert{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);margin-bottom:16px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.carte-transfert.actionnable{cursor:pointer;border-left:4px solid #27ae60}.carte-transfert.actionnable:active{transform:scale(.98);box-shadow:0 1px 4px rgba(0,0,0,.1)}.carte-transfert.en-attente{opacity:.7;border-left:4px solid #95a5a6}.carte-transfert-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background-color:#f8f9fa;border-bottom:1px solid #eee}.vehicule-icon{width:40px;height:40px;background-color:#0c3a61;border-radius:8px;display:flex;align-items:center;justify-content:center}.vehicule-icon svg{width:24px;height:24px;color:#fff}.vehicule-marque{font-weight:600;font-size:16px;color:#333}.vehicule-immat{font-size:14px;color:#666;font-family:monospace;background-color:#e9ecef;padding:2px 8px;border-radius:4px}.role-badge{padding:6px 12px;border-radius:20px;color:#fff;font-size:12px;font-weight:600;text-transform:uppercase}.carte-transfert-body{padding:16px}.transfert-message{font-size:15px;color:#333;margin:0 0 12px;font-weight:500}.coursiers-info,.coursier-target{display:flex;align-items:center;gap:8px}.coursier-target .label{font-size:14px;color:#666}.coursier-badge{padding:4px 12px;border-radius:15px;color:#fff;font-size:13px;font-weight:500}.carte-transfert-footer{padding:12px 16px;background-color:#f8f9fa;border-top:1px solid #eee}.btn-valider{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background-color:#27ae60;color:#fff;border:none;border-radius:8px;padding:12px 16px;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s ease;outline:none;-webkit-tap-highlight-color:transparent}.btn-valider:active{background-color:#219a52}.btn-valider svg{width:20px;height:20px}.attente-indicator{display:flex;align-items:center;justify-content:center;gap:8px;color:#95a5a6;font-size:14px;padding:8px 0}.attente-indicator svg{width:18px;height:18px}.modal-transfert-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:flex-start;z-index:1000;padding:20px;overflow-y:auto}.modal-transfert-content{background-color:#fff;border-radius:12px;width:100%;max-width:500px;margin:20px auto;box-shadow:0 4px 20px rgba(0,0,0,.15);display:flex;flex-direction:column;max-height:calc(100vh - 40px)}.modal-transfert-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0;background-color:#0c3a61;border-radius:12px 12px 0 0;flex-shrink:0}.modal-transfert-header h2{margin:0;color:#fff;font-size:18px}.modal-transfert-close{background:rgba(255,255,255,.2);border:none;font-size:24px;cursor:pointer;color:#fff;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s;outline:none;-webkit-tap-highlight-color:transparent}.modal-transfert-close:active{background:rgba(255,255,255,.3)}.modal-transfert-vehicule{padding:16px 20px;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;flex-direction:column;gap:4px;flex-shrink:0}.modal-transfert-vehicule .vehicule-immat{font-family:monospace;background-color:#e9ecef;padding:4px 12px;border-radius:4px;font-size:16px;font-weight:600;display:inline-block;width:fit-content}.modal-transfert-vehicule .vehicule-name{font-size:14px;color:#666}.modal-transfert-form{padding:20px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;flex:1;min-height:0}.form-textarea{resize:vertical;min-height:80px}.photos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.photo-preview{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;border:1px solid #ddd}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background-color:rgba(231,76,60,.9);border:none;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;outline:none;-webkit-tap-highlight-color:transparent}.photo-add{aspect-ratio:1;border:2px dashed #ccc;border-radius:8px;display:flex;align-items:center;justify-content:center}.photo-add-button{width:100%;height:100%;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#666;outline:none;-webkit-tap-highlight-color:transparent}.photo-add-button:active{background-color:#f0f0f0}.photo-add-button svg{width:32px;height:32px}.photo-add-button span{font-size:12px}.modal-transfert-footer{padding:16px 20px;border-top:1px solid #e0e0e0;display:flex;gap:12px;flex-shrink:0}.photo-supp-add-button svg{width:24px;height:24px}.qr-scanner-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.qr-scanner-modal{background-color:#fff;border-radius:12px;width:100%;max-width:400px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.qr-scanner-header{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid #eee;background-color:#0c3a61;color:#fff}.qr-scanner-header h3{margin:0;font-size:18px;font-weight:600}.qr-scanner-close{background:none;border:none;color:#fff;font-size:28px;cursor:pointer;padding:0;line-height:1;opacity:.8}.qr-scanner-close:hover{opacity:1}.qr-scanner-body{flex:1;padding:20px;display:flex;flex-direction:column;align-items:center}.qr-scanner-reader{width:100%;max-width:300px;border-radius:8px;overflow:hidden}#qr-reader video{border-radius:8px}#qr-reader__scan_region{background:transparent!important}#qr-reader__dashboard{display:none!important}.qr-scanner-hint{margin-top:15px;color:#666;font-size:14px;text-align:center}.qr-scanner-error{padding:30px 20px;text-align:center;color:#dc3545}.qr-scanner-error p{margin:0 0 15px}.qr-scanner-retry{padding:10px 20px;background-color:#0c3a61;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer}.qr-scanner-retry:hover{background-color:#0a2d4d}.qr-scanner-footer{padding:15px 20px;border-top:1px solid #eee;display:flex;justify-content:center}.qr-scanner-cancel{width:100%;padding:12px 20px;background-color:#f0f0f0;color:#333;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer}.qr-scanner-cancel:hover{background-color:#e0e0e0}.modal-vehicle-change-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:flex-start;z-index:1000;padding:20px;overflow-y:auto}.modal-vehicle-change-content{background-color:#fff;border-radius:12px;width:100%;max-width:500px;margin:20px auto;box-shadow:0 4px 20px rgba(0,0,0,.15);display:flex;flex-direction:column;max-height:calc(100vh - 40px)}.modal-vehicle-change-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0;background-color:#0c3a61;border-radius:12px 12px 0 0;flex-shrink:0}.modal-vehicle-change-header h2{margin:0;color:#fff;font-size:18px}.modal-vehicle-change-close{background:rgba(255,255,255,.2);border:none;font-size:24px;cursor:pointer;color:#fff;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s;outline:none;-webkit-tap-highlight-color:transparent}.modal-vehicle-change-close:active{background:rgba(255,255,255,.3)}.modal-vehicle-change-info{padding:16px 20px;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;flex-direction:column;gap:12px;flex-shrink:0}.vehicle-info-card{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:8px;background-color:#fff;border:1px solid #e0e0e0}.vehicle-info-new{border-color:#27ae60;border-width:2px}.vehicle-label{font-size:12px;color:#666;font-weight:600;text-transform:uppercase}.vehicle-immat{font-family:monospace;background-color:#e9ecef;padding:4px 12px;border-radius:4px;font-size:16px;font-weight:600;display:inline-block;width:fit-content}.vehicle-name{font-size:14px;color:#666}.vehicle-warning{font-size:13px;color:#f57c00;padding:6px 10px;background-color:#fff3e0;border-radius:4px;margin-top:4px}.vehicle-info-note{display:flex;gap:10px;padding:12px;background-color:#e3f2fd;border-radius:8px;color:#1565c0;font-size:13px;align-items:flex-start}.vehicle-info-note svg{width:20px;height:20px;flex-shrink:0;margin-top:2px}.vehicle-info-note strong{font-weight:600}.modal-vehicle-change-form{padding:20px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;flex:1;min-height:0}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:#333}.form-group .photo-count{font-weight:400;color:#666;font-size:12px}.form-input,.form-textarea{padding:12px;border:1px solid #ddd;border-radius:8px;font-size:16px;font-family:inherit;outline:none;transition:border-color .2s}.form-input:focus,.form-textarea:focus{border-color:#0c3a61}.form-textarea{resize:vertical;min-height:60px}.photos-instruction{font-size:13px;color:#666;margin:0;padding:8px 12px;background-color:#e8f4fd;border-radius:6px;border-left:3px solid #0c3a61}.photo-input{display:none}.photos-positions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.photo-position-slot{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;border:2px dashed #ccc;background-color:#f8f9fa}.photo-position-slot.has-photo{border:2px solid #27ae60}.photo-position-slot img{width:100%;height:100%;object-fit:cover}.photo-position-slot .photo-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background-color:rgba(231,76,60,.9);border:none;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;outline:none;-webkit-tap-highlight-color:transparent;z-index:2}.photo-position-label{position:absolute;bottom:0;left:0;right:0;background-color:rgba(0,0,0,.7);color:#fff;font-size:9px;padding:2px 4px;text-align:center;font-weight:600}.photo-position-button{width:100%;height:100%;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#666;outline:none;-webkit-tap-highlight-color:transparent;padding:4px}.photo-position-button:active:not(:disabled){background-color:#e8f4fd}.photo-position-button:disabled{cursor:not-allowed;opacity:.6}.photo-position-button svg{width:20px;height:20px;color:#0c3a61}.photo-position-button .position-name{font-size:9px;font-weight:600;text-align:center;line-height:1.1;color:#333}.photo-position-button .capturing{font-size:16px;color:#0c3a61}.modal-vehicle-change-footer{padding:16px 20px;border-top:1px solid #e0e0e0;display:flex;gap:12px;flex-shrink:0}.btn-cancel,.btn-submit{flex:1;padding:14px 20px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s;outline:none;-webkit-tap-highlight-color:transparent}.btn-cancel{background-color:#e9ecef;color:#333}.btn-cancel:active:not(:disabled){background-color:#dee2e6}.btn-submit{background-color:#27ae60;color:#fff}.btn-submit:active:not(:disabled){background-color:#219a52}.btn-submit:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.photos-supp-container{display:flex;flex-wrap:wrap;gap:8px}.photo-supp-slot{position:relative;width:70px;height:70px;border-radius:8px;overflow:hidden;border:2px solid #f39c12}.photo-supp-slot img{width:100%;height:100%;object-fit:cover}.photo-supp-slot .photo-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background-color:rgba(231,76,60,.9);border:none;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;outline:none;-webkit-tap-highlight-color:transparent;z-index:2}.photo-supp-label{position:absolute;bottom:0;left:0;right:0;background-color:rgba(243,156,18,.9);color:#fff;font-size:8px;padding:2px 4px;text-align:center;font-weight:600}.photo-supp-add-button{width:70px;height:70px;border:2px dashed #f39c12;border-radius:8px;background:#fef9e7;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#f39c12;outline:none;-webkit-tap-highlight-color:transparent;transition:background-color .2s}.photo-supp-add-button:active:not(:disabled){background-color:#fef3c7}.photo-supp-add-button:disabled{cursor:not-allowed;opacity:.6}.photo-supp-add-button span{font-size:10px;font-weight:600}.photo-supp-add-button .capturing{font-size:14px}.vehicle-autocomplete{position:relative;width:100%}.vehicle-autocomplete-input-wrapper{display:flex;gap:8px}.vehicle-autocomplete-input{flex:1;padding:12px 14px;font-size:16px;border:1px solid #ddd;border-radius:8px;text-transform:uppercase;letter-spacing:1px}.vehicle-autocomplete-input:focus{outline:none;border-color:#0c3a61;box-shadow:0 0 0 2px rgba(12,58,97,.1)}.vehicle-autocomplete-input:disabled{background-color:#e9ecef;cursor:not-allowed}.vehicle-autocomplete-input::placeholder{text-transform:uppercase;color:#999;letter-spacing:1px}.vehicle-autocomplete-scan-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:#0c3a61;color:#fff;border:none;border-radius:8px;cursor:pointer;flex-shrink:0}.vehicle-autocomplete-scan-btn:hover:not(:disabled){background-color:#0a2d4d}.vehicle-autocomplete-scan-btn:disabled{background-color:#ccc;cursor:not-allowed}.vehicle-autocomplete-loading{padding:10px 14px;color:#666;font-size:14px;background-color:#f8f9fa;border:1px solid #ddd;border-top:none;border-radius:0 0 8px 8px}.vehicle-autocomplete-suggestions{position:absolute;top:100%;left:0;right:0;background-color:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 8px 8px;box-shadow:0 4px 12px rgba(0,0,0,.1);list-style:none;margin:0;padding:0;z-index:100;max-height:200px;overflow-y:auto}.vehicle-autocomplete-suggestion{padding:12px 14px;cursor:pointer;border-bottom:1px solid #f0f0f0}.vehicle-autocomplete-suggestion:last-child{border-bottom:none;border-radius:0 0 8px 8px}.vehicle-autocomplete-suggestion:hover{background-color:#f5f5f5}.vehicle-suggestion-main{display:flex;align-items:center;gap:10px}.vehicle-suggestion-plate{font-weight:600;color:#0c3a61;font-size:15px;letter-spacing:1px}.vehicle-suggestion-model{color:#666;font-size:14px}.vehicle-suggestion-assignee{margin-top:4px;font-size:12px;color:#f57c00}.materiel-page{min-height:100vh;background-color:#f5f5f5;display:flex;flex-direction:column;padding-bottom:80px}.materiel-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;background-color:#0c3a61;color:#fff;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.materiel-header .headerContent{display:flex;justify-content:space-between;align-items:center}.materiel-header .title{font-size:24px;font-weight:700;margin:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.materiel-header .header-buttons{display:flex;align-items:center;gap:10px}.materiel-header .qrButton{background-color:rgba(255,255,255,.1);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .3s;outline:none;-webkit-tap-highlight-color:transparent;color:#fff}.materiel-header .qrButton:active:not(:disabled){background-color:#2563eb}.materiel-header .qrButton:disabled{background-color:rgba(59,130,246,.5);cursor:not-allowed}.materiel-header .reloadButton{background-color:rgba(255,255,255,.1);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .3s;outline:none;-webkit-tap-highlight-color:transparent}.materiel-header .reloadButton:active{background-color:rgba(255,255,255,.2)}.materiel-header .reloadButton.spinning img{animation:spin 1s linear infinite}.materiel-main{flex:1;padding:20px}.loading-message{text-align:center;padding:40px;color:#666;font-size:16px}.empty-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999}.empty-icon{width:64px;height:64px;margin-bottom:16px;opacity:.5}.empty-message p{font-size:16px;margin:0}.transferts-list{display:flex;flex-direction:column;gap:0}.section-title{font-size:16px;font-weight:600;color:#333;margin:0 0 12px}.vehicule-section{margin-bottom:24px}.vehicule-card{background-color:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;justify-content:space-between;align-items:center;gap:12px}.vehicule-info{display:flex;align-items:center;gap:12px}.vehicule-icon{width:48px;height:48px;background-color:#e8f4fd;border-radius:10px;display:flex;align-items:center;justify-content:center}.vehicule-icon svg{width:28px;height:28px;color:#0c3a61}.vehicule-details{display:flex;flex-direction:column;gap:2px}.vehicule-marque{font-size:15px;font-weight:600;color:#333}.vehicule-immat{font-size:13px;color:#666;font-family:monospace;letter-spacing:1px}.btn-retour-depot{background-color:#f59e0b;color:#fff;border:none;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;transition:background-color .2s}.btn-retour-depot:active:not(:disabled){background-color:#d97706}.btn-retour-depot:disabled{background-color:#9ca3af;cursor:not-allowed}.btn-retour-depot svg{width:16px;height:16px}.transferts-section{margin-top:8px}.modal-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-confirm-content{background-color:#fff;border-radius:12px;width:100%;max-width:340px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.15)}.modal-confirm-header{padding:16px 20px;background-color:#0c3a61;color:#fff}.modal-confirm-header h3{margin:0;font-size:18px;font-weight:600}.modal-confirm-body{padding:20px}.modal-confirm-body p{margin:0 0 12px;color:#333;line-height:1.5}.modal-confirm-body p:last-child{margin-bottom:0}.modal-confirm-info{font-size:13px;color:#666;background-color:#f5f5f5;padding:10px 12px;border-radius:6px}.modal-confirm-footer{padding:12px 20px 20px;display:flex;gap:10px}.modal-confirm-footer .btn-cancel{flex:1;background-color:#e5e7eb;color:#374151;border:none;border-radius:8px;padding:12px;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s}.modal-confirm-footer .btn-cancel:active:not(:disabled){background-color:#d1d5db}.modal-confirm-footer .btn-confirm{flex:1;background-color:#f59e0b;color:#fff;border:none;border-radius:8px;padding:12px;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s}.modal-confirm-footer .btn-confirm:active:not(:disabled){background-color:#d97706}.modal-confirm-footer button:disabled{opacity:.6;cursor:not-allowed}.modal-vehicle-input-content{background-color:#fff;border-radius:12px;width:100%;max-width:380px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.15)}.modal-vehicle-input-body{padding:20px}.modal-vehicle-input-info{margin:0 0 16px;color:#666;font-size:14px;line-height:1.5}.modal-vehicle-verifying{margin-top:12px;padding:10px;background-color:#e8f4fd;border-radius:6px;color:#0c3a61;font-size:14px;text-align:center}.pointage-page{display:flex;flex-direction:column;min-height:100vh;background-color:#f5f5f5}.pointage-header{display:flex;align-items:center;padding:15px 20px;background-color:#0c3a61;color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:100}.pointage-back-button{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;margin-right:15px;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.pointage-title{margin:0;font-size:20px;font-weight:600}.pointage-main{flex:1;padding:20px 20px 100px}.pointage-cards{margin-top:15px;display:flex;flex-direction:column;gap:20px}.pointage-card{background-color:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.pointage-card h3{margin:0 0 15px;color:#0c3a61;font-size:18px;font-weight:600}.pointage-card-adresse{background-color:#e3f2fd;border:1px solid #90caf9}.pointage-card-adresse h3{color:#1565c0}.pointage-adresse-info{margin:0 0 10px;color:#666;font-size:14px}.pointage-address-link{display:block;color:#1976d2;text-decoration:none;font-weight:500;font-size:16px;padding:10px 15px;background-color:#fff;border-radius:8px;border:1px solid #90caf9}.pointage-address-link:hover{background-color:#f5f5f5}.pointage-card-done{background-color:#e8f5e9;border:1px solid #a5d6a7}.pointage-card-disabled{opacity:.7;background-color:#f0f0f0}.pointage-card-disabled h3{color:#999}.pointage-disabled-message{padding:12px 16px;margin-bottom:15px;background-color:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;font-size:14px;text-align:center}.pointage-info{display:flex;align-items:center;gap:10px;margin-bottom:15px}.pointage-info-label{font-weight:600;color:#333;font-size:14px}.pointage-info-value{color:#666;font-size:16px}.pointage-done-badge{display:inline-block;padding:8px 20px;background-color:#28a745;color:#fff;border-radius:20px;font-size:14px;font-weight:500}.pointage-warning{padding:15px 20px;margin-bottom:20px;background-color:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;text-align:center}.pointage-loading{padding:40px 20px;text-align:center;color:#666;font-size:16px}.pointage-releve{margin-bottom:20px;padding:15px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.pointage-releve-photo{margin-bottom:20px}.pointage-releve-label{display:block;margin-bottom:10px;font-weight:500;color:#333;font-size:14px}.pointage-photo-button{width:100%;padding:14px 20px;background-color:#2196f3;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:background-color .2s}.pointage-photo-button:hover:not(:disabled){background-color:#1976d2}.pointage-photo-button:disabled{background-color:#ccc;cursor:not-allowed}.pointage-photo-preview{margin-top:15px;max-width:100%;max-height:200px;border-radius:8px;border:1px solid #ddd;display:block}.pointage-releve-km{margin-bottom:0}.pointage-km-input{width:100%;padding:14px;font-size:16px;border:1px solid #ddd;border-radius:8px;box-sizing:border-box}.pointage-km-input:focus{outline:none;border-color:#0c3a61;box-shadow:0 0 0 2px rgba(12,58,97,.1)}.pointage-km-input::placeholder{color:#999}.pointage-km-input:disabled{background-color:#e9ecef;cursor:not-allowed}.pointage-button{width:100%;padding:16px 20px;border:none;border-radius:8px;font-weight:600;font-size:16px;cursor:pointer;transition:background-color .2s;background-color:#0c3a61;color:#fff}.pointage-button:hover:not(:disabled){background-color:#0a2d4d}.pointage-button:disabled{opacity:.6;cursor:not-allowed}.pointage-vehicle-section{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.pointage-vehicle-label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}.pointage-vehicle-verified{margin-top:12px;padding:12px;background-color:#e8f5e9;border:1px solid #a5d6a7;border-radius:8px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.verified-badge{background-color:#28a745;color:#fff;font-size:11px;font-weight:600;padding:4px 8px;border-radius:12px;text-transform:uppercase}.verified-plate{font-family:monospace;font-weight:600;font-size:15px;color:#0c3a61;background-color:#fff;padding:2px 8px;border-radius:4px;letter-spacing:1px}.verified-model{font-size:13px;color:#666}.pointage-toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background-color:#0c3a61;color:#fff;padding:10px 20px;border-radius:8px;font-size:14px;z-index:9999;animation:toast-fade 2s ease-in-out}@keyframes toast-fade{0%{opacity:0;transform:translate(-50%) translateY(10px)}15%{opacity:1;transform:translate(-50%) translateY(0)}85%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-10px)}}.photo-button{display:flex;flex-direction:column;align-items:center;gap:4px}.capture-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:82px;height:90px;border:2px dashed #d1d5db;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;padding:8px}.capture-button.clickable:active{transform:scale(.95)}.capture-button:disabled{cursor:not-allowed;opacity:.6}.photo-button.success .capture-button{border-color:#10b981;border-style:solid;background:#d1fae5;cursor:default}.photo-button.uploading .capture-button,.photo-button.pending .capture-button{border-color:#f59e0b;border-style:solid;background:#fef3c7}.photo-button.error .capture-button{border-color:#ef4444;border-style:solid;background:#fee2e2}.status-icon{width:28px;height:28px;margin-bottom:4px}.status-icon.success{color:#10b981}.status-icon.error{color:#ef4444}.status-icon.camera{color:#6b7280}.spinner-small{width:24px;height:24px;border:3px solid rgba(245,158,11,.3);border-top-color:#f59e0b;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:4px}.button-label{font-size:11px;color:#374151;text-align:center;line-height:1.2;max-width:80px;word-wrap:break-word}.retry-button{margin-top:4px;font-size:11px;color:#ef4444;background:none;border:none;cursor:pointer;text-decoration:underline;padding:2px 4px}.retry-button:active{opacity:.7}.photo-options-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.photo-options-modal{background:#fff;border-radius:16px 16px 0 0;padding:20px;width:100%;max-width:400px;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.photo-options-title{font-size:16px;font-weight:600;color:#374151;text-align:center;margin:0 0 16px}.photo-option-btn{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:none;border-radius:12px;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s;margin-bottom:8px}.photo-option-btn svg{width:24px;height:24px;flex-shrink:0}.photo-option-btn.camera{background:#0c3a61;color:#fff}.photo-option-btn.camera:active{background:#0a2d4d}.photo-option-btn.gallery{background:#f3f4f6;color:#374151}.photo-option-btn.gallery:active{background:#e5e7eb}.photo-option-btn.cancel{background:transparent;color:#6b7280;justify-content:center;margin-bottom:0}.photo-option-btn.cancel:active{background:#f3f4f6}.photo-group{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.photo-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.photo-group-header h3{margin:0;font-size:16px;font-weight:600;color:#1f2937}.remove-group-button{display:flex;align-items:center;gap:4px;padding:6px 10px;background:#fee2e2;border:none;border-radius:6px;font-size:12px;color:#ef4444;cursor:pointer;transition:all .2s}.remove-group-button:active{background:#fecaca}.remove-group-button svg{width:14px;height:14px}.photo-buttons-row{display:flex;justify-content:space-around;gap:8px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.photo-group{animation:slideIn .2s ease-out}.photo-group.optional{background:#fffbeb;border:1px dashed #f59e0b}.photo-group.optional .photo-group-header h3{color:#b45309;font-weight:500}.photo-group.optional .photo-group-header h3:after{content:" (si pas d'évacuation)";font-size:11px;font-weight:400;color:#d97706}.affiche-page{display:flex;flex-direction:column;min-height:100vh;background:#f5f5f5}.affiche-header{display:flex;align-items:center;padding:16px;background:#0c3a61;color:#fff;gap:12px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.back-button{background:none;border:none;color:#fff;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.back-button svg{width:24px;height:24px}.affiche-header h1{flex:1;margin:0;font-size:16px;font-weight:600}.upload-indicator{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.2);padding:6px 12px;border-radius:20px;font-size:14px}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fee2e2;color:#dc2626;font-size:14px}.error-banner button{background:none;border:none;color:#dc2626;font-weight:700;cursor:pointer;padding:4px 8px}.connection-status{padding:12px 16px;background:#fef3c7;color:#d97706;text-align:center;font-size:14px}.affiche-content{flex:1;padding:16px 16px 120px;overflow-y:auto}.address-info-section{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.address-info-content{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.address-info-text{flex:1;min-width:0}.address-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-weight:500;display:block;margin-bottom:6px}.address-main{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 4px;line-height:1.3}.address-complement{font-size:14px;color:#6b7280;margin:0 0 4px;font-style:italic}.address-city{font-size:14px;color:#4b5563;margin:0}.copy-button{display:flex;flex-direction:column;align-items:center;gap:4px;background:#f3f4f6;border:none;padding:10px 14px;border-radius:10px;cursor:pointer;transition:all .2s;color:#4b5563;flex-shrink:0}.copy-button:active{background:#e5e7eb;transform:scale(.95)}.copy-button.copied{background:#d1fae5;color:#059669}.copy-button span{font-size:11px;font-weight:500}.mode-remise-section{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.mode-remise-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-weight:500;display:block;margin-bottom:12px}.mode-remise-buttons{display:flex;gap:8px}.mode-remise-btn{flex:1;padding:12px 8px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;color:#4b5563;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;text-align:center}.mode-remise-btn:active{transform:scale(.97)}.mode-remise-btn.active{border-color:#0c3a61;background:#e8f4fd;color:#0c3a61;font-weight:600}.section-group{margin-top:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header.collapsible{cursor:pointer;padding:12px;margin:0 -12px 12px;background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:background-color .2s ease}.section-header.collapsible:active{background:#f3f4f6}.section-title-row{display:flex;align-items:center;gap:8px}.toggle-icon{font-size:12px;color:#6b7280;transition:transform .3s ease}.toggle-icon.expanded{transform:rotate(0)}.toggle-icon:not(.expanded){transform:rotate(-90deg)}.section-header h2{margin:0;font-size:14px;font-weight:600;color:#6b7280;letter-spacing:.5px}.add-button{background:#10b981;color:#fff;border:none;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.add-button:active{background:#059669;transform:scale(.98)}.affiche-footer{position:fixed;bottom:0;left:0;right:0;padding:16px;background:#fff;box-shadow:0 -2px 10px rgba(0,0,0,.1);z-index:100}.complete-button{width:100%;padding:16px;font-size:18px;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:all .2s}.complete-button.enabled{background:#10b981;color:#fff}.complete-button.enabled:active{background:#059669;transform:scale(.98)}.complete-button.disabled{background:#d1d5db;color:#6b7280;cursor:not-allowed}.missing-info{text-align:center;color:#6b7280;font-size:13px;margin:8px 0 0}.section-group:empty{display:none}.complete-button.enabled:disabled{opacity:.7}.confirm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.confirm-modal{background:#fff;border-radius:16px;padding:24px;width:100%;max-width:340px;box-shadow:0 10px 40px rgba(0,0,0,.2)}.confirm-modal h3{margin:0 0 12px;font-size:18px;font-weight:600;color:#1f2937}.confirm-modal>p{margin:0 0 16px;font-size:14px;color:#4b5563;line-height:1.5}.confirm-modal-details{background:#f9fafb;border-radius:10px;padding:12px 14px;margin-bottom:20px;display:flex;flex-direction:column;gap:6px}.confirm-modal-details span{font-size:13px;color:#4b5563}.confirm-modal-details strong{color:#1f2937}.confirm-modal-actions{display:flex;gap:12px}.confirm-modal-btn{flex:1;padding:14px 16px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.confirm-modal-btn:active{transform:scale(.97)}.confirm-modal-btn.cancel{background:#f3f4f6;color:#4b5563}.confirm-modal-btn.cancel:active{background:#e5e7eb}.confirm-modal-btn.confirm{background:#10b981;color:#fff}.confirm-modal-btn.confirm:active{background:#059669}.echec-button{background:#dc2626;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;margin-left:auto}.echec-button:active{background:#b91c1c;transform:scale(.95)}.echec-modal .echec-textarea{width:100%;padding:12px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;resize:none;font-family:inherit;margin-bottom:8px;box-sizing:border-box}.echec-modal .echec-textarea:focus{outline:none;border-color:#dc2626}.echec-modal .echec-char-count{font-size:12px;color:#6b7280;margin-bottom:16px;text-align:right}.confirm-modal-btn.echec{background:#dc2626;color:#fff}.confirm-modal-btn.echec:active{background:#b91c1c}.confirm-modal-btn.echec:disabled{background:#fca5a5;cursor:not-allowed}.commentaire-section{background:#fff;border-radius:12px;padding:16px;margin-top:24px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.commentaire-section h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.commentaire-textarea{width:100%;padding:12px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;resize:none;font-family:inherit;box-sizing:border-box;transition:border-color .2s}.commentaire-textarea:focus{outline:none;border-color:#0c3a61}.commentaire-textarea:disabled{background:#f3f4f6;color:#9ca3af}
