:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0e1b2a;background:#f7f8fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{border:1px solid #d7e0e7;background:#fff;border-radius:9px;padding:9px 12px;color:#243447;cursor:pointer;display:inline-flex;align-items:center;gap:7px}button:hover{border-color:#1fa3b1}.primary,.newBtn{background:#1fa3b1;color:#fff;border-color:#1fa3b1}.danger{color:#b73838}.icon{padding:7px}.icon svg,button svg{width:16px;height:16px}.logoMark{width:62px;height:62px}.logoMark.small{width:38px;height:38px}.logoMark img{width:100%;height:100%;object-fit:contain;display:block}.brandHeader{display:flex;align-items:center;gap:15px}.brandHeader h1{margin:0;font-size:36px;letter-spacing:.06em}.brandHeader p{margin:4px 0;color:#1fa3b1;letter-spacing:.18em;font-size:12px}.home{max-width:1200px;margin:auto;padding:48px}.homeTop{display:flex;justify-content:space-between;align-items:end;margin:60px 0 24px}.homeTop h2{font-size:30px;margin:0}.homeTop p{color:#6a7b89}.showGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.showCard{background:#fff;border:1px solid #e0e7ec;border-radius:18px;padding:24px;box-shadow:0 10px 30px #0e1b2a0b;cursor:pointer}.showLogo{height:72px;display:flex;align-items:center}.showLogo img{max-height:62px;max-width:180px}.showCard h3{margin:12px 0 6px}.showCard p{margin:0;color:#748492}.cardFooter{display:flex;justify-content:space-between;align-items:center;margin-top:24px;color:#5f7180}.setupPage{min-height:100vh;padding:50px;background:linear-gradient(135deg,#eff6f7,#f7f8fa)}.setupCard{max-width:980px;margin:auto;background:#fff;border-radius:22px;padding:34px;box-shadow:0 24px 70px #0e1b2a17}.setupTitle{display:flex;gap:16px;align-items:center;margin-bottom:30px}.setupTitle h1{margin:0}.setupTitle p{margin:6px 0;color:#718290}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.formGrid label,.metaGrid label{font-size:12px;font-weight:700;color:#607282;display:flex;flex-direction:column;gap:7px}.formGrid input,.metaGrid input,.episodeEdit input,.stopCard input,.stopCard textarea,.statusBox input,.statusBox select,.titleInput,.typeInput{border:1px solid #dbe3e9;border-radius:8px;padding:10px;background:#fff;color:#0e1b2a}.sectionTitle{display:flex;justify-content:space-between;align-items:center;margin:28px 0 14px}.sectionTitle h2,.sectionTitle h3{margin:0}.sectionTitle p{margin:5px 0 0;color:#718290}.episodeEdit>div{display:flex;gap:8px;margin:8px 0}.episodeEdit input{flex:1}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:30px}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}aside{background:#0e1b2a;color:#fff;padding:18px;position:relative}.sideBrand{display:flex;align-items:center;gap:10px;padding:6px 4px 22px}.sideBrand strong{display:block;letter-spacing:.06em}.sideBrand small{display:block;color:#8fa1b2;margin-top:2px}.newBtn{width:100%;justify-content:center;margin-bottom:24px}.sideLabel{font-size:11px;color:#6f8496;letter-spacing:.14em;margin:12px 6px}.episodeToggle{border:0;background:transparent;color:#dce5eb;width:100%;justify-content:flex-start;padding:9px 5px}.itList{padding-left:18px}.itList button{width:100%;border:0;background:transparent;color:#b9c8d3;display:flex;flex-direction:column;align-items:flex-start;padding:8px}.itList button:hover{background:#16293c}.itList small{color:#688095}.addUnder{color:#1fa3b1!important}.sideBottom{position:absolute;bottom:18px;left:18px;right:18px}.sideBottom button{width:100%;margin-top:8px;background:#13263a;color:#c9d5dd;border-color:#1b344d}.workspace{padding:34px}.workspaceHeader h1{margin:0;font-size:34px}.workspaceHeader p{color:#718290}.dashCards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.dashCards>div,.panel{background:#fff;border:1px solid #e0e7ec;border-radius:16px;box-shadow:0 10px 30px #0e1b2a08}.dashCards>div{padding:20px}.dashCards span{color:#718290}.dashCards strong{display:block;font-size:28px;margin-top:6px}.panel{padding:22px}.recentRow{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid #edf1f4}.recentRow strong{display:block}.recentRow span{display:block;color:#738492;font-size:13px;margin-top:3px}.recentRow>div:last-child{display:flex;gap:8px}.empty{text-align:center;color:#8292a0;padding:30px}.empty.big{padding:70px}.builder{min-height:100vh;background:#f5f7f9}.topbar{height:66px;background:#0e1b2a;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:10}.topbar button{background:#13263a;border-color:#23415e;color:#dce7ee}.builderBrand{display:flex;align-items:center;gap:8px;letter-spacing:.06em}.topActions{display:flex;gap:8px}.builderBody{max-width:1500px;margin:auto;padding:22px}.itineraryMeta{margin-bottom:20px}.metaTop{display:flex;justify-content:space-between;gap:20px}.titleInput{font-size:25px;font-weight:800;border:0;padding:0;width:100%}.typeInput{border:0;padding:3px 0;color:#1fa3b1;letter-spacing:.1em;width:100%}.statusBox{display:flex;gap:8px}.metaGrid{display:grid;grid-template-columns:180px 150px 1fr 1fr;gap:14px;margin-top:18px}.metaGrid label input+input{margin-top:6px}.builderColumns{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px}.buttonRow{display:flex;gap:8px}.summary{height:max-content;position:sticky;top:85px}.summary h3{margin-top:0}.summary>div{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid #edf1f4}.warning{display:block!important;color:#9c5a00;background:#fff4d9;padding:12px!important;border-radius:8px}.libraryDrawer{background:#eaf6f7;border:1px solid #bde1e4;border-radius:12px;padding:14px;margin-bottom:14px}.libraryDrawer h3{margin-top:0}.libraryDrawer button{width:100%;justify-content:flex-start;margin:5px 0;background:#fff}.libraryDrawer span{flex:1;text-align:left}.libraryDrawer strong,.libraryDrawer small{display:block}.stopList{display:flex;flex-direction:column;gap:12px}.stopCard{display:grid;grid-template-columns:34px 150px 1fr;background:#fff;border:1px solid #dfe7ec;border-radius:15px;box-shadow:0 8px 24px #0e1b2a08;overflow:hidden}.stopCard.dragging{opacity:.6}.stopCard.optional{border-style:dashed;background:#fbfcfd}.dragHandle{border:0;border-radius:0;background:#edf3f6;height:100%;padding:0;justify-content:center}.stopTime{padding:18px 14px;border-right:1px solid #edf1f4}.stopTime strong,.stopTime span,.stopTime small{display:block}.stopTime strong{color:#0e1b2a}.stopTime span{font-size:13px;color:#526575;margin-top:2px}.stopTime small{color:#1fa3b1;margin-top:14px}.stopContent{padding:14px}.stopHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.badges{display:flex;gap:6px}.badges span{font-size:10px;letter-spacing:.12em;background:#eaf5f7;color:#16717a;padding:4px 7px;border-radius:999px}.badges .locked{background:#fff1cf;color:#8b6200}.rowButtons{display:flex;gap:5px}.rowButtons button{padding:6px;border:0;background:#f5f7f9}.stopCard input,.stopCard textarea{width:100%;margin:4px 0}.bigInput{font-weight:700;font-size:16px}.two{display:grid;grid-template-columns:1fr 2fr;gap:8px}.stopCard textarea{min-height:58px;resize:vertical}.calcRow{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-top:8px}.calcRow label{font-size:10px;font-weight:700;color:#617382}.calcRow label:not(.check){display:grid;grid-template-columns:auto 58px auto;align-items:center;gap:4px}.calcRow input{padding:7px}.calcRow .check{display:flex;align-items:center;gap:5px;padding-bottom:8px}.calcRow .check input{width:auto}.printOnly{display:none}@media print{body{background:#fff}.topbar,.builderBody{display:none!important}.printOnly{display:block;padding:.35in .45in;font-family:Arial,sans-serif;color:#111}.printHeader{text-align:center}.printHeader img{max-height:.55in;max-width:2in}.printHeader h1{font-size:18px;margin:4px 0}.printHeader h2{font-size:16px;margin:4px 0}.printHeader h3{font-size:13px;margin:3px 0}.printStatus{font-size:12px;font-weight:800;letter-spacing:.08em}.printStatus.draft{color:#c62828}.printStatus.revised{color:#188038}.printStatus.final{color:#111}.sunbar{background:#d9d9d9;padding:6px;text-align:center;font-weight:700;margin:12px 0}.printRow{display:grid;grid-template-columns:1.25in 1fr .75in;gap:14px;min-height:.9in;padding:10px 0;border-bottom:1px solid #ddd;font-size:11px}.printRow>div:first-child{font-weight:700}.printRow>div:last-child{text-align:right;font-weight:700}.printRow.optional{opacity:.65}.driveLine{text-align:center;font-size:9px;color:#617382;padding:3px;border-bottom:1px dotted #ccc}.printFooter{display:flex;justify-content:center;margin-top:.18in;opacity:.48}.printFooter .logoMark{width:.28in;height:.28in}@page{size:portrait;margin:.25in}}@media(max-width:900px){.shell{grid-template-columns:1fr}.shell>aside{display:none}.builderColumns{grid-template-columns:1fr}.summary{position:static}.metaGrid{grid-template-columns:1fr 1fr}.topActions button span{display:none}.stopCard{grid-template-columns:30px 110px 1fr}.formGrid{grid-template-columns:1fr}}.summary.panel{background:#fff!important;color:#0e1b2a!important}.summary.panel h3,.summary.panel span,.summary.panel strong{color:#0e1b2a!important}.summary.panel span{color:#607282!important}.routeStatus{padding:10px 12px;border-radius:9px;margin:-4px 0 12px;font-size:13px;font-weight:700}.routeStatus.loading{background:#eaf6f7;color:#16717a;border:1px solid #bde1e4}.routeStatus.success{background:#eaf7ef;color:#24643a;border:1px solid #bfe2ca}.routeStatus.error{background:#fff1ef;color:#9f372e;border:1px solid #efc2bd}.toast{position:fixed;right:24px;top:82px;z-index:50;background:#0e1b2a;color:#fff;padding:12px 16px;border-radius:10px;box-shadow:0 12px 34px #0e1b2a42;animation:toastLife 2.8s forwards}@keyframes toastLife{0%{opacity:0;transform:translateY(-8px)}10%,80%{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px)}}.savedLibrary{background:#eaf7ef!important;color:#24643a!important;border-color:#bfe2ca!important}.setAssignments{border:1px solid #dbe3e9;border-radius:10px;padding:10px;margin-bottom:7px;background:#f8fbfc}.setAssignmentsHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;color:#42596b;font-size:12px}.setAssignmentsHeader button{padding:5px 8px;font-size:11px}.setAssignmentRow{display:grid;grid-template-columns:1fr 1fr 36px;gap:7px;align-items:center}.setAssignmentRow input{margin:3px 0}.assistantInput{border-left:4px solid #F5A623!important;background:#fffdf7!important}@media print{.printRow{grid-template-columns:120px 1fr 80px 95px!important}.assistantPrint{font-weight:700;text-align:right;color:#243447}.printRow>div:nth-child(4){border-left:1px solid #e2e7eb;padding-left:10px}}.modalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e1b2a9e;display:grid;place-items:center;z-index:10000;padding:24px}.modalCard{width:min(560px,100%);background:#fff;border-radius:18px;box-shadow:0 24px 80px #00000047;padding:26px}.modalCard h2{margin:0 0 8px;color:#0e1b2a}.modalCard p{margin:0 0 20px;color:#526273;line-height:1.5}.modalCard label{display:grid;gap:7px;font-weight:700;color:#243447}.modalCard input{width:100%;box-sizing:border-box}.mapsHelp{margin:16px 0 4px;padding:14px;border-radius:12px;background:#f3f7f9;display:grid;gap:5px;color:#243447}.mapsHelp span:before{content:"• ";color:#1fa3b1}.modalCard .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.stopCard.compact{grid-template-columns:30px 112px 1fr;min-height:0;padding:0;align-items:stretch}.stopCard.compact .dragHandle{align-self:stretch;border-radius:12px 0 0 12px}.stopCard.compact .stopTime{padding:12px 10px;justify-content:center;font-size:12px}.stopCard.compact .stopTime strong{font-size:13px}.stopCard.compact .stopTime span,.stopCard.compact .stopTime small{font-size:10px}.compactSummary{min-height:74px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.compactSummary:hover{background:#f8fbfc}.compactText{display:flex;flex-direction:column;min-width:0;gap:2px}.compactText strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#0e1b2a}.compactText span{font-size:12px;color:#42596b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compactText small{font-size:11px;color:#718290;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expandedFields{padding:4px 12px 14px;border-top:1px solid #e8edf1}.stopCard.collapsed{box-shadow:0 4px 14px #0e1b2a08}.stopCard.expanded{box-shadow:0 10px 28px #0e1b2a12}.routingSettings{padding:8px}@media(max-width:900px){.stopCard.compact{grid-template-columns:28px 96px 1fr}.compactSummary{min-height:68px;padding:8px}.compactText strong{font-size:13px}}.metaTop{align-items:flex-start}.metaRight{display:flex;align-items:flex-start;gap:12px}.statusBox{flex-direction:column;min-width:132px}.weatherCard{width:286px;background:linear-gradient(145deg,#f8fafb,#eef3f6);border:1px solid #dbe4ea;border-radius:13px;padding:12px 14px;color:#0e1b2a;box-shadow:0 6px 18px #0e1b2a0f}.weatherTitle{display:flex;align-items:center;gap:7px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#607282;font-weight:800}.weatherTitle svg{width:15px;height:15px;color:#1fa3b1}.weatherMain{display:flex;align-items:baseline;justify-content:space-between;margin-top:8px}.weatherMain strong{font-size:16px}.weatherMain span{font-size:14px;font-weight:800;color:#243447}.weatherTimes{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid #dce4e9;font-size:10px;color:#607282}.weatherTimes b{color:#243447}.weatherLoading{font-size:12px;color:#718290;margin-top:10px}.summaryBar{width:100%;display:flex;align-items:center;gap:0;background:#e9edf0;border-top:1px solid #d7dfe4;border-bottom:1px solid #d7dfe4;margin:0 0 18px;padding:7px 12px;border-radius:0;color:#243447}.summaryBar>div{display:flex;align-items:baseline;gap:6px;padding:0 16px;border-right:1px solid #cfd8de;min-width:0}.summaryBar>div:first-child{padding-left:4px}.summaryBar>div:last-of-type{border-right:0}.summaryBar span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#718290;font-weight:800}.summaryBar strong{font-size:12px;color:#0e1b2a;white-space:nowrap}.summaryWarning{margin-left:auto!important;border:0!important;color:#8b6200!important;font-size:10px!important;padding:0 4px!important}.builderColumns{grid-template-columns:minmax(0,1fr)!important}@media(max-width:1050px){.metaRight{flex-direction:column}.weatherCard{width:260px}.summaryBar{overflow-x:auto}.summaryBar>div{padding:0 10px}.metaGrid{grid-template-columns:1fr 1fr}}@media print{.printHeaderWrap{display:grid;grid-template-columns:1fr 1.72in;gap:.16in;align-items:start}.printHeader{text-align:center;padding-left:1.72in}.printHeaderWrap .weatherCard{display:block;width:auto;box-shadow:none;border:1px solid #cfd6db;border-radius:7px;padding:7px 8px;background:#f2f4f5}.printHeaderWrap .weatherTitle{font-size:7px;letter-spacing:.09em}.printHeaderWrap .weatherTitle svg{width:11px;height:11px}.printHeaderWrap .weatherMain{margin-top:4px}.printHeaderWrap .weatherMain strong,.printHeaderWrap .weatherMain span{font-size:9px}.printHeaderWrap .weatherTimes{font-size:7px;gap:5px;margin-top:4px;padding-top:4px;display:grid;grid-template-columns:1fr 1fr}.printHeaderWrap .weatherLoading{font-size:8px;margin-top:5px}.sunbar{display:flex;justify-content:center;gap:20px;background:#e5e5e5;color:#333;padding:4px 8px;font-size:8px;font-weight:500;letter-spacing:.04em;margin:10px -.45in 12px;border-top:1px solid #d1d1d1;border-bottom:1px solid #d1d1d1}.sunbar span{white-space:nowrap}.sunbar b{font-weight:700}}.authPage,.loadingPage{min-height:100vh;display:grid;place-items:center;background:#eef2f5;padding:24px;color:#0e1b2a}.loadingPage{font-weight:800}.authCard{width:min(460px,100%);background:#fff;border:1px solid #d8e0e7;border-radius:22px;padding:30px;box-shadow:0 22px 60px #0e1b2a24}.authBrand{display:flex;align-items:center;gap:14px;margin-bottom:28px}.authBrand h1{margin:0;font-size:28px;letter-spacing:.06em}.authBrand p{margin:3px 0 0;color:#1fa3b1;font-weight:800;letter-spacing:.18em;font-size:11px}.authCard form{display:grid;gap:16px}.authCard label{display:grid;gap:7px;font-weight:800}.authCard input{width:100%}.authSent{text-align:center;display:grid;justify-items:center;gap:10px}.authSent svg{width:42px;height:42px;color:#1fa3b1}.formError{background:#fff0f0;color:#b42318;border:1px solid #fecaca;padding:10px 12px;border-radius:10px}.successNote{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0;padding:10px 12px;border-radius:10px}.accountBadge{position:fixed;right:18px;bottom:18px;z-index:80;background:#0e1b2a;color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:9px 10px 9px 14px;display:flex;align-items:center;gap:12px;box-shadow:0 12px 35px #0e1b2a40}.accountBadge div{display:grid}.accountBadge strong{font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis}.accountBadge small{font-size:10px;color:#9fdde4}.accountBadge .icon{color:#fff}.collaboratorsModal{width:min(760px,calc(100vw - 32px));max-height:85vh;overflow:auto}.modalHead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.modalHead h2,.modalHead p{margin:0}.modalHead p{color:#64748b;margin-top:4px}.inviteRow{display:grid;grid-template-columns:1fr 150px auto;gap:12px;align-items:end;padding:16px;background:#f5f7f9;border:1px solid #dce3e9;border-radius:14px}.inviteRow label{display:grid;gap:6px;font-size:12px;font-weight:800}.inviteRow input,.inviteRow select{width:100%}.roleHelp{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#5b6772;margin:12px 0}.roleHelp span{display:flex;gap:6px;align-items:center}.roleHelp svg{width:16px}.memberList{margin-top:16px;border-top:1px solid #e3e8ed}.memberRow{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 2px;border-bottom:1px solid #edf1f4}.memberRow>div:first-child{display:grid}.memberRow span{font-size:12px;color:#697684}.memberRow>div:last-child{display:flex;align-items:center;gap:8px}.roleBadge{display:inline-flex;padding:6px 10px;border-radius:999px;text-transform:capitalize;font-size:11px!important;font-weight:900}.roleBadge.owner{background:#e8f8fa;color:#116772}.roleBadge.pending{background:#fff7df;color:#8a5b00}.accessPill{padding:7px 11px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.accessPill.owner{background:#e8f8fa;color:#116772}.accessPill.editor{background:#eaf2ff;color:#2457a6}.accessPill.viewer{background:#f1f3f5;color:#5b6772}.viewerNotice{display:flex;align-items:center;gap:9px;background:#fff7df;color:#6f4c00;border:1px solid #f2d480;border-radius:12px;padding:11px 14px;margin-bottom:16px;font-weight:700}.viewerNotice svg{width:18px}.readOnlyApp .builder input,.readOnlyApp .builder textarea,.readOnlyApp .builder select{background:#f5f7f9;color:#66727d}.readOnlyApp .builder .primary:not(.printButton),.readOnlyApp .builder .danger{opacity:.45;pointer-events:none}@media(max-width:760px){.inviteRow{grid-template-columns:1fr}.accountBadge{left:12px;right:12px;bottom:12px}.memberRow{align-items:flex-start;flex-direction:column}}.stopCard.pendingScout{border:2px solid #dc3f3f}.stopCard.confirmedScout{border:2px solid #2f9b62}.stopCard.pendingScout .dragHandle{background:#fff0f0;color:#a92727}.stopCard.confirmedScout .dragHandle{background:#eaf8f0;color:#24764b}.confirmBadge{border:0!important;border-radius:999px!important;padding:4px 8px!important;font-size:10px!important;font-weight:900!important;letter-spacing:.08em!important}.confirmBadge.pending{background:#fde8e8!important;color:#b42318!important}.confirmBadge.confirmed{background:#e6f6ed!important;color:#18794e!important}.pendingNoteInput{border-color:#efb2b2!important;color:#b42318!important;background:snow!important}.pendingNoteInput::placeholder,.timeNoteInput::placeholder{color:#c86a6a}.pendingNoteDisplay{margin:0 12px 10px;padding:7px 9px;border-radius:7px;background:#fff2f2;color:#c62828;font-size:12px;font-weight:700;line-height:1.35}.timeNoteDisplay{display:block;margin-top:7px;color:#c62828;font-size:10px;font-weight:700;font-style:normal;line-height:1.25}.timeNoteInput{width:100%!important;margin-top:6px!important;padding:5px 6px!important;border-color:#efb2b2!important;background:snow!important;color:#c62828!important;font-size:10px!important}@media print{.pendingNoteDisplay,.timeNoteDisplay,.timeNoteInput,.confirmBadge{display:none!important}.stopCard.pendingScout,.stopCard.confirmedScout{border-color:#dfe7ec!important}}
