:root{--paper: #fbf5e9;--paper-deep: #f3e9d5;--ink: #22333b;--ink-soft: #5c6b72;--ocean: #14536b;--ocean-deep: #0d3a4c;--coral: #e2725b;--amber: #f2a65a;--palm: #5f7e63;--cobalt: #41699c;--rose: #c9697f;--line: rgba(34, 51, 59, .14);--card: #fffdf7;--shadow: 0 1px 2px rgba(34, 51, 59, .06), 0 6px 18px rgba(34, 51, 59, .07);--radius: 14px;--font-display: "Fraunces", "Georgia", serif;--font-body: "Karla", "Helvetica Neue", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:600;margin:0}button{font-family:var(--font-body);cursor:pointer}:focus-visible{outline:2px solid var(--ocean);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.app-shell{max-width:520px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;position:relative}.demo-badge{position:fixed;top:10px;right:10px;z-index:60;background:var(--ink);color:var(--paper);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;opacity:.85}.guest-header{background:linear-gradient(168deg,var(--ocean) 0%,var(--ocean-deep) 100%);color:var(--paper);padding:28px 22px 22px;border-radius:0 0 26px 26px;position:relative;overflow:hidden}.guest-header:after{content:"";position:absolute;inset:auto 0 0 0;height:7px;background:repeating-linear-gradient(90deg,var(--coral) 0 36px,var(--amber) 36px 72px,var(--palm) 72px 108px,var(--cobalt) 108px 144px,var(--rose) 144px 180px);opacity:.9}.guest-header .eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.75;margin-bottom:6px}.guest-header h1{font-size:30px;font-weight:600;letter-spacing:-.01em}.guest-header .stay-line{margin-top:8px;font-size:14px;opacity:.85}.bottom-nav{position:sticky;bottom:0;z-index:50;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--card);border-top:1px solid var(--line);padding:6px 8px calc(8px + env(safe-area-inset-bottom));margin-top:auto}.bottom-nav button{background:none;border:0;padding:8px 4px 6px;border-radius:10px;color:var(--ink-soft);font-size:11.5px;font-weight:600;letter-spacing:.02em;display:flex;flex-direction:column;align-items:center;gap:3px}.bottom-nav button .glyph{font-size:19px;line-height:1}.bottom-nav button.active{color:var(--ocean);background:var(--paper-deep)}.view{padding:20px 18px 28px}.section-title{font-size:21px;margin-bottom:4px}.section-sub{color:var(--ink-soft);font-size:14px;margin:0 0 16px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{border:0;border-radius:10px;padding:11px 18px;font-size:15px;font-weight:700;background:var(--ocean);color:var(--paper)}.btn.secondary{background:var(--paper-deep);color:var(--ink)}.btn.small{padding:7px 12px;font-size:13px;border-radius:8px}.btn:disabled{opacity:.5;cursor:default}.welcome-note{padding:16px 18px;font-family:var(--font-display);font-style:italic;font-size:16.5px;line-height:1.55;color:var(--ocean-deep);background:var(--card);border-left:4px solid var(--amber);border-radius:8px;margin-bottom:20px}.guide-item{margin-bottom:10px;overflow:hidden}.guide-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;font-weight:700;font-size:15px;cursor:pointer}.guide-item summary::-webkit-details-marker{display:none}.guide-item summary .chev{transition:transform .18s ease;color:var(--ink-soft)}.guide-item[open] summary .chev{transform:rotate(90deg)}.guide-item .body{padding:0 16px 14px;font-size:14.5px;color:var(--ink-soft);white-space:pre-line}.chip-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:600}.chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.place-card{display:grid;grid-template-columns:10px 1fr auto;margin-bottom:12px;overflow:hidden;text-align:left;width:100%;padding:0;border:1px solid var(--line);background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer}.place-card .facade{border-radius:0}.place-card .meat{padding:13px 14px;min-width:0}.place-card .name{font-family:var(--font-display);font-size:17.5px;font-weight:600}.place-card .blurb{font-size:13.5px;color:var(--ink-soft);margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.place-card .tags{margin-top:7px;display:flex;flex-wrap:wrap;gap:5px}.tag{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:lowercase;color:var(--ocean);background:#14536b14;padding:2.5px 8px;border-radius:999px}.upvote{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0 14px;border:0;border-left:1px dashed var(--line);background:transparent;color:var(--ink-soft);font-size:13px;font-weight:700}.upvote .heart{font-size:17px}.upvote.voted{color:var(--coral)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d3a4c73;z-index:70;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--paper);width:100%;max-width:520px;max-height:88dvh;overflow-y:auto;border-radius:22px 22px 0 0;padding:18px 20px calc(24px + env(safe-area-inset-bottom));animation:rise .22s ease}@keyframes rise{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}.sheet .grab{width:42px;height:4px;border-radius:99px;background:var(--line);margin:0 auto 14px}.detail-facade{height:8px;border-radius:99px;margin-bottom:14px}.host-note{margin-top:14px;padding:13px 15px;background:var(--card);border-left:4px solid var(--coral);border-radius:8px;font-family:var(--font-display);font-style:italic;font-size:15px;color:var(--ocean-deep)}.rec-stamp{display:inline-block;margin-top:12px;font-size:12.5px;font-weight:700;color:var(--coral);border:1.5px solid currentColor;border-radius:6px;padding:3px 9px;transform:rotate(-1.6deg)}.detail-actions{display:flex;gap:10px;margin-top:18px}.detail-actions .btn{flex:1;text-align:center;text-decoration:none}.arrival{padding:15px 17px;margin-bottom:16px;border-left:4px solid var(--palm)}.arrival.phase-before{border-left-color:var(--amber)}.arrival.phase-after{border-left-color:var(--cobalt)}.arrival-line{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--ocean-deep)}.arrival-dates{font-size:13.5px;color:var(--ink-soft);margin:4px 0 11px}.dayplan{margin-top:4px}.stop{display:grid;grid-template-columns:26px 1fr}.stop-rail{display:flex;flex-direction:column;align-items:center}.stop-dot{width:14px;height:14px;border-radius:99px;border:3px solid var(--paper);box-shadow:0 0 0 1.5px var(--line);margin-top:18px;flex:0 0 auto}.stop-line{width:2px;flex:1;background:var(--line);margin:4px 0}.stop-body{padding:13px 15px;margin:0 0 12px 10px}.stop-when{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft)}.stop-name{font-family:var(--font-display);font-size:17px;font-weight:600;margin-top:2px}.stop-note{font-size:13.5px;color:var(--ink-soft);margin-top:4px}.stop-map{display:inline-block;margin-top:8px;font-size:13px;font-weight:700;color:var(--ocean);text-decoration:none}.note-card{padding:15px 16px;margin-bottom:12px}.note-photo{width:100%;border-radius:10px;margin-bottom:11px;border:1px solid var(--line)}.note-signature{display:block;max-height:44px;max-width:170px;margin-top:6px}.note-card .text{font-family:var(--font-display);font-size:15.5px;font-style:italic;line-height:1.55;color:var(--ocean-deep)}.note-card .byline{margin-top:9px;font-size:12.5px;font-weight:700;color:var(--ink-soft);letter-spacing:.03em}.intent-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.intent{border:1.5px solid var(--line);background:var(--card);border-radius:12px;padding:12px 8px;font-size:12.5px;font-weight:700;color:var(--ink-soft);display:flex;flex-direction:column;gap:5px;align-items:center}.intent .glyph{font-size:21px}.intent.active{border-color:var(--ocean);color:var(--ocean);background:#14536b0d}.field{margin-bottom:14px}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;letter-spacing:.02em}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:11px 13px;font-family:var(--font-body);font-size:15px;color:var(--ink)}.field textarea{resize:vertical;min-height:86px}.signature-pad canvas{display:block;width:100%;height:130px;background:var(--card);border:1.5px dashed var(--line);border-radius:10px;touch-action:none;cursor:crosshair}.signature-foot{display:flex;justify-content:space-between;align-items:center;margin-top:5px;font-size:12.5px;color:var(--ink-soft)}.signature-foot .linklike{color:var(--coral);font-weight:700}.photo-attach{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.photo-attach img{max-width:180px;max-height:130px;border-radius:10px;border:1px solid var(--line)}.queue-media{display:flex;gap:12px;align-items:flex-end;margin-top:10px;flex-wrap:wrap}.queue-media .qm-photo{max-width:150px;max-height:110px;border-radius:8px;border:1px solid var(--line)}.queue-media .qm-signature{max-height:42px;max-width:150px;background:var(--card);border:1px dashed var(--line);border-radius:8px;padding:3px 8px}.saved-mark{color:var(--amber)}.thanks{text-align:center;padding:34px 18px}.thanks .big{font-size:40px}.thanks h3{font-size:20px;margin-top:10px}.thanks p{color:var(--ink-soft);font-size:14.5px}.host-shell{max-width:980px;margin:0 auto;padding:0 20px 60px}.host-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0 14px;border-bottom:1px solid var(--line);margin-bottom:18px;flex-wrap:wrap}.host-top h1{font-size:24px}.host-top .sub{color:var(--ink-soft);font-size:13.5px;margin-top:2px}.host-tabs{display:flex;gap:6px;flex-wrap:wrap}.host-tabs button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 15px;font-size:13.5px;font-weight:700;color:var(--ink-soft)}.host-tabs button.active{background:var(--ocean);border-color:var(--ocean);color:var(--paper)}.host-tabs button .count{background:var(--coral);color:#fff;border-radius:999px;font-size:11px;padding:1px 7px;margin-left:6px}.queue-item{padding:16px 18px;margin-bottom:12px}.queue-item .head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}.kind{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:6px}.kind.place_suggestion{background:#5f7e6326;color:var(--palm)}.kind.guest_note{background:#41699c24;color:var(--cobalt)}.kind.bug_report{background:#e2725b26;color:var(--coral)}.queue-item .who{font-size:12.5px;color:var(--ink-soft)}.queue-item .content{margin:10px 0 4px;font-size:15px}.ai-line{margin-top:9px;font-size:13px;color:var(--ocean);background:#14536b0f;border-radius:8px;padding:8px 11px}.ai-line strong{letter-spacing:.05em;font-size:11px;text-transform:uppercase}.queue-actions{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}.btn.approve{background:var(--palm)}.btn.reject{background:transparent;color:var(--coral);border:1.5px solid currentColor}.empty{text-align:center;color:var(--ink-soft);padding:40px 20px;font-size:14.5px}.host-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.host-place{padding:0;overflow:hidden}.host-place .facade{height:7px}.host-place .inner{padding:13px 15px}.host-place .row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.host-place .votes{font-size:12.5px;font-weight:800;color:var(--coral)}.brand-form{max-width:460px}.swatch-row{display:flex;gap:10px;align-items:center}.swatch-row input[type=color]{width:46px;height:34px;border:1px solid var(--line);border-radius:8px;padding:2px;background:var(--card)}.stay-row{display:flex;justify-content:space-between;gap:10px;padding:13px 16px;margin-bottom:10px;align-items:center;flex-wrap:wrap}.stay-row .dates{font-size:13px;color:var(--ink-soft)}.pill{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;border-radius:999px;padding:3px 10px}.pill.active{background:#5f7e632e;color:var(--palm)}.pill.upcoming{background:#f2a65a33;color:#a86b22}.pill.completed{background:var(--paper-deep);color:var(--ink-soft)}@media (max-width: 600px){.host-top{flex-direction:column;align-items:flex-start}}.login-shell{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 18px}.login-card{width:100%;max-width:420px;padding:26px 26px 22px}.login-mast{margin-bottom:18px}.login-mast .eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px}.login-mast h1{font-size:26px}.login-error{background:#e2725b1f;color:var(--coral);border-radius:8px;padding:9px 12px;font-size:13.5px;font-weight:700;margin-bottom:12px}.demo-logins{margin-top:20px;border-top:1px dashed var(--line);padding-top:14px}.demo-logins-title{font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:9px}.demo-login{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;background:var(--paper-deep);border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin-bottom:7px}.demo-login .role{font-weight:800;font-size:13.5px;color:var(--ocean)}.demo-login .sub{font-size:12px;color:var(--ink-soft)}.guest-hint{margin-top:10px;font-size:13px;color:var(--ink-soft);background:#f2a65a21;border-left:3px solid var(--amber);border-radius:8px;padding:9px 12px}.linklike{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:18px}.stat{padding:14px 16px}.stat .num{font-family:var(--font-display);font-size:28px;font-weight:600}.stat .lbl{font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft)}.tenant-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 17px;margin-bottom:10px;flex-wrap:wrap}.tenant-side{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.created-note{margin-top:14px;font-size:13.5px;color:var(--ink-soft);background:#5f7e631f;border-left:3px solid var(--palm);border-radius:8px;padding:10px 13px}.license-cta{margin-top:16px;text-align:center;font-size:13.5px;color:var(--ink-soft)}.license-search{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:11px 14px;font-family:var(--font-body);font-size:14.5px;color:var(--ink);margin-bottom:16px}.req-message{margin-top:7px;font-family:var(--font-display);font-style:italic;font-size:14px;color:var(--ocean-deep)}.pill.deactivated{background:#e2725b29;color:var(--coral)}.queue-toggle{display:flex;gap:6px;margin-bottom:16px}.queue-toggle button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;color:var(--ink-soft)}.queue-toggle button.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.queue-toggle button .count{background:var(--coral);color:#fff;border-radius:999px;font-size:11px;padding:1px 7px;margin-left:6px}.published-head{font-size:16px;margin:18px 0 10px}.logo-preview{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.logo-preview img{max-height:64px;max-width:180px;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:8px 12px}.guest-logo-footer{text-align:center;padding:6px 0 22px}.guest-logo-footer img{max-height:52px;max-width:160px;opacity:.9}.onboard{padding:18px 20px;margin-bottom:16px;border-left:4px solid var(--amber)}.onboard h2{font-size:19px;margin-bottom:8px}.onboard ol{margin:0;padding-left:20px;font-size:14.5px}.onboard li{margin-bottom:7px}.onboard p{font-size:13px;color:var(--ink-soft);margin:10px 0 0}.onboard .linklike{color:var(--ocean);font-weight:700}.contact-card{padding:16px 18px;margin-bottom:20px;border-left:4px solid var(--coral)}.contact-card h3{font-size:18px}.contact-sub{font-size:13.5px;color:var(--ink-soft);margin:4px 0 14px}.field-hint{font-size:12px;color:var(--ink-soft);margin-top:4px}.optin-row{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--ink-soft);margin:2px 0 14px;cursor:pointer}.optin-row input{margin-top:3px;accent-color:var(--ocean)}.contact-done{font-family:var(--font-display);font-style:italic;font-size:15.5px;color:var(--ocean-deep)}.gtag{font-size:11px;font-weight:800;letter-spacing:.04em}.gtag.optin{color:var(--palm)}.gtag.pending{color:var(--amber)}.gtag.muted{color:var(--ink-soft);opacity:.7}
