:root{--night: #121826;--night-line: #191f2d;--panel: #f2f5f9;--paper: #ffffff;--paper-2: #eef2f6;--brand: #57bbe5;--brand-2: #57bbe5;--brand-deep: #01445a;--ink: #20293a;--ink-2: #4a5567;--ink-sub: #364154;--ink-3: #cdd5e0;--line: #e3e8ef;--line-2: #e3e8ef;--line-strong: #cdd5e0;--accent: #57bbe5;--accent-ink: #ffffff;--accent-tint: #e4f4fb;--included: #e4f4fb;--included-ink: #01445a;--hold: #fbf1dc;--hold-ink: #7a5312;--error: #a83a2c;--font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-0: .875rem;--fs-1: 1rem;--fs-2: 1.125rem;--fs-3: 1.25rem;--fs-4: 1.5rem;--radius: 4px;--radius-card: 2px;--radius-panel: 12px;--card-border: 3px;--tap: 52px;--col: 640px;--frame: 760px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:var(--fs-1);line-height:1.5;color:var(--ink);background-color:var(--night);background-image:linear-gradient(var(--night-line) 1px,transparent 1px),linear-gradient(90deg,var(--night-line) 1px,transparent 1px);background-size:180px 180px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.shell{min-height:100%;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:2;background:var(--night);border-bottom:1px solid var(--night-line)}.topbar-inner{max-width:var(--frame);margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.wordmark{display:flex;align-items:center;gap:12px}.wordmark img{height:26px;width:auto;display:block}.wordmark span{color:#ffffffb3;font-size:var(--fs-0);font-weight:500;padding-left:12px;border-left:1px solid rgba(255,255,255,.2)}.progress{height:3px;background:var(--night-line)}.progress>i{display:block;height:100%;background:var(--brand-2);transition:width .24s ease}.panel{flex:1;display:flex;flex-direction:column;width:100%;background:var(--panel)}.main{flex:1;width:100%;max-width:var(--col);margin:0 auto;padding:24px 20px 32px}.eyebrow{text-align:center;text-transform:uppercase;font-size:.8125rem;font-weight:700;color:var(--ink-3);margin:0 0 24px}.cobrand{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 20px;color:var(--ink-2);font-size:var(--fs-0)}.cobrand img{display:block;max-height:44px;max-width:160px;width:auto;height:auto;border-radius:4px}.partner-intro{margin:0 0 32px;padding-bottom:28px;border-bottom:1px solid var(--line)}.partner-lead{color:var(--ink-sub);text-align:center;max-width:52ch;margin:0 auto 20px}.partner-options{list-style:none;counter-reset:opt;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.partner-options li{counter-increment:opt;position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);padding:14px 16px 14px 52px}.partner-options li:before{content:counter(opt);position:absolute;left:16px;top:14px;width:24px;height:24px;border-radius:50%;background:var(--accent-tint);color:var(--brand-deep);font-size:var(--fs-0);font-weight:700;display:flex;align-items:center;justify-content:center}.partner-options strong{display:block;margin-bottom:4px;color:var(--ink)}.partner-options p{margin:0;color:var(--ink-2)}.partner-closing p{margin:16px 0 0;color:var(--ink-2)}.partner-intro a{color:var(--brand-deep);font-weight:500;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.actions{position:sticky;bottom:0;background:linear-gradient(to top,var(--panel) 70%,rgba(242,245,249,0));padding:16px 20px calc(16px + env(safe-area-inset-bottom))}.actions-inner{max-width:var(--col);margin:0 auto;display:flex;gap:12px}.actions-inner .btn-primary{flex:1}h1{font-size:var(--fs-4);line-height:1.25;font-weight:700;letter-spacing:-.015em;text-align:center;margin:0 0 8px}h2{font-size:var(--fs-3);line-height:1.3;font-weight:700;letter-spacing:-.01em;margin:32px 0 12px}h2:first-child{margin-top:0}.intro{color:var(--ink-sub);margin:0 0 24px;max-width:52ch}h1+.intro{text-align:center;margin:0 auto 32px}h1+.intro:after{content:"";display:block;width:min(100%,320px);height:1px;background:var(--line);margin:28px auto 0}.help{color:var(--ink-2);font-size:var(--fs-0);margin:4px 0 0}.error-text{color:var(--error);font-size:var(--fs-0);margin:6px 0 0}.btn{min-height:var(--tap);padding:0 20px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--paper);font-weight:500}.btn:disabled{opacity:.5;cursor:default}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--brand);border-color:var(--brand);color:var(--accent-ink);text-transform:uppercase;letter-spacing:.04em}.btn-icon{flex:0 0 auto;display:block}.btn-icon circle{fill:currentColor}.btn-icon path{fill:none;stroke:var(--brand);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.btn-quiet{border-color:transparent;background:transparent;color:var(--ink-2);padding:0 12px}.btn-small{min-height:40px;padding:0 14px;font-size:var(--fs-0)}.btn-link{background:none;border:none;padding:0;color:var(--accent);font-weight:500;text-decoration:underline;text-underline-offset:3px}.field{margin:0 0 24px}.field>label,.field-label{display:block;font-weight:600;margin-bottom:8px}.input{width:100%;min-height:var(--tap);padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper)}.input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-tint)}textarea.input{min-height:96px;resize:vertical}.input-row{display:flex;gap:10px;align-items:center}.input-row .input{flex:1}.unit{color:var(--ink-2)}.places{position:relative}.places-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;margin:0;padding:4px 0;list-style:none;background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 8px 24px #0000001f}.places-list button{display:block;width:100%;min-height:44px;padding:10px 14px;text-align:left;background:none;border:0;color:var(--ink);font:inherit;cursor:pointer}.places-list button:hover,.places-list button:focus{background:var(--accent-tint);outline:none}.choices{display:flex;flex-direction:column;gap:12px}.choice{display:flex;flex-direction:row-reverse;align-items:flex-start;gap:12px;min-height:var(--tap);padding:14px 16px 14px 18px;border:var(--card-border) solid var(--line);border-radius:var(--radius-card);background:var(--paper);text-align:left;width:100%;transition:border-color .12s ease,box-shadow .12s ease}.choice[aria-checked=true],.choice[aria-pressed=true]{border-color:var(--accent);background:var(--paper);box-shadow:0 10px 20px -10px #12182659}.choice .mark{flex:0 0 24px;height:24px;margin-top:1px;border-radius:50%;border:2px solid var(--line-strong);background:var(--paper);position:relative}.choice.square .mark{border-radius:5px}.choice:not(.square)[aria-checked=true] .mark,.choice:not(.square)[aria-pressed=true] .mark{border:7px solid var(--accent);background:var(--paper)}.choice.square[aria-checked=true] .mark,.choice.square[aria-pressed=true] .mark{border-color:var(--accent);background:var(--accent)}.choice.square[aria-checked=true] .mark:after,.choice.square[aria-pressed=true] .mark:after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.choice .text{flex:1;font-weight:600;color:var(--ink)}.choice .text small{display:block;color:var(--ink-2);font-size:var(--fs-0);font-weight:400;margin-top:2px}.inspection-questions{margin-top:24px}.inspection-questions .field{margin-bottom:20px}.consent-text{margin:0 0 24px}.partner-footer{margin:28px 0 0;color:var(--ink-2);text-align:center}.choices.inline{flex-direction:row;flex-wrap:wrap}.choices.inline .choice{width:auto;flex:0 1 auto;padding-right:16px}.choices.inline .choice .text{flex:0 0 auto;white-space:nowrap}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:12px 0;border-bottom:1px solid var(--line-2);width:100%;background:none;border-top:none;border-left:none;border-right:none;text-align:left}.switch-row .label{flex:1;font-weight:500}.switch{flex:0 0 48px;height:28px;border-radius:14px;background:var(--line-strong);position:relative;transition:background .16s ease}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .16s ease}.switch-row[aria-checked=true] .switch{background:var(--accent)}.switch-row[aria-checked=true] .switch:after{transform:translate(20px)}.switch-detail{padding:8px 0 16px;border-bottom:1px solid var(--line-2)}.switch-detail .field{margin-bottom:16px}.switch-detail .field:last-child{margin-bottom:0}.inherited{background:var(--included);color:var(--included-ink);border-radius:var(--radius);padding:12px 14px;margin:0 0 12px}.inherited .btn-link{color:var(--included-ink);margin-left:6px}.inherited .field{margin:12px 0 0;color:var(--ink)}.hold-note{background:var(--hold);color:var(--hold-ink);border-radius:var(--radius);padding:12px 14px;margin:12px 0}.photo-field{margin:12px 0 0}.photo-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.photo-grid img{width:84px;height:84px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line)}.photo-add{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--paper)}.ledger{margin:0;padding:0;list-style:none}.ledger-level{margin-top:24px;font-weight:600;color:var(--ink-2);font-size:var(--fs-0)}.ledger-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;min-height:var(--tap);padding:8px 0;border-bottom:1px solid var(--line-2)}.tick{flex:0 0 28px;height:28px;border-radius:5px;border:2px solid var(--line-strong);background:var(--paper);position:relative;padding:0}.tick[aria-pressed=true]{background:var(--accent);border-color:var(--accent)}.tick[aria-pressed=true]:after{content:"";position:absolute;left:8px;top:3px;width:7px;height:13px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.ledger-row .name{flex:1;background:none;border:none;padding:6px 0;font-weight:500;min-width:0}.ledger-row .name:focus{outline:none;border-bottom:2px solid var(--accent)}.ledger-row .meta{color:var(--ink-2);font-size:var(--fs-0)}.ledger-row.off .name{color:var(--ink-2);font-weight:400}.ledger-add{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.material-picker{display:flex;gap:6px;flex-basis:100%;padding:2px 0 6px}.chip{min-height:36px;padding:0 12px;border:1px solid var(--line-strong);border-radius:18px;background:var(--paper);font-size:var(--fs-0)}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.review-section{margin:0 0 28px}.review-section h2{display:flex;align-items:baseline;gap:10px}.review-section h2 .num{color:var(--ink-2);font-weight:500;font-size:var(--fs-1)}.review-line{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line-2)}.review-line .qty{color:var(--ink-2);white-space:nowrap}.review-line.held:after{content:"Needs review";color:var(--hold-ink);font-size:var(--fs-0)}.review-rooms{color:var(--ink-2);font-size:var(--fs-0)}.picker-results{display:flex;flex-direction:column;gap:6px;margin-top:8px}.picked{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-2)}.notice{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:14px 16px;margin:24px 0;color:var(--ink-2)}@media (min-width: 720px){.panel{flex:0 0 auto;width:calc(100% - 64px);max-width:var(--frame);margin:40px auto 56px;border-radius:var(--radius-panel)}.main{padding:32px 40px}.actions{border-radius:0 0 var(--radius-panel) var(--radius-panel);padding-bottom:32px}.actions-inner{justify-content:center}.actions-inner .btn-primary{flex:0 0 auto;min-width:280px}.choices.two-up{flex-direction:row}.choices.two-up .choice{flex:1}}.field.invalid .photo-add{border-color:var(--error);border-style:solid}.picks{display:flex;flex-direction:column;gap:8px}.pick{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--tap);padding:8px 14px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--paper)}.pick.filled{border-style:solid;border-color:var(--accent);background:var(--accent-tint)}.pick-n{color:var(--ink-2);font-size:var(--fs-0)}.pick-empty{color:var(--ink-2)}.pick-date{background:none;border:none;padding:4px 0;font-weight:600;color:var(--ink)}.pick-date span{color:var(--ink-2);margin-left:6px}.cal{margin:20px 0 8px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-wd{text-align:center;color:var(--ink-2);font-size:var(--fs-0);padding:4px 0}.cal-day{position:relative;aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);font-weight:500;display:flex;align-items:center;justify-content:center}.cal-day:disabled{color:var(--line-strong);border-color:var(--line-2);background:var(--paper-2);cursor:default}.cal-day.holiday:disabled{text-decoration:line-through}.cal-day.sel{background:var(--brand);border-color:var(--brand);color:#fff}.cal-rank{position:absolute;top:3px;right:4px;font-style:normal;font-size:10px;line-height:1;background:#fff;color:var(--brand-deep);border-radius:8px;padding:2px 4px;font-weight:600}.summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:4px 16px}.summary-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line-2)}.summary-row:last-child{border-bottom:none}.summary-row span{color:var(--ink-2);flex:0 0 auto}.summary-row strong{font-weight:500;text-align:right}.photo-cell{position:relative}.photo-cell.unsynced img{opacity:.5;border-color:var(--error)}.photo-badge{position:absolute;left:4px;bottom:4px;background:var(--error);color:#fff;font-size:10px;padding:2px 6px;border-radius:6px}.photo-remove{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:16px;line-height:1;padding:0}.record-note{margin:-12px 0 24px}
