@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-ext-400-normal.0_mlbjjysj-9a.woff2)format("woff2"),url(../media/dm-sans-latin-ext-400-normal.20edsl4fvw0xl.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-400-normal.2o7k1_w7_w7bj.woff2)format("woff2"),url(../media/dm-sans-latin-400-normal.12jnqtfk91av5.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-sans-latin-ext-500-normal.3r_2hmgyghopi.woff2)format("woff2"),url(../media/dm-sans-latin-ext-500-normal.0hc3k9jh99u9h.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-sans-latin-500-normal.2f4st7_5x_v78.woff2)format("woff2"),url(../media/dm-sans-latin-500-normal.366wxi7rk3-vz.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-ext-600-normal.06gqmhphopoe2.woff2)format("woff2"),url(../media/dm-sans-latin-ext-600-normal.2vcw1e622nu68.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-600-normal.32n_x70livn_1.woff2)format("woff2"),url(../media/dm-sans-latin-600-normal.2tavyc8arpb_3.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/dm-sans-latin-ext-700-normal.04nb2rj_m4l8k.woff2)format("woff2"),url(../media/dm-sans-latin-ext-700-normal.1avk1m8ac7puw.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/dm-sans-latin-700-normal.0lo5o3yaiuo13.woff2)format("woff2"),url(../media/dm-sans-latin-700-normal.3frjp6l305o-t.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-condensed-vietnamese-700-normal.312nbn3hifl_p.woff2)format("woff2"),url(../media/barlow-condensed-vietnamese-700-normal.0qq2rbf8hr6cv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-condensed-latin-ext-700-normal.28iwym1vpi4ti.woff2)format("woff2"),url(../media/barlow-condensed-latin-ext-700-normal.2hkqehxqksiuo.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-condensed-latin-700-normal.3hmancrpg57x4.woff2)format("woff2"),url(../media/barlow-condensed-latin-700-normal.31l4qbhx6zok2.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(../media/barlow-condensed-vietnamese-800-normal.3n535lzyn34rn.woff2)format("woff2"),url(../media/barlow-condensed-vietnamese-800-normal.2re921o3v8kxr.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(../media/barlow-condensed-latin-ext-800-normal.38jfrv2bw8ham.woff2)format("woff2"),url(../media/barlow-condensed-latin-ext-800-normal.0u7a-eu7b5fpt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(../media/barlow-condensed-latin-800-normal.3djb9aq_mafq5.woff2)format("woff2"),url(../media/barlow-condensed-latin-800-normal.3r87gr0di6ox9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--paper:#f5f2ea;--paper-deep:#eeeae0;--card:#faf8f2;--ink:#20231f;--ink-soft:#3b3e37;--muted:#66685f;--faint:#8c8e84;--line:#d2d0c5;--hairline:#20231f17;--soft:#e7e5db;--orange:#f47a3d;--orange-light:#ff9c66;--orange-deep:#d9622a;--orange-wash:#fbe3d1;--rust:#a63b10;--blue:#a63b10;--green:#236a50;--green-wash:#e1eee6;--red:#ae302b;--red-wash:#fbe7e3;--sidebar:#20231f;--glass:#fffefa94;--glass-strong:#fffefacc;--glass-edge:#ffffffb8;--glass-blur:blur(24px) saturate(180%);--glass-shine:inset 0 1px 0 #ffffffeb, inset 0 -1px 0 #ffffff47;--shadow-sm:0 1px 2px #20231f0d, 0 6px 16px -8px #20231f29;--shadow:0 1px 2px #20231f0a, 0 14px 32px -16px #20231f42;--shadow-float:0 2px 8px #20231f0f, 0 24px 52px -18px #20231f57;--orange-glow:0 10px 22px -10px #d9622abf;--display:"Barlow Condensed", sans-serif;--body:-apple-system, BlinkMacSystemFont, "SF Pro Text", "DM Sans", "Helvetica Neue", Arial, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--tabbar-space:calc(112px + var(--safe-bottom));--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2366685f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{background:var(--paper);-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:15px;line-height:1.45}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(62% 40% at 0 0,#fac8a499 0%,#fac8a400 70%),radial-gradient(55% 34% at 100% 4%,#ffffffe6 0%,#fff0 70%),radial-gradient(70% 42% at 100% 72%,#f47a3d24 0%,#f47a3d00 70%),radial-gradient(70% 45% at 0 100%,#cdc4ae8c 0%,#cdc4ae00 70%),linear-gradient(#f4efe6 0%,#eee7dc 52%,#f1e6da 100%);position:fixed;inset:0}button,input,select,textarea{font:inherit;letter-spacing:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit}h1,h2,h3,h4,p,figure{margin:0}svg{vertical-align:middle;flex-shrink:0}img{max-width:100%}:focus-visible{outline-offset:3px;outline:3px solid #d9622a8c}::selection{color:var(--ink);background:#f47a3d52}input[type=checkbox],input[type=radio]{accent-color:var(--orange-deep)}.skip-link{z-index:200;box-shadow:var(--shadow);background:#fff;border-radius:999px;padding:12px 18px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:calc(10px + var(--safe-top))}.muted{color:var(--muted)}.brand{color:var(--ink);align-items:center;gap:10px;line-height:1;display:inline-flex}.brand-mark{width:40px;height:36px}.brand-wordmark{font:800 34px/.85 var(--display);letter-spacing:-.6px;white-space:nowrap;gap:0;display:flex}.brand-wordmark>span:last-child{color:var(--orange)}.brand-compact .brand-mark{width:30px;height:27px}.brand-home{border-radius:14px;padding:0}.roof-art{background:#d9d3c5 url(/images/roof-shingle.jpg) 50%/cover no-repeat;height:200px;position:relative}.roof-tile{background-image:url(/images/roof-tile.jpg)}.roof-metal{background-image:url(/images/roof-metal.jpg)}.roof-flat{background-image:url(/images/roof-flat.jpg)}.roof-house{display:none}.no-photo{width:100%;height:100%;color:var(--muted);background:linear-gradient(160deg,#ece7dc,#e0d9cb);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.no-photo span{font-size:13px}.button{letter-spacing:-.01em;text-align:center;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 22px;font-size:15px;font-weight:600;line-height:1.2;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .2s,background-color .2s,filter .2s;display:inline-flex;position:relative}.button:active:not(:disabled){transform:scale(.97)}.button-primary{color:var(--ink);background:linear-gradient(180deg, var(--orange-light) 0%, var(--orange) 55%, var(--orange-deep) 100%);box-shadow:inset 0 1px 0 #ffffff80, inset 0 -1px 0 #a63b1040, var(--orange-glow);border-color:#ffffff59}.button-primary:hover:not(:disabled){filter:brightness(1.04)saturate(1.05)}.button-dark{color:#faf8f2;background:linear-gradient(180deg, #363a31 0%, var(--ink) 60%);border-color:#ffffff14;box-shadow:inset 0 1px #ffffff24,0 14px 30px -14px #20231fa6}.button-dark:hover:not(:disabled){filter:brightness(1.12)}.button-secondary{color:var(--ink);background:var(--glass-strong);border-color:var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow-sm);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.button-secondary:hover:not(:disabled){background:#fffffff5}.button-ghost{color:var(--ink-soft)}.button-ghost:hover:not(:disabled){background:#20231f0f}.button-ghost[aria-pressed=true]{color:var(--orange-deep)}.button-danger{color:#fff;background:linear-gradient(180deg, #c4463f, var(--red));box-shadow:inset 0 1px #ffffff40,0 10px 22px -10px #ae302b99}.icon-button{width:46px;height:46px;color:var(--ink);background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow-sm);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .18s,background-color .2s;display:inline-flex;position:relative}.icon-button:hover:not(:disabled){background:#fffffff5}.icon-button:active:not(:disabled){transform:scale(.93)}.notification-dot{background:var(--orange);border-radius:50%;width:9px;height:9px;position:absolute;top:10px;right:11px;box-shadow:0 0 0 2px #fffdf8}.text-link{min-height:36px;color:var(--rust);text-align:left;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.text-link:hover{text-underline-offset:4px;text-decoration:underline}.see-all{min-height:36px;color:var(--muted);white-space:nowrap;flex-shrink:0;padding:6px 2px;font-size:15px;font-weight:500}.see-all:hover{color:var(--ink)}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;line-height:1.3;display:inline-flex}.badge i{background:currentColor;border-radius:50%;width:6px;height:6px}.badge-neutral{color:var(--ink-soft);background:#20231f12}.badge-green{color:var(--green);background:#236a501f}.badge-orange{color:#93430e;background:#f47a3d2e}.badge-red{color:var(--red);background:#ae302b1a}.badge-blue{color:var(--rust);background:#a63b101a}.chip-row{scrollbar-width:none;gap:10px;margin:-6px -18px -10px;padding:6px 18px 18px;scroll-padding:0 18px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip{white-space:nowrap;height:44px;color:var(--ink-soft);background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow-sm);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:500;transition:transform .18s,background-color .2s,color .2s;display:inline-flex;position:relative}.chip svg{color:var(--muted)}.chip:active{transform:scale(.96)}.chip[aria-pressed=true]{color:var(--ink);background:linear-gradient(180deg, var(--orange-light), var(--orange) 60%, var(--orange-deep));border-color:#ffffff73;font-weight:600;box-shadow:inset 0 1px #ffffff80,0 8px 16px -9px #d9622ab3}.chip[aria-pressed=true] svg{color:var(--ink)}.search-pill{height:56px;color:var(--muted);background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow-sm);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:999px;align-items:center;gap:12px;padding:0 22px;transition:box-shadow .2s,background-color .2s;display:flex;position:relative}.search-pill:focus-within{box-shadow:var(--glass-shine), 0 0 0 4px #f47a3d29, var(--shadow-sm);background:#fffffff2}.search-pill input{min-width:0;height:100%;color:var(--ink);text-overflow:ellipsis;appearance:none;background:0 0;border:0;outline:0;flex:1;padding:0;font-size:16px}.search-pill input::placeholder{color:var(--muted)}.search-pill input::-webkit-search-decoration{-webkit-appearance:none}.avatar{--avatar-tone:#66685f;letter-spacing:.02em;width:40px;height:40px;color:var(--avatar-tone);background:color-mix(in srgb, var(--avatar-tone) 17%, #fffdf8);border:2px solid #ffffffeb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 2px 6px -2px #20231f47}.avatar-sm{width:34px;height:34px;font-size:11px}.avatar-lg{width:54px;height:54px;font-size:17px}.avatar-xl{border-width:3px;width:88px;height:88px;font-size:28px}.avatar-more{--avatar-tone:#20231f;font-size:11px}.avatar-stack{flex-shrink:0;padding-left:12px;display:inline-flex}.avatar-stack .avatar{margin-left:-12px}.meter{background:#20231f14;border-radius:999px;height:10px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #20231f1a}.meter>span{border-radius:inherit;background:linear-gradient(90deg, #fcd8bf 0%, #f9aa7b 36%, var(--orange) 70%, var(--orange-deep) 100%);height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1);display:block;box-shadow:inset 0 1px #ffffff8c}.app-shell{min-height:100dvh}.app-main{width:100%;max-width:640px;padding:calc(14px + var(--safe-top)) 18px var(--tabbar-space);margin:0 auto}.sidebar{display:none}.preview-pill{color:var(--muted);background:var(--glass);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:20px;align-items:center;gap:8px;margin-bottom:16px;padding:7px 7px 7px 14px;font-size:12.5px;line-height:1.35;display:flex}.preview-pill>i{background:var(--orange);border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 0 3px #f47a3d33}.preview-pill.live>i{background:var(--green);box-shadow:0 0 0 3px #236a502e}.preview-pill strong{color:var(--ink);font-weight:700}.preview-pill>span{flex:1;min-width:0}.preview-short{display:none}.preview-pill button{min-height:32px;color:var(--ink);background:#ffffffe6;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:0 13px;font-size:12.5px;font-weight:600;display:inline-flex;box-shadow:0 1px 3px #20231f24}.header-actions{align-items:center;gap:10px;display:flex}.language-toggle{background:#20231f12;border-radius:999px;align-self:flex-start;gap:2px;padding:3px;display:inline-flex}.language-toggle button{min-width:44px;min-height:32px;color:var(--muted);border-radius:999px;padding:0 12px;font-size:13px;font-weight:600;transition:background-color .2s,color .2s}.language-toggle button[aria-pressed=true]{color:var(--ink);background:#fff;box-shadow:0 1px 4px #20231f29}.page-header{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"back.actions""eyebrow eyebrow eyebrow""title title title""desc desc desc""action action action";align-items:center;column-gap:12px;margin:2px 0 22px;display:grid}.page-header:not(:has(>.page-back)){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"eyebrow actions""title actions""desc desc""action action"}.page-back{grid-area:back}.page-header>.header-actions{grid-area:actions}.page-titles{display:contents}.page-titles .eyebrow{grid-area:eyebrow;margin:18px 0 4px}.page-header:not(:has(>.page-back)) .page-titles .eyebrow{margin-top:0}.page-titles h1{letter-spacing:-.03em;grid-area:title;min-width:0;font-size:32px;font-weight:700;line-height:1.1}.page-header>.page-titles h1:first-child{margin-top:14px}.page-header:not(:has(>.page-back))>.page-titles h1:first-child{margin-top:0}.page-titles p{max-width:640px;color:var(--muted);grid-area:desc;margin-top:10px;font-size:15px;line-height:1.5}.page-action{grid-area:action;display:none}.eyebrow{color:var(--muted);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.bottom-footer{border-top:1px solid var(--hairline);color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:44px;padding:20px 4px 0;font-size:13px;display:flex}.bottom-footer button{color:var(--muted);margin-left:auto;font-size:13px;font-weight:500}.bottom-footer button:hover,.footer-wordmark{color:var(--ink)}.tabbar{z-index:60;left:12px;right:12px;bottom:calc(10px + var(--safe-bottom));border:1px solid var(--glass-edge);max-width:560px;height:76px;box-shadow:var(--glass-shine), var(--shadow-float);-webkit-backdrop-filter:blur(28px)saturate(190%);backdrop-filter:blur(28px)saturate(190%);background:#fffefabd;border-radius:32px;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;margin:0 auto;padding:0 8px;transition:height .34s cubic-bezier(.2,.9,.3,1),max-width .34s cubic-bezier(.2,.9,.3,1);display:grid;position:fixed}.tabbar-item{height:60px;color:var(--muted);border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11.5px;font-weight:500;transition:color .2s;display:flex}.tabbar-item span{max-height:14px;line-height:1.2;transition:opacity .2s,max-height .3s;overflow:hidden}.tabbar-item.active{color:var(--ink);font-weight:650}.tabbar-fab{width:62px;height:62px;color:var(--ink);background:radial-gradient(120% 120% at 30% 18%, #ffb388 0%, var(--orange) 46%, var(--orange-deep) 100%);border:3px solid #ffffffe0;border-radius:50%;justify-self:center;place-items:center;transition:transform .2s,width .34s,height .34s;display:grid;box-shadow:inset 0 1px 1px #fff9,inset 0 -3px 6px #a63b1038,0 12px 24px -8px #d9622acc}.tabbar-fab:active{transform:scale(.92)}.tabbar.is-compact{max-width:430px;height:62px}.tabbar.is-compact .tabbar-item span{opacity:0;max-height:0}.tabbar.is-compact .tabbar-fab{width:52px;height:52px}.app-shell[data-page-sheet] .tabbar{z-index:85}html[data-welcomed] .welcome{display:none!important}.welcome{z-index:95;overscroll-behavior:contain;color:#fff;background:#2d251f;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0;overflow-y:auto}.welcome-body,.welcome-top{animation:.7s cubic-bezier(.2,.9,.3,1) both welcome-rise}.welcome-top{animation-delay:.1s}@keyframes welcome-rise{0%{opacity:0;transform:translateY(22px)}}.welcome-media{position:absolute;inset:0}.welcome-media .roof-art{background-position:56% 40%;height:100%;position:absolute;inset:0}.welcome-media .roof-art:not(:first-child),.welcome-media .roof-art span{display:none}.welcome-media:after{content:"";background:linear-gradient(#18161366 0%,#18161300 22%);position:absolute;inset:0}.welcome-top{z-index:2;top:calc(14px + var(--safe-top));justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;left:18px;right:18px}.welcome-top .brand{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#fffefacc;border:1px solid #ffffffb3;border-radius:999px;padding:8px 14px 8px 10px;box-shadow:0 10px 26px -12px #00000073}.welcome-top .brand-mark{width:30px;height:27px}.welcome-top .brand-wordmark{font-size:26px}.welcome-top .language-toggle{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#fffefa99;border:1px solid #ffffff8c;align-self:center}.welcome-top .language-toggle button{color:var(--ink-soft)}.welcome-body{z-index:1;position:relative}.welcome-copy{padding:0 26px 48px;position:relative}.welcome-copy:before{content:"";z-index:-1;background:linear-gradient(#2d221b00 0%,#2d221b80 40%,#3a2b21b8 100%);position:absolute;inset:-170px 0 0}.welcome-copy h1{letter-spacing:-.035em;text-wrap:balance;text-shadow:0 2px 20px #00000047;font-size:40px;font-weight:700;line-height:1.06}.welcome-copy p{color:#ffffffe0;max-width:420px;margin-top:14px;font-size:18px;line-height:1.45}.welcome-actions{padding:2px 22px calc(18px + var(--safe-bottom));color:var(--ink);background:linear-gradient(#e8dccf 0%,#f0e9df 55%,#f4efe7 100%);position:relative}.welcome-actions:before{content:"";background:linear-gradient(#e8dccf00,#e8dccf);height:46px;position:absolute;bottom:100%;left:0;right:0}.welcome-start{width:100%;min-height:60px;font-size:18px}.welcome-login{text-align:center;color:var(--ink-soft);margin-top:14px;font-size:16px}.welcome-login button{min-height:44px;color:var(--ink);text-underline-offset:3px;padding:0 4px;font-weight:600;text-decoration:underline}.home{gap:18px;display:grid}.home,.home-grid,.task-list,.profile-view,.menu-group,.market-crew-grid,.market-directory-grid,.jobs-list,.notification-list,.document-list,.invoice-list{grid-template-columns:minmax(0,1fr)}.home-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.home-identity{text-align:left;border-radius:999px;align-items:center;gap:12px;min-width:0;padding:0;display:flex}.home-identity>span:last-child{min-width:0}.home-identity small{color:var(--muted);font-size:15px;display:block}.home-identity strong{letter-spacing:-.025em;white-space:nowrap;text-overflow:ellipsis;font-size:22px;font-weight:600;line-height:1.2;display:block;overflow:hidden}.home-identity .avatar,.profile-card .avatar,.rail-avatar .avatar{color:#6b2a0b;background:linear-gradient(150deg,#ffdcc3,#f6a26f)}.date-drawer{background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow-sm);border-radius:22px;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 16px;display:flex}.date-drawer label{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.date-drawer input{min-height:42px;color:var(--ink);background:#fff;border:1px solid #20231f1a;border-radius:14px;padding:6px 12px;font-size:16px}.stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.stat-card{text-align:left;background:var(--glass-strong);border:1px solid var(--glass-edge);min-height:134px;box-shadow:var(--glass-shine), var(--shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:22px;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:64px 14px 14px;transition:transform .18s,background-color .2s;display:flex;position:relative}.stat-card:hover{background:#ffffffeb}.stat-card:active{transform:scale(.97)}.stat-icon{width:42px;height:42px;color:var(--ink);background:#fffc;border:1px solid #20231f0f;border-radius:14px;place-items:center;display:grid;position:absolute;top:12px;right:12px;box-shadow:0 1px 3px #20231f14}.stat-card strong{letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:600;line-height:1.1}.stat-card>span:last-child{color:var(--muted);margin-top:4px;font-size:14px}.section-row{justify-content:space-between;align-items:baseline;gap:12px;margin:4px 2px 12px;display:flex}.section-row h2,.section-row h3{letter-spacing:-.025em;font-size:20px;font-weight:600}.section-row .market-count{margin-top:2px}.home-grid{grid-template-areas:"active""upcoming""crews";gap:24px;display:grid}.home-active{grid-area:active}.home-upcoming{grid-area:upcoming}.home-crews{grid-area:crews;min-width:0}.project-card{background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--shadow);border-radius:28px;position:relative;overflow:hidden}.project-card-media{text-align:left;width:100%;height:212px;padding:0;display:block;position:relative;overflow:hidden}.project-card-media .roof-art{height:auto;transition:transform .6s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.project-card-media:hover .roof-art{transform:scale(1.035)}.project-card-media:after{content:"";background:linear-gradient(#faf7f0f2 0%,#faf7f0bf 24%,#faf7f000 56%);position:absolute;inset:0}.project-card-titles{z-index:1;position:absolute;top:18px;left:20px;right:20px}.project-card-titles strong{letter-spacing:-.025em;color:var(--ink);font-size:20px;font-weight:600;display:block}.project-card-titles small{color:var(--ink-soft);margin-top:4px;font-size:14px;display:block}.project-card-stage{z-index:1;color:var(--ink);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#fffefacc;border:1px solid #ffffffb3;border-radius:999px;padding:7px 13px;font-size:12.5px;font-weight:600;position:absolute;bottom:40px;right:14px;box-shadow:0 6px 18px -8px #20231f73}.project-card-panel{z-index:1;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#fffefae0;border-radius:26px 26px 0 0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:22px;margin-top:-26px;padding:18px 20px;display:grid;position:relative;box-shadow:inset 0 1px #fffffff2}.project-card-progress strong{letter-spacing:-.035em;font-size:30px;font-weight:600;line-height:1.05;display:block}.project-card-progress span{color:var(--muted);font-size:14px}.project-card-meter>div{color:var(--ink-soft);justify-content:space-between;gap:8px;margin-top:10px;font-size:14px;display:flex}.task-list{gap:10px;display:grid}.task-row{text-align:left;background:var(--glass-strong);border:1px solid var(--glass-edge);width:100%;box-shadow:var(--glass-shine), var(--shadow-sm);border-radius:22px;align-items:center;gap:12px;padding:12px 14px 12px 12px;transition:transform .18s,background-color .2s;display:flex}.task-row:hover{background:#fffffff0}.task-row:active{transform:scale(.985)}.task-date{background:#fff;border:1px solid #20231f0f;border-radius:50%;flex-shrink:0;align-content:center;place-items:center;width:50px;height:50px;display:grid;box-shadow:0 2px 6px -2px #20231f2e}.task-date small{letter-spacing:.05em;text-transform:uppercase;color:var(--orange-deep);font-size:10px;font-weight:700;line-height:1}.task-date strong{letter-spacing:-.02em;font-size:19px;font-weight:600;line-height:1.05}.task-text{flex:1;gap:2px;min-width:0;display:grid}.task-text strong{letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;overflow:hidden}.task-text small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.task-status b{color:var(--ink);font-weight:600}.task-status-green{color:var(--green)!important}.task-status-orange{color:#9a4612!important}.task-status-red{color:var(--red)!important}.task-chevron{color:var(--faint)}.task-empty{text-align:center;color:var(--muted);background:var(--glass);border:1px solid var(--glass-edge);border-radius:22px;justify-items:center;gap:6px;padding:24px 18px;font-size:13px;line-height:1.5;display:grid}.task-empty p{color:var(--ink);font-size:15px;font-weight:600}.market-crew-grid,.market-directory-grid{gap:12px;display:grid}.crew-v2-wrap{min-width:0;container:crew/inline-size}.crew-v2{background:var(--glass-strong);border:1px solid var(--glass-edge);min-width:0;box-shadow:var(--glass-shine), var(--shadow-sm);border-radius:24px;grid-template-columns:104px minmax(0,1fr);align-items:start;gap:14px;padding:12px;display:grid;position:relative}.crew-v2-cover{text-align:left;background:var(--soft);border-radius:18px;width:100%;height:104px;padding:0;display:block;position:relative;overflow:hidden}.crew-v2-cover>img,.crew-v2-cover>.roof-art{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.crew-v2-cover:hover>img,.crew-v2-cover:hover>.roof-art{transform:scale(1.05)}.crew-v2-sample{text-align:center;color:#fff;-webkit-backdrop-filter:blur(10px)saturate(160%);backdrop-filter:blur(10px)saturate(160%);background:#20231f73;border-radius:999px;padding:3px 6px;font-size:9.5px;font-weight:600;position:absolute;bottom:6px;left:6px;right:6px}.crew-v2-body{grid-template-columns:minmax(0,1fr) auto;gap:16px;min-width:0;display:grid}.crew-v2-details{min-width:0}.crew-v2-title-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.crew-v2-title-row>div:first-child{min-width:0}.crew-v2-company{color:var(--muted);font-size:12.5px;font-weight:500;line-height:1.3}.crew-v2-name{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:18px;font-weight:600;line-height:1.25}.crew-v2-marks{flex-shrink:0;align-items:center;gap:2px;display:flex}.crew-v2-rating{background:#f47a3d21;border-radius:999px;align-items:center;gap:4px;padding:5px 9px;font-size:12.5px;font-weight:700;display:inline-flex}.crew-v2-rating svg{width:13px;color:var(--orange-deep)}.crew-v2-rating small{color:var(--muted);font-weight:500}.crew-v2-location{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;font-size:13px;display:flex}.crew-v2-location svg{display:none}.crew-v2-specs{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.crew-v2-specs>span{color:var(--ink-soft);background:#20231f0f;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500}.crew-v2-status{flex-wrap:wrap;align-items:center;gap:4px 14px;display:flex}.crew-v2-availability{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;font-weight:500;display:inline-flex}.crew-v2-availability>span{background:var(--faint);border-radius:50%;flex-shrink:0;width:7px;height:7px}.crew-v2-availability.has-date{color:var(--green)}.crew-v2-availability.has-date>span{background:#2e8962;box-shadow:0 0 0 3px #236a5029}.crew-v2-coverage{color:var(--muted);align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.crew-v2-coverage svg{width:13px;height:13px}.crew-v2-coverage.is-verified{color:var(--green)}.crew-v2-extras{text-align:left;max-width:100%;min-height:28px;color:var(--rust);align-items:center;gap:6px;margin-top:4px;padding:0;font-size:12.5px;font-weight:500;display:flex}.crew-v2-extras>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.crew-v2-extras:hover{text-underline-offset:3px;text-decoration:underline}.crew-v2-description{max-width:640px;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 8px;font-size:13.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.crew-v2-footer{flex-direction:column;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.crew-v2-rate{letter-spacing:-.025em;text-align:right;white-space:nowrap;font-size:21px;font-weight:600}.crew-v2-rate strong{font-weight:600}.crew-v2-rate>span{letter-spacing:0;color:var(--muted);margin-left:3px;font-size:12.5px;font-weight:500}.crew-v2-action{white-space:nowrap;min-height:40px;color:var(--ink);background:#ffffffeb;border:1px solid #20231f14;border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:600;transition:transform .18s,background-color .2s;display:inline-flex;box-shadow:0 1px 3px #20231f1a}.crew-v2-action:hover{background:#fff}.crew-v2-action:active{transform:scale(.96)}.crew-v2-action svg{width:15px}@container crew (max-width:559px){.crew-v2{grid-template-columns:78px minmax(0,1fr);gap:10px 12px;padding:12px}.crew-v2-cover{border-radius:16px;height:78px}.crew-v2-body,.crew-v2-details{display:contents}.crew-v2-cover{grid-area:1/1}.crew-v2-title-row{flex-direction:column;grid-area:1/2;align-self:center;gap:6px}.crew-v2-marks{margin-left:-6px}.crew-v2-facts,.crew-v2-description,.crew-v2-status,.crew-v2-extras{grid-column:1/-1}.crew-v2-specs{margin:6px 0 4px}.crew-v2-sample{border-radius:9px;padding:3px 4px;font-size:8.5px;line-height:1.15;bottom:4px;left:4px;right:4px}.crew-v2-footer{border-top:1px solid var(--hairline);flex-direction:row;grid-column:1/-1;align-items:center;margin-top:2px;padding-top:10px}.crew-v2-rate{text-align:left}.crew-v2-action{min-height:44px}}@container crew (min-width:400px) and (max-width:559px){.crew-v2{grid-template-columns:96px minmax(0,1fr);gap:12px 14px;padding:14px}.crew-v2-cover{border-radius:18px;height:96px}.crew-v2-sample{padding:3px 6px;font-size:9.5px}}.crew-extras-list{margin:12px 0 0;padding:0;list-style:none}.crew-extras-list>li{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:flex-start;gap:18px;padding:14px 0;display:flex}.crew-extras-list>li:last-child{border-bottom:0}.crew-extra-info{min-width:0}.crew-extra-info>strong{overflow-wrap:anywhere;font-size:15px;font-weight:600}.crew-extra-status{color:var(--green);margin-top:3px;font-size:12px;display:block}.crew-extra-info>p{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:6px;font-size:13px;line-height:1.6}.crew-extra-rate{overflow-wrap:anywhere;text-align:right;flex-shrink:0;max-width:48%;padding-top:2px;font-size:14px;font-weight:600}.crew-extra-rate>small{color:var(--muted);margin-top:3px;font-size:12px;font-weight:400;display:block}.crew-extras-unit-note{margin-top:8px;line-height:1.6;font-size:12px!important}.crew-extras-list>.is-unavailable .crew-extra-status{color:var(--muted)}.request-extras-reference{margin:4px 0 20px;font-size:14px}.request-extras-reference>summary{cursor:pointer;min-height:44px;color:var(--rust);padding:12px 0;font-weight:600}.request-extras-reference .crew-extras{border-top:0;margin-top:0;padding-top:4px}.crew-addons-editor{border-top:1px solid var(--hairline);margin-top:4px;padding-top:18px}.crew-addons-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.crew-addons-heading h3{font-size:18px;font-weight:600}.crew-addons-heading>span{color:var(--muted);flex-shrink:0;font-size:12px}.crew-addons-heading p{color:var(--muted);margin-top:6px;font-size:13.5px;line-height:1.6}.crew-addons-actions{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.crew-addons-actions .button{min-height:44px;padding:0 14px;font-size:13.5px}.crew-addon-edit{border-top:1px solid var(--hairline);padding:16px 0}.crew-addon-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.crew-addon-heading h4,.crew-addon-heading strong{font-size:14.5px;font-weight:600}.crew-addon-heading .button{min-height:36px;padding:0 12px;font-size:13px}.crew-addon-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.crew-addon-notes,.crew-addon-availability{grid-column:1/-1}.crew-addon-notes textarea{min-height:68px}.crew-addon-availability{align-items:center;gap:9px;min-height:44px;font-size:14px;display:flex}.crew-addon-availability input{flex-shrink:0;width:18px;height:18px}.location-quote-scope{white-space:pre-wrap;overflow-wrap:anywhere}.market-search{background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow-sm);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:28px;grid-template-columns:1.5fr 1fr .9fr;gap:6px;margin-bottom:14px;padding:6px;display:grid}.market-search-field{border-radius:22px;align-items:center;gap:12px;min-width:0;padding:8px 16px;transition:background-color .2s,box-shadow .2s;display:flex}.market-search-field:focus-within{background:#fff;box-shadow:0 2px 10px -3px #20231f2e}.market-search-field>svg{width:20px;color:var(--muted)}.market-search-field>span{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.market-search-label{color:var(--muted);font-size:12px;font-weight:600}.market-search input,.market-search select{width:100%;min-width:0;min-height:26px;color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-size:15.5px}.market-search select{appearance:none;background:transparent var(--chevron) right center / 13px no-repeat;padding-right:20px}.market-search input::placeholder{color:var(--muted)}.market-search-toggle{display:none}.market-directory-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.market-directory-tools>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.market-directory-tools .button{min-height:40px;padding:0 14px;font-size:13.5px}.market-filter-toggle,.market-rating-filter{min-height:40px;color:var(--ink-soft);background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine);border-radius:999px;align-items:center;gap:7px;padding:0 14px;font-size:13.5px;font-weight:500;display:inline-flex}.market-filter-toggle input{width:16px;height:16px}.market-rating-filter svg{color:var(--orange-deep)}.market-rating-filter select,.market-directory-tools select{min-height:32px;color:var(--ink);appearance:none;background:transparent var(--chevron) right center / 12px no-repeat;border:0;padding:0 18px 0 0;font-size:13.5px}.market-count{color:var(--muted);font-size:13px;line-height:1.5}.market-count strong{color:var(--ink)}.market-clear{min-height:36px;color:var(--rust);padding:0 4px;font-size:13.5px;font-weight:600}.market-empty{background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine);border-radius:26px}.market-browse-all{width:100%;min-height:50px;color:var(--ink);background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow-sm);border-radius:999px;justify-content:center;align-items:center;gap:8px;margin-top:12px;font-size:15px;font-weight:600;display:flex}.market-browse-all:hover{background:#fff}.job-filters{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.job-filters .chip-row{flex:1;min-width:0}.small-label{color:var(--muted);white-space:nowrap;font-size:13px}.filters{flex-wrap:wrap;gap:12px;margin-bottom:18px;display:flex}.filters .search-pill{flex:1;min-width:220px;height:52px}.jobs-list{gap:14px;display:grid}.job-card{background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow);border-radius:28px;overflow:hidden}.job-card-media{width:100%;height:152px;padding:0;display:block;position:relative;overflow:hidden}.job-card-media .roof-art{height:auto;transition:transform .6s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.job-card-media:hover .roof-art{transform:scale(1.035)}.job-card-media:after{content:"";background:linear-gradient(#18161352 0%,#18161300 45%);position:absolute;inset:0}.job-card-media .job-number{z-index:1;letter-spacing:.04em;color:#fff;-webkit-backdrop-filter:blur(14px)saturate(160%);backdrop-filter:blur(14px)saturate(160%);background:#20231f61;border:1px solid #ffffff40;border-radius:999px;padding:6px 11px;font-size:11.5px;font-weight:600;position:absolute;top:12px;left:12px}.job-card-media .badge{z-index:1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffefadb;position:absolute;top:12px;right:12px;box-shadow:0 4px 14px -6px #20231f66}.job-card-body{padding:16px 18px 18px}.job-card h3{letter-spacing:-.02em;font-size:19px;font-weight:600;line-height:1.3}.location{color:var(--muted);align-items:center;gap:5px;margin-top:4px;font-size:13.5px;display:flex}.job-card-specs{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.job-card-specs span{color:var(--ink-soft);background:#20231f0e;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:13px;font-weight:500;display:inline-flex}.job-card-scope{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.job-card-progress{color:var(--ink-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:14px 0 0;font-size:13px;font-weight:500;display:grid}.job-card-footer{border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:14px;padding-top:14px;display:flex}.job-card-price{letter-spacing:-.025em;font-size:24px;font-weight:600}.job-card-price small{letter-spacing:0;color:var(--muted);margin-top:2px;font-size:12.5px;font-weight:400;display:block}.job-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.job-card-actions .button{min-height:40px;padding:0 14px;font-size:13.5px}.calendar-toolbar{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:16px;display:flex}.calendar-toolbar h2{letter-spacing:-.025em;margin-right:auto;font-size:22px;font-weight:600}.calendar-toolbar .button{min-height:44px;padding:0 18px}.week-heading{color:var(--ink-soft);background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow-sm);border-radius:999px;align-items:center;gap:4px;padding:4px;font-size:14px;font-weight:500;display:flex}.week-heading button{border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.week-heading button:hover{background:#fff}.calendar-full{background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow);border-radius:28px;padding:14px;overflow-x:auto}.calendar-head,.calendar-row{grid-template-columns:190px repeat(7,minmax(54px,1fr));align-items:center;gap:8px;display:grid}.calendar-head{border-bottom:1px solid var(--hairline);padding:4px 0 12px}.calendar-head>span{text-align:center;color:var(--muted);font-size:12px;font-weight:500}.calendar-head>span:first-child{text-align:left;padding-left:6px}.calendar-head strong{width:38px;height:38px;color:var(--ink);border-radius:50%;place-items:center;margin:6px auto 0;font-size:18px;font-weight:600;display:grid}.calendar-head .today{color:var(--orange-deep)}.calendar-head .today strong{color:var(--ink);background:linear-gradient(180deg, var(--orange-light), var(--orange));box-shadow:var(--orange-glow)}.calendar-row{border-bottom:1px solid var(--hairline);padding:10px 0}.calendar-row:last-child{border-bottom:0}.calendar-crew{text-align:left;align-items:center;gap:10px;min-width:0;padding:0;font-size:14px;font-weight:600;display:flex}.calendar-crew>span:last-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.calendar-crew small{color:var(--muted);margin-top:2px;font-size:12px;font-weight:400;display:block}.calendar-slot{min-height:46px;color:var(--green);background:#236a501a;border-radius:14px;font-size:12px;font-weight:600;transition:transform .15s,filter .15s}.calendar-slot:hover{filter:brightness(.97)}.calendar-slot:active{transform:scale(.94)}.calendar-slot.booked{color:var(--ink);background:linear-gradient(180deg, var(--orange-light), var(--orange));box-shadow:inset 0 1px #ffffff73}.calendar-slot.blocked{color:var(--faint);background:repeating-linear-gradient(135deg,#20231f0d 0 6px,#20231f1c 6px 7px)}.calendar-slot.unknown{color:var(--muted);background:#ffffff8c;border:1px dashed #20231f38}.calendar-legend{color:var(--muted);flex-wrap:wrap;gap:10px 18px;margin-top:16px;font-size:13px;display:flex}.calendar-legend>span{align-items:center;gap:7px;display:inline-flex}.calendar-legend i{background:var(--orange);border-radius:4px;width:12px;height:12px}.calendar-legend i.open{background:#236a5047}.calendar-legend i.off{background:#20231f29}.calendar-note{max-width:820px;color:var(--muted);margin-top:14px;font-size:14px;line-height:1.7}.messages-layout{grid-template-columns:300px minmax(0,1fr);gap:14px;min-height:560px;display:grid}.threads{background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow-sm);border-radius:28px;flex-direction:column;align-self:start;gap:4px;padding:10px;display:flex}.threads-heading{color:var(--muted);padding:8px 12px;font-size:13px;font-weight:600}.thread{text-align:left;border-radius:18px;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:background-color .2s;display:flex}.thread:hover{background:#fff9}.thread.active{background:#fff;box-shadow:0 2px 10px -3px #20231f2e}.thread strong{font-size:14.5px;font-weight:600;display:block}.thread small{color:var(--muted);margin-top:2px;font-size:12.5px;line-height:1.4;display:block}.conversation{background:var(--glass-strong);border:1px solid var(--glass-edge);min-width:0;box-shadow:var(--glass-shine), var(--shadow);border-radius:28px;flex-direction:column;display:flex;overflow:hidden}.conversation-header{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.conversation-header h3{letter-spacing:-.015em;font-size:17px;font-weight:600}.conversation-header p{color:var(--muted);margin-top:2px;font-size:13px}.conversation-header .text-link{white-space:nowrap;flex-shrink:0}.message-stream{flex-direction:column;flex:1;gap:14px;max-height:520px;padding:20px;display:flex;overflow-y:auto}.message-bubble{align-self:flex-start;max-width:82%}.message-bubble strong{color:var(--muted);margin:0 0 5px 8px;font-size:12px;font-weight:600;display:block}.message-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border-radius:22px 22px 22px 8px;padding:12px 16px;font-size:15px;line-height:1.5;box-shadow:0 1px 3px #20231f14}.message-bubble small{color:var(--faint);margin:5px 0 0 8px;font-size:11.5px;display:block}.message-bubble.mine{align-self:flex-end}.message-bubble.mine strong,.message-bubble.mine small{text-align:right;margin-right:8px}.message-bubble.mine p{background:linear-gradient(#ffdcc4,#fbc7a2);border-radius:22px 22px 8px}.message-compose{border-top:1px solid var(--hairline);align-items:flex-end;gap:8px;padding:12px;display:flex}.message-compose textarea{min-width:0;height:46px;min-height:46px;max-height:160px;color:var(--ink);resize:vertical;background:#ffffffe0;border:1px solid #20231f1a;border-radius:23px;flex:1;padding:12px 16px;font-size:16px}.message-compose textarea:focus{border-color:#d9622a99;outline:0;box-shadow:0 0 0 4px #f47a3d26}.message-compose .button{min-height:46px;padding:0 18px}.attachment-link{color:var(--rust);align-items:center;gap:5px;margin-top:8px;font-size:13px;text-decoration:underline;display:flex}.pending-attachments{color:var(--muted);flex-wrap:wrap;gap:8px;padding:10px 16px 0;font-size:12.5px;display:flex}.pending-attachments span{background:#20231f0f;border-radius:999px;padding:4px 10px}.pending-attachments button{margin-left:auto;font-size:12.5px;text-decoration:underline}.conversation>.form-help{padding:0 16px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin:0 0 14px;display:flex}.section-heading h2{letter-spacing:-.025em;font-size:20px;font-weight:600}.document-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.document-card{background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow-sm);border-radius:26px;padding:20px}.doc-symbol{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.doc-symbol>svg,.integration-item>svg,.stat-top svg{box-sizing:content-box;background:#fff;border-radius:14px;padding:10px;box-shadow:0 2px 6px -2px #20231f33}.doc-symbol>svg{width:24px;height:24px}.document-card h3{letter-spacing:-.015em;margin-bottom:6px;font-size:18px;font-weight:600}.document-card p{color:var(--muted);font-size:13.5px;line-height:1.6}.document-card dl{background:#20231f0b;border-radius:16px;grid-template-columns:1fr auto;gap:8px 12px;margin:16px 0;padding:12px 14px;font-size:13px;display:grid}.document-card dt{color:var(--muted)}.document-card dd{text-align:right;margin:0;font-weight:500}.upload-zone{text-align:center;color:var(--muted);background:#fffefa80;border:1.5px dashed #20231f33;border-radius:28px;margin:22px 0;padding:28px 20px}.upload-zone>svg{color:var(--orange-deep)}.upload-zone h3{letter-spacing:-.02em;color:var(--ink);margin:12px 0 8px;font-size:20px;font-weight:600}.upload-zone p{max-width:620px;margin:auto;font-size:14px;line-height:1.65}.upload-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:18px;display:flex}.upload-controls select{min-height:46px;color:var(--ink);appearance:none;background:#fff var(--chevron) right 14px center / 14px no-repeat;border:1px solid #20231f1a;border-radius:999px;padding:0 40px 0 16px;font-size:15px}.upload-controls input{max-width:260px;font-size:13px}.document-list{gap:10px;margin:18px 0;display:grid}.document-list-item{background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine);border-radius:22px;align-items:center;gap:12px;padding:12px 14px;display:flex}.document-list-item p{font-size:14.5px;font-weight:500}.document-list-item small{color:var(--muted);margin-top:2px;font-size:12.5px;display:block}.document-list-item .badge{margin-left:auto}.document-list-item .icon-button{width:40px;height:40px}.integration-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.integration-item{background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow-sm);border-radius:24px;align-items:flex-start;gap:12px;padding:16px;display:flex}.integration-item>svg{width:20px;height:20px;color:var(--ink-soft)}.integration-item>div{flex:1;min-width:0}.integration-item h3{margin-bottom:4px;font-size:15px;font-weight:600}.integration-item p{color:var(--muted);font-size:13px;line-height:1.55}.integration-item .badge{margin-left:auto}.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:26px;display:grid}.stat{background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow-sm);border-radius:24px;padding:16px}.stat-top{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.stat-top svg{width:18px;height:18px;color:var(--ink)}.stat-number{letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin:10px 0 4px;font-size:32px;font-weight:600}.stat-note{color:var(--muted);font-size:12.5px;line-height:1.5}.board{background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow-sm);border-radius:26px;overflow:hidden}.admin-issue{border-bottom:1px solid var(--hairline);align-items:center;gap:14px;padding:16px 18px;display:flex}.admin-issue:last-child{border:0}.admin-issue>div{flex:1}.admin-issue h3{font-size:16px;font-weight:600}.admin-issue p{color:var(--muted);margin-top:6px;font-size:13.5px;line-height:1.6}.profile-view{gap:16px;display:grid}.profile-card{text-align:center;background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow);border-radius:30px;justify-items:center;gap:12px;padding:26px 20px 22px;display:grid}.profile-card h2{letter-spacing:-.025em;font-size:24px;font-weight:700}.profile-card p{color:var(--muted);margin-top:4px;font-size:15px}.profile-card small{color:var(--muted);margin-top:4px;font-size:13px;display:block}.menu-group{background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow-sm);border-radius:26px;gap:2px;padding:6px;display:grid}.menu-row{text-align:left;width:100%;min-height:56px;color:var(--ink);border-radius:20px;align-items:center;gap:14px;padding:8px 12px 8px 8px;font-size:16px;font-weight:500;transition:background-color .2s;display:flex}button.menu-row:hover{background:#fffc}button.menu-row:active{background:#20231f0d}.menu-icon{width:40px;height:40px;color:var(--ink);background:#fff;border-radius:13px;flex-shrink:0;place-items:center;display:grid;box-shadow:0 2px 6px -2px #20231f33}.menu-label{flex:1;min-width:0}.menu-chevron{color:var(--faint)}.menu-count{min-width:24px;height:24px;color:var(--ink);background:var(--orange);border-radius:999px;place-items:center;padding:0 8px;font-size:12px;font-weight:700;display:grid}.menu-row-danger,.menu-row-danger .menu-icon{color:var(--red)}.menu-row-static .language-toggle{align-self:center}.modal-backdrop{z-index:70;-webkit-backdrop-filter:blur(8px)saturate(120%);backdrop-filter:blur(8px)saturate(120%);background:#20231f4d;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out fade-in;display:flex;position:fixed;inset:0}.modal{overscroll-behavior:contain;width:min(100%,580px);max-height:calc(100dvh - 48px);box-shadow:var(--glass-shine), 0 32px 80px -22px #20231f80;-webkit-backdrop-filter:blur(40px)saturate(180%);backdrop-filter:blur(40px)saturate(180%);background:#faf8f2eb;border:1px solid #ffffffc7;border-radius:32px;padding:26px;animation:.34s cubic-bezier(.2,.9,.3,1.1) modal-in;position:relative;overflow-y:auto}.modal:focus{outline:none}.modal-wide{width:min(100%,820px)}.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.modal-header h2{letter-spacing:-.03em;font-size:26px;font-weight:700;line-height:1.15}.modal-header .icon-button{width:40px;height:40px;color:var(--ink-soft);margin:-4px -6px 0 0}.modal-footer{border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;padding-top:18px;display:flex}.modal-footer>.form-help{align-items:center;gap:7px;max-width:320px;margin-right:auto;display:flex}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(18px)scale(.97)}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes page-in{0%{opacity:0;transform:translate(24%)}}@keyframes menu-in{0%{opacity:0;transform:scale(.9)}}.page-sheet{background:#f5f2eaf2;width:min(100%,880px);padding:0}.page-hero{border-radius:31px 31px 0 0;height:330px;position:relative;overflow:hidden}.page-hero-media{position:absolute;inset:0}.page-hero-media>.roof-art,.page-hero-media>img,.page-hero-media>.no-photo{object-fit:cover;width:100%;height:100%}.page-hero-media:after{content:"";pointer-events:none;background:linear-gradient(#faf7f0eb 0%,#faf7f099 22%,#faf7f000 48%);position:absolute;inset:0}.page-hero-bar{z-index:2;padding:calc(16px + var(--safe-top)) 16px 0;grid-template-columns:48px minmax(0,1fr) 48px;align-items:start;gap:10px;display:grid;position:absolute;top:0;left:0;right:0}.page-hero-bar .icon-button{width:48px;height:48px}.page-hero-title{text-align:center;min-width:0;padding-top:2px}.page-hero-title h2{letter-spacing:-.025em;text-wrap:balance;font-size:21px;font-weight:600;line-height:1.2}.page-hero-title p{color:var(--ink-soft);margin-top:4px;font-size:14px}.page-hero-spacer{width:48px}.page-body{z-index:1;-webkit-backdrop-filter:blur(30px)saturate(180%);backdrop-filter:blur(30px)saturate(180%);background:#faf8f2e6;border-radius:30px 30px 0 0;min-height:320px;margin-top:-32px;padding:6px 22px 26px;position:relative;box-shadow:inset 0 1px #fffffff2,0 -12px 30px -18px #20231f4d}.more-menu{position:relative}.more-menu-list{z-index:5;border:1px solid var(--glass-edge);min-width:220px;box-shadow:var(--glass-shine), var(--shadow-float);transform-origin:100% 0;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#fffefae6;border-radius:22px;padding:6px;animation:.2s cubic-bezier(.2,.9,.3,1.2) menu-in;display:grid;position:absolute;top:calc(100% + 8px);right:0}.more-menu-list button{text-align:left;border-radius:16px;align-items:center;gap:10px;min-height:46px;padding:0 12px;font-size:15px;font-weight:500;display:flex}.more-menu-list button:hover{background:#20231f0f}.sheet-tabs{scrollbar-width:none;border-bottom:1px solid var(--hairline);gap:4px;margin:0 -8px 16px;padding:8px 8px 0;display:flex;overflow-x:auto}.sheet-tabs::-webkit-scrollbar{display:none}.sheet-tabs button{white-space:nowrap;min-height:50px;color:var(--muted);flex:1 0 auto;padding:0 10px;font-size:16px;font-weight:500;position:relative}.sheet-tabs button[aria-selected=true]{color:var(--ink);font-weight:600}.sheet-tabs button[aria-selected=true]:after{content:"";background:var(--orange-deep);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:20%;right:20%}.sheet-tabs button span{min-width:20px;height:20px;color:var(--ink-soft);background:#20231f14;border-radius:999px;place-items:center;margin-left:6px;padding:0 6px;font-size:11.5px;font-weight:700;display:inline-grid}.sheet-summary{box-shadow:var(--shadow-sm);background:#ffffffb8;border:1px solid #ffffffd9;border-radius:24px;grid-template-columns:auto minmax(128px,1fr);align-items:center;gap:22px;margin-bottom:14px;padding:16px 18px;display:grid}.sheet-summary strong{letter-spacing:-.035em;font-size:30px;font-weight:600;line-height:1.05;display:block}.sheet-summary>div:first-child span{color:var(--muted);font-size:13.5px}.sheet-summary-meter>div:last-child{color:var(--ink-soft);justify-content:space-between;gap:8px;margin-top:10px;font-size:14px;display:flex}.sheet-summary-meter>div:last-child>:last-child{flex:none}.sheet-footer{border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;padding-top:16px;display:flex}.sheet-footer>.form-help{align-items:center;gap:7px;margin:0 auto 0 0;display:flex}.detail-row{background:linear-gradient(#fffc,#fbe8da80);border:1px solid #fffc;border-radius:22px;align-items:center;gap:14px;padding:12px 14px;display:flex}.detail-icon{width:46px;height:46px;color:var(--ink-soft);background:#fff;border-radius:50%;flex-shrink:0;place-items:center;display:grid;box-shadow:0 2px 6px -2px #20231f33}.detail-row strong{letter-spacing:-.01em;font-size:15.5px;font-weight:600;display:block}.detail-row small{color:var(--muted);margin-top:2px;font-size:13px;display:block}.detail-meta{color:var(--muted);align-items:center;gap:6px;font-size:14px;display:flex}.detail-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.detail-stats>div{min-width:0;box-shadow:var(--shadow-sm);background:#ffffffb8;border:1px solid #ffffffd9;border-radius:20px;padding:14px}.detail-stats strong{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:22px;font-weight:600;line-height:1.15;display:block}.detail-stats span{color:var(--muted);margin-top:4px;font-size:12.5px;line-height:1.4;display:block}.dialog-section{border-top:1px solid var(--hairline);margin-top:18px;padding-top:18px}[role=tabpanel].dialog-section{border-top:0;margin-top:0;padding-top:2px}.dialog-section h3{letter-spacing:-.02em;margin-bottom:10px;font-size:18px;font-weight:600}.dialog-section>p{color:var(--ink-soft);margin:8px 0;font-size:14.5px;line-height:1.65}.dialog-section>.field{margin-bottom:16px}.tag-row{flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0;display:flex}.button-row,.profile-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.profile-actions{margin-top:24px}.button-row .button,.profile-actions .button{min-height:42px;padding:0 16px;font-size:14px}.credential-row{border-bottom:1px solid var(--hairline);align-items:flex-start;gap:12px;padding:14px 0;display:flex}.credential-row:last-child{border:0}.credential-row>svg{color:var(--muted);margin-top:2px}.credential-row>div{flex:1}.credential-row strong{font-size:14.5px;font-weight:600}.credential-row small{color:var(--muted);margin-top:4px;font-size:12.5px;line-height:1.5;display:block}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.portfolio-grid>div{min-width:0}.portfolio-grid img,.portfolio-grid .roof-art{object-fit:cover;border-radius:18px;width:100%;height:140px}.portfolio-grid small{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.4;display:block}.portfolio-grid .button{width:100%;min-height:40px;margin-top:4px;padding:0 10px;font-size:13.5px}.review-card{border-bottom:1px solid var(--hairline);padding:16px 0}.review-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:8px;display:flex}.review-heading strong{font-size:15px;font-weight:600}.review-heading>span{color:var(--orange-deep);gap:3px;display:flex}.review-card p{color:var(--ink-soft);margin-top:10px;font-size:14.5px;line-height:1.7}.review-card blockquote{color:var(--muted);background:#20231f0b;border-radius:18px;margin:12px 0 0;padding:12px 16px;font-size:13.5px;line-height:1.7}.offer-card{box-shadow:var(--shadow-sm);background:#ffffffc7;border:1px solid #ffffffe6;border-radius:24px;margin:12px 0;padding:16px}.offer-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.offer-heading strong{letter-spacing:-.025em;white-space:nowrap;font-size:24px;font-weight:600}.offer-heading .text-link{font-size:16px}.offer-card>p{white-space:pre-wrap;color:var(--ink-soft);margin:8px 0;font-size:14px;line-height:1.65}.offer-card>small{color:var(--muted);font-size:12.5px;line-height:1.7;display:block}.offer-card details{color:var(--muted);margin-top:14px;font-size:13px;line-height:1.7}.offer-card summary{cursor:pointer;font-weight:600}.offer-card details p{border-bottom:1px solid var(--hairline);padding:8px 0}.offer-card .button-row{border-top:1px solid var(--hairline);padding-top:14px}.notification-list{gap:10px;display:grid}.notification-item{box-shadow:var(--shadow-sm);background:#ffffffbd;border:1px solid #ffffffe6;border-radius:22px;flex-wrap:wrap;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.notification-item.unread{box-shadow:inset 4px 0 0 var(--orange), var(--shadow-sm)}.notification-item>div{flex:1;min-width:200px}.notification-item strong{font-size:15px;font-weight:600}.notification-item p{color:var(--muted);margin-top:6px;font-size:13.5px;line-height:1.65}.notification-item small{color:var(--muted);margin-top:6px;font-size:12px;display:block}.notification-item .button-row{margin-top:0}.notification-item.read{opacity:.65}.field{min-width:0;color:var(--muted);flex-direction:column;gap:7px;font-size:14px;display:flex}.field>span{color:var(--ink-soft);font-size:13px;font-weight:600}.field input:not([type=checkbox]):not([type=radio]):not([type=file]),.field select,.field textarea{width:100%;min-height:50px;color:var(--ink);font-family:var(--body);background-color:#ffffffc7;border:1px solid #20231f1c;border-radius:15px;padding:12px 15px;font-size:16px;transition:border-color .15s,box-shadow .15s,background-color .15s;box-shadow:inset 0 1px 2px #20231f0a}.field select{appearance:none;background-image:var(--chevron);background-position:right 15px center;background-repeat:no-repeat;background-size:14px;padding-right:42px}.field input:focus,.field select:focus,.field textarea:focus{background-color:#fff;border-color:#d9622ab3;outline:0;box-shadow:0 0 0 4px #f47a3d29}.field input::placeholder,.field textarea::placeholder{color:var(--faint)}.field textarea{resize:vertical;min-height:104px;line-height:1.6}.field small{color:var(--muted);font-size:12.5px;line-height:1.6}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.span-2{grid-column:1/-1}.field-divider{border-top:1px solid var(--hairline);color:var(--ink);grid-column:1/-1;margin-top:6px;padding-top:16px;font-size:15px;font-weight:600}.field-divider h3{margin-bottom:4px;font-size:17px;font-weight:600}.field-divider p,.form-help{color:var(--muted);margin-top:6px;font-size:13px;font-weight:400;line-height:1.6}.form-help+.field{margin-top:14px}.notice{color:var(--ink-soft);background:var(--glass);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:18px;align-items:flex-start;gap:10px;margin:16px 0;padding:13px 15px;font-size:13.5px;line-height:1.6;display:flex}.notice>svg{color:var(--orange-deep);margin-top:2px}.notice-error{color:#8a2a23;background:#fbe7e3e0}.notice-error>svg{color:var(--red)}.notice-success{color:var(--green);background:#e1eee6e0}.notice-success>svg{color:var(--green)}.steps{background:#20231f0f;border-radius:999px;gap:4px;margin:0 0 22px;padding:4px;list-style:none;display:flex}.step{min-height:40px;color:var(--muted);border-radius:999px;flex:1;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:13px;font-weight:500;transition:background-color .2s,color .2s;display:flex}.step.active{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 1px 4px #20231f26}.step span{background:#20231f14;border-radius:50%;place-items:center;width:22px;height:22px;font-size:11.5px;font-weight:700;display:inline-grid}.step.active span{color:var(--ink);background:var(--orange)}.form-total{color:#e9e5da;background:linear-gradient(160deg, #2e322b, var(--ink));box-shadow:inset 0 1px 0 #ffffff1a, var(--shadow-sm);border-radius:22px;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;font-size:14px;display:flex}.form-total strong{letter-spacing:-.025em;color:var(--orange-light);font-size:26px;font-weight:600}.choice-field{background:#ffffff80;border:1px solid #20231f1a;border-radius:18px;min-width:0;padding:12px 14px}.choice-field legend{color:var(--ink-soft);padding:0 6px;font-size:13px;font-weight:600}.checkbox-options{flex-wrap:wrap;gap:6px 14px;display:flex}.checkbox-options label{min-height:34px;color:var(--ink-soft);align-items:center;gap:7px;font-size:14px;display:flex}.checkbox-line{color:var(--ink-soft);align-items:flex-start;gap:10px;margin:12px 0;font-size:14px;line-height:1.6;display:flex}.checkbox-line input{flex-shrink:0;width:18px;height:18px;margin-top:3px}.upload-previews{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.upload-previews img{object-fit:cover;border-radius:14px;width:100px;height:76px}.upload-previews figcaption{white-space:nowrap;text-overflow:ellipsis;max-width:100px;color:var(--muted);margin-top:5px;font-size:11.5px;overflow:hidden}.empty{text-align:center;max-width:520px;margin:auto;padding:36px 20px}.empty-mark{display:none}.empty h3{letter-spacing:-.02em;font-size:20px;font-weight:600}.empty p{max-width:400px;color:var(--muted);margin:8px auto 18px;font-size:14.5px;line-height:1.65}.loading{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:40px;font-size:14px;display:flex}.toast{z-index:100;left:50%;bottom:calc(100px + var(--safe-bottom));color:#faf8f2;-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);background:#20231fdb;border:1px solid #ffffff1f;border-radius:24px;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 32px);padding:12px 10px 12px 18px;font-size:14px;line-height:1.45;animation:.35s cubic-bezier(.2,.9,.3,1.15) toast-in;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 20px 44px -16px #20231f8c}.toast>svg{color:var(--orange-light)}.toast.error{background:#8e342ceb}.toast.error>svg{color:#ffd2c8}.toast button{color:#eeeae0;border-radius:50%;padding:7px;display:flex}.toast button:hover{background:#ffffff1f}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,16px)scale(.96)}}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.invoice-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.invoice-summary>div{background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow-sm);border-radius:24px;padding:16px}.invoice-summary span{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}.invoice-summary strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(22px,3vw,30px);font-weight:600}.invoice-summary>div:first-child strong{color:var(--rust)}.invoice-toolbar{flex-wrap:wrap;align-items:center;gap:10px 14px;margin:14px 0;display:flex}.invoice-toolbar>label{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.invoice-toolbar select{border:1px solid var(--glass-edge);min-height:40px;color:var(--ink);box-shadow:var(--glass-shine), var(--shadow-sm);appearance:none;background:#fffefad9 var(--chevron) right 13px center / 13px no-repeat;border-radius:999px;padding:0 36px 0 14px;font-size:14px}.invoice-count{color:var(--muted);font-size:13px}.invoice-toolbar-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.invoice-toolbar-actions .button{min-height:42px;padding:0 16px;font-size:14px}.invoice-list{gap:8px;display:grid}.invoice-row{text-align:left;background:var(--glass-strong);border:1px solid var(--glass-edge);width:100%;box-shadow:var(--glass-shine), var(--shadow-sm);border-radius:22px;grid-template-columns:minmax(0,1fr) 110px 150px 130px 18px;align-items:center;gap:18px;padding:16px 18px;transition:background-color .2s,transform .18s;display:grid}.invoice-row:hover{background:#fff}.invoice-row:active{transform:scale(.99)}.invoice-row-identity{gap:3px;min-width:0;display:grid}.invoice-row-identity>strong{letter-spacing:.03em;color:var(--rust);font-size:12.5px}.invoice-row-identity>span{font-size:15.5px;font-weight:600}.invoice-row-identity>small{white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:12.5px;overflow:hidden}.invoice-row-date{gap:4px;font-size:12.5px;display:grid}.invoice-overdue{color:#a64029}.invoice-row-amount{text-align:right;font-variant-numeric:tabular-nums;font-size:17px;font-weight:600}.invoice-row>.badge{justify-self:start}.invoice-row>svg{color:var(--faint)}.invoice-online-status{color:var(--muted);align-items:center;gap:8px;margin:14px 0;font-size:13.5px;display:flex}.invoice-dialog-tools{flex-wrap:wrap;align-items:center;gap:10px 16px;margin:-4px 0 18px;display:flex}.invoice-dialog-tools>.button:last-child{margin-left:auto}.invoice-document{color:var(--ink);box-shadow:var(--shadow-sm);background:#fffdf8;border:1px solid #20231f14;border-radius:24px;padding:22px}.invoice-document-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.invoice-document-heading h3{letter-spacing:-.025em;font-size:22px;font-weight:700;line-height:1.2}.invoice-document-heading p{color:var(--muted);margin-top:6px;font-size:12.5px}.invoice-document-heading>strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:30px;font-weight:600}.invoice-sample-label{color:var(--muted);margin-top:12px;font-size:11.5px}.invoice-parties{grid-template-columns:1fr 1fr;gap:24px;padding:16px 0;display:grid}.invoice-parties span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.invoice-parties strong{overflow-wrap:anywhere;font-size:14.5px;display:block}.invoice-parties p{color:var(--muted);margin-top:4px;font-size:12.5px}.invoice-lines-wrap{overflow-x:auto}.invoice-lines{border-collapse:collapse;width:100%;font-size:13.5px}.invoice-lines th{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);text-align:right;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:10px 8px;font-size:10.5px;font-weight:600}.invoice-lines td{border-bottom:1px solid var(--hairline);text-align:right;vertical-align:top;white-space:nowrap;font-variant-numeric:tabular-nums;padding:14px 8px}.invoice-lines :is(td,th):first-child{text-align:left;white-space:normal;overflow-wrap:anywhere;width:50%;padding-left:0}.invoice-lines :is(td,th):last-child{padding-right:0}.invoice-lines td strong{font-size:13.5px;font-weight:600}.invoice-lines td small{color:var(--muted);margin-top:5px;font-size:11.5px;display:block}.invoice-total{border-bottom:2px solid var(--ink);justify-content:flex-end;align-items:baseline;gap:30px;margin-bottom:18px;padding:18px 0;display:flex}.invoice-total>span{color:var(--muted);font-size:13px}.invoice-total>strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:600}.invoice-notes,.invoice-payment-record{margin:14px 0}.invoice-notes h4,.invoice-payment-record h4{margin-bottom:5px;font-size:13px;font-weight:600}.invoice-notes p,.invoice-payment-record p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-size:13.5px;line-height:1.7}.invoice-paid-date{color:var(--green);margin-top:14px;font-size:13px}.invoice-dialog-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.invoice-form>.form-help{margin:12px 0}.invoice-line-editor{margin-top:20px}.invoice-line-edit{border-top:1px solid var(--hairline);padding:12px 0 18px}.invoice-line-edit-heading{justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.invoice-line-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.invoice-line-description{grid-column:1/-1}.invoice-line-subtotal{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:10px;font-size:13.5px;font-weight:600;display:flex}.invoice-line-subtotal>span{color:var(--muted);font-size:12px;font-weight:400}.invoice-add-lines{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.invoice-add-lines>span{color:var(--muted);font-size:12px}.invoice-form-addons{border-top:1px solid var(--hairline);padding:16px 0}.invoice-form-addons h3{margin-bottom:6px;font-size:15px;font-weight:600}.invoice-form-addons>div{flex-wrap:wrap;gap:6px 10px;display:flex}.invoice-form-addons .button{text-align:left;justify-content:flex-start;min-height:40px;padding:0 14px;font-size:13px}.invoice-payment-options{border:0;gap:10px;font-size:13.5px;display:grid}.invoice-payment-options legend{margin-bottom:12px;font-weight:600}.invoice-payment-options label,.invoice-payment-attest{align-items:flex-start;gap:9px;display:flex}.invoice-payment-options input,.invoice-payment-attest input{flex-shrink:0;width:18px;height:18px}.invoice-payment-form{border-top:1px solid var(--hairline);margin-top:24px;padding-top:20px}.invoice-payment-form h3{letter-spacing:-.02em;font-size:20px;font-weight:600}.invoice-payment-form>p{color:var(--muted);margin:8px 0 18px;font-size:13.5px;line-height:1.6}.invoice-payment-attest{margin:18px 0;font-size:13px;line-height:1.6}.invoice-wood-section{border-top:2px solid var(--ink);margin-top:22px;padding-top:16px}.invoice-wood-section>h3{letter-spacing:-.02em;font-size:19px;font-weight:600}.invoice-wood-section>p{color:var(--muted);margin:6px 0 12px;font-size:13px;line-height:1.6}.invoice-wood-presets{flex-wrap:wrap;gap:6px 10px;margin:12px 0;display:flex}.invoice-wood-presets .button{min-height:38px;padding:0 14px;font-size:13px}.invoice-wood-subtotal{border-top:1px solid var(--hairline);justify-content:flex-end;align-items:baseline;gap:20px;padding:12px 0;font-size:13.5px;display:flex}.invoice-wood-subtotal strong{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.invoice-lines .invoice-section-heading th{border-top:2px solid var(--ink);text-align:left;letter-spacing:-.01em;text-transform:none;color:var(--ink);padding:14px 0 7px;font-size:15px;font-weight:600}.invoice-lines .invoice-section-subtotal td{padding-top:10px;padding-bottom:12px;font-size:13px;font-weight:600}.invoice-lines .invoice-section-subtotal td:first-child{text-align:right}.modal:has(>.invoice-document) .modal-header{margin-bottom:16px}.w9-document{background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine), var(--shadow-sm);border-radius:26px;margin:18px 0;padding:20px;position:relative;overflow:hidden}.w9-document:before{content:"";background:linear-gradient(90deg, var(--orange-light), var(--orange-deep));height:4px;position:absolute;top:0;left:0;right:0}.w9-heading{align-items:center;gap:12px;display:flex}.w9-heading>div{flex:1}.w9-heading h2{letter-spacing:-.02em;margin:2px 0 0;font-size:20px;font-weight:600}.w9-document>p{max-width:820px;margin:12px 0;font-size:14px;line-height:1.65}.w9-document .w9-privacy{color:var(--muted);align-items:flex-start;gap:7px;font-size:12.5px;display:flex}.w9-privacy svg{flex-shrink:0;margin-top:3px}.w9-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.w9-actions .form-help{margin:0}.w9-upload{flex-wrap:wrap;align-items:center;gap:14px;margin-top:18px;display:flex}.w9-upload label{font-size:13.5px;font-weight:600}.w9-upload label small{color:var(--muted);margin-top:4px;font-size:12px;font-weight:400;display:block}.w9-upload input{max-width:280px;font-size:13px}.dash{gap:26px;display:none}.dash-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.dash-header h1{letter-spacing:-.035em;font-size:34px;font-weight:700;line-height:1.15}.dash-header p{color:var(--muted);margin-top:8px;font-size:16px}.dash-search{flex-shrink:0;width:min(420px,38%);height:52px;padding:0 10px 0 18px}.dash-search kbd{font:600 12px/1 var(--body);color:var(--muted);background:#20231f0f;border-radius:9px;flex-shrink:0;padding:5px 8px}.dash-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;display:grid}.dash-col{gap:20px;min-width:0;display:grid}.dash-card{background:#fffefae6;border:1px solid #ffffffeb;border-radius:28px;min-width:0;padding:20px;position:relative;box-shadow:0 1px 2px #20231f0a,0 22px 44px -30px #20231f5c}.dash-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.dash-card-head h2{letter-spacing:-.02em;font-size:17px;font-weight:600}.dash-card-head p{color:var(--muted);margin-top:3px;font-size:13px;line-height:1.45}.dash-card-title{align-items:center;gap:10px;display:flex}.dash-head-icon{width:34px;height:34px;color:var(--ink);background:#fff;border-radius:50%;place-items:center;display:grid;box-shadow:0 2px 6px -2px #20231f38}.dash-pill{min-height:34px;color:var(--ink-soft);background:#20231f0e;border-radius:999px;flex-shrink:0;align-items:center;gap:3px;padding:0 12px;font-size:13px;font-weight:600;transition:background-color .2s;display:inline-flex}.dash-pill:hover{background:#20231f1a}.dash-list{gap:10px;display:grid}.dash-row{text-align:left;background:#20231f09;border-radius:20px;align-items:center;gap:12px;width:100%;min-width:0;padding:12px 14px;transition:background-color .2s;display:flex}button.dash-row:hover{background:#20231f11}.dash-row-icon{border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid;position:relative}.dash-row-icon.tone-orange{color:var(--rust);background:#f47a3d29}.dash-row-icon.tone-green{color:var(--green);background:#236a5021}.dash-row-icon.tone-amber{color:#8f5a16;background:#f5be5c42}.dash-row-icon.tone-stone{color:var(--ink-soft);background:#20231f14}.dash-row-icon.tone-red{color:var(--red);background:#ae302b1f}.dash-count{color:#fff;background:var(--ink);border:2px solid #fffdf8;border-radius:999px;place-items:center;min-width:21px;height:21px;padding:0 5px;font-size:11px;font-weight:700;display:grid;position:absolute;top:-5px;right:-6px}.dash-row-text{flex:1;gap:2px;min-width:0;display:grid}.dash-row-text strong{letter-spacing:-.01em;font-size:14.5px;font-weight:600}.dash-row-text small{color:var(--muted);font-size:12.5px;line-height:1.45}.dash-row-chevron{color:var(--faint)}.dash-status{border-radius:999px;flex-shrink:0;padding:5px 11px;font-size:12px;font-weight:600}.dash-status.tone-orange{color:#93430e;background:#f47a3d29}.dash-status.tone-green{color:var(--green);background:#236a5021}.dash-status.tone-red{color:var(--red);background:#ae302b1a}.dash-status.tone-stone,.dash-status.tone-amber{color:var(--ink-soft);background:#20231f12}.dash-wide-button{background:#20231f0e;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:12px;font-size:14.5px;font-weight:600;transition:background-color .2s;display:flex}.dash-wide-button:hover{background:#20231f1a}.dash-empty-row{color:var(--muted);background:#20231f09;border-radius:20px;align-items:center;gap:10px;padding:16px;font-size:13.5px;display:flex}.dash-subhead{color:var(--muted);margin:20px 2px 10px;font-size:14.5px;font-weight:500}.dash-payments{background:radial-gradient(120% 80% at 100% 0,#ffa88080 0%,#ffa88000 58%),radial-gradient(90% 70% at 0 0,#ffe0ccbf 0%,#ffe0cc00 65%),#fffefae6}.dash-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dash-tile{text-align:left;background:#ffffffeb;border-radius:22px;gap:6px;min-width:0;padding:16px;transition:transform .18s;display:grid;box-shadow:0 1px 2px #20231f0d,0 10px 22px -16px #20231f61}.dash-tile:active{transform:scale(.98)}.dash-tile-top{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.dash-tile-top .is-warning{color:var(--orange-deep)}.dash-money{letter-spacing:-.03em;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;overflow:hidden}.dash-money span{color:var(--faint)}.dash-tile small{color:var(--muted);font-size:12.5px}.dash-alert{background:#fffc;border-radius:20px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.dash-alert>svg{color:var(--orange-deep);flex-shrink:0;margin-top:1px}.dash-alert strong{font-size:14.5px;font-weight:600}.dash-alert p{color:var(--muted);margin-top:4px;font-size:12.5px;line-height:1.55}.dash-due-row{background:#fffc;border-radius:20px;align-items:center;gap:12px;margin-top:10px;padding:12px 12px 12px 14px;display:flex}.dash-due-row b{color:var(--orange-deep);font-weight:600}.dash-due-row .button,.dash-setup-inner .button{flex-shrink:0;min-height:38px;padding:0 15px;font-size:13.5px}.tracker-item{text-align:left;background:#20231f09;border-radius:20px;gap:3px;width:100%;min-width:0;padding:14px;transition:background-color .2s;display:grid}.tracker-item:hover{background:#20231f11}.tracker-top{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.tracker-meta{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex;overflow:hidden}.roof-dot{background:#3f433c;border-radius:3px;flex-shrink:0;width:9px;height:9px}.roof-dot-tile{background:#cf7444}.roof-dot-metal{background:#9aa6ab}.roof-dot-flat{background:#c2c6c8}.tracker-status{background:#ffffffeb;border-radius:999px;flex-shrink:0;padding:5px 11px;font-size:12px;font-weight:600;box-shadow:0 1px 3px #20231f1a}.tracker-title{letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:15.5px;font-weight:600;overflow:hidden}.tracker-item>small{color:var(--muted);font-size:12.5px}.tracker-bar{gap:4px;height:24px;margin-top:10px;display:flex}.tracker-bar>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--ink);background:#20231f12;border-radius:999px;flex:1;padding:0 10px;font-size:11.5px;font-weight:700;line-height:24px;overflow:hidden}.tracker-bar>.is-done[data-step="0"]{background:#cfe2d5}.tracker-bar>.is-done[data-step="1"]{background:#f5d9a2}.tracker-bar>.is-done[data-step="2"]{background:#f8bd8b}.tracker-bar>.is-done[data-step="3"]{background:#f6a16d}.tracker-bar>.is-done[data-step="4"]{background:#f39158}.tracker-bar>.is-current{background:linear-gradient(180deg, var(--orange-light), var(--orange));flex:2.6;min-width:max-content;box-shadow:inset 0 1px #ffffff73}.dash-promo{overflow:hidden}.dash-promo-hero{background:radial-gradient(80% 90% at 100%,#ffba9673 0%,#ffba9600 70%),#20231f08;border-radius:22px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:18px 12px 18px 18px;display:grid}.dash-tag{color:var(--rust);background:#ffffffd1;border:1px solid #d9622a66;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.dash-promo-hero h2{letter-spacing:-.03em;margin-top:34px;font-size:26px;font-weight:600;line-height:1.1}.dash-promo-hero p{color:var(--muted);margin-top:6px;font-size:13.5px;line-height:1.5}.promo-mark{width:128px;height:128px}.dash-steps{gap:12px;margin:0;padding:0 2px;list-style:none;display:grid}.dash-steps li{align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.dash-steps li>span{width:24px;height:24px;color:var(--orange-deep);background:#f47a3d21;border:1.5px solid #d9622a73;border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.dash-cta-bar{color:var(--muted);background:#20231f0d;border-radius:999px;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;padding:6px 6px 6px 18px;font-size:13px;display:flex}.dash-cta-bar>span{min-width:0}.dash-cta-bar .button{flex-shrink:0;min-height:42px;padding:0 18px;font-size:14px}.dash-setup-inner{background:linear-gradient(120deg,#ffeee2f2,#fbd4bad1);border-radius:22px;align-items:center;gap:12px;padding:16px;display:flex;box-shadow:inset 0 1px #fffc}.dash-setup-inner .dash-row-icon.tone-orange{background:#ffffffe0}.dash-footnote{text-align:center;color:var(--muted);justify-content:center;align-items:center;gap:6px;margin-top:12px;font-size:12.5px;display:flex}@media (max-width:619px){.preview-pill{border-radius:999px;padding-top:5px;padding-bottom:5px}.preview-pill>.preview-long{white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.preview-pill>.preview-short{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.stat-row{gap:10px}.stat-card{border-radius:20px;min-height:124px;padding:58px 12px 12px}.stat-card>span:last-child{line-height:1.25}.stat-icon{border-radius:12px;width:38px;height:38px;top:10px;right:10px}.stat-card strong{font-size:27px}.stat-card>span:last-child{font-size:13px}.project-card-panel{gap:16px;padding:16px 16px 18px}.project-card-progress strong{font-size:27px}.project-card-meter>div{font-size:13px}.market-search{border-radius:26px;grid-template-columns:minmax(0,1fr) auto}.market-search-location .market-search-label{display:none}.market-search input,.market-search select{min-height:36px;font-size:16px}.market-search-toggle{background:#ffffffe6;border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:0 14px;font-size:14px;font-weight:600;display:flex;box-shadow:0 1px 3px #20231f1f}.market-search-system,.market-search-date{grid-column:1/-1;display:none}.has-open-filters .market-search-system,.has-open-filters .market-search-date{display:flex}.job-filters{flex-wrap:wrap}.job-filters>.small-label{display:none}.job-card-footer{align-items:center}.job-card-actions{justify-content:flex-start}.calendar-full .availability{min-width:640px}.calendar-head,.calendar-row{grid-template-columns:136px repeat(7,minmax(54px,1fr))}.calendar-crew .avatar{display:none}.messages-layout{grid-template-columns:1fr;min-height:0}.threads{scrollbar-width:none;border-radius:24px;flex-direction:row;gap:6px;padding:6px;overflow-x:auto}.threads-heading{display:none}.thread{width:auto;min-width:210px;padding:8px 10px}.message-stream{min-height:300px;padding:18px 14px}.message-bubble{max-width:90%}.send-label{display:none}.message-compose .button{padding:0 14px}.document-grid,.integration-grid,.admin-stats{grid-template-columns:1fr}.document-list-item{flex-wrap:wrap}.document-list-item .badge{margin-left:0}.upload-controls{flex-direction:column;align-items:stretch}.upload-controls input{max-width:100%}.integration-item{flex-wrap:wrap}.integration-item>div{flex-basis:calc(100% - 60px)}.integration-item .badge{margin-left:52px}.admin-issue{flex-wrap:wrap;align-items:flex-start}.admin-issue>div{flex-basis:100%}.form-grid,.crew-addon-fields{grid-template-columns:1fr}.detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-stats>div:last-child{grid-column:1/-1}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-grid img,.portfolio-grid .roof-art{height:116px}.site-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.site-photos .roof-art,.site-photos img{border-radius:16px;height:96px}.sheet-summary{gap:16px;padding:14px 16px}.sheet-summary strong{font-size:26px}.sheet-tabs{gap:0}.sheet-tabs button{padding:0 7px;font-size:15px}.sheet-tabs button span{margin-left:4px}.offer-heading strong{font-size:22px}.credential-row{flex-wrap:wrap}.credential-row>div{min-width:160px}.credential-row>.badge{margin-left:32px}.invoice-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 14px}.invoice-row-identity{grid-area:1/1/3}.invoice-row-date{grid-row:3}.invoice-row>.badge{grid-area:2/2;justify-self:end;font-size:11px}.invoice-row-amount{grid-area:1/2;font-size:16px}.invoice-row>svg{grid-area:3/2;justify-self:end}.invoice-summary{gap:8px}.invoice-summary>div{border-radius:20px;padding:12px}.invoice-summary strong{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:17px}.invoice-summary span{min-height:34px;font-size:11.5px}.invoice-toolbar-actions{margin-left:0}.invoice-dialog-tools{grid-template-columns:auto 1fr;gap:6px 12px;margin-bottom:14px;display:grid}.invoice-dialog-tools>.button{justify-content:flex-start;min-height:40px;padding:0 12px;font-size:12.5px}.invoice-dialog-tools>.button:last-child{justify-self:end;margin-left:0}.invoice-document{padding:16px}.invoice-document-heading{display:block}.invoice-document-heading>strong{margin-top:12px;display:block}.invoice-parties{gap:14px}.invoice-parties strong{font-size:13px}.invoice-lines th{padding:9px 4px;font-size:9.5px}.invoice-lines td{padding:12px 4px;font-size:12px}.invoice-lines :is(td,th):first-child{width:40%}.invoice-line-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-dialog-actions>.button{flex:auto}.w9-heading{flex-wrap:wrap}.w9-heading .badge{margin-left:36px}.w9-heading>div{flex-basis:calc(100% - 36px)}.w9-actions,.w9-upload{flex-direction:column;align-items:stretch}.w9-upload input{max-width:100%}.bottom-footer button{text-align:left;width:100%;margin-left:0}}@media (max-width:389px){.home-identity{gap:10px}.home-identity .avatar{width:48px;height:48px;font-size:15px}.home-identity strong{font-size:20px}.header-actions{gap:8px}.header-actions .icon-button{width:44px;height:44px}.search-pill{padding:0 18px}}@media (max-width:719px){.modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-height:calc(100dvh - 16px - var(--safe-top));padding:22px 18px calc(22px + var(--safe-bottom));border-radius:30px 30px 0 0;animation:.4s cubic-bezier(.2,.9,.3,1) sheet-up}.modal-header h2{font-size:23px}.modal-footer{gap:8px}.modal-footer>.form-help{width:100%;max-width:100%;margin-bottom:4px}.modal-footer>.button,.sheet-footer>.button{flex:auto}.page-backdrop{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none;align-items:stretch}.page-sheet{width:100%;height:100dvh;max-height:none;box-shadow:none;border:0;border-radius:0;padding:0;animation:.38s cubic-bezier(.2,.9,.3,1) page-in}.page-hero-title h2{font-size:19px}.page-hero-title p{text-wrap:balance;font-size:13px}.page-hero{border-radius:0;height:min(46vh,390px)}.page-body{min-height:calc(54dvh + 32px);padding:4px 18px var(--tabbar-space)}}@media (min-width:620px){.market-directory-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,520px),1fr))}}@media (min-width:720px){.app-main{max-width:760px;padding-left:28px;padding-right:28px}.chip-row{margin-left:-28px;margin-right:-28px;padding-left:28px;padding-right:28px}.stat-card{min-height:140px;padding:68px 16px 16px}}@media (min-width:1024px){:root{--tabbar-space:40px}.tabbar{display:none}.sidebar{z-index:40;flex-direction:column;align-items:center;gap:4px;width:92px;padding:20px 0 18px;display:flex;position:fixed;top:0;bottom:0;left:0}.rail-logo{border-radius:16px;place-items:center;width:52px;height:52px;padding:0;transition:transform .18s;display:grid;box-shadow:0 12px 24px -12px #20231fb3}.rail-logo svg{display:block}.rail-logo:active{transform:scale(.95)}.rail-divider{background:#20231f1f;flex-shrink:0;width:32px;height:1px;margin:12px 0}.sidebar-nav,.rail-tools{flex-direction:column;align-items:center;gap:4px;display:flex}.rail-button{width:48px;height:48px;color:var(--muted);border-radius:16px;place-items:center;transition:background-color .2s,color .2s,transform .18s;display:grid;position:relative}.rail-button:hover{color:var(--ink);background:#fff9}.rail-button:active{transform:scale(.94)}.rail-button.active{color:var(--ink);box-shadow:var(--glass-shine), 0 10px 20px -12px #20231f73;background:#fffffff5}.rail-badge{min-width:19px;height:19px;color:var(--ink);background:var(--orange);border:2px solid #f5f0e8;border-radius:999px;place-items:center;padding:0 5px;font-size:10.5px;font-weight:700;display:grid;position:absolute;top:3px;right:2px}.rail-button .notification-dot{top:11px;right:12px}.rail-lang{letter-spacing:.02em;font-size:13px;font-weight:700}.rail-lang-wrap{position:relative}.rail-lang-menu{z-index:50;min-width:200px;inset:auto auto -6px calc(100% + 12px)}.rail-lang-menu button[aria-checked=true]{background:#20231f0d;font-weight:600}.rail-lang-menu button>svg{color:var(--orange-deep);margin-left:auto}.rail-lang-code{letter-spacing:.02em;width:32px;height:24px;color:var(--muted);background:#20231f0f;border-radius:8px;flex-shrink:0;place-items:center;font-size:11.5px;font-weight:700;display:grid}.rail-avatar{border-radius:50%;margin-top:auto;padding:0;position:relative}.rail-avatar.active .avatar{box-shadow:0 0 0 3px #fffdf8, 0 0 0 5px var(--orange)}.app-main{width:auto;max-width:none;min-height:calc(100dvh - 28px);box-shadow:var(--glass-shine), 0 30px 80px -44px #20231f6b;background:#fffefa8c;border:1px solid #ffffffd1;border-radius:34px;margin:14px 14px 14px 92px;padding:30px 34px 36px}.app-main>*{max-width:1480px;margin-left:auto;margin-right:auto}.app-shell[data-view=overview] .preview-pill{display:none}:is(.page-header,.page-header:not(:has(>.page-back))){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"eyebrow action""title action""desc action";align-items:end;column-gap:14px;margin-bottom:26px}.page-titles .eyebrow,.page-header>.page-titles h1:first-child{margin-top:0}.page-back,.page-header>.header-actions{display:none}.page-action{align-self:center;display:flex}.page-titles h1{font-size:36px}.home{display:none}.dash{display:grid}.market-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.jobs-list{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-view{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:18px}.profile-card{grid-row:span 3;position:sticky;top:24px}.toast{bottom:28px}.bottom-footer{margin-top:48px}}@media (min-width:1024px) and (max-width:1359px){.dash-grid{columns:2;column-gap:20px;display:block}.dash-col{display:contents}.dash-card{break-inside:avoid;margin-bottom:20px}.dash-search{width:min(380px,42%)}}@media (min-width:1024px) and (max-height:800px){.sidebar{padding-top:14px}.rail-logo,.rail-logo svg{width:46px;height:46px}.rail-button{width:42px;height:42px}.rail-divider{margin:8px 0}}@media (hover:hover) and (min-width:1024px){.sidebar [data-tip]:hover:after,.sidebar [data-tip]:focus-visible:after{content:attr(data-tip);z-index:50;white-space:nowrap;color:#faf8f2;pointer-events:none;background:#20231fe6;border-radius:12px;padding:7px 12px;font-size:13px;font-weight:600;animation:.15s ease-out fade-in;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%);box-shadow:0 10px 24px -10px #20231f99}}@media (min-width:620px) and (max-width:899px){.welcome-copy,.welcome-actions{padding-left:calc(50% - 280px);padding-right:calc(50% - 280px)}.welcome-copy h1{font-size:52px}}@media (min-width:900px){.welcome{color:var(--ink);background:linear-gradient(160deg,#f6f1e9 0%,#efe7dc 55%,#f3e5d6 100%);grid-template-columns:minmax(380px,.9fr) minmax(0,1.1fr);align-items:center;gap:56px;padding:40px 48px;display:grid}.welcome-media{grid-area:1/2;grid-template-rows:1fr 1fr;grid-template-columns:1.15fr 1fr;gap:16px;height:min(84vh,780px);display:grid;position:relative;inset:auto}.welcome-media:after{display:none}.welcome-media .roof-art,.welcome-media .roof-art:not(:first-child){border-radius:30px;height:100%;display:block;position:relative;inset:auto;box-shadow:0 30px 60px -32px #20231f8c}.welcome-media .roof-art:first-child{grid-row:1/3}.welcome-media .roof-art span{color:var(--ink);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#fffefacc;border:1px solid #ffffffb3;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex;position:absolute;bottom:16px;left:16px;box-shadow:0 8px 22px -12px #20231f80}.welcome-top{gap:20px;top:36px;left:48px;right:auto}.welcome-top .brand{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding:0}.welcome-top .brand-mark{width:40px;height:36px}.welcome-top .brand-wordmark{font-size:34px}.welcome-top .language-toggle{background:#20231f12;border:0}.welcome-body{grid-area:1/1}.welcome-copy{padding:0}.welcome-copy:before,.welcome-actions:before{display:none}.welcome-copy h1{text-shadow:none;font-size:clamp(48px,5vw,72px)}.welcome-copy p{max-width:460px;color:var(--muted);font-size:20px}.welcome-actions{background:0 0;max-width:420px;padding:36px 0 0}.welcome-login{text-align:left}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{body:before{display:none}body:has(.invoice-document){background:#fff;overflow:visible!important}body:has(.invoice-document) .app-shell>:not(.modal-backdrop){display:none!important}body:has(.invoice-document) .modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;padding:0;display:block;position:static}body:has(.invoice-document) .modal{width:100%;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:0;border-radius:0;padding:0;overflow:visible}body:has(.invoice-document) .modal>:not(.invoice-document){display:none!important}.invoice-document{color:#111;box-shadow:none;border:0}.invoice-document-heading,.invoice-parties,.invoice-lines tr,.invoice-total,.invoice-notes{break-inside:avoid}.invoice-lines-wrap{overflow:visible}.invoice-lines thead{display:table-header-group}}:root{--google-attribution-ink:#1f1f1f}.address-autocomplete{min-width:0}.address-results{border:1px solid var(--glass-edge);background:var(--card);box-shadow:var(--glass-shine), var(--shadow-sm);border-radius:20px;margin-top:8px;overflow:hidden}.address-results>ul{margin:0;padding:4px;list-style:none}.address-results li+li{border-top:1px solid var(--hairline)}.address-option.button{width:100%;height:auto;min-height:48px;color:var(--ink);text-align:left;white-space:normal;border-radius:15px;justify-content:flex-start;gap:10px;padding:12px;font-size:14px;font-weight:400;line-height:1.5}.address-option.button:hover,.address-option.button[aria-selected=true]{color:var(--ink);background:var(--orange-wash)}.address-option>svg{color:var(--muted);flex-shrink:0}.address-option>span{overflow-wrap:anywhere;min-width:0}.address-attribution{flex-wrap:wrap;align-items:center;gap:4px 12px;padding:10px 14px;display:flex}.address-results>.address-attribution{border-top:1px solid var(--hairline)}.address-attribution>span{color:var(--google-attribution-ink);font-family:var(--body);letter-spacing:normal;white-space:nowrap;font-size:13px;font-style:normal;font-weight:400}.address-attribution>a{overflow-wrap:anywhere;max-width:100%}.address-status,.address-disclosure{color:var(--muted);overflow-wrap:anywhere;margin:8px 0 0;font-size:12.5px;line-height:1.6}.address-status:empty{display:none}.address-status>svg{vertical-align:middle;margin-right:6px}.address-status.is-error{color:var(--red)}.address-disclosure>a,.address-attribution>a{min-height:44px;color:var(--rust);text-underline-offset:3px;align-items:center;font-size:12.5px;text-decoration:underline;display:inline-flex}
