/* Hawaii travel page (travel.html). Form fields reuse the .sw-* form styles in swag.css; trip notes reuse age.css. */
.tv-grid{display:flex;flex-direction:column;gap:22px;padding-top:6px}
.tv-facts dd{max-width:62%}
.tv-facts dd span{display:block;font-weight:400;font-size:14px;color:#C9D6CF}
.tv-facts a{color:var(--volt)}
.tv-side{display:flex;flex-direction:column;gap:16px}
.tv-side .trips{background:var(--white)}
.tv-when{border:0;margin:10px 0 0;padding:0;min-width:0}
.tv-when legend{padding:0;font-family:var(--display);font-weight:900;font-size:20px;text-transform:uppercase;color:var(--green)}
.tv-when legend .sw-opt{font-family:var(--body);font-size:14px;text-transform:none;color:var(--muted)}
.tv-help{margin:6px 0 0;font-size:15px;color:var(--muted)}
.tv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tv-choice{border:0;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.tv-choice label,.tv-check{display:flex;align-items:center;gap:12px;min-height:50px;padding:8px 12px;background:var(--paper);border:3px solid var(--ink);font-weight:700;cursor:pointer}
.tv-choice input,.tv-check input{flex:none;width:24px;height:24px;margin:0;accent-color:var(--green)}
.tv-choice label:has(input:checked){background:var(--white);border-color:var(--green);box-shadow:4px 4px 0 var(--green)}
.tv-choice[aria-invalid="true"] label{border-color:#B3261E}
.tv-inline{flex-direction:row}
.tv-inline label{flex:1;justify-content:center}
.tv-check{align-items:flex-start;margin-top:16px;font-weight:600;line-height:1.35}
.tv-check input{margin-top:2px}
.tv-check[aria-invalid="true"]{border-color:#B3261E;box-shadow:3px 3px 0 #B3261E}
.tv-missed{margin-top:14px;padding:12px 14px;background:#FFC24B;border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}
.tv-missed[hidden]{display:none}
.tv-missed strong{font-family:var(--display);font-weight:900;font-size:20px;text-transform:uppercase}
.tv-missed ul{margin:6px 0 0;padding-left:20px;font-weight:700}
.tv-missed .tv-help{color:var(--ink)}
.tv-other{padding-top:14px;margin-top:14px;border-top:2px dashed var(--line)}
.tv-other[hidden]{display:none}
.sw-field textarea{width:100%;padding:10px 12px;font:inherit;font-size:16px;color:var(--ink);background:var(--paper);border:3px solid var(--ink);border-radius:0;resize:vertical}
.sw-field textarea:focus{outline:3px solid var(--green);outline-offset:2px}
.sw-field input[type="date"],.sw-field input[type="time"]{-webkit-appearance:none;appearance:none;display:block;min-width:0}
.sw-summary .rows dd{text-align:right}
#tv-done .btn{margin-top:8px}
@media (min-width:900px){
  .tv-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
}

/* Password gate */
.tv-lock{max-width:520px}
.tv-lock h2{margin:6px 0 0;font-family:var(--display);font-weight:900;font-size:clamp(32px,8vw,44px);line-height:1;text-transform:uppercase}
.tv-lock p{margin:8px 0 0}
#tv-lock[hidden],[data-unlocked][hidden]{display:none}
.tv-hero-2{margin-top:2px}

/* Who's where board */
.tv-h3{margin:22px 0 10px;font-family:var(--display);font-weight:900;font-size:30px;text-transform:uppercase}
.tv-hotels{display:grid;grid-template-columns:1fr;gap:16px}
.tv-hotel,.tv-flight{background:var(--white);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);padding:12px 14px}
.tv-hotel h4{margin:0;font-family:var(--display);font-weight:900;font-size:24px;line-height:1.05;text-transform:uppercase}
.tv-count{margin:4px 0 0;font-weight:800;font-size:13px;letter-spacing:.5px;text-transform:uppercase;color:var(--green)}
.tv-people{list-style:none;margin:8px 0 0;padding:0}
.tv-people li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:7px 0;border-top:2px dashed var(--line)}
.tv-people b{font-weight:800}
.tv-team{font-size:14px;color:var(--muted)}
.tv-with{font-size:14px;font-weight:700;color:var(--green)}
.tv-dates{margin-left:auto;font-size:14px;color:var(--muted)}
.tv-flights{display:grid;grid-template-columns:1fr;gap:6px}
.tv-day{margin:14px 0 8px;font-family:var(--display);font-weight:900;font-size:20px;text-transform:uppercase;color:var(--green)}
.tv-flight{margin-bottom:12px}
.tv-flight-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.tv-flight-head b{font-family:var(--display);font-weight:900;font-size:22px;text-transform:uppercase}
.tv-flight-head span{font-weight:700;font-size:15px}
.tv-empty{margin:0;color:var(--muted)}
.tv-updated{margin-top:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tv-refresh{min-height:44px;padding:0 14px;background:var(--white);border:3px solid var(--ink);font-family:var(--display);font-weight:900;font-size:18px;text-transform:uppercase;cursor:pointer}
@media (min-width:700px){.tv-hotels{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:900px){.tv-hotels{grid-template-columns:repeat(3,minmax(0,1fr))}.tv-flights{grid-template-columns:1fr 1fr;gap:30px}}
.tv-teams{margin:8px 0 0;display:flex;flex-direction:column}
.tv-tcount{padding:6px 0;border-top:2px dashed var(--line)}
.tv-tcount b{display:inline-block;min-width:44px;font-family:var(--display);font-weight:900;font-size:20px}
.tv-route{margin:2px 0 0;font-weight:700;letter-spacing:.5px}
