@import"https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&family=Roboto+Mono:wght@400;500&display=swap";:root{color-scheme:light;--brand-navy: #2A2A62;--brand-green: #4FBE99;--brand-gradient: linear-gradient(90deg, #2A2A62 0%, #3D747E 52%, #4FBE99 100%);--brand-gradient-deep: linear-gradient(90deg, #2A2A62 0%, #2A2A62 22%, #35566F 48%, #3F8A85 74%, #4FBE99 100%);--paper: #F4F6F8;--surface: #FFFFFF;--surface-2: #F8FAFB;--ink: #1A1C2E;--ink-2: #565C71;--ink-3: #868CA0;--rule: #DEE2E8;--rule-2: #C3C9D4;--structure: #2A2A62;--structure-soft: #E7E8F1;--accent: #2A7A5F;--accent-soft: #E4F2ED;--marker: #2E9B78;--tint-navy: #EDEEF6;--tint-teal: #E6F1F2;--tint-green: #E7F4EE;--tint-warn: #FAF0E0;--ok: #2F7D5F;--ok-soft: #E4F1EB;--warn: #96601A;--warn-soft: #F7ECDA;--danger: #A63D34;--danger-soft: #F6E4E1;--stage-planned: #3A3A78;--stage-scoping: #40607F;--stage-testing: #45838C;--stage-report: #48A292;--stage-debrief: #4FBE99;--stage-closed: #A9AEB8;--stage-cancelled: #C2695F;--stage-planned-ink: #2A2A62;--stage-scoping-ink: #2F4E6B;--stage-testing-ink: #2C6870;--stage-report-ink: #2C7F6F;--stage-debrief-ink: #2C825D;--stage-closed-ink: #6B7280;--stage-cancelled-ink: #A63D34;--sans: "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "Roboto Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--radius: 3px;--shadow: 0 1px 2px rgba(26, 28, 46, .06), 0 4px 12px rgba(26, 28, 46, .05)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.015em;text-wrap:balance}h1{font-size:1.5rem}h2{font-size:1.125rem}h3{font-size:.9375rem}p{margin:0}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--marker);outline-offset:2px;border-radius:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app{display:flex;flex-direction:column;min-height:100%}.topbar{display:flex;align-items:center;gap:1.5rem;padding:0 1.5rem;height:56px;background:var(--surface);border-bottom:1px solid var(--rule)}.brand{display:flex;align-items:baseline;gap:.5rem;font-weight:700;letter-spacing:-.02em;text-decoration:none;color:var(--ink)}.brand strong{background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}.brand span{font-family:var(--mono);font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.topbar nav{display:flex;gap:.25rem;margin-left:auto;align-items:center}.topbar nav a,.linkbtn{padding:.4rem .7rem;border-radius:var(--radius);text-decoration:none;color:var(--ink-2);font-size:.875rem;font-weight:500;background:none;border:none;cursor:pointer}.topbar nav a:hover,.linkbtn:hover{background:var(--surface-2);color:var(--ink)}.topbar nav a.active{color:var(--ink);background:var(--structure-soft)}.who{font-family:var(--mono);font-size:.75rem;color:var(--ink-3);padding-right:.5rem}.page{flex:1;padding:2rem 1.5rem 4rem}.page-inner{max-width:76rem;margin:0 auto}.page-inner.narrow{max-width:46rem}.page-head{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.page-head .grow{flex:1;min-width:14rem}.eyebrow{font-family:var(--mono);font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.2rem}.sub{color:var(--ink-2);font-size:.9375rem}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;border:1px solid var(--rule-2);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--ink-3)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--structure);border-color:var(--structure);color:var(--surface)}.btn.primary:hover:not(:disabled){filter:brightness(1.12)}.btn.danger{color:var(--danger);border-color:var(--danger);background:transparent}.btn.danger:hover:not(:disabled){background:var(--danger-soft)}.btn.sm{padding:.25rem .55rem;font-size:.8125rem}.field{display:flex;flex-direction:column;gap:.3rem}.field label{font-family:var(--mono);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.field input,.field select{padding:.45rem .6rem;border:1px solid var(--rule-2);border-radius:var(--radius);background:var(--surface);width:100%}.field .hint{font-size:.8125rem;color:var(--ink-3)}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem}.filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;padding:.875rem 1rem;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);margin-bottom:1.25rem}.filters .field{min-width:9rem}.filters .spacer{margin-left:auto}.toggle{display:inline-flex;border:1px solid var(--rule-2);border-radius:var(--radius);overflow:hidden}.toggle button{padding:.4rem .8rem;background:var(--surface);border:none;cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--ink-2)}.toggle button[aria-pressed=true]{background:var(--structure);color:var(--surface)}.toggle button+button{border-left:1px solid var(--rule-2)}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius)}.panel-head{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-bottom:1px solid var(--rule)}.panel-head h2{flex:1}.panel-body{padding:1rem}.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}th{text-align:left;padding:.6rem .75rem;font-family:var(--mono);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--rule-2);white-space:nowrap}td{padding:.7rem .75rem;border-bottom:1px solid var(--rule);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface-2)}td.num,th.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.rowlink{color:var(--ink);font-weight:600;text-decoration:none}.rowlink:hover{text-decoration:underline}.rowsub{color:var(--ink-3);font-size:.8125rem}.empty{padding:3rem 1rem;text-align:center;color:var(--ink-2)}.empty p{margin-bottom:1rem}.pill{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:.6875rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:.18rem .45rem;border-radius:2px;border:1px solid currentColor;white-space:nowrap}.pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.pill[data-status=planned]{color:var(--stage-planned-ink)}.pill[data-status=scoping]{color:var(--stage-scoping-ink)}.pill[data-status=in-progress]{color:var(--stage-testing-ink)}.pill[data-status=report-delivered]{color:var(--stage-report-ink)}.pill[data-status=reporting-meeting]{color:var(--stage-debrief-ink)}.pill[data-status=closed]{color:var(--stage-closed-ink)}.pill[data-status=cancelled]{color:var(--stage-cancelled-ink)}.flag{font-family:var(--mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;padding:.18rem .45rem;border-radius:2px;white-space:nowrap}.flag[data-state=pending]{color:var(--warn);background:var(--warn-soft)}.flag[data-state=sent]{color:var(--ok);background:var(--ok-soft)}.flag[data-state=not-required]{color:var(--ink-3)}.span{position:relative;height:10px;min-width:6rem;background:var(--surface-2);border:1px solid var(--rule);border-radius:2px;overflow:hidden}.span-fill{position:absolute;top:0;bottom:0;border-radius:1px;background:var(--bar, var(--stage-planned));animation:grow .24s ease-out}@keyframes grow{0%{transform:scaleX(0);transform-origin:left}}.span-today{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--marker)}.timeline{min-width:48rem}.tl-months{display:grid;border-bottom:1px solid var(--rule-2);margin-left:15rem}.tl-months div{font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:0 0 .4rem .4rem;border-left:1px solid var(--rule)}.tl-row{display:grid;grid-template-columns:15rem 1fr;align-items:center;gap:.75rem;padding:.4rem 0}.tl-row+.tl-row{border-top:1px solid var(--rule)}.tl-label{min-width:0}.tl-label a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-track{position:relative;height:20px}.tl-grid{position:absolute;top:0;right:0;bottom:0;left:0;display:grid}.tl-grid div{border-left:1px solid var(--rule)}.tl-bar{position:absolute;top:3px;height:14px;border-radius:2px;background:var(--bar, var(--stage-planned));animation:grow .24s ease-out}.tl-bar-label{position:absolute;top:3px;height:14px;display:flex;align-items:center;padding-left:.35rem;font-family:var(--mono);font-size:.625rem;color:var(--ink-3);white-space:nowrap;pointer-events:none}.tl-now{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--marker);z-index:2}.tl-now:after{content:"TODAY";position:absolute;top:-1.15rem;left:-1.2rem;font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;color:var(--marker)}.stack{display:flex;flex-direction:column;gap:1.25rem}.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.deflist{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem 1.5rem}.deflist dt{font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.15rem}.deflist dd{margin:0;font-variant-numeric:tabular-nums}.notice{padding:.7rem .9rem;border-radius:var(--radius);font-size:.875rem;border:1px solid}.notice.error{color:var(--danger);background:var(--danger-soft);border-color:var(--danger)}.notice.info{color:var(--structure);background:var(--structure-soft);border-color:var(--rule-2)}.notice.warn{color:var(--warn);background:var(--warn-soft);border-color:var(--warn)}.notice ul{margin:.35rem 0 0;padding-left:1.1rem}.token-reveal{font-family:var(--mono);font-size:.8125rem;word-break:break-all;background:var(--surface-2);border:1px dashed var(--rule-2);border-radius:var(--radius);padding:.6rem .7rem;margin:.5rem 0}.guest{max-width:40rem;margin:0 auto;padding:3rem 1.5rem 5rem}.guest-head{border-bottom:2px solid var(--ink);padding-bottom:1.25rem;margin-bottom:2rem}.guest-head h1{font-size:clamp(1.5rem,4vw,2rem);margin-top:.35rem}.track{display:flex;flex-direction:column;gap:0;margin:2rem 0}.track-step{display:grid;grid-template-columns:1.5rem 1fr auto;gap:.75rem;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--rule)}.track-step:last-child{border-bottom:none}.track-dot{width:11px;height:11px;border-radius:50%;border:2px solid var(--rule-2);background:var(--surface);justify-self:center}.track-step[data-state=done] .track-dot{background:var(--accent);border-color:var(--accent)}.track-step[data-state=current] .track-dot{background:var(--structure);border-color:var(--structure);box-shadow:0 0 0 3px var(--accent-soft),0 0 0 4px var(--marker)}.track-step[data-state=todo] .track-name{color:var(--ink-3)}.track-step[data-state=current] .track-name{font-weight:600}.track-name{font-size:.9375rem}.track-date{font-family:var(--mono);font-size:.8125rem;color:var(--ink-3);font-variant-numeric:tabular-nums}.guest-foot{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--rule);font-size:.8125rem;color:var(--ink-3)}.center-card{max-width:26rem;margin:4rem auto;text-align:center;display:flex;flex-direction:column;gap:1rem;align-items:center}@media(max-width:40rem){.page{padding:1.25rem 1rem 3rem}.topbar{padding:0 1rem;gap:.75rem}.who{display:none}}.topbar{position:relative}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--brand-gradient)}.brandfooter{margin-top:auto;background:var(--brand-gradient-deep);padding:2rem 1.5rem}.brandfooter-inner{max-width:76rem;margin:0 auto;display:flex;flex-direction:column;gap:.2rem}.bf-mark{font-size:1.375rem;font-weight:700;letter-spacing:-.02em;color:#fff}.bf-sub{font-family:var(--mono);font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#ffffffb8}.bf-note{margin-top:.5rem;font-size:.8125rem;color:#ffffffd1;max-width:34rem}@media(max-width:40rem){.brandfooter{padding:1.5rem 1rem}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.75rem;margin-bottom:1.25rem}.stat{border:1px solid var(--rule);border-radius:var(--radius);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.1rem;background:var(--surface);min-width:0}.stat .n{font-family:var(--mono);font-size:1.75rem;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--structure)}.stat .k{font-family:var(--mono);font-size:.625rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}.stat .x{font-size:.8125rem;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat .n.sm{font-size:1.125rem;letter-spacing:-.01em}.stat[data-tone=testing]{background:var(--tint-teal);border-color:#d3e4e6}.stat[data-tone=testing] .n{color:var(--stage-testing-ink)}.stat[data-tone=waiting]{background:var(--tint-warn);border-color:#ebdcc2}.stat[data-tone=waiting] .n{color:var(--warn)}.stat[data-tone=next]{background:var(--tint-green);border-color:#d2e7dc}.stat[data-tone=next] .n{color:var(--accent)}.stat[data-tone=total]{background:var(--tint-navy);border-color:#dcdeec}.panel-head{background:var(--surface-2);border-radius:var(--radius) var(--radius) 0 0}.empty-rule{width:4rem;height:3px;margin:0 auto 1rem;border-radius:2px;background:var(--brand-gradient)}.guest-head{position:relative}.guest-rule{width:5rem;height:3px;border-radius:2px;background:var(--brand-gradient);margin-bottom:1.1rem}.template-layout{display:grid;grid-template-columns:20rem 1fr;gap:1.25rem;align-items:start}@media(max-width:60rem){.template-layout{grid-template-columns:1fr}}.template-list{list-style:none;margin:0;padding:0}.template-list li{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--rule)}.template-list li:last-child{border-bottom:none}.template-list li.active{background:var(--tint-navy)}.tl-name{flex:1;min-width:0;text-align:left;background:none;border:none;cursor:pointer;padding:.15rem 0;display:flex;flex-direction:column;gap:.1rem;font-weight:600;color:var(--ink)}.tl-name:hover{text-decoration:underline}.tl-name .rowsub{font-weight:400}.editor-shell{border:1px solid var(--rule-2);border-radius:var(--radius);background:var(--surface);overflow:hidden}.ed-toolbar{display:flex;flex-wrap:wrap;gap:.25rem;padding:.4rem;background:var(--surface-2);border-bottom:1px solid var(--rule)}.ed-btn{min-width:2rem;padding:.25rem .5rem;border:1px solid transparent;border-radius:2px;background:none;cursor:pointer;font-size:.8125rem;font-weight:600;color:var(--ink-2)}.ed-btn:hover{background:var(--surface);border-color:var(--rule-2)}.ed-btn[aria-pressed=true]{background:var(--structure);border-color:var(--structure);color:var(--surface)}.ed-vars{margin-left:auto;padding:.25rem .4rem;border:1px solid var(--rule-2);border-radius:2px;background:var(--surface);font-size:.8125rem;font-family:var(--mono)}.ed-content .tiptap{min-height:16rem;padding:.9rem 1rem;outline:none;font-size:.9375rem;line-height:1.6}.ed-content .tiptap p{margin:0 0 .75rem}.ed-content .tiptap p:last-child{margin-bottom:0}.ed-content .tiptap h2{font-size:1.125rem;margin:1rem 0 .5rem}.ed-content .tiptap h3{font-size:1rem;margin:.875rem 0 .4rem}.ed-content .tiptap ul,.ed-content .tiptap ol{margin:0 0 .75rem;padding-left:1.35rem}.ed-content .tiptap li{margin-bottom:.2rem}.ed-content .tiptap a{color:var(--accent)}.var-help{font-size:.875rem}.var-help summary{cursor:pointer;color:var(--ink-2)}.var-grid{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.6rem}.var-grid code{font-family:var(--mono);font-size:.75rem;background:var(--surface-2);border:1px solid var(--rule);border-radius:2px;padding:.15rem .35rem;color:var(--ink-2)}.preview-box{border:1px solid var(--rule-2);border-radius:var(--radius);padding:1rem;background:var(--surface-2)}.preview-subject{font-weight:600;padding:.45rem .6rem;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius)}.preview-label{display:block;margin:.75rem 0 .3rem;font-family:var(--mono);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.preview-frame{width:100%;height:26rem;border:1px solid var(--rule);border-radius:var(--radius);background:#fff}.detail-layout{display:grid;grid-template-columns:11rem minmax(0,46rem);gap:2.5rem;justify-content:center;align-items:start}.detail-main{min-width:0}.section-nav{position:sticky;top:5rem;padding-left:.75rem;border-left:2px solid var(--rule)}.section-nav ul{list-style:none;margin:0;padding:0}.section-nav li{margin-bottom:.15rem}.section-nav a{display:flex;align-items:center;gap:.5rem;padding:.3rem .4rem;border-radius:var(--radius);font-size:.8125rem;font-weight:500;color:var(--ink-3);text-decoration:none}.section-nav a:hover{color:var(--ink);background:var(--surface-2)}.section-nav a.active{color:var(--structure);background:var(--structure-soft);font-weight:600}.sn-dot{width:6px;height:6px;border-radius:50%;background:var(--rule-2);flex:none}.section-nav a.active .sn-dot{background:var(--marker)}[id^=sec-]{scroll-margin-top:5rem}[id^=sec-]:focus{outline:none}@media(max-width:68rem){.detail-layout{grid-template-columns:minmax(0,1fr)}.section-nav{display:none}}.attach-block{border:1px solid var(--rule);border-radius:var(--radius);padding:.75rem .9rem;background:var(--surface-2)}.attach-label{font-family:var(--mono);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.attach-list{list-style:none;margin:.6rem 0 0;padding:0}.attach-list li{display:flex;align-items:center;gap:.6rem;padding:.35rem 0;border-top:1px solid var(--rule)}.attach-list.compact li{border-top:none;padding:.15rem 0}.af-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem}.guest-head-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.guest-head-text{min-width:0}.guest-logo{flex:none;width:130px;height:auto}.brandfooter-inner{flex-direction:row;align-items:center;justify-content:space-between;gap:1.5rem}.bf-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.bf-logo{flex:none;width:150px;height:auto;opacity:.95}@media(max-width:40rem){.guest-logo{width:96px}.bf-logo{width:110px}.brandfooter-inner{flex-direction:column;align-items:flex-start}}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1.25rem;align-items:start}.chart-wrap{position:relative}.barrows{display:flex;flex-direction:column;gap:.45rem}.barrow{display:grid;grid-template-columns:9.5rem 1fr 2.5rem;align-items:center;gap:.75rem}.barrow-label{font-size:.875rem;color:var(--ink-2)}.barrow-track{height:14px;background:var(--surface-2);border-radius:2px;overflow:hidden}.barrow-fill{height:100%;border-radius:0 4px 4px 0;min-width:2px;transition:width .2s ease-out}.barrow-value{font-family:var(--mono);font-size:.875rem;font-variant-numeric:tabular-nums;text-align:right;color:var(--ink)}.columns{display:flex;align-items:flex-end;gap:2px}.column{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:.2rem;min-width:0}.column-value{font-family:var(--mono);font-size:.6875rem;text-align:center;color:var(--ink-3);font-variant-numeric:tabular-nums;height:.9rem}.column-fill{border-radius:4px 4px 0 0;min-height:2px}.columns-axis{display:flex;gap:2px;margin-top:.35rem;padding-top:.35rem;border-top:1px solid var(--rule)}.columns-axis div{flex:1;text-align:center;font-family:var(--mono);font-size:.625rem;color:var(--ink-3);text-transform:uppercase}.chart-tip{position:absolute;z-index:5;transform:translateY(-100%);background:var(--ink);color:var(--paper);padding:.3rem .5rem;border-radius:var(--radius);font-size:.75rem;pointer-events:none;white-space:nowrap;display:flex;gap:.4rem}.stat-unit{font-size:.9rem;margin-left:.15rem;color:var(--ink-2)}.cal{min-width:46rem}.cal-head,.cal-days{display:grid;grid-template-columns:repeat(7,1fr)}.cal-head div{padding:.4rem .5rem;font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--rule-2)}.cal-week{position:relative;border-bottom:1px solid var(--rule)}.cal-week:last-child{border-bottom:none}.cal-day{min-height:4.5rem;padding:.3rem .45rem;border-left:1px solid var(--rule)}.cal-day:first-child{border-left:none}.cal-day[data-outside]{background:var(--surface-2)}.cal-daynum{font-family:var(--mono);font-size:.75rem;color:var(--ink-3);font-variant-numeric:tabular-nums}.cal-day[data-outside] .cal-daynum{opacity:.5}.cal-day[data-today] .cal-daynum{background:var(--marker);color:#fff;border-radius:999px;padding:.05rem .4rem;font-weight:600}.cal-lanes{position:absolute;top:1.7rem;left:0;right:0;display:flex;flex-direction:column;gap:2px;padding:0 2px}.cal-lane{display:grid;grid-template-columns:repeat(7,1fr)}.cal-bar{border-radius:3px;padding:.1rem .4rem;font-size:.6875rem;font-weight:500;color:#fff;text-decoration:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.5}.cal-bar:hover{filter:brightness(1.08)}.cal-bar span{text-shadow:0 1px 1px rgba(0,0,0,.25)}@media(max-width:40rem){.barrow{grid-template-columns:7rem 1fr 2rem}}.fmark{display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;margin-left:.3rem;border-radius:50%;font-family:var(--sans);font-size:.6875rem;font-weight:700;letter-spacing:0;line-height:1;vertical-align:-.15rem;text-transform:none;flex:none}.fmark[data-state=done]{background:var(--ok);color:#fff}.fmark[data-state=todo]{border:1.5px dashed var(--warn);background:var(--warn-soft);color:var(--warn)}.fmark[data-state=invalid]{background:var(--danger);color:#fff}.completion-track{height:8px;background:var(--surface-2);border:1px solid var(--rule);border-radius:999px;overflow:hidden}.completion-fill{height:100%;background:linear-gradient(90deg,#28285f,#55be9b);border-radius:999px;transition:width .2s ease-out}.mascot{position:fixed;right:1.5rem;bottom:1.25rem;z-index:20;display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;pointer-events:none}.mascot>*{pointer-events:auto}.mascot-bubble{position:relative;display:flex;align-items:flex-start;gap:.4rem;max-width:17rem;padding:.65rem .55rem .65rem .85rem;background:var(--surface);border:1.5px solid var(--structure);border-radius:12px;box-shadow:var(--shadow);font-size:.875rem;line-height:1.4;color:var(--ink);margin-right:2.8rem}.mascot-bubble:after{content:"";position:absolute;right:1.4rem;bottom:-8px;width:14px;height:14px;background:var(--surface);border-right:1.5px solid var(--structure);border-bottom:1.5px solid var(--structure);transform:rotate(45deg)}.mascot[data-state=invalid] .mascot-bubble,.mascot[data-state=invalid] .mascot-bubble:after{border-color:var(--danger)}.mascot[data-state=done] .mascot-bubble,.mascot[data-state=done] .mascot-bubble:after{border-color:var(--ok)}.mascot-say{flex:1;text-align:left;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;animation:mascot-say .25s ease-out}span.mascot-say{cursor:default}button.mascot-say:hover{text-decoration:underline;text-decoration-color:var(--rule-2)}.mascot-close{flex:none;width:1.4rem;height:1.4rem;border:none;border-radius:50%;background:none;color:var(--ink-3);font-size:1.1rem;line-height:1;cursor:pointer}.mascot-close:hover{background:var(--surface-2);color:var(--ink)}.mascot-body{background:none;border:none;padding:0;cursor:pointer;filter:drop-shadow(0 4px 6px rgba(26,28,46,.18))}.platypus{display:block;animation:mascot-bob 3.2s ease-in-out infinite}.platypus-cursor{animation:mascot-cursor 1.1s steps(1) infinite}@keyframes mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes mascot-cursor{0%{opacity:1}50%{opacity:0}}@keyframes mascot-say{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(max-width:40rem){.mascot{right:.75rem;bottom:.75rem}.mascot-bubble{max-width:13rem;font-size:.8125rem}.mascot-body svg{width:76px;height:76px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.danger-zone{border-color:#e6c3bf}.danger-zone .panel-head{background:var(--danger-soft)}.danger-zone .panel-head h2{color:var(--danger)}.landing{flex:1;display:flex;align-items:center;justify-content:center;padding:4rem 1.5rem}.landing-inner{display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center}.landing-inner .guest-rule{margin:0}.landing-title{font-size:clamp(2rem,6vw,3rem);font-weight:700;letter-spacing:-.03em;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-logo{width:150px;height:auto}.chat-cta{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:1.5rem 0 0;padding:.9rem 1rem;border:1px solid var(--rule);border-left:4px solid var(--brand-green);border-radius:var(--radius);background:var(--surface)}.intake-section .panel-head{justify-content:space-between}.intake-section textarea,.intake-section input:not([type=checkbox]){padding:.45rem .6rem;border:1px solid var(--rule-2);border-radius:var(--radius);background:var(--surface);width:100%;font:inherit}.intake-section textarea{resize:vertical;min-height:5rem}.intake-row{display:flex;gap:.75rem;align-items:flex-end;padding-bottom:.75rem;border-bottom:1px solid var(--rule)}.intake-steps{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.75rem}.intake-check{display:inline-flex;gap:.5rem;align-items:center;cursor:pointer}.intake-check input{width:auto}.intake-pre{margin:.3rem 0 0;padding:.55rem .7rem;background:var(--surface-2);border:1px solid var(--rule);border-radius:var(--radius);font-family:var(--mono);font-size:.8125rem;white-space:pre-wrap;word-break:break-word}.intake-section>summary{cursor:pointer;list-style:none;justify-content:space-between}.intake-section>summary::-webkit-details-marker{display:none}.intake-section>summary h2:before{content:"▸";display:inline-block;width:1.1rem;color:var(--ink-3);transition:transform .15s}.intake-section[open]>summary h2:before{transform:rotate(90deg)}.intake-section:not([open])>summary{border-bottom:none;border-radius:var(--radius)}.intake-nav{position:fixed;z-index:15;top:6rem;right:max(1rem,calc((100vw - 40rem)/2 - 17rem));width:14.5rem;padding:.85rem .9rem;background:var(--surface);border:1px solid var(--rule);border-radius:10px;box-shadow:var(--shadow);font-size:.8125rem}.intake-nav-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.4rem}.intake-nav-head .num{font-family:var(--mono);font-weight:600;color:var(--structure)}.intake-nav-list{list-style:none;margin:.55rem 0 0;padding:0;display:flex;flex-direction:column;gap:.1rem}.intake-nav-list button{display:flex;align-items:center;gap:.45rem;width:100%;text-align:left;padding:.3rem .35rem;border:none;background:none;border-radius:var(--radius);cursor:pointer;color:var(--ink-2)}.intake-nav-list button:hover{background:var(--surface-2);color:var(--ink)}.intake-dot{width:8px;height:8px;border-radius:50%;border:1.5px dashed var(--warn);flex:none}.intake-dot[data-done]{background:var(--ok);border:1.5px solid var(--ok)}.intake-nav-done{margin:.55rem 0 0;color:var(--ok);font-weight:600}.intake-nav-done-list{margin-top:.5rem;border-top:1px solid var(--rule);padding-top:.4rem}.intake-nav-done-list>summary{cursor:pointer;color:var(--ink-3);font-size:.75rem;padding:.2rem .35rem}@media(max-width:75rem){.intake-nav{top:auto;bottom:0;left:0;right:0;width:auto;border-radius:10px 10px 0 0;padding:.6rem 1rem;max-height:45vh;overflow:auto}.intake{padding-bottom:7rem}}.form-section>summary{display:flex;align-items:baseline;gap:.75rem;cursor:pointer;list-style:none;padding:.35rem 0;margin-bottom:.4rem}.form-section>summary::-webkit-details-marker{display:none}.form-section>summary h2:before{content:"▸";display:inline-block;width:1.1rem;color:var(--ink-3);transition:transform .15s}.form-section[open]>summary h2:before{transform:rotate(90deg)}.form-section:not([open]){padding:.35rem .75rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--ok-soft)}.intake-dot[data-invalid]{border:1.5px solid var(--danger);background:var(--danger)}@media(max-width:75rem){.mascot{bottom:9rem}}.intake-nav[data-layout]{right:auto}.intake-nav[data-layout=new]{left:calc(50% + 24.5rem)}.intake-nav[data-layout=detail]{left:calc(50% + 31.25rem)}@media(max-width:82rem){.intake-nav[data-layout=new]{top:auto;bottom:0;left:0;right:0;width:auto;border-radius:10px 10px 0 0;padding:.6rem 1rem;max-height:40vh;overflow:auto}.page-inner:has(.intake-nav[data-layout=new]){padding-bottom:14rem}}@media(max-width:95rem){.intake-nav[data-layout=detail]{top:auto;bottom:0;left:0;right:0;width:auto;border-radius:10px 10px 0 0;padding:.6rem 1rem;max-height:40vh;overflow:auto}.page-inner:has(.intake-nav[data-layout=detail]){padding-bottom:14rem}}.meetings-block{margin-top:1.25rem;padding:.9rem 1rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface-2);display:flex;flex-direction:column;gap:.5rem}.meeting-row{padding-top:.6rem;border-top:1px solid var(--rule)}.meetings-guest{margin-top:1.5rem;display:flex;flex-direction:column;gap:.6rem}.meeting-card{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.85rem 1rem;border:1px solid var(--rule);border-left:4px solid var(--brand-navy);border-radius:var(--radius);background:var(--surface)}.meeting-invite{display:flex;flex-direction:column;gap:.35rem}.engagement-steps{max-width:60rem}.stepnav{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:1.1rem .5rem .9rem}.stepnav ol{list-style:none;margin:0;padding:0;display:flex}.stepnav li{flex:1;position:relative;min-width:0;--c:var(--ink-3);--bg:var(--surface)}.stepnav li+li:before{content:"";position:absolute;top:22px;right:calc(50% + 26px);left:calc(-50% + 26px);height:3px;border-radius:2px;background:var(--rule-2)}.stepnav li[data-state=done]+li:before{background:var(--ok)}.stepnav li[data-state=danger]:before{background:none;border-top:2px dashed var(--rule-2);height:0}.stepnav li[data-state=done]{--c:var(--ok);--bg:var(--ok-soft)}.stepnav li[data-state=progress]{--c:var(--stage-testing-ink);--bg:var(--tint-teal)}.stepnav li[data-state=todo]{--c:var(--warn);--bg:var(--warn-soft)}.stepnav li[data-state=error]{--c:var(--danger);--bg:var(--danger-soft)}.stepnav li[data-state=info]{--c:var(--structure);--bg:var(--structure-soft)}.stepnav li[data-state=danger]{--c:var(--danger);--bg:var(--surface)}.step-link{display:flex;flex-direction:column;align-items:center;gap:.3rem;text-decoration:none;color:var(--ink-2);padding:0 .25rem}.step-bubble{position:relative;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:var(--c);background:var(--bg);border:2px solid var(--c);transition:transform .15s ease,box-shadow .15s ease;z-index:1}.stepnav li[data-state=todo] .step-bubble{border-style:dashed}.step-badge{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:var(--c);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;border:2px solid var(--surface)}.step-label{font-size:.8125rem;font-weight:600;color:var(--ink);text-align:center;line-height:1.2}.step-hint{font-family:var(--mono);font-size:.625rem;letter-spacing:.04em;color:var(--c);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.step-link:hover .step-bubble{transform:scale(1.06)}.stepnav li[aria-current=step] .step-bubble{background:var(--c);color:#fff;box-shadow:0 0 0 4px var(--bg),0 0 0 5px var(--c);transform:scale(1.08)}.stepnav li[aria-current=step] .step-badge{background:#fff;color:var(--c);border-color:var(--c)}.stepnav li[aria-current=step] .step-label{color:var(--c)}@media(max-width:40rem){.stepnav ol{overflow-x:auto;padding-bottom:.25rem}.stepnav li{flex:0 0 5.5rem}.step-hint{display:none}}.stepnav li[data-state=todo]{--c:#B58500;--bg:#FFF6D6}.stepnav li .step-hint{white-space:normal;line-height:1.25;max-width:9.5rem}.loading{display:inline-flex;align-items:center;gap:.6rem;color:var(--ink-3);font-size:.875rem;opacity:0;transition:opacity .2s ease}.loading[data-shown]{opacity:1}.loading.block{display:flex;flex-direction:column;justify-content:center;min-height:14rem;width:100%;gap:.8rem}.spinner{width:22px;height:22px;border-radius:50%;flex:none;background:conic-gradient(from 0deg,transparent 0 25%,var(--brand-navy) 55%,var(--brand-green) 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));animation:spin .8s linear infinite}.loading.block .spinner{width:38px;height:38px;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px))}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s!important}}.preview-page{max-width:60rem}.preview-banner{display:flex;gap:1rem;align-items:flex-start;flex-wrap:wrap;padding:1rem 1.1rem;margin-bottom:1.25rem;background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--brand-green);border-radius:var(--radius)}.preview-banner .grow{flex:1;min-width:16rem}.preview-window{border:1px solid var(--rule-2);border-radius:8px;overflow:hidden;box-shadow:var(--shadow);background:var(--paper)}.preview-chrome{display:flex;align-items:center;gap:.4rem;padding:.55rem .8rem;background:var(--surface-2);border-bottom:1px solid var(--rule)}.preview-chrome span{width:10px;height:10px;border-radius:50%;background:var(--rule-2)}.preview-chrome code{margin-left:.6rem;font-family:var(--mono);font-size:.75rem;color:var(--ink-3);background:var(--surface);border:1px solid var(--rule);border-radius:999px;padding:.15rem .7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-body{border:0;margin:0;padding:0;min-width:0}.preview-body .guest{padding-top:2rem}.preview-body .intake-nav{position:static;width:auto;max-height:none;margin:0 0 1rem;box-shadow:none;transform:none}.stepnav li[data-state=optional]{--c:var(--ink-3);--bg:var(--surface-2)}.stepnav li[data-state=optional] .step-bubble{border-style:dashed}.guest .stepnav{margin:1.5rem 0 0}.guest .stepnav li{min-width:4.6rem}.guest .step-label{font-size:.75rem}.still-needed{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.intake-next{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.stepnav{min-width:0;max-width:100%;overflow-x:auto}.guest{width:100%;min-width:0}.update-banner{position:fixed;z-index:50;left:50%;bottom:1rem;transform:translate(-50%);display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;max-width:calc(100% - 2rem);padding:.6rem .9rem;background:var(--surface);border:1px solid var(--rule-2);border-left:4px solid var(--brand-green);border-radius:8px;box-shadow:var(--shadow);font-size:.875rem}.guest.guest-wide{max-width:64rem}.g-head{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--ink)}.g-head-text{min-width:0;display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}.g-head h1{font-size:clamp(1.5rem,4vw,2rem)}.guest-wide .stepnav{margin-top:1.25rem}.g-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.25rem;margin-top:1.25rem;align-items:start}.g-main,.g-side{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.g-card{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:1.1rem 1.2rem}.g-card[data-tone=todo]{border-top:4px solid #B58500}.g-card[data-tone=error]{border-top:4px solid var(--danger)}.g-card[data-tone=ok]{border-top:4px solid var(--ok)}.g-card-title{font-size:1rem;margin-bottom:.75rem}.g-todo{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.g-todo li{display:flex;align-items:center;gap:.75rem;padding:.55rem .7rem;border-radius:8px;background:#fff6d6}.g-todo li[data-tone=error]{background:var(--danger-soft)}.g-todo-mark{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;background:#b58500}.g-todo li[data-tone=error] .g-todo-mark{background:var(--danger)}.g-todo-text{flex:1;min-width:0;display:flex;flex-direction:column}.g-waiting{margin-top:.75rem}.g-timeline{list-style:none;margin:0;padding:0}.g-timeline li{display:grid;grid-template-columns:1.6rem 1fr auto;align-items:center;gap:.6rem;padding:.45rem 0;position:relative}.g-timeline li+li:before{content:"";position:absolute;left:calc(.8rem - 1px);top:-.55rem;height:1rem;width:2px;background:var(--rule-2)}.g-timeline li[data-state=done]+li:before,.g-timeline li[data-state=current]:before{background:var(--ok)}.g-dot{width:1.6rem;height:1.6rem;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:700;border:2px solid var(--rule-2);background:var(--surface);color:#fff}.g-timeline li[data-state=done] .g-dot{background:var(--ok);border-color:var(--ok)}.g-timeline li[data-state=current] .g-dot{background:var(--structure);border-color:var(--structure);box-shadow:0 0 0 4px var(--structure-soft)}.g-timeline li[data-state=todo] .g-stage{color:var(--ink-3)}.g-stage{font-size:.9375rem;display:flex;align-items:center;gap:.5rem}.g-timeline li[data-state=current] .g-stage{font-weight:600}.g-now{font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--structure);border-radius:999px;padding:.05rem .45rem}.g-date{font-family:var(--mono);font-size:.8125rem;color:var(--ink-3);font-variant-numeric:tabular-nums}.g-meeting{display:flex;gap:1rem;align-items:center}.g-cal{flex:none;width:4rem;border-radius:10px;overflow:hidden;text-align:center;border:1px solid var(--rule);background:var(--surface)}.g-cal span{display:block;background:var(--brand-gradient);color:#fff;font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;padding:.2rem 0}.g-cal strong{display:block;font-size:1.6rem;line-height:1.6;color:var(--ink)}.g-meeting-name{font-weight:600}.g-soon{margin-left:.5rem;font-family:var(--mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:.05rem .45rem}.g-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}.g-later{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.9rem;padding-top:.75rem;border-top:1px solid var(--rule);font-size:.875rem}.g-contact .rowsub{margin-top:.6rem}.g-chat{display:flex;align-items:center;gap:.8rem;padding:.75rem .85rem;border-radius:10px;text-decoration:none;color:#fff;background:linear-gradient(135deg,#4b53bc,#6264a7);transition:filter .15s ease,transform .15s ease}.g-chat:hover{filter:brightness(1.08);transform:translateY(-1px)}.g-chat>span:nth-child(2){flex:1;display:flex;flex-direction:column}.g-chat .rowsub{color:#fffc;margin:0}.g-chat-icon{flex:none;width:2.4rem;height:2.4rem;border-radius:8px;display:grid;place-items:center;background:#ffffff26}.g-part{margin-top:1.25rem}.g-part-bar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem}.g-part-nav{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--rule)}@media(max-width:52rem){.g-grid{display:flex;flex-direction:column}.g-main,.g-side{display:contents}.g-need,.g-grid>.g-main>.notice{order:1}.g-meet{order:2}.g-contact{order:3}.g-progress{order:4}}.preview-page{max-width:72rem}.intake-fieldset{border:0;margin:0;padding:0;min-width:0}.preview-topbar{pointer-events:none}.preview-navlink{padding:.4rem .7rem;font-size:.875rem;font-weight:500;color:var(--ink-2)}
