/* TransportPremium 1.19 — ergonomie métier, tactile et responsive HAKOM */
:root{--tp19-blue:#3467e9;--tp19-pink:#e74f9a;--tp19-ink:#1c3152;--tp19-border:#e2e9f5;--tp19-muted:#7186a6}
.tp19-tool-btn{background:#fff;border:1px solid #d6e2fa;color:#33548f;box-shadow:0 3px 10px #243f6a0c}.tp19-tool-btn:hover{background:#ecf3ff;border-color:#92acf0}
.tp19-expense-link{display:flex;width:100%;margin:0 0 9px;padding:8px 15px;border:1px dashed #f5b1d3;background:#fff4fa;border-radius:10px;color:#a52d70;font:800 11px Inter,sans-serif;text-align:left;cursor:pointer}
.tp19-expense-pane,.tp19-expense-choose,.tp19-fleet,.tp19-direction{color:#1c3152;max-width:100%;min-width:0}
.tp19-expense-choose p,.tp19-help,.tp19-fleet-head p,.tp19-direction-header p{font-size:12px;line-height:1.6;color:#687d9b;margin:5px 0 13px}
.tp19-mission-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;margin:7px 0;background:#f4f8ff;border:1px solid #e3ebfa;color:#1e3d7c;text-align:left;border-radius:13px;min-height:54px;width:100%;cursor:pointer}
.tp19-mission-choice:hover{background:#eaf2ff}.tp19-mission-choice b{white-space:nowrap;font-size:13px}.tp19-mission-choice span{font-size:12px;color:#5d7193;overflow-wrap:anywhere}
.tp19-expense-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tp19-expense-kpis>div{background:linear-gradient(135deg,#f0f5ff,#fbfaff);border:1px solid #dde8fc;border-radius:16px;padding:15px;min-width:0}.tp19-expense-kpis small{color:#617b9f;font-size:11px;display:block}.tp19-expense-kpis strong{display:block;color:#244a91;font-size:clamp(14px,2vw,20px);margin-top:7px;overflow-wrap:anywhere}
.tp19-expense-list{display:grid;gap:10px;max-height:49dvh;overflow:auto;padding:2px}.tp19-expense-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;background:#fff;border:1px solid #e5eaf4;border-radius:14px}.tp19-expense-row>div:first-child{display:grid;gap:6px;min-width:0}.tp19-expense-row b{font-size:16px;color:#26446f}.tp19-expense-row small{font-size:11px;color:#61758e}.tp19-expense-category{background:#f9eaf3;color:#ac3e78;padding:4px 8px;border-radius:9px;width:max-content;font-size:10px;font-weight:800}.tp19-actions{display:flex;gap:5px;flex-wrap:wrap}.tp19-actions .btn{min-height:36px}.tp19-empty{text-align:center;padding:25px;color:#7890b3;background:#f5f8fe;border-radius:12px}
.tp19-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;color:#294269}.tp19-form label,.tp19-field,.tp19-credentials label{display:grid;gap:7px;font-size:12px;font-weight:750;color:#344d73;min-width:0}.tp19-form .full{grid-column:1/-1}.tp19-form input,.tp19-form select,.tp19-field input,.tp19-credentials input{min-width:0;width:100%;min-height:46px;border:1px solid #cedcf0;background:#fff;border-radius:11px;color:#213d63;padding:11px;font:inherit;font-size:14px}.tp19-form input:focus,.tp19-form select:focus,.tp19-fleet-toolbar input:focus{outline:2px solid #9cbbff;outline-offset:1px}.tp19-credentials{color:#2e4770}.tp19-credentials p{color:#526b8a;font-size:13px;line-height:1.6}.tp19-credentials label{margin:12px 0}.tp19-credentials input{font-weight:850;letter-spacing:.05em}
.tp19-fleet-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.tp19-kicker{font-size:10px;color:#6689bd;letter-spacing:.14em;font-weight:900}.tp19-fleet-head h3{font-size:clamp(19px,2vw,28px);color:#22385e;margin:5px 0}.tp19-fleet-head h3 span{font-size:14px;color:#6b80a5}.tp19-fleet-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:13px;background:#f3f7ff;border:1px solid #dce7f6;border-radius:17px;margin:12px 0}.tp19-fleet-toolbar>input{flex:2 1 220px;min-width:0;min-height:46px;background:#fff;border:1px solid #d2e0f4;border-radius:11px;padding:11px;color:#243a5a;font-size:13px}.tp19-fleet-toolbar label{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:700;color:#4d6288;flex:1 1 180px}.tp19-fleet-toolbar label input{width:19px;height:19px;accent-color:var(--tp19-blue)}.tp19-fleet-toolbar>div{display:flex;gap:7px;flex-wrap:wrap}
.tp19-fleet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:11px;max-height:65dvh;overflow:auto;padding:3px}.tp19-fleet-card{display:flex;align-items:center;gap:11px;padding:14px;background:#fff;border:1px solid #e3eaf5;border-radius:15px;box-shadow:0 5px 18px rgba(39,75,135,.05);min-width:0}.tp19-card-check{display:flex;flex:0 0 20px}.tp19-card-check input{accent-color:#416eea;width:19px;height:19px}.tp19-card-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:12px;background:#eef3ff;color:#4467c8;font-size:20px}.tp19-card-main{display:grid;gap:3px;min-width:0;flex:1}.tp19-card-main b{font-size:13px;color:#223959;overflow-wrap:anywhere}.tp19-card-main small{font-size:10px;color:#7a8aa2;overflow-wrap:anywhere}.tp19-card-main span{font-size:10px;color:#9d4681;font-weight:700}.tp19-fleet-card .btn{flex:0 0 auto}.tp19-fleet-card:hover{border-color:#b6caee}
.tp19-direction{display:grid;gap:17px;max-width:1500px;margin:auto}.tp19-direction-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px;border-radius:21px;background:linear-gradient(115deg,#142b52,#315bb3);color:white}.tp19-direction-header h2{font-size:clamp(22px,3vw,36px);color:#fff;line-height:1.1;margin:5px 0}.tp19-direction-header p{color:#c5d7fa;margin-bottom:0}.tp19-direction-header small{font-size:10px;letter-spacing:.15em;font-weight:850;color:#a7c1f8}.tp19-direction-header button{background:#ffffff1c;color:white;border-color:#ffffff55}.tp19-direction-tabs{display:flex;gap:7px;padding:6px;background:#edf2fa;border-radius:16px;width:max-content;max-width:100%}.tp19-direction-tabs button{padding:13px 24px;background:transparent;color:#60769b;border:0;border-radius:11px;font-weight:800;font-size:14px;cursor:pointer}.tp19-direction-tabs button.active{background:#fff;color:#234fa8;box-shadow:0 3px 15px #2537641c}.tp19-direction-filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.tp19-direction-filters label{display:grid;gap:5px;font-size:11px;color:#627ba4;font-weight:800}.tp19-direction-filters input{border:1px solid #d5e1f2;border-radius:10px;min-height:44px;padding:10px;background:#fff;color:#183458}.tp19-direction-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px}.tp19-direction-cards article{padding:21px;border-radius:18px;background:#fff;border:1px solid #e0e8f4;min-width:0;box-shadow:0 6px 20px #3c4e7910}.tp19-direction-cards article:nth-child(3n){border-top:3px solid #e15a9f}.tp19-direction-cards article:nth-child(3n+1){border-top:3px solid #4786ec}.tp19-direction-cards small{display:block;color:#667d9e;font-size:11px;font-weight:800;margin-bottom:8px}.tp19-direction-cards strong{display:block;font-size:clamp(19px,2.2vw,27px);font-weight:900;color:#203e6c;overflow-wrap:anywhere}.tp19-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tp19-report-table{background:#fff;border:1px solid #e3eaf4;border-radius:18px;padding:16px;min-width:0}.tp19-report-table h3{color:#1f395e;font-size:16px;margin:3px 0 13px}.tp19-table-wrap{overflow-x:auto;max-width:100%}.tp19-report-table table{width:100%;border-collapse:collapse;font-size:12px;color:#344b70}.tp19-report-table th{text-align:left;font-size:10px;color:#7587a4;font-weight:850;padding:11px 8px;border-bottom:1px solid #e4e9f4;white-space:nowrap}.tp19-report-table td{padding:12px 8px;border-bottom:1px solid #eef2f8;vertical-align:top}.tp19-loading{padding:60px;text-align:center;color:#6b7ea1}
#modalHost .modal{max-height:min(94dvh,940px);display:flex;flex-direction:column}#modalHost .modal .modal-body{overflow:auto;min-height:0;overscroll-behavior:contain}
/* Adaptations de l'éditeur touristique, y compris anciens modals. */
.tp17-wizard-form,.tp17-modal-fields,.tp18-commercial,.tp18-tourism-box{min-width:0}.tp17-modal-fields>*{min-width:0}.tp18-trip-choices label{min-width:0;overflow-wrap:anywhere}
.tp17-toolbar{max-height:min(33dvh,260px);overflow-y:auto;scrollbar-width:thin}.tp17-root .tp17-floating-panel{top:clamp(118px,calc(17dvh + 15px),210px)}
@media(max-width:1020px){.tp19-report-grid{grid-template-columns:minmax(0,1fr)}.tp19-direction-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.tp17-toolbar{gap:7px}.tp19-tool-btn{padding:8px 10px}}
@media(max-width:850px){.tp19-fleet-grid{max-height:55dvh;grid-template-columns:repeat(2,minmax(0,1fr))}.tp19-expense-list{max-height:45dvh}.tp17-toolbar{max-height:36dvh}.tp17-root .tp17-floating-panel{top:auto}}
@media(max-width:650px){.tp19-expense-kpis{grid-template-columns:minmax(0,1fr)}.tp19-expense-kpis>div{padding:11px}.tp19-expense-row{align-items:flex-start;flex-wrap:wrap}.tp19-expense-row .tp19-actions{justify-content:flex-start}.tp19-fleet-grid{grid-template-columns:minmax(0,1fr);max-height:52dvh}.tp19-fleet-head{align-items:flex-start;flex-wrap:wrap}.tp19-fleet-toolbar{flex-direction:column;align-items:stretch}.tp19-fleet-toolbar>input{flex-basis:auto;width:100%}.tp19-form{grid-template-columns:minmax(0,1fr)}.tp19-direction-header{align-items:flex-start;flex-wrap:wrap;padding:17px}.tp19-direction-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.tp19-direction-cards article{padding:15px}.tp19-direction-tabs{width:100%}.tp19-direction-tabs button{flex:1;padding:12px 5px}.tp19-direction-filters>*{flex:1 1 110px;min-width:0}.tp19-direction-filters input{width:100%;min-width:0}.tp17-modal-fields{grid-template-columns:minmax(0,1fr)}.tp17-toolbar{max-height:42dvh}.tp17-toolbar .tp19-tool-btn{flex:1 1 calc(50% - 6px)}.tp18-commercial{grid-template-columns:1fr 1fr}}
@media(max-width:385px){.tp19-direction-cards{grid-template-columns:minmax(0,1fr)}.tp18-commercial{grid-template-columns:minmax(0,1fr)}.tp19-fleet-card{padding:11px;gap:7px}.tp19-card-icon{display:none}.tp19-card-main span{overflow-wrap:anywhere}}

.tp19-direction-header .btn.ghost{background:rgba(255,255,255,.14)!important;color:#fff!important;border-color:rgba(255,255,255,.46)!important;white-space:nowrap}
.tp19-card-actions{display:flex;flex-direction:column;gap:5px;align-items:flex-end}.tp19-card-actions .btn{min-height:30px}.tp19-card-actions .tp19-danger{color:#b83663;background:#ffeff5;border:1px solid #fbd0df}
@media(max-width:650px){.tp19-fleet-toolbar>input{flex:0 0 46px!important}.tp19-fleet-toolbar>label,.tp19-fleet-toolbar>div{flex:0 0 auto!important;min-height:0}.tp19-fleet-toolbar>div{display:flex;justify-content:flex-start}.tp19-direction-header .btn.ghost{background:rgba(255,255,255,.14)!important}}
