@font-face{font-family:Arizona;src:url(/fonts/Arizona.ttf) format("truetype");font-weight:400 900;font-style:normal;font-display:swap}.jb-brand-font{font-family:Arizona,Inter Tight,system-ui,sans-serif;letter-spacing:.02em}[style*=Newsreader]{font-family:Unbounded,Onest,system-ui,sans-serif!important;font-style:normal!important;letter-spacing:-.01em;padding-inline-start:0!important}:root{--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom);--safe-left: env(safe-area-inset-left);--safe-right: env(safe-area-inset-right);--tab-bar-height: 64px;--tint-blue-bg: rgba(120, 144, 220, .18);--tint-blue-fg: #6f84c5;--tint-cyan-bg: rgba(80, 180, 200, .18);--tint-cyan-fg: #4fa3b5;--tint-orange-bg: rgba(220, 150, 80, .18);--tint-orange-fg: #c68246;--tint-pink-bg: rgba(220, 130, 170, .18);--tint-pink-fg: #c36389;--card-border: 1px solid var(--hairline);--card-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 1px 2px rgba(0, 0, 0, .2);--sheet-shadow: 0 -20px 60px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .08)}:root,:root[data-theme=warm]{color-scheme:dark;--bg: #0e0d0b;--bg-soft: radial-gradient(140% 95% at 50% -8%, #211c16 0%, #14110d 50%, #0a0908 100%);--surface: #17150f;--surface-alt: #211d17;--surface-hi: #2c2720;--text: #f5eddf;--text-muted: rgba(245, 237, 223, .64);--text-dim: rgba(245, 237, 223, .38);--order-section-title: #9aa5b4;--accent: #f36e21;--accent-text: #ffffff;--accent-soft: rgba(243, 110, 33, .14);--accent-amber: #fbb040;--accent-sun: radial-gradient(circle at 50% 50%, #fbb040 0%, #f6882d 60%, #f36e21 100%);--hairline: rgba(245, 237, 223, .08);--hairline-strong: rgba(245, 237, 223, .18);--error: #ef8470;--error-soft: rgba(239, 132, 112, .14);--success: #6fcb95;--success-soft: rgba(111, 203, 149, .14);--warn: #e5b25e;--warn-soft: rgba(229, 178, 94, .14);--info: #8ab4e8;--info-soft: rgba(138, 180, 232, .14);--tint-blue-bg: rgba(138, 180, 232, .16);--tint-blue-fg: #b8cdf0;--tint-cyan-bg: rgba(106, 200, 220, .16);--tint-cyan-fg: #a5dce8;--tint-orange-bg: rgba(229, 178, 94, .16);--tint-orange-fg: #f0cd90;--tint-pink-bg: rgba(229, 145, 184, .16);--tint-pink-fg: #f0bcd0}:root[data-theme=daylight]{color-scheme:light;--bg: #ecede7;--bg-soft: linear-gradient(180deg, #f5f5ee 0%, #e2e3db 100%);--surface: #ffffff;--surface-alt: #dddfd7;--surface-hi: #cccec5;--text: #0f1a14;--text-muted: #4a554f;--text-dim: #7e887f;--order-section-title: #4b5563;--accent: #f36e21;--accent-text: #ffffff;--accent-soft: rgba(243, 110, 33, .1);--accent-amber: #fbb040;--accent-sun: radial-gradient(circle at 50% 50%, #fbb040 0%, #f6882d 60%, #f36e21 100%);--hairline: rgba(15, 26, 20, .08);--hairline-strong: rgba(15, 26, 20, .2);--error: #a6371e;--error-soft: rgba(166, 55, 30, .1);--success: #1f8a5b;--success-soft: rgba(31, 138, 91, .12);--warn: #b26200;--warn-soft: rgba(178, 98, 0, .12);--info: #2b4a8c;--info-soft: rgba(43, 74, 140, .1);--card-border: 1px solid rgba(15, 26, 20, .03);--card-shadow: 0 12px 32px -4px rgba(15, 26, 20, .08), 0 4px 12px -2px rgba(15, 26, 20, .04);--sheet-shadow: 0 -24px 64px rgba(15, 26, 20, .12)}:root[data-theme=cool]{color-scheme:light;--bg: #f1f5f9;--bg-soft: linear-gradient(180deg, #f8fafc 0%, #e2e8f0 100%);--surface: #ffffff;--surface-alt: #e2e8f0;--surface-hi: #cbd5e1;--text: #0f172a;--text-muted: #475569;--text-dim: #94a3b8;--order-section-title: #4b5563;--accent: #f36e21;--accent-text: #ffffff;--accent-soft: rgba(243, 110, 33, .1);--accent-amber: #fbb040;--accent-sun: radial-gradient(circle at 50% 50%, #fbb040 0%, #f6882d 60%, #f36e21 100%);--hairline: rgba(15, 23, 42, .08);--hairline-strong: rgba(15, 23, 42, .18);--error: #dc2626;--error-soft: rgba(220, 38, 38, .1);--success: #059669;--success-soft: rgba(5, 150, 105, .12);--warn: #b45309;--warn-soft: rgba(180, 83, 9, .12);--info: #2563eb;--info-soft: rgba(37, 99, 235, .1);--tint-blue-bg: #eef2ff;--tint-blue-fg: #4f46e5;--tint-cyan-bg: #ecfeff;--tint-cyan-fg: #0891b2;--tint-orange-bg: #fff7ed;--tint-orange-fg: #ea580c;--tint-pink-bg: #fdf2f8;--tint-pink-fg: #db2777;--card-border: 1px solid rgba(15, 23, 42, .05);--card-shadow: 0 12px 32px -4px rgba(15, 23, 42, .08), 0 4px 12px -2px rgba(15, 23, 42, .04);--sheet-shadow: 0 -24px 64px rgba(15, 23, 42, .14)}*,*:before,*:after{box-sizing:border-box}html.jb-theme-switching *,html.jb-theme-switching *:before,html.jb-theme-switching *:after{transition:none!important;animation-duration:0s!important}html,body,#root{margin:0;padding:0;height:100%;width:100%;overflow:hidden;overscroll-behavior:none}html,body{background:var(--bg-soft);background-attachment:fixed;color:var(--text)}#root{background:var(--bg-soft);background-attachment:fixed}body{font-family:Onest,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button,input,textarea,select{font-family:inherit;color:inherit}input,textarea,select{font-size:16px}a{color:inherit;text-decoration:none}.jb-card{background:var(--surface);border:var(--card-border);border-radius:16px;box-shadow:var(--card-shadow)}.jb-input{width:100%;padding:14px 16px;background:var(--surface-alt);border:1px solid var(--hairline);border-radius:12px;color:var(--text);font:500 16px Onest,-apple-system,system-ui,sans-serif;outline:none;transition:border-color .15s,background .15s}.jb-input:focus{border-color:var(--accent)}.jb-input:disabled{opacity:.5;cursor:not-allowed}.jb-input::placeholder{color:var(--text-dim);opacity:.55;font-weight:400}.jb-error{color:var(--error);font-size:13px;margin-top:8px}.jb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:0 22px;background:var(--accent);color:var(--accent-text);border:none;border-radius:14px;font:600 16px Onest,-apple-system,system-ui,sans-serif;cursor:pointer;transition:opacity .15s,transform .1s cubic-bezier(.4,0,.2,1),box-shadow .15s;-webkit-tap-highlight-color:transparent;background-image:linear-gradient(180deg,#ffffff1f,#fff0 35%,#0000001f);background-color:var(--accent);box-shadow:inset 0 1px #ffffff4d,inset 0 -1px #00000026,0 6px 24px -6px var(--accent)}.jb-btn:hover:not(:disabled){opacity:.92}.jb-btn:active:not(:disabled){transform:scale(.96)}.jb-btn:disabled{opacity:.5;cursor:not-allowed}.jb-btn--ghost{background:transparent;background-image:none;color:var(--text);border:1px solid var(--hairline-strong);box-shadow:none}.jb-btn--ghost:hover:not(:disabled){background:var(--surface-alt)}.jb-btn--danger{background:var(--error);background-image:linear-gradient(180deg,#ffffff1a,#fff0 35%,#0000001a);background-color:var(--error);color:#fff;box-shadow:inset 0 1px #ffffff40,inset 0 -1px #00000026,0 6px 24px -6px var(--error)}.jb-btn--danger:hover:not(:disabled){opacity:.92}.jb-btn--sm{min-height:40px;padding:0 14px;font-size:13px;border-radius:10px}.jb-btn--md{min-height:48px;padding:0 18px;font-size:14px;border-radius:12px}.jb-btn--full{width:100%}@keyframes jb-fade-in{0%{opacity:0}to{opacity:1}}@keyframes jb-pop-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes jb-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes jb-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.jb-spin{animation:jb-spin .8s linear infinite}@keyframes jb-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.jb-skeleton{background:linear-gradient(90deg,var(--surface-alt) 0%,var(--surface-hi) 50%,var(--surface-alt) 100%);background-size:200% 100%;animation:jb-shimmer 1.4s ease-in-out infinite;border-radius:8px}.jb-skeleton--card{background:linear-gradient(95deg,transparent 0%,transparent 38%,color-mix(in srgb,var(--accent) 14%,transparent) 50%,transparent 62%,transparent 100%),repeating-linear-gradient(180deg,var(--surface-alt) 0px,var(--surface-alt) 20px,color-mix(in srgb,var(--surface-hi) 70%,var(--surface-alt)) 20px,color-mix(in srgb,var(--surface-hi) 70%,var(--surface-alt)) 24px);background-size:220% 100%,100% 100%;background-position:0% 0%,0 0;animation:jb-shimmer-card 1.8s ease-in-out infinite}@keyframes jb-shimmer-card{0%{background-position:-110% 0%,0 0}to{background-position:110% 0%,0 0}}@keyframes jb-splash-lamel{0%,to{opacity:.35}50%{opacity:1}}@keyframes jb-splash-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes jb-splash-progress{0%{left:-40%}to{left:100%}}.jb-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.04em;white-space:nowrap}.jb-pill:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor}.jb-pill--info{background:var(--info-soft);color:var(--info)}.jb-pill--ok{background:var(--success-soft);color:var(--success)}.jb-pill--warn{background:var(--warn-soft);color:var(--warn)}.jb-pill--error{background:var(--error-soft);color:var(--error)}.jb-pill--overdue{background:var(--error);color:#fff}@keyframes jb-room-pulse{0%,to{opacity:1}50%{opacity:.5}}.jb-calc-room{color:var(--accent);font-size:30px;font-weight:800;line-height:1.15;animation:jb-room-pulse 1.6s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.jb-calc-room{animation:none}}.jb-pill--accent{background:var(--accent-soft);color:var(--accent)}.jb-pill--muted{background:var(--surface-alt);color:var(--text-muted)}.jb-shell{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.jb-shell__main{flex:1 1 auto;padding-left:max(0px,var(--safe-left));padding-right:max(0px,var(--safe-right));padding-bottom:calc(var(--tab-bar-height) + var(--safe-bottom) + 24px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.jb-shell__main::-webkit-scrollbar{display:none}.jb-shell__main--no-tabs{padding-bottom:var(--safe-bottom)}.jb-auth-viewport{position:fixed;inset:0;box-sizing:border-box;width:100%;height:calc(100dvh - var(--jb-kb-h, 0px));min-height:0;display:flex;flex-direction:column;align-items:center;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-top:max(20px,var(--safe-top));padding-bottom:max(20px,var(--safe-bottom));padding-left:max(16px,var(--safe-left));padding-right:max(16px,var(--safe-right))}.jb-auth-viewport__content{flex:0 0 auto;margin-top:auto;margin-bottom:auto}.jb-auth-viewport--gate{padding-left:max(20px,var(--safe-left));padding-right:max(20px,var(--safe-right))}.jb-keyboard-open .jb-auth-viewport{padding-top:max(8px,var(--safe-top));padding-bottom:8px}.jb-keyboard-open .jb-auth-viewport--login .jb-auth-login__branding{display:none}.jb-keyboard-open .jb-auth-viewport--gate{padding-top:max(8px,var(--safe-top))}.jb-noscrollbar{scrollbar-width:none;-ms-overflow-style:none}.jb-noscrollbar::-webkit-scrollbar{display:none}@keyframes jb-pulse-badge{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.14)}}.jb-pulse-badge{animation:jb-pulse-badge 1.1s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.jb-pulse-badge{animation:none}}.jb-tab-bar{position:fixed;bottom:calc(var(--safe-bottom) + 12px);left:max(12px,var(--safe-left));right:max(12px,var(--safe-right));z-index:100;display:flex;align-items:stretch;gap:4px;padding:6px;height:var(--tab-bar-height);box-sizing:border-box;background:color-mix(in oklab,var(--surface-alt) 60%,transparent);-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%);border:1px solid color-mix(in oklab,var(--text) 14%,transparent);border-top-color:color-mix(in oklab,var(--text) 22%,transparent);border-radius:22px;box-shadow:0 14px 36px -10px #0000008c,0 2px 8px #00000047,inset 0 1px #ffffff29;isolation:isolate;overflow:hidden}.jb-tab-bar:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#ffffff1a,#fff0 35%);border-radius:inherit;z-index:-1}:root[data-theme=daylight] .jb-tab-bar,:root[data-theme=cool] .jb-tab-bar{background:color-mix(in oklab,#ffffff 65%,transparent);box-shadow:0 14px 36px -10px #0f1a142e,0 2px 8px #0f1a141a,inset 0 1px #ffffff8c;border-color:#0f1a1414;border-top-color:#0f1a1424}.jb-tab{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px;background:transparent;border:none;border-radius:14px;cursor:pointer;color:var(--text-dim);text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.01em;transition:background-color .2s ease,color .2s ease,transform .15s ease;-webkit-tap-highlight-color:transparent;overflow:hidden}.jb-tab:active{transform:scale(.94)}.jb-tab:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at center,color-mix(in oklab,var(--accent) 28%,transparent) 0%,transparent 70%);opacity:0;transform:scale(.6);pointer-events:none;transition:opacity .4s ease,transform .4s cubic-bezier(.16,1,.3,1)}.jb-tab:active:after{opacity:1;transform:scale(1);transition:opacity .05s ease-out,transform .05s ease-out}.jb-tab span:not(.jb-tab__icon){display:block;font-size:10.5px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.jb-tab__icon{width:22px;height:22px;display:grid;place-items:center;flex-shrink:0}.jb-tab.is-active{background:radial-gradient(120% 100% at 50% 0%,color-mix(in oklab,var(--accent-amber, var(--accent)) 90%,white 10%) 0%,var(--accent) 60%,color-mix(in oklab,var(--accent) 80%,black 20%) 100%);color:var(--accent-text);box-shadow:0 6px 18px -4px color-mix(in oklab,var(--accent) 65%,transparent),0 2px 4px -1px color-mix(in oklab,var(--accent) 45%,transparent),inset 0 1px #ffffff42,inset 0 -1px #00000024}.jb-tab__badge{position:absolute;top:6px;right:calc(50% - 18px);min-width:16px;height:16px;padding:0 4px;background:var(--error);border-radius:999px;color:#fff;font-size:9px;font-weight:700;display:grid;place-items:center}.jb-tab__wrap{position:relative;display:contents}.jb-app-bar{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--hairline);padding:16px 16px 14px;padding-top:max(16px,var(--safe-top));color:var(--text)}.jb-app-bar--with-back{padding-left:12px;padding-right:12px}.jb-app-bar--minimal{padding:12px 16px;padding-top:max(12px,var(--safe-top))}.jb-app-bar__eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.jb-app-bar__title{font-family:Onest,system-ui,sans-serif;font-size:30px;font-weight:700;line-height:1.1;margin:0;letter-spacing:-.025em}.jb-app-bar__sub{font-size:13px;color:var(--text-muted);margin-top:4px;font-weight:500}.jb-sticky-head{position:sticky;top:calc(50px + max(16px,var(--safe-top, 0px)));z-index:30;background:var(--bg);padding-bottom:14px;margin-bottom:0}.jb-overlay{position:fixed;inset:0;top:var(--jb-vv-offset-top, 0px);bottom:calc(0px - var(--jb-vv-offset-top, 0px));z-index:2000;background:#0806048c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:jb-fade-in .18s ease;display:flex;align-items:flex-end;justify-content:center}.jb-sheet{background:color-mix(in srgb,var(--surface) 80%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--hairline);border-bottom:none;border-radius:22px 22px 0 0;width:100%;max-width:560px;max-height:min(92dvh,calc(100dvh - var(--jb-kb-h, 0px) - max(12px,env(safe-area-inset-top,0px))));margin-bottom:var(--jb-kb-h, 0px);display:flex;flex-direction:column;overflow:hidden;animation:jb-sheet-up .22s ease-out;padding-bottom:var(--safe-bottom);box-shadow:var(--sheet-shadow);transition:margin-bottom .08s linear,max-height .08s linear}.jb-sheet__handle{width:40px;height:4px;background:var(--hairline-strong);border-radius:999px;margin:10px auto 4px;flex:0 0 auto}.jb-sheet__header{padding:8px 20px 12px;border-bottom:1px solid var(--hairline);display:flex;align-items:center;gap:12px}.jb-sheet__title{font-family:Onest,system-ui,sans-serif;font-size:22px;font-weight:700;line-height:1.2;margin:0;letter-spacing:-.02em;flex:1 1 auto;min-width:0}.jb-sheet__header-action{flex:0 0 auto}.jb-sheet__header-action>button{min-width:72px;min-height:44px;padding:8px 12px;border:0;border-radius:12px;background:var(--accent-soft);color:var(--accent);font:inherit;font-size:14px;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.jb-sheet__header-action>button:disabled{color:var(--text-dim);background:var(--surface-alt);cursor:default}.jb-sheet__header-action>button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.od-contractor-list-button{width:100%;min-height:50px;margin-top:8px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--hairline));border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 72%,var(--surface));color:var(--accent);display:flex;align-items:center;gap:10px;font:inherit;font-size:13px;font-weight:750;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,border-color .12s ease,background .12s ease}.od-contractor-list-button:active{transform:scale(.985);background:var(--accent-soft)}.od-contractor-list-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.od-contractor-list-button__icon{width:32px;height:32px;border-radius:10px;background:var(--surface);display:grid;place-items:center;flex:0 0 auto;box-shadow:0 2px 7px color-mix(in srgb,var(--accent) 12%,transparent)}.od-contractor-list-button__chevron{margin-left:auto;color:color-mix(in srgb,var(--accent) 62%,var(--text-dim));flex:0 0 auto}.jb-sheet--contractor-preview .jb-sheet__body{padding-top:12px}.od-contractor-preview{display:flex;flex-direction:column;padding-bottom:8px}.od-contractor-preview__order-code{margin-bottom:8px;color:var(--text);font:800 14px/1.25 JetBrains Mono,monospace}.od-contractor-preview__message{padding:16px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--hairline));border-radius:17px;background:var(--surface);color:var(--text);overflow-wrap:anywhere;font-size:14px;line-height:1.55;box-shadow:0 8px 24px color-mix(in srgb,var(--text) 7%,transparent)}.od-contractor-preview__rooms{display:flex;flex-direction:column}.od-contractor-preview__room+.od-contractor-preview__room{border-top:1px solid var(--hairline);margin-top:10px;padding-top:10px}.od-contractor-preview__room-toggle{width:100%;min-height:44px;padding:0;border:0;background:transparent;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:10px;font:inherit;font-weight:700;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.od-contractor-preview__room-toggle svg{flex:0 0 auto;color:var(--text-muted)}.od-contractor-preview__room-body{padding-top:4px;white-space:pre-wrap}.od-contractor-preview__message strong{font-weight:800}.od-contractor-preview__state{min-height:180px;padding:20px;border:1px dashed var(--hairline-strong);border-radius:17px;color:var(--text-dim);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;font-size:13px}.od-contractor-preview__state--error{color:var(--error)}.jb-sheet__sticky-top{padding:14px 20px 12px;flex:0 0 auto;border-bottom:1px solid var(--hairline)}.jb-sheet__body{padding:16px 20px;overflow:auto;flex:1 1 auto;min-height:0}.jb-sheet--inbox>.jb-sheet__body{overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.jb-sheet--calc-form>.jb-sheet__body{overflow-anchor:none}.jb-sheet__footer{padding:12px 16px 16px;border-top:1px solid var(--hairline);display:flex;gap:10px;flex:0 0 auto;background:transparent}.jb-sheet--install-complete{max-width:520px}.jb-sheet--install-complete>.jb-sheet__body{padding:14px 16px}.jb-sheet--install-complete>.jb-sheet__footer{padding-top:10px}.jb-install-complete__heading{display:flex;flex-direction:column;gap:2px}.jb-install-complete__heading small{color:var(--text-muted);font-family:Onest,system-ui,sans-serif;font-size:12px;font-weight:500;letter-spacing:0}.jb-install-complete,.jb-install-complete__footer{display:flex;width:100%;flex-direction:column;gap:10px}.jb-install-complete__loading{padding:24px 0;color:var(--text-muted);text-align:center;font-size:13px}.jb-install-complete__progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px 2px 8px}.jb-install-complete__progress-step{position:relative;display:flex;min-width:0;align-items:center;gap:6px;color:var(--text-muted)}.jb-install-complete__progress-step:not(:last-child):after{position:absolute;right:6px;width:calc(100% - 66px);height:1px;background:var(--hairline-strong);content:""}.jb-install-complete__progress-step i{z-index:1;display:inline-flex;width:22px;height:22px;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid var(--hairline-strong);border-radius:999px;background:var(--surface);font-size:11px;font-style:normal;font-weight:800}.jb-install-complete__progress-step b{overflow:hidden;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.jb-install-complete__progress-step.is-done{color:var(--success)}.jb-install-complete__progress-step.is-done i{border-color:var(--success);background:var(--success-soft)}.jb-install-complete__step{display:grid;grid-template-columns:42px minmax(0,1fr) auto;min-height:70px;align-items:center;gap:10px;padding:10px;border:1px solid var(--hairline);border-radius:16px;background:var(--surface-alt)}.jb-install-complete__step.is-done{border-color:color-mix(in srgb,var(--success) 35%,var(--hairline))}.jb-install-complete__step-icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:13px;background:var(--accent-soft);color:var(--accent)}.jb-install-complete__step.is-done .jb-install-complete__step-icon{background:var(--success-soft);color:var(--success)}.jb-install-complete__step-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.jb-install-complete__step-copy strong{overflow:hidden;color:var(--text);font-size:14px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.jb-install-complete__step-copy small{overflow:hidden;color:var(--text-muted);font-size:11px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.jb-install-complete__step>button{display:inline-flex;min-height:38px;align-items:center;gap:4px;padding:0 12px;border:1px solid var(--hairline-strong);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:12px;font-weight:750;cursor:pointer}.jb-install-complete__step>button:not(:disabled){border-color:color-mix(in srgb,var(--accent) 50%,var(--hairline));color:var(--accent)}.jb-install-complete__step>button:disabled{border-color:transparent;background:var(--surface);color:var(--text-muted);cursor:default}.jb-install-complete__step.is-done>button:disabled{background:var(--success-soft);color:var(--success)}.jb-install-complete__expanded{padding:2px 0 4px}.jb-install-complete__readiness{display:flex;align-items:center;justify-content:space-between;gap:12px}.jb-install-complete__readiness>span{display:flex;min-width:0;flex-direction:column;gap:1px}.jb-install-complete__readiness strong{color:var(--text);font-size:12px}.jb-install-complete__readiness small{overflow:hidden;color:var(--text-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.jb-install-complete__readiness b{flex:0 0 auto;color:var(--accent);font-size:12px}.jb-install-complete__footer>.jb-btn{width:100%}@media(max-width:380px){.jb-install-complete__step{grid-template-columns:38px minmax(0,1fr) auto;gap:8px;padding:8px}.jb-install-complete__step-icon{width:38px;height:38px}.jb-install-complete__step>button{padding:0 9px}}.jb-sheet--calc-form>.jb-sheet__footer{max-height:180px;overflow:hidden;opacity:1;transition:max-height .16s ease,padding-top .16s ease,padding-bottom .16s ease,border-top-color .12s ease,opacity .12s ease}.jb-keyboard-editing .jb-sheet--calc-form>.jb-sheet__footer,.jb-keyboard-open .jb-sheet--calc-form>.jb-sheet__footer{max-height:0;padding-top:0;padding-bottom:0;border-top-color:transparent;opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.jb-sheet--calc-form>.jb-sheet__footer{transition:none}}.jb-modal{background:var(--surface);border:1px solid var(--hairline);border-radius:22px;margin:auto;max-width:440px;width:calc(100% - 32px);padding:26px;animation:jb-pop-in .2s cubic-bezier(.2,.7,.3,1.4);box-shadow:0 30px 80px -20px #00000073}.jb-overlay--center{align-items:center;padding:20px}.jb-room-name-overlay{z-index:2200;box-sizing:border-box;padding:20px;padding-bottom:calc(20px + var(--jb-kb-h, 0px));transition:padding-bottom .08s linear}.jb-room-name-confirm-overlay{z-index:2300;box-sizing:border-box;padding-bottom:calc(20px + var(--jb-kb-h, 0px))}.jb-pin-disable-confirm-overlay{z-index:2600}.jb-room-name-modal{max-width:400px;padding:20px}.jb-room-name-modal__title{color:var(--text);font-size:22px;font-weight:800;line-height:1.2;letter-spacing:-.02em;margin-bottom:16px}.jb-room-name-modal__label{display:block;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.12em;line-height:1.2;margin:0 0 8px;text-transform:uppercase}.jb-room-name-modal__warning{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 12px;border:1px solid var(--error);border-radius:12px;background:var(--error-soft);color:var(--error);font-size:13px;font-weight:600;line-height:1.35}.jb-room-name-modal__warning>svg{flex:0 0 auto;margin-top:1px}.jb-room-name-modal__actions{display:flex;gap:10px;margin-top:20px}.jb-room-name-modal__actions>.jb-btn:first-child{flex:1}.jb-room-name-modal__actions>.jb-btn:last-child{flex:2}.jb-order-card-wrap{position:relative}.jb-order-card{position:relative;display:block;padding:16px 18px 14px;background:var(--surface);border:var(--card-border);border-radius:16px;box-shadow:var(--card-shadow);text-decoration:none;color:inherit;transition:transform .1s cubic-bezier(.4,0,.2,1),border-color .16s ease,background .1s ease;-webkit-tap-highlight-color:transparent}.jb-order-card:active{background:var(--surface-alt);border-color:var(--hairline-strong);transform:scale(.97)}.jb-order-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.jb-order-card__topline{display:flex;align-items:baseline;gap:10px}.jb-order-card__name{flex:1 1 auto;min-width:0;font-size:18px;font-weight:700;color:var(--text);line-height:1.2;letter-spacing:-.018em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jb-order-card__addr{font-size:13px;color:var(--text-muted);margin-top:4px;line-height:1.45;padding-right:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jb-order-card__district{color:var(--text-dim)}.jb-order-card__time{flex:0 0 auto;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600;color:var(--accent);letter-spacing:-.01em;white-space:nowrap}.jb-order-card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.jb-order-card__money{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;color:var(--text-muted);letter-spacing:0;margin-left:auto}.jb-order-card--has-route .jb-order-card__foot{padding-right:46px}.jb-order-card__route{position:absolute;right:14px;bottom:12px;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--accent-soft);border:1px solid color-mix(in oklab,var(--accent) 50%,transparent);color:var(--accent);text-decoration:none;-webkit-tap-highlight-color:transparent;transition:transform .1s cubic-bezier(.4,0,.2,1),background .12s ease}.jb-order-card__route:active{transform:scale(.92);background:color-mix(in oklab,var(--accent) 28%,transparent)}.jb-order-card__route:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.jb-order-card__meta{display:inline-flex;align-items:center;gap:4px}.jb-order-card__meta-item{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;font-size:11px;font-weight:600;border-radius:999px;background:var(--surface-alt);color:var(--text-muted);font-variant-numeric:tabular-nums;line-height:1.4}.jb-order-card__meta-item--warn{background:var(--warn-soft);color:var(--warn)}.jb-order-card--compact{padding:11px 14px 10px;border-radius:13px}.jb-order-card--compact .jb-order-card__name{font-size:15.5px}.jb-order-card--compact .jb-order-card__addr{font-size:12px;margin-top:2px;padding-right:64px}.jb-order-card--compact .jb-order-card__time{font-size:12.5px}.jb-order-card--compact .jb-order-card__foot{margin-top:9px}.jb-order-card--compact .jb-order-card__money{font-size:12px}.jb-order-card--compact .jb-pill{font-size:11px;padding-top:3px;padding-bottom:3px}.jb-section-title{display:flex;align-items:baseline;gap:8px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);padding:0 16px;margin:24px 0 12px}.jb-section-title__dot{color:var(--text-dim);font-weight:400}.jb-section-title__count{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:0}.jb-section-title:first-child{margin-top:8px}.jb-net-dot{display:inline-block;width:8px;height:8px;border-radius:999px;margin-right:6px}.jb-net-dot--on{background:var(--success);box-shadow:0 0 0 3px #10b9812e}.jb-net-dot--off{background:var(--error);box-shadow:0 0 0 3px #ef44442e}.jb-action-bar{position:fixed;left:0;right:0;bottom:0;z-index:80;padding:14px 16px;padding-bottom:max(20px,calc(14px + var(--safe-bottom)));background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--hairline);display:flex;flex-direction:column;gap:8px}.jb-toast-host{position:fixed;left:16px;right:16px;top:calc(var(--safe-top) + 12px);z-index:3000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.jb-toast{background:var(--surface-hi);border:1px solid var(--hairline-strong);border-radius:14px;padding:12px 14px;font-size:14px;display:flex;gap:10px;align-items:flex-start;box-shadow:0 12px 30px #00000059;pointer-events:auto;animation:jb-pop-in .2s cubic-bezier(.2,.7,.3,1.4)}.jb-toast--ok{border-color:color-mix(in srgb,var(--success) 50%,transparent)}.jb-toast--err{border-color:color-mix(in srgb,var(--error) 50%,transparent)}.jb-toast__title{font-weight:600;line-height:1.3}.jb-toast__desc{font-size:12px;color:var(--text-muted);margin-top:2px;line-height:1.4}.jb-progress{display:flex;align-items:center;gap:6px;padding:10px 16px}.jb-progress__dot{flex:1;height:4px;border-radius:999px;background:var(--hairline);transition:background .18s}.jb-progress__dot--done,.jb-progress__dot--active{background:var(--accent)}.jb-numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px}.jb-numpad__key{height:60px;border-radius:14px;background:var(--surface-alt);border:1px solid var(--hairline);color:var(--text);font-size:22px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .08s,transform .1s cubic-bezier(.4,0,.2,1)}.jb-numpad__key:active{background:var(--surface-hi);transform:scale(.95)}.jb-numpad__key--accent{background:var(--accent);color:var(--accent-text);border-color:transparent}.jb-numpad__key--ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.jb-chip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.jb-chip{display:flex;flex-direction:column;align-items:center;padding:12px 10px;background:var(--surface);border:1px solid var(--hairline);border-radius:14px;font-size:13px;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;transition:border-color .12s,background .08s,transform .1s cubic-bezier(.4,0,.2,1)}.jb-chip.is-active{border-color:var(--accent);background:var(--accent-soft)}.jb-chip:active{transform:scale(.95)}.jb-chip__img{width:44px;height:44px;border-radius:8px;object-fit:cover;margin-bottom:6px;background:var(--surface-alt)}.jb-product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.jb-product-tile{position:relative;display:block;padding:0;aspect-ratio:1.05 / 1;overflow:hidden;background:var(--surface-hi);border:1px solid var(--hairline);border-radius:16px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s,transform .1s cubic-bezier(.4,0,.2,1)}.jb-product-tile:active{transform:scale(.97)}.jb-product-tile.is-active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 25%,transparent)}.jb-product-tile__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.jb-product-tile__placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:var(--surface-hi);color:var(--text-dim)}.jb-product-tile__overlay{position:absolute;left:0;right:0;bottom:0;padding:18px 12px 10px;background:linear-gradient(180deg,#0000,#00000080,#000000d1);color:#fff;font-size:14px;font-weight:600;line-height:1.2;text-align:left;letter-spacing:-.005em}.jb-product-tile.is-active .jb-product-tile__overlay{background:linear-gradient(180deg,#0000,color-mix(in oklab,var(--accent) 35%,rgba(0,0,0,.55)),color-mix(in oklab,var(--accent) 50%,rgba(0,0,0,.85)))}.jb-product-tile__check{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--accent-text);display:grid;place-items:center;font-size:14px;font-weight:800;box-shadow:0 2px 8px #0000004d}.jb-slats-bg{position:relative;isolation:isolate}.jb-slats-bg:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(180deg,transparent 0px,transparent 8px,currentColor 8px,currentColor 9px);opacity:.06;z-index:-1;border-radius:inherit}:root[data-theme=daylight] .jb-slats-bg:before,:root[data-theme=cool] .jb-slats-bg:before{opacity:.05}@keyframes jb-slat-flip{0%,to{transform:scaleY(1);opacity:1}50%{transform:scaleY(.15);opacity:.45}}@keyframes jb-badge-breathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(.2)}}@keyframes jb-logo-breathe{0%,to{transform:scaleY(1);opacity:1}50%{transform:scaleY(.25);opacity:.55}}.jb-logo-animated line{transform-origin:center;animation:jb-logo-breathe 3.4s ease-in-out infinite}.jb-logo-animated line:nth-of-type(1){animation-delay:0s}.jb-logo-animated line:nth-of-type(2){animation-delay:.18s}.jb-logo-animated line:nth-of-type(3){animation-delay:.36s}.jb-logo-animated line:nth-of-type(4){animation-delay:.54s}.jb-logo-animated line:nth-of-type(5){animation-delay:.72s}@keyframes jb-light-beam-pulse{0%,to{opacity:.14}50%{opacity:.22}}.jb-light-beam{animation:jb-light-beam-pulse 6s ease-in-out infinite}@keyframes jb-greeting-fade{0%,80%{opacity:1;max-height:200px;transform:translateY(0)}to{opacity:0;max-height:0;transform:translateY(-8px)}}@keyframes jb-step-pulse{0%,to{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 8%,transparent)}}
