/* TP 1.23 - atelier de dispatch du personnel, lisible et manipulable au toucher. */
.tp123-root{font-family:Inter,Manrope,sans-serif;color:#18314f;min-width:0;max-width:100%;display:grid;gap:13px;overflow-x:clip}
.tp123-hero{background:linear-gradient(115deg,#102e60,#244ca2 63%,#4d74c5);border-radius:22px;padding:25px 28px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:18px;box-shadow:0 18px 42px #14326a26}
.tp123-eyebrow{font-size:10px;font-weight:850;letter-spacing:.16em;color:#d6e6ff}.tp123-hero h2{font-size:clamp(21px,3vw,30px);letter-spacing:-.045em;line-height:1.18;margin:7px 0}.tp123-hero p{font-size:12px;color:#dae8ff;line-height:1.5;margin:0}
.tp123-steps{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.tp123-steps span{background:#ffffff20;border:1px solid #ffffff42;color:#fff;padding:10px 13px;border-radius:100px;font-size:11px;font-weight:850;white-space:nowrap}
.tp123-controls{display:flex;flex-wrap:wrap;align-items:end;gap:8px;background:#fff;border:1px solid #dfe8f5;border-radius:17px;padding:12px;box-shadow:0 7px 22px #1c407412;min-width:0}
.tp123-controls label{display:grid;gap:4px;color:#6d7e9a;font-size:10px;font-weight:850;flex:0 1 175px;min-width:120px}.tp123-controls label:nth-child(2){flex:1 1 220px}
.tp123-controls select,.tp123-controls input{color:#203d67;min-width:0;width:100%;max-width:100%;min-height:43px;border:1px solid #d9e4f4;border-radius:9px;padding:7px 9px;background:#f8fbff;font:700 12px Inter,sans-serif}
.tp123-btn{min-height:44px;min-width:0;border-radius:11px;border:1px solid #d7e3f4;padding:9px 12px;font-size:11px;font-weight:850;white-space:normal;line-height:1.3;cursor:pointer}
.tp123-btn-light{background:#edf3ff;color:#365ca8}.tp123-btn-dark{background:#18345f;color:#fff;border-color:transparent}.tp123-btn-primary{background:linear-gradient(120deg,#2c62d0,#567de6);color:#fff;border-color:transparent;box-shadow:0 5px 15px #3260c02d}
.tp123-btn:hover{filter:brightness(.98)}.tp123-info{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.tp123-info span:not(.tp123-hint){border-radius:30px;padding:7px 11px;background:#edf4ff;color:#5474a2;font-size:11px;font-weight:700}.tp123-info b{color:#2b59ba;font-size:14px}.tp123-hint{font-size:11px;color:#72849e;margin-left:auto}
.tp123-shell{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(255px,.7fr);gap:13px;align-items:start;min-width:0}.tp123-shell>section,.tp123-shell>aside{min-width:0;background:#fff;border:1px solid #e0e8f5;border-radius:17px;padding:17px;box-shadow:0 7px 20px #1f426b12}
.tp123-circuits{max-height:calc(100dvh - 305px);min-height:340px;overflow:auto;scrollbar-width:thin}.tp123-crew{position:sticky;top:15px;max-height:calc(100dvh - 305px);min-height:340px;overflow:auto;scrollbar-width:thin}
.tp123-pane-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.tp123-pane-head small{display:block;font-size:10px;font-weight:900;letter-spacing:.11em;color:#6e90bc}.tp123-pane-head h3{font-size:18px;letter-spacing:-.035em;color:#1b345b;margin:4px 0}
.tp123-filter input,.tp123-crew>input,.tp123-preset-block select{width:100%;min-width:0;min-height:44px;border:1px solid #d9e4f2;border-radius:10px;padding:9px 12px;background:#f7faff;color:#193352;font:700 12px Inter,sans-serif}
.tp123-filter{margin:10px 0 12px}.tp123-card-list{display:grid;gap:11px}.tp123-card{min-width:0;border:1px solid #dbe5f3;border-radius:14px;padding:13px;background:linear-gradient(135deg,#fff,#fbfdff);box-shadow:0 3px 10px #214b7d0c}
.tp123-card-top{display:flex;align-items:center;gap:10px;min-width:0}.tp123-card-icon{height:36px;width:36px;display:grid;place-items:center;background:#edf4ff;border-radius:11px;flex:none;font-size:18px}.tp123-card-text{min-width:0;flex:1;display:grid;gap:3px}.tp123-card-text b{font-size:13px;color:#172f4e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp123-card-text small{font-size:10px;color:#7289a8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tp123-tag{flex:none;font-size:10px;color:#3666b0;background:#edf3ff;padding:6px 9px;border-radius:100px;font-weight:850}
.tp123-card-path{display:flex;align-items:center;gap:5px;overflow:hidden;flex-wrap:wrap;margin-top:10px;color:#59779e}.tp123-card-path span,.tp123-card-path strong{background:#f0f5fc;padding:5px 7px;border-radius:6px;font-size:10px;white-space:nowrap;max-width:155px;overflow:hidden;text-overflow:ellipsis}.tp123-card-path strong{color:#1f5bad;background:#e5efff}.tp123-card-path i{font-style:normal;font-size:10px;color:#a3b6d0}
.tp123-card-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:10px;font-size:11px;color:#6c819f}.tp123-card-meta span{flex:1}.tp123-card-meta b{color:#234d98}.tp123-card-meta button{border:1px solid #dfebf7;border-radius:8px;background:#f4f8ff;color:#3764ac;min-height:34px;padding:6px 9px;font-size:10px;font-weight:850;cursor:pointer}
.tp123-slot-list{display:grid;gap:5px;margin-top:11px}.tp123-slot{display:flex;gap:10px;align-items:center;padding:10px;border:1.5px dashed #bdcbe0;background:#f6faff;border-radius:10px;cursor:pointer;min-width:0}.tp123-slot:focus-visible{outline:3px solid #4480dd}.tp123-slot-ready{border-style:solid;background:#eff8ff;border-color:#a4c5f0}.tp123-slot-pub{border-style:solid;background:#effbf4;border-color:#c4ebd5;cursor:default}
.tp123-slot-n{width:27px;height:27px;background:#dfebfc;border-radius:8px;color:#3359a0;display:grid;place-items:center;font-size:12px;font-weight:900;flex:none}.tp123-slot-body{display:grid;gap:3px;flex:1;min-width:0}.tp123-slot-body b{font-size:11px;color:#254369;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp123-slot-body small{font-size:10px;color:#8192aa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp123-slot button{height:30px;min-width:32px;border:0;border-radius:7px;color:#3664b2;background:#dfeaff;cursor:pointer}.tp123-ok{color:#17935b}.tp123-no-need{font-size:11px;color:#93754b;background:#fff9e9;border:1px solid #f5e8c5;padding:11px;border-radius:9px;margin-top:10px}.tp123-pub-note{font-size:11px;color:#287b54;padding:9px 0 0;font-weight:850}
.tp123-driver-list{display:grid;gap:7px;max-height:min(45dvh,380px);overflow:auto;margin-top:12px}.tp123-driver{width:100%;border:1px solid #dce6f5;background:#fff;color:#29446a;display:flex;align-items:center;gap:8px;text-align:left;padding:9px;border-radius:11px;min-width:0;cursor:grab}.tp123-driver:hover,.tp123-picked{border-color:#7c9ee1!important;background:#ebf2ff!important}.tp123-used{opacity:.53}.tp123-avatar{display:grid;place-items:center;background:#e1eaff;color:#2b57ab;border-radius:10px;height:32px;width:32px;flex:none;font-size:14px;font-weight:900;text-transform:uppercase}.tp123-driver-info{display:grid;gap:4px;flex:1;min-width:0}.tp123-driver-info b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp123-driver-info small{font-size:10px;color:#788da9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tp123-preset-block{margin-top:17px;background:#f0f5ff;border:1px solid #e0e8f7;border-radius:13px;padding:13px}.tp123-preset-block h3{font-size:14px;color:#294b83;margin:0 0 7px}.tp123-preset-block p{font-size:11px;line-height:1.55;color:#7187a7}.tp123-buttons{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}.tp123-buttons button{background:#dfeaff;border:1px solid #c9dafa;border-radius:8px;color:#3662ac;padding:10px 5px;font-size:10px;font-weight:800;cursor:pointer}.tp123-empty{background:#f1f6ff;border:1px dashed #cbdaf0;text-align:center;border-radius:12px;padding:28px;color:#54719e;font-size:12px;line-height:1.65}
.tp123-mobile-nav{display:none}
.tp123-modal .modal{width:min(1000px,calc(100vw - 22px));max-width:100%;max-height:96dvh}.tp123-modal .modal-body{overflow:auto;min-width:0}.tp123-form{display:grid;gap:12px;color:#3b5377;min-width:0}.tp123-form>p,.tp123-form .tp123-destination p{font-size:12px;line-height:1.5;color:#68809e;margin:0}.tp123-form label{display:grid;gap:5px;font-size:11px;color:#557294;font-weight:800;min-width:0}.tp123-form input,.tp123-form select{width:100%;max-width:100%;min-width:0;min-height:45px;padding:8px 10px;border:1px solid #d7e3f5;border-radius:9px;background:#fff;color:#274363;font:600 12px Inter,sans-serif}.tp123-form .tp123-two{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}.tp123-help{font-size:11px!important;line-height:1.65;color:#6884a2}.tp123-destination{background:#f0f6ff;border:1px solid #dce9fa;padding:13px;border-radius:12px;display:grid;gap:9px;min-width:0}.tp123-destination strong{font-size:13px;color:#224a86}
.tp123-editor-head{display:flex;gap:7px;flex-wrap:wrap;justify-content:space-between;align-items:center}.tp123-editor-head b{font-size:13px;color:#254a83}.tp123-editor-head small{display:block;font-size:10px;color:#718cab;margin-top:4px}.tp123-point-list{display:grid;gap:6px;max-height:250px;overflow:auto}.tp123-point{display:grid;grid-template-columns:36px minmax(120px,1.2fr) minmax(90px,.8fr) minmax(90px,.8fr) 60px auto;gap:5px;align-items:center;padding:7px;border:1px solid #dce6f3;border-radius:10px;min-width:0}.tp123-point>b{font-size:11px;background:#e0ecff;color:#3162b3;padding:9px 3px;border-radius:8px;text-align:center}.tp123-point input{min-height:36px;padding:5px 7px}.tp123-point>div{display:flex;gap:3px}.tp123-point>div button{min-height:32px;min-width:27px;border:0;background:#e6eeff;color:#365ea5;border-radius:6px;cursor:pointer}
.tp123-map-editor,.tp123-preview-wrap>div{height:310px;min-height:240px;border:1px solid #cbd9ed;border-radius:12px;overflow:hidden;background:#eaf2fe}.tp123-preview-wrap p{font-size:12px;color:#5e7594;line-height:1.55}.tp123-errors{max-height:55dvh;overflow:auto}.tp123-errors p{padding:9px 11px;border:1px solid #f4d9d5;background:#fff7f6;border-radius:8px;color:#9a4233;font-size:12px}
@media(max-width:1200px){.tp123-hero{padding:18px}.tp123-steps{display:none}.tp123-shell{grid-template-columns:minmax(0,1.5fr) minmax(225px,.85fr)}.tp123-controls label{flex:1 1 155px}.tp123-controls .tp123-btn{flex:1 1 120px}}
@media(max-width:900px){.tp123-shell{grid-template-columns:minmax(0,1fr) minmax(230px,.8fr)}.tp123-shell>section,.tp123-shell>aside{padding:11px}.tp123-card{padding:10px}.tp123-circuits,.tp123-crew{max-height:none}.tp123-hint{width:100%;margin-left:0}}
@media(max-width:740px){.tp123-root{gap:9px;padding-bottom:60px}.tp123-hero{border-radius:13px;padding:15px}.tp123-hero h2{font-size:21px}.tp123-hero p{font-size:11px}.tp123-controls{padding:9px;gap:6px;border-radius:11px}.tp123-controls label{flex:1 1 130px}.tp123-controls label:nth-child(2){flex:2 1 170px}.tp123-controls .tp123-btn{flex:1 1 90px;min-height:42px;padding:8px 7px;font-size:10px}.tp123-shell{grid-template-columns:1fr}.tp123-root[data-pane=circuits] .tp123-crew,.tp123-root[data-pane=drivers] .tp123-circuits,.tp123-root[data-pane=models] .tp123-circuits{display:none}.tp123-root[data-pane=circuits] .tp123-circuits{display:block}.tp123-root[data-pane=drivers] .tp123-crew,.tp123-root[data-pane=models] .tp123-crew{display:block;position:static;max-height:none}.tp123-root[data-pane=models] .tp123-crew>.tp123-pane-head,.tp123-root[data-pane=models] .tp123-crew>input,.tp123-root[data-pane=models] .tp123-driver-list{display:none}.tp123-root[data-pane=drivers] .tp123-preset-block{display:none}.tp123-mobile-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:#fff;border:1px solid #d9e4f5;box-shadow:0 7px 24px #213b711e;border-radius:12px;padding:5px;position:fixed;bottom:8px;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));z-index:20}.tp123-mobile-nav button{border:0;background:#ebf3ff;color:#355c9e;border-radius:9px;min-height:43px;font-size:11px;font-weight:900}.tp123-root[data-pane=circuits] .tp123-mobile-nav button:nth-child(1),.tp123-root[data-pane=drivers] .tp123-mobile-nav button:nth-child(2),.tp123-root[data-pane=models] .tp123-mobile-nav button:nth-child(3){background:#244eaa;color:#fff}.tp123-card-path span:nth-of-type(n+4){display:none}.tp123-modal .modal{width:100%;max-height:99dvh;border-radius:9px}.tp123-modal .modal-body{padding:10px}.tp123-modal .modal-foot{display:flex;flex-wrap:wrap;padding:9px}.tp123-modal .modal-foot button{flex:1;min-height:43px}.tp123-point{grid-template-columns:36px minmax(0,1fr) 60px}.tp123-point input:nth-of-type(2),.tp123-point input:nth-of-type(3){grid-column:2;}.tp123-point>div{grid-column:2/-1}.tp123-map-editor,.tp123-preview-wrap>div{height:250px}}
@media(max-width:420px){.tp123-hero h2{font-size:18px}.tp123-controls label{flex:1 1 100%}.tp123-controls .tp123-btn{flex:1 1 31%}.tp123-info span:not(.tp123-hint){padding:5px 8px;font-size:10px}.tp123-card-top{gap:6px}.tp123-card-text b{font-size:12px}.tp123-form .tp123-two{grid-template-columns:1fr}.tp123-point{grid-template-columns:31px minmax(0,1fr) 52px;gap:4px}.tp123-point input{font-size:11px}}
