/* Trip Planner (Features). Mobile-first; colours use the site theme variables so light and dark modes both work. */
.tp-host{margin:10px 0}.tp-tabs{margin:10px 0;display:flex;flex-wrap:wrap;gap:6px}
.tp-tabs .cal-tab{flex:1 1 auto;min-height:44px}
.tp-head{margin:4px 0 8px}.tp-pick{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.tp-pick select{min-height:44px;max-width:100%}.tp-name{font-size:1.1rem}.tp-when{color:var(--fg-475569);font-size:.92rem}
.tp-card{margin:12px 0}.tp-card h2{margin-top:0}.tp-card h3{margin:0 0 8px;font-size:1.02rem}.tp-help{color:var(--fg-475569);font-size:.92rem;margin:6px 0}
.tp-form{display:grid;grid-template-columns:1fr;gap:10px;margin:10px 0}.tp-f{display:grid;gap:4px}.tp-f span{font-weight:600;font-size:.92rem}
.tp-f input,.tp-f select{width:100%;min-height:44px;box-sizing:border-box;font-size:16px}
.tp-inline{grid-template-columns:1fr 80px;align-items:end}.tp-inline .tp-f:first-child{grid-column:1/-1}.tp-inline>.btn{min-height:44px}
.tp-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.tp-actions .btn,.tp-actions select{min-height:44px}
.tp-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tp-row,.tp-stop{border:1px solid var(--bd-e2e8f0);border-radius:10px;padding:10px 12px;background:var(--bg-fff)}
.tp-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tp-row.on{border-color:#0f766e;box-shadow:0 0 0 1px #0f766e}
.tp-grow{flex:1 1 160px;min-width:0;display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere}.tp-grow small{color:var(--fg-475569)}
.tp-stop-top{display:flex;gap:10px;align-items:flex-start}.tp-stop-top input[type=checkbox],.tp-chk input{width:22px;height:22px;margin:2px 0 0;flex:0 0 auto}
.tp-time{font-weight:800;font-variant-numeric:tabular-nums;min-width:3.2em}.tp-note{font-style:italic}
.tp-stop.done .tp-grow b,.tp-row.done .tp-chk span,.tp-row.done .tp-grow b{text-decoration:line-through;opacity:.7}
.tp-maps{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:8px 0 0;font-size:.9rem}
.tp-map{display:inline-flex;align-items:center;min-height:32px;padding:2px 10px;border:1px solid var(--bd-cbd5e1);border-radius:999px;text-decoration:none}
.tp-stop-act{margin:8px 0 0;align-items:center}.tp-stop-act select{width:auto;flex:1 1 140px;max-width:240px;min-width:0}
label.tp-chk{display:flex;flex-direction:row;gap:10px;align-items:center;justify-content:flex-start;text-align:left;cursor:pointer;min-height:36px;margin:0;font-weight:400}label.tp-chk input{width:22px;height:22px;flex:0 0 auto}
.tp-track{height:14px;border-radius:999px;background:var(--bg-e2e8f0);overflow:hidden;margin:10px 0;border:1px solid var(--bd-cbd5e1)}.tp-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,#0f766e,#10b981)}
.tp-big{font-weight:700;font-size:1.05rem;margin:6px 0}.tp-warn{font-weight:700;color:var(--fg-b91c1c)}
.tp-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.tp-stat{border:1px solid var(--bd-e2e8f0);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:2px}
.tp-stat.bad{border-color:#dc2626}.tp-sl{font-size:.85rem;color:var(--fg-475569)}.tp-sv{font-size:1.3rem;font-variant-numeric:tabular-nums}
.tp-bars{display:grid;gap:6px;margin:12px 0 0}.tp-bar{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;font-size:.9rem}.tp-bl{grid-column:1}.tp-bv{grid-column:2;grid-row:1;font-variant-numeric:tabular-nums}
.tp-btrack{grid-column:1/-1;height:10px;border-radius:999px;background:var(--bg-e2e8f0);overflow:hidden}.tp-bfill{display:block;height:100%;background:#0f766e}
.tp-fuel{margin:10px 0;border:1px dashed var(--bd-cbd5e1);border-radius:10px;padding:8px 12px}.tp-fuel summary{cursor:pointer;font-weight:700;min-height:32px}
.tp-status{min-height:1.4em;font-weight:600}.tp-del{color:#b91c1c}
:root[data-theme=dark] .tp-row.on{border-color:#2dd4bf;box-shadow:0 0 0 1px #2dd4bf}:root[data-theme=dark] .tp-bfill{background:#2dd4bf}:root[data-theme=dark] .tp-del{color:#991b1b}
@media(min-width:720px){.tp-form{grid-template-columns:repeat(2,1fr)}.tp-inline{grid-template-columns:2fr 90px 1fr auto}.tp-inline .tp-f:first-child{grid-column:auto}.tp-stats{grid-template-columns:repeat(3,1fr)}
 .tp-bar{grid-template-columns:180px 1fr 100px}.tp-bl,.tp-btrack,.tp-bv{grid-column:auto;grid-row:auto}}
@media print{.tp-tabs,.tp-actions,.tp-stop-act,.tp-maps,header,footer,nav,.lz-noshare{display:none!important}.tp-card{break-inside:avoid;border:1px solid #999}}
