:root{--bg:#eceff4;--surface:#fbfcfd;--head:#f7f8fa;--sub:#f2f4f7;--line:#dde2e9;--hair:#e7ebf0;--ink:#14181d;--body:#414b58;--muted:#54606e;--faint:#616c7d;--accent:#1f4e79;--accent-tint:#eaf1f8;--accent-ink:#16385a;--danger:#dc2626;--danger-tint:#fadedb;--danger-ink:#b5352a;--warn:#ea8c1b;--warn-tint:#fbecd6;--warn-ink:#b3690b;--calm:#0f766e;--calm-tint:#e3f4f1;--violet:#7c3aed;--violet-tint:#f0eafd;--seg-won:#046a5f;--seg-won-tint:#dcf2ee;--seg-won-ink:#046a5f;--seg-open:#4f86e8;--seg-open-tint:#e6edfc;--seg-open-ink:#2f62c9;--seg-expired:#d99a2b;--seg-expired-tint:#fbf0dc;--seg-expired-ink:#8a5a0c;--seg-lost:#c13650;--seg-lost-tint:#fadfe4;--seg-lost-ink:#b02e46;--radius:22px;--radius-sm:14px;--pill:999px;--pad:20px;--row-pad:15px;--gap:16px;--shadow:0 4px 14px #141e321a;--shadow-btn:0 2px 6px #1f4e7942;--shadow-modal:0 24px 60px #0f172347}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;margin:0}body{color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Figtree,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-ink)}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-tint)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#cdd4dd;border-radius:6px}@keyframes riseIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app{background:var(--bg);flex-direction:column;height:100vh;display:flex}.topbar{background:var(--head);border-bottom:1px solid var(--line);white-space:nowrap;flex:none;align-items:center;gap:16px;height:64px;padding:0 26px;display:flex;overflow:hidden}.wordmark{letter-spacing:-.015em;color:var(--ink);flex:none;font-size:18px;font-weight:800;text-decoration:none}.wordmark span{color:var(--accent)}.hdr-nav{scrollbar-width:none;flex:auto;gap:4px;min-width:0;margin-right:auto;display:flex;overflow-x:auto}.hdr-nav::-webkit-scrollbar{height:0}.tab{white-space:nowrap;border-radius:var(--radius-sm);color:var(--muted);background:0 0;border:none;flex:none;padding:7px 12px;font-size:15px;font-weight:500;text-decoration:none}.tab:hover{color:var(--body)}.tab[data-active=true]{background:var(--accent-tint);color:var(--accent);font-weight:600}.hdr-date{color:var(--faint);flex:none;font-size:14px}.hdr-right{flex:none;align-items:center;gap:10px;display:flex}.hdr-me{align-items:center;gap:8px;display:flex}.hdr-name{color:var(--body);font-size:13.5px;font-weight:600}.sync-chip{border-radius:var(--pill);border:none;align-items:center;gap:7px;padding:5px 12px;font-size:14.5px;font-weight:600;text-decoration:none;display:inline-flex}.sync-chip[data-state=ok]{background:var(--calm-tint);color:var(--calm)}.sync-chip[data-state=error]{background:var(--danger-tint);color:var(--danger-ink)}.sync-chip .dot{border-radius:50%;width:7px;height:7px;display:block}.sync-chip[data-state=ok] .dot{background:var(--calm)}.sync-chip[data-state=error] .dot{background:var(--danger);animation:1.4s ease-in-out infinite pulseDot}.btn{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--body);padding:9px 15px;font-size:15px;font-weight:600}.btn:hover{border-color:#cfd6df}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-btn);border:none;padding:9px 18px}.btn-primary:hover{background:var(--accent-ink)}.btn-ghost{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--body);background:0 0;padding:5px 11px;font-size:14.5px;font-weight:600}.btn-ghost:hover{background:var(--sub)}.btn:disabled,.btn-ghost:disabled{cursor:default;opacity:.55}.hdr-sched-short{display:none}@media (max-width:1820px){.hdr-date{display:none!important}}@media (max-width:1620px){.sync-text,.hdr-sched-long{display:none!important}.hdr-sched-short{display:inline!important}.hdr-name{display:none!important}}@media (max-width:1240px){.topbar{flex-wrap:wrap;align-items:center;row-gap:2px;height:auto;padding:9px 20px 7px;overflow:visible}.hdr-nav{flex-wrap:wrap;flex:1 0 100%;order:3;margin:0 -12px;overflow-x:visible}.hdr-right{margin-left:auto}}.page{flex:auto;padding:26px 26px 60px;overflow-y:auto}.page-head{justify-content:space-between;align-items:flex-start;gap:var(--gap);flex-wrap:wrap;margin-bottom:22px;display:flex}h1.page-title{letter-spacing:-.03em;color:var(--ink);margin:0;font-size:30px;font-weight:800}h1.detail-title{letter-spacing:-.035em;color:var(--ink);margin:0;font-size:34px;font-weight:800}.subline{color:var(--muted);margin:4px 0 0;font-size:15.5px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-pad{padding:var(--pad)}.panel-heading{letter-spacing:.04em;text-transform:uppercase;color:var(--faint);font-size:14px;font-weight:700}.empty{color:var(--faint);font-size:14.5px}.panel-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--line) transparent;max-height:420px;padding-right:12px;overflow-y:auto}.panel-scroll::-webkit-scrollbar{width:8px}.panel-scroll::-webkit-scrollbar-track{background:0 0}.panel-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:var(--pill)}.panel-scroll:hover::-webkit-scrollbar-thumb{background:#cfd6e0}.panel-scroll-tall{max-height:620px}.picker-list{z-index:5;overscroll-behavior:contain;scrollbar-gutter:stable;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);max-height:260px;box-shadow:var(--shadow);scrollbar-width:thin;scrollbar-color:var(--line) transparent;margin:0;padding:5px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.picker-list::-webkit-scrollbar{width:8px}.picker-list::-webkit-scrollbar-track{background:0 0}.picker-list::-webkit-scrollbar-thumb{background:var(--line);border-radius:var(--pill)}.picker-option{cursor:pointer;border-radius:9px;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 10px;display:flex}.picker-option[data-active=true]{background:var(--accent-tint)}.picker-name{color:var(--ink);font-size:15px;font-weight:600}.picker-city{color:var(--faint);flex:none;font-size:14px}.picker-empty{color:var(--faint);padding:9px 10px;font-size:14.5px}.disclosure{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;padding:5px 0;font-size:14.5px;font-weight:600;list-style:none}.disclosure::-webkit-details-marker{display:none}.disclosure:before{content:"▸";color:var(--faint);margin-right:7px;transition:transform .12s;display:inline-block}details[open]>.disclosure:before{transform:rotate(90deg)}.disclosure:hover{color:var(--accent)}.segmented{background:var(--sub);border:1px solid var(--line);border-radius:var(--radius-sm);gap:2px;padding:4px;display:inline-flex}.segmented a{white-space:nowrap;border-radius:calc(var(--radius-sm) - 4px);color:var(--muted);padding:6px 13px;font-size:14px;font-weight:600;text-decoration:none}.segmented a[data-active=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #141e321a}.pill{border-radius:var(--pill);white-space:nowrap;border:none;align-items:center;gap:6px;padding:4px 10px;font-size:14px;font-weight:700;display:inline-flex}.pill[data-tone=neutral]{background:var(--sub);color:var(--muted)}.pill[data-tone=accent]{background:var(--accent-tint);color:var(--accent)}.pill[data-tone=danger]{background:var(--danger-tint);color:var(--danger-ink)}.pill[data-tone=warn]{background:var(--warn-tint);color:var(--warn-ink)}.pill[data-tone=calm]{background:var(--calm-tint);color:var(--calm)}.pill[data-tone=violet]{background:var(--violet-tint);color:var(--violet)}button.pill{cursor:pointer}.avatar{letter-spacing:.01em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.grid-head{background:var(--sub);color:var(--faint);align-items:center;font-size:14px;font-weight:700}.grid-row{border-bottom:1px solid var(--hair);align-items:center}.grid-row:last-child{border-bottom:none}.rail{align-self:stretch;width:5px}.row-link{color:var(--accent);font-size:16.5px;font-weight:600;text-decoration:none}.row-link:hover{text-decoration:underline}.row-sub{color:var(--faint);margin-top:2px;font-size:14px}.row-note{color:var(--body);text-wrap:pretty;font-size:15px;line-height:1.45}.input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--head);width:100%;color:var(--ink);padding:9px 12px;font-size:15px}.input::placeholder{color:var(--faint)}.field-label{color:var(--muted);margin-bottom:6px;font-size:14.5px;font-weight:700;display:block}.chip{border-radius:var(--pill);border:1px solid var(--line);background:var(--sub);color:var(--muted);padding:6px 13px;font-size:14px}.chip[data-selected=true]{background:var(--accent);border-color:var(--accent);color:#fff}.modal-scrim{z-index:50;background:#141c286b;grid-template-columns:minmax(0,1fr);place-items:start center;padding:5vh 16px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border-radius:var(--radius);width:640px;max-width:100%;box-shadow:var(--shadow-modal);padding:22px;animation:.16s ease-out riseIn}.modal-title{letter-spacing:-.025em;margin:0;font-size:20px;font-weight:800}.toast{background:var(--ink);color:#fff;border-radius:var(--pill);z-index:60;padding:10px 18px;font-size:15px;font-weight:600;animation:.16s ease-out riseIn;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 10px 26px #0f17234d}.hairline{border:none;border-top:1px solid var(--hair);margin:16px 0}@media (max-width:1100px){.collapse-3,.collapse-2{grid-template-columns:1fr!important}}.stat-link>div{transition:box-shadow .12s,transform .12s}.stat-link:hover>div{box-shadow:var(--shadow-lift,0 6px 18px #1020281a);transform:translateY(-1px)}.stat-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius)}.sort-header{color:inherit;cursor:pointer;text-decoration:none;transition:color .12s}.sort-header:hover{color:var(--accent)}.sort-header[data-active=true]{color:var(--ink);font-weight:700}.sort-header:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.perf-cards{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px;display:grid}@media (max-width:1100px){.perf-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.perf-cards{grid-template-columns:1fr}}.perf-card{text-align:left;width:100%;font:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--tone,var(--accent));border-radius:var(--radius);padding:15px var(--pad) 17px;box-shadow:var(--shadow);display:block}.perf-card:hover{border-color:var(--tone,var(--accent))}.perf-card:focus-visible{outline:2px solid var(--tone,var(--accent));outline-offset:2px}.perf-card[data-on]{box-shadow:0 0 0 1px var(--tone,var(--accent)), var(--shadow)}.perf-card-label{color:var(--tone,var(--accent));align-items:center;gap:7px;font-size:14.5px;font-weight:700;display:flex}.perf-dot{background:var(--tone,var(--accent));border-radius:50%;flex:none;width:8px;height:8px}.perf-card-value{letter-spacing:-.035em;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:2px;font-size:27px;font-weight:800;line-height:1.15;display:block}.perf-card-note{color:var(--muted);font-size:14.5px;display:block}.perf-chart-wrap{overflow-x:auto}.perf-narrow-note{display:none}.perf-chart-wrap svg{min-width:1000px;display:block}.perf-grid{stroke:var(--hair);stroke-width:1px}.perf-axis{fill:var(--muted);font-family:ui-monospace,Consolas,monospace;font-size:14px}.perf-axis-note{fill:var(--body);font-family:ui-monospace,Consolas,monospace;font-size:14px}.perf-mlabel{fill:var(--body);font-size:16px;font-weight:600}.perf-vlabel{fill:var(--ink);font-family:ui-monospace,Consolas,monospace;font-size:14px;font-weight:700}.perf-tiny{font-variant-numeric:tabular-nums;font-family:ui-monospace,Consolas,monospace;font-size:14px;font-weight:600}.perf-hit{fill:#0000;cursor:pointer}.perf-hit:hover{fill:var(--ink);fill-opacity:.05}.perf-hit:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.perf-hit[data-on]{fill:var(--accent);fill-opacity:.09}.perf-legend{color:var(--body);flex-wrap:wrap;gap:12px 28px;margin-top:26px;font-size:15px;display:flex}.perf-key{align-items:center;gap:7px;display:inline-flex}.perf-swatch{border-radius:3px;flex:none;width:13px;height:13px}.perf-swatch-dash{border-top:2px dashed var(--seg-won-ink);border-radius:0;align-self:center;height:0}.perf-caption{color:var(--body);max-width:82ch;margin:20px 0 0;font-size:15.5px;line-height:1.7}.perf-note{color:var(--body);max-width:82ch;margin:0 0 20px;font-size:15.5px;line-height:1.7}.perf-big{letter-spacing:-.035em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:27px;font-weight:800}.perf-split{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}@media (max-width:880px){.grid-head{display:none!important}.grid-row{flex-wrap:wrap;align-items:center;position:relative;gap:8px 12px!important;padding:13px 14px 13px 20px!important;display:flex!important}.grid-row>:last-child{flex:1 0 100%}.grid-row>:has(.row-link){flex:1 0 100%}.grid-row>:has(.row-note){flex:1 0 100%}.grid-row>[aria-hidden]{width:4px;position:absolute;top:0;bottom:0;left:0;margin:0!important}.grid-row>:last-child{flex-wrap:wrap;justify-content:flex-start!important}.row-note{font-size:15.5px}.grid-row>[data-label]:before{content:attr(data-label) " ";color:var(--faint);font-weight:600}}@media (max-width:760px){.perf-split{grid-template-columns:1fr}}.perf-rows{background:var(--line);border-radius:10px;gap:1px;margin-top:2px;display:grid;overflow:hidden}.perf-row{background:var(--surface);flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:17px 18px;font-size:15.5px;line-height:1.55;display:flex}.perf-row b{color:var(--ink)}.perf-row span:not(.perf-amt):not(.perf-est){color:var(--body)}.perf-amt{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-family:ui-monospace,Consolas,monospace;font-weight:600}.perf-picked{background:var(--accent-tint);margin-bottom:var(--gap);color:var(--ink);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:8px 14px;padding:12px 16px;font-size:15.5px;display:flex}.perf-picked button{font:inherit;color:var(--accent);background:var(--surface);border:1px solid var(--line);border-radius:var(--pill);cursor:pointer;margin-left:auto;padding:3px 12px;font-size:14.5px;font-weight:600}.perf-picked button:hover{background:var(--bg)}.perf-scroll{overflow-x:auto}.perf-table{border-collapse:collapse;width:100%;min-width:700px;font-size:15px}.perf-table th{text-align:left;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:0 12px 8px 0;font-size:14px;font-weight:700}.perf-table th.num,.perf-table td.num{text-align:right}.perf-table td{border-bottom:1px solid var(--hair);vertical-align:middle;padding:13px 16px 13px 0}.perf-table td.num{font-variant-numeric:tabular-nums;white-space:nowrap;font-family:ui-monospace,Consolas,monospace}.perf-table tfoot td{border-top:2px solid var(--line);color:var(--ink);border-bottom:none;padding-top:10px;font-weight:700}.perf-cust{color:var(--ink);font-weight:600}.perf-none{color:var(--muted)}.perf-est{color:var(--seg-expired-ink);background:var(--seg-expired-tint);cursor:help;border-radius:3px;margin-left:5px;padding:1px 4px;font-family:ui-monospace,Consolas,monospace;font-size:12.5px;font-weight:600}.perf-panel{margin-bottom:20px;padding:24px 26px 26px}.perf-split .perf-panel{margin-bottom:0}.perf-h{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 20px;font-size:15px;font-weight:700}@media (max-width:760px){.app{height:auto;min-height:100dvh}.page{flex:1 0 auto;padding:16px 14px 96px;overflow-y:visible}.btn.hdr-log{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:40;border-radius:var(--pill);min-height:52px;padding:0 24px;font-size:16px;position:fixed;box-shadow:0 6px 20px #1f4e796b}.btn,.btn-primary,.btn-ghost{min-height:44px}.modal-scrim{place-items:start stretch;padding:0}.modal{width:100%;max-width:none;min-height:100dvh;padding:18px 16px calc(24px + env(safe-area-inset-bottom,0px));border-radius:0}.input,textarea.input,select.input{min-height:46px;font-size:16px}textarea.input{min-height:96px}.chip{min-height:40px;padding:0 15px;font-size:15px}.perf-chart-wrap,.perf-legend,.perf-caption{display:none!important}.perf-narrow-note{color:var(--body);margin:0;font-size:15.5px;line-height:1.6;display:block}.modal-cols{grid-template-columns:1fr!important}.dictate-btn{min-height:42px;padding:0 16px!important;font-size:15px!important}.hdr-book{display:none!important}.topbar{gap:10px;padding:8px 14px 6px}.hdr-right{gap:8px}}.attach-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.attach-busy{color:var(--muted);font-size:13.5px}.attach-list{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.attach-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--head);align-items:center;gap:11px;padding:8px 10px;display:flex}.attach-thumb{object-fit:cover;background:var(--sub);border-radius:9px;flex:none;width:46px;height:46px}.attach-thumb-file{letter-spacing:.06em;color:var(--faint);place-items:center;font-size:10.5px;font-weight:700;display:grid}.attach-meta{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.attach-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;overflow:hidden}.attach-size{color:var(--muted);font-size:13px}.tl-attach{flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.tl-attach-thumb{object-fit:cover;border:1px solid var(--line);background:var(--sub);border-radius:10px;width:76px;height:76px;display:block}.tl-attach-file{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--head);max-width:30ch;color:var(--accent);padding:7px 11px;font-size:13.5px;display:inline-block;overflow:hidden}.contact-tel{color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;text-decoration:none}.contact-tel:hover{text-decoration:underline}@media (max-width:760px){.contact-tel{min-height:40px;font-size:16px;line-height:40px;display:inline-block}}.contact-email{color:var(--accent);overflow-wrap:anywhere;text-decoration:none}.contact-email:hover{text-decoration:underline}@media (max-width:760px){.contact-email{min-height:40px;padding:10px 0;font-size:16px;line-height:1.35;display:inline-block}.contact-row{flex-direction:column;gap:2px!important}.contact-reach{text-align:left!important}}.rang{vertical-align:middle;align-items:center;gap:4px;margin-left:8px;display:inline-flex}.rang-log{color:var(--calm);background:var(--calm-tint);border-radius:var(--pill);white-space:nowrap;border:none;padding:5px 11px;font-size:13px;font-weight:600}.rang-log:hover{background:var(--calm);color:#fff}.rang-no{color:var(--faint);background:0 0;border:none;padding:4px 6px;font-size:15px;line-height:1}.rang-no:hover{color:var(--body)}@media (max-width:760px){.rang{margin:2px 0 6px;display:flex}.rang-log{min-height:40px;padding:0 16px;font-size:15px}.rang-no{min-width:40px;min-height:40px;font-size:18px}}.page-narrow{max-width:780px}.seat-list{gap:4px;display:grid}.seat{border-bottom:1px solid var(--hair);align-items:center;gap:12px;padding:11px 0;display:flex}.seat:last-child{border-bottom:none}.seat[data-off] .seat-name,.seat[data-off] .seat-email{color:var(--muted)}.seat-who{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.seat-name{color:var(--ink);align-items:center;gap:8px;font-size:15.5px;font-weight:600;display:flex}.seat-email{color:var(--muted);overflow-wrap:anywhere;font-size:14px}.seat-disc{color:var(--faint);font-size:13px}.seat-you{color:var(--faint);white-space:nowrap;font-size:13.5px}.seat-form{max-width:520px}.seat-hint{color:var(--muted);margin:6px 0 0;font-size:13.5px;line-height:1.5}.seat-warn{color:var(--warn-ink);background:var(--warn-tint);border-radius:var(--radius-sm);margin:8px 0 0;padding:9px 12px;font-size:13.5px;line-height:1.5}.seat-error{color:var(--danger-ink);margin:12px 0 0;font-size:14px}@media (max-width:760px){.seat{flex-wrap:wrap}.seat-who{flex:1 0 60%}}
