.ft-tabs .ft-count{display:inline-block;min-width:20px;margin-left:4px;padding:0 6px;border-radius:9px;background:#0000000f;font-size:11px;font-weight:800}
.ft-tabs button.active .ft-count{background:#ffffff2a}
.ft-card{border:1px solid var(--stroke);border-left:4px solid #d4d4d8;border-radius:12px;padding:15px 16px;margin-bottom:11px;background:#fff}
.ft-card.p-urgent{border-left-color:var(--red)}.ft-card.p-high{border-left-color:#e59b30}.ft-card.net{border-left-style:dashed}
.ft-title{font-size:16px;letter-spacing:-.3px}
.ft-route{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 4px;font-weight:650}.ft-route i{font-style:normal;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}
.ft-assign,.ft-costs{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:9px;padding:10px 12px;border-radius:10px;background:#f6f6f7;font-size:13px}
.ft-costs{background:#fff6f6}
.ft-loc{margin-top:8px;font-size:12px;padding:8px 10px;border-radius:9px;background:var(--tealbg)}
.ft-prio{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.8px;padding:4px 8px;border-radius:6px;background:#edf0f5;color:#586277}
.ft-prio-urgent{background:var(--red);color:#fff}.ft-prio-high{background:#fff3df;color:#99600f}
.ft-timeline{margin-top:8px}.ft-timeline summary{cursor:pointer;font-size:12px;font-weight:700;color:var(--muted)}
.ft-warn{border:2px solid var(--red);border-radius:12px;padding:14px;background:var(--redbg);color:#7d1520}.ft-warn b{font-size:17px}
.ft-total{font-weight:800;font-size:15px;margin:10px 0}
.ft-fieldset{border:1px dashed var(--stroke);border-radius:12px;padding:12px;margin:0;display:flex;flex-direction:column;gap:10px}.ft-fieldset legend{font-size:12px;font-weight:800;padding:0 6px}
.ft-driver{max-width:620px;margin:0 auto}
.ft-job{background:#fff;border:1px solid var(--stroke);border-radius:18px;padding:18px;margin-bottom:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:13px}
.ft-job-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.ft-job h2{margin:3px 0 0;font-size:21px;letter-spacing:-.5px}
.ft-progress{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.ft-progress span{height:6px;border-radius:3px;background:#e5e7eb}.ft-progress span.done{background:var(--red)}
.ft-sched{font-weight:750;font-size:14px}
.ft-legs{display:grid;gap:8px}.ft-leg{padding:12px 14px;border-radius:12px;background:#f6f6f7;border:1px solid transparent}.ft-leg small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:800}.ft-leg b{font-size:16px}.ft-leg.now{border-color:var(--red);background:#fff}
.ft-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ft-actions a:last-child:nth-child(odd){grid-column:1/-1}
.ft-big{min-height:50px!important;font-size:15px}
.ft-next{min-height:58px;font-size:17px;border-radius:14px}
.ft-gps{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;border:1px solid var(--stroke)}.ft-gps.on{border-color:#24c6a9;background:#effbf8}
.ft-alert{margin-bottom:14px;font-weight:650}
.ft-empty-card{text-align:center;padding:48px 20px;border:1px dashed var(--stroke);border-radius:18px;background:#fff}.ft-empty-mark{font-size:34px;color:var(--red);font-weight:800}
.ft-history summary{cursor:pointer}
@media(max-width:720px){.ft-gps{flex-direction:column;align-items:stretch}.ft-card .btn,.ft-ro .btn{min-height:44px}.ft-route{flex-direction:column;align-items:flex-start;gap:2px}}
