/* TransportPremium v1.15.0 · HAKOM accessible et responsive */
:root{--tp15-blue:#275fda;--tp15-pink:#ec2b91;--tp15-ink:#192a49}
/* Navigation globale rétractable, sans réduire l'espace de la carte de trafic. */
.tp15-sidebar-collapse{margin:0 0 8px auto;position:absolute;right:-13px;top:34px;z-index:40;display:grid;place-items:center;width:27px;height:27px;border-radius:9px;border:1px solid #b6c5e1;background:#fff;color:#233d74;box-shadow:0 5px 15px rgba(22,45,88,.17);font-size:15px;font-weight:800}
@media(min-width:851px){
 body.tp15-sidebar-mini .app-shell{grid-template-columns:76px minmax(0,1fr)}
 body.tp15-sidebar-mini .sidebar{padding:21px 10px}
 body.tp15-sidebar-mini .sidebar-brand{padding:4px 0 22px;justify-content:center}
 body.tp15-sidebar-mini .sidebar-brand>div:not(.sidebar-client-logo){display:none}
 body.tp15-sidebar-mini .sidebar-client-logo{width:43px;min-width:43px;padding:3px}
 body.tp15-sidebar-mini .nav-item{grid-template-columns:1fr;padding:10px 5px;justify-items:center;min-height:43px}
 body.tp15-sidebar-mini .nav-item span{font-size:21px}
 body.tp15-sidebar-mini .nav-item b,body.tp15-sidebar-mini .nav-label,body.tp15-sidebar-mini .sidebar-footer{display:none!important}
 body.tp15-sidebar-mini .sidebar .nav-item{overflow:hidden}
 body.tp15-sidebar-mini .main{min-width:0}
}
@media(max-width:850px){.tp15-sidebar-collapse{display:none}.tp15-sidebar-mini .app-shell{display:block}}
/* Carte Google Maps : outil commun aux interfaces LIVE, Étude, Missions. */
.tp15-google-search{pointer-events:auto;margin:11px auto 0;padding:0 7px;max-width:min(530px,calc(100vw - 24px));width:min(530px,calc(100vw - 24px));font-family:Inter,system-ui,sans-serif}
.tp15-google-search-box{display:flex;align-items:center;background:#fff;border:1px solid #c9d7ed;box-shadow:0 7px 22px rgba(12,34,80,.16);border-radius:13px;min-height:48px;padding:0 5px 0 13px}
.tp15-google-search-box>span{font-size:22px;color:var(--tp15-blue);padding-right:8px}
.tp15-google-search input{min-width:0;flex:1;min-height:43px;padding:8px 2px;color:#18294a;background:transparent;border:0;box-shadow:none!important;font-size:12px;font-weight:650;text-overflow:ellipsis;outline:none}
.tp15-google-search input:focus{border:0!important}
.tp15-google-search input::placeholder{color:#788aa6;opacity:1}
.tp15-google-search button{min-width:39px;min-height:39px;border:0;border-radius:10px;background:var(--tp15-blue);color:#fff;font-size:24px;font-weight:700}
.tp15-google-search button:disabled{opacity:.5}
.tp15-search-hint{display:none;max-width:100%;margin:6px auto 0;background:#fff;color:#17356d;border:1px solid #d5e0f5;border-radius:9px;box-shadow:0 5px 20px #192a4930;font-size:11px;padding:9px 12px;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.tp15-search-hint.is-visible{display:block}
.pac-container{z-index:50000!important;font-family:Inter,Arial,sans-serif}
.tp13-traffic .fleet-live-map{background:#edf3ff}
.tp13-traffic .fleet-title{background:linear-gradient(118deg,#0f203f,#183965)!important}
.tp13-traffic .fleet-drawer{box-shadow:9px 10px 32px rgba(18,39,88,.15)}
.tp13-traffic .fleet-object-list{scrollbar-width:thin;scrollbar-color:#b6c9e3 transparent}
.tp13-traffic .fleet-list-item{transition:background .1s ease;border-left:3px solid transparent}
.tp13-traffic .fleet-list-item.moving{border-left-color:var(--tp15-blue)}
.tp13-traffic .fleet-list-item.stopped{border-left-color:var(--tp15-pink)}
.tp13-traffic .fleet-list-item.moving>i{background:#e9f0ff;color:#244fc1}
.tp13-traffic .fleet-list-item.stopped>i{background:#fff0f6;color:#d91a75}
/* Grand éditeur de missions : aucune saisie masque la carte. */
#modalHost .tp15-editor-modal{width:min(1450px,96vw);max-height:94dvh;display:flex;flex-direction:column;background:#f8fbff!important;color:var(--tp15-ink)!important;border:1px solid #d6dff1;border-radius:22px;overflow:hidden;box-shadow:0 25px 90px #111f4366}
#modalHost .tp15-editor-modal .modal-head{padding:13px 20px;background:#fff;border-bottom:1px solid #dbe3f2;flex-shrink:0}
#modalHost .tp15-editor-modal .modal-head h3{color:var(--tp15-ink);font-size:16px;line-height:1.3;overflow-wrap:anywhere}
#modalHost .tp15-editor-modal .close-btn{color:#4c6285}
#modalHost .tp15-editor-modal .modal-body{padding:0;overflow:auto;min-height:0;flex:1}
#modalHost .tp15-editor-modal .modal-foot{background:#fff;border-top:1px solid #dbe3f2;padding:11px 18px;gap:9px;align-items:center;flex-wrap:wrap;flex-shrink:0}
.tp15-editor{display:grid;grid-template-columns:minmax(300px,410px) minmax(0,1fr);min-height:490px;height:min(72dvh,780px)}
.tp15-editor-side{min-height:0;display:flex;flex-direction:column;overflow:auto;padding:19px;border-right:1px solid #dce5f3;background:#f5f8fe;gap:13px}
.tp15-editor-state{background:#e9efff;color:#274991;padding:12px 14px;border-radius:13px;display:flex;justify-content:space-between;gap:10px;align-items:center}
.tp15-editor-state strong{font-size:11px;letter-spacing:.04em}.tp15-editor-state small{font-size:10px;color:#61749e}
.tp15-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tp15-field{min-width:0;display:grid;align-content:start;gap:6px;color:#506380;font-size:11px;font-weight:850}
.tp15-field input,.tp15-field select{width:100%;min-width:0;min-height:41px;padding:9px 11px;background:#fff;border:1px solid #d4dff0;border-radius:10px;color:#1c2f50;font-weight:700;font-size:12px;box-shadow:none}
.tp15-field input:focus,.tp15-field select:focus{border-color:#2d62dd;box-shadow:0 0 0 3px #2d62dd22}
.tp15-tourism{display:flex;align-items:center;min-height:41px;color:#234879;font-size:12px}
.tp15-editor-stophead{display:flex;justify-content:space-between;align-items:center;gap:7px;color:#213552;font-size:13px}
.tp15-editor-stops{display:grid;gap:7px;overflow:auto;min-height:130px;flex:1;padding-right:3px}
.tp15-editor-stop{display:grid;grid-template-columns:27px minmax(0,1fr) 26px;gap:9px;align-items:start;padding:10px;background:#fff;border:1px solid #dfe7f4;border-radius:12px}
.tp15-stop-number{border-radius:9px;background:#e8efff;color:#2c56b5;height:26px;display:grid;place-items:center;font-weight:850;font-size:11px}
.tp15-stop-fields{min-width:0}.tp15-stop-fields>input{border:0;padding:4px 0;color:#1e3055;font-size:12px;font-weight:800;width:100%;min-width:0;background:transparent;box-shadow:none}
.tp15-stop-fields small{display:block;color:#6e819b;font-size:10px;margin:4px 0;overflow-wrap:anywhere}
.tp15-stop-sub{display:flex;gap:9px}.tp15-stop-sub label{display:flex;align-items:center;gap:5px;font-size:10px;color:#557091;font-weight:700;min-width:0}
.tp15-stop-sub input{width:83px;max-width:100%;padding:6px 5px;min-height:32px;font-size:11px;color:#29426a;border:1px solid #d7e2f3;background:#fff;border-radius:7px}
.tp15-stop-sub input[type=number]{width:54px}
.tp15-stop-actions{display:grid;gap:3px}.tp15-stop-actions button{height:27px;width:27px;border:0;border-radius:6px;background:#edf2fc;color:#284a8c;font-weight:800}
.tp15-stop-actions button.is-danger{color:#d81c79;background:#ffedf4}.tp15-stop-actions button:disabled{opacity:.3}
.tp15-route-status{font-size:10px;color:#637793;line-height:1.5}
.tp15-adding{background:#ec2b91!important;color:white!important}
.tp15-editor-mapwrap{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative;background:#e3effd}
.tp15-editor-map{flex:1;min-height:300px;width:100%}
.tp15-map-caption{background:#fff;padding:12px 16px;border-bottom:1px solid #dae5f3;display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}
.tp15-map-caption b{font-size:11px;letter-spacing:.13em;color:#2456bc}.tp15-map-caption span{font-size:11px;color:#637894}
.tp15-map-foot{background:#fff;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 15px;flex-wrap:wrap;color:#4b5d7b;font-size:11px;font-weight:700;border-top:1px solid #dce6f2}
.tp15-map-foot button{background:#eaf0fc;border:0;border-radius:8px;padding:8px 12px;color:#294ba1;font-weight:900}
.tp15-map-failure{padding:20px;text-align:center;color:#9f2551;background:#fff8fb;line-height:1.6}
.tp15-save-note{font-size:11px;color:#50617c;margin-right:auto;line-height:1.4}
@media(max-width:980px){.tp15-editor{grid-template-columns:minmax(265px,39%) minmax(0,1fr)}}
@media(max-width:690px){
 #modalHost .tp15-editor-modal{max-height:98dvh;width:100%;border-radius:13px}
 .modal-backdrop{padding:5px}
 .tp15-editor{height:auto;min-height:0;display:flex;flex-direction:column}
 .tp15-editor-side{order:2;max-height:45dvh;padding:12px;overflow:auto}
 .tp15-editor-mapwrap{order:1;flex-shrink:0;min-height:0}
 .tp15-editor-map{height:31dvh;min-height:205px;flex:none}
 .tp15-map-caption{padding:8px 12px}
 .tp15-map-foot{padding:6px 10px}
 .tp15-editor-fields{gap:8px}
 .tp15-field input,.tp15-field select{min-height:36px;font-size:11px}
 .tp15-save-note{flex-basis:100%}
 #modalHost .tp15-editor-modal .modal-foot{padding:9px 12px}
 .tp15-google-search{max-width:calc(100vw - 34px);width:calc(100vw - 34px)}
 .tp15-google-search input{font-size:11px}
}

/* Recherche Traffic Control volontairement sous la barre des KPI, jamais superposée. */
.tp13-traffic #fleetAddressSearch{position:absolute;z-index:780;top:81px;right:18px;left:auto;width:min(475px,calc(100% - 390px));pointer-events:none}
.tp13-traffic #fleetAddressSearch .tp15-google-search{width:100%;max-width:none;pointer-events:auto;margin:0}
@media(max-width:1000px){.tp13-traffic #fleetAddressSearch{width:min(360px,calc(100% - 365px));right:10px}}
@media(max-width:730px){.tp13-traffic #fleetAddressSearch{top:71px;width:min(440px,calc(100% - 22px));right:11px}}
@media(max-width:520px){.tp13-traffic #fleetAddressSearch{top:68px}}
