.tp-wrap .panel,.tp-wrap{min-width:0;max-width:100%}
.tp-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.tp-head h2,.tp-head h3{margin:0}
.tp-form{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:end;margin-top:10px}
.tp-field{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;min-width:0}
.tp-field input,.tp-field select{width:100%;box-sizing:border-box}
.tp-field input[name="plate"]{text-transform:uppercase;letter-spacing:.06em;font-family:ui-monospace,Menlo,Consolas,monospace}
.tp-foot{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
.tp-foot .btn[disabled],.tp-acts .btn[disabled],.tp-dhead .btn[disabled]{opacity:.55;cursor:not-allowed}
.tp-msg{padding:8px 10px;border-radius:6px;margin:8px 0;font-size:14px;border-left:4px solid}
.tp-msg.ok{background:#eef8f0;border-color:#2e8b47;color:#1d5a2e}
.tp-msg.err{background:#fdeeee;border-color:#c62828;color:#7a1616}
.tp-count{font-size:13px;opacity:.75}
.tp-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.tp-row,.tp-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:rgba(0,0,0,.015)}
.tp-row-exp{border-color:#e0a0a0;background:#fff6f6}
.tp-plate{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700;letter-spacing:.08em;padding:4px 8px;border-radius:4px;background:#fff;color:#c62828;border:2px solid #c62828;white-space:nowrap}
.tp-plate-lg{font-size:20px;padding:6px 12px}
.tp-who{display:flex;flex-direction:column;min-width:0}
.tp-who strong{overflow-wrap:anywhere}
.tp-who .muted{font-size:13px}
.tp-badge{justify-self:start}
.tp-acts{display:flex;gap:6px}
.tp-empty,.tp-none{padding:14px;border:1px dashed rgba(0,0,0,.2);border-radius:8px;text-align:center;opacity:.85}
.tp-card{grid-template-columns:auto minmax(0,1fr) auto;margin-top:8px}
.tp-note{grid-column:1/-1;margin:0;color:#7a1616;font-size:13px}
.tp-upd{font-size:12px;margin:6px 0 0}
/* Keep every tab readable on narrow Driver screens. */
body.driver-mode .driverBottomNav{display:flex;overflow-x:auto;justify-content:flex-start}
body.driver-mode .driverBottomNav button{flex:0 0 72px}
.tp-driver .tp-card{max-width:460px}
.tp-plate{overflow-wrap:anywhere;white-space:normal}
.tp-skel{height:14px;margin:8px 0;border-radius:4px;background:linear-gradient(90deg,rgba(0,0,0,.06),rgba(0,0,0,.12),rgba(0,0,0,.06));background-size:200% 100%;animation:tpSk 1.2s linear infinite}
@keyframes tpSk{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.tp-skel{animation:none}}
@media (max-width:700px){
 .tp-form{grid-template-columns:1fr}
 .tp-form input,.tp-form select,.tp-form .btn,.tp-acts .btn{min-height:44px;font-size:16px}
 .tp-foot .btn{flex:1}
 .tp-row{grid-template-columns:auto minmax(0,1fr) auto}
 .tp-acts{grid-column:1/-1}.tp-acts .btn{flex:1}
}
