.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}.page-title{font-size:22px;font-weight:700;color:#111;margin-bottom:4px;display:flex;align-items:center;gap:10px}.page-title i{font-size:18px;color:#f5c518}.page-sub{font-size:13px;color:#999;margin-left:28px}.btn-refresh{display:inline-flex;align-items:center;gap:8px;padding:0 24px;height:44px;background:#111;border:none;border-radius:10px;font-family:Jost,sans-serif;font-weight:700;font-size:14px;color:#fff;cursor:pointer;transition:background .18s;white-space:nowrap;letter-spacing:.01em}.btn-refresh:hover:not(:disabled){background:#2d2d2d}.btn-refresh:disabled{opacity:.4;cursor:not-allowed}.btn-refresh i{font-size:14px}.fa-spin{animation:admin-spin .8s linear infinite}@keyframes admin-spin{to{transform:rotate(360deg)}}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-box{background:#fff;border-radius:12px;padding:20px 22px;display:flex;align-items:center;gap:16px;border:1px solid #f0f0f0;transition:box-shadow .2s}.stat-box:hover{box-shadow:0 4px 16px #0000000f}.stat-box__icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.stat-box--total .stat-box__icon{background:#eff6ff;color:#3b82f6}.stat-box--pending .stat-box__icon{background:#fefce8;color:#ca8a04}.stat-box--confirmed .stat-box__icon{background:#f0fdf4;color:#16a34a}.stat-box--cancelled .stat-box__icon{background:#fef2f2;color:#dc2626}.stat-box__val{font-size:28px;font-weight:700;color:#111;line-height:1;margin-bottom:3px}.stat-box__lbl{font-size:12px;font-weight:500;color:#999;text-transform:uppercase;letter-spacing:.05em}.filters-bar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.search-box{flex:1;min-width:220px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:0 14px;height:42px;transition:border-color .18s}.search-box:focus-within{border-color:#f5c518}.search-box i{color:#ccc;font-size:13px;flex-shrink:0}.search-box input{border:none;outline:none;font-size:13px;color:#111;width:100%;background:transparent;font-family:Jost,sans-serif}.search-box input::placeholder{color:#bbb}.filter-select{height:42px;padding:0 14px;border:1px solid #e8e8e8;border-radius:8px;font-size:13px;color:#555;background:#fff;cursor:pointer;outline:none;font-family:Jost,sans-serif;font-weight:500;transition:border-color .18s}.filter-select:focus{border-color:#f5c518}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:16px;display:flex;align-items:center;gap:8px;font-weight:500}.alert-info{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:16px;display:flex;align-items:center;gap:8px;font-weight:500;cursor:pointer}.table-card{background:#fff;border-radius:12px;border:1px solid #f0f0f0;overflow:hidden;box-shadow:0 1px 4px #0000000a}.table-wrap{overflow-x:auto}.loader{padding:64px 20px;text-align:center;color:#999;font-size:14px}.loader i{color:#ccc;margin-right:8px}.empty-state{padding:64px 20px;text-align:center;color:#bbb}.empty-state i{font-size:40px;display:block;margin-bottom:12px;opacity:.4}.empty-state p{font-size:14px}.table-card table{width:100%;border-collapse:separate;border-spacing:0}.table-card thead th{padding:10px 14px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#8b8fa3;border-bottom:1px solid #eef0f4;text-align:left;white-space:nowrap;position:sticky;top:0;background:#fff;z-index:1}.table-card tbody td{padding:14px;font-size:13px;color:#3a3f50;border-bottom:1px solid #f4f5f7;vertical-align:middle}.table-card tbody tr:last-child td{border-bottom:none}.table-card tbody tr{transition:background .12s}.table-card tbody tr:hover{background:#fafbfd}.ref{font-family:SFMono-Regular,Consolas,monospace;font-size:11px;color:#6c5ce7;background:#f0effe;padding:3px 8px;border-radius:4px;letter-spacing:.02em;white-space:nowrap}.client-cell{display:flex;align-items:center;gap:10px}.client-type-badge{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;color:#6c5ce7;background:#f0effe;flex-shrink:0}.client-type-badge.corporate{color:#e17055;background:#ffeee8}.client-name{font-size:13px;font-weight:600;color:#2d3142;margin:0;line-height:1.3}.client-sub{font-size:11px;color:#8b8fa3;margin:0}.client-sub strong{color:#e17055;font-weight:600}.client-type{font-size:11px;color:#bbb;text-transform:capitalize;margin-top:1px}.bus-cell{display:flex;flex-direction:column;gap:2px}.bus-name{font-size:13px;font-weight:600;color:#2d3142}.bus-plate{font-family:SFMono-Regular,Consolas,monospace;font-size:10px;color:#8b8fa3;letter-spacing:.04em}.loc-chip{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.loc-demi{background:#fff8e1;color:#f59e0b}.loc-journee{background:#e8f5e9;color:#2e7d32}.loc-dispo{background:#e3f2fd;color:#1565c0}.trajet-line{font-size:12px;color:#3a3f50;white-space:nowrap}.trajet-line i{margin:0 6px;font-size:10px;color:#bfc3d1}.date-main{font-size:13px;color:#2d3142;font-weight:500}.date-line{font-size:13px;font-weight:600;color:#111}.time-line{font-size:11px;color:#bbb;margin-top:2px}.duree-pill{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:700;background:#f0effe;color:#6c5ce7;vertical-align:middle}.contact-line{display:flex;align-items:center;gap:6px;font-size:12px;color:#888;margin-bottom:3px;white-space:nowrap}.contact-line:last-child{margin-bottom:0}.contact-line i{font-size:10px;color:#ccc;width:10px;flex-shrink:0}.pax{font-size:12px;color:#888;font-weight:500;margin-bottom:2px}.pax:last-child{margin-bottom:0}.status-dot{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;white-space:nowrap}.status-dot:before{content:"";width:8px;height:8px;border-radius:50%;flex-shrink:0}.s-pending{color:#f59e0b}.s-pending:before{background:#f59e0b}.s-confirmed{color:#2e7d32}.s-confirmed:before{background:#2e7d32}.s-cancelled{color:#d63031}.s-cancelled:before{background:#d63031}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap;letter-spacing:.03em}.status-badge.pending{background:#fefce8;color:#a16207;border:1px solid #fef08a}.status-badge.confirmed{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.status-badge.cancelled{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.action-btns{display:flex;gap:6px;align-items:center}.btn-act{width:32px;height:32px;border-radius:8px;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:13px;transition:transform .15s ease,box-shadow .15s ease}.btn-act:hover{transform:scale(1.1)}.btn-act:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-act--ok{background:#e8f5e9;color:#2e7d32}.btn-act--ok:hover:not(:disabled){box-shadow:0 2px 8px #2e7d324d}.btn-act--no{background:#ffeee8;color:#d63031}.btn-act--no:hover:not(:disabled){box-shadow:0 2px 8px #d630314d}.btn-confirm{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border:1.5px solid #bbf7d0;border-radius:7px;background:#f0fdf4;color:#15803d;font-size:12px;font-weight:600;font-family:Jost,sans-serif;cursor:pointer;transition:all .18s;white-space:nowrap}.btn-confirm:hover:not(:disabled){background:#16a34a;border-color:#16a34a;color:#fff}.btn-confirm:disabled{opacity:.35;cursor:not-allowed}.btn-cancel{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border:1.5px solid #fecaca;border-radius:7px;background:#fef2f2;color:#b91c1c;font-size:12px;font-weight:600;font-family:Jost,sans-serif;cursor:pointer;transition:all .18s;white-space:nowrap}.btn-cancel:hover:not(:disabled){background:#dc2626;border-color:#dc2626;color:#fff}.btn-cancel:disabled{opacity:.35;cursor:not-allowed}.no-action{color:#ddd;font-size:16px}.muted{color:#c8ccd8;font-size:12px}.row-main{cursor:pointer;transition:background .15s ease}.row-main:hover{background:#fafbfd}.row-main.row-expanded{background:#f7f8fb}.td-chevron{width:28px;padding-right:0}.row-chevron{font-size:10px;color:#bfc3d1;transition:transform .2s ease,color .2s ease}.row-chevron.open{transform:rotate(90deg);color:#534ab7}.row-detail td{padding:0 14px 20px 42px;border-bottom:2px solid #eef0f4;background:#fafbfd}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.detail-card{background:#fff;border:1px solid #eef0f4;border-radius:10px;padding:14px 16px}.detail-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#8b8fa3;margin:0 0 10px}.detail-title i{margin-right:6px;color:#6c5ce7;font-size:12px}.detail-line{font-size:13px;color:#3a3f50;margin:0 0 4px}.detail-line i{width:16px;color:#bfc3d1;font-size:12px;margin-right:6px}.detail-row{display:flex;gap:20px}.detail-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#8b8fa3;margin:0 0 2px}.detail-val{font-size:13px;font-weight:500;color:#2d3142;margin:0}.detail-big{font-size:20px;font-weight:700;color:#6c5ce7}.detail-desc{font-size:11px;color:#8b8fa3;font-style:italic;margin:2px 0 0}.pagination{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid #f0f0f0;background:#fafafa;flex-wrap:wrap;gap:8px}.pag-info{font-size:12px;color:#bbb;font-weight:500}.pag-btns{display:flex;gap:6px}.pag-btns button{width:32px;height:32px;border:1px solid #e8e8e8;border-radius:7px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#bbb;font-size:12px;transition:all .18s}.pag-btns button:hover:not(:disabled){border-color:#111;color:#111}.pag-btns button:disabled{opacity:.3;cursor:not-allowed}@media (max-width: 1200px){.detail-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1100px){.stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.detail-grid{grid-template-columns:1fr}.table-card thead th,.table-card tbody td{padding:10px 8px;font-size:12px}}@media (max-width: 600px){.stats-row{grid-template-columns:1fr 1fr;gap:10px}}
