*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#f5f7fa;color:#333}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:40px 20px;text-align:center;box-shadow:0 4px 15px #0000001a}.header-content{max-width:1200px;margin:0 auto}.logo{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:10px}.logo-icon{font-size:40px}.logo h1{font-size:32px;font-weight:700}.subtitle{font-size:16px;opacity:.9;margin-top:5px}.nav{background:#fff;padding:20px;border-bottom:1px solid #e0e0e0;display:flex;gap:10px;justify-content:center;flex-wrap:wrap;box-shadow:0 2px 8px #0000000d}.nav-btn{padding:12px 24px;border:2px solid #e0e0e0;background:#fff;color:#667eea;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease}.nav-btn:hover{border-color:#667eea;background:#f0f4ff}.nav-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:40px 20px}.tab-content h2{font-size:28px;margin-bottom:30px;color:#333}.spinner{width:50px;height:50px;border:4px solid #f0f0f0;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.stat-card{background:#fff;padding:30px;border-radius:12px;box-shadow:0 2px 12px #00000014;border-left:4px solid #667eea}.stat-card h3{font-size:14px;color:#999;font-weight:600;margin-bottom:10px;text-transform:uppercase}.stat-number{font-size:32px;font-weight:700;color:#667eea}.stat-status{font-size:18px;color:#667eea;font-weight:600}.quick-view{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:40px}.quick-section{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 12px #00000014}.quick-section h3{font-size:16px;margin-bottom:15px;color:#333;font-weight:600}.item-list{display:flex;flex-direction:column;gap:10px}.item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f9fafb;border-radius:8px;font-size:14px}.item-id{font-weight:600;color:#667eea}.item-name{font-weight:600;color:#333}.item-status,.item-rating{color:#666;font-size:13px}.empty{color:#999;text-align:center;padding:20px;font-style:italic}.table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #00000014;overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:#f9fafb;border-bottom:2px solid #e0e0e0}.data-table th{padding:15px;text-align:left;font-weight:600;color:#333;font-size:13px;text-transform:uppercase}.data-table td{padding:15px;border-bottom:1px solid #f0f0f0;font-size:14px}.data-table tr:hover{background:#f9fafb}.id,.price{color:#667eea;font-weight:600}.status{display:inline-block;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.status.en_attente{background:#fff3cd;color:#856404}.status.en_cours{background:#d1ecf1;color:#0c5460}.status.livre{background:#d4edda;color:#155724}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.livreur-card{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 12px #00000014;border-top:4px solid #667eea}.livreur-card h3{font-size:18px;margin-bottom:10px;color:#333}.phone{color:#667eea;font-size:14px;margin-bottom:15px}.livreur-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.livreur-stats>div{text-align:center;padding:10px;background:#f9fafb;border-radius:8px}.livreur-stats strong{display:block;font-size:12px;color:#666;margin-bottom:5px;text-transform:uppercase}.livreur-stats p{font-size:16px;font-weight:700;color:#667eea}.empty-state{background:#fff;padding:60px 20px;border-radius:12px;text-align:center;box-shadow:0 2px 12px #00000014}.empty-state p{font-size:18px;color:#999}.footer{background:#2c3e50;color:#fff;text-align:center;padding:20px;margin-top:40px}.footer p{font-size:14px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:15px}.section-header h2{margin:0}.btn-add{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:14px}.btn-add:hover{transform:translateY(-2px);box-shadow:0 8px 16px #667eea66}.form-card{background:#fff;padding:30px;border-radius:12px;box-shadow:0 2px 12px #00000014;margin-bottom:30px;border-left:4px solid #667eea}.form-card h3{margin-top:0;margin-bottom:20px;color:#333;font-size:18px}.form-group{margin-bottom:20px;display:flex;flex-direction:column}.form-group label{font-weight:600;margin-bottom:8px;color:#333;font-size:14px}.form-group input{padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:all .3s ease;font-family:inherit}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder{color:#999}.btn-submit{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:14px;transition:all .3s ease;width:100%}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 8px 16px #667eea66}.btn-submit:active{transform:translateY(0)}.hint{font-style:italic;color:#999;margin-top:10px;font-size:14px}@media (max-width: 768px){.header{padding:30px 15px}.logo h1{font-size:24px}.logo-icon{font-size:32px}.stats-grid{grid-template-columns:1fr}.data-table{font-size:12px}.data-table th,.data-table td{padding:10px}.cards-grid,.livreur-stats{grid-template-columns:1fr}}.tracking-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.tracking-header{text-align:center;color:#fff;margin-bottom:30px}.tracking-header h1{font-size:32px;margin-bottom:10px}.tracking-id{font-size:18px;opacity:.9}.tracking-content{max-width:600px;margin:0 auto}.status-card{background:#fff;border-radius:15px;padding:30px;margin-bottom:20px;box-shadow:0 10px 30px #0003}.status-badge{display:inline-block;padding:10px 20px;border-radius:20px;font-weight:600;font-size:16px;margin-bottom:20px}.status-badge.en_attente{background:#fff3cd;color:#856404}.status-badge.en_cours{background:#d1ecf1;color:#0c5460}.status-badge.livre{background:#d4edda;color:#155724}.route-info{display:flex;align-items:center;justify-content:space-around;gap:20px;margin-top:20px}.location{text-align:center;flex:1}.location .label{color:#666;font-size:12px;margin-bottom:5px}.location .value{font-size:18px;font-weight:600;color:#333}.arrow{font-size:24px;color:#667eea}.timeline{position:relative;padding:20px 0}.timeline-item{display:flex;margin-bottom:30px;opacity:.5}.timeline-item.completed{opacity:1}.timeline-dot{width:12px;height:12px;background:#667eea;border-radius:50%;margin-top:5px;margin-right:20px;flex-shrink:0}.timeline-item.completed .timeline-dot{background:#4caf50;width:20px;height:20px;margin-top:0}.timeline-content h4{margin:0 0 5px;color:#333}.timeline-content p{margin:0;color:#666;font-size:14px}.driver{color:#667eea;font-weight:600;margin-top:5px}.details-card,.contact-card{background:#fff;border-radius:12px;padding:20px;margin-top:20px;box-shadow:0 2px 12px #00000014}.detail-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eee}.detail-row:last-child{border-bottom:none}.detail-row .label{color:#666;font-weight:600}.detail-row .value{color:#333;font-weight:600}.status-badge-small{padding:4px 12px;border-radius:12px;font-size:12px}.contact-card h3{margin-top:0}.btn-contact{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;margin-top:10px}.btn-contact:hover{transform:translateY(-2px);box-shadow:0 8px 16px #667eea66}.signature-pad{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 12px #00000014}.signature-pad h3{margin-top:0;color:#333}.hint{color:#666;font-size:14px;margin-bottom:15px}.signature-canvas{border:2px solid #ddd;border-radius:8px;background:#fff;display:block;width:100%;max-width:400px;height:200px;cursor:crosshair;margin:0 auto 15px}.signature-buttons{display:flex;gap:10px;justify-content:center}.btn-clear,.btn-save{padding:10px 20px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-clear{background:#f0f0f0;color:#333}.btn-clear:hover{background:#ddd}.btn-save{background:#4caf50;color:#fff}.btn-save:hover{background:#45a049;transform:translateY(-2px)}.signature-preview{margin-top:20px;text-align:center}.signature-preview p{color:#4caf50;font-weight:600;margin-bottom:10px}.signature-preview img{border:2px solid #4caf50;border-radius:8px;max-width:100%}.livreur-dashboard{min-height:100vh;background:#f5f7fa;padding:20px}.dashboard-header{text-align:center;margin-bottom:30px}.dashboard-header h1{font-size:28px;color:#333;margin-bottom:5px}.dashboard-header p{color:#666}.dashboard-content{max-width:1000px;margin:0 auto}.livreur-selector{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 2px 12px #00000014}.livreur-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:15px}.livreur-btn{padding:15px;background:#f9fafb;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;text-align:left;transition:all .3s ease}.livreur-btn:hover{border-color:#667eea;background:#f0f4ff}.livreur-btn.active{background:#667eea;color:#fff;border-color:#667eea}.livreur-btn .name{display:block;font-weight:600;margin-bottom:5px}.livreur-btn .stats{font-size:12px;opacity:.8}.livreur-info{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 2px 12px #00000014}.livreur-info h3{margin-top:0;font-size:22px;color:#333}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-top:15px}.info-grid>div{text-align:center;padding:15px;background:#f9fafb;border-radius:8px}.info-grid strong{display:block;color:#666;font-size:12px;margin-bottom:5px}.info-grid p{font-size:18px;font-weight:700;color:#667eea;margin:0}.parcels-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 12px #00000014}.parcels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px;margin-top:15px}.parcel-card{border:2px solid #e0e0e0;border-radius:8px;padding:15px;background:#fff;transition:all .3s ease}.parcel-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea33}.parcel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.parcel-header h4{margin:0;color:#333}.parcel-details{margin-bottom:15px;padding:10px 0;border-top:1px solid #eee;border-bottom:1px solid #eee}.parcel-details p{margin:8px 0;font-size:14px;color:#333}.route{margin-bottom:10px}.price{color:#667eea;font-weight:600}.parcel-actions{display:flex;gap:10px}.btn-action{flex:1;padding:10px;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:12px;transition:all .3s ease}.btn-start{background:#4caf50;color:#fff}.btn-start:hover{background:#45a049}.btn-sign{background:#2196f3;color:#fff}.btn-sign:hover{background:#0b7dda}.delivered-badge{text-align:center;padding:10px;background:#d4edda;color:#155724;border-radius:6px;font-weight:600;font-size:12px}.empty{text-align:center;color:#999;padding:20px}.signature-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:30px;max-width:500px;width:90%;position:relative;box-shadow:0 10px 40px #0000004d}.close-btn{position:absolute;top:15px;right:15px;background:none;border:none;font-size:28px;cursor:pointer;color:#666}.close-btn:hover{color:#333}.error-message{background:#fff;border-radius:12px;padding:40px;text-align:center;box-shadow:0 2px 12px #00000014}.error-message p{color:#d32f2f;font-size:16px;margin:10px 0}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px}.spinner{width:50px;height:50px;border:4px solid rgba(0,0,0,.1);border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.parcels-grid{grid-template-columns:1fr}.info-grid{grid-template-columns:repeat(2,1fr)}.signature-canvas{height:150px}}
