:root{--bg:#f3f4f1;--surface:#fff;--surface-2:#f7f8f5;--line:#e6e8e3;--line-strong:#d5d9d3;--ink:#1d211f;--ink-2:#484d4a;--muted:#6b716d;--accent:#183d35;--accent-hover:#1f4d43;--accent-tint:#e9f2ee;--accent-tint-2:#d6e8df;--mint:#8fd3b0;--on-accent:#fff;--warn:#9a4a12;--warn-tint:#fdf1e7;--danger:#b42318;--danger-tint:#fdecea;--shadow-card:0 1px 2px #1018140f, 0 4px 14px #1018140d;--shadow-float:0 6px 20px #10181438;--r-card:16px;--r-row:12px;--header-h:56px;--nav-h:64px;--col:600px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--photo-fallback:radial-gradient(120% 90% at 20% 10%, #adc8b3 0%, transparent 60%), #e3ebe5;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0f1412;--surface:#171d1a;--surface-2:#1c2420;--line:#2a322e;--line-strong:#38423d;--ink:#eef2ef;--ink-2:#c9d0cb;--muted:#a3aca7;--accent:#8fd3b0;--accent-hover:#a6dec1;--accent-tint:#1f2f28;--accent-tint-2:#28403a;--on-accent:#0f1412;--warn:#f0b27a;--warn-tint:#33251a;--danger:#f19a90;--danger-tint:#3a1f1c;--shadow-card:0 1px 2px #0006;--shadow-float:0 6px 20px #00000080;--photo-fallback:radial-gradient(120% 90% at 20% 10%, #2c4a3d 0%, transparent 60%), #1c2723;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);margin:0;font-size:15px;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled,a[aria-disabled=true]{cursor:default;opacity:.5}a[aria-disabled=true]{pointer-events:none}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--mint);outline-offset:2px}h1,h2,h3,h4,p,ol,ul,dl,dd,figure{margin:0}ol,ul{padding:0;list-style:none}h1{letter-spacing:-.6px;font-size:26px;font-weight:650;line-height:1.15}h2{letter-spacing:-.4px;font-size:20px;font-weight:650;line-height:1.25}h3{font-size:16px;font-weight:600;line-height:1.35}strong{font-weight:600}svg{flex-shrink:0}img{max-width:100%;display:block}input,textarea{border:1px solid var(--line-strong);background:var(--surface);border-radius:12px;width:100%;min-height:52px;padding:13px 15px;font-size:16px}textarea{resize:vertical}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:#0000}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.grow{flex:1;min-width:0}.inline{align-items:center;gap:8px;display:inline-flex}.eyebrow{text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);align-items:center;gap:6px;font-size:11px;font-weight:650;line-height:1.5;display:flex}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.logo{border-radius:22.5%;display:block}.btn{text-align:center;border-radius:14px;justify-content:center;align-items:center;gap:9px;min-height:52px;padding:12px 20px;font-size:16px;font-weight:650;line-height:1.25;display:inline-flex}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.primary:not(:disabled):active{background:var(--accent-hover)}.btn.secondary{background:var(--surface);border:1px solid var(--line-strong)}.btn.text{color:var(--accent);min-height:48px}.btn.small{border-radius:12px;min-height:40px;padding:8px 14px;font-size:14px}.btn.full{width:100%}.danger-text{color:var(--danger)}.text-button{min-height:44px;color:var(--accent);align-items:center;gap:6px;font-size:14px;font-weight:650;display:inline-flex}.text-button.danger{color:var(--danger)}.icon-button{width:44px;height:44px;color:var(--ink-2);border-radius:999px;place-items:center;display:grid}.icon-button:active{background:var(--surface-2)}.chip{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;max-width:100%;min-height:28px;padding:0 10px;font-size:13px;font-weight:600;line-height:1.2;display:inline-flex}.chip>span{text-overflow:ellipsis;overflow:hidden}.chip.small{min-height:24px;padding:0 8px;font-size:12px}a.chip,button.chip{min-height:36px;padding:0 12px;position:relative}a.chip:after,button.chip:after,.status-pill:after,.header-avatar:after,.name-button:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.chip.neutral{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2)}.chip.live{background:var(--accent-tint);color:var(--accent)}.chip.live:before{content:"";background:var(--mint);border-radius:999px;flex:none;width:8px;height:8px}.chip.live:has(svg):before{display:none}.chip.warn{background:var(--warn-tint);color:var(--warn)}.chip.danger{background:var(--danger-tint);color:var(--danger)}.chip.plain{padding:0 2px;font-weight:500}.chip-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.avatar{background:var(--accent-tint);width:40px;height:40px;color:var(--accent);letter-spacing:.3px;border-radius:999px;flex:none;place-items:center;font-size:14px;font-weight:650;display:inline-grid}.avatar.sm{width:32px;height:32px;font-size:12px}.avatar.xl{width:64px;height:64px;font-size:22px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);overflow-wrap:anywhere;padding:16px;display:block}button.card{text-align:left;width:100%}button.card:active{transform:scale(.99)}.icon-tile{background:var(--accent-tint);width:36px;height:36px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.icon-tile.lg{border-radius:12px;width:40px;height:40px}.notice{background:var(--accent-tint);border-radius:14px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:12px 14px;font-size:14px;line-height:1.45;display:flex}.notice svg{margin-top:1px}.notice.warning{background:var(--warn-tint);color:var(--warn)}.empty{text-align:center;padding:28px 16px}.empty h3{font-size:17px}.empty p{color:var(--muted);margin-top:6px;font-size:14px}.field{gap:7px;margin-bottom:18px;display:grid}.field>span{font-size:14px;font-weight:600}.sheet{width:100%;max-width:var(--col);background:var(--surface);max-height:92dvh;color:var(--ink);overscroll-behavior:contain;border:0;border-radius:20px 20px 0 0;margin:auto auto 0;padding:0;overflow:auto;box-shadow:0 -8px 40px #0000002e}.sheet::backdrop{background:#0a100d73}.sheet[open]{animation:.22s cubic-bezier(.2,.8,.2,1) sheet-in}@keyframes sheet-in{0%{transform:translateY(24px)}}.sheet-handle{background:var(--line-strong);border-radius:999px;width:36px;height:4px;margin:8px auto 0}.sheet-head{z-index:2;background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:6px 8px 6px 16px;display:flex;position:sticky;top:0}.sheet-head h2{letter-spacing:-.2px;text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.sheet-body{padding:4px 16px calc(16px + var(--safe-b))}.sheet-section{margin-top:20px}.sheet-section>h3{margin-bottom:8px}.sheet-actions{bottom:calc(-16px - var(--safe-b));margin:8px -16px calc(-16px - var(--safe-b));padding:12px 16px calc(16px + var(--safe-b));background:linear-gradient(to bottom, transparent, var(--surface) 14px);position:sticky}.sheet-full{color:#fff;background:#000;border-radius:0;width:100%;max-width:none;height:100%;max-height:none;margin:0}.sheet-full .sheet-head{padding:calc(8px + var(--safe-t)) 12px 8px 20px;background:linear-gradient(#0000008c,#0000);position:absolute;inset:0 0 auto}.sheet-full .sheet-head .icon-button{color:#000;background:#fff;width:48px;height:48px}.sheet-full .sheet-body{height:100%;padding:0}.app-shell{background:var(--bg);min-height:100dvh}.app-header{z-index:20;padding-top:var(--safe-t);background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{height:var(--header-h);max-width:var(--col);justify-content:space-between;align-items:center;gap:10px;margin:0 auto;padding:0 12px 0 16px;display:flex}.brand{letter-spacing:-.2px;align-items:center;gap:9px;font-size:17px;font-weight:650;display:inline-flex}.back-button{min-height:44px;color:var(--accent);align-items:center;gap:2px;margin-left:-8px;padding-right:8px;font-size:16px;font-weight:600;display:inline-flex}.header-actions{align-items:center;gap:8px;display:flex}.status-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.status-pill.neutral{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2)}.status-pill.warn{background:var(--warn-tint);color:var(--warn)}.status-pill:disabled{opacity:1}.header-avatar{width:40px;height:40px;position:relative}.main{max-width:var(--col);margin:0 auto;padding:18px 16px 40px}.main.with-nav{padding-bottom:calc(var(--nav-h) + var(--safe-b) + 88px)}.update-banner{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 10px 10px 16px;font-weight:600;display:flex}.toast{left:50%;bottom:calc(var(--nav-h) + var(--safe-b) + 88px);z-index:50;color:#fff;max-width:calc(100% - 32px);box-shadow:var(--shadow-float);background:#1d211f;border-radius:999px;align-items:center;gap:8px;padding:11px 16px;font-size:14px;font-weight:600;animation:.2s ease-out toast-in;display:flex;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.splash{min-height:100dvh;color:var(--muted);place-content:center;justify-items:center;gap:18px;display:grid}.onboard{background:var(--bg);min-height:100dvh;padding-bottom:calc(32px + var(--safe-b))}.art-head{max-width:440px;margin:0 auto;position:relative}.art-band{aspect-ratio:2.36;object-fit:cover;object-position:60% 50%;width:100%}.art-logo{box-shadow:var(--shadow-card);background:#fff;border-radius:24%;padding:4px;position:absolute;bottom:-28px;left:20px}.onboard-body{max-width:440px;margin:0 auto;padding:44px 20px 0}.onboard-body>h1{margin-bottom:8px}.lead{color:var(--ink-2);margin-bottom:20px;font-size:16px}.caption{color:var(--muted);text-align:center;margin:10px 0 0;font-size:13px}.or{color:var(--muted);align-items:center;gap:12px;margin:22px 0;font-size:13px;display:flex}.or:before,.or:after{content:"";background:var(--line-strong);flex:1;height:1px}.login-form .btn{margin-top:4px}.bridge-line{color:var(--accent);align-items:center;gap:8px;margin:-8px 0 18px;font-weight:600;display:flex}.install-steps{gap:12px;margin:4px 0 16px;display:grid}.install-step{gap:12px;padding:14px;display:grid}.install-step-head{align-items:flex-start;gap:12px;display:flex}.install-step-head strong{font-size:16px;display:block}.install-step-head small{color:var(--muted);font-size:13px;display:block}.step-disc{background:var(--accent);width:28px;height:28px;color:var(--on-accent);border-radius:999px;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid}.install-foot{color:var(--ink-2);text-align:center;margin:0 0 8px;font-weight:600}.install-sheet .lead{margin:4px 0 16px}.gate-open{margin-bottom:10px}.gate-page.has-pointer{padding-bottom:calc(88px + var(--safe-b))}.gate-pointer{z-index:5;height:calc(52px + var(--safe-b));background:linear-gradient(to top, var(--bg) 62%, transparent);pointer-events:none;position:fixed;inset:auto 0 0}.gate-pointer svg{left:50%;bottom:calc(8px + var(--safe-b));color:var(--accent);margin-left:-14px;animation:1.2s ease-in-out infinite bounce;position:absolute}.gate-pointer.right svg{margin:0;left:auto;right:24px}@keyframes bounce{50%{transform:translateY(6px)}}.mock{background:var(--surface-2);height:88px;color:var(--ink-2);border-radius:14px;flex-direction:column;justify-content:flex-end;gap:8px;padding:10px 12px;font-size:13px;display:flex;position:relative;overflow:hidden}.mock.m-top{justify-content:center}.m-bar{background:var(--surface);border:1px solid var(--line);border-radius:12px;justify-content:space-around;align-items:center;gap:8px;min-height:36px;padding:0 6px;display:flex}.m-bar.compact{border-radius:999px;justify-content:space-between}.m-url{background:var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;align-self:center;padding:3px 12px;font-size:11px}.m-bar .m-url{text-align:center;background:var(--surface-2);flex:1}.m-address{background:var(--surface-2);color:var(--muted);border-radius:999px;flex:1;justify-content:space-between;align-items:center;gap:8px;padding:2px 4px 2px 12px;font-size:11px;display:flex}.m-tabs{border:1.5px solid;border-radius:5px;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:grid}.m-list{justify-content:center;gap:4px}.m-row{background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;min-height:22px;padding:0 10px;display:flex}.m-menu{background:var(--surface);box-shadow:var(--shadow-card);border-radius:10px;padding:4px;position:absolute;top:8px}.m-menu-right{right:10px}.m-top .m-menu{top:auto;bottom:6px}.m-menu-row{border-radius:7px;align-items:center;gap:6px;padding:3px 10px;font-weight:600;display:flex}.accent{color:var(--accent)}.m-add{justify-content:flex-start}.m-addbar{justify-content:space-between;align-items:center;gap:8px;width:100%;font-size:12px;display:flex}.m-addbar strong{font-size:12px}.ios-blue{color:#0a84ff;padding:1px 8px;font-weight:700}.m-app{align-items:center;gap:10px;display:flex}.m-app>span{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:8px;flex:1;padding:6px 10px}.m-dialog{justify-content:center;gap:10px;padding:10px 14px}.m-dialog-title{color:var(--ink);align-items:center;gap:8px;font-weight:650;display:flex}.m-dialog-actions{justify-content:flex-end;gap:18px;font-weight:650;display:flex}.ring{box-shadow:0 0 0 2px var(--accent);color:var(--accent);border-radius:10px;justify-content:center;align-items:center;padding:3px;animation:1.6s ease-in-out infinite ring;display:inline-flex}.ios-blue.ring{color:#0a84ff}.m-row.ring{border-radius:8px;justify-content:space-between;padding:0 10px}@keyframes ring{50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 22%, transparent)}}.lock-card{background:var(--surface);box-shadow:var(--shadow-float);border-radius:18px;gap:2px;margin:0 0 22px;padding:14px 16px;font-size:14px;display:grid}.lock-app{color:var(--muted);align-items:center;gap:8px;margin-bottom:4px;font-size:12px;display:flex}.lock-app .logo{border-radius:5px}.scan-stage{height:100%;min-height:100dvh;position:relative;overflow:hidden}.scan-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scan-window{border-radius:20px;width:260px;height:260px;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #0000008c}.scan-window i{border:4px solid var(--mint);width:28px;height:28px;position:absolute}.scan-window i:first-child{border-width:4px 0 0 4px;border-radius:20px 0 0;top:-2px;left:-2px}.scan-window i:nth-child(2){border-width:4px 4px 0 0;border-radius:0 20px 0 0;top:-2px;right:-2px}.scan-window i:nth-child(3){border-width:0 0 4px 4px;border-radius:0 0 0 20px;bottom:-2px;left:-2px}.scan-window i:nth-child(4){border-width:0 4px 4px 0;border-radius:0 0 20px;bottom:-2px;right:-2px}.scan-pill{color:#1d211f;white-space:nowrap;background:#fff;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;position:absolute;top:calc(46% + 150px);left:50%;transform:translate(-50%)}.scan-foot{padding:24px 24px calc(28px + var(--safe-b));color:#fff;text-align:center;justify-items:center;gap:14px;font-size:15px;font-weight:600;display:grid;position:absolute;inset:auto 0 0}.scan-actions{gap:4px;width:100%;max-width:340px;display:grid}.scan-actions .btn.secondary{color:#1d211f;background:#fff;border:0}.btn.on-dark{color:var(--mint)}.profile-head{align-items:center;gap:14px;margin:6px 0 18px;display:flex}.profile-head h3{font-size:18px;font-weight:650}.profile-row{margin-bottom:12px;padding:4px 16px}.profile-row>.grow{padding:12px 0}.profile-block{gap:10px;margin-bottom:14px;display:grid}.profile-block .notice{margin:0}.switch-row{text-align:left;align-items:center;gap:12px;width:100%;min-height:56px;display:flex}.switch-row small{font-size:13px;display:block}.switch{background:var(--line-strong);border-radius:999px;flex:none;width:50px;height:30px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:999px;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}[aria-checked=true]>.switch{background:var(--accent-tint-2)}[aria-checked=true]>.switch:after{background:var(--accent);transform:translate(20px)}.version{color:var(--muted);text-align:center;margin-top:8px;font-size:11px}@media (width<=359px){h1{font-size:24px}.card{padding:14px}.status-pill{padding:0 9px}}@media (width>=600px){.sheet{border-radius:20px;max-height:86dvh;margin:auto}.sheet-full{border-radius:0;max-height:none}}@media (prefers-color-scheme:dark){.toast{color:#0f1412;background:#eef2ef}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.ring{animation:none}}.mock.m-stack{justify-content:flex-start}.page-title{margin-bottom:16px}.page-title h1{margin:2px 0 4px}.section-title{justify-content:space-between;align-items:baseline;gap:12px;margin:4px 0 12px;display:flex}.segmented{background:var(--surface);border:1px solid var(--line);border-radius:999px;gap:4px;margin-bottom:14px;padding:3px;display:flex}.segmented button{min-height:44px;color:var(--muted);border-radius:999px;flex:1;font-size:14px;font-weight:600}.segmented button.selected{background:var(--accent-tint);color:var(--accent)}.install-card{align-items:center;gap:4px;margin-bottom:14px;padding:6px 6px 6px 12px;display:flex}.install-card-main{text-align:left;flex:1;align-items:center;gap:12px;min-width:0;min-height:56px;display:flex}.install-card strong{font-size:15px;display:block}.install-card small{color:var(--muted);font-size:13px;display:block}.tour-list{gap:12px;display:grid}.tour-feature{padding:0;overflow:hidden}.tour-cover{aspect-ratio:16/9;object-fit:cover;background:var(--surface-2);width:100%;max-height:200px;display:block}.photo-fallback{background:var(--photo-fallback);place-items:center;display:grid}.tour-feature-body{justify-items:start;gap:6px;padding:14px 16px 16px;display:grid}.tour-name{letter-spacing:-.4px;font-size:20px;font-weight:650;line-height:1.25}.meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.progress{background:var(--line);border-radius:999px;width:100%;height:4px;margin:4px 0 2px;display:block;overflow:hidden}.progress>span{border-radius:inherit;background:var(--accent);height:100%;display:block}.offline-line{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.offline-line.ok,.offline-icon.ok{color:var(--accent)}.tour-row{align-items:center;gap:14px;min-height:96px;padding:12px 14px 12px 12px;display:flex}.tour-thumb{object-fit:cover;background:var(--surface-2);border-radius:12px;flex:none;width:72px;height:72px}.tour-row-body{justify-items:start;gap:4px;display:grid}.tour-row-body strong{font-size:16px;line-height:1.3}.offline-icon{color:var(--muted)}.cal-tile{background:var(--surface);text-align:center;width:52px;box-shadow:var(--shadow-card);font-variant-numeric:tabular-nums;border-radius:10px;display:grid;overflow:hidden}.cal-tile small{background:var(--accent-tint);color:var(--accent);letter-spacing:.8px;text-transform:uppercase;padding:2px 0;font-size:10px;font-weight:700}.cal-tile strong{padding-top:2px;font-size:20px;line-height:1.2}.cal-tile span{color:var(--muted);padding-bottom:4px;font-size:10px}.cal-tile.big{border-radius:14px;width:74px}.cal-tile.big small{padding:4px 0;font-size:12px}.cal-tile.big strong{font-size:30px}.cal-tile.big span{padding-bottom:6px;font-size:13px}.tour-pending{gap:12px;display:grid}.tour-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.tour-head h1{letter-spacing:-.4px;font-size:20px;line-height:1.25}.tour-head-photo{object-fit:cover;border-radius:12px;flex:none;width:56px;height:56px}.tour-chips{margin-bottom:16px}.bottom-nav{z-index:15;padding-bottom:var(--safe-b);background:var(--surface);border-top:1px solid var(--line);position:fixed;inset:auto 0 0}.bottom-nav-inner{max-width:var(--col);height:var(--nav-h);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;margin:0 auto;display:grid}.bottom-nav button{color:var(--muted);align-content:center;place-items:center;gap:3px;font-size:12px;font-weight:600;display:grid;position:relative}.bottom-nav button.selected{color:var(--accent)}.bottom-nav button.selected:before{content:"";background:var(--accent);border-radius:0 0 3px 3px;width:28px;height:3px;margin-left:-14px;position:absolute;top:0;left:50%}.nav-count{background:var(--warn);color:#fff;border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:7px;left:calc(50% + 6px)}.fab{z-index:16;right:max(16px, calc((100vw - var(--col)) / 2 + 16px));bottom:calc(var(--nav-h) + var(--safe-b) + 16px);background:var(--accent);width:56px;height:56px;color:var(--on-accent);box-shadow:var(--shadow-float);border-radius:999px;place-items:center;transition:transform .12s;display:grid;position:fixed}.fab:active{transform:scale(.96)}.search-wrap{top:calc(var(--header-h) + var(--safe-t));z-index:6;background:var(--bg);margin:0 -16px 12px;padding:8px 16px;position:sticky}.search-pill{border:1px solid var(--line);background:var(--surface);height:48px;color:var(--muted);box-shadow:var(--shadow-card);border-radius:999px;align-items:center;gap:8px;padding:0 6px 0 16px;display:flex}.search-pill:focus-within{border-color:var(--accent)}.search-pill input{height:100%;min-height:0;color:var(--ink);background:0 0;border:0;padding:0}.search-pill input:focus{outline:0}.search-pill input::-webkit-search-cancel-button{display:none}.search-clear{background:var(--surface-2);width:36px;height:36px;color:var(--ink-2);border-radius:999px;place-items:center;display:grid;position:relative}.search-clear:after{content:"";position:absolute;inset:-4px}.day-strip{top:calc(var(--header-h) + var(--safe-t));z-index:5;scroll-snap-type:x proximity;scrollbar-width:none;background:var(--surface);border-bottom:1px solid var(--line);gap:8px;margin:0 -16px 16px;padding:8px 16px 10px;display:flex;position:sticky;overflow-x:auto}.day-strip::-webkit-scrollbar{display:none}.cal-slot{flex:none;justify-items:center;gap:3px;display:grid}.cal-marker{height:16px;color:var(--muted);place-items:center;font-size:10.5px;font-weight:650;display:grid}.today-pill{background:var(--accent);color:var(--on-accent);letter-spacing:.6px;text-transform:uppercase;border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:700}.cal{scroll-snap-align:center;border:1px solid var(--line);text-align:center;background:var(--surface);font-variant-numeric:tabular-nums;border-radius:12px;flex:none;width:56px;padding:0;overflow:hidden}.cal>small{letter-spacing:.8px;text-transform:uppercase;background:var(--accent-tint);color:var(--accent);padding:4px 0 3px;font-size:10.5px;font-weight:650;display:block}.cal>strong{letter-spacing:-.6px;color:var(--ink);padding-top:3px;font-size:22px;font-weight:600;line-height:1.15;display:block}.cal>span{color:var(--muted);padding:1px 0 5px;font-size:10.5px;display:block}.cal.is-today>small{background:var(--accent);color:var(--on-accent)}.cal[aria-selected=true]{border:2px solid var(--accent);box-shadow:var(--shadow-card)}.cal.is-past>strong{color:var(--muted)}.day{gap:12px;display:grid}.day>h2{margin-top:-8px}.day>.chip{justify-self:start}.day-banner{aspect-ratio:3;object-fit:cover;background:var(--surface-2);border-radius:14px;width:100%}.day-places{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.timeline{padding:6px 14px}.tl-row{grid-template-columns:46px 28px minmax(0,1fr) auto;align-items:start;gap:0 10px;padding:12px 0;display:grid;position:relative}.tl-row:not(:last-child):after{content:"";background:var(--line);width:2px;position:absolute;top:44px;bottom:-12px;left:69px}.tl-time{white-space:nowrap;font-variant-numeric:tabular-nums;padding-top:4px;font-size:15px;font-weight:600}.tl-disc{z-index:1;background:var(--accent-tint);width:28px;height:28px;color:var(--accent);border-radius:999px;place-items:center;display:grid;position:relative}.tl-body{gap:3px;padding-top:3px;display:grid}.tl-body h3{font-size:15px}.tl-lines{color:var(--muted);font-size:13px}.tl-vendor{color:var(--muted);font-size:13px;font-style:italic}.tl-body .chip-row{margin-top:4px}.tl-thumb{object-fit:cover;border-radius:10px;width:44px;height:44px}.stay-card{align-items:flex-start;gap:12px;display:flex}.stay-main{flex:1;gap:3px;min-width:0;display:grid}.stay-main .chip-row{margin-top:6px}.stay-thumb{object-fit:cover;border-radius:12px;flex:none;width:64px;height:64px}.panel{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:14px}.panel.health{background:var(--danger-tint);border-color:#0000}.panel-label,.text-note-label{margin-bottom:4px;font-size:13px;font-weight:650;display:block}.text-note p{white-space:pre-line;font-size:15px}.text-note p.clamp{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tl-body .text-note p{color:var(--ink-2);font-size:14px}.stay-group{gap:10px;margin-bottom:20px;display:grid}.stay-head{align-items:center;gap:12px;display:flex}.stay-head .chip{margin-bottom:4px}.stay-head h3{font-size:17px;font-weight:650}.stay-head-photo{object-fit:cover;border-radius:10px;width:40px;height:40px}.room-card{padding:14px}.room-top{align-items:center;gap:10px;margin-bottom:6px;display:flex}.room-no{letter-spacing:-.4px;font-variant-numeric:tabular-nums;font-size:22px;font-weight:650}.room-guests{margin-left:auto}.occupants>*+*{border-top:1px solid var(--line)}.occupant{text-align:left;align-items:center;gap:10px;width:100%;min-height:48px;padding:6px 0;display:flex}.occupant-text,.person-text{grid-template-columns:minmax(0,1fr);gap:3px;display:grid}.occupant-name,.person-main strong{overflow-wrap:break-word}.occupant-name{font-size:15px;font-weight:600;line-height:1.35}.occupant-sub,.person-sub{min-width:0;color:var(--muted);flex-wrap:wrap;align-items:center;gap:3px 8px;font-size:13px;line-height:1.35;display:flex}.occupant-diet,.person-sub small{overflow-wrap:break-word;min-width:0}.occupant .chev{color:var(--muted)}.room-notes{margin-top:6px}.room-notes p{color:var(--muted);font-size:13px}.unroomed{background:var(--warn-tint);border-color:#0000}.unroomed h3{color:var(--warn);margin-bottom:4px}.unroomed .occupants>*+*{border-color:#9a4a1226}.people-card{margin-bottom:12px;padding:4px 14px}.person-row{align-items:center;gap:4px;min-height:60px;display:flex}.person-row+.person-row{border-top:1px solid var(--line)}.person-main{text-align:left;flex:1;align-items:center;gap:12px;min-width:0;min-height:60px;padding:8px 0;display:flex}.person-main strong{font-size:16px;line-height:1.35;display:block}.person-main small{font-size:13px}.call-link{width:44px;height:44px;color:var(--accent);background:var(--accent-tint);border-radius:999px;flex:none;place-items:center;display:grid}.action-strip{grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 16px;display:grid}.action-strip a{background:var(--accent-tint);color:var(--accent);border-radius:14px;justify-items:center;gap:4px;padding:10px 4px;font-size:13px;font-weight:650;display:grid}.facts{gap:8px;display:grid}.facts div{justify-content:space-between;gap:16px;display:flex}.facts dt{color:var(--muted);font-size:14px}.facts dd{text-align:right;font-weight:600}.panel.health dt{color:var(--danger)}.contact-row{align-items:center;gap:12px;min-height:56px;display:flex}.contact-row+.contact-row{border-top:1px solid var(--line)}.contact-row small{font-size:13px;display:block}.document-row{gap:12px;padding:10px 0;display:flex}.document-row+.document-row{border-top:1px solid var(--line)}.document-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.file-button{border:1px solid var(--line-strong);background:var(--surface);border-radius:10px;align-items:center;gap:6px;min-height:44px;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.file-button span{color:var(--muted);font-weight:500}.document-image{border-radius:12px;width:100%;margin-bottom:12px}.document-frame{border:0;border-radius:12px;width:100%;height:70dvh;margin-bottom:12px}.document-viewer .btn{width:100%}.totals{gap:4px;margin-bottom:14px;display:grid}.total-line{align-items:baseline;gap:8px;display:flex}.total-line strong{letter-spacing:-.6px;font-variant-numeric:tabular-nums;font-size:28px;font-weight:600}.ccy-flag{font-size:22px;line-height:1}.waiting{background:var(--warn-tint);border-color:#0000;margin-bottom:14px}.waiting h3{color:var(--warn)}.cost-day{margin-bottom:14px}.cost-day>h3{margin:0 4px 6px}.cost-list{padding:2px 14px}.cost-row{align-items:flex-start;gap:12px;padding:12px 0;display:flex}.cost-row+.cost-row{border-top:1px solid var(--line)}.waiting .cost-row+.cost-row{border-color:#9a4a1226}.cost-row strong{font-size:15px}.money{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}.money-code{color:var(--muted);font-size:12px;font-weight:600}.cost-error{color:var(--danger);font-size:13px}.cost-note{color:var(--ink-2);margin-top:2px}.cost-tour{text-align:center;margin-bottom:10px}.amount-block{justify-items:center;gap:6px;margin-bottom:22px;display:grid}.currency-trigger{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;height:44px;padding:0 14px 0 12px;font-size:15px;font-weight:650;display:inline-flex}.currency-trigger span{font-size:20px;line-height:1}.amount-row{justify-content:center;align-items:center;gap:6px;max-width:100%;font-size:45px;display:flex}.amount-row.md{font-size:36px}.amount-row.sm{font-size:30px}.amount-symbol{color:var(--muted);font-size:28px;font-weight:600}.amount-row input{width:auto;min-width:2ch;max-width:100%;min-height:0;font-size:inherit;letter-spacing:-1px;text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:0;padding:0;font-weight:650}.amount-row input:focus{outline:0}.amount-block:focus-within .amount-row{box-shadow:0 2px 0 var(--accent)}.categories{border:0;min-width:0;margin:0 0 14px;padding:0}.categories legend{margin-bottom:8px;font-size:14px;font-weight:600}.cat-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.cat-grid button{border:1px solid var(--line);background:var(--surface);min-width:0;min-height:56px;color:var(--ink-2);border-radius:12px;align-content:center;place-items:center;gap:4px;padding:4px 2px;font-size:11px;font-weight:600;display:grid}.cat-grid button.selected{border:2px solid var(--accent);background:var(--accent-tint);color:var(--accent)}.offline-hint{color:var(--warn);text-align:center;margin:4px 0;font-size:13px}.ccy-search{z-index:1;background:var(--surface);color:var(--muted);margin:0 -16px;padding:4px 16px 10px;display:block;position:sticky;top:56px}.ccy-search>svg{position:absolute;top:19px;left:32px}.ccy-search input{background:var(--surface-2);border-color:var(--line);border-radius:999px;min-height:48px;padding-left:44px;padding-right:52px}.ccy-search input::-webkit-search-cancel-button{display:none}.ccy-search .search-clear{background:var(--surface);position:absolute;top:10px;right:22px}.ccy-list{display:grid}.ccy-label{margin:10px 0 2px}.ccy-option{text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:56px;padding:6px 4px;display:flex}.ccy-option:focus-visible,.ccy-option:active{background:var(--surface-2)}.ccy-option strong{font-size:16px;display:block}.ccy-option small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.ccy-check{color:var(--accent)}.currency-sheet{height:92dvh}.action-list{gap:4px;display:grid}.action-row{text-align:left;border-radius:14px;align-items:center;gap:14px;width:100%;min-height:64px;padding:8px 4px;display:flex}.action-row:not(:disabled):active{background:var(--surface-2)}.action-row strong{font-size:16px;display:block}.action-row small{color:var(--muted);font-size:13px;display:block}.action-row:disabled{opacity:.6}.message-sheet .chip-row{margin:-6px 0 18px}.message-sheet .chip{min-height:36px;padding:0 14px}.message-actions{gap:10px;display:grid}@media (width<=359px){.cal{width:52px}.tl-row{grid-template-columns:42px 28px minmax(0,1fr) auto;gap:0 8px}.tl-time{font-size:14px}.tl-row:not(:last-child):after{left:63px}}@media (width>=600px){.search-wrap,.day-strip{border-radius:0 0 14px 14px;margin-left:0;margin-right:0}.search-wrap{padding-left:0;padding-right:0}}.chip.role{background:var(--accent-tint);color:var(--accent)}.wall-note{margin:-4px 0 12px}.wall-compose{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);width:100%;min-height:56px;box-shadow:var(--shadow-card);color:var(--muted);text-align:left;align-items:center;gap:12px;margin-bottom:16px;padding:10px 16px;display:flex}.wall-compose svg{color:var(--accent);flex:none}.wall-compose:active{background:var(--surface-2)}.wall-waiting{padding:4px 16px}.wall-unsent{gap:12px;padding:12px 0;display:flex}.wall-unsent+.wall-unsent{border-top:1px solid #9a4a1226}.wall-unsent-actions{flex-wrap:wrap;gap:0 18px;display:flex}.wall-day{margin-bottom:14px}.wall-day>h3{margin:0 4px 6px}.wall-post{margin-bottom:10px;padding:14px 14px 12px}.wall-post.team{border-left:3px solid var(--accent);background:var(--accent-tint);border-color:transparent transparent transparent var(--accent)}.wall-post.team .avatar,.wall-post.team .chip.role{background:var(--surface)}.wall-post.is-hidden>:not(.wall-head):not(.wall-flags){opacity:.6}.wall-head{align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.wall-head .icon-button{margin:-8px -8px 0 0}.wall-who p{overflow-wrap:anywhere}.wall-name{flex-wrap:wrap;align-items:center;gap:2px 8px;line-height:1.3;display:flex}.wall-name strong,.name-button{overflow-wrap:anywhere;text-align:left;font-size:15px;font-weight:650}.name-button{min-height:32px;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;position:relative}.wall-flags{margin-bottom:8px}.wall-flags .chip{white-space:normal;min-height:24px;padding-block:3px}.wall-body p{white-space:pre-wrap;overflow-wrap:anywhere}.wall-body p.clamp{-webkit-line-clamp:8;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.wall-body a{color:var(--accent);text-decoration:underline}.wall-photo,.wall-video{border-radius:var(--r-row);object-fit:contain;background:var(--surface-2);width:100%;height:auto;max-height:420px;margin-top:10px;display:block}.wall-tile{border-radius:var(--r-row);background:var(--surface-2);border:1px solid var(--line);max-height:420px;margin-top:10px}.wall-tile.image{width:100%;min-height:72px;display:grid}.wall-tile-button,.wall-file{text-align:left;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 12px;display:flex}.wall-tile.image .wall-tile-button{justify-content:center}.wall-tile.image .wall-tile-button .grow{flex:none}.wall-tile-button:disabled{opacity:1}.wall-tile-button strong,.wall-file strong{overflow-wrap:anywhere;font-size:14px;display:block}.wall-tile-button small,.wall-file small{color:var(--muted);font-size:13px;display:block}.wall-file{border-radius:var(--r-row);background:var(--surface-2);border:1px solid var(--line);margin-top:10px}.wall-delivery{margin-top:10px}.wall-older{gap:8px;margin:4px 0 16px;display:grid}.wall-older .notice{margin:0}.btn.danger-fill{background:var(--danger);color:var(--on-accent)}.confirm-sheet .sheet-head h2{white-space:normal;padding:6px 0;line-height:1.3}.confirm-sheet .sheet-body>p{margin-bottom:4px}.post-sheet textarea{resize:none;min-height:96px}.post-sheet .field{margin-bottom:12px;position:relative}.post-sheet .counter{justify-self:end;font-size:12px}.attach-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.attach-preview{border:1px solid var(--line);border-radius:var(--r-row);background:var(--surface-2);align-items:center;gap:12px;margin-bottom:16px;padding:8px 4px 8px 8px;display:flex}.attach-preview img{object-fit:cover;border-radius:10px;flex:none;width:56px;height:56px}.attach-preview strong{overflow-wrap:anywhere;font-size:14px;display:block}.attach-preview small{font-size:13px;display:block}.alert-block{border:1px solid var(--line);border-radius:var(--r-card);margin:0 0 12px;padding:4px 14px}.alert-block legend{padding:0 4px;font-size:14px;font-weight:650}.alert-block .switch-row+.switch-row{border-top:1px solid var(--line)}.alert-block .switch-row{padding:8px 0}.posted>p{margin-bottom:14px}
