.cp-root,.tt-root{--tt-route:#b8321a;--tt-sea:#0d6e6e;--tt-bg:var(--br-bg,#f7f3ea);--tt-surface:var(--br-surface,#fffdf8);--tt-ink:var(--br-ink,#1c1a17);--tt-muted:var(--br-muted,#5a5348);--tt-line:var(--br-line,#e4dac7);--tt-accent:var(--br-accent,#ffc629);--tt-on-accent:var(--br-on-accent,#1c1a17);display:grid;gap:16px}.tt-mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}.tt-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tt-ticket{position:relative;padding-left:52px!important;overflow:hidden}.tt-ticket:before{content:attr(data-step);position:absolute;left:0;top:0;bottom:0;width:38px;display:flex;align-items:flex-start;justify-content:center;padding-top:18px;font:700 1rem/1 ui-monospace,Menlo,monospace;color:var(--tt-on-accent);background:var(--tt-accent);border-right:2px dashed var(--tt-line)}.tt-ticket h2{margin-top:0}@media (max-width:640px){.tt-ticket{padding-left:16px!important;padding-top:40px!important}.tt-ticket:before{width:auto;height:28px;right:0;bottom:auto;padding:6px 0 0 14px;justify-content:flex-start;border-right:0;border-bottom:2px dashed var(--tt-line)}}.tt-rows{display:grid;gap:8px;margin:8px 0}.tt-row{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:flex-end;padding:10px;border:1px solid var(--tt-line);border-radius:10px;background:color-mix(in srgb,var(--tt-bg) 55%,var(--tt-surface))}.tt-field{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 9rem;font-size:.85rem;color:var(--tt-muted);font-weight:600}.tt-field>input,.tt-field>select{font:inherit;font-weight:400;color:var(--tt-ink);background:var(--tt-surface);border:1px solid color-mix(in srgb,var(--tt-ink) 35%,transparent);border-radius:8px;padding:8px 10px;min-height:40px;width:100%;box-sizing:border-box}.tt-field-name{flex:2 1 12rem}.tt-field-xs{flex:0 1 6rem}.tt-field-time{flex:0 1 9rem}.tt-field-wide{max-width:28rem;margin-bottom:8px}.tt-check{display:inline-flex;align-items:center;gap:6px;min-height:40px;font-weight:600;color:var(--tt-ink)}.tt-check input{width:20px;height:20px;accent-color:var(--tt-ink)}.tt-remove{flex:none;width:40px;height:40px;border-radius:8px;border:1px solid var(--tt-line);background:var(--tt-surface);color:var(--tt-ink);font-size:1.3rem;line-height:1;cursor:pointer}.tt-remove:focus-visible,.tt-remove:hover{border-color:var(--tt-route);color:var(--tt-route)}.tt-inline{gap:10px;align-items:flex-end;margin:10px 0}.tt-chips,.tt-inline{display:flex;flex-wrap:wrap}.tt-chips{gap:6px;align-items:center;border:0;margin:0;padding:0;flex:1 1 22rem}.tt-chips legend{font-size:.85rem;font-weight:600;color:var(--tt-muted);padding:0;margin-bottom:3px}.tt-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;border:1px solid var(--tt-line);background:var(--tt-surface);font-size:.85rem;cursor:pointer}.tt-chip:has(input:checked){background:var(--tt-ink);color:var(--tt-surface);border-color:var(--tt-ink)}.tt-chip input{accent-color:var(--tt-accent)}.tt-chip-hint{font-size:.8rem;color:var(--tt-muted)}.tt-paste{margin:8px 0}.tt-paste summary{cursor:pointer;font-weight:600}.tt-paste textarea{width:100%;font-family:ui-monospace,Menlo,monospace;margin:6px 0;box-sizing:border-box}.tt-blocked,.tt-error{color:var(--tt-route);font-weight:700}.tt-blocked{border:2px solid var(--tt-route);border-radius:10px;padding:10px 12px;margin:8px 0;background:color-mix(in srgb,var(--tt-route) 7%,var(--tt-surface))}.tt-warn{color:var(--tt-ink);font-weight:600}.tt-tag{display:inline-block;font:700 .72rem/1.2 ui-monospace,Menlo,monospace;text-transform:uppercase;letter-spacing:.04em;padding:3px 7px;border-radius:5px;background:var(--tt-ink);color:var(--tt-surface)}.tt-tag-sea{background:var(--tt-sea);color:#fff}.tt-seal{border-radius:14px;padding:14px 16px;margin:8px 0 14px;border:2px solid;background:var(--tt-surface)}.tt-seal-ok{border-color:var(--tt-sea)}.tt-seal-bad{border-color:var(--tt-route);background:color-mix(in srgb,var(--tt-route) 6%,var(--tt-surface))}.tt-seal-head{display:flex;gap:12px;align-items:center}.tt-seal-mark{flex:none;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;font:800 .9rem/1 ui-monospace,Menlo,monospace;color:#fff;letter-spacing:.04em}.tt-seal-ok .tt-seal-mark{background:var(--tt-sea);box-shadow:0 0 0 4px var(--tt-surface),0 0 0 6px var(--tt-sea)}.tt-seal-bad .tt-seal-mark{background:var(--tt-route);border-radius:12px}.tt-seal-title{font-size:1.1rem;color:var(--tt-ink)}.tt-seal-ok .tt-seal-title{color:var(--tt-sea)}.tt-seal-bad .tt-seal-title{color:var(--tt-route)}.tt-seal-sub{color:var(--tt-muted);font-size:.92rem}.tt-seal-rules{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:4px}.tt-seal-rules li{font-size:.92rem}.tt-rule-mark{display:inline-block;min-width:7.5rem;font:700 .75rem/1.4 ui-monospace,Menlo,monospace;text-transform:uppercase}li[data-ok=true] .tt-rule-mark{color:var(--tt-sea)}.tt-seal-errors,li[data-ok=false] .tt-rule-mark{color:var(--tt-route)}.tt-seal-errors{margin:10px 0 0;padding-left:20px;font-weight:600}.tt-seal-warnings{margin:8px 0 0;padding-left:20px}.tt-legend{font-size:.88rem;color:var(--tt-muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tt-floor{border-top:3px solid var(--tt-ink);padding:10px 0 4px;margin-top:10px}.tt-floor[data-over=true]{outline:3px dashed var(--tt-ink);outline-offset:4px}.tt-floor-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.tt-floor-head h4{margin:0;font-size:1rem;text-transform:uppercase;letter-spacing:.06em}.tt-badge{font-size:.8rem;font-weight:700;padding:3px 9px;border-radius:999px;border:1px solid var(--tt-line);color:var(--tt-ink)}.tt-badge-ok{border-color:var(--tt-sea);color:var(--tt-sea)}.tt-badge-bad{border-color:var(--tt-route);color:var(--tt-route);background:color-mix(in srgb,var(--tt-route) 7%,var(--tt-surface))}.tt-rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.tt-room{border:1px solid var(--tt-line);border-radius:12px;padding:10px;background:var(--tt-surface);min-height:84px}.tt-room[data-bad=true]{border:2px solid var(--tt-route)}.tt-room[data-over=true]{outline:3px dashed var(--tt-ink);outline-offset:2px}.tt-room-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.tt-people{list-style:none;margin:0;padding:0;display:grid;gap:6px}.tt-person{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;padding:6px 8px;border-radius:8px;background:color-mix(in srgb,var(--tt-bg) 70%,var(--tt-surface));cursor:grab}.tt-person[data-bad=true]{box-shadow:inset 3px 0 0 var(--tt-route)}.tt-person-name{font-weight:700}.tt-person-meta{grid-column:2;font-size:.8rem;color:var(--tt-muted)}.tt-move{grid-column:1/-1}.tt-move select{width:100%;font:inherit;font-size:.85rem;padding:5px 6px;border-radius:6px;border:1px solid color-mix(in srgb,var(--tt-ink) 30%,transparent);background:var(--tt-surface);color:var(--tt-ink)}.tt-shape{display:inline-block;width:12px;height:12px;background:var(--tt-ink);flex:none}.tt-shape-circle{border-radius:50%}.tt-shape-square{border-radius:2px}.tt-shape-ring{border-radius:50%;background:transparent;border:3px solid var(--tt-ink);width:13px;height:13px;box-sizing:border-box}.tt-beds{display:flex;gap:6px;margin-top:8px}.tt-bed{width:22px;height:12px;border-radius:4px;border:2px dashed var(--tt-muted)}.tt-unplaced{border-top-style:dashed}.tt-moneybar{display:flex;height:34px;border-radius:8px;overflow:hidden;margin:14px 0;border:1px solid var(--tt-ink)}.tt-moneybar span{display:flex;align-items:center;padding:0 10px;font:700 .82rem/1 ui-monospace,Menlo,monospace;white-space:nowrap;overflow:hidden}.tt-moneybar-club{background:var(--tt-ink);color:var(--tt-surface)}.tt-moneybar-fam{background:var(--tt-accent);color:var(--tt-on-accent)}.tt-table-wrap{overflow-x:auto}.tt-table{border-collapse:collapse;width:100%}.tt-table td,.tt-table th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--tt-line)}.tt-table .tt-num{text-align:right;font-family:ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums}.tt-mileage{margin:12px 0;padding:12px;border-radius:10px;border:1px dashed var(--tt-ink)}.tt-mileage h3{margin:0 0 6px}.tt-transfers{padding-left:22px;display:grid;gap:4px}.tt-families{list-style:none;padding:0;display:grid;gap:4px}.tt-families li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--tt-line);padding:2px 0}.tt-daytabs{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.tt-daytab{font:700 .9rem/1 ui-monospace,Menlo,monospace;padding:9px 14px;border-radius:999px;border:1px solid var(--tt-ink);background:var(--tt-surface);color:var(--tt-ink);cursor:pointer}.tt-daytab-on{background:var(--tt-ink);color:var(--tt-surface)}.tt-daypanel{border-left:3px solid var(--tt-accent);padding-left:12px}.tt-return{margin:10px 0}.tt-timeline{margin-top:12px}.tt-strip{position:relative;padding-bottom:22px}.tt-day{display:grid;grid-template-columns:4.5rem 1fr;gap:10px;align-items:start;border-bottom:1px dashed var(--tt-line)}.tt-day-label{font:700 .8rem/1 ui-monospace,Menlo,monospace;text-transform:uppercase;padding-top:14px}.tt-track{position:relative}.tt-line{position:absolute;top:18px;height:3px;background:var(--tt-route)}.tt-line-return{background:var(--tt-sea);height:5px;top:17px}.tt-stop{position:absolute;top:12px;transform:translateX(-50%)}.tt-dot{display:block;width:14px;height:14px;border-radius:50%;background:var(--tt-surface);border:3px solid var(--tt-route);box-sizing:border-box}.tt-stop-match .tt-dot{background:var(--tt-accent);border-color:var(--tt-ink)}.tt-stop-home .tt-dot,.tt-stop-return .tt-dot{border-color:var(--tt-sea)}.tt-stop-home .tt-dot{background:var(--tt-sea)}.tt-stop-warmup .tt-dot{width:10px;height:10px;margin:2px}.tt-stop-label{position:absolute;left:50%;transform:translateX(-50%);width:max-content;max-width:7.5rem;font-size:.74rem;line-height:1.2;text-align:center;color:var(--tt-ink)}.tt-stop-label b{display:block;font-size:.78rem}.tt-stop-label span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tt-stop-label-end{transform:translateX(-100%);left:12px;text-align:right}.tt-stop-label-start{transform:none;left:-2px;text-align:left}.tt-stop-label-end:before{left:auto;right:6px}.tt-stop-label-start:before{left:8px}.tt-stop-label:before{content:"";position:absolute;left:50%;top:-12px;height:10px;border-left:1px solid var(--tt-line)}.tt-scale{position:relative;height:18px;margin-left:calc(4.5rem + 10px)}.tt-scale span{position:absolute;transform:translateX(-50%);font-size:.7rem;color:var(--tt-muted)}.tt-list{margin:0}.tt-list,.tt-list ol{list-style:none;padding:0}.tt-list ol{margin:0 0 8px}.tt-list li li{padding:4px 0;border-bottom:1px solid var(--tt-line)}.tt-list h4{margin:10px 0 4px}.tt-list-home,.tt-list-return{color:var(--tt-sea);font-weight:700}@media (min-width:641px){.tt-list{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}}@media (max-width:640px){.tt-strip{display:none}.tt-rule-mark{display:block;min-width:0}}.tt-issues{padding-left:0;list-style:none;display:grid;gap:6px}.tt-issues li[data-sev=error] .tt-tag{background:var(--tt-route);color:#fff}.tt-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.tt-action{border:1px solid var(--tt-line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.tt-action h3{margin:0}.tt-root button:disabled{opacity:.55;cursor:not-allowed}.cp-car{border:1px solid var(--tt-line);border-radius:12px;padding:12px;background:var(--tt-surface)}.cp-cars{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.cp-car h3{margin:0 0 4px}.cp-leg{display:flex;align-items:center;gap:6px;margin:8px 0;font-size:.8rem}.cp-leg-line{flex:1;height:3px;background:var(--tt-route);position:relative}.cp-leg-line.cp-back{background:var(--tt-sea)}.cp-estimate{display:inline-block;font:700 .7rem/1.3 ui-monospace,Menlo,monospace;text-transform:uppercase;border:1px solid var(--tt-ink);border-radius:4px;padding:1px 5px;margin-left:4px}@media (prefers-reduced-motion:reduce){.cp-root *,.tt-root *{transition:none!important;animation:none!important}}@media print{.br-bar,.heroActions,.nv8-header,.tt-legend,.tt-move,.tt-noprint,.tt-root[data-blocked=true]>*{display:none!important}.tt-root[data-blocked=true]:before{content:attr(data-blocked-text);font-weight:700}.tt-ticket{break-inside:avoid;box-shadow:none!important}.tt-list{position:static!important;width:auto;height:auto;clip:auto}.tt-strip{display:none}}