:root{--red:#df1721;--ink:#202021;--muted:#66666d;--line:#e7e7eb;--bg:#f6f6f8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}button,input{font:inherit}button,summary{cursor:pointer}button{transition:background .15s,border-color .15s}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #df172180;outline-offset:3px}header{height:90px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1152px)/2))}.brand{display:flex;gap:14px;align-items:center}.brand img{width:59px;height:59px}.brand strong{font-size:20px;letter-spacing:.02em}.brand span{display:block;font-size:10px;letter-spacing:.2em;color:var(--muted);margin-top:5px}.header-date{font-size:13px;color:var(--muted)}.header-date span{font-weight:700;color:var(--ink)}main{max-width:1200px;margin:auto;padding:34px 24px 20px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.18em;color:var(--red);margin:0 0 10px}h1{font-size:34px;letter-spacing:-1.3px;line-height:1.15;margin:0}h1 span{color:var(--red)}.intro p:not(.eyebrow){color:var(--muted);margin:12px 0 0}.pill{background:#fff;border:1px solid var(--line);border-radius:30px;padding:9px 13px;font-size:11px;color:var(--muted)}.pill:before{content:'';display:inline-block;width:6px;height:6px;background:var(--red);border-radius:50%;margin-right:8px}.selector{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.days{display:grid;grid-template-columns:repeat(5,1fr);padding:10px;gap:8px}.day{background:white;border:1px solid transparent;border-radius:10px;padding:13px 8px;text-align:left;color:var(--ink)}.day .weekday{font-size:11px;color:var(--muted)}.day strong{display:block;font-size:24px;line-height:1.4}.day strong span{font-size:12px;font-weight:500;color:var(--muted);margin-left:5px}.day .day-stage{font-size:10px;font-weight:600}.day.support{background:#f5f5f7}.day.support .day-stage{color:var(--muted)}.day.active{background:#fff0f0;border-color:var(--red)}.day.active strong,.day.active .weekday,.day.active .day-stage{color:var(--red)}.day:hover{border-color:#bcbcc2}.timebar{padding:20px 22px;border-top:1px solid var(--line);display:flex;gap:30px;align-items:center}.timebar label{display:block;font-size:11px;font-weight:650;margin-bottom:7px}.timebar label span{color:var(--muted);font-weight:400}#time{padding:6px 10px;border:1px solid var(--line);border-radius:7px;background:white;font-size:22px;font-weight:650;color:var(--ink);width:150px}input[type=range]{width:100%;accent-color:var(--red);cursor:pointer;margin:0;height:24px}.slider-wrap{flex:1}.ticks{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:4px}.outline{background:white;border:1px solid var(--line);border-radius:7px;padding:11px 17px}.outline:hover{background:var(--bg)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:25px 0 13px}h2{font-size:14px;font-weight:650;margin:0}.section-heading h2{font-size:16px}.stage{font-size:10px;letter-spacing:.04em;background:#fce8e9;color:#b61018;padding:6px 9px;border-radius:5px}.stage.support{background:#eaeaec;color:#52525a}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.stat{border:1px solid var(--line);border-radius:13px;padding:21px 23px;background:white;position:relative}.stat-label{font-weight:650;font-size:13px;display:flex;gap:8px;align-items:center}.symbol{font-size:17px}.stat strong{font-size:48px;letter-spacing:-2px;display:block;margin:11px 0 3px;line-height:1}.stat>span{font-size:11px;color:var(--muted)}.medical{background:var(--red);border-color:var(--red);color:white}.medical>span{color:#ffdbde}.logistics .symbol{color:var(--red)}.total{background:#eeeeF1}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.left-column{display:grid;gap:16px}.panel{background:white;border:1px solid var(--line);border-radius:13px;padding:22px}.panel-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:17px}.small{font-size:10px;color:var(--muted)}.specialties{display:grid;grid-template-columns:1fr 1fr;gap:9px}.specialty{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:7px;padding:12px;font-size:12px}.specialty strong{font-size:18px}.specialty.empty{color:#75757d;background:#fafafa}.specialty:not(.empty) strong{color:var(--red)}.roster{padding:0}.roster summary{padding:20px 22px;font-weight:650;list-style-position:inside}.roster summary span{float:right;color:var(--muted);font-weight:400}.filters{display:flex;gap:7px;padding:0 22px 15px}.filters button{border:1px solid var(--line);background:white;border-radius:6px;padding:8px 12px;font-size:11px}.filters .active{background:var(--ink);color:white;border-color:var(--ink)}#people{list-style:none;margin:0;padding:0 22px 10px}#people li{padding:12px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:8px;font-size:12px}#people li span{color:var(--muted);font-size:11px}.assumptions{font-size:11px;color:var(--muted);line-height:1.7;padding:0 3px}.assumptions summary{font-weight:600}.assumptions ul{padding-left:18px}.timeline-hint{font-size:11px;color:var(--muted);margin:-5px 0 22px}.timeline{position:relative}.timeline:before{content:'';position:absolute;top:19px;bottom:20px;left:7px;width:1px;background:var(--line)}.event{position:relative;padding:0 0 18px 27px}.event:before{content:'';width:9px;height:9px;border:2px solid white;background:#c8c8cf;border-radius:50%;position:absolute;left:1px;top:13px;z-index:1}.event.selected:before{background:var(--red);box-shadow:0 0 0 3px #ffeaeb}.event button{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:9px;padding:13px;color:var(--ink)}.event.selected button{border-color:#f2b5b9;background:#fff7f7}.event button:hover{border-color:var(--red)}.event-top{display:flex;justify-content:space-between;gap:8px}.event-time{font-size:13px;font-weight:700}.event-note{font-size:9px;color:var(--muted)}.movement{font-size:11px;line-height:1.65;color:var(--muted);margin:8px 0}.movement b{font-weight:650;color:var(--ink)}.after{display:flex;gap:7px;flex-wrap:wrap;font-size:10px;margin-top:10px}.after span{background:#f2f2f5;border-radius:4px;padding:5px 7px}.after .med{background:#ffecee;color:#b61018}.empty-message{color:var(--muted);font-size:12px;line-height:1.6}footer{display:flex;justify-content:space-between;gap:12px;margin-top:36px;padding-top:18px;border-top:1px solid var(--line);font-size:9px;letter-spacing:.04em;color:var(--muted)}@media(min-width:1000px){.timeline-panel{min-height:365px}}@media(max-width:650px){header{height:76px;padding:0 18px}.brand img{width:47px;height:47px}.brand strong{font-size:17px}.header-date{font-size:10px;max-width:110px;text-align:right}main{padding:24px 14px 16px}.intro{margin-bottom:22px}.intro h1{font-size:27px;letter-spacing:-.8px}.intro p:not(.eyebrow){font-size:12px}.intro .pill{display:none}.days{gap:4px;padding:7px}.day{padding:10px 5px;text-align:center}.day .weekday{font-size:9px}.day strong{font-size:22px}.day strong span{display:none}.day .day-stage{font-size:8px;letter-spacing:-.15px}.timebar{padding:15px;gap:12px;flex-wrap:wrap}.timebar>div:first-child{flex:1}.slider-wrap{order:3;flex-basis:100%}#time{width:150px;font-size:22px}.stats{gap:8px;margin-bottom:17px}.stat{padding:16px 12px}.stat-label{font-size:11px;gap:5px}.symbol{font-size:13px}.stat strong{font-size:40px}.stat>span{font-size:9px}.section-heading h2{font-size:13px}.stage{font-size:9px}.content-grid{grid-template-columns:1fr;gap:20px}.panel{padding:18px}.small{font-size:9px}.roster{padding:0}.panel-heading{margin-bottom:14px}footer{flex-direction:column;line-height:1.6;margin-top:27px}.specialty{font-size:11px}.event{padding-left:25px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.availability-chart{margin-top:22px}.availability-chart .panel-heading{align-items:flex-start}.chart-subtitle{font-size:11px;color:var(--muted);margin:7px 0 0}.chart-legend{display:flex;gap:16px;font-size:11px;padding-top:2px}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{width:9px;height:9px;border-radius:2px}.legend-med{background:var(--red)}.legend-log{background:#323237}.chart-selected{display:flex;flex-wrap:wrap;gap:8px 18px;padding:11px 14px;background:#fff0f0;border-radius:7px;margin-bottom:15px;font-size:12px}.chart-selected strong{color:#9c121a}.chart-selected span{color:var(--muted)}.chart-scroll{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-color:#c0c0c7 #f4f4f6}.chart-scroll svg{display:block;width:100%;min-width:1100px;touch-action:pan-x pan-y;cursor:crosshair}.chart-day{font-size:13px;font-weight:650;fill:#202021}.chart-stage{font-size:10px;fill:#66666d}.chart-tick{font-size:10px;fill:#66666d}.chart-marker-label{font-size:12px;font-weight:650;fill:#fff}.chart-axis-label{font-size:11px;fill:#66666d}.chart-bar:hover{opacity:.72}.chart-help{font-size:10px;color:var(--muted);line-height:1.7;margin:14px 0 0}.chart-scroll svg:focus-visible{outline:2px solid var(--red);outline-offset:-2px}@media(max-width:650px){.availability-chart .panel-heading{flex-direction:column;gap:12px}.chart-selected{font-size:11px}.chart-legend{font-size:10px}.availability-chart{padding:18px 12px}}

.log-counts{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.log-counts>div{min-width:0}.log-counts strong{font-variant-numeric:tabular-nums}.log-counts>div>span{display:block;font-size:11px;color:var(--muted);line-height:1.3}.log-kpp{border-left:1px solid #dddde3;padding-left:14px}.legend-kpp{background:#888892}.chart-legend{flex-wrap:wrap;gap:8px 16px}.kpp-badge{display:inline-block;padding:3px 6px;background:#eeeeF1;border-radius:4px;font-weight:650;color:#323237!important}#people li>.kpp-badge{font-size:10px}@media(max-width:650px){.log-counts{gap:6px}.log-kpp{padding-left:6px}.stat .log-counts strong{font-size:40px}.log-counts>div>span{font-size:8px;display:block;line-height:1.3}.chart-legend{gap:8px 12px}}

/* Independent meal and overnight planning sections */
.logistics-section{margin-top:42px;border-radius:20px;padding:30px}.logistics-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.logistics-heading h2{font-size:27px;letter-spacing:-.6px;font-weight:700}.logistics-heading p:not(.section-kicker){font-size:12px;margin:10px 0 0}.section-kicker{margin:0 0 10px;font-size:10px;letter-spacing:.18em;font-weight:700}.section-icon{font-size:38px;opacity:.55}.food-section{background:#eee9e0;border:1px solid #e2dccf;color:#292a26}.food-section .logistics-heading p:not(.section-kicker){color:#686a62}.meal-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.meal-total{background:#fffdf7;border:1px solid #ddd7ca;border-radius:12px;padding:19px}.meal-total-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.meal-total-heading h3{margin:0;font-size:13px}.meal-total-heading>span{font-size:10px;color:#727365}.meal-numbers{display:grid;grid-template-columns:1fr 1fr;margin-top:20px;gap:15px}.meal-numbers>div+div{border-left:1px solid #e4decf;padding-left:18px}.meal-numbers strong{display:block;font-size:42px;letter-spacing:-1.5px;line-height:1}.meal-numbers>div+div strong{color:#55684e}.meal-numbers span{display:block;font-size:11px;color:#717468;margin-top:7px}.food-day-panel{margin-top:24px;background:#fffdf7;border:1px solid #ddd7ca;border-radius:12px;padding:22px}.local-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.local-section-heading h3{font-size:14px;margin:0}.local-section-heading>span{font-size:10px;color:inherit;opacity:.7}.local-tabs{display:flex;gap:8px;flex-wrap:wrap}.local-tabs button{flex:1;border:1px solid #ded8cc;border-radius:8px;background:transparent;padding:12px 8px;min-height:54px;color:inherit;text-align:left}.local-tabs button b{font-size:12px;display:block}.local-tabs button span{font-size:10px;display:block;margin-top:5px;opacity:.7}.food-section .local-tabs button.selected{background:#303d2d;color:white;border-color:#303d2d}.meal-table{border-collapse:collapse;width:100%;font-size:12px}.meal-table th,.meal-table td{padding:14px 10px;border-bottom:1px solid #e5dfd4;text-align:right}.meal-table th:first-child{text-align:left}.meal-table thead th{font-size:10px;color:#737469;font-weight:500}.meal-table td{font-size:21px;font-weight:650;font-variant-numeric:tabular-nums}.meal-table td:nth-child(3){color:#55684e}.meal-table small{display:block;font-weight:400;color:#727468;font-size:10px;margin-top:5px}.meal-table tfoot th,.meal-table tfoot td{border-bottom:0;font-size:12px;padding-top:20px}.meal-table tfoot td{font-size:17px}#food-detail h4{font-size:12px;margin:25px 0 5px}.food-footnote{font-size:10px;line-height:1.7;color:#6c6d63;margin:17px 0 0}.sleep-section{background:#20212a;color:#f3f3f6;border:1px solid #30313d}.sleep-section .logistics-heading p:not(.section-kicker){color:#b3b4c3}.sleep-section .section-kicker{color:#b8bad1}.sleep-section .local-tabs{margin-bottom:20px}.sleep-section .local-tabs button{border-color:#494b5f;background:#292b37;padding:15px 18px}.sleep-section .local-tabs button.selected{background:#41455d;border-color:#898fae;color:#fff}.sleep-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.sleep-stats>div{border:1px solid #414353;border-radius:10px;padding:17px;background:#292b36}.sleep-stats strong{display:block;font-size:38px;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-1px}.sleep-stats span{display:block;margin-top:8px;font-size:11px;color:#b6b8c8}.sleep-stats>div:first-child strong{color:#bfcabd}.sleep-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:18px;border-bottom:1px solid #3b3d4d;margin-bottom:20px}.sleep-toolbar span{font-size:10px;color:#b3b6c9}.sleep-button{background:transparent;color:#dddfea;border:1px solid #52556b;border-radius:6px;padding:8px 12px;font-size:11px}.sleep-signin{display:inline-block;color:#e0e5ff;text-decoration:none;border:1px solid #606780;border-radius:7px;padding:11px 14px;font-size:11px;margin-bottom:17px;background:#2d3142}.sleep-signin:hover{background:#3a4054}.sleep-message{font-size:11px;color:#d4d8f1;line-height:1.6;margin-bottom:15px}.sleep-message:empty{display:none}.sleep-grid{display:grid;grid-template-columns:.85fr 1.5fr;gap:23px;align-items:start}.unassigned-panel{background:#292b37;border:1px solid #3f4153;border-radius:12px;padding:18px}.unassigned-list{list-style:none;padding:0;margin:0}.unassigned-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #3c3e4e;padding:13px 0;font-size:11px}.unassigned-list .needs-bed{font-size:9px;background:#3e3840;color:#dcccd1;padding:5px 7px;border-radius:5px;white-space:nowrap}.sleep-empty{color:#c3d3c0}.tent-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tent-card{border:1px solid #424557;border-radius:10px;background:#2a2c38;padding:15px}.tent-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.tent-heading h4{font-size:12px;margin:0 0 5px}.tent-heading>div>span{font-size:9px;color:#b6b9ca}.tent-free{font-size:9px;padding:5px 7px;border:1px solid #60745f;background:#333d34;color:#c5d7c2;border-radius:5px;white-space:nowrap}.tent-free.full{border-color:#515466;background:#353744;color:#bbbfd0}.tent-slots{display:flex;gap:5px;margin:14px 0}.tent-slots i{height:8px;flex:1;border-radius:3px;border:1px solid #758074;background:transparent}.tent-slots i.occupied{background:#8c95ae;border-color:#8c95ae}.tent-occupants{list-style:none;margin:0;padding:0}.tent-occupants li{display:flex;align-items:center;justify-content:space-between;gap:7px;border-top:1px solid #414352;padding:10px 0;font-size:10px;line-height:1.5}.tent-occupants small{font-size:9px;color:#b2b6c8;display:block}.owner-mark{font-size:8px;color:#b2b6c8}.remove-bed{background:transparent;color:#e1ccd2;border:0;padding:6px 0 6px 7px;font-size:9px}.assign-form{margin-top:8px;border-top:1px solid #414352;padding-top:13px}.assign-form label{font-size:9px;color:#bdc0d1;display:block;margin-bottom:7px}.assign-form>div{display:flex;gap:6px;flex-wrap:wrap}.assign-form select{background:#20222d;color:#e4e6f0;border:1px solid #5a6075;border-radius:6px;padding:8px 7px;min-width:0;flex:1;width:100%;font-size:10px}.assign-button{background:#697692;color:white;border:1px solid #697692;border-radius:6px;padding:8px 10px;font-size:10px}.assign-button:hover{background:#7c8aa7}.sleep-section button:disabled,.sleep-section select:disabled{opacity:.45;cursor:default}.sleep-footnote{font-size:10px;color:#aeb2c5;line-height:1.7;margin:23px 0 0}.sleep-section a:focus-visible,.sleep-section select:focus-visible,.sleep-section button:focus-visible{outline:2px solid #b4c4f0;outline-offset:3px}@media(max-width:850px){.sleep-grid{grid-template-columns:1fr}.tent-list{grid-template-columns:1fr 1fr}}@media(max-width:650px){.logistics-section{padding:22px 14px;border-radius:15px;margin-top:30px}.logistics-heading h2{font-size:23px}.logistics-heading p:not(.section-kicker){font-size:10px;line-height:1.6}.meal-totals{gap:8px}.meal-total{padding:13px 9px}.meal-total-heading{display:block}.meal-total-heading h3{font-size:11px}.meal-total-heading>span{display:block;margin-top:5px;font-size:9px}.meal-numbers{gap:6px;margin-top:15px}.meal-numbers>div+div{padding-left:6px}.meal-numbers strong{font-size:27px;letter-spacing:-.8px}.meal-numbers span{font-size:9px}.food-day-panel{padding:16px 11px}.local-tabs{gap:5px}.local-tabs button{padding:10px 4px;text-align:center}.local-tabs button b{font-size:11px}.local-tabs button span{font-size:8px}.meal-table th,.meal-table td{padding:13px 6px}.meal-table th{font-size:11px}.meal-table td{font-size:21px}.sleep-stats{gap:8px}.sleep-stats>div{padding:13px 9px}.sleep-stats strong{font-size:32px}.sleep-stats span{font-size:9px;line-height:1.4}.sleep-section .local-tabs button{padding:13px 8px}.tent-list{grid-template-columns:1fr}.tent-card{padding:17px}.tent-heading h4{font-size:13px}.tent-heading>div>span{font-size:10px}.tent-occupants li{font-size:11px}.assign-form select{font-size:12px;padding:10px 7px}.assign-button{font-size:11px;padding:10px 12px}.section-icon{font-size:31px}.sleep-footnote{font-size:9px}.sleep-signin{font-size:10px;line-height:1.6}}

.tent-group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.tent-group-heading h4{font-size:12px;margin:0;color:#e6e9f2}.tent-group-heading>span,.full-tents-count{font-size:10px;font-variant-numeric:tabular-nums;color:#b9bed0;background:#353847;border-radius:5px;padding:4px 8px}.tent-group-empty{font-size:11px;line-height:1.6;color:#bdc2d4;grid-column:1/-1;margin:0;padding:15px;border:1px dashed #484d61;border-radius:8px}.full-tents{margin-top:20px;border:1px solid #414557;border-radius:10px;background:#242632}.full-tents>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;padding:15px;font-size:12px;color:#bac0d1;min-height:48px}.full-tents>summary::-webkit-details-marker{display:none}.full-tents>summary::before{content:"›";font-size:21px;line-height:1;transition:transform .15s}.full-tents[open]>summary::before{transform:rotate(90deg)}.full-tents-count{margin-left:auto}.full-tents>.tent-list{padding:0 12px 12px}.full-tents>summary:focus-visible{outline:2px solid #b4c4f0;outline-offset:3px;border-radius:8px}.full-tents .tent-card{background:#292b36}
html{scroll-behavior:smooth}.anchor-target,.logistics-section{scroll-margin-top:24px}.cockpit{background:#23252e;color:#f5f6f9;border:1px solid #363943;border-radius:20px;padding:30px;margin:0 0 38px;overflow:hidden}.cockpit .section-kicker{color:#b5bccb}.cockpit h1{font-size:27px;letter-spacing:-.7px;margin:0 0 22px}.cockpit-top{display:flex;align-items:center;justify-content:space-between;gap:28px}.cockpit-clock{font-size:56px;line-height:1;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-2px;display:block}.cockpit #cockpit-date{margin:12px 0 5px;font-size:12px;color:#d1d5df;text-transform:capitalize}.cockpit-timezone{font-size:10px;color:#929bab}.cockpit-phase-card{display:flex;flex-direction:column;gap:12px;min-width:230px;border-left:1px solid #505664;padding:16px 0 16px 28px}.phase-caption{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#b0b8c6}.cockpit-phase-card strong{font-size:24px;letter-spacing:-.4px}.cockpit-phase-card>span:last-child{font-size:11px;color:#b9c1ce;line-height:1.6}.cockpit-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}.cockpit-nav a{display:flex;align-items:center;gap:14px;border:1px solid #4a5060;background:#30343f;border-radius:12px;padding:20px;color:#f3f4f8;text-decoration:none;min-width:0;transition:background .15s,border-color .15s}.cockpit-nav a:hover{background:#3a414e;border-color:#7d899a}.cockpit-nav a:focus-visible{outline:2px solid #cbd8ec;outline-offset:4px}.cockpit-nav .nav-icon{font-size:28px;width:32px;text-align:center;flex-shrink:0;color:#becadd}.cockpit-nav strong{display:block;font-size:15px}.cockpit-nav small{display:block;font-size:10px;color:#b5bece;margin-top:5px;line-height:1.4}.cockpit-nav a>span:last-child{margin-left:auto;color:#aab5c6}.location-placeholder{height:225px;border-radius:12px;position:relative;overflow:hidden;background:#d4d6d9;color:#454951;border:1px solid #9097a0;display:flex;align-items:center;justify-content:center}.map-background{position:absolute;width:100%;height:100%;inset:0;opacity:.6}.map-background path{fill:none;stroke:#b7babf;stroke-width:12;stroke-linecap:round}.map-background .map-river{stroke:#adb2b9;stroke-width:25;opacity:.6}.map-marker{position:relative;z-index:2;margin-top:-55px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#737b86;color:white;font-size:27px;font-weight:600;border:3px solid #e1e3e6;box-shadow:0 4px 15px #70778333}.map-waves{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.map-waves i{position:absolute;width:50px;height:50px;margin-top:-55px;border:1px solid #727d8c;border-radius:50%;animation:map-pulse 6s linear infinite;opacity:0}.map-waves i:nth-child(2){animation-delay:2s}.map-waves i:nth-child(3){animation-delay:4s}@keyframes map-pulse{0%{transform:scale(1);opacity:.5}100%{transform:scale(23);opacity:0}}.map-caption{position:absolute;bottom:24px;text-align:center;padding:0 15px;z-index:2}.map-caption strong{display:block;font-size:13px}.map-caption span{font-size:10px;display:block;margin-top:7px;color:#5b616b}.availability-title{font-size:36px;line-height:1.12;font-weight:750;letter-spacing:-1.1px;margin:0 0 12px;color:#202027}.availability-title span{color:#df1721}.participants-section{background:#eaf0ec;border:1px solid #cbd8cf;color:#273d31}.participants-section .section-kicker{color:#54725e}.participants-section .logistics-heading h2{color:#253a2e}.participants-section .logistics-heading p:not(.section-kicker){color:#667a6d}.participant-count{font-size:11px;white-space:nowrap;color:#55735e;background:#dbe7de;padding:8px 12px;border-radius:7px}.participant-help{font-size:11px;color:#697c70;margin:22px 0 14px;line-height:1.6}.participant-list{list-style:none;padding:0;margin:0}.participant-row{display:grid;grid-template-columns:1fr 1.1fr 1.2fr 40px;gap:14px;align-items:center;background:#f8fbf9;border:1px solid #d3ded6;border-radius:10px;padding:17px 16px;margin-top:9px}.participant-row.with-function{border-color:#97b19e;background:#dbe8df;box-shadow:inset 3px 0 #63866d}.participant-person strong{display:block;font-size:14px}.participant-person>span{font-size:10px;color:#647b6b;display:block;margin-top:5px;line-height:1.5}.participant-arrival>span{display:block;font-size:11px;font-variant-numeric:tabular-nums}.participant-arrival .participant-caption{font-size:9px;color:#75887c;margin-bottom:5px}.participant-arrival small{display:block;font-size:9px;color:#718578;margin-top:5px}.participant-function{text-align:right}.function-badge{display:inline-block;font-size:10px;line-height:1.4;color:#30523c;font-weight:650}.no-function{color:#a2b2a6;font-size:12px}.edit-participant{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;border:1px solid #b7cabe;color:#45654f;background:#eef5f0;cursor:pointer}.edit-participant:hover{background:#d0e3d6}.edit-participant svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}.participants-section button:focus-visible{outline:2px solid #547a60;outline-offset:3px}.participants-status{font-size:11px;color:#4b6c56;line-height:1.6}.participants-status:empty{display:none}.participant-editor{width:min(610px,calc(100% - 28px));max-height:calc(100dvh - 32px);border:1px solid #c5d2c9;border-radius:18px;background:#f7faf8;padding:26px;color:#273d31;box-shadow:0 20px 80px #0005;overflow-y:auto}.participant-editor::backdrop{background:#161c25ad;backdrop-filter:blur(3px)}.editor-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:24px}.editor-heading h2{font-size:25px;margin:0 0 6px;color:#273d31}.editor-heading p:not(.section-kicker){font-size:12px;color:#6c8073;margin:0}.editor-heading .section-kicker{color:#6a8373}.editor-heading>button{width:36px;height:36px;display:grid;place-items:center;border:1px solid #c1d0c6;border-radius:8px;font-size:24px;color:#607a68;background:#eef3f0}.function-select-label{display:block;font-size:11px;font-weight:650;margin-bottom:8px}.participant-editor select,.participant-editor input{border:1px solid #b5c7bc;background:white;color:#273d31;border-radius:7px;padding:11px 9px;font-size:13px;box-sizing:border-box;min-width:0;width:100%;font-family:inherit}.presence-heading{margin:26px 0 16px}.presence-heading h3{font-size:14px;margin:0 0 7px}.presence-heading p{font-size:11px;line-height:1.6;margin:0;color:#6f8175}.presence-segment{padding:15px;border:1px solid #c6d5cc;border-radius:10px;margin-bottom:12px;background:#edf3ef}.segment-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.segment-heading strong{font-size:11px}.remove-segment{background:transparent;border:0;color:#6e7470;font-size:11px;padding:6px;min-height:32px;text-decoration:underline}.presence-segment fieldset{border:0;padding:0;margin:12px 0 0;display:grid;grid-template-columns:1.5fr 1fr;gap:12px;min-width:0}.presence-segment legend{font-size:11px;font-weight:600;margin-bottom:8px}.presence-segment label{font-size:9px;color:#6b8272;display:block;min-width:0}.presence-segment input{margin-top:5px}.no-presence{font-size:11px;color:#657c6c;line-height:1.7;background:#e6efe9;padding:13px;border-radius:8px}.add-segment{font-size:11px;color:#4d6e57;border:1px dashed #9fb6a7;border-radius:8px;background:transparent;padding:12px;width:100%;margin-top:4px}.editor-error{font-size:11px;line-height:1.7;color:#6f493d;margin:14px 0}.editor-error:empty{display:none}.editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid #cfdbd3}.editor-actions button{font-size:12px;padding:12px 18px;border:1px solid #b2c4b9;border-radius:8px;background:transparent;color:#536e5e}.editor-actions button[type=submit]{background:#476a53;border-color:#476a53;color:white;font-weight:600}.participant-editor :disabled{opacity:.5;cursor:default}.participant-editor :focus-visible{outline:2px solid #6c9178;outline-offset:3px}.participant-editor [hidden]{display:none!important}@media(max-width:650px){.cockpit{padding:22px 16px;margin-bottom:28px;border-radius:15px}.cockpit-top{align-items:start;gap:18px;flex-direction:column}.cockpit h1{font-size:23px;margin-bottom:20px}.cockpit-clock{font-size:47px}.cockpit-phase-card{border-left:0;border-top:1px solid #505664;padding:16px 0 0;width:100%;min-width:0;gap:8px}.cockpit-phase-card strong{font-size:20px}.cockpit-nav{gap:8px;margin:22px 0}.cockpit-nav a{padding:14px 10px;gap:8px;align-items:flex-start}.cockpit-nav strong{font-size:12px}.cockpit-nav small{font-size:9px}.cockpit-nav .nav-icon{font-size:22px;width:22px}.cockpit-nav a>span:last-child{display:none}.location-placeholder{height:205px}.availability-title{font-size:29px}.participant-row{grid-template-columns:1fr 1fr 40px;gap:10px;padding:15px 12px}.participant-person{grid-column:1}.participant-arrival{grid-column:2}.participant-function{grid-column:1/3;grid-row:2;text-align:left}.participant-function:has(.no-function){display:none}.edit-participant{grid-column:3;grid-row:1/span 2;align-self:center}.participant-person strong{font-size:13px}.participant-arrival>span{font-size:10px}.participant-person>span{font-size:10px}.participant-editor{padding:20px 16px}.presence-segment{padding:12px}.presence-segment fieldset{gap:8px;grid-template-columns:1.4fr 1fr}.presence-segment input{font-size:12px}.participant-count{font-size:10px;padding:7px 9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.map-waves i{animation:none}.map-marker{box-shadow:0 0 0 12px #7a85931a}}

.cockpit-nav .nav-icon svg{width:22px;height:22px;margin:4px auto 0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block}.data-loader{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;min-height:64px;border:1px solid #d9e0db;border-radius:12px;background:#eef3f0;color:#536c5b;padding:16px;margin:0 0 24px;font-size:12px;line-height:1.6}.data-loader[hidden],.data-loader [hidden]{display:none!important}.data-spinner{width:20px;height:20px;border:2px solid #c7d4cb;border-top-color:#4d7058;border-radius:50%;animation:data-spin .8s linear infinite;flex-shrink:0}.data-loading .data-section{display:none}.data-loading .data-loader{min-height:110px}.data-loader button{border:1px solid #a7bbae;background:white;color:#45634e;border-radius:7px;padding:8px 12px;font-size:11px}.data-loader button:focus-visible{outline:2px solid #5c8368;outline-offset:3px}#participants-section{margin-top:0}@keyframes data-spin{to{transform:rotate(360deg)}}@media(max-width:650px){.cockpit-nav .nav-icon svg{width:18px;height:18px;margin-top:3px}}@media(prefers-reduced-motion:reduce){.data-spinner{animation:none;border-style:dotted}}
#availability-section{margin-top:38px}@media(max-width:650px){#availability-section{margin-top:30px}}
