.schedule-page{background:#f4f6f9;color:#253448;min-height:100vh}.guest-header{height:68px;background:#fff;border-bottom:1px solid #e3e8ef;display:flex;align-items:center;justify-content:space-between;padding:0 24px;max-width:680px;margin:auto}.guest-brand{display:flex;align-items:center;gap:6px;font-size:22px;font-weight:600;color:#34485b;letter-spacing:-.5px}.guest-brand>span:last-child{font-weight:400;font-size:19px;margin-left:-3px}.guest-wordmark{font-size:10px;letter-spacing:1.5px;color:#738196;font-weight:600}.schedule-page main{max-width:680px;margin:0 auto;min-height:60vh}.group-intro{padding:30px 26px 26px;background:white}.group-context{font-size:13px;color:#697789;margin:0 0 18px}.group-title-row{display:flex;align-items:center;gap:14px}.group-symbol{width:51px;height:51px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#e1efff;color:#1469b2;font-size:23px;font-weight:800;flex:none}.group-title-row h1{font-size:30px;letter-spacing:-.8px;line-height:1.15;margin:0 0 5px;font-weight:600}.group-title-row p{font-size:13px;color:#6e7c8e;margin:0}.group-instruction{font-size:14px;line-height:1.65;color:#526174;margin:19px 0 0}.guest-progress{padding:22px 26px;background:#fff;border-top:1px solid #edf0f4}.progress-caption{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:12px}.progress-caption strong{font-size:14px;font-weight:600}.progress-caption span{font-size:12px;color:#6c7a8b}.progress-track{height:7px;border-radius:10px;background:#e8edf3;overflow:hidden}.progress-done{height:100%;background:#338561;border-radius:10px;transition:width .5s}.guest-state{margin:22px 22px 0;padding:22px;background:#011529;color:#fff;border-radius:9px}.guest-state .state-label{display:flex;align-items:center;justify-content:space-between;color:#b6d5f4;font-size:12px;gap:12px}.guest-state .state-label span{display:flex;align-items:center;gap:7px}.guest-state .live-dot{width:7px;height:7px;border-radius:50%;background:#6bd4a0}.guest-state h2{font-size:22px;line-height:1.35;font-weight:600;margin:12px 0}.guest-state p{font-size:13px;color:#c7d4e3;margin:7px 0;line-height:1.6}.guest-state .room{display:flex;align-items:center;gap:7px;color:#fff;margin-top:14px}.guest-state .session-bar{height:4px;background:#304257;border-radius:3px;margin:19px 0 8px;overflow:hidden}.guest-state .session-bar>div{height:100%;background:#77c9ff}.guest-state .session-progress-caption{font-size:11px;display:flex;justify-content:space-between;color:#b5cadf}.guest-agenda{padding:25px 22px 32px}.agenda-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.agenda-title-row h2{font-size:20px;font-weight:600;letter-spacing:-.3px}.agenda-title-row button{background:none;border:0;color:#52728c;font-size:12px;display:flex;gap:6px;align-items:center;padding:8px 0}.agenda-title-row svg{width:14px;height:14px}.guest-date-tabs{display:flex;gap:9px;margin-bottom:24px;overflow-x:auto;padding-bottom:2px}.guest-date-tabs button{flex:1;min-width:110px;background:#fff;border:1px solid #dfe5ec;border-radius:5px;text-align:left;padding:12px 14px;color:#647387;font-size:12px}.guest-date-tabs button strong{display:block;font-size:15px;font-weight:600;margin-top:4px;color:#3a4b60}.guest-date-tabs button.active{background:#e7f2ff;border-color:#80b6e8;color:#1664a6}.guest-date-tabs button.active strong{color:#12588f}.schedule-list{position:relative}.agenda-item{display:grid;grid-template-columns:58px 1fr;gap:14px;position:relative;padding-bottom:18px}.agenda-item:last-child{padding-bottom:0}.agenda-item:before{content:'';position:absolute;width:1px;background:#dbe3ec;left:28px;top:27px;bottom:0}.agenda-item:last-child:before{display:none}.agenda-time{position:relative;z-index:1;font-size:12px;text-align:center;line-height:1.2;padding-top:9px;font-variant-numeric:tabular-nums}.agenda-time .hour{background:#f4f6f9;display:block;padding:2px 0;color:#55677e;font-weight:600}.agenda-time .period{background:#f4f6f9;display:block;padding:3px 0 6px;color:#7a8899;font-size:10px}.agenda-card{background:#fff;border:1px solid #e1e7ef;border-radius:6px;overflow:hidden;min-width:0}.agenda-card summary{list-style:none;cursor:pointer;padding:16px 16px 15px}.agenda-card summary::-webkit-details-marker{display:none}.agenda-card summary:focus-visible{outline:3px solid #e5a616;outline-offset:-3px}.agenda-card h3{font-size:15px;line-height:1.5;margin:8px 0 10px;font-weight:600}.agenda-card .item-meta{display:flex;align-items:center;gap:5px;color:#6c7c8f;font-size:12px;line-height:1.5}.agenda-card .item-meta svg{width:13px;height:13px}.agenda-card .time-meta{margin-top:4px;font-variant-numeric:tabular-nums}.agenda-card.active{border-color:#62a2df;box-shadow:0 3px 10px #1e65a00b}.agenda-card.ended{background:#fcfdfd}.agenda-card.ended h3{color:#64778a}.status-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.activity-status{font-size:10px;font-weight:600;padding:3px 7px;border-radius:3px;background:#edf1f6;color:#596e85;display:inline-flex;align-items:center;gap:4px}.activity-status.active{color:#07578e;background:#e2f2ff}.activity-status.ended{background:#e8f4ed;color:#36734c}.activity-status svg{width:12px;height:12px}.activity-expand{font-size:11px;color:#778698}.activity-details{padding:0 16px 16px;font-size:13px;color:#5a6d82;line-height:1.7}.activity-details p{margin:0 0 8px}.guest-footer{max-width:680px;margin:auto;text-align:center;padding:25px 20px 30px;background:#edf1f6;color:#65778d;font-size:12px;border-top:1px solid #e0e7ef}.guest-footer strong{color:#425770;font-weight:600;font-size:14px}.guest-footer p{line-height:1.7;margin:7px 0}.sample-footnote{font-size:10px;color:#65778d}.guest-loading{padding:80px 25px;text-align:center;font-size:16px}.guest-error{padding:65px 30px;text-align:center}.guest-error h1{font-size:25px;margin:0 0 15px}.guest-error p{font-size:14px;color:#63748b;line-height:1.8}.guest-error a,.guest-error button{display:inline-block;padding:12px 20px;border:1px solid #087acc;border-radius:4px;background:#087acc;color:#fff;font-size:14px;margin-top:12px}.guest-selection{padding:28px 24px}.guest-selection h1{font-size:28px;margin:8px 0 12px}.guest-selection>p{font-size:14px;line-height:1.7;color:#69788d}.group-select-link{display:flex;align-items:center;gap:15px;padding:20px;background:white;border:1px solid #dde5ee;border-radius:6px;margin:13px 0;color:#253448}.group-select-link:hover{text-decoration:none;border-color:#74a9db}.group-select-link h2{font-size:18px;margin:0 0 5px}.group-select-link p{font-size:12px;color:#61738b;margin:0}.group-select-link>svg{margin-left:auto}.guest-revision{font-size:11px;color:#738298;margin:22px 0 0;text-align:center}.guest-offline{padding:13px 22px;font-size:12px;line-height:1.7;background:#fff4df;color:#775324;border-bottom:1px solid #ebdab5;max-width:680px;margin:auto}#preview-clock{max-width:680px;margin:auto;background:#fff4dc;padding:13px 22px;color:#725421;font-size:12px;line-height:1.6}#preview-clock label{font-weight:600;display:block;margin-bottom:5px}#preview-clock select{width:100%;font-size:12px;background:#fffaf0;border-color:#daccab;min-height:37px;padding:6px 8px}#guest-message{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);padding:10px 16px;background:#18344c;color:white;border-radius:4px;font-size:12px;display:none;max-width:90vw;z-index:50}#guest-message.show{display:block}
.group-dashboard{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.8fr);gap:27px}.group-table{border:1px solid var(--line);background:white;border-radius:3px}.group-admin-row{padding:22px;display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line)}.group-admin-row:last-child{border:0}.group-admin-row h3{font-size:17px;margin:0 0 6px;font-weight:600}.group-admin-row p{font-size:12px;color:var(--muted);margin:0}.group-admin-row .actions{margin-left:auto;gap:7px;justify-content:flex-end}.group-admin-row .group-symbol{width:40px;height:44px;font-size:19px;border-radius:5px}.workflow-steps{margin:0;padding:0;list-style:none;counter-reset:workflow}.workflow-steps li{counter-increment:workflow;display:flex;gap:13px;margin-bottom:25px;font-size:14px;line-height:1.6}.workflow-steps li:before{content:counter(workflow);width:27px;height:27px;border:1px solid #d7e1ea;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#58708b;font-size:12px;flex:none}.workflow-steps strong{display:block;font-weight:600;margin-bottom:4px}.workflow-steps small{font-size:12px;color:var(--muted);display:block}.group-session-choice{display:flex;align-items:flex-start;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.6}.group-session-choice input{flex:none;margin-top:4px}.group-session-choice small{display:block;color:var(--muted);font-size:12px}.qr-preview{text-align:center;background:#fff;padding:22px}.qr-preview svg{width:210px;height:210px;stroke:none;fill:#000}.qr-preview h3{font-size:25px;margin:5px 0 12px}.qr-preview p{font-size:14px;line-height:1.7;color:var(--muted)}.qr-preview .qr-url{display:block;font-size:11px;word-break:break-all;max-width:420px;margin:15px auto}.packet-sheet{max-width:570px;margin:auto;text-align:center;padding:25px}.packet-sheet .packet-brand{font-size:17px;font-weight:600;color:#3f5773;margin-bottom:20px}.packet-sheet h2{font-size:32px;margin:12px 0}.packet-sheet h3{font-size:20px;margin:14px 0}.packet-sheet svg{width:220px;height:220px;stroke:none;fill:#000}.packet-sheet p{font-size:14px;line-height:1.8}.packet-sheet .packet-url{font-size:11px;overflow-wrap:anywhere;max-width:450px;margin:15px auto}.packet-sheet .packet-meta{font-size:12px;color:#64748b}.packet-print-warning{font-size:12px;color:#845b2a;border:1px solid #e6d1b3;padding:10px}.phone-link-card{padding:22px;background:#f5f8fc;border:1px solid #dce5ef;border-radius:4px}.phone-link-card h2{line-height:1.5;margin-bottom:10px}.phone-link-card p{font-size:14px;color:#576b82;line-height:1.7}.published-state{font-size:12px;line-height:1.7;color:#69778a;margin-top:15px}
@media(min-width:720px){.schedule-page{padding-top:28px}.guest-header{border-radius:12px 12px 0 0}.guest-footer{border-radius:0 0 12px 12px;margin-bottom:28px}.schedule-page main{background:#f4f6f9;box-shadow:0 6px 32px #172c4610}.group-intro{padding:32px}.guest-state{margin:24px 28px 0}.guest-agenda{padding:28px}.group-title-row h1{font-size:34px}.agenda-item{grid-template-columns:73px 1fr;gap:18px}.agenda-item:before{left:36px}.agenda-card summary{padding:20px}.agenda-card h3{font-size:17px}.agenda-card .item-meta{font-size:13px}.activity-status{font-size:11px}.guest-progress{padding:22px 32px}}
@media(max-width:1100px){.group-dashboard{grid-template-columns:1fr}.group-admin-row{flex-wrap:wrap}.group-admin-row .actions{margin-left:55px}.phone-link-card{max-width:none}}
@media(max-width:520px){.guest-header{height:62px;padding:0 20px}.guest-brand{font-size:20px}.guest-wordmark{font-size:9px;letter-spacing:1px}.guest-brand>span:last-child{font-size:17px}.group-intro{padding:26px 22px}.group-title-row h1{font-size:29px}.guest-progress{padding:20px 22px}.guest-state{padding:21px;margin:20px 16px 0}.guest-agenda{padding:24px 16px}.guest-state h2{font-size:21px}.group-admin-row{padding:17px}.group-admin-row .actions{margin-left:0;width:100%;justify-content:flex-start}.progress-caption span{font-size:11px}.activity-expand{font-size:10px}.qr-preview{padding:10px}}
@media print{body.schedule-page{padding:0;background:white}.guest-header,.guest-footer,#preview-clock{display:none}.schedule-page main{box-shadow:none}.packet-sheet{padding:15px}.packet-print-warning{display:block}.packet-sheet svg{width:2.4in;height:2.4in}.packet-sheet{break-inside:avoid}.packet-sheet+.packet-sheet{break-before:page}}

.packet-qr img{display:block;width:320px;max-width:100%;height:auto;margin:16px auto}.packet-qr{text-align:center}@media print{.packet-qr img{width:3.4in;max-width:100%;height:auto;print-color-adjust:exact}}

.group-intro.cover-intro{padding:0;background:white}.group-cover-photo{width:100%;height:280px;object-fit:cover;display:block}.group-cover-details{padding:28px 32px}.group-cover-details h1{font-size:34px;margin:0 0 10px}.group-leaders{font-size:14px;color:#425770;margin:0 0 20px}.group-cover-details .group-instruction{margin:0;white-space:pre-line}@media(max-width:520px){.group-cover-photo{height:200px}.group-cover-details{padding:24px 22px}.group-cover-details h1{font-size:29px}}

.in-progress-section{padding:24px 22px 0}.in-progress-section>h2{font-size:22px;margin:0 0 14px}.in-progress-section .guest-state{margin:0 0 16px;padding:0}.active-session{position:relative;overflow:hidden;background:#011529;color:white}.active-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3}.active-fill{position:absolute;inset:0 auto 0 0;background:rgba(255,255,255,.18);pointer-events:none;transition:width 1s linear}.active-content{position:relative;padding:22px}.active-content h3{font-size:22px;line-height:1.35;margin:16px 0}.active-caption{font-size:12px;margin:16px 0}.active-actions{display:flex;justify-content:flex-end;margin-top:18px}.no-active-sessions{font-size:14px;line-height:1.6;color:#425770;margin:0 0 6px}.agenda-session-link{display:block;color:inherit;text-decoration:none}.agenda-session-link:hover{text-decoration:none;border-color:#075b9e}.agenda-session-link:focus-visible{outline:3px solid #075b9e;outline-offset:3px}.agenda-card-content{padding:18px}.agenda-cover{display:block;width:100%;height:130px;object-fit:cover}.guest-wordmark{margin-left:12px}@media(min-width:720px){.in-progress-section{padding:28px 28px 0}}@media(prefers-reduced-motion:reduce){.active-fill{transition:none}}

.agenda-cover{height:auto;aspect-ratio:4/1;object-fit:cover}

/* Completed sessions stay accessible without taking up full agenda-card space. */
.agenda-item.ended-item{padding-bottom:8px}

.agenda-card.ended{background:#e9edf1;border-color:#d6dde5;box-shadow:none}
.agenda-card.ended .agenda-card-content{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.agenda-card.ended h3{margin:0;color:#596574;font-size:14px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}
.agenda-session-link.ended:hover{background:#e1e6ec;border-color:#aab5c2}
.agenda-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;margin-top:8px}.agenda-card-footer .time-meta{margin:0}.agenda-card-footer .activity-expand{margin-left:auto;color:#52677e;white-space:nowrap}
@media(max-width:380px){.agenda-item{grid-template-columns:46px minmax(0,1fr);gap:8px}.agenda-item:before{left:22px}.agenda-card-content{padding:14px 12px}.agenda-card-footer{gap:6px;flex-wrap:nowrap}.agenda-card-footer .item-meta{font-size:10px;white-space:nowrap}.agenda-card-footer .item-meta svg{width:11px;height:11px;flex:none}.agenda-card-footer .activity-expand{font-size:9px}}

.ended-check{display:flex;flex:none;color:#596574}.ended-check svg{width:18px;height:18px}.ended-item .agenda-time{padding-top:4px}

/* Status sections share the selected day's schedule. */
.guest-agenda .in-progress-section{padding:0;margin:8px 0 28px}.schedule-segment{margin:0 0 30px}.schedule-segment>h2{font-size:22px;font-weight:600;margin:0 0 14px}.segment-empty{font-size:14px;line-height:1.6;color:#425770;margin:0}.finished-section{margin-bottom:0}.up-next-section .activity-status.upcoming{color:#07578e;background:#e2f2ff}

/* Reuse the removed Upcoming label height for a less cropped cover. */
.agenda-card.upcoming{container-type:inline-size}
.agenda-card.upcoming .agenda-cover{aspect-ratio:auto;height:calc(25cqw + 24px)}

.schedule-delay-note{margin:16px 0;padding:14px 18px;border:1px solid #eed6a1;border-radius:12px;background:#fff7e6;color:#704c08;line-height:1.5}.announcement-fab{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:20;display:grid;place-items:center;width:60px;height:60px;padding:16px;border:0;border-radius:50%;background:#0072ce;color:white;box-shadow:0 4px 16px #01152930;cursor:pointer}.announcement-fab svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.announcement-fab:focus-visible,.announcement-close:focus-visible{outline:3px solid #e6ab28;outline-offset:4px}.announcement-count{position:absolute;right:-2px;top:-4px;min-width:22px;height:22px;display:grid;place-items:center;padding:0 4px;background:#fff;color:#0072ce;border:2px solid #0072ce;border-radius:20px;font-size:12px;font-weight:700;box-sizing:border-box}.schedule-page .guest-footer{padding-bottom:100px}.announcement-dialog{position:fixed;inset:auto 20px 92px auto;width:min(420px,calc(100vw - 40px));max-height:70dvh;margin:0;padding:0;border:1px solid #dce3eb;border-radius:18px;background:#fff;color:#011529;box-shadow:0 10px 40px #01152933;box-sizing:border-box}.announcement-dialog::backdrop{background:#01152955}.announcement-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #dce3eb;gap:16px}.announcement-dialog h2{margin:0;font-size:22px}.announcement-close{width:40px;height:40px;border:0;background:#eef2f6;color:#011529;border-radius:50%;font-size:28px;cursor:pointer}.announcement-body{max-height:calc(70dvh - 90px);overflow:auto;padding:20px}.announcement-body article+article{margin-top:20px;padding-top:20px;border-top:1px solid #dce3eb}.announcement-body h3{margin:0 0 8px;font-size:18px}.announcement-body p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}
@media(max-width:520px){.announcement-fab{width:56px;height:56px;right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.announcement-dialog{right:12px;bottom:84px;width:calc(100vw - 24px)}}
