@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-CkZN0sRy.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-vietnamese-700-normal-CkEo6LDy.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-700-normal-BV5B8Are.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.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{--bg:#f4f5f2;--panel:#fff;--panel-2:#f8f9f6;--border:#d9dcd4;--border-strong:#c9cdc4;--text:#15202b;--muted:#5b6570;--primary:#1f4e8c;--primary-dark:#163a6a;--primary-soft:#e6ecf4;--focus-ring:#1f4e8c33;--danger:#b42318;--danger-dark:#8f1c13;--danger-soft:#fdf0ee;--danger-border:#f1c4be;--success:#2f7d4f;--success-dark:#24613d;--success-soft:#eaf4ee;--warn:#b45309;--warn-soft:#fdf6e9;--compare-this:#00f;--compare-other:red;--compare-place:#d97706;--stage-1:#7fb2e5;--stage-2:#1f66b8;--stage-3:#0d3f7a;--stage-4:#6aa84f;--stage-5:#2e7d32;--stage-6:#145214;--stage-7:#9b7fd1;--stage-8:#5b3a9e;--stage-none:#8a9099;--stage-ready:#e08a00;--stage-left:#c0392b;--stage-started:#e08a00;--stage-tests:#7d3c98;--snag-open:#dc2626;--snag-late:#7f1d1d;--snag-done:#d97706;--snag-closed:#16a34a;--camera-bg:#000;--camera-ink:#fff;--camera-wash:#00000073;--rule-ink:1.5px solid var(--text);--font-sans:"IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--control-h:40px;--control-h-sm:32px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-pill:999px;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:24px;--lh:1.5;--shadow-sm:0 1px 0 #15202b0a;--shadow-md:0 6px 16px #15202b1a;--shadow-lg:0 18px 40px #15202b40;--scrim:#15202b52;--mono:var(--font-mono);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{line-height:1.25}:where(a){color:var(--primary);text-underline-offset:2px}:where(a:visited){color:var(--primary)}:where(a:hover){color:var(--primary-dark)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-sm)}button,:where(button){cursor:pointer;border-radius:var(--r-md);padding:10px var(--s4);background:var(--primary);color:#fff;font:inherit;font-size:var(--fs-md);border:1px solid #0000;font-weight:600;line-height:1.2;transition:background .12s,border-color .12s,color .12s}:where(button):hover:not(:disabled){background:var(--primary-dark)}button:disabled{opacity:.5;cursor:not-allowed}.btn-secondary,button.btn-secondary{background:var(--panel);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--panel-2)}button.link-btn{color:var(--primary);padding:var(--s1) var(--s2);background:0 0;border-color:#0000;font-weight:600}button.link-btn:hover:not(:disabled){background:var(--primary-soft)}button.approve-btn{background:var(--success)}button.approve-btn:hover:not(:disabled){background:var(--success-dark)}button.deny-btn{background:var(--danger)}button.deny-btn:hover:not(:disabled){background:var(--danger-dark)}input,select,textarea{font-family:inherit;font-size:var(--fs-md);padding:var(--s2) var(--s3);border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--text);background:#fff;min-width:0}:where(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]),select){min-height:var(--control-h)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring);outline:none}input::placeholder,textarea::placeholder{color:#8a939c}textarea{line-height:var(--lh);resize:vertical}label{gap:var(--s1);font-size:var(--fs-sm);color:var(--muted);flex-direction:column;min-width:0;display:flex}:is(.documents-table,.report-table,.takeoff-table,.clock-days,.timesheet-grid,.records-lines) thead th{font-family:var(--font-mono);letter-spacing:.06em;font-weight:500}table :is(td,th).num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}.error-text{color:var(--danger)}.admin-mono,.ws-name,.approval-func,.upload-result-type,.admin-row-summary,.admin-detail-title,.review-message{overflow-wrap:anywhere}.page-loading{justify-content:center;align-items:center;height:100vh;display:flex}.login-screen{min-height:100vh;padding:var(--s4);background:var(--bg);justify-content:center;align-items:center;display:flex}.login-card{background:var(--panel);padding:var(--s6);border:var(--rule-ink);border-radius:var(--r-md);gap:var(--s4);width:min(380px,100%);box-shadow:var(--shadow-md);flex-direction:column;display:flex}.login-card h1{font-size:var(--fs-xl);margin:0}.login-card button[type=submit]{width:100%}.login-card label.login-keep{align-items:flex-start;gap:var(--s2);color:var(--text);flex-direction:row}.login-card label.login-keep input{margin-top:var(--s1);flex:none}.app-shell{height:100dvh;min-height:100vh;display:flex}.sidebar{scrollbar-width:none;background:var(--panel);width:248px;color:var(--text);border-right:1px solid var(--border);gap:var(--s2);padding:var(--s4) var(--s3);flex-direction:column;flex-shrink:0;transition:width .15s,padding .15s;display:flex;position:relative;overflow-y:auto}.sidebar-toggle{top:var(--s3);right:var(--s2);border-radius:var(--r-md);width:28px;height:28px;color:var(--muted);font-size:var(--fs-lg);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex;position:absolute}.sidebar-toggle:hover{background:var(--panel-2);color:var(--text)}.sidebar-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:1px}@media (width>=761px){.sidebar-folded .sidebar{width:56px;padding:var(--s3) var(--s1);overflow:hidden}.sidebar-folded .sidebar>:not(.sidebar-toggle):not(.sidebar-bell):not(.sidebar-rail){display:none}.sidebar-folded .sidebar-toggle{width:40px;height:36px;right:8px}.sidebar-folded .sidebar-bell{top:50px;right:10px}.sidebar-folded .inbox-pop{left:64px}}.sidebar-head{align-items:center;gap:6px;min-height:32px;display:flex}.sidebar-head .brand-mark{margin-right:auto}.brand-mark{border-radius:var(--r-sm);background:var(--primary);color:#fff;width:30px;height:30px;font-family:var(--font-mono);letter-spacing:.04em;text-underline-offset:3px;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;text-decoration:underline;text-decoration-thickness:2px;display:inline-flex}.sidebar-head .sidebar-toggle,.sidebar-head .sidebar-bell,.sidebar-head .sidebar-bell:hover:not(:disabled){flex:none;position:relative;top:auto;right:auto}.sidebar-head .sidebar-bell,.sidebar-head .sidebar-bell:hover:not(:disabled){width:32px;height:32px;min-height:32px}.brand{font-family:var(--font-mono);font-weight:600;font-size:var(--fs-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--text);border:var(--rule-ink);padding:var(--s2) var(--s3);margin:0 72px var(--s3) 0;white-space:nowrap}.sidebar nav{gap:var(--s1);flex-direction:column;flex:none;display:flex}.nav-item{align-items:center;gap:var(--s2);min-height:34px;padding:0 var(--s3);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-md);font-weight:500;text-decoration:none;display:flex}.nav-item svg{color:var(--muted);flex:none}.nav-item.active svg{color:var(--primary)}.nav-item:hover{background:var(--panel-2)}.nav-item.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.nav-group{gap:var(--s1);flex-direction:column;display:flex}.nav-group+.nav-group{margin-top:var(--s2)}.nav-group nav,.nav-section{flex-direction:column;gap:2px;display:flex}button.nav-section-head{align-items:center;gap:var(--s2);width:100%;min-height:32px;padding:0 var(--s2) 0 var(--s3);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-md);text-align:left;cursor:pointer;background:0 0;border:0;font-weight:500;display:flex}button.nav-section-head:hover:not(:disabled){background:var(--panel-2);color:var(--text)}button.nav-section-head:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.nav-section-head svg{color:var(--muted);flex:none}.nav-section-head>span:not(.nav-section-chevron){white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.nav-section-head.here{color:var(--text)}.nav-section-chevron{margin-left:auto;transition:transform .15s;display:flex}.nav-section-chevron.open{transform:rotate(90deg)}.nav-section-items{flex-direction:column;gap:2px;display:flex}.nav-item.nav-sub{min-height:32px;padding-left:calc(var(--s3) + 18px + var(--s2))}.sidebar nav.sidebar-tools{gap:var(--s1);flex-direction:row}.sidebar-tools .nav-item{min-width:0;min-height:32px;padding:0 var(--s2);font-size:var(--fs-sm);flex:1 1 0}.office-group{margin-top:var(--s2)}.sidebar-scroll{min-height:0;margin:0 calc(-1 * var(--s3));padding:var(--s1) var(--s1) var(--s1) var(--s3);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;scrollbar-gutter:stable;background:linear-gradient(var(--panel) 30%, #fff0) center top, linear-gradient(#fff0, var(--panel) 70%) center bottom, radial-gradient(farthest-side at 50% 0, #15202b24, #15202b00) center top, radial-gradient(farthest-side at 50% 100%, #15202b24, #15202b00) center bottom;background-repeat:no-repeat;background-size:100% 28px,100% 28px,100% 10px,100% 10px;background-attachment:local,local,scroll,scroll;flex:auto;overflow-y:auto}.sidebar-foot{padding-top:var(--s2);border-top:1px solid var(--border);flex-direction:column;flex:none;gap:2px;display:flex}.sidebar-foot .office-fold .nav-items,.sidebar-foot .office-fold .nav-section-items{gap:0}.sidebar-foot .office-fold .nav-item{min-height:30px;padding-left:calc(var(--s3) + 18px + var(--s2))}.sidebar-foot .assistant-link{min-height:32px}.sidebar-foot .sidebar-footer{padding-top:var(--s2);font-size:var(--fs-sm);margin-top:2px}.sidebar-foot .sidebar-footer .link-btn{padding:2px var(--s1);font-size:var(--fs-sm)}.sidebar nav.sidebar-rail{flex-direction:column;flex:auto;align-items:center;gap:2px;min-height:0;margin-top:84px;display:flex}.rail-scroll{scrollbar-width:none;flex-direction:column;flex:auto;align-items:center;gap:2px;width:100%;min-height:0;display:flex;overflow-y:auto}.rail-foot{width:100%;padding-top:var(--s2);border-top:1px solid var(--border);flex-direction:column;flex:none;align-items:center;gap:2px;display:flex}.rail-item,button.rail-item{border-radius:var(--r-md);width:40px;height:40px;color:var(--muted);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.rail-item:hover,button.rail-item:hover:not(:disabled){background:var(--panel-2);color:var(--text)}.rail-item.active,.rail-item.active:hover{background:var(--primary-soft);color:var(--primary)}button.rail-job{border:var(--rule-ink);border-radius:var(--r-sm);background:var(--panel);width:40px;height:32px;color:var(--text);font-family:var(--font-mono);letter-spacing:.06em;flex:none;padding:0;font-size:12px;font-weight:600}button.rail-job:hover:not(:disabled){background:var(--panel-2)}.rail-flyout-backdrop{z-index:70;position:fixed;inset:0}.sidebar nav.rail-flyout{z-index:71;width:208px;padding:var(--s2);background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-md,0 12px 32px #15202b38);flex-direction:column;gap:2px;display:flex;position:fixed}.rail-flyout .sidebar-label{padding:var(--s1) var(--s2)}.rail-rule{width:24px;height:1px;margin:var(--s1) 0;background:var(--border);flex:none}button.find-or-ask{align-items:center;gap:var(--s2);width:100%;min-height:var(--control-h-sm);padding:0 var(--s2) 0 var(--s3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--panel-2);color:var(--muted);font-size:var(--fs-md);text-align:left;cursor:text;font-weight:400;display:flex}button.find-or-ask:hover:not(:disabled){background:var(--panel);border-color:var(--text);color:var(--text)}button.find-or-ask:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.find-or-ask svg{flex:none}.find-or-ask kbd,.cmd kbd{font-family:var(--font-mono);color:var(--muted);border:1px solid var(--border);background:var(--panel);border-radius:4px;margin-left:auto;padding:1px 5px;font-size:11px}.more-sheet button.find-or-ask{min-height:var(--control-h);margin-bottom:var(--s3);font-size:var(--fs-md)}.cmd-backdrop{z-index:90;padding:12vh var(--s4) var(--s4);background:#15202b47;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.cmd{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-lg);width:min(640px,100%);max-height:70vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.cmd-input{align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-bottom:1px solid var(--border);color:var(--muted);display:flex}.cmd-input svg{flex:none}.cmd-input input{min-width:0;box-shadow:none;padding:var(--s2) 0;font-size:var(--fs-lg);color:var(--text);background:0 0;border:0;outline:0;flex:auto}.cmd-input input:focus{box-shadow:none}button.cmd-close{min-height:var(--control-h-sm);padding:0 var(--s3);background:var(--panel);border:1px solid var(--border);color:var(--muted);font-size:var(--fs-sm);flex:none}.cmd-list{overscroll-behavior:contain;min-height:0;padding:var(--s1) var(--s2) var(--s2);flex:auto;overflow-y:auto}.cmd-section+.cmd-section{margin-top:var(--s1)}.cmd-section-name{margin:var(--s2) var(--s2) var(--s1);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:500}.cmd-item{align-items:center;gap:var(--s3);min-height:40px;padding:var(--s1) var(--s2);border-radius:var(--r-md);color:var(--text);cursor:pointer;display:flex}.cmd-item svg{color:var(--muted);flex:none}.cmd-item.on{background:var(--primary-soft);color:var(--primary)}.cmd-item.on svg{color:var(--primary)}.cmd-item.busy{cursor:progress}.cmd-item-text{flex-direction:column;min-width:0;display:flex}.cmd-item-label,.cmd-item-detail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cmd-item-label{font-size:var(--fs-md);font-weight:500}.cmd-item-detail{font-size:var(--fs-xs);color:var(--muted)}.cmd-note{margin:var(--s1) var(--s2);font-size:var(--fs-sm);color:var(--muted)}.cmd-error{padding:var(--s2) var(--s3);font-size:var(--fs-sm);color:var(--danger);background:var(--danger-soft);margin:0}.cmd-keys{padding:var(--s2) var(--s3);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--muted);margin:0}@media (width<=760px){.cmd-backdrop{padding:var(--s2)}.cmd{max-height:60dvh}.cmd-input input{font-size:16px}.cmd-keys{display:none}}select.job-switch,.job-switch-one{width:100%;min-height:var(--control-h);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-md);font-weight:600}.job-switch-one{padding:0 var(--s3);background:var(--panel-2);text-overflow:ellipsis;white-space:nowrap;align-items:center;display:flex;overflow:hidden}.job-switch-note{padding:var(--s1) var(--s2);font-size:var(--fs-sm);color:var(--muted)}.job-crumb{margin:0 0 var(--s2);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.job-crumb a{color:var(--muted)}.job-crumb strong{color:var(--text);font-weight:600}.job-phone-head{gap:var(--s2);margin-bottom:var(--s3);flex-direction:column;display:flex}.job-chips{gap:var(--s2);scrollbar-width:none;margin:0 calc(-1 * var(--s3));padding:0 var(--s3);display:flex;overflow-x:auto}.job-chip{min-height:var(--control-h);padding:0 var(--s3);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--panel);color:var(--muted);font-size:var(--fs-md);white-space:nowrap;flex:none;align-items:center;font-weight:500;text-decoration:none;display:flex}.job-chip.active{background:var(--primary-soft);border-color:var(--primary-soft);color:var(--primary);font-weight:600}.conversation-item.active{color:var(--primary);font-weight:600}.sidebar-footer{border-top:1px solid var(--border);padding-top:var(--s3);justify-content:space-between;align-items:center;gap:var(--s2);font-size:var(--fs-sm);display:flex}button.link-btn.user-chip{text-align:left;min-width:0}.your-account,.your-account-part{gap:var(--s3);flex-direction:column;display:flex}.your-account-part{border-top:1px solid var(--border);padding-top:var(--s3)}.user-chip{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.content{--content-foot:calc(var(--s5) + 2 * var(--corner-h) + var(--s2) + var(--s4));min-width:0;padding:var(--s5) var(--s5) var(--content-foot);flex:1;position:relative;overflow-y:auto}:is(.content:has(.chat-screen),.content:has(.viewer)){--content-foot:var(--s6)}.screen{gap:var(--s4);flex-direction:column;min-width:0;display:flex}.screen-header{gap:var(--s1);flex-direction:column;min-width:0;display:flex}.screen-header h1,.section-header h1{letter-spacing:-.01em;margin:0;font-size:26px;font-weight:600}.screen-header p,.section-header p{max-width:70ch;color:var(--muted);margin:0}:is(.screen-header:has(>h1),.section-header){border-bottom:var(--rule-ink);padding-bottom:var(--s3)}.empty-hint{color:var(--muted);padding:var(--s6);text-align:center;border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--panel)}.error-banner{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-border);padding:var(--s3);border-radius:var(--r-sm);font-size:var(--fs-sm);overflow-wrap:anywhere}.conversations-head{justify-content:space-between;align-items:center;gap:var(--s2);min-width:0;display:flex}button.new-conversation{background:var(--panel);border-color:var(--border-strong);color:var(--text);padding:6px var(--s3);min-height:var(--control-h-sm);font-size:var(--fs-sm);flex:none}button.new-conversation:hover:not(:disabled){background:var(--panel-2)}.conversations{gap:var(--s1);min-height:88px;margin-top:var(--s3);flex-direction:column;flex:1;display:flex}.sidebar-label{padding:0 var(--s2);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px;font-weight:500}.sidebar-note,.sidebar-error{padding:0 var(--s2);font-size:var(--fs-xs);color:var(--muted);margin:0}.sidebar-error{color:var(--danger)}.conversation-list{gap:var(--s1);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex-direction:column;min-height:0;display:flex;overflow-y:auto}.conversation-group{flex-direction:column;gap:2px;display:flex}.conversation-day{margin:var(--s2) 0 2px;padding:0 var(--s2);font-size:var(--fs-xs);color:var(--muted)}.conversation-row{border-radius:var(--r-md);align-items:center;gap:2px;min-width:0;display:flex}.conversation-row:hover,.conversation-row:focus-within{background:var(--panel-2)}.conversation-row:has(.conversation-item.active){background:var(--primary-soft)}.conversation-job{margin-right:var(--s1);padding:0 var(--s1);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--muted);font-size:var(--fs-xs);vertical-align:-2px;text-overflow:ellipsis;white-space:nowrap;max-width:9ch;font-weight:600;display:inline-block;overflow:hidden}button.row-action{opacity:0;color:var(--muted);padding:2px var(--s1);font-size:var(--fs-sm);background:0 0;border-color:#0000;flex:none;line-height:1}.conversation-row:hover button.row-action,.conversation-row:focus-within button.row-action,button.row-action:focus-visible{opacity:1}button.row-action:hover:not(:disabled){background:var(--border);color:var(--text)}button.row-action.danger:hover:not(:disabled){background:var(--danger);color:#fff}.conversation-row:has(.conversation-item.active) button.row-action{color:var(--primary)}.conversation-row:has(.conversation-item.active) button.row-action:hover:not(:disabled){background:var(--primary);color:#fff}.conversation-confirm{gap:var(--s2);padding:var(--s2) var(--s3);border-radius:var(--r-md);background:var(--danger-soft);border:1px solid var(--danger-border);flex-direction:column;display:flex}.conversation-confirm p{font-size:var(--fs-xs);color:var(--danger);overflow-wrap:anywhere;margin:0}.conversation-confirm-actions{gap:var(--s2);display:flex}.conversation-confirm-actions button{padding:var(--s1) var(--s2);font-size:var(--fs-xs);flex:auto}.conversation-rename input{width:100%;padding:var(--s1) var(--s2);font-size:var(--fs-sm)}.conversation-item{min-width:0;padding:var(--s1) var(--s3);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;flex:1;text-decoration:none;display:block;overflow:hidden}.conversation-item:hover{color:var(--primary)}.chat-messages{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s4);gap:var(--s3);height:clamp(280px,52vh,620px);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow-y:auto}.content:has(.chat-screen){flex-direction:column;display:flex}.content:has(.chat-screen) .section{flex:1;min-height:0}.chat-screen{flex:1;min-height:0}.chat-screen .chat-messages{flex:1;height:auto}.chat-screen .empty-hint p{margin:0 0 var(--s3)}.chat-messages>*{flex:none}.chat-bubble{max-width:min(80%,720px);padding:var(--s2) var(--s3);border-radius:var(--r-md);font-size:var(--fs-md);line-height:var(--lh);white-space:pre-wrap;overflow-wrap:anywhere}.chat-bubble.role-user{background:var(--primary);color:#fff;align-self:flex-end}.bubble-time{font-weight:400}.md-record{color:var(--primary);text-underline-offset:2px;font-weight:600;text-decoration:underline}.copy-answer{margin-top:var(--s1);display:block}.no-answer{color:var(--muted);margin-top:calc(-1 * var(--s2));align-self:flex-end}.chat-bubble.role-assistant{background:var(--panel-2);border:1px solid var(--border);align-self:flex-start}.chat-bubble.role-tool{white-space:normal;background:0 0;border:none;align-self:stretch;max-width:100%;padding:0}.tool-output{white-space:pre-wrap}.tool-toggle{text-align:left;width:100%;padding:var(--s1) var(--s2);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--muted);font-size:var(--fs-xs);cursor:pointer;font-family:inherit;display:block}.tool-toggle:hover{color:var(--text);border-color:var(--primary)}.tool-output{margin-top:var(--s1);padding:var(--s2) var(--s3);background:var(--success-soft);border-radius:var(--r-sm);font-family:var(--mono);font-size:var(--fs-xs);border:1px solid #b9dcc6;max-height:320px;overflow:auto}.chat-bubble.role-system{background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm);align-self:center}.chat-bubble.is-error{border-color:var(--danger)}.bubble-role{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;opacity:.6;margin-bottom:2px}.bubble-tool-name{margin-bottom:var(--s1);font-weight:600}.cursor-blink{vertical-align:text-bottom;background:currentColor;width:6px;height:1em;margin-left:2px;animation:1s step-start infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.thinking-indicator{color:var(--muted);font-size:var(--fs-sm);font-style:italic}.chat-compose{gap:var(--s1);flex-direction:column;min-width:0;display:flex}.chat-input-row{align-items:flex-end;gap:var(--s2);min-width:0;display:flex}.chat-input-row textarea{min-width:0;min-height:var(--control-h);resize:none;flex:1;overflow-y:auto}.chat-compose-note{margin:0}.assistant-fab{right:var(--s5,24px);bottom:var(--s5,24px);z-index:950;align-items:center;gap:var(--s2);min-height:48px;padding:0 var(--s4);box-shadow:var(--shadow-md,0 6px 18px #15202b2e);border-radius:999px;display:inline-flex;position:fixed}.phone-shell .assistant-fab{right:var(--s4);bottom:calc(80px + env(safe-area-inset-bottom));justify-content:center;width:56px;height:56px;padding:0}:root{--assistant-w:440px;--assistant-history-w:264px}.assistant-panel{z-index:960;width:min(var(--assistant-w), 100vw);background:var(--bg,#fff);border-left:1px solid var(--border-strong);display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-10px 0 28px #15202b24}.assistant-panel.with-history{width:min(calc(var(--assistant-w) + var(--assistant-history-w)), 100vw)}.assistant-main{gap:var(--s2);min-width:0;min-height:0;padding:var(--s3);flex-direction:column;flex:1;display:flex}.assistant-history{flex:0 0 var(--assistant-history-w);gap:var(--s2);min-width:0;min-height:0;padding:var(--s3);background:var(--panel);border-right:1px solid var(--border);flex-direction:column;display:flex}.assistant-history .conversations{flex:1;min-height:0;margin-top:0}.assistant-history .conversation-item{padding:6px var(--s2)}.assistant-history-head{align-items:center;gap:var(--s2);min-height:var(--control-h);display:flex}.assistant-history-head .assistant-icon-btn{display:none}@media (width<=1099px){.assistant-panel.with-history{width:min(var(--assistant-w), 100vw)}.assistant-history{z-index:1;border-right:0;position:absolute;inset:0}.assistant-history-head .assistant-icon-btn{display:inline-flex}}.assistant-panel.is-phone,.assistant-panel.is-phone.with-history{width:auto;box-shadow:none;border-left:0;inset:0}.assistant-panel.is-phone .assistant-main,.assistant-panel.is-phone .assistant-history{padding:calc(var(--s3) + env(safe-area-inset-top)) var(--s3) calc(var(--s3) + env(safe-area-inset-bottom))}.app-shell .content{transition:margin-right .15s}@media (width>=1280px){.app-shell.assistant-open .content{margin-right:var(--assistant-w)}}@media (width>=1680px){.app-shell.assistant-open.assistant-history .content{margin-right:calc(var(--assistant-w) + var(--assistant-history-w))}}.assistant-head{align-items:center;gap:var(--s2);display:flex}.assistant-title{flex-direction:column;flex:1;min-width:0;display:flex}.assistant-title .small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assistant-actions{align-items:center;gap:var(--s1);flex-shrink:0;display:flex}.assistant-icon-btn,button.assistant-icon-btn{min-width:var(--control-h);min-height:var(--control-h);border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--text);flex:none;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}button.assistant-icon-btn.on,button.assistant-icon-btn.on:hover:not(:disabled){background:var(--primary-soft);border-color:var(--primary-soft);color:var(--primary)}button.assistant-new{align-items:center;gap:var(--s1);min-height:var(--control-h);padding:0 var(--s3);font-size:var(--fs-sm);display:inline-flex}.assistant-body{gap:var(--s2);flex-direction:column;flex:1;min-height:0;display:flex}.assistant-body .chat-messages{height:auto;min-height:0;padding:var(--s3);flex:1}button.conversation-item{border-radius:var(--r-md);text-align:left;width:100%;font-weight:400;line-height:inherit;background:0 0;border:0}button.conversation-item:hover:not(:disabled){color:var(--primary);background:0 0}.conversation-search{display:block;position:relative}.conversation-search svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.conversation-search input{width:100%;min-height:var(--control-h);padding-left:34px}.chat-screen.ask-layout{flex-direction:row}.ask-history{flex:0 0 var(--assistant-history-w);min-width:0;min-height:0;padding-right:var(--s4);border-right:1px solid var(--border);flex-direction:column;display:flex}.ask-history .conversations{flex:1;min-height:0;margin-top:0}.ask-main{gap:var(--s4);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}@media (width<=1279px){.chat-screen.ask-layout .ask-history{flex-basis:220px}}@media (width<=1023px){.chat-screen.ask-layout{flex-direction:column}.chat-screen.ask-layout .ask-history{max-height:176px;padding:0 0 var(--s3);border-right:0;border-bottom:1px solid var(--border);flex:none}.chat-screen.ask-layout .ask-history .conversation-list{overflow-y:auto}}@media (width<=760px){.section:has(.chat-screen)>.section-header{display:none}}.ask-phone-head{align-items:center;gap:var(--s2);min-width:0;display:flex}.ask-back{align-items:center;gap:var(--s1);min-height:var(--control-h);padding:0 var(--s3);border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--text);flex:none;font-weight:600;text-decoration:none;display:inline-flex}.ask-phone-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.dialog-panel .dialog-body{padding-bottom:72px}.conversation-empty p{margin:0 0 var(--s2)}.conversation-suggestions{gap:var(--s1);flex-wrap:wrap;display:flex}.conversation-suggestions button{text-align:left;min-height:40px;font-weight:500}.voice-corrections{gap:var(--s1);padding:0;list-style:none;display:grid}button.voice-btn{min-width:var(--control-h);min-height:var(--control-h);padding:0 var(--s2);justify-content:center;align-items:center;gap:var(--s1);display:inline-flex}button.voice-btn.recording{background:var(--danger);color:#fff}button.voice-btn.recording:hover:not(:disabled){background:var(--danger-dark)}.voice-clock{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.voice-reading{font-size:var(--fs-sm);white-space:nowrap}.approval-banner{background:var(--warn-soft);border-radius:var(--r-lg);padding:var(--s4);gap:var(--s3);border:1px solid #efd3ad;flex-direction:column;min-width:0;display:flex}.approval-card{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s4);gap:var(--s3);flex-direction:column;min-width:0;display:flex}.approval-title,.approval-card-header{align-items:center;gap:var(--s2);flex-wrap:wrap;min-width:0;font-weight:600;display:flex}.badge{background:var(--primary-soft);color:var(--primary);font-size:var(--fs-xs);padding:2px var(--s2);border-radius:var(--r-sm);white-space:nowrap;flex-shrink:0;font-weight:600}.badge-warn{background:var(--danger-soft);color:var(--danger)}.takeoff-badge.badge-ok{background:var(--success-soft);color:var(--success)}.takeoff-badge.badge-warn{background:var(--warn-soft);color:var(--warn)}.approval-item{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s2) var(--s3);background:#fff;min-width:0}.approval-item.financial{border-color:var(--danger-border)}.approval-func{font-family:var(--mono);font-size:var(--fs-sm);align-items:center;gap:var(--s1);flex-wrap:wrap;min-width:0;display:flex}.approval-preview{margin:var(--s1) 0 0;font-size:var(--fs-xs);font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);max-height:220px;overflow:auto}.approval-feedback{width:100%}.approval-actions{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}:is(.approval-actions,.mark-sheet-actions,.report-actions,.confirm-inline,.conversation-confirm-actions,.viewer-head-actions,.dialog-actions)>button{justify-content:center;align-items:center;gap:var(--s1);white-space:nowrap;min-height:36px;display:inline-flex}.dialog-actions{justify-content:flex-end;align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.upload-form{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s5);gap:var(--s4);max-width:620px;box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.dropzone{border:2px dashed var(--border);border-radius:var(--r-lg);padding:var(--s6) var(--s4);text-align:center;color:var(--muted);cursor:pointer;font-size:var(--fs-md);overflow-wrap:anywhere}.dropzone:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.voice-note-preview{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.upload-actions{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.upload-result{background:var(--success-soft);border-radius:var(--r-lg);padding:var(--s4);border:1px solid #b9dcc6;max-width:620px}.upload-result-title{font-size:var(--fs-sm);color:var(--muted)}.upload-result-type{font-size:var(--fs-lg);color:var(--success-dark);margin:var(--s1) 0 var(--s2);font-weight:700}.ws-name{min-width:0;font-weight:700}.review-card{border-left:3px solid var(--warn)}.review-message{font-size:var(--fs-md);line-height:var(--lh);margin:0}.review-preview{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s2) var(--s3);background:#fff;max-height:200px;overflow:auto}.review-category-row select{max-width:340px}.admin-key-form{gap:var(--s2);max-width:460px;display:flex}.admin-key-form input{flex:1;min-width:0}.admin-summary{gap:var(--s2);flex-wrap:wrap;display:flex}.admin-tile{min-width:104px;padding:var(--s2) var(--s3);background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-md);flex-direction:column;display:flex}.admin-tile-n{font-family:var(--font-mono);font-size:var(--fs-xl);font-variant-numeric:tabular-nums;font-weight:600}.admin-tile-alert{border-color:var(--danger);color:var(--danger);max-width:340px}.admin-controls{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.admin-controls input{flex:220px;min-width:0}@media (width<=760px){.admin-controls select{flex:150px}}.admin-toggle{border:1px solid var(--border);border-radius:var(--r-sm);flex-wrap:wrap;display:inline-flex;overflow:hidden}.admin-toggle button{background:var(--panel);color:var(--text);border:0;border-radius:0;font-weight:600}.admin-toggle button:hover:not(:disabled){background:var(--panel-2)}.admin-toggle button.active,.admin-toggle button.active:hover:not(:disabled){background:var(--primary);color:#fff}.admin-body{gap:var(--s4);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;display:grid}.admin-list{gap:var(--s2);flex-direction:column;min-width:0;display:flex}.admin-row{align-items:flex-start;gap:var(--s2);padding:var(--s3);background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--r-md);text-align:left;width:100%;min-width:0;font-weight:400;display:flex}button.admin-row:hover:not(:disabled){background:var(--panel-2);border-color:var(--primary)}.admin-row.selected,.admin-row.active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.admin-row-main{gap:var(--s1) var(--s2);min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;flex:1;align-items:center;padding:0;font-weight:400;display:flex}button.admin-row-main:hover:not(:disabled){background:0 0}button.admin-row-main:hover .admin-row-summary{text-decoration:underline}.admin-row-summary{font-size:var(--fs-sm);color:var(--muted);flex-basis:100%}.admin-bulk{gap:var(--s2);padding:var(--s2);background:var(--panel);border:1px dashed var(--primary);border-radius:var(--r-md);flex-wrap:wrap;align-items:center;display:flex}.admin-bulk input{flex:240px;min-width:0}.admin-detail{top:var(--s3);padding:var(--s4);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);min-width:0;max-height:calc(100vh - 48px);box-shadow:var(--shadow-sm);position:sticky;overflow:auto}.admin-detail h3{margin:var(--s4) 0 var(--s1);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.admin-detail h3:first-child{margin-top:0}.admin-detail-title{margin:var(--s2) 0 var(--s1);font-size:var(--fs-lg);line-height:1.35}.admin-json{max-height:280px;font-size:var(--fs-xs);font-family:var(--mono);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--s2);white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto}.admin-mono{font-family:var(--mono);font-size:var(--fs-sm)}.admin-callout{padding:var(--s2) var(--s3);border:1px solid var(--border);background:var(--panel-2);border-radius:var(--r-md);font-size:var(--fs-sm)}.admin-callout.warn{background:var(--warn-soft);border-color:#efd3ad}.admin-textarea{width:100%;font:inherit;font-size:var(--fs-md)}.badge.sev-error{background:var(--danger);color:#fff}.badge.sev-warning{background:var(--warn);color:#fff}.badge.sev-info{background:var(--border);color:var(--text)}.admin-sections{margin:0 0 var(--s3)}.search-log-item{max-height:none;margin-bottom:var(--s3);position:static}.search-log-item .admin-detail-title{text-transform:none;letter-spacing:normal;color:inherit;font-size:var(--fs-md);margin:var(--s1) 0}.search-log-results{margin:var(--s2) 0;padding-left:var(--s5)}.search-log-results li{gap:var(--s2);overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;padding:2px 0;display:flex}.search-log-right{color:var(--success);font-weight:600}.feedback-row{align-items:center;gap:var(--s2);margin-top:var(--s2);flex-wrap:wrap;display:flex}.feedback-btn{border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);padding:var(--s1) var(--s3);min-height:28px;font-size:var(--fs-md);background:0 0}.feedback-btn:hover:not(:disabled){background:var(--panel-2);border-color:var(--border-strong)}.feedback-form{gap:var(--s2);flex:280px;min-width:0;max-width:720px;display:flex}.feedback-form input{flex:1;min-width:0}.records-body{gap:var(--s4);grid-template-columns:minmax(260px,1fr) minmax(0,2fr);align-items:start;display:grid}.records-list{gap:var(--s2);flex-direction:column;min-width:0;max-height:72vh;display:flex;overflow-y:auto}.records-list .admin-row{text-align:left;width:100%}.records-fields,.records-lines{border-collapse:collapse;width:100%;margin:var(--s2) 0;table-layout:fixed;font-size:var(--fs-sm)}.records-fields td,.records-lines td,.records-lines th{padding:var(--s1) var(--s2);vertical-align:top;overflow-wrap:anywhere}.records-lines th{text-align:left;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border)}.records-lines tr+tr td{border-top:1px solid var(--border)}.records-fields input,.records-lines input,.records-note{width:100%}.records-fields td:first-child{width:32%;padding-top:calc(var(--s1) + 10px)}.records-fields tr:has(input[type=checkbox]) td:first-child{padding-top:var(--s1)}.records-source pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);max-height:40vh;padding:var(--s2);font-family:var(--mono);font-size:var(--fs-xs);overflow:auto}.project-addresses{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--border);gap:var(--s2);flex-direction:column;align-items:flex-start;display:flex}.plain-list{gap:var(--s1);flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.plain-list li{gap:var(--s2);font-size:var(--fs-sm);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;min-width:0;display:flex}.plain-list li>span:first-child{flex:260px;min-width:0}.date-pair{gap:var(--s2);flex-wrap:wrap;display:flex}.date-pair input{flex:140px;min-width:0}@media (width<=1100px){.admin-body,.records-body{grid-template-columns:minmax(0,1fr)}.admin-detail{max-height:none;position:static}.records-list{max-height:340px}}@media (width<=860px){button.row-action{opacity:1}.content{padding:var(--s4) var(--s4) var(--content-foot)}}@media (width<=640px){.screen-header h1{font-size:var(--fs-xl)}.chat-bubble{max-width:100%}.approval-actions button,.upload-actions button{flex:auto}.content{padding:var(--s3) var(--s3) var(--content-foot)}}.firm-grid{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.section{gap:var(--s4);flex-direction:column;min-width:0;display:flex}.section-header{gap:var(--s1);flex-direction:column;display:flex}.section-tabs{gap:var(--s1);scrollbar-width:none;border-bottom:1px solid var(--border);flex-wrap:nowrap;display:flex;overflow-x:auto}.section-tab{color:var(--muted);padding:10px var(--s3);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:none;align-items:center;font-weight:500;display:flex}.section-tab:hover:not(:disabled){color:var(--text);border-bottom-color:var(--border-strong);background:0 0}.section-tab.active,.section-tab.active:hover:not(:disabled){color:var(--primary);border-bottom-color:var(--primary);background:0 0;font-weight:600}.section-tab-label{font-size:var(--fs-md)}@media (width<=640px){.section-tab{flex:1 0 auto;justify-content:center}}.md{white-space:normal;overflow-wrap:anywhere}.md>*{margin:0 0 var(--s2)}.md>:last-child{margin-bottom:0}.md-heading{font-weight:600}.md ul,.md ol{padding-left:var(--s5)}.md li+li{margin-top:var(--s1)}.md code{font-family:var(--mono);font-size:var(--fs-sm);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:0 var(--s1)}.md-code{font-family:var(--mono);font-size:var(--fs-xs);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--s2) var(--s3);white-space:pre;overflow-x:auto}.md blockquote{border-left:3px solid var(--border-strong);padding:var(--s1) var(--s3);color:var(--muted)}.md blockquote.md-note{border-left-color:var(--warn);background:var(--warn-soft);color:var(--text);border-radius:0 var(--r-sm) var(--r-sm) 0}.md-note-label{font-size:var(--fs-xs);color:var(--warn);text-transform:uppercase;letter-spacing:.04em;font-weight:600;display:block}.md-table-wrap{overflow-x:auto}.md-table{border-collapse:collapse;font-size:var(--fs-sm)}.md-table th,.md-table td{border:1px solid var(--border);padding:var(--s1) var(--s2);text-align:left;vertical-align:top}.md-table th{background:var(--panel-2);font-weight:600}.md-rule{border:0;border-top:1px solid var(--border)}.records-row{align-items:stretch;gap:var(--s1);flex-direction:column}.records-row .admin-row-main{flex:none}.records-row .admin-row-summary{color:var(--text);flex-basis:auto}.approval-card>.feedback-form{flex:none}.inline-check{align-items:center;gap:var(--s2);font-size:var(--fs-sm);flex-direction:row;display:flex}.inline-check input{width:auto;margin:0}.plain-fieldset{gap:var(--s1);border:0;flex-direction:column;margin:0;padding:0;display:flex}.break-anywhere{overflow-wrap:anywhere}.row-list{gap:var(--s2);flex-direction:column;display:flex}.list-row{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.list-row.open{box-shadow:0 1px 3px #0f172a0f}.list-row-head{align-items:center;gap:var(--s3);width:100%;padding:var(--s3) var(--s4);text-align:left;cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) minmax(0,1.4fr) auto;display:grid}.list-row-head:hover{background:var(--bg)}.list-row-head:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.list-row-caret{color:var(--muted);font-size:var(--fs-sm)}.list-row-title{align-items:center;gap:var(--s2);min-width:0;font-weight:600;display:flex}.list-row-meta,.list-row-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list-row-flags{gap:var(--s2);flex-wrap:wrap;justify-content:flex-end;display:flex}.list-row-body{padding:0 var(--s4) var(--s4);border-top:1px solid var(--border);gap:var(--s3);flex-direction:column;display:flex}.list-row-body>.records-fields{margin-top:var(--s3)}.field-label{font-weight:600;font-size:var(--fs-sm)}@media (width<=900px){.list-row-head{row-gap:var(--s1);grid-template-columns:auto minmax(0,1fr)}.list-row-meta,.list-row-flags{white-space:normal;grid-column:2;justify-content:flex-start}}.form-section{font-weight:600;font-size:var(--fs-sm);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:var(--s2)}.form-section:first-child{margin-top:0}.load-failed{align-items:flex-start;gap:var(--s3);flex-direction:column;display:flex}.form-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s4);gap:var(--s3);flex-direction:column;display:flex}.cell-money{white-space:nowrap}.account-row{border-top:1px solid var(--border)}.account-row:first-of-type{border-top:none}.account-summary{align-items:baseline;gap:var(--s2);width:100%;padding:var(--s3) 0;text-align:left;color:inherit;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:none;flex-wrap:wrap;min-width:0;display:flex}.account-summary:hover{background:var(--panel-2)}.account-editor{gap:var(--s2);padding:0 0 var(--s4);flex-direction:column;display:flex}.access-row{align-items:center;gap:var(--s2);grid-template-columns:150px 130px 1fr;min-width:0;display:grid}.access-row>.access-label{font-size:var(--fs-md)}.access-row>input[type=checkbox]{justify-self:start}.access-row>.small{overflow-wrap:anywhere;min-width:0}@media (width<=640px){.access-row{gap:var(--s1) var(--s2);padding-bottom:var(--s2);grid-template-columns:auto minmax(0,1fr)}.access-row>.access-label{grid-column:1/-1;font-weight:600}}.project-access{gap:var(--s2);flex-direction:column;display:flex}.project-dropdown,.project-dropdown+.small{margin:0 0 0 calc(150px + var(--s2))}.project-dropdown{max-width:420px;position:relative}.project-dropdown-button{align-items:center;gap:var(--s2);width:100%;padding:var(--s2) var(--s3);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font-size:var(--fs-md);text-align:left;cursor:pointer;display:flex}.project-dropdown-button>:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.project-dropdown-panel{z-index:20;top:calc(100% + var(--s1));gap:var(--s2);padding:var(--s2);background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:absolute;left:0;right:0}.project-dropdown-list{flex-direction:column;max-height:280px;display:flex;overflow-y:auto}.project-dropdown-item{align-items:center;gap:var(--s2);padding:var(--s1) var(--s2);border-radius:var(--r-sm);color:var(--text);cursor:pointer;flex-direction:row}.project-dropdown-item:hover{background:var(--panel-2)}.project-dropdown-name{font-size:var(--fs-md);overflow-wrap:anywhere;min-width:0}@media (width<=640px){.project-dropdown,.project-dropdown+.small{margin-left:0}.project-dropdown{max-width:none}}.save-bar{justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-radius:var(--r-md);background:var(--warn-soft);border:1px solid var(--warn);flex-wrap:wrap;display:flex}.save-bar .approval-actions{margin:0}.save-bar.saved{background:var(--success-soft);border-color:var(--success)}.rate-input{align-items:center;gap:var(--s2);min-width:0;display:flex}.rate-input>input{flex:1}.role-new{align-items:center;gap:var(--s2);flex-wrap:wrap;min-width:0;display:flex}.role-new>select,.role-new>input{flex:100%;min-width:0}.role-new-actions{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.firm-roles{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--border)}.firm-role-list{margin:var(--s2) 0 0;padding:0;list-style:none}.firm-role-list li{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.one-time-password{font-family:var(--mono);font-size:var(--fs-xl);letter-spacing:.04em;margin-top:var(--s2);-webkit-user-select:all;user-select:all}.timesheet-controls{align-items:flex-end;gap:var(--s3);flex-wrap:wrap;display:flex}.timesheet-controls>label{gap:var(--s1);font-size:var(--fs-sm);flex-direction:column;min-width:0;max-width:100%;display:flex}.timesheet-controls select{max-width:100%}.week-nav{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}@media (width<=640px){.week-nav:has(>:nth-child(4):last-child){grid-template-columns:1fr 1fr;display:grid}.week-nav:has(>:nth-child(4):last-child)>*{width:100%;min-width:0}.week-nav:has(>:nth-child(4):last-child)>:first-child{grid-area:1/1}.week-nav:has(>:nth-child(4):last-child)>:nth-child(4){grid-area:1/2}.week-nav:has(>:nth-child(4):last-child)>:nth-child(2){grid-area:2/1}.week-nav:has(>:nth-child(4):last-child)>:nth-child(3){grid-area:2/2}}.timesheet-views{align-self:flex-end}.timesheet-year{text-align:center;min-width:48px}.timesheet-period{gap:var(--s3);flex-direction:column;display:flex}.timesheet-period .approval-card-header .btn-secondary{margin-left:auto}.timesheet-period-table tfoot td{border-top:2px solid var(--border-strong)}:is(.timesheet-period-table,.timesheet-months,.job-team table) :is(td,th).num{text-align:right}.timesheet-period-h{margin:var(--s2) 0 0;font-size:var(--fs-md)}.timesheet-bar-cell{width:30%}.timesheet-bar{border-radius:var(--r-pill);background:var(--primary);opacity:.7;height:8px;display:block}.job-team{gap:var(--s2);flex-direction:column;display:flex}.firm-grid label.small>.muted{font-size:var(--fs-xs);display:block}.clock-rule-examples{padding-left:var(--s4);margin:0}.clock-new-person{gap:var(--s2);margin-top:var(--s2);flex-wrap:wrap;display:flex}.clock-new-person label{flex-direction:column;gap:2px;display:flex}.person-rates,.person-role{margin-top:var(--s2);padding:var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel-2)}.person-rate-list{margin:0 0 var(--s2);padding-left:var(--s4)}.timesheet-scroll{max-width:100%;overflow-x:auto}.timesheet-grid{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.timesheet-grid th,.timesheet-grid td{border:1px solid var(--border);padding:var(--s1) var(--s2);vertical-align:top;text-align:left}.timesheet-grid thead th{background:var(--bg);white-space:nowrap}.timesheet-grid tbody th{overflow-wrap:anywhere;min-width:160px;max-width:220px;font-weight:400}.timesheet-grid tfoot th,.timesheet-grid tfoot td{background:var(--bg)}.timesheet-cell{min-width:84px}.timesheet-cell-body{align-items:center;gap:var(--s1);display:flex}.timesheet-cell input{width:64px;min-height:var(--control-h-sm);padding:2px var(--s2);font-family:var(--font-mono)}.timesheet-value{min-width:40px;font-weight:600}.timesheet-cell.off-job{background:var(--bg);color:var(--muted)}.timesheet-cell.selected{outline:2px solid var(--primary);outline-offset:-2px}.timesheet-cell.awaiting-deletion{background:var(--warn-soft)}.timesheet-cell.awaiting-deletion .timesheet-value{text-decoration:line-through}.timesheet-cell.unverified{background:var(--primary-soft)}.timesheet-total{white-space:nowrap;text-align:right}.timesheet-reason{flex:1;min-width:180px}.timesheet-history{padding-left:var(--s5);gap:var(--s1);flex-direction:column;margin:0;display:flex}.timesheet-scroll{container-type:inline-size}.timesheet-grid .timesheet-editor-row>td{background:var(--primary-soft);padding:0}.timesheet-editor{box-sizing:border-box;width:100cqw;padding:var(--s3) var(--s4);gap:var(--s3);flex-direction:column;display:flex;position:sticky;left:0}.proposal-card{margin-top:var(--s3);padding:var(--s3);border:1px solid var(--primary);border-radius:var(--r-md);background:var(--panel);white-space:normal;gap:var(--s2);flex-direction:column;display:flex}.proposal-card.is-saved{border-color:var(--success)}.proposal-card.is-cancelled,.proposal-card.is-replaced{border-color:var(--border);opacity:.8}.proposal-head{justify-content:space-between;align-items:baseline;gap:var(--s1) var(--s3);flex-wrap:wrap;display:flex}.proposal-status{font-size:var(--fs-sm);color:var(--primary);font-weight:600}.proposal-status.is-saved{color:var(--success-dark)}.proposal-status.is-cancelled,.proposal-status.is-replaced{color:var(--muted)}.proposal-card .variation-start,.proposal-card .mark-sheet-actions{margin:0}.proposal-fields{gap:var(--s2) var(--s3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0;display:grid}.proposal-fields dt{font-size:var(--fs-xs);color:var(--muted)}.proposal-fields dd{font-size:var(--fs-sm);margin:0}.answer-sources{margin-top:var(--s3);padding-top:var(--s2);border-top:1px solid var(--border);white-space:normal}.sources-toggle{padding:var(--s1) 0;color:var(--primary);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;font-family:inherit;font-weight:600}.sources-toggle:hover{color:var(--primary-dark)}.sources-note{margin-top:var(--s1)}.sources-others{margin-top:var(--s2);color:var(--muted);font-weight:400;font-size:var(--fs-xs);display:block}.sources-list{margin:var(--s1) 0 0;padding-left:var(--s5);gap:var(--s2);flex-direction:column;display:flex}.sources-list li{overflow-wrap:anywhere;min-width:0}.source-link{color:var(--primary);font-size:var(--fs-sm);text-decoration:underline}.source-link:hover{color:var(--primary-dark)}.source-name{font-size:var(--fs-sm)}.source-meta{display:block}:root{--mark-yellow:#eab308;--mark-red:#dc2626;--mark-blue:#2563eb;--mark-green:#16a34a;--mark-purple:#9333ea;--mark-black:#111827;--stage-bg:#e4e6e0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.back-link{font-size:var(--fs-sm);color:var(--primary);align-self:flex-start;text-decoration:none}.back-link:hover{text-decoration:underline}.documents-filters{gap:var(--s3);flex-wrap:wrap;align-items:flex-end;display:flex}.documents-filters .grow{flex:280px}.documents-filters select{max-width:260px}.documents-table-wrap{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);transition:opacity .12s;overflow-x:auto}.documents-table-wrap.refreshing{opacity:.6}.documents-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:640px;font-size:var(--fs-sm)}.documents-table th{text-align:left;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:var(--s2) var(--s3);border-bottom:1px solid var(--border)}.documents-table td{padding:var(--s2) var(--s3);vertical-align:top;overflow-wrap:anywhere}.documents-table tr+tr td{border-top:1px solid var(--border)}.documents-table .col-name{width:42%}.documents-table .col-project{width:16%}.documents-table .col-folder{width:28%}.documents-table .col-rev,.documents-table .col-notes{width:7%}.documents-table.worked .col-name{width:44%}.documents-table.worked .col-project{width:14%}.documents-table.worked .col-work{width:27%}.documents-table.worked .col-when{width:15%}.documents-views{margin:0}.documents-table .col-name a{color:var(--primary);margin-right:var(--s2);font-weight:600;text-decoration:none}.documents-table .col-name a:hover{text-decoration:underline}.tick-row{cursor:pointer}.tick-row:hover td{background:var(--panel-2)}.documents-table tr.doc-row{cursor:pointer}.documents-table tr.doc-row:hover td{background:var(--panel-2)}.documents-table .doc-note{margin-top:var(--s1);display:block}.documents-table .doc-note-warn{color:var(--danger)}.documents-table .doc-others{align-items:center;gap:var(--s1);width:fit-content;min-height:32px;margin-top:var(--s1);color:var(--muted);font:inherit;font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;padding:0;display:flex}.documents-table .doc-others:hover{color:var(--text)}.documents-table tr.doc-sub-row td{background:var(--panel-2)}.documents-table tr.doc-sub-row td.col-name{padding-left:var(--s6)}.documents-register{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--border)}.documents-register h2{margin:0 0 var(--s1);font-size:var(--fs-md)}.documents-table tr.doc-floor-row th{padding:var(--s3) var(--s3) var(--s2);background:var(--panel-2);color:var(--text);font-size:var(--fs-sm);text-transform:none;letter-spacing:0;text-align:left;font-weight:600}.documents-table .doc-sub-what{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;display:block}.content:has(.viewer){flex-direction:column;display:flex}.viewer{gap:var(--s3);flex-direction:column;flex:1;min-height:0;display:flex}.viewer-full{z-index:50;background:var(--bg);padding:var(--s2) var(--s3);position:fixed;inset:0}.view-group{margin-left:auto}.viewer-head-actions{justify-content:flex-end;align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.head-rule{background:var(--border);width:1px;height:20px}.viewer-head-actions .phone-count{margin-left:2px}.desk-chip.keep-offline-on,.desk-chip.keep-offline-on:hover:not(:disabled){color:var(--success-dark);border-color:var(--success)}.tip{z-index:1100;border-radius:var(--r-md);background:var(--text);max-width:280px;color:var(--panel);box-shadow:var(--shadow-md);font-size:var(--fs-sm);pointer-events:none;flex-direction:column;gap:2px;padding:6px 10px;line-height:1.35;animation:80ms ease-out tip-in;display:flex;position:fixed}.tip strong{font-weight:600}.tip span{opacity:.78;font-size:var(--fs-xs)}@keyframes tip-in{0%{opacity:0}}.desk-chip.keeping svg{animation:1.2s ease-in-out infinite keeping}@keyframes keeping{50%{opacity:.3}}.viewer-head{gap:var(--s1);flex-direction:column;min-width:0;display:flex}.viewer-title{font-size:var(--fs-xl);overflow-wrap:anywhere;margin:0}.viewer-meta{overflow-wrap:anywhere}.viewer-body{gap:var(--s3);flex:1;min-height:0;display:flex}.viewer-main{gap:var(--s2);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.viewer-toolbar{align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.tool-group{align-items:center;gap:var(--s1);display:flex}.tool-group button{padding:0 var(--s3);min-height:34px}.tool-btn.on,.tool-btn.on:hover:not(:disabled){background:var(--primary);border-color:var(--primary);color:#fff}.zoom-readout{min-width:64px}.page-box{align-items:center;gap:var(--s1);flex-direction:row}.page-box input{width:48px;padding:var(--s1) var(--s2);text-align:center}.desk-toolbar{gap:var(--s2)}.desk-group,.desk-segment{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--panel);align-items:center;gap:2px;min-height:36px;padding:2px;display:inline-flex}.desk-segment{background:var(--panel-2);border-radius:10px}.desk-icon,.desk-icon:hover:not(:disabled),.desk-readout,.desk-readout:hover:not(:disabled){min-width:30px;height:30px;min-height:30px;padding:0 var(--s1);color:var(--text);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.desk-readout,.desk-readout:hover:not(:disabled){border-radius:var(--r-pill);min-width:52px;font-size:var(--fs-sm);font-weight:600}.desk-icon:hover:not(:disabled),.desk-readout:hover:not(:disabled){background:var(--panel-2)}.desk-icon:disabled{color:var(--border-strong)}.desk-group .page-box input{width:40px;height:28px;min-height:28px}.desk-tool,.desk-tool:hover:not(:disabled){height:30px;min-height:30px;padding:0 var(--s3) 0 var(--s2);color:var(--text);font-size:var(--fs-sm);background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;font-weight:500;display:inline-flex}.desk-tool:hover:not(:disabled):not(.on){background:var(--panel)}.desk-tool.on,.desk-tool.on:hover:not(:disabled){background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.desk-chip,.desk-chip:hover:not(:disabled){max-width:280px;height:36px;min-height:36px;padding:0 var(--s3);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--panel);color:var(--text);font-size:var(--fs-sm);align-items:center;gap:6px;font-weight:500;display:inline-flex}.desk-chip:hover:not(:disabled){border-color:var(--border-strong)}.desk-chip-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.desk-chip .muted{font-weight:400}.desk-chip.scale-btn.unset{color:var(--warn);border-color:var(--warn)}.desk-view{gap:var(--s2);margin-left:auto;display:inline-flex}.desk-chip-icon,.desk-chip-icon:hover:not(:disabled){padding:0 var(--s2);justify-content:center;min-width:36px}.viewer-main{container-type:inline-size}@container (width<=940px){.desk-tool:not(.on)>span{display:none}.desk-tool:not(.on),.desk-tool:not(.on):hover:not(:disabled){padding:0 var(--s2)}}@container (width<=760px){.desk-toolbar .desk-chip .muted{display:none}}@container (width<=1240px){.desk-toolbar:has(.desk-view) .desk-tool:not(.on)>span{display:none}.desk-toolbar:has(.desk-view) .desk-tool:not(.on){padding:0 var(--s2)}.desk-toolbar:has(.desk-view) .desk-tool:not(.on):hover:not(:disabled){padding:0 var(--s2)}}.viewer-status{top:var(--s2);left:var(--s2);z-index:2;padding:2px var(--s2);border-radius:var(--r-pill);background:var(--panel);color:var(--muted);box-shadow:var(--shadow-sm);pointer-events:none;position:absolute}.viewer-frame{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--stage-bg);flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.viewer-stage{min-width:0;padding:var(--s4);overscroll-behavior:contain;flex:1;overflow:auto}.viewer-stage.panning{cursor:grab}.viewer-stage.panning:active{cursor:grabbing}.viewer-page{box-shadow:var(--shadow-md);background:#fff;margin:0 auto;position:relative}.viewer-canvas{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.mark-layer{position:absolute;inset:0;overflow:visible}.mark-layer.tool-pan{pointer-events:none}.mark-layer.tool-pan .mark{pointer-events:auto;cursor:pointer}.mark-layer.tool-highlight,.mark-layer.tool-pen,.mark-layer.tool-note{cursor:crosshair;touch-action:none}.mark{color:var(--mark-yellow);outline:none}.mark-red{color:var(--mark-red)}.mark-blue{color:var(--mark-blue)}.mark-green{color:var(--mark-green)}.mark-purple{color:var(--mark-purple)}.mark-black{color:var(--mark-black)}.mark-fill{fill:currentColor;fill-opacity:.28;stroke:currentColor;stroke-width:1.5px}.mark-line{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.mark-line.stroke-thin{stroke-width:1.5px}.mark-line.stroke-thick{stroke-width:5px}.mark-hit{fill:none;stroke:#0000;stroke-width:14px}.mark-pin circle,.mark-badge circle{fill:currentColor;stroke:#fff;stroke-width:2px}.mark-pin text,.mark-badge text{fill:#fff;pointer-events:none;font-size:11px;font-weight:700}.mark.resolved{opacity:.4}.mark.draft{opacity:.85}.mark.selected .mark-fill{stroke-width:3px;stroke-dasharray:6 3}.mark.selected .mark-line{stroke-width:4px}.mark.selected .mark-line.stroke-thick{stroke-width:7px}.mark.selected circle,.mark:focus-visible circle{stroke:var(--text);stroke-width:3px}.mark-sheet{left:50%;bottom:var(--s3);width:min(460px, calc(100% - 2 * var(--s3)));max-height:min(80%, calc(100% - 2 * var(--s3)));background:var(--panel);border:var(--rule-ink);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:var(--s3);gap:var(--s2);flex-direction:column;display:flex;position:absolute;overflow-y:auto;transform:translate(-50%)}.mark-sheet-head{justify-content:space-between;align-items:center;gap:var(--s2);padding-bottom:var(--s2);border-bottom:1px solid var(--border);display:flex}.mark-sheet-head strong{align-items:center;gap:var(--s2);display:flex}.mark-sheet textarea{width:100%}.mark-sheet-actions{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.mark-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.confirm-inline{align-items:center;gap:var(--s2);font-size:var(--fs-sm);flex-wrap:wrap;display:inline-flex}button.btn-danger-ghost{background:var(--panel);color:var(--danger);border-color:var(--border-strong)}button.btn-danger-ghost:hover:not(:disabled){background:var(--danger-soft)}.badge-done{background:var(--success-soft);color:var(--success)}.colour-picker{gap:var(--s1);display:flex}button.swatch{border-radius:var(--r-pill);border:2px solid var(--panel);width:24px;height:24px;box-shadow:0 0 0 1px var(--border-strong);padding:0}button.swatch.on{box-shadow:0 0 0 2px var(--text)}button.swatch-yellow,button.swatch-yellow:hover:not(:disabled){background:var(--mark-yellow)}button.swatch-red,button.swatch-red:hover:not(:disabled){background:var(--mark-red)}button.swatch-blue,button.swatch-blue:hover:not(:disabled){background:var(--mark-blue)}button.swatch-green,button.swatch-green:hover:not(:disabled){background:var(--mark-green)}button.swatch-purple,button.swatch-purple:hover:not(:disabled){background:var(--mark-purple)}button.swatch-black,button.swatch-black:hover:not(:disabled){background:var(--mark-black)}.notes-panel{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-md);width:clamp(320px,24vw,380px);min-height:0;padding:var(--s3);gap:var(--s2);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.notes-panel.folded{display:none}.notes-panel-head{gap:var(--s1);flex-direction:column;display:flex}.notes-panel-head h2{font-size:var(--fs-lg);margin:0}.mark-on-layer{align-items:center;gap:var(--s2);color:var(--text);flex-direction:row;display:flex}.mark-on-layer select{flex:1;min-width:0}.check-inline{align-items:center;gap:var(--s2);flex-direction:row}.notes-empty{padding:var(--s2) 0}.notes-list{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}button.note-item{text-align:left;width:100%;color:var(--text);padding:var(--s2);background:0 0;border-color:#0000;flex-direction:column;gap:2px;font-weight:400;display:flex}button.note-item:hover:not(:disabled){background:var(--panel-2)}button.note-item.active,button.note-item.active:hover:not(:disabled){background:var(--primary-soft);border-color:var(--primary)}button.note-item.resolved{opacity:.6}.note-item-head{align-items:center;gap:var(--s2);font-size:var(--fs-sm);font-weight:600;display:flex}.note-dot{border-radius:var(--r-pill);width:20px;height:20px;font-size:var(--fs-xs);color:#fff;background:var(--mark-yellow);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.note-dot.mark-red{background:var(--mark-red)}.note-dot.mark-blue{background:var(--mark-blue)}.note-dot.mark-green{background:var(--mark-green)}.note-dot.mark-purple{background:var(--mark-purple)}.note-dot.mark-black{background:var(--mark-black)}.note-item-body{font-size:var(--fs-sm);overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.source-view{margin-left:var(--s2);color:var(--primary);font-weight:600}@media (width<=860px){.content:has(.viewer){display:block}.viewer-body{flex-direction:column}.viewer-frame{flex:none;height:70dvh}.notes-panel{width:auto;overflow:visible}.notes-toggle{display:none}.notes-panel.folded{display:flex}}@media (width<=640px){.viewer-stage{padding:var(--s2)}}.viewer-title-row{justify-content:space-between;align-items:flex-start;gap:var(--s3);display:flex}.viewer-title-block{gap:var(--s1);flex-direction:column;min-width:0;display:flex}.notes-toggle{flex-shrink:0}.viewer-detail{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute}.compare-filters{width:0;height:0;position:absolute;overflow:hidden}.viewer-page:has(.viewer-compare){isolation:isolate}.viewer-compare{pointer-events:none;position:absolute}.viewer-compare.off{display:none}.viewer-compare.blend{mix-blend-mode:multiply;filter:url(#compare-other)}.viewer-canvas.compare-this,.viewer-detail.compare-this{filter:url(#compare-this)}.viewer-canvas.compare-quiet,.viewer-detail.compare-quiet{filter:url(#compare-quiet)}.compare-wrap{pointer-events:none;position:absolute;inset:0}.compare-mask{pointer-events:none;mix-blend-mode:multiply;position:absolute;inset:0;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.viewer-compare.tint{filter:url(#compare-other)}.viewer-page:has(.viewer-compare) .mark-layer .mark:not(.selected){opacity:.35}.compare-bar{gap:var(--s1);padding:var(--s2) var(--s3);background:var(--panel);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.compare-row{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.compare-pick{align-items:center;gap:var(--s2);color:var(--text);flex-direction:row;min-width:0}.compare-pick select{max-width:min(420px,60vw)}.viewer-phone .compare-bar{padding:var(--s1) var(--s2)}.viewer-phone .compare-pick{flex:1}.viewer-phone .compare-pick select{flex:1;min-width:0;max-width:none}.viewer-phone .compare-bar .tool-group{grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%;display:grid}.compare-key{align-items:center;gap:var(--s1) var(--s2);flex-wrap:wrap;display:inline-flex}.compare-swatch{border-radius:2px;width:14px;height:4px;display:inline-block}.compare-swatch.other{background:var(--compare-other)}.compare-swatch.this{background:var(--compare-this)}.compare-swatch.both{background:var(--text)}.compare-swatch.grey{background:var(--border-strong)}.changes-overlay{pointer-events:none;position:absolute;inset:0;overflow:visible}.change-place rect{fill:none;stroke:var(--compare-place);stroke-width:1px;stroke-opacity:.75;stroke-dasharray:4 3}.moved-list{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.moved-list li{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.change-place.decided rect{stroke-opacity:.45}.change-place.on rect{stroke-width:3px;stroke-dasharray:none}.change-badge{pointer-events:all;cursor:pointer}.change-badge circle{fill:var(--compare-place);stroke:var(--panel);stroke-width:1.5px}.change-badge text{fill:var(--panel);font-size:11px;font-weight:600}.changes-list{margin:0;padding:0;list-style:none}.change-row{gap:var(--s1);padding:var(--s2) 0;border-top:1px solid var(--border);flex-direction:column;display:flex}.change-row.on{background:var(--panel-2)}button.change-head{align-items:center;gap:var(--s2);min-height:32px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:flex}.change-num{border-radius:var(--r-pill);background:var(--compare-place);min-width:22px;height:22px;color:var(--panel);font-size:var(--fs-xs);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.change-kind.added{color:var(--compare-this)}.change-kind.removed{color:var(--compare-other)}.change-texts{padding-left:var(--s5);overflow-wrap:anywhere;margin:0}.change-was{color:var(--compare-other)}.change-now{color:var(--compare-this);text-decoration:none}.change-decided{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}button.change-head:hover:not(:disabled){background:var(--panel-2)}.viewer-phone button.change-head{min-height:var(--control-h)}.clock-how{border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--s2) var(--s3)}.clock-how summary{cursor:pointer}.clock-person{gap:var(--s1);padding-top:var(--s2);border-top:1px solid var(--border);flex-direction:column;display:flex}.clock-days{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.clock-days th,.clock-days td{border-bottom:1px solid var(--border);padding:var(--s1) var(--s2);text-align:left;vertical-align:top}.clock-days th{white-space:nowrap;font-weight:600}.clock-days td:nth-child(2),.clock-days td:nth-child(3){white-space:nowrap}.clock-days tr.clock-problem td{color:var(--muted)}.mark-layer.tool-click{cursor:crosshair;touch-action:none}.mark-measure{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round}.mark-vertex{fill:var(--panel);stroke:currentColor;stroke-width:1.5px}.mark-count{fill:currentColor;fill-opacity:.35;stroke:currentColor;stroke-width:2px}.mark-value{fill:var(--text);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none;font-size:12px;font-weight:700}.mark.selected .mark-measure{stroke-width:3.5px}.scale-btn.unset{color:var(--warn);border-color:var(--warn)}.scale-row{gap:var(--s1);flex-direction:column;display:flex}.scale-input{align-items:center;gap:var(--s2);color:var(--text);flex-wrap:wrap;display:flex}.scale-input input{width:110px}.scale-sheet p{margin:0}.ok-text{color:var(--success)}.job-rfis{gap:var(--s2);flex-direction:column;display:flex}.rfi-list{margin:0;padding:0;list-style:none}.rfi-list>li{padding:var(--s2) 0;border-top:1px solid var(--border)}.rfi-list>li.late .rfi-row strong{color:var(--warn)}button.rfi-row{text-align:left;color:var(--text);flex-direction:column;align-items:flex-start;gap:2px;display:flex}.rfi-card{gap:var(--s2);margin-top:var(--s2);padding:var(--s3);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;display:flex}.rfi-facts{gap:var(--s1) var(--s3);grid-template-columns:max-content 1fr;margin:0;display:grid}.rfi-facts dt{color:var(--muted)}.rfi-facts dd{overflow-wrap:anywhere;margin:0}.rfi-text p{margin:var(--s1) 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.rfi-answer{padding:var(--s2);background:var(--success-soft);border-radius:var(--r-md)}.rfi-form{gap:var(--s2);flex-direction:column;display:flex}.rfi-form textarea,.rfi-form input:not([type=checkbox]){width:100%}.rfi-form-row{gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.raise-rfi{gap:var(--s2);flex-direction:column;display:flex}.rfi-mini{padding-left:var(--s4);margin:0}.mark-assign{gap:var(--s2);flex-direction:column;display:flex}.mark-given,.note-given{align-items:center;gap:var(--s1) var(--s2);color:var(--text);flex-wrap:wrap;display:flex}.mark-given>div{flex-basis:100%}.mark-given.late,.note-given.late{color:var(--warn)}.mark-assign-form{gap:var(--s2);flex-direction:column;display:flex}.mark-assign-form select,.mark-assign-form input{width:100%}.report-sheet{width:min(520px, calc(100% - 2 * var(--s3)))}.report-sheet p{margin:0}.report-group{gap:var(--s1);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.report-group legend{margin-bottom:var(--s1);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:0;font-weight:600}.report-group .check-inline{color:var(--text);font-size:var(--fs-sm);min-height:32px}.viewer-phone .report-group .check-inline{min-height:var(--control-h)}.report-layer-name{overflow-wrap:anywhere;flex:1;min-width:0}.report-sub{padding-left:var(--s5)}.report-quick{gap:var(--s3);display:flex}.report-kept{padding-top:var(--s2);border-top:1px solid var(--border)}.report-kept-title{margin:0 0 var(--s1);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600}.report-kept-list{margin:0;padding:0;list-style:none}.report-kept-row{justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s2) 0;flex-wrap:wrap;display:flex}.report-kept-row+.report-kept-row{border-top:1px solid var(--border)}.report-kept-main{min-width:0;font-size:var(--fs-sm);flex:220px}.report-kept-actions{align-items:center;gap:var(--s3);display:flex}.pending-bar{gap:var(--s1)}.pen-bar-row{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.stroke-btn svg{display:block}.stroke-sample{stroke:currentColor;stroke-linecap:round;stroke-width:2.5px}.stroke-sample.stroke-thin{stroke-width:1.5px}.stroke-sample.stroke-thick{stroke-width:5px}.panel-tabs{scrollbar-width:none;border-bottom:1px solid var(--border);margin:calc(-1 * var(--s1)) 0 var(--s1);gap:0;display:flex;overflow-x:auto}.notes-panel>.panel-tabs{margin:calc(-1 * var(--s3)) calc(-1 * var(--s3)) var(--s1);padding:var(--s1) var(--s3) 0;top:calc(-1 * var(--s3));z-index:1;background:var(--panel);border-radius:var(--r-lg) var(--r-lg) 0 0;flex-shrink:0;position:sticky}.panel-tabs+.panel-body{padding-top:var(--s1)}button.panel-tab{color:var(--muted);padding:var(--s2) 10px;font-weight:600;font-size:var(--fs-sm);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex-shrink:0}button.panel-tab:hover:not(:disabled){color:var(--text);background:0 0}button.panel-tab.on{color:var(--primary);border-bottom-color:var(--primary)}.panel-body,.notes-body,.takeoff{gap:var(--s2);flex-direction:column;min-width:0;display:flex}.takeoff-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:var(--fs-sm)}.takeoff-table th{text-align:left;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);padding:var(--s1) 0}.takeoff-table td{padding:var(--s1) 0;vertical-align:top;overflow-wrap:anywhere}.takeoff-table tr+tr td{border-top:1px solid var(--border)}.takeoff-table .num{text-align:right;font-variant-numeric:tabular-nums;width:38%;font-weight:600}.takeoff-sub{margin:var(--s2) 0 0;font-size:var(--fs-sm)}.reports-screen{gap:var(--s5);flex-direction:column;display:flex}.report-section{gap:var(--s3);flex-direction:column;min-width:0;display:flex}.report-section h2{font-size:var(--fs-lg);margin:0}.report-attention{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.report-attention-item{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-md);flex-direction:column;min-width:0;display:flex;overflow:hidden}.report-attention-head{border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;flex-wrap:wrap;align-items:stretch;display:flex}.report-attention-head>*{padding:7px var(--s3);border-right:1px solid var(--border);align-items:center;display:flex}.report-sev{text-transform:uppercase;font-weight:600}.report-sev-high{color:#fff;background:var(--danger);border-right-color:var(--danger)!important}.report-sev-medium{color:var(--warn);background:var(--warn-soft)}.report-sev-low{color:var(--muted);background:var(--panel-2)}.report-attention-project{text-transform:uppercase;color:var(--text);overflow-wrap:anywhere}.report-amount{border-left:1px solid var(--border);font-size:var(--fs-lg);letter-spacing:0;color:var(--text);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600;border-right:0!important}.report-attention-body{gap:var(--s1);padding:var(--s3) var(--s4) var(--s4);flex-direction:column;min-width:0;display:flex}.report-attention-title{font-size:var(--fs-lg);overflow-wrap:anywhere;font-weight:600}.report-stats{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(210px,1fr));display:grid}.report-stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s3) var(--s4);overflow-wrap:anywhere;min-width:0}details.fold.report-part{border-top:1px solid var(--border)}details.fold.report-part>summary.fold-head h2{font-size:var(--fs-lg);margin:0;display:inline}details.fold.report-part[open]{gap:var(--s3);padding-bottom:var(--s3);flex-direction:column;display:flex}.screen-header button.link-btn.report-jump{min-height:40px;color:var(--warn);padding-left:0}.report-attention-item.is-folded .report-attention-subject{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.report-attention-item button.link-btn.report-attention-open{align-self:flex-start;min-height:40px;padding-left:0}@media (width<=760px){.report-stats{gap:var(--s2);grid-template-columns:1fr}.report-stat{align-items:baseline;column-gap:var(--s3);padding:var(--s2) var(--s3);grid-template-columns:minmax(0,1fr) auto;display:grid}.report-stat .report-stat-value{font-size:var(--fs-lg);text-align:right}.report-stat>.small{grid-column:1/-1}}.report-stat-link{color:inherit;text-decoration:none;display:block}.report-stat-link:hover,.report-stat-link:focus-visible{border-color:var(--primary)}.report-stat-link .report-stat-label:after{content:" ›"}.report-stat-label{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.report-stat-value{font-family:var(--font-mono);font-size:var(--fs-xl);font-variant-numeric:tabular-nums;font-weight:600}.report-table-wrap{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);overflow-x:auto}.report-table{border-collapse:collapse;width:100%;min-width:640px;font-size:var(--fs-sm)}.report-table th{text-align:left;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:var(--s2) var(--s3);border-bottom:1px solid var(--border);white-space:nowrap}.report-table td{padding:var(--s2) var(--s3);vertical-align:top;overflow-wrap:anywhere}.report-table tr+tr td{border-top:1px solid var(--border)}.report-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.report-table .report-col-wide{width:40%}.report-table tr.report-row-flag td{background:var(--warn-soft)}.report-project-link{color:var(--primary);font-weight:600}.report-gap{color:var(--danger);font-weight:600}.report-gaps{padding-left:var(--s5);gap:var(--s1);flex-direction:column;margin:0;display:flex}.report-bars{height:160px;padding:var(--s3);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);align-items:stretch;gap:2px;display:flex;overflow-x:auto}.report-bar-col{gap:var(--s1);flex-direction:column;flex:1 1 0;min-width:8px;display:flex}.report-bar-track{border-bottom:1px solid var(--border-strong);flex:1;align-items:flex-end;display:flex}.report-bar{background:var(--primary);border-radius:4px 4px 0 0;width:100%}.report-bar-col:hover .report-bar{background:var(--primary-dark)}button.report-bar-col{color:inherit;font-weight:inherit;background:0 0;border:0;border-radius:0;padding:0}.report-bar-col.picked .report-bar{background:var(--primary-dark)}input[type=date]{max-width:220px}.report-bar.not-held,.report-bar-col:hover .report-bar.not-held{border:1px dashed var(--border-strong);background:0 0;border-bottom:0}.report-bar-track,.report-bar-label{display:flex}.report-bar-label{color:var(--muted);text-align:center;white-space:nowrap;justify-content:center;height:14px;font-size:10px;overflow:visible}@media (width<=640px){.report-attention-body{padding:var(--s3)}}.report-attention-subject{font-size:var(--fs-md);overflow-wrap:anywhere}.report-table .report-col-project .badge{margin-top:var(--s1);display:inline-block}.report-table.report-table-compact{min-width:0}.channel-switch{border:1px solid var(--border);border-radius:var(--r-sm);margin-bottom:var(--s4);flex-wrap:wrap;display:inline-flex;overflow:hidden}.channel-switch a{padding:var(--s2) var(--s4);background:var(--panel);color:var(--text);font-weight:600;text-decoration:none}.channel-switch a:hover{background:var(--panel-2)}.channel-switch a.active{background:var(--primary);color:#fff}.steps-list{padding-left:var(--s5);gap:var(--s1);flex-direction:column;margin:0;display:flex}.import-progress{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.import-progress progress{min-width:0;accent-color:var(--primary);flex:160px}.drawing-takeoff{gap:var(--s3);flex-direction:column;min-width:0;display:flex}.drawing-takeoff p{margin:0}.drawing-picked{background:var(--primary-soft);border:1px solid var(--primary);border-radius:var(--r-md);padding:var(--s3);gap:var(--s2);font-size:var(--fs-sm);overflow-wrap:anywhere;flex-direction:column;display:flex}.drawing-filter input{width:100%;max-width:420px}.drawing-table .col-tick{width:40px}.drawing-table .num{text-align:right;font-variant-numeric:tabular-nums;width:18%}.drawing-table tr.ticked td{background:var(--primary-soft)}.drawing-notes{padding-left:var(--s5);margin:0}.add-group{border-top:1px solid var(--border);padding-top:var(--s3);margin-top:var(--s2);gap:var(--s2);flex-direction:column;display:flex}.link-group{gap:var(--s2);padding:var(--s2) 0;flex-direction:column;display:flex}.lines-panel{gap:var(--s4);flex-direction:column;display:flex}.lines-panel p{margin:0}.panel-kicker{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0;font-weight:700}.sheet-setup{gap:var(--s1);padding:var(--s2) var(--s3);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;display:flex}.takeoff-download{align-items:baseline;gap:var(--s1) var(--s2);margin:var(--s1) 0;flex-wrap:wrap;display:flex}.takeoff-top{align-items:center;gap:var(--s1) var(--s2);margin-bottom:var(--s2);flex-wrap:wrap;display:flex}.takeoff-top .takeoff-excel{min-height:40px}.report-takeoff{align-items:center;gap:var(--s1) var(--s2);padding:var(--s2) 0;border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.takeoff-pick-bar{margin:var(--s2) 0;justify-content:flex-end;display:flex}.takeoff-pick-btn,.takeoff-excel{align-items:center;gap:var(--s1);display:inline-flex}.takeoff-pick-all{align-items:baseline;gap:var(--s1) var(--s3);margin-bottom:var(--s2);flex-wrap:wrap;display:flex}.takeoff-pick-list{flex-direction:column;max-height:55vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.takeoff-pick-list li+li{border-top:1px solid var(--border)}.takeoff-pick-list label.check-inline{align-items:flex-start;gap:var(--s2);padding:var(--s2) 0;min-height:40px;display:flex}.takeoff-pick-name{flex-direction:column;flex:1;min-width:0;display:flex}@media (width<=600px){.takeoff-pick-bar{justify-content:stretch}.takeoff-pick-bar .takeoff-pick-btn{justify-content:center;width:100%;min-height:40px}}.sheet-todo{gap:var(--s1);padding:var(--s2) var(--s3);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;display:flex}.sheet-todo-head{justify-content:space-between;align-items:baseline;gap:var(--s2);display:flex}.sheet-todo-count{font-size:var(--fs-sm);color:var(--warn);font-weight:600}.sheet-todo-count.done{color:var(--success)}.sheet-todo-legend{margin:0}.sheet-todo-list{font-size:var(--fs-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sheet-todo-list li{justify-content:space-between;align-items:baseline;gap:var(--s1) var(--s2);padding:var(--s2) 0;flex-wrap:wrap;min-width:0;display:flex}.sheet-todo-list li+li{border-top:1px solid var(--border)}.sheet-todo-list li.warn>span:first-child{color:var(--warn)}.sheet-todo-actions,.sheet-todo-answer{gap:var(--s1) var(--s3);flex-wrap:wrap;display:inline-flex}@media (width<=600px){.sheet-todo-actions .link-btn,.sheet-todo-answer .link-btn{min-height:40px}}.setup-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.setup-row{grid-template-columns:var(--s5) minmax(0, 1fr) auto;align-items:start;gap:var(--s2);padding:var(--s2) 0;display:grid}.setup-row+.setup-row{border-top:1px solid var(--border)}.setup-mark{width:var(--s5);height:var(--s5);border-radius:var(--r-pill);border:2px solid var(--border-strong);background:var(--panel);font-size:var(--fs-sm);color:#fff;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.setup-done .setup-mark{background:var(--success);border-color:var(--success)}.setup-warn .setup-mark{background:var(--warn);border-color:var(--warn)}.setup-todo .setup-mark{border-color:var(--warn);border-style:dashed}.setup-main{flex-direction:column;gap:2px;min-width:0;display:flex}.setup-label{font-size:var(--fs-sm);color:var(--text);font-weight:600;line-height:var(--s5)}.setup-value{gap:var(--s1);font-size:var(--fs-sm);color:var(--text);overflow-wrap:anywhere;flex-direction:column;display:flex}.setup-value>.muted{font-size:var(--fs-xs)}.setup-value select{width:100%}.setup-action{padding-top:2px}button.setup-btn{padding:var(--s1) var(--s3);font-size:var(--fs-sm)}.setup-link,.setup-link:visited{color:var(--primary);font-size:var(--fs-sm);white-space:nowrap;font-weight:600}label.setup-check{color:var(--text);font-size:var(--fs-sm)}button.link-btn.inline{padding:0}.lines-list{gap:var(--s2);flex-direction:column;display:flex}.lines-list-head{justify-content:space-between;align-items:baseline;gap:var(--s2);display:flex}.lines-tally{font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.lines-meter{height:var(--s1);border-radius:var(--r-pill);background:var(--border);overflow:hidden}.lines-meter>span{background:var(--success);border-radius:var(--r-pill);height:100%;transition:width .2s;display:block}.lines-howto{counter-reset:howto;gap:var(--s1) var(--s3);color:var(--muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.lines-howto li{counter-increment:howto;align-items:center;gap:var(--s1);display:inline-flex}.lines-howto li:before{content:counter(howto);width:var(--s4);height:var(--s4);border-radius:var(--r-pill);background:var(--primary-soft);color:var(--primary);font-size:var(--fs-xs);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.offered{align-items:flex-start;gap:var(--s2);margin-top:var(--s2);padding:var(--s2) var(--s3);border:1px dashed var(--border);border-radius:var(--r-md);flex-direction:column;display:flex}.offered-list{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.kept-application{flex:auto;min-width:0}@media (width<=760px){.stack-on-phone.variation-history td input{flex:8rem;width:auto;min-width:0}}.application-drawings{margin-top:var(--s3);align-items:flex-start}.application-drawings input{flex:none;margin-top:3px}.retention-parts{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.retention-parts>li{align-items:flex-start;gap:var(--s1);padding-top:var(--s2);border-top:1px solid var(--border);flex-direction:column;display:flex}.line-card{gap:var(--s2);padding:var(--s3);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;min-width:0;display:flex}.line-card.open{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.line-card.line-not-ours{background:var(--panel-2)}.line-card-head{align-items:flex-start;gap:var(--s2);min-width:0;display:flex}.line-swatch{width:var(--s4);height:var(--s4);border-radius:var(--r-sm);border:1px solid var(--border-strong);flex-shrink:0;margin-top:2px}.line-card-title{min-width:0;font-size:var(--fs-md);overflow-wrap:anywhere;flex-direction:column;flex:1;gap:2px;display:flex}.line-card-sub{font-size:var(--fs-xs);color:var(--muted)}.line-card-group{font-size:var(--fs-xs);color:var(--muted);font-weight:400}.line-card-figure{align-items:flex-end;gap:var(--s1);flex-direction:column;flex-shrink:0;display:flex}.line-card-len{font-size:var(--fs-lg);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.line-card-check{color:var(--muted)}.line-card-check.changed{color:var(--warn)}.size-chips{gap:var(--s1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.size-chip{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;padding:2px var(--s2);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--panel-2);white-space:nowrap}.size-chip.unsized{border-style:dashed;border-color:var(--warn);background:var(--warn-soft)}button.size-more{padding:2px var(--s1);font-size:var(--fs-xs)}.state-pill{font-size:var(--fs-xs);padding:2px var(--s2);border-radius:var(--r-pill);white-space:nowrap;background:var(--panel-2);color:var(--muted);border:1px solid var(--border);font-weight:700}.state-pill.checked{background:var(--success-soft);color:var(--success);border-color:#0000}.state-pill.changed{background:var(--warn-soft);color:var(--warn);border-color:var(--warn)}.line-card-actions{align-items:flex-start;gap:var(--s2);display:flex}.line-card-main-actions{align-items:center;gap:var(--s2);flex-wrap:wrap;flex:auto;min-width:0;display:flex}.line-card-actions button:not(.link-btn){padding:0 var(--s3);min-height:var(--control-h-sm);font-size:var(--fs-sm);white-space:nowrap}.line-card-actions button.line-show.on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}button.line-more{min-height:var(--control-h-sm);font-size:var(--fs-sm);white-space:nowrap;flex:none}.line-card-more{padding-top:var(--s1);border-top:1px dashed var(--border);flex-direction:column;align-items:flex-start;display:flex}.line-card-more button.link-btn{font-size:var(--fs-sm);text-align:left}button.lines-small-toggle{font-size:var(--fs-sm);align-self:flex-start}.lines-help{padding-left:var(--s4);gap:var(--s2);color:var(--muted);flex-direction:column;margin:0;display:flex}.lines-folds{flex-direction:column;display:flex}.fold{border-top:1px solid var(--border)}.lines-folds .fold:last-child{border-bottom:1px solid var(--border)}button.fold-head{align-items:center;gap:var(--s2);width:100%;padding:var(--s3) 0;color:var(--text);font-size:var(--fs-sm);text-align:left;background:0 0;border:0;border-radius:0;flex-wrap:wrap;font-weight:600;display:flex}button.fold-head:hover:not(:disabled){color:var(--primary);background:0 0}.fold-chev{width:var(--s3);color:var(--muted);transition:transform .12s;display:inline-block}.fold.open .fold-chev{transform:rotate(90deg)}.fold-title{max-width:calc(100% - var(--s3) - var(--s2));flex:auto;min-width:0}.fold-summary{min-width:0;font-size:var(--fs-xs);color:var(--muted);text-align:right;flex:0 auto;margin-left:auto;font-weight:400}.fold-body{gap:var(--s2);padding-bottom:var(--s3);flex-direction:column;min-width:0;display:flex}button.legend-job-toggle{align-self:flex-start;padding-left:0}.swatch-dot{border-radius:var(--r-pill);border:1px solid var(--border-strong);vertical-align:middle;flex-shrink:0;width:14px;height:14px;display:inline-block}.lines-name{gap:var(--s2);padding:var(--s2);background:var(--panel-2);border-radius:var(--r-md);flex-direction:column;display:flex}.lines-name-row{gap:var(--s2);flex-wrap:wrap;display:flex}.lines-name-row .grow{flex:140px}.lines-code input{width:110px}.under-area{gap:var(--s2);padding:var(--s2) var(--s3);background:var(--panel-2);border-radius:var(--r-md);flex-direction:column;display:flex}.under-list{gap:var(--s1);font-size:var(--fs-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.under-list .check-inline{color:var(--text);font-size:var(--fs-sm)}.under-list li.muted .check-inline{color:var(--muted)}.under-len{font-variant-numeric:tabular-nums}.under-sizes{padding-left:var(--s5)}.under-elsewhere{padding-left:var(--s5);color:var(--primary)}.under-list button.link-btn{text-align:left;margin-left:calc(var(--s5) - var(--s2));display:block}.under-list li+li{border-top:1px solid var(--border);padding-top:var(--s1)}.under-day{align-items:center;gap:var(--s2);flex-direction:row}.progress-project select{max-width:360px}.progress-overall{align-items:center;gap:var(--s2) var(--s3);padding:var(--s3) var(--s4);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);flex-wrap:wrap;display:flex}.progress-overall .progress-bar{flex:200px}.progress-bar{vertical-align:middle;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-pill);width:120px;height:10px;display:inline-block;overflow:hidden}.progress-fill{background:var(--success);height:100%;display:block}.progress-table .num{text-align:right;font-variant-numeric:tabular-nums}.progress-h2{margin:var(--s3) 0 var(--s1);font-size:var(--fs-lg)}.progress-period-title{color:var(--muted);font-weight:500}.progress-period{margin-bottom:var(--s2)}.period-day{font-size:var(--fs-sm);flex-direction:column;gap:2px;display:flex}.period-day input{min-height:40px;font-size:16px}.progress-in-period{border-left:3px solid var(--success);margin-bottom:var(--s2)}.progress-drawings{margin:var(--s3) 0 0;padding:var(--s2) var(--s4);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg)}.progress-drawings-head{align-items:center;gap:var(--s2) var(--s3);cursor:pointer;flex-wrap:wrap;display:flex}.progress-tabs{top:calc(-1 * var(--s5));z-index:5;padding-top:var(--s5);background:var(--bg);position:sticky}@media (width<=860px){.progress-tabs{top:calc(-1 * var(--s4));padding-top:var(--s4)}}.progress-tabs button.panel-tab{font-size:var(--fs-md);padding:var(--s2) var(--s3)}.progress-tab{gap:var(--s5);margin-top:var(--s5);flex-direction:column;display:flex}.progress-tab>.progress-overall{margin:0}.progress-tab>.progress-overall+.progress-overall{margin-top:calc(-1 * var(--s3))}.progress-card{gap:var(--s3);min-width:0;padding:var(--s4) var(--s4) var(--s5);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;display:flex}.progress-card>section,.progress-card>details{margin:0}.progress-card .progress-h2{font-size:var(--fs-xl)}.progress-card>section>.progress-h2:first-child,.progress-card>section>:first-child .progress-h2{margin-top:0}.progress-card .waiting-block{background:var(--panel-2)}@media (width<=640px){.progress-card{padding:var(--s3)}.progress-tab{gap:var(--s4)}}.progress-drawings-head .progress-h2{margin-bottom:0}.progress-drawing-list{margin:var(--s2) 0 0;gap:var(--s2);flex-direction:column;padding:0;list-style:none;display:flex}.progress-drawing-list li{padding:var(--s2) var(--s3);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);gap:2px var(--s3);overflow-wrap:anywhere;grid-template-columns:1fr auto;display:grid}.progress-drawing-list li.off{background:var(--panel-2);color:var(--muted)}.progress-drawing-list .check-inline{align-items:center;min-height:40px}.progress-drawing-facts{grid-column:1}.progress-drawing-actions{justify-content:center;align-items:flex-end;gap:var(--s1);font-size:var(--fs-sm);flex-direction:column;grid-area:1/2/span 2;display:flex}.progress-drawing-actions .line-drop-confirm{text-align:left;max-width:360px}.progress-left-out,.progress-how{margin-top:var(--s3)}.progress-top-fold>summary,.not-drawn>summary{cursor:pointer;min-height:40px;font-size:var(--fs-sm);align-items:center;gap:.4em;list-style:none;display:flex}.progress-top-fold>summary::-webkit-details-marker{display:none}.not-drawn>summary::-webkit-details-marker{display:none}.progress-top-fold[open]>summary .row-chevron,.not-drawn[open]>summary .row-chevron{transform:rotate(90deg)}.progress-top-fold{border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);padding:0 var(--s3)}.progress-top-fold[open]{padding-bottom:var(--s3)}.progress-top-fold[open]>*+*{margin-top:var(--s3)}@media (width<=760px){.progress-tabs button.panel-tab{padding:var(--s2) 7px}}.record-drawing-list,.record-drawing-list ul{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.record-drawing-list>li{gap:var(--s1);flex-direction:column;display:flex}.record-drawing-row{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s2) 0;border-top:1px solid var(--border);display:flex}.record-drawing-name{overflow-wrap:anywhere;min-width:0}.record-drawing-open{flex:none;align-items:center;min-height:40px;display:inline-flex}@media (width<=760px){.record-drawing-row{flex-direction:column;align-items:stretch}.record-drawing-open{justify-content:center}}.place-take-back{margin-top:var(--s1);display:block}.progress-how summary{cursor:pointer;min-height:40px;color:var(--primary);font-size:var(--fs-sm);align-items:center;gap:.4em;font-weight:600;list-style:none;display:flex}.progress-how summary::-webkit-details-marker{display:none}.progress-how[open] .row-chevron{transform:rotate(90deg)}.progress-how .drawing-notes{gap:var(--s1);flex-direction:column;display:flex}.progress-left-out summary{cursor:pointer;min-height:40px;font-size:var(--fs-sm);align-items:center;display:flex}@media (width<=640px){.progress-drawing-list li{grid-template-columns:1fr}.progress-drawing-actions{justify-content:flex-start;gap:var(--s3);flex-flow:wrap;grid-area:auto/1}.progress-drawing-actions .line-drop-confirm{flex-basis:100%;max-width:none}}.progress-labour{border-left:3px solid var(--primary);margin-bottom:var(--s2)}.labour-people{padding-left:var(--s5);columns:2 220px;flex-basis:100%;margin:0}.labour-detail{gap:var(--s2);flex-direction:column;flex-basis:100%;display:flex}.labour-roles ul{margin:var(--s1) 0 0;gap:0 var(--s4);flex-wrap:wrap;padding:0;list-style:none;display:flex}.labour-roles .check-inline{align-items:center;min-height:40px}.progress-activity{margin:var(--s3) 0}.activity-filter{margin:var(--s2) 0;flex-wrap:wrap;max-width:100%}.activity-filter .desk-tool{white-space:nowrap}.activity-days{margin:var(--s2) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.activity-day-block{gap:var(--s2);padding:var(--s1) 0;border-top:1px solid var(--border);flex-direction:column;display:flex}.activity-day-block.open{padding-bottom:var(--s3)}.activity-day-top{align-items:center;gap:var(--s1) var(--s3);margin:0 calc(-1 * var(--s2));padding:0 var(--s2);border-radius:var(--r-md);cursor:pointer;flex-wrap:wrap;display:flex}.activity-day-top:hover,.activity-day-block.open>.activity-day-top{background:var(--panel-2)}.activity-day-sum{flex:16em}.activity-filter-sum{margin:0}.activity-list{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.activity-item{gap:var(--s2);overflow-wrap:anywhere;grid-template-columns:88px 1fr auto;align-items:start;display:grid}.activity-kind{font-size:var(--fs-sm);color:var(--muted);font-weight:600}.activity-tick .activity-kind,.activity-approved .activity-kind{color:var(--success)}.activity-returned .activity-kind{color:var(--danger)}.activity-thumb{border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);cursor:pointer;width:56px;height:56px;padding:0;overflow:hidden}.activity-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-viewer-backdrop{z-index:60;padding:var(--s4);background:#000000d1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.photo-viewer-img{object-fit:contain;max-width:100%;max-height:100%}@media (width<=640px){.activity-item{grid-template-columns:1fr auto}.activity-kind{grid-column:1/-1}}.progress-sheets{padding-left:var(--s5);gap:var(--s1);overflow-wrap:anywhere;flex-direction:column;margin:0;display:flex}.progress-table th:first-child,.progress-table td:first-child{width:55%}.valuation-links{gap:var(--s2);padding:var(--s3);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;display:flex}.valuation-link{align-items:center;gap:var(--s3);color:var(--text);flex-direction:row}.valuation-link>span{min-width:80px}.valuation-link select{max-width:420px}.layers-panel{gap:var(--s2);flex-direction:column;display:flex}.layers-panel p{margin:0}.layer-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.layer-row{padding:var(--s2);border-radius:var(--r-md);border-left:3px solid #0000;flex-direction:column;gap:2px;display:flex}.layer-row+.layer-row{border-top:1px solid var(--border)}.layer-row.on{border-left-color:var(--primary);background:var(--panel-2)}.layer-row.hidden-layer .layer-name{opacity:.55}.layer-head{align-items:center;gap:var(--s2);font-size:var(--fs-sm);min-width:0;display:flex}.layer-name{text-align:left;overflow-wrap:anywhere;min-width:0;color:var(--text);flex:1}.layer-count{flex-shrink:0}.layer-active{color:var(--primary)}.layer-actions{align-items:center;gap:var(--s1);flex-wrap:wrap;display:flex}.layer-rename{gap:var(--s1);flex:1;min-width:0;display:flex}.layer-rename input{flex:1;min-width:0}.layer-form,.layer-kinds{gap:var(--s2);padding:var(--s2);background:var(--panel-2);border-radius:var(--r-md);flex-direction:column;display:flex}.layer-kinds-box{border-top:1px solid var(--border);padding-top:var(--s2)}.layer-kind-list{gap:var(--s1);font-size:var(--fs-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.layer-kind-list input[type=color],.layer-kind-new input[type=color]{vertical-align:middle;width:32px;height:24px;padding:0}.layer-kind-new{gap:var(--s1);align-items:center;display:flex}.layer-kind-new input:not([type=color]){flex:1;min-width:0}.layer-btn{align-items:center;gap:var(--s1);white-space:nowrap;text-overflow:ellipsis;max-width:220px;display:inline-flex;overflow:hidden}.mark-layer{align-items:center;gap:var(--s1);display:flex}.mark-layer select{flex:1;min-width:0}.danger-link{color:var(--danger)}.warn-text{color:var(--warn)}.layer-variation-line{align-items:baseline;gap:var(--s1);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.variation-choices{gap:var(--s1);flex-direction:column;max-height:240px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.variation-choices li{flex-direction:column;display:flex}.variation-choices .link-btn{text-align:left;overflow-wrap:anywhere}.variation-trail{gap:var(--s2);padding:var(--s2);background:var(--panel-2);border-radius:var(--r-md);font-size:var(--fs-sm);overflow-wrap:anywhere;flex-direction:column;display:flex}.variation-trail .badge{margin-left:var(--s1)}.variation-steps{gap:var(--s1) var(--s2);grid-template-columns:max-content 1fr;margin:0;display:grid}.variation-steps dt{font-weight:600}.variation-steps dd{min-width:0;margin:0}.blocker-list{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.blocker-list>li{gap:var(--s1);padding:var(--s2);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;display:flex}.blocker-list>li.open{border-left:3px solid var(--warn)}.blocker-row{margin:calc(-1 * var(--s1));padding:var(--s1);border-radius:var(--r-md);text-align:left;color:var(--text);overflow-wrap:anywhere;cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.blocker-row:hover,.blocker-list>li.expanded>.blocker-row{background:var(--panel-2)}.blocker-row-facts{gap:2px var(--s3);flex-wrap:wrap;padding-left:3.9em;display:flex}@media (width<=640px){.blocker-row-facts{padding-left:0}}.blocker-follower select{max-width:280px}.blocker-systems{gap:var(--s2);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.blocker-updates ol{margin:var(--s1) 0;padding-left:var(--s4,20px)}.blocker-update-form{gap:var(--s1);flex-wrap:wrap;display:flex}.blocker-update-form input:not([type=date]){flex:1;min-width:140px}.job-blockers{gap:var(--s2);flex-direction:column;display:flex}.mark-route{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:10 4}.mark.selected .mark-route{stroke-width:6px}.mark-removal{fill:var(--danger);fill-opacity:.12;stroke:var(--danger);stroke-width:1.5px;stroke-dasharray:5 3}.mark-removal-cross{stroke:var(--danger);stroke-width:1px;stroke-opacity:.6}.mark.selected .mark-removal{stroke-width:3px}.route-change+.route-change{border-top:1px solid var(--border);padding-top:var(--s1)}.route-net.up{color:var(--warn)}.route-net.down{color:var(--primary)}.legend-swatches{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.legend-swatch{border:1px solid var(--border-strong);vertical-align:middle;width:22px;height:8px;display:inline-block}.legend-table{border-collapse:collapse;table-layout:fixed;width:100%}.legend-table th,.legend-table td{text-align:left;padding:2px var(--s1);border-bottom:1px solid var(--border);overflow-wrap:anywhere;vertical-align:top}.legend-table th:first-child,.legend-table td:first-child{width:22%}.report-todo{gap:var(--s1) var(--s3);margin:var(--s1) 0 0;font-size:var(--fs-sm);grid-template-columns:max-content 1fr;display:grid}.report-todo dt{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--muted);padding-top:2px;font-size:11px;font-weight:500}.report-todo dd{overflow-wrap:anywhere;margin:0}.report-decision{background:var(--panel-2);border-radius:var(--r-sm);padding:var(--s2) var(--s3);overflow-wrap:anywhere}.report-decision.due{background:var(--warn-soft)}.report-attention-item.is-closed{opacity:.75}.report-actions{align-items:center;gap:var(--s2);margin-top:var(--s2);flex-wrap:wrap;display:flex}.report-actions button,.report-btn{padding:0 var(--s4);min-height:36px;font-size:var(--fs-sm)}.report-btn{border-radius:var(--r-md);background:var(--primary);color:#fff;border:1px solid #0000;align-items:center;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.report-btn:hover{background:var(--primary-dark)}.report-btn.secondary{background:var(--panel);color:var(--text);border-color:var(--border-strong)}.report-btn.secondary:hover{background:var(--panel-2)}.report-decision-form{gap:var(--s2);margin-top:var(--s2);padding:var(--s3);background:var(--panel-2);border-radius:var(--r-md);flex-direction:column;display:flex}.report-decision-form label{gap:var(--s1);font-size:var(--fs-sm);flex-direction:column;font-weight:600;display:flex}.report-decision-form textarea,.report-decision-form select,.report-decision-form input{max-width:100%;font-weight:400}.report-choices{gap:var(--s2);margin-top:var(--s2);flex-direction:column;display:flex}.report-choice{gap:var(--s1) var(--s3);padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-md);grid-template-columns:1fr auto;min-width:0;display:grid}.report-choice-main{overflow-wrap:anywhere;min-width:0}.report-choice-title{font-weight:600}.report-choice-total{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.report-choice .report-actions{grid-column:1/-1;margin-top:0}.report-attention-wrap{gap:var(--s3);flex-direction:column;display:flex}.report-attention-wrap>p{margin:0}.report-fold>summary{cursor:pointer;padding:var(--s2) 0;font-weight:600}.report-fold[open]>summary{margin-bottom:var(--s2)}.report-filter{justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.report-filter label{align-items:center;gap:var(--s2);font-size:var(--fs-sm);flex-direction:row;font-weight:600;display:flex}.report-filter input[type=search]{flex:0 260px;min-width:0}.report-chips{gap:var(--s2);flex-wrap:wrap;display:flex}button.report-chip{background:var(--panel);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-pill);padding:var(--s1) var(--s3);font-size:var(--fs-sm);font-weight:500}button.report-chip:hover:not(:disabled){background:var(--panel-2)}button.report-chip.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-dark);font-weight:600}.report-chip-n{color:var(--muted);font-variant-numeric:tabular-nums}.report-unnamed{padding:var(--s2) var(--s3);background:var(--panel);border:1px dashed var(--border-strong);border-radius:var(--r-md);overflow-wrap:anywhere}.report-topbar{justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.report-table-clickable tbody tr{cursor:pointer}.report-table-clickable tbody tr:hover td{background:var(--panel-2)}.report-chart{gap:var(--s1);flex-direction:column;margin:0;display:flex}.report-bar.flagged{background:var(--warn)}.report-bar-col:hover .report-bar.flagged{background:var(--warn);opacity:.85}@media (width<=640px){.report-todo{grid-template-columns:1fr}.report-filter input[type=search]{flex-basis:100%}}.report-cards{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.report-card{gap:var(--s1);padding:var(--s3) var(--s4);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);color:var(--text);flex-direction:column;min-width:0;text-decoration:none;transition:border-color .12s,box-shadow .12s;display:flex}.report-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.report-card-head{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.report-card-name{font-weight:600;font-size:var(--fs-lg);color:var(--primary);overflow-wrap:break-word;min-width:0}.report-card-figures{gap:var(--s1) var(--s3);margin:var(--s2) 0 0;font-size:var(--fs-sm);grid-template-columns:max-content 1fr;display:grid}.report-card-figures dt{color:var(--muted)}.report-card-figures dd{overflow-wrap:break-word;font-variant-numeric:tabular-nums;min-width:0;margin:0}.report-table td{overflow-wrap:break-word}.report-table th.report-col-wide,.report-table td.report-cell-what{min-width:260px}.report-clamp{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.legend-table tr.legend-differs td{background:var(--warn-soft,var(--panel-2))}.route-overlay{position:absolute;inset:0;overflow:visible}.route-fade{fill:#fff;fill-opacity:.6;pointer-events:none}.route-line{stroke-width:3.5px;stroke-linecap:round;pointer-events:none}.route-hit{stroke:#0000;stroke-width:14px;cursor:pointer}.route-run:hover .route-line{stroke-width:5.5px}.route-run.picked .route-line{stroke-width:7px;filter:drop-shadow(0 0 3px #00000073)}.route-draft-add polyline{fill:none;stroke:var(--primary);stroke-width:4px;stroke-dasharray:8 5;stroke-linecap:round;stroke-linejoin:round}.route-draft-add circle{fill:var(--panel);stroke:var(--primary);stroke-width:2px}.route-draft-add .sizing polyline{stroke-width:7px}.route-draft-numbers{pointer-events:none}.route-draft-numbers circle{fill:var(--panel);stroke:var(--primary);stroke-width:1.5px}.route-draft-numbers text{fill:var(--primary);font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:600}.route-draft-numbers .sizing circle{fill:var(--primary)}.route-draft-numbers .sizing text{fill:var(--panel)}.route-draft-erase rect{fill:var(--danger-soft);fill-opacity:.5;stroke:var(--danger);stroke-width:1.5px;stroke-dasharray:5 4}.route-draft-erase line{stroke:var(--danger);stroke-width:7px;stroke-linecap:round}.route-bands polyline,.route-draft-band polyline{fill:none;stroke-linecap:butt;stroke-linejoin:miter;pointer-events:none}.route-draft-band polyline{stroke:var(--primary)}.fit-mark{fill:var(--panel);stroke:var(--text);stroke-width:1.75px}.fit-tee,.fit-cross,.fit-joint{fill:var(--text)}.fit-short{fill:none;stroke:var(--danger);stroke-width:2.5px}.fit-place.pickable{cursor:pointer}.fittings-overlay.active .fit-place.pickable{pointer-events:auto}.fit-hit{fill:#0000;stroke:none;pointer-events:all}.fittings-overlay:not(.active) .fit-hit{pointer-events:none}.fit-ring{fill:none;stroke:var(--warn);stroke-width:2.5px;pointer-events:none}.fit-place.picked .fit-ring{stroke:var(--primary);stroke-width:3px}.fit-place.none{opacity:.35}.route-fittings-list li.check .fit-name{color:var(--warn)}.fit-card{gap:var(--s1);padding:var(--s2);border:1px solid var(--primary);border-radius:var(--r-md);background:var(--primary-soft);flex-direction:column;display:flex}.fit-card-angles{gap:var(--s1);flex-wrap:wrap;display:flex}.firm-angles{align-items:center;gap:var(--s1);flex-wrap:wrap;display:flex}.firm-angle{align-items:center;gap:var(--s1);min-height:var(--control-h-sm);padding:0 var(--s2);border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--panel);font-size:var(--fs-sm);display:inline-flex}.firm-angle button{min-width:28px;min-height:28px}.snap-mark{pointer-events:none}.snap-mark circle,.snap-mark rect{fill:none;stroke:var(--primary);stroke-width:2.5px}.route-fittings{gap:var(--s1);border-top:1px solid var(--border);padding-top:var(--s1);flex-direction:column;display:flex}.route-fittings-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.route-fittings-list li{align-items:center;gap:var(--s2);display:flex}.fit-key{flex:none;overflow:visible}.fit-name{white-space:nowrap}.fit-size{overflow-wrap:anywhere;flex:1;min-width:0}.fit-count{font-variant-numeric:tabular-nums}.add-system-size{gap:var(--s1);flex-direction:column;display:flex}.line-edit-start{gap:var(--s2);flex-wrap:wrap;display:flex}.line-edit-start button{padding:var(--s1) var(--s3);font-size:var(--fs-sm)}.line-edit{gap:var(--s2);padding:var(--s2);background:var(--panel);border:1px solid var(--primary);border-radius:var(--r-md);flex-direction:column;display:flex}.line-edit-actions{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.line-edit-actions button:not(.link-btn){padding:var(--s1) var(--s3);font-size:var(--fs-sm)}.line-edit-said{color:var(--success);font-weight:600}.run-sizes{gap:var(--s1);flex-direction:column;display:flex}.run-sizes-list{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.run-sizes-row{width:100%;min-height:var(--control-h);align-items:center;gap:var(--s2);padding:0 var(--s2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font-size:var(--fs-sm);text-align:left;cursor:pointer;grid-template-columns:24px minmax(0,1fr) auto;display:grid}.run-sizes-row:hover{border-color:var(--border-strong);background:var(--panel-2)}.run-sizes-row.on{border-color:var(--primary);background:var(--primary-soft)}.run-sizes-no{border-radius:var(--r-pill);border:1.5px solid var(--primary);width:20px;height:20px;color:var(--primary);font-size:var(--fs-xs);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.run-sizes-row.on .run-sizes-no{background:var(--primary);color:var(--panel)}.run-sizes-length{color:var(--muted);font-variant-numeric:tabular-nums}.run-sizes-size{font-weight:600}.run-sizes-size.muted{font-weight:400}.line-drop-confirm{gap:var(--s2);margin-top:var(--s1);padding:var(--s2);background:var(--danger-soft);border-radius:var(--r-md);flex-direction:column;display:flex}button.add-system-start{align-items:center;gap:var(--s3);width:100%;padding:var(--s2) var(--s3);background:var(--primary-soft);color:var(--primary);border:1px dashed var(--primary);border-radius:var(--r-md);font-size:var(--fs-sm);text-align:left;font-weight:400;display:flex}button.add-system-start:hover:not(:disabled){background:var(--primary-soft);border-style:solid}.add-system-plus{width:var(--s5);height:var(--s5);border-radius:var(--r-pill);background:var(--primary);color:#fff;font-size:var(--fs-lg);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.add-system-hint{font-size:var(--fs-xs);color:var(--muted);display:block}.add-system label select{width:100%}.add-system-form{gap:var(--s2);flex-direction:column;display:flex}.add-system-colours{align-items:center;gap:var(--s1);flex-wrap:wrap;display:flex}button.add-system-swatch{width:var(--s5);height:var(--s5);border-radius:var(--r-pill);border:2px solid var(--panel);min-height:0;box-shadow:0 0 0 1px var(--border-strong);padding:0}button.add-system-swatch.on{box-shadow:0 0 0 2px var(--text)}.lines-dropped{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lines-dropped li{align-items:center;gap:var(--s2);font-size:var(--fs-sm);display:flex}.lines-dropped-name{overflow-wrap:anywhere;flex:1;min-width:0}.lines-views{margin:var(--s1) 0 0;gap:var(--s1);font-size:var(--fs-sm);overflow-wrap:anywhere;flex-direction:column;padding:0;list-style:none;display:flex}.lines-views-kind{color:var(--muted)}.route-legend{background:var(--panel-2);border-radius:var(--r-md);padding:var(--s2);gap:var(--s2);flex-direction:column;display:flex}.route-groups{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}button.route-group{align-items:center;gap:var(--s2);width:100%;color:var(--text);font-weight:400;font-size:var(--fs-sm);padding:var(--s1) var(--s2);text-align:left;background:0 0;border-color:#0000;display:flex}button.route-group:hover:not(:disabled){background:var(--panel-2)}button.route-group.on,button.route-group.on:hover:not(:disabled){background:var(--primary-soft);border-color:var(--primary)}.route-key{border-top:4px solid;flex-shrink:0;width:22px}.route-key.dashed{border-top-style:dashed}.route-group-name{overflow-wrap:anywhere;flex:1;min-width:0}.route-group-len{font-variant-numeric:tabular-nums;font-weight:600}.route-total{border-top:1px solid var(--border);padding-top:var(--s1);font-weight:600}.route-picked{padding:var(--s1) var(--s2);background:var(--panel-2);border-radius:var(--r-md)}.route-run.left-out .route-line{stroke-width:2.5px}.route-corrected-dot{fill:#fff;stroke:var(--text);stroke-width:2px;pointer-events:none}.route-correct{gap:var(--s2);padding:var(--s2);background:var(--panel);border:1px solid var(--primary);border-radius:var(--r-md);flex-direction:column;display:flex}button.route-delete{padding:var(--s1) var(--s3);font-size:var(--fs-sm);align-self:flex-start}.route-size-row{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}label.route-size{align-items:center;gap:var(--s1);color:var(--text);flex-direction:row}label.route-size input{text-align:right;width:70px}button.route-select-all{margin-left:calc(22px + var(--s3));font-size:var(--fs-sm)}.route-corrections ul{margin:var(--s1) 0 0;padding-left:var(--s4);overflow-wrap:anywhere;flex-direction:column;gap:2px;display:flex}.route-corrections>button.link-btn,.route-legend button.route-select-all{text-align:left;display:block}.route-legend button.route-select-all[aria-pressed=true]{background:var(--primary-soft)}.route-groups li>.route-correct,.route-groups li>.route-picked{margin:var(--s1) 0 var(--s2)}.route-corrections>button.link-btn{padding-left:0}.line-check{padding:var(--s1) var(--s2);border-radius:var(--r-md)}.line-check.ok{background:var(--success-soft);color:var(--success)}.line-check.changed{background:var(--warn-soft);color:var(--warn)}.line-check-text.ok{color:var(--success);font-weight:600}.line-check-text.warn{color:var(--warn)}.verticals-overlay{position:absolute;inset:0;overflow:visible}.vertical-tag{cursor:help}.vertical-leader{stroke:var(--text);stroke-width:1px;stroke-dasharray:3 3;opacity:.5}.vertical-dot{fill:#fff;stroke:var(--text);stroke-width:2.5px}.vertical-arrow{fill:var(--text);pointer-events:none;font-size:12px;font-weight:700}.vertical-tag.unplaced .vertical-dot,.vertical-tag.far .vertical-dot{stroke-dasharray:3 2;fill:var(--warn-soft)}.verticals{gap:var(--s2);flex-direction:column;display:flex}.verticals-list{overflow-wrap:anywhere;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.job-levels{gap:var(--s2);flex-direction:column;display:flex}.job-levels-head{align-items:baseline;gap:var(--s3);display:flex}.job-levels-form{gap:var(--s3);padding:var(--s3);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;display:flex}label.job-levels-default{max-width:480px}.job-levels-table{table-layout:auto;min-width:0}.job-levels-table input{width:100%;min-width:70px}.job-levels-table .scale-input input{text-align:right;width:90px}.job-levels-actions{align-items:center;gap:var(--s1);white-space:nowrap;display:flex}.job-levels-actions button.btn-secondary{padding:var(--s1) var(--s2)}.vertical-tag.excluded .vertical-dot{stroke:#9ca3af;stroke-dasharray:2 2;fill:#f3f4f6}.vertical-tag.excluded .vertical-arrow{fill:#6b7280}.vertical-tag.corrected .vertical-dot{stroke-width:3.5px}.vertical-tag.picked .vertical-dot{stroke-width:4px;filter:drop-shadow(0 0 3px #00000080)}.vertical-placing{fill:#0000;cursor:crosshair}.verticals-overlay.placing{cursor:crosshair}.vertical-card fieldset.vertical-moves{gap:2px var(--s2);border:none;grid-template-columns:1fr 1fr;margin:0;padding:0;display:grid}.vertical-card fieldset.vertical-moves legend{margin-bottom:var(--s1);grid-column:1/-1;padding:0}.route-overlay,.verticals-overlay{pointer-events:none}.route-run,.vertical-tag,.vertical-placing{pointer-events:auto}.vertical-tag.needs .vertical-dot{fill:var(--warn-soft);stroke-dasharray:4 2}.verticals-needs{margin:var(--s1) 0 0;padding-left:var(--s4)}.verticals-needs button.link-btn{text-align:left;padding:0}button.vertical-add-start{align-self:flex-start}.vertical-draft{fill:var(--primary-soft);stroke:var(--primary);stroke-width:2.5px;stroke-dasharray:4 3;pointer-events:none}.swatch-dot.hollow{border:2px dashed var(--muted);background:0 0}.verticals button.route-select-all{text-align:left;display:block}.verticals button.route-select-all[aria-pressed=true]{background:var(--primary-soft)}.vertical-rows{margin:var(--s1) 0 var(--s2) calc(22px + var(--s3));flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}button.vertical-row{align-items:baseline;gap:var(--s2);width:100%;color:var(--text);font-weight:400;font-size:var(--fs-sm);padding:2px var(--s2);text-align:left;background:0 0;border-color:#0000;display:flex}button.vertical-row:hover:not(:disabled){background:var(--panel-2)}button.vertical-row.on,button.vertical-row.on:hover:not(:disabled){background:var(--primary-soft);border-color:var(--primary)}button.vertical-row.out .vertical-row-text{color:var(--muted);text-decoration:line-through}.vertical-row-arrow{width:var(--s4);text-align:center;flex-shrink:0;font-weight:700}.vertical-row-text{overflow-wrap:anywhere;flex:1;min-width:0}.vertical-row-note{font-size:var(--fs-xs);color:var(--muted);flex-shrink:0}.verticals .route-groups li>.route-correct{margin:var(--s1) 0 var(--s2)}button.vertical-said{text-align:left;padding:0}.place-list{margin:var(--s1) 0 0;gap:var(--s1);flex-direction:column;padding:0;list-style:none;display:flex}.place-list li{align-items:baseline;gap:var(--s1) var(--s2);flex-wrap:wrap;display:flex}.place-sheet{overflow-wrap:anywhere;min-width:0}.place-level-pick{align-items:baseline;gap:var(--s1);flex-wrap:wrap;display:inline-flex}.place-where,.place-needed{padding:var(--s2);border-radius:var(--r-sm);border:1px solid var(--border);background:var(--panel)}.place-needed{border-color:var(--warn);background:var(--warn-soft)}.layer-add{gap:var(--s2);flex-wrap:wrap;display:flex}.layer-row.layer-row{align-items:center;gap:var(--s2);padding:var(--s1) var(--s2);flex-direction:row}.layer-open{align-items:center;gap:var(--s2);min-width:0;padding:var(--s1) 0;color:var(--text);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;flex:1;display:flex}.layer-open:hover strong{text-decoration:underline}.layer-open-text{overflow-wrap:anywhere;min-width:0;font-size:var(--fs-sm);flex-direction:column;flex:1;display:flex}.layer-chevron{color:var(--muted);font-size:var(--fs-lg);flex-shrink:0}.layer-page{gap:var(--s2);flex-direction:column;display:flex}.layer-back{align-self:flex-start}.layer-page-head{align-items:center;gap:var(--s2);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.layer-page-state{align-items:center;gap:var(--s1) var(--s3);flex-wrap:wrap;display:flex}.layer-settings{border-top:1px solid var(--border);padding-top:var(--s2);margin-top:var(--s2)}.steps{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.step{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s2);background:var(--panel)}.step-now{border-color:var(--primary)}.step-later{opacity:.6}.step-head{align-items:center;gap:var(--s2);font-size:var(--fs-sm);margin-bottom:var(--s1);display:flex}.step-no{border-radius:var(--r-pill);width:22px;height:22px;font-size:var(--fs-xs);background:var(--panel-2);color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.step-now .step-no{background:var(--primary);color:var(--panel)}.step-done .step-no{background:var(--success-soft);color:var(--success)}.step-body{gap:var(--s2);flex-direction:column;display:flex}.step-body p{margin:0}.blocker-card-actions{gap:var(--s1) var(--s3);border-top:1px solid var(--border);padding-top:var(--s2);flex-wrap:wrap;display:flex}.blocker-update-form label{flex-direction:column;gap:2px;display:flex}.mark-photos{gap:var(--s1);flex-direction:column;display:flex}.photo-strip{margin:var(--s1) 0 0;gap:var(--s2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.photo-strip li{position:relative}.photo-thumb{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-2);cursor:zoom-in;padding:0;display:block;overflow:hidden}.photo-thumb img{object-fit:cover;width:72px;height:72px;display:block}.photo-remove{background:var(--panel);border-radius:var(--r-sm);padding:0 var(--s1);position:absolute;top:2px;right:2px}.photo-add{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.photo-viewer{z-index:1000;padding:var(--s3);touch-action:none;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.photo-viewer img{object-fit:contain;-webkit-user-select:none;user-select:none;max-width:100%;max-height:100%}.photo-viewer-close{top:var(--s3);right:var(--s3);position:absolute}.photo-viewer-count{top:var(--s3);left:var(--s3);padding:var(--s1) var(--s3);border-radius:var(--r-pill);color:#fff;font-size:var(--fs-sm);line-height:var(--control-h-sm);background:#0009;position:absolute}.photo-viewer-nav{width:44px;min-height:44px;font-size:var(--fs-xl);border-radius:50%;padding:0;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.photo-viewer-nav.prev{left:var(--s3)}.photo-viewer-nav.next{right:var(--s3)}.photo-viewer-caption{left:var(--s3);right:var(--s3);bottom:calc(var(--s3) + env(safe-area-inset-bottom));padding:var(--s2) var(--s3);border-radius:var(--r-md);color:#fff;font-size:var(--fs-sm);text-align:center;background:#0009;margin:0;position:absolute}.photo-viewer-caption p{margin:0}.mark-form{width:min(520px, calc(100% - 2 * var(--s3)));overflow:hidden}.mark-form-sections{overscroll-behavior:contain;gap:var(--s1);flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.mark-form-sec{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel)}.mark-form-sec.open{border-color:var(--primary)}.mark-form-sec-head,.mark-form-sec-head:hover:not(:disabled){align-items:center;gap:var(--s2);width:100%;min-height:48px;padding:var(--s2) var(--s3);border-radius:var(--r-lg);color:var(--text);text-align:left;background:0 0;border:0;display:flex}.mark-form-sec-head:hover:not(:disabled){background:var(--panel-2)}.mark-form-sec-head>svg:last-child{color:var(--muted);flex-shrink:0;transition:transform .15s}.mark-form-sec.open .mark-form-sec-head>svg:last-child{transform:rotate(180deg)}.mark-form-dot{border:1px solid var(--border-strong);background:var(--panel-2);width:22px;height:22px;color:var(--muted);font-size:var(--fs-xs);border-radius:50%;flex:0 0 22px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.mark-form-dot.done{border-color:var(--success);background:var(--success);color:#fff}.mark-form-dot.needed{border-color:var(--warn);color:var(--warn)}.mark-form-sec-title{flex-direction:column;flex:1;min-width:0;display:flex}.mark-form-sec-title strong{font-size:var(--fs-md)}.mark-form-sec-title .small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mark-form-tag{padding:1px var(--s2);border-radius:var(--r-pill);background:var(--panel-2);color:var(--muted);font-size:var(--fs-xs);flex-shrink:0}.mark-form-tag.needed{background:var(--warn-soft);color:var(--warn)}.mark-form-sec-body{gap:var(--s2);padding:0 var(--s3) var(--s3);flex-direction:column;display:flex}.mark-form-sec-body input:not([type=checkbox]):not([type=radio]),.mark-form-sec-body select,.mark-form-sec-body textarea{width:100%}.mark-form-sec-body .under-day input{width:auto}.mark-form-next{align-self:flex-end}.mark-form-picked{padding:var(--s2);border-radius:var(--r-md);background:var(--primary-soft)}.mark-form-choose summary{cursor:pointer;color:var(--primary)}.mark-form-foot{gap:var(--s1);padding-top:var(--s2);border-top:1px solid var(--border);flex-direction:column;display:flex}.viewer-phone .mark-sheet.mark-form{max-height:86%}.with-icon{align-items:center;gap:6px;display:inline-flex}.camera{z-index:1000;background:var(--camera-bg);color:var(--camera-ink);touch-action:none;position:fixed;inset:0}.camera-video{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.camera-flash{background:var(--camera-ink);opacity:.6;pointer-events:none;position:absolute;inset:0}.camera-top,.camera-bottom{justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s3);background:var(--camera-wash);display:flex;position:absolute;left:0;right:0}.camera-top{padding-top:calc(var(--s3) + env(safe-area-inset-top));top:0}.camera-bottom{padding-bottom:calc(var(--s4) + env(safe-area-inset-bottom));bottom:0}.camera-btn,.camera-btn:hover:not(:disabled){min-height:var(--control-h);padding:0 var(--s3);border:1px solid var(--camera-ink);border-radius:var(--r-pill);color:var(--camera-ink);font-size:var(--fs-md);background:0 0}.camera-btn.on,.camera-use,.camera-use:hover:not(:disabled){background:var(--camera-ink);color:var(--camera-bg);font-weight:600}.camera-words{left:var(--s4);right:var(--s4);padding:var(--s3);border-radius:var(--r-lg);background:var(--camera-wash);font-size:var(--fs-md);text-align:center;margin:0;position:absolute;top:40%}.camera-last,.camera-done{flex:1 1 0;align-items:center;min-width:0;display:flex}.camera-done{justify-content:flex-end}.camera-last{position:relative}.camera-last img{object-fit:cover;border:2px solid var(--camera-ink);border-radius:var(--r-md);width:48px;height:48px}.camera-count{border-radius:var(--r-pill);background:var(--camera-ink);min-width:20px;color:var(--camera-bg);font-size:var(--fs-xs);text-align:center;padding:0 5px;font-weight:600;position:absolute;top:-6px;left:38px}.camera-shutter,.camera-shutter:hover:not(:disabled){border:4px solid var(--camera-ink);width:72px;height:72px;min-height:72px;box-shadow:inset 0 0 0 4px var(--camera-bg), inset 0 0 0 40px var(--camera-ink);background:0 0;border-radius:50%;flex:none;padding:0}.camera-shutter:active:not(:disabled){transform:scale(.94)}.camera-shutter:disabled{opacity:.4}.phone-shell{flex-direction:column}.phone-shell .content{padding:var(--s3) var(--s3) calc(80px + env(safe-area-inset-bottom))}.bottom-nav{z-index:40;padding:6px var(--s1) calc(6px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--border);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 18px #15202b12}.bottom-nav-item,.bottom-nav-item:hover:not(:disabled){min-width:0;min-height:56px;color:var(--muted);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;border-radius:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:4px;padding:0 2px;font-weight:500;text-decoration:none;display:flex}.bottom-nav-item span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-nav-icon{border-radius:var(--r-pill);justify-content:center;align-items:center;width:56px;height:30px;line-height:1;transition:background-color .15s;display:flex}.bottom-nav-item.active{color:var(--primary);font-weight:600}.bottom-nav-item.active .bottom-nav-icon{background:var(--primary-soft)}.phone-sheet-backdrop{z-index:70;background:var(--scrim);align-items:flex-end;display:flex;position:fixed;inset:0}.phone-sheet{overscroll-behavior:contain;background:var(--panel);border-top:var(--rule-ink);width:100%;max-height:80dvh;box-shadow:var(--shadow-lg);padding:var(--s2) var(--s3) calc(var(--s3) + env(safe-area-inset-bottom));gap:var(--s3);border-radius:12px 12px 0 0;flex-direction:column;display:flex;overflow-y:auto}.phone-sheet-close{align-self:flex-end}.more-links{flex-direction:column;display:flex}.more-link{align-items:center;gap:var(--s2);min-height:48px;padding:0 var(--s2);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-md);text-decoration:none;display:flex}.more-link.active{background:var(--primary-soft);color:var(--primary)}.more-account{justify-content:space-between;align-items:center;gap:var(--s2);border-top:1px solid var(--border);padding-top:var(--s2);display:flex}.viewer-stage{touch-action:pan-x pan-y}.viewer-phone.viewer-full{z-index:60;gap:0;padding:0}.viewer-phone .viewer-body{flex-direction:column;flex:1;gap:0;min-height:0}.viewer-phone .viewer-main{gap:0}.viewer-phone .viewer-frame{border-left:0;border-right:0;border-radius:0;flex:1;height:auto}.viewer-phone .viewer-stage{padding:56px var(--s1) calc(96px + env(safe-area-inset-bottom));display:flex}.viewer-phone .viewer-page{flex:none;margin:auto}.viewer-phone .mark-sheet{width:calc(100% - 2 * var(--s2));bottom:var(--s2);max-height:72%}.phone-topbar{z-index:6;align-items:center;gap:var(--s1);min-height:56px;padding:var(--s1) var(--s2);background:var(--panel);box-shadow:0 1px 0 var(--border), 0 4px 12px #15202b0f;display:flex;position:relative}.phone-icon-btn,.phone-icon-btn:hover:not(:disabled){width:44px;height:44px;min-height:44px;color:var(--text);background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.phone-icon-btn:active{background:var(--panel-2)}.phone-more-btn,.phone-more-btn:hover:not(:disabled){border:1px solid var(--border);background:var(--panel);width:40px;height:40px;min-height:40px}.phone-title{flex-direction:column;flex:1;min-width:0;display:flex}.phone-title>*{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.phone-layers-btn,.phone-layers-btn:hover:not(:disabled){min-height:40px;padding:0 var(--s3);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--panel);color:var(--text);font-size:var(--fs-sm);flex-shrink:0;align-items:center;gap:6px;font-weight:500;display:inline-flex}.phone-count{border-radius:var(--r-pill);background:var(--primary);color:#fff;text-align:center;min-width:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:18px}.phone-toolbar{z-index:4;pointer-events:none;position:absolute;inset:0}.phone-toolbar :is(button,.phone-chip){pointer-events:auto}.phone-chips{top:var(--s2);left:var(--s2);right:var(--s2);justify-content:space-between;align-items:center;gap:var(--s2);display:flex;position:absolute}.phone-chips-end{gap:var(--s1);flex-shrink:0;display:flex}.phone-chip,.phone-chip:hover:not(:disabled){min-height:36px;padding:0 var(--s3);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--panel);color:var(--text);font-size:var(--fs-sm);box-shadow:var(--shadow-md);align-items:center;gap:6px;display:inline-flex}.phone-chip.scale-btn.unset{color:var(--warn);border-color:var(--warn)}.phone-chips .layer-picker{max-width:60%}.phone-layer{min-width:0;max-width:100%}.phone-toolbar .layer-menu{pointer-events:auto}.phone-layer-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.phone-pages{gap:0;padding:0 2px}.phone-pages button,.phone-pages button:hover:not(:disabled){width:32px;height:32px;min-height:32px;color:var(--text);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.phone-pages button:disabled{color:var(--border-strong)}.phone-zoom{right:var(--s2);bottom:calc(108px + env(safe-area-inset-bottom));border:1px solid var(--border);border-radius:var(--r-pill);background:var(--panel);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:absolute;overflow:hidden}.phone-zoom button,.phone-zoom button:hover:not(:disabled){width:44px;height:44px;min-height:44px;color:var(--text);background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:0;display:flex}.phone-zoom button:disabled{color:var(--border-strong)}.phone-zoom .phone-zoom-fit{border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:11px;font-weight:600}.phone-dock{left:50%;bottom:calc(var(--s3) + env(safe-area-inset-bottom));max-width:calc(100% - 2 * var(--s2));flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;transform:translate(-50%)}.phone-tool-name{padding:2px var(--s2);border-radius:var(--r-pill);background:var(--text);color:var(--panel);font-size:var(--fs-xs);font-weight:500}.phone-tools{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--panel);box-shadow:var(--shadow-lg);gap:2px;padding:4px;display:flex}.phone-tool,.phone-tool:hover:not(:disabled){width:46px;height:46px;min-height:46px;color:var(--text);background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.phone-tools.many .phone-tool{width:40px;height:40px;min-height:40px}.phone-tool.on,.phone-tool.on:hover:not(:disabled){background:var(--primary);color:#fff}:is(.viewer-phone .viewer-frame:has(.mark-sheet:not(.pending-bar)) :is(.phone-dock,.phone-zoom),.viewer-phone .viewer-frame:has(.pending-bar) .phone-zoom){visibility:hidden}.viewer-phone .viewer-frame:not(:has(.mark-sheet:not(.pending-bar))) .mark-sheet.pending-bar{bottom:calc(96px + env(safe-area-inset-bottom))}.viewer-phone .viewer-status{top:52px}.phone-sheet .notes-panel{border:0;width:auto;padding:0;display:flex;overflow:visible}@media (width<=760px){input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),select,textarea{font-size:16px}button:not(.link-btn):not(.swatch):not(.photo-thumb):not(.bottom-nav-item),.btn-secondary{min-height:40px}button.link-btn:not(p button,.small button,span button){align-items:center;min-height:36px;display:inline-flex}.panel-tab{min-height:44px}.doc-list-table thead{display:none}.doc-list-table,.doc-list-table tbody,.doc-list-table tr{width:auto;min-width:0;display:block}.doc-list-table tr{padding:var(--s2) var(--s3);border-bottom:1px solid var(--border)}.doc-list-table td{font-size:var(--fs-xs);color:var(--muted);border:0;padding:0;display:inline}.doc-list-table td.col-name{align-items:center;gap:var(--s1);font-size:var(--fs-md);color:var(--text);overflow-wrap:anywhere;flex-wrap:wrap;margin-bottom:2px;display:flex}.doc-list-table td:not(.col-name):not(.col-project):not(:empty):before{content:" · "}.doc-list-table td.col-rev:not(:empty):before{content:" · rev "}.doc-list-table td.col-notes:not(:empty):after{content:" marks"}.doc-list-table tr+tr td{border-top:0}.documents-filters label{flex:150px}.documents-filters select{width:100%;max-width:none}}.phone-hint{left:50%;bottom:var(--s3);z-index:3;width:max-content;max-width:calc(100% - 2 * var(--s3));padding:var(--s2) var(--s3);border-radius:var(--r-pill);background:var(--text);color:var(--panel);font-size:var(--fs-sm);box-shadow:var(--shadow-md);border:0;position:absolute;transform:translate(-50%)}.viewer-phone .phone-hint{bottom:calc(96px + env(safe-area-inset-bottom))}.phone-conversations{margin-top:var(--s3);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s3)}.phone-conversations .conversations{color:var(--text);margin:0}.phone-conversations .conversation-item,.phone-conversations .sidebar-label{color:var(--text)}:is(.phone-conversations,.assistant-panel.is-phone) .conversations,:is(.phone-conversations,.assistant-panel.is-phone) .conversation-list,:is(.phone-conversations,.assistant-panel.is-phone) .conversation-group{flex-direction:column;align-items:stretch;overflow:visible}:is(.phone-conversations,.assistant-panel.is-phone) .conversation-row{flex:auto;max-width:none;min-height:44px}:is(.phone-conversations,.assistant-panel.is-phone) .conversation-item{max-width:none;padding:var(--s2);color:var(--text);font-size:var(--fs-md)}:is(.phone-conversations,.assistant-panel.is-phone) .conversation-row:hover,:is(.phone-conversations,.assistant-panel.is-phone) .conversation-row:focus-within{background:var(--panel-2)}:is(.phone-conversations,.assistant-panel.is-phone) .conversation-row:has(.conversation-item.active){background:var(--primary-soft)}:is(.phone-conversations,.assistant-panel.is-phone) .conversation-day,:is(.phone-conversations,.assistant-panel.is-phone) .sidebar-label{color:var(--muted);display:block}:is(.phone-conversations,.assistant-panel.is-phone) button.row-action{opacity:1;color:var(--muted);min-width:40px}:is(.phone-conversations,.assistant-panel.is-phone) .sidebar-note{color:var(--muted)}.phone-conversations .conversations-head{display:none}.phone-days{gap:var(--s1);scrollbar-width:none;margin-bottom:var(--s2);display:flex;overflow-x:auto}.phone-day{min-width:0;min-height:60px;padding:var(--s1) 2px;border-radius:var(--r-md);background:var(--panel-2);border:1px solid var(--border);color:var(--text);font-size:var(--fs-xs);flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:0;display:flex}.phone-day strong{font-size:var(--fs-lg)}.phone-day.today{border-color:var(--primary)}.phone-day.on,.phone-day.on:hover:not(:disabled){background:var(--primary);border-color:var(--primary);color:#fff}.phone-day-total{min-height:1em;font-size:var(--fs-xs)}.phone-day-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.phone-day-list>li{gap:var(--s2);padding:var(--s2) 0;border-bottom:1px solid var(--border);flex-direction:column;display:flex}.phone-day-row{align-items:center;gap:var(--s2);display:flex}.phone-day-person{overflow-wrap:anywhere;flex:1;min-width:0}.phone-day-row .timesheet-cell{width:132px;padding:var(--s1);border:1px solid var(--border);border-radius:var(--r-md);flex:none}.phone-day-row .timesheet-cell input{width:72px;min-height:44px}.phone-day-row .timesheet-cell .link-btn{min-width:40px;min-height:44px}@media (width<=760px){.stack-on-phone thead{display:none}.stack-on-phone,.stack-on-phone tbody,.stack-on-phone tfoot,.stack-on-phone tr{width:auto;min-width:0;display:block}.stack-on-phone tr{padding:var(--s2) 0;border-bottom:1px solid var(--border)}.stack-on-phone td,.stack-on-phone th{justify-content:space-between;align-items:baseline;gap:var(--s3);text-align:right;overflow-wrap:anywhere;border:0;padding:2px 0;display:flex}.stack-on-phone td[data-label]:before,.stack-on-phone th[data-label]:before{content:attr(data-label);text-align:left;max-width:45%;color:var(--muted);font-size:var(--fs-xs);text-transform:none;flex-shrink:0;font-weight:400}.stack-on-phone td:empty,.stack-on-phone td:not([data-label]):empty{display:none}table.stack-on-phone td,table.stack-on-phone th{border:0!important}table.stack-on-phone tr>:first-child{font-weight:600;font-size:var(--fs-md);justify-content:flex-start}table.stack-on-phone tr>:first-child:before{display:none}.records-list{max-height:none;overflow:visible}.records-body.phone-open .records-list,.records-body.phone-open~*,.records-body:not(.phone-open) .records-detail{display:none}.phone-back-to-list{margin-bottom:var(--s2);align-self:flex-start}.admin-summary{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));display:grid}.admin-tile{min-width:0}}:is(.phone-conversations,.assistant-panel.is-phone) button.new-conversation{background:var(--panel-2);border-color:var(--border);color:var(--text)}.layer-enter{border-radius:var(--r-md);width:40px;min-height:40px;color:var(--muted);font-size:var(--fs-xl);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.layer-enter:hover{background:var(--panel-2);border-color:var(--border);color:var(--text)}.size-picker{gap:var(--s1);flex-direction:column;display:flex}.size-picker label.route-size input{text-align:left;width:120px}.size-picker-row{align-items:center;gap:var(--s1);flex-wrap:wrap;display:flex}button.size-chip.size-pick{min-height:var(--control-h-sm);cursor:pointer;color:var(--text)}button.size-chip.size-pick:hover:not(:disabled){border-color:var(--primary)}button.size-chip.size-pick.on{border-color:var(--primary);background:var(--primary-soft);font-weight:600}.fr-both{font-size:var(--fs-sm)}.takeoff-mode{align-items:center;gap:var(--s2);font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;display:flex}.takeoff-mode.reading{padding:var(--s2);background:var(--warn-soft);border-radius:var(--r-md);color:var(--text)}.reading-list{gap:var(--s1);font-size:var(--fs-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.reading-list li{align-items:center;gap:var(--s2);display:flex}.reading-list .reading-len{font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-left:auto}.equipment-icon{vertical-align:middle;flex:none;display:inline-block}.equipment-symbol{vertical-align:middle;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);width:auto;max-width:48px;height:24px}.equipment-section{gap:var(--s2);padding-top:var(--s2);border-top:1px solid var(--border);flex-direction:column;display:flex}.equipment-section .review-kicker{margin:0}.takeoff-switch{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:2px;display:grid}button.takeoff-switch-btn{justify-content:center;align-items:center;gap:var(--s2);min-height:var(--control-h);padding:var(--s1) var(--s2);color:var(--muted);border-radius:calc(var(--r-md) - 2px);font-size:var(--fs-sm);background:0 0;border:1px solid #0000;font-weight:600;display:inline-flex}button.takeoff-switch-btn:hover:not(:disabled){background:var(--panel);color:var(--text)}button.takeoff-switch-btn.on{background:var(--panel);color:var(--primary);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}button.takeoff-switch-btn:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.takeoff-switch-n{border-radius:var(--r-pill);background:var(--primary-soft);min-width:22px;color:var(--primary);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;padding:0 6px;line-height:1.6}button.takeoff-switch-btn:not(.on) .takeoff-switch-n{background:var(--border);color:var(--muted)}.takeoff-view{gap:var(--s2);flex-direction:column;display:flex}.takeoff-view>.equipment-section{border-top:none;padding-top:0}.takeoff-summary{align-items:center;gap:var(--s1) var(--s3);flex-wrap:wrap;margin:0;display:flex}.takeoff-summary>span{align-items:center;gap:var(--s1);white-space:nowrap;display:inline-flex}.takeoff-summary .swatch-dot{width:10px;height:10px}.equipment-family-pick{align-items:center;gap:var(--s2);display:flex}.equipment-family-pick select{flex:1;min-width:0}.equipment-counts{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.equipment-counts li{align-items:center;gap:var(--s2);min-height:var(--control-h-sm);display:flex}.equipment-counts .equipment-n{font-family:var(--font-mono);margin-left:auto;font-weight:600}.equipment-overlay{pointer-events:none;position:absolute;inset:0;overflow:visible}.equipment-overlay.placing{cursor:crosshair}.equipment-placing,.equipment-mark,.equipment-tag{pointer-events:auto}.equipment-mark{cursor:pointer;color:var(--primary)}.equipment-mark .equipment-mark-ground{fill:var(--panel);fill-opacity:.85;stroke:var(--primary);stroke-width:1.5px}.equipment-mark.picked{color:var(--danger)}.equipment-mark.picked .equipment-mark-ground{stroke:var(--danger);stroke-width:2.5px}.equipment-tag rect{fill:var(--primary-soft);fill-opacity:.35;stroke:var(--primary);stroke-dasharray:3 2;cursor:pointer}.equipment-placing{fill:#0000}.equipment-fade{fill:#fff;fill-opacity:.6;pointer-events:none}.equipment-mark-halo{fill:none;stroke:var(--primary);stroke-width:2px;stroke-dasharray:4 3}.equipment-mark.picked .equipment-mark-halo{stroke:var(--danger)}.equipment-mark.strong .equipment-mark-ground{fill-opacity:1;stroke-width:2px}.equipment-overlay.passive .equipment-mark,.equipment-overlay.passive .equipment-tag{pointer-events:none}.equipment-mark-label.unsized{fill:var(--warn);font-style:italic}.equipment-mark-label{font-family:var(--font-mono);fill:currentColor;stroke:var(--panel);stroke-width:3px;paint-order:stroke;pointer-events:none;font-size:11px;font-weight:600}.equipment-card .equipment-card-head,.equipment-picked .equipment-card-head{align-items:center;gap:var(--s2);min-width:0;display:flex}.equipment-card-head .grow{flex:1;min-width:0}.equipment-card .equipment-n{font-family:var(--font-mono);font-weight:600}.equipment-props{color:var(--text)}.equipment-props-list{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.equipment-props-list li{align-items:center;gap:var(--s2);display:flex}.equipment-props-list input{flex:1;min-width:0}.equipment-props-list input.equipment-unit{flex:0 0 80px}.equipment-new-size{gap:var(--s2);padding:var(--s2);border:1px dashed var(--border-strong);border-radius:var(--r-md);flex-direction:column;display:flex}.equipment-property-fields{gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(130px,1fr));display:grid}.equipment-property-fields label{font-size:var(--fs-sm);flex-direction:column;gap:2px;display:flex}.equipment-bulk{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.equipment-bulk select{flex:140px;min-width:0}.equipment-pieces{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.equipment-pieces li{align-items:center;gap:var(--s2);min-height:var(--control-h-sm);padding:0 var(--s1);border-radius:var(--r-sm);display:flex}.equipment-pieces li.picked{background:var(--primary-soft)}.equipment-pieces .grow{align-items:center;gap:var(--s2);flex-wrap:wrap;flex:1;min-width:0;display:flex}.equipment-pieces select{min-width:0;max-width:100%}.equipment-piece-n{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted);text-align:right;min-width:2ch}button.size-chip.size-pick.unsized{border-style:dashed}.equipment-section>.lines-list-head{row-gap:var(--s1);flex-wrap:wrap}.lines-list-head .equipment-show-all{min-height:var(--control-h-sm);font-size:var(--fs-sm);margin-left:auto}.equipment-picked{gap:var(--s2);flex-direction:column;max-height:60vh;display:flex;overflow-y:auto}.equipment-tag-field{align-items:flex-end;gap:var(--s2);flex-wrap:wrap;display:flex}.equipment-tag-field label{font-size:var(--fs-sm);flex-direction:column;flex:140px;gap:2px;display:flex}.takeoff-screen .takeoff-section{gap:var(--s3);margin-top:var(--s5);flex-direction:column;display:flex}.takeoff-section h2{font-size:var(--fs-lg);margin:0}.takeoff-rows{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.takeoff-row{gap:var(--s2);padding:var(--s3);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;display:flex}.takeoff-ready{justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);flex-wrap:wrap;display:flex}.takeoff-ready-switch{flex:0 300px}.takeoff-said{justify-content:space-between;align-items:center;gap:var(--s2);padding-top:var(--s2);border-top:1px solid var(--border);flex-wrap:wrap;flex:100%;display:flex}.system-lines{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);margin:0;padding:0;list-style:none}.system-line+.system-line{border-top:1px solid var(--border)}button.system-line-head{align-items:center;gap:var(--s2);width:100%;min-height:var(--control-h);padding:var(--s2) var(--s3);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;grid-template-columns:auto auto minmax(10em,1fr) minmax(0,1.4fr) auto;display:grid}button.system-line-head:hover{background:var(--panel-2)}.system-line-name{align-items:baseline;gap:var(--s2);min-width:0;display:flex}.system-line-name>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.system-line-name .takeoff-code{font-family:var(--font-mono)}.system-line-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.swatch-dot.none{background:0 0;border-style:dashed}.takeoff-row.system-line-detail{margin:0 var(--s3) var(--s3);background:var(--panel-2)}@media (width<=760px){button.system-line-head{grid-template-columns:auto auto minmax(0,1fr) auto}.system-line-meta{white-space:normal;grid-area:2/3/auto/-1}.system-line-head .state-pill{white-space:normal;text-align:right}.takeoff-ready-switch{flex-basis:100%}.takeoff-row.system-line-detail{margin:0 0 var(--s2)}.takeoff-sizes .size-chip .link-btn{min-width:40px;min-height:40px}}.takeoff-row.dimmed{opacity:.7}.takeoff-row-head{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.takeoff-row-head .takeoff-code{font-family:var(--font-mono);font-weight:600}.takeoff-row-fields{gap:var(--s2);flex-wrap:wrap;display:flex}.takeoff-row-fields label{flex:160px;max-width:360px}.takeoff-row-fields label.takeoff-code-field{flex:0 120px}.takeoff-source{font-size:var(--fs-sm);color:var(--muted)}.takeoff-sizes{align-items:center;gap:var(--s1);flex-wrap:wrap;display:flex}.takeoff-sizes button.size-chip{min-height:var(--control-h-sm);cursor:pointer}.takeoff-sizes button.size-chip.off{opacity:.6;text-decoration:line-through}.takeoff-read{align-items:center;gap:var(--s2);padding:var(--s3);background:var(--primary-soft);border-radius:var(--r-md);flex-wrap:wrap;display:flex}.takeoff-confirmed{padding:var(--s2) var(--s3);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md)}.takeoff-row.unticked{background:var(--panel-2);opacity:.75}.takeoff-tick{gap:var(--s2);min-height:var(--control-h-sm)}.takeoff-divider{padding:var(--s2) 0 0}.takeoff-confirm-bar{z-index:5;align-items:center;gap:var(--s2) var(--s3);padding:var(--s3);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);flex-wrap:wrap;display:flex;position:sticky;bottom:0}.takeoff-confirm-bar button{min-height:var(--control-h);margin-left:auto}.phone-shell .takeoff-confirm-bar{bottom:calc(62px + env(safe-area-inset-bottom))}.size-chip.odd{border-style:dashed;border-color:var(--warn)}.size-picker-more>summary{cursor:pointer;min-height:var(--control-h-sm);color:var(--primary);align-items:center;display:flex}.size-picker-more[open]>summary{margin-bottom:var(--s1)}.library-search{max-width:420px}.review-overlay{pointer-events:none;position:absolute;inset:0;overflow:visible}.review-piece line{stroke:var(--warn);stroke-width:4px;stroke-dasharray:8 5;stroke-linecap:round;opacity:.8}.review-piece.focus line{stroke-width:7px;opacity:1}.review-label{fill:none;stroke:var(--warn);stroke-width:1.5px}.review-label.differs,.review-label.no_size{stroke:var(--danger)}.review-label.focus{stroke-width:3px}.review-view{fill:var(--warn-soft);fill-opacity:.3;stroke:var(--warn);stroke-dasharray:6 4}.review-view.focus{stroke-width:3px}.review{gap:var(--s3);flex-direction:column;display:flex}.review-head{align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.review-head .check-inline{margin-left:auto}.review-kicker{margin:0 0 var(--s1);font-size:var(--fs-sm);font-weight:600}.review-list{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.review-pieces{padding-left:var(--s4)}.review-item{align-items:center;gap:var(--s1) var(--s2);padding:var(--s1) var(--s2);border-radius:var(--r-sm);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.review-item.focus{background:var(--warn-soft)}.review-item.dimmed{opacity:.75}.review-what{flex:200px;min-width:0}.review-actions{align-items:center;gap:var(--s2);display:flex}select.review-aside{min-height:var(--control-h-sm);max-width:190px}.review-totals{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.review-totals th,.review-totals td{padding:var(--s1) var(--s2);text-align:left;border-bottom:1px solid var(--border)}.review-totals .num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.zones-overlay{pointer-events:none;position:absolute;inset:0;overflow:visible}.zone-area polygon{fill:var(--primary-soft);fill-opacity:.25;stroke:var(--primary);stroke-width:1.5px;stroke-dasharray:10 4}.zone-area.focus polygon{fill-opacity:.45;stroke-width:3px}.zone-area text{fill:var(--primary);paint-order:stroke;stroke:var(--panel);stroke-width:3px;font-size:14px;font-weight:600}.zone-draft{fill:var(--warn-soft);fill-opacity:.35;stroke:var(--warn);stroke-width:2px;stroke-dasharray:6 4}.zones{gap:var(--s3);flex-direction:column;display:flex}.zones-type{gap:var(--s2);flex-direction:column;align-items:flex-start;display:flex}.zones-type .review-list{align-self:stretch}.zones-rename{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.offline-bar{justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s1) var(--s3);margin-bottom:var(--s2);border:1px solid var(--border-strong);background:var(--warn-soft);border-radius:var(--r-md);display:flex}.offline-bar.refused{border-color:var(--danger-border);background:var(--danger-soft)}.offline-bar>.small{flex:1;min-width:0}.offline-bar-actions{justify-content:flex-end;gap:var(--s1) var(--s2);flex-wrap:wrap;flex-shrink:0;max-width:50%;display:inline-flex}.offline-bar-actions>button{min-height:var(--control-h-sm);padding:0 var(--s3)}.viewer-full>.offline-bar{border-width:0 0 1px;border-radius:0;margin:0}.offline-sheet-backdrop{z-index:90;justify-content:center}.offline-sheet{max-width:640px}.offline-sheet-head{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.offline-sheet-head h2{font-size:var(--fs-lg);margin:0}.offline-list{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.offline-list>li{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s2) var(--s3);gap:var(--s1);flex-direction:column;display:flex}.offline-list>li.refused{border-color:var(--danger-border)}.offline-item-head{justify-content:space-between;align-items:flex-start;gap:var(--s2);overflow-wrap:anywhere;display:flex}.keep-offline{align-items:center;gap:var(--s2);flex-wrap:wrap;display:inline-flex}button.keep-offline-on{color:var(--success-dark);border-color:var(--success)}.kept-list{border:1px solid var(--border);background:var(--panel);border-radius:var(--r-lg);padding:var(--s3);margin-bottom:var(--s4)}.kept-list-head{justify-content:space-between;align-items:baseline;gap:var(--s2);flex-wrap:wrap;display:flex}.kept-list-head h2{margin:0 0 var(--s2);font-size:var(--fs-lg)}.kept-list ul{margin:0;padding:0;list-style:none}.kept-list li{justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s2) 0;border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.kept-item{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.keep-job-row{justify-content:space-between;align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.kept-list>p{margin:0 0 var(--s2)}.mark.queued :is(rect,polyline,circle,path){stroke-dasharray:5 3}.mark.queued{opacity:.75}.queued-note{color:var(--warn)}.photo-thumb.queued img{opacity:.7}.phone-menu-head{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.phone-menu-head strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.phone-menu-head .phone-sheet-close{flex-shrink:0}.phone-menu-list{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel);flex-direction:column;display:flex;overflow:hidden}.phone-menu-list>*+*{border-top:1px solid var(--border)}.phone-menu-item,.phone-menu-item:hover:not(:disabled){align-items:center;gap:var(--s3);width:100%;min-height:60px;padding:var(--s2) var(--s3);color:var(--text);text-align:left;background:0 0;border:0;border-radius:0;font-weight:500;display:flex}.phone-menu-list>.phone-menu-item+.phone-menu-item{border-top:1px solid var(--border)}.phone-menu-item:active:not(:disabled){background:var(--panel-2)}.phone-menu-item>svg{color:var(--primary);flex-shrink:0}.phone-menu-item.kept>svg{color:var(--success-dark)}.phone-menu-words{flex-direction:column;gap:2px;min-width:0;display:flex}.phone-menu-words .small{font-weight:400}.phone-menu-confirm{padding:var(--s2) var(--s3)}.sidebar-bell,.sidebar-bell:hover:not(:disabled){top:calc(var(--s3) - 4px);width:36px;height:36px;min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;right:38px}.sidebar-bell:hover:not(:disabled),.sidebar-bell.on{background:var(--panel-2);color:var(--text)}.bell-count{border-radius:var(--r-pill);background:var(--danger);color:#fff;text-align:center;pointer-events:none;min-width:17px;padding:0 4px;font-size:10px;font-weight:600;line-height:17px;position:absolute;top:1px;right:0}.bottom-nav-icon{position:relative}.bottom-nav-icon .bell-count{top:-3px;right:6px}.phone-more-btn{position:relative}.menu-dot{background:var(--danger);width:9px;height:9px;box-shadow:0 0 0 2px var(--panel);border-radius:50%;position:absolute;top:7px;right:7px}.inbox-pop-backdrop{z-index:80;position:fixed;inset:0}.inbox-pop{z-index:81;top:var(--s3);width:min(420px,100vw - 272px);max-height:calc(100vh - 2 * var(--s3));overscroll-behavior:contain;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);position:fixed;left:256px;overflow-y:auto}.inbox{flex-direction:column;display:flex}.inbox-head{justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s3) var(--s3) var(--s2);display:flex}.inbox-head strong{font-size:var(--fs-lg)}@media (width<=767px){.inbox-jobs .inbox-job,.inbox-jobs .inbox-job:hover:not(:disabled){min-height:40px}}.inbox-jobs{gap:var(--s1);padding:0 var(--s3) var(--s2);display:flex;overflow-x:auto}.inbox-job,.inbox-job:hover:not(:disabled){min-height:32px;padding:0 var(--s3);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--panel);color:var(--text);font-size:var(--fs-sm);white-space:nowrap;flex:none;align-items:center;gap:6px;font-weight:500;display:inline-flex}.inbox-job:hover:not(:disabled){border-color:var(--border-strong)}.inbox-job.on,.inbox-job.on:hover:not(:disabled){background:var(--text);border-color:var(--text);color:var(--panel)}.inbox-job-count{border-radius:var(--r-pill);background:var(--danger);color:#fff;text-align:center;min-width:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:18px}.inbox-list{margin:0;padding:0;list-style:none}.inbox-row,.inbox-row:hover:not(:disabled){align-items:flex-start;gap:var(--s3);width:100%;padding:var(--s3);border:0;border-top:1px solid var(--border);color:var(--text);text-align:left;background:0 0;border-radius:0;font-weight:400;display:flex}.inbox-row:hover:not(:disabled){background:var(--panel-2)}.inbox-row.unread,.inbox-row.unread:hover:not(:disabled){background:var(--primary-soft)}.inbox-icon{color:var(--primary);flex:none;margin-top:1px;display:inline-flex}.inbox-icon.warn{color:var(--warn)}.inbox-icon.danger{color:var(--danger)}.inbox-icon.good{color:var(--success-dark)}.inbox-words{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.inbox-title{font-weight:500;line-height:1.35}.inbox-row.unread .inbox-title{font-weight:600}.inbox-dot{background:var(--primary);border-radius:50%;flex:none;width:8px;height:8px;margin-top:7px}.inbox-state{padding:var(--s3)}.inbox .inbox-tabs{margin:0 0 var(--s2);padding:0 var(--s3)}.inbox-job-count.plain{background:var(--panel-2);color:var(--text)}.inbox-job.on .inbox-job-count.plain{background:var(--panel);color:var(--text)}.inbox-page{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}a.phone-menu-item{text-decoration:none}.record-progress,.stage-sets{gap:var(--s3);flex-direction:column;display:flex}.record-progress p,.stage-sets p{margin:0}.place-picker{gap:var(--s3);flex-wrap:wrap;display:flex}.place-picker label{flex:200px;max-width:320px}.place-card{gap:var(--s3);padding:var(--s3) var(--s4);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;display:flex}.place-card p{margin:0}.place-card-head{justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.place-card-head h3{font-size:var(--fs-lg);margin:0}.place-subject{gap:var(--s2);padding-top:var(--s2);border-top:1px solid var(--border);flex-direction:column;display:flex}.place-subject-top{gap:var(--s1);margin:0 calc(-1 * var(--s2));padding:0 var(--s2) var(--s1);border-radius:var(--r-md);cursor:pointer;flex-direction:column;display:flex}.place-subject-top:hover,.place-subject.open>.place-subject-top{background:var(--panel-2)}.place-subject-row{justify-content:space-between;align-items:center;gap:var(--s1) var(--s3);flex-wrap:wrap;display:flex}.place-subject-figures{align-items:center;gap:var(--s1) var(--s2);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:inline-flex}.place-writing{padding:1px var(--s2);border-radius:var(--r-pill);background:var(--warn-soft);color:var(--text)}.place-subject-sum{margin-top:calc(-1 * var(--s1));padding-left:3.9em}@media (width<=640px){.place-subject-sum{padding-left:0}}button.place-open-all{align-self:flex-start}.place-stages{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.place-stage{justify-content:space-between;align-items:center;gap:var(--s2) var(--s3);padding:var(--s2) var(--s3);background:var(--panel-2);border-radius:var(--r-md);flex-wrap:wrap;display:flex}.place-stage-name{overflow-wrap:anywhere;flex:220px;min-width:0}.place-stage-set{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.place-stage-set select{width:auto;min-width:150px}.place-amount{align-items:center;gap:var(--s1);color:var(--text);flex-direction:row}.place-amount input{width:100px}.place-card-save{align-items:flex-end;gap:var(--s3);flex-wrap:wrap;display:flex}.place-note{flex:220px}.progress-figures{margin:var(--s2) 0 0;padding-left:var(--s5);gap:var(--s1);overflow-wrap:anywhere;flex-direction:column;display:flex}.stage-set{gap:var(--s2);padding:var(--s3) var(--s4);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;display:flex}.stage-set-head{align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.stage-set-head input{max-width:280px}.stage-table td,.stage-table th{vertical-align:middle}.stage-table .num{text-align:right}.stage-weight{justify-content:flex-end;align-items:center;gap:var(--s1);color:var(--text);flex-direction:row}.stage-weight input{width:90px}.stage-rules{gap:var(--s1);flex-direction:column;display:flex}.stage-test{flex-direction:column;gap:2px;max-width:260px;display:flex}.stage-kinds{gap:var(--s2) var(--s4);padding:var(--s2) 0 0;border:0;flex-wrap:wrap;margin:0;display:flex}.stage-kinds legend{margin-bottom:var(--s1);color:var(--muted);padding:0}.stage-effect{gap:var(--s2);padding:var(--s3);background:var(--panel-2);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--r-md);flex-direction:column;display:flex}.stage-effect-table{table-layout:auto;min-width:0}.stage-effect-table .num{text-align:right;white-space:nowrap}.stage-effect-stages,.stage-history ul{padding-left:var(--s4);gap:var(--s1);flex-direction:column;margin:0;display:flex}.stage-reason{gap:var(--s1);flex-direction:column;display:flex}.stage-reason textarea{width:100%}.stage-history{gap:var(--s1);flex-direction:column;display:flex}.stage-history .link-btn{align-self:flex-start}.takeoff-views{margin-bottom:var(--s3)}.stage-group-title{font-size:var(--fs-md);margin:0}.stage-setting{gap:var(--s2);flex-direction:column;display:flex}.stage-setting.several{padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel-2)}.stage-setting-head{align-items:baseline;gap:var(--s1) var(--s2);flex-wrap:wrap;display:flex}.stage-weights{gap:var(--s1);flex-wrap:wrap;display:flex}.stage-chip{padding:2px var(--s2);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--panel);font-size:var(--fs-sm);white-space:nowrap}.stage-weights .stage-chip{white-space:normal;max-width:100%}.stage-add-setting{align-self:flex-start}.stage-earners{align-items:center;gap:var(--s1) var(--s2);flex-wrap:wrap;display:flex}.stage-member-chips{gap:var(--s1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.stage-member-chip{min-height:30px;padding:0 var(--s2);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--panel);font-size:var(--fs-sm);white-space:nowrap;align-items:center;font-weight:500;display:inline-flex}.stage-member-chip.can-out{padding-right:3px}.stage-member-chip.active{border-color:var(--primary);background:var(--primary-soft)}button.stage-member-out{border-radius:var(--r-pill);width:24px;height:24px;min-height:0;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin-left:4px;padding:0;display:inline-flex}button.stage-member-out:hover,button.stage-member-out:focus-visible,.stage-member-chip.active button.stage-member-out{background:var(--danger-soft);color:var(--danger)}dialog.stage-dialog{width:min(600px, calc(100vw - 2 * var(--s4)));max-height:85vh;padding:var(--s4);color:var(--text);background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:auto}dialog.stage-dialog::backdrop{background:#15202b47}dialog.stage-dialog[open]{gap:var(--s3);flex-direction:column;display:flex}.stage-dialog-head{justify-content:space-between;align-items:flex-start;gap:var(--s3);display:flex}.stage-dialog-head h3{font-size:var(--fs-lg);margin:0}button.stage-dialog-x{border-radius:var(--r-pill);width:40px;height:40px;color:var(--muted);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}button.stage-dialog-x:hover{background:var(--panel-2);color:var(--text)}.stage-dialog-what{margin:0}.stage-plain{padding:0 var(--s3)}@media (width<=640px){.stage-member-chip{min-height:36px}button.stage-member-out{width:32px;height:32px}}.stage-editor{gap:var(--s2);padding:var(--s3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--panel);flex-direction:column;display:flex}.stage-save-as{gap:var(--s1);flex-direction:column;display:flex}.stage-members{border:0;margin:0;padding:0}.stage-members legend{margin-bottom:var(--s1);padding:0}.stage-member-list{gap:var(--s1) var(--s3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.stage-member{min-height:40px}.stage-unplaced{padding:var(--s2) var(--s3);background:var(--warn-soft);border-left:3px solid var(--warn);border-radius:var(--r-md)}.stage-group-name{max-width:360px}.stage-summary ul{margin:0 0 var(--s2);padding-left:var(--s4)}.stage-misread{align-items:center;gap:var(--s2) var(--s3);padding:var(--s2) var(--s3);background:var(--warn-soft);border-left:3px solid var(--warn);border-radius:var(--r-md);flex-wrap:wrap;display:flex}.stage-misread-actions{align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.stage-words{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.stage-words .small{flex-basis:100%}button.stage-word{min-height:40px;padding:0 var(--s3);background:var(--panel);border:1px dashed var(--border-strong);border-radius:var(--r-pill);color:var(--text);font-size:var(--fs-sm)}button.stage-word:hover{border-color:var(--primary);background:var(--primary-soft)}.stage-moves{gap:var(--s2);padding:var(--s2) var(--s3);background:var(--warn-soft);border-radius:var(--r-md);flex-direction:column;display:flex}.stage-move{justify-content:flex-start;align-items:center;gap:var(--s1) var(--s3);color:var(--text);flex-flow:wrap;display:flex}.stage-move select{width:auto;max-width:100%}@media (width<=640px){.place-card,.stage-set{padding:var(--s3)}.place-picker label,.place-stage-set select{flex:100%;max-width:none}}.sheet-progress{gap:var(--s3);flex-direction:column;display:flex}.sheet-progress p{margin:0}.sheet-places{gap:var(--s2);flex-wrap:wrap;display:flex}.zone-area.pickable polygon{pointer-events:auto;cursor:pointer}.stage-row-actions{white-space:nowrap}@media (width<=760px){.stack-on-phone td.stage-row-actions{white-space:normal;justify-content:flex-end}}.under-stages{gap:var(--s1) var(--s3);margin:var(--s1) 0 0 var(--s5);border:0;flex-wrap:wrap;padding:0;display:flex}.under-stages legend{margin-bottom:var(--s1);padding:0}.under-stage{align-items:center;gap:var(--s1);flex-wrap:wrap;display:inline-flex}.under-list button.link-btn.under-day-chip{font-size:var(--fs-sm);margin-left:0;display:inline}.stage-picker{gap:var(--s1);margin-bottom:var(--s3);flex-direction:column;display:flex}.stage-chips{gap:var(--s1);flex-wrap:wrap;display:flex}.stage-chip,.stage-chip:hover:not(:disabled){min-height:36px;padding:0 var(--s3);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--panel);color:var(--text);font-size:var(--fs-sm);white-space:nowrap;align-items:center;font-weight:500;display:inline-flex}.stage-chip:hover:not(:disabled){border-color:var(--border-strong)}.stage-chip.on,.stage-chip.on:hover:not(:disabled){background:var(--text);border-color:var(--text);color:var(--panel)}.stage-shown{top:var(--s2);z-index:2;align-items:center;gap:var(--s2);max-width:calc(100% - 2 * var(--s3));padding:var(--s1) var(--s3);border-radius:var(--r-pill);background:var(--panel);box-shadow:var(--shadow-md);font-size:var(--fs-sm);display:flex;position:absolute;left:50%;transform:translate(-50%)}.viewer-phone .stage-shown{top:92px;left:auto;right:var(--s2);transform:none}@media (width<=760px){.stage-chip,.stage-chip:hover:not(:disabled){min-height:40px}}.paint-fade{fill:#fff;fill-opacity:.45;pointer-events:none}.paint-line{stroke-width:calc(5px * var(--paint-k,1));stroke-linecap:round;pointer-events:none}.paint-run.none .paint-line{stroke-width:calc(2.5px * var(--paint-k,1));stroke-dasharray:calc(6px * var(--paint-k,1)) calc(5px * var(--paint-k,1))}.paint-run.waiting .paint-line,.paint-run.waiting circle{stroke-dasharray:calc(10px * var(--paint-k,1)) calc(6px * var(--paint-k,1))}.paint-run.ready .paint-line{stroke-width:calc(6px * var(--paint-k,1));stroke-dasharray:calc(10px * var(--paint-k,1)) calc(6px * var(--paint-k,1))}.paint-run.faint .paint-line,.paint-run.faint circle{stroke-width:calc(2px * var(--paint-k,1));opacity:.35}.paint-run.picked .paint-line{stroke-width:calc(8px * var(--paint-k,1))}.paint-run.live{pointer-events:auto;cursor:pointer}.paint-hit{stroke:#0000;stroke-width:16px}.paint-piece circle{fill:#fff;fill-opacity:.7;stroke-width:calc(3.5px * var(--paint-k,1))}.paint-piece.none circle{stroke-width:calc(2px * var(--paint-k,1));stroke-dasharray:3 3;opacity:.6}.paint-piece.picked circle{stroke-width:calc(6px * var(--paint-k,1))}.paint-fitting rect{stroke:#fff;stroke-width:1.5px}.paint-fitting.none rect,.paint-fitting.faint rect{opacity:.5}.paint-fitting.waiting rect{stroke-dasharray:3 2;stroke:var(--text)}.paint-fitting.ready rect{stroke:var(--stage-ready);stroke-width:2.5px}.paint-fitting.picked rect{stroke:var(--text);stroke-width:3px}.paint-legend{gap:var(--s1);margin-bottom:var(--s3);flex-direction:column;display:flex}.paint-keys{gap:var(--s1) var(--s3);color:var(--muted);flex-wrap:wrap;display:flex}.paint-keys i{width:18px;height:5px;margin-right:var(--s1);vertical-align:middle;border-radius:3px;display:inline-block}.paint-keys i.none{background:repeating-linear-gradient(90deg, var(--stage-none) 0 5px, transparent 5px 9px)}.paint-keys i.ready{background:repeating-linear-gradient(90deg, var(--stage-ready) 0 7px, transparent 7px 11px)}.paint-keys i.waiting{background:repeating-linear-gradient(90deg, var(--muted) 0 7px, transparent 7px 11px)}.paint-stages{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.highlight-run line{stroke-width:5px;stroke-linecap:round}.highlight-run.left-out line{stroke:var(--stage-none);stroke-width:3px;stroke-dasharray:6 5}.highlight-run circle{fill:var(--text);stroke:#fff;stroke-width:2px}.highlight-run.left-out circle{fill:var(--stage-none)}.highlight-run text{fill:#fff;text-anchor:middle;font-size:11px;font-weight:600}.under-runs{margin-top:var(--s1)}.paint-swatch{width:10px;height:10px;margin-right:var(--s2);border:1px solid var(--border-strong);vertical-align:middle;border-radius:2px;display:inline-block}.paint-overlay.tapping{pointer-events:auto;touch-action:none;cursor:crosshair}.paint-run.untappable .paint-line{opacity:.25}.tap-picked{stroke:var(--text);stroke-opacity:.6;stroke-width:calc(10px * var(--paint-k,1));stroke-linecap:round;pointer-events:none}.paint-keys i.left{background:var(--stage-left)}.paint-keys i.started{background:var(--stage-started)}.paint-keys i.tests{background:var(--stage-tests)}.paint-summary ul{margin:var(--s1) 0 0;gap:2px;padding:0;list-style:none;display:grid}.paint-summary li.on .paint-summary-name{text-decoration:underline}.paint-summary-name{font-weight:600}.paint-since{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.paint-since input{min-height:40px}@media (width<=760px){.paint-since input{font-size:16px}}.progress-mark-group h4{margin:var(--s2) 0 var(--s1);font-weight:600}.mark-form-more{align-self:flex-start;min-height:40px}.paint-band{stroke-linecap:butt;pointer-events:none}.paint-bands.waiting .paint-band,.paint-bands.ready .paint-band{stroke-dasharray:calc(14px * var(--paint-k,1)) calc(8px * var(--paint-k,1))}.paint-bands.waiting circle,.paint-bands.ready circle{display:none}.layer-picker{min-width:0;display:inline-flex;position:relative}.layer-menu{top:calc(100% + var(--s1));z-index:40;overscroll-behavior:contain;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-md);width:min(340px,100vw - 32px);max-height:min(70vh,520px);box-shadow:var(--shadow-lg);padding:var(--s2);gap:var(--s1);flex-direction:column;display:flex;position:absolute;left:0;overflow-y:auto}.layer-menu-head{padding:0 var(--s2)}.layer-menu-item{align-items:center;gap:var(--s2);width:100%;min-height:40px;padding:var(--s1) var(--s2);border-radius:var(--r-md);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.layer-menu-item:hover{background:var(--bg)}.layer-menu-item.on{font-weight:600}.layer-menu-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.layer-menu-stages{padding:0 var(--s2) var(--s2) calc(var(--s2) * 2 + 10px)}.layer-menu-more{margin:var(--s1) var(--s2) 0;align-self:flex-start}.paint-piece.untappable circle{opacity:.3}.tap-picked-ring{fill:none;stroke:var(--text);stroke-width:3px;stroke-opacity:.75;pointer-events:none}.tap-queued{stroke:var(--text);stroke-opacity:.55;stroke-width:calc(8px * var(--paint-k,1));stroke-dasharray:calc(6px * var(--paint-k,1)) calc(6px * var(--paint-k,1));stroke-linecap:round;pointer-events:none}.tap-note{top:calc(var(--s2) + 48px);z-index:2;max-width:calc(100% - 2 * var(--s3));padding:var(--s2) var(--s3);border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--panel);color:var(--text);text-align:left;font-size:13px;position:absolute;left:50%;transform:translate(-50%)}.viewer-phone .tap-note{top:140px}.paint-tap-start{align-self:flex-start;min-height:40px}.tap-bar-head{align-items:baseline;gap:var(--s2);flex-wrap:wrap;display:flex}.tap-bar-actions{flex-wrap:wrap;align-items:center}.tap-bar-day input{min-height:40px}@media (width<=760px){.tap-bar-day input{font-size:16px}.tap-bar-actions button{flex:1;min-height:40px}}.entry-evidence{gap:var(--s1);margin-top:var(--s1);flex-direction:column;display:flex}.evidence-document{max-width:220px;padding:var(--s1) var(--s2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);overflow-wrap:anywhere;align-items:center;display:inline-flex}.evidence-search{gap:var(--s2);padding:var(--s2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);flex-direction:column;display:flex}.evidence-search .btn-secondary{align-self:flex-start}.evidence-found{gap:var(--s1);overflow-wrap:anywhere;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.progress-waiting,.progress-approval{gap:var(--s3);flex-direction:column;display:flex}.progress-waiting p,.progress-approval p{margin:0}.approval-rules{gap:var(--s2);padding:var(--s3) var(--s4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel);flex-direction:column;display:flex}.waiting-block{gap:var(--s2);padding:var(--s3) var(--s4);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;display:flex}.waiting-list{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.waiting-list>li{justify-content:space-between;align-items:center;gap:var(--s1) var(--s3);padding-bottom:var(--s2);border-bottom:1px solid var(--border);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.waiting-list>li:last-child{border-bottom:0;padding-bottom:0}.waiting-list label{flex:260px;min-width:0}.waiting-actions{gap:var(--s2);display:flex}.send-back{gap:var(--s2);flex-direction:column;flex:100%;display:flex}.application-screen>section:not(.application-head){gap:var(--s2);flex-direction:column;display:flex}.application-head{justify-content:space-between}.application-date{gap:var(--s1);font-size:var(--fs-sm);flex-direction:column;max-width:34ch;display:flex}.application-totals{table-layout:auto;min-width:0;max-width:560px}.application-totals .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.application-totals .total-row td{border-top:1px solid var(--border-strong)}.application-summary{table-layout:auto;margin-bottom:var(--s3)}.application-summary .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.application-summary .total-row td{border-top:1px solid var(--border-strong)}.application-summary .this-col{background:var(--panel-2)}@media (width>=768px){.application-summary td:first-child{min-width:16ch}}.application-lines{table-layout:auto;min-width:820px}.application-lines .num{white-space:nowrap}.application-lines th:first-child,.application-lines td:first-child{width:auto;min-width:260px}.percent-input{text-align:right;width:88px}.money-input{text-align:right;width:128px}.line-why,.rate-field label{gap:var(--s1);margin-top:var(--s2);font-size:var(--fs-sm);flex-direction:column;display:flex}.rate-field{align-items:flex-end;gap:var(--s2);flex-wrap:wrap;display:flex}.rate-field input{width:140px}.fitting-rates{margin-top:var(--s2)}.fitting-rates summary{cursor:pointer;align-items:center;min-height:40px;display:flex}.fitting-rates-table{border-collapse:collapse;width:100%;margin:var(--s1) 0 var(--s2)}.fitting-rates-table th,.fitting-rates-table td{padding:var(--s1) var(--s2) var(--s1) 0;text-align:left}.fitting-rates-table .num{text-align:right}.fitting-rates-table input{width:110px;font-size:16px}.application-terms{gap:var(--s3);flex-direction:column;display:flex}.terms-kinds{gap:var(--s1);border:0;flex-direction:column;margin:0;padding:0;display:flex}.terms-fields{gap:var(--s3);flex-wrap:wrap;display:flex}.terms-fields label{gap:var(--s1);font-size:var(--fs-sm);flex-direction:column;flex:220px;display:flex}.material-row{align-items:flex-end;gap:var(--s2);padding-bottom:var(--s2);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.material-row label{gap:var(--s1);min-width:0;font-size:var(--fs-sm);flex-direction:column;flex:180px;display:flex}.application-actions{flex-wrap:wrap}.application-confirm{padding:var(--s3) var(--s4);background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-lg);flex-direction:column;align-items:stretch;display:flex}.application-confirm p{margin:0}.kept-applications .muted strong{text-decoration:line-through}@media (width<=760px){.application-lines,.application-lines th:first-child,.application-lines td:first-child{min-width:0}.stack-on-phone.application-lines td:first-child{text-align:left;display:block}.application-lines .percent-input,.rate-field input{width:120px}.application-date input{width:100%}}.application-tab>section:not(.application-head){gap:var(--s2);flex-direction:column;display:flex}.application-tab>.application-head{justify-content:space-between;align-items:flex-start;gap:var(--s3);padding:var(--s3);background:var(--panel-2);border-radius:var(--r-md);flex-wrap:wrap;display:flex}.application-tab>section+section{margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--border)}.application-dates{margin:0}.application-notes{margin-top:var(--s4)}.application-notes summary,.removed-lines summary{cursor:pointer;align-items:center;min-height:40px;display:flex}.contract-lines{table-layout:auto}.contract-lines .num{white-space:nowrap}.line-actions{justify-content:flex-end;gap:var(--s1) var(--s3);flex-wrap:wrap;display:flex}.add-line{padding-top:var(--s2);border-bottom:0}.rate-lines{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.terms-group{gap:var(--s2);padding:var(--s3) 0 0;border:0;border-top:1px solid var(--border);flex-direction:column;margin:0;display:flex}.terms-group legend{float:left;width:100%;margin-bottom:var(--s2);font-weight:600}.terms-group>*{clear:both}.kept-application{gap:var(--s3);flex-direction:column;display:flex}.line-breakdown{gap:var(--s2);text-align:left;flex-direction:column;width:100%;min-width:0;display:flex}.line-breakdown p{margin:0}.line-breakdown-table{table-layout:auto;background:var(--panel)}.line-breakdown-table .num{text-align:right;white-space:nowrap}.line-breakdown-stages{margin:0;padding:0;list-style:none}.line-breakdown-stages li+li{margin-top:2px}@media (width<=760px){.stack-on-phone.line-breakdown-table td.line-breakdown-stage-cell{text-align:left;display:block}.stack-on-phone.line-breakdown-table td.line-breakdown-stage-cell:before{max-width:none;margin-bottom:2px;display:block}}.held-application{text-align:left;width:100%;min-width:0}a.btn-secondary{min-height:40px;padding:0 var(--s4);border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--text);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.payment-dates{gap:var(--s2) var(--s3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin:0;display:grid}.payment-dates dt{color:var(--muted)}.payment-dates dd{font-variant-numeric:tabular-nums;margin:0}.payment-said{padding-left:var(--s4);gap:var(--s1);flex-direction:column;margin:0;display:flex}.payment-record{gap:var(--s2);flex-direction:column;display:flex}.payment-grid{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:start;display:grid}.payment-grid fieldset{gap:var(--s2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.payment-grid label{gap:var(--s1);font-size:var(--fs-sm);flex-direction:column;display:flex}@media (width<=760px){.contract-lines td.line-actions{justify-content:flex-start;gap:var(--s1) var(--s4)}}.application-tab+.application-tab{margin-top:var(--s4)}.tab-count{margin-left:var(--s1);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--muted)}.tab-count.warn-text{color:var(--warn)}.application-back{align-self:flex-start;align-items:center;gap:var(--s1);min-height:40px;margin-bottom:var(--s2);display:inline-flex}.application-h3{font-size:var(--fs-md);margin:0}.application-months summary{cursor:pointer;align-items:center;min-height:40px;font-weight:600;display:flex}.application-months[open]>*+*{margin-top:var(--s2)}.start-application{border-bottom:0;align-items:flex-end}.setup-steps{margin-top:var(--s4)}.breakdown-import{gap:var(--s2);padding:var(--s3);border:1px dashed var(--border-strong);border-radius:var(--r-lg);flex-direction:column;display:flex}.breakdown-source,.breakdown-columns{gap:var(--s3);flex-wrap:wrap;display:flex}.breakdown-source>label,.breakdown-columns>label{gap:var(--s1);flex-direction:column;flex:220px;min-width:0;max-width:360px;display:flex}.breakdown-rows{border:1px solid var(--border);border-radius:var(--r-md);max-height:60vh;margin:0;padding:0;list-style:none;overflow-y:auto}.breakdown-row{align-items:center;gap:var(--s2);padding:var(--s1) var(--s2);grid-template-columns:28px minmax(0,1fr) 150px 56px;display:grid}.breakdown-row+.breakdown-row{border-top:1px solid var(--border)}.breakdown-row.on{background:var(--panel-2)}.breakdown-row input[type=number],.breakdown-row .num{text-align:right;font-variant-numeric:tabular-nums}.breakdown-name{overflow-wrap:anywhere}.breakdown-at{text-align:right}@media (width<=640px){.breakdown-row{grid-template-columns:28px minmax(0,1fr)}.breakdown-row>:nth-child(3){grid-column:2}.breakdown-at{display:none}}.line-cards{gap:var(--s3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.line-card{gap:var(--s2);padding:var(--s3);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;display:flex}.line-card-head{align-items:baseline;gap:var(--s2);flex-wrap:wrap;display:flex}.line-part-list{margin:0;padding:0;list-style:none}.line-part+.line-part{border-top:1px solid var(--border)}.line-part-row{align-items:center;gap:var(--s3);padding:var(--s2) 0;grid-template-columns:minmax(0,240px) minmax(0,1fr) auto;display:grid}.line-part-edit{gap:var(--s2);padding:var(--s2) 0;flex-direction:column;display:flex}.line-part-edit>label{gap:var(--s1);flex-direction:column;max-width:440px;display:flex}.add-part,.line-shares-open{align-self:flex-start}.line-shares{gap:var(--s2);padding:var(--s2) 0;flex-direction:column;display:flex}.line-shares-fields{gap:var(--s3);flex-wrap:wrap;display:flex}.line-shares-fields>label{gap:var(--s1);flex-direction:column;width:140px;display:flex}.stage-picker{gap:var(--s1);border:0;flex-direction:column;margin:0;padding:0;display:flex}.stage-picker-list{gap:var(--s1);padding-left:var(--s5);flex-direction:column;display:flex}.line-cover{padding-left:var(--s4);gap:var(--s1);flex-direction:column;margin:0;display:flex}@media (width<=640px){.line-part-row{gap:var(--s1);grid-template-columns:minmax(0,1fr)}.line-part-row .line-actions{justify-content:flex-start;gap:var(--s1) var(--s4)}}.line-tie-name{overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;display:flex}.line-tie-code{font-weight:600}.setup-step-n{width:24px;height:24px;margin-right:var(--s2);border-radius:var(--r-pill);border:2px solid var(--border-strong);font-size:var(--fs-sm);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.setup-step-n.done{background:var(--success);border-color:var(--success);color:#fff}.setup-step-body{gap:var(--s3);padding:var(--s3) 0 var(--s2);flex-direction:column;display:flex}.setup-step-body>section{gap:var(--s2);flex-direction:column;display:flex}.start-choice{gap:var(--s2);padding-left:var(--s5);flex-direction:column;display:flex}@media (width<=640px){.start-choice{padding-left:0}}.baseline{gap:var(--s2);flex-direction:column;display:flex}.baseline p{margin:0}.baseline-lock{gap:var(--s2);padding:var(--s3) var(--s4);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;display:flex}.baseline-why{gap:var(--s1);font-size:var(--fs-sm);flex-direction:column;max-width:720px;display:flex}.baseline>.link-btn{align-self:flex-start}.baseline-tie{gap:var(--s2);max-width:560px;padding:var(--s2) 0;flex-direction:column;display:flex}.baseline-tie input{font-size:16px}.baseline-basis{text-align:right;white-space:normal;max-width:220px;margin-left:auto}@media (width<=640px){.baseline-basis{max-width:none}.baseline-changes .baseline-tie-row td{display:block}.baseline-changes .baseline-tie-row td:before{content:none}}.progress-way{align-items:flex-start;gap:var(--s1);padding-top:var(--s2);border-top:1px solid var(--border);flex-direction:column;display:flex}.progress-way p{margin:0}.progress-way>.sheet-progress,.progress-way>p{align-self:stretch}.progress-way-h{font-size:var(--fs-sm);margin:0;font-weight:600}.progress-marks{align-self:stretch;gap:var(--s1);margin-top:var(--s1);flex-direction:column;display:flex}.progress-mark-list{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.progress-mark{width:100%;min-height:var(--control-h);padding:var(--s2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);color:var(--text);text-align:left;font:inherit;cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.progress-mark:hover{border-color:var(--border-strong);background:var(--panel-2)}.progress-mark:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.progress-mark-note{overflow-wrap:anywhere}.progress-mark-done{flex-direction:column;gap:2px;display:flex}.progress-mark-done .swatch-dot{vertical-align:-1px;width:10px;height:10px}.move-notice{justify-content:space-between;align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.move-notice>span{flex:280px;min-width:0}.phone-move-notice{padding:var(--s2) var(--s3) 0}.move-sheet{width:min(560px, calc(100% - 2 * var(--s3)))}.move-page{gap:var(--s3)}.move-group{gap:var(--s2);padding-top:var(--s2);border-top:1px solid var(--border);flex-direction:column;display:flex}.move-item{gap:var(--s1);overflow-wrap:anywhere;flex-direction:column;display:flex}.move-list{padding-left:var(--s4);margin:0}.takeoff-switch.three{margin-top:var(--s2);grid-template-columns:repeat(3,minmax(0,1fr))}.takeoff-switch.three button.takeoff-switch-btn{padding:var(--s1) 4px;gap:4px;position:relative}.takeoff-switch.three .takeoff-switch-n{min-width:18px;padding:0 4px;line-height:1.5;position:absolute;top:-10px;right:-2px}.levels-section{gap:var(--s2);flex-direction:column;display:flex}.levels-section .review-kicker,.level-intro{margin:0}.level-form fieldset{gap:var(--s1);border:none;flex-direction:column;margin:0;padding:0;display:flex}.level-form legend{margin-bottom:var(--s1);font-size:var(--fs-sm);padding:0;font-weight:600}.level-form>label{flex-direction:column;gap:2px;display:flex}.level-systems{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.level-systems li,.level-systems label{align-items:center;gap:2px var(--s2);min-height:var(--control-h-sm);color:var(--text);flex-flow:wrap;display:flex}.level-systems label{cursor:pointer;flex:1;min-width:0}.level-systems input[type=checkbox]{flex:none;margin:0}.level-systems .swatch-dot{flex:none}.level-systems .small{white-space:nowrap}.level-systems li.missing{opacity:.8}.level-number{align-items:center;gap:var(--s1);font-size:var(--fs-sm);display:inline-flex}.level-number input{width:80px}button.size-chip.level-way{align-items:center;gap:var(--s1);display:inline-flex}.level-preview{padding:var(--s2);background:var(--primary-soft);border-radius:var(--r-md)}.levels-overlay{pointer-events:none;position:absolute;inset:0;overflow:visible}.level-box>rect:first-of-type{fill:var(--warn-soft);fill-opacity:.35;stroke:var(--warn);stroke-width:2px;stroke-dasharray:6 4}.level-box.focus>rect:first-of-type{stroke-width:3px;fill-opacity:.55}.level-box .level-tag{fill:var(--warn);pointer-events:auto;cursor:pointer}.level-box text{font-family:var(--font-mono);fill:#fff;pointer-events:none;font-size:11px;font-weight:600}.level-point{stroke:#fff;stroke-width:2px}.level-arrow{fill:none;stroke:var(--warn);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.level-draft{fill:var(--primary-soft);fill-opacity:.35;stroke:var(--primary);stroke-width:2px;stroke-dasharray:4 3}.level-run{fill:none;stroke-width:7px;stroke-opacity:.45;stroke-linecap:round;stroke-linejoin:round}.level-num circle{stroke:#fff;stroke-width:2px}.level-num text{font-family:var(--font-mono);fill:#fff;text-anchor:middle;pointer-events:none;font-size:11px;font-weight:700}.level-point.off{fill:#fff;stroke-width:2.5px}.level-systems .level-runs{padding-left:calc(var(--s4) + var(--s2));flex-basis:100%}.level-run-n{color:#fff;min-width:20px;height:20px;font-family:var(--font-mono);font-size:var(--fs-xs);border-radius:10px;flex:none;place-items:center;padding:0 4px;font-weight:700;display:inline-grid}.level-systems li.left-out{opacity:.7}.level-read{gap:var(--s2);margin-top:var(--s2);padding-top:var(--s2);border-top:1px solid var(--border);flex-direction:column;display:flex}.level-read .review-kicker,.level-read>p{margin:0}.kept-reports{margin:0 0 var(--s3)}.kept-reports summary{cursor:pointer;min-height:40px;font-size:var(--fs-sm);align-items:center;display:flex}.kept-report-list{margin:var(--s1) 0;gap:var(--s2);flex-direction:column;padding:0;list-style:none;display:flex}.kept-report-list li{padding:var(--s2) var(--s3);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);overflow-wrap:anywhere}.kept-report-list li.off{background:var(--panel-2);color:var(--muted)}.kept-report-actions{align-items:center;gap:var(--s3);margin-top:var(--s1);flex-wrap:wrap;display:flex}.place-note-warn{color:var(--text);background:var(--warn-soft);border-left:3px solid var(--warn);padding:var(--s1) var(--s2);border-radius:var(--r-sm);flex-basis:100%}.progress-variations{margin:var(--s4) 0}.variation-flag{margin-right:var(--s2)}@media (width>=761px){.progress-variations table.progress-table{table-layout:auto}.progress-variations .progress-table td:first-child{width:auto;min-width:14em}.progress-variations .progress-table td.num,.progress-variations .progress-table td:last-child button{white-space:nowrap}.progress-variations .progress-table td:nth-child(3){min-width:9em}}.variation-recorder{align-items:flex-end;gap:var(--s2);margin-top:var(--s1);flex-wrap:wrap;min-width:260px;display:flex}.variation-recorder select,.variation-recorder input{min-height:40px;font-size:16px}@media (width<=760px){.progress-variations table.stack-on-phone tr>:first-child,.progress-variations table.stack-on-phone tr>:last-child{text-align:left;width:auto;font-weight:400;font-size:var(--fs-sm);display:block}.progress-table.stack-on-phone tr>:first-child{width:auto}.progress-table.stack-on-phone tr>:first-child:has(>div){flex-wrap:wrap}.progress-table.stack-on-phone tr>:first-child>div{flex-basis:100%}}.place-photos{cursor:pointer;align-items:center;min-height:40px;display:inline-flex}.approval-banner{justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);margin-bottom:var(--s3);background:var(--warn-soft);border-left:3px solid var(--warn);border-radius:var(--r-sm);flex-wrap:wrap;display:flex}.approval-banner a{align-items:center;min-height:40px;display:inline-flex}.approval-banner.lock-banner{background:var(--success-soft);border-left-color:var(--success)}.systems-order{max-width:280px;margin-bottom:var(--s2)}.systems-order select{min-height:40px;font-size:16px}button.row-opener{min-height:40px;padding:var(--s1) 0;color:var(--text);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:2px .4em;display:inline-flex}.row-opener-name{flex-wrap:wrap;align-items:center;column-gap:.35em;display:inline-flex}.row-chevron{color:var(--primary);transition:transform .15s;display:inline-flex}.row-chevron.open{transform:rotate(90deg)}.row-toggle{min-width:3.9em;color:var(--primary);font-size:var(--fs-xs);align-items:center;gap:2px;font-weight:600;display:inline-flex}button.row-opener:hover:not(:disabled){background:0 0}button.row-opener:hover .row-toggle-word,button.row-opener:focus-visible .row-toggle-word{text-decoration:underline}tr.row-openable{cursor:pointer}tr.row-openable:hover>td,tr.row-openable.open>td{background:var(--panel-2)}.opener-hint{margin:0 0 var(--s2)}details.fold>summary.fold-head{cursor:pointer;border-radius:var(--r-sm);align-items:center;gap:.4em;min-height:40px;list-style:none;display:flex}details.fold>summary.fold-head::-webkit-details-marker{display:none}details.fold>summary.fold-head:hover .row-toggle-word,details.fold>summary.fold-head:focus-visible .row-toggle-word{text-decoration:underline}details.fold>summary.fold-head:hover .fold-title{color:var(--primary)}details.fold[open]>summary.fold-head{margin-bottom:var(--s2)}.fitting-kinds{margin:0 0 var(--s2);gap:var(--s2) var(--s4);flex-wrap:wrap;padding:0;list-style:none;display:flex}.fitting-kinds li{padding:var(--s1) var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel)}.fitting-schedule{margin-bottom:var(--s2);flex-wrap:wrap;align-items:center}.fitting-checks{gap:var(--s1);margin-top:var(--s3);padding:var(--s3);border-left:3px solid var(--warn);background:var(--warn-soft);border-radius:var(--r-sm);flex-direction:column;display:flex}.fitting-checks p{margin:0}.fitting-checks ul{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fitting-checks li{justify-content:space-between;align-items:center;gap:var(--s1) var(--s3);flex-wrap:wrap;display:flex}.months-chart{width:100%;max-width:720px;height:auto;margin:var(--s2) 0 var(--s3);display:block}.months-grid{stroke:var(--border);stroke-width:1px}.months-axis{fill:var(--muted);font-size:11px;font-family:var(--font-mono,inherit)}.months-bar{fill:var(--primary)}.months-bar.outside{fill:var(--primary-soft);stroke:var(--primary);stroke-width:1px}.months-line{fill:none;stroke:var(--success);stroke-width:2px}.months-dot{fill:var(--success)}.months-table th.in-period,.months-table td.in-period{background:var(--primary-soft)}.months-table td.below{color:var(--danger)}.months-table tr.months-total td{border-top:2px solid var(--border-strong)}.months-table tr.months-group td{padding-top:var(--s3);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.months-table td:first-child,.months-table td.num{white-space:nowrap}.earned-asked{gap:var(--s1);margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--border);flex-direction:column;display:flex}.earned-asked p{margin:0}.month-chips{align-items:center;gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;display:flex}button.month-chip{min-height:40px;padding:0 var(--s3);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--text);font-size:var(--fs-sm);align-items:center;gap:4px;display:inline-flex}button.month-chip.open{border-color:var(--primary);background:var(--primary-soft)}.month-records{margin:var(--s2) 0 0;gap:var(--s1);flex-direction:column;padding:0;list-style:none;display:flex}.month-records li{gap:var(--s3);padding:var(--s1) 0;border-bottom:1px solid var(--border);display:flex}.month-records-day{width:7.5em;color:var(--muted);flex:none}.line-check-text.danger{color:var(--danger)}.documents-table.months-table{table-layout:auto;min-width:0}.progress-table.months-table th:first-child,.progress-table.months-table td:first-child{width:auto}.months-table th:first-child,.months-table td:first-child{z-index:1;background:var(--panel);position:sticky;left:0}@media (width<=760px){.months-axis{font-size:20px}.months-table th,.months-table td{padding-left:var(--s1);padding-right:var(--s1)}.months-table td:first-child{white-space:normal}}@media (width>=761px){.documents-table.progress-table{table-layout:auto}.progress-table th:first-child,.progress-table td:first-child{width:auto;min-width:16em}.progress-table button.row-opener{flex-wrap:nowrap;align-items:flex-start}.progress-table .row-toggle{flex:none;padding-top:2px}.progress-table td.num,.progress-table td>.line-check-text{white-space:nowrap;overflow-wrap:normal}.progress-table td:has(>.progress-bar){white-space:nowrap;overflow-wrap:normal}}.progress-table .progress-bar{width:80px;min-width:48px;max-width:100%}@media (width<=760px){.stack-on-phone .system-breakdown .piece-list td,.stack-on-phone .system-breakdown .piece-list td:last-child{white-space:normal;overflow-wrap:anywhere}}.system-breakdown-row td{background:var(--panel-2)}.system-breakdown{gap:var(--s4);padding:var(--s2) 0;flex-wrap:wrap;display:flex}.system-breakdown-part{flex:320px;min-width:0}.system-breakdown th,.system-breakdown td.num{white-space:nowrap;text-transform:none;letter-spacing:0;width:auto}.system-breakdown td:first-child{min-width:8em}.system-breakdown-part.piece-list{align-items:flex-start;gap:var(--s2);flex-direction:column;flex-basis:100%;display:flex}.piece-list td{vertical-align:top}.piece-list td:last-child{white-space:nowrap}.piece-stages{gap:var(--s1);padding-top:var(--s2);border-top:1px solid var(--border);flex-direction:column;display:flex}.piece-stages ul{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.piece-stages li{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.piece-stages-day{align-self:flex-start;align-items:center;gap:var(--s2);display:flex}.piece-stages-day input{font-size:16px}@media (width<=1280px){.system-breakdown{flex-direction:column}.system-breakdown-part{flex:none}}.signoff-waiting{flex-direction:column;gap:2px;margin-top:2px;display:flex}.not-drawn{margin:var(--s2) 0 var(--s3)}.not-drawn-list{margin:var(--s1) 0 0;gap:var(--s1) var(--s3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.not-drawn-list li{align-items:center;gap:var(--s1);padding:0 var(--s2);border:1px solid var(--border);border-radius:var(--r-sm);min-height:40px;display:inline-flex}@media (width<=760px){.stack-on-phone .system-breakdown-part{text-align:left;width:100%;display:block}.stack-on-phone .system-breakdown table{width:100%;display:table}.stack-on-phone .system-breakdown thead{display:table-header-group}.stack-on-phone .system-breakdown tbody{display:table-row-group}.stack-on-phone .system-breakdown tr{border:0;padding:0;display:table-row}.stack-on-phone .system-breakdown td,.stack-on-phone .system-breakdown th{padding:2px var(--s1);font-weight:400;font-size:var(--fs-sm);display:table-cell}.stack-on-phone .system-breakdown td:before,.stack-on-phone .system-breakdown th:before{content:none}.stack-on-phone .system-breakdown td,.stack-on-phone .system-breakdown th{overflow-wrap:normal;white-space:nowrap;text-transform:none;letter-spacing:0}.stack-on-phone .system-breakdown td:first-child{white-space:normal}.stack-on-phone .system-breakdown table{font-size:var(--fs-xs)}.stack-on-phone button.row-opener{overflow-wrap:normal;flex-basis:100%}.stack-on-phone .system-breakdown p{text-align:left;font-weight:400}.stack-on-phone .system-breakdown th{white-space:normal}}.variations-head{align-items:flex-start;gap:var(--s2);margin-bottom:var(--s3);flex-direction:column;display:flex}.variations-head p{margin:0}.variation-start,.variation-step-form,.variation-details-form{align-items:flex-end;gap:var(--s2);margin:var(--s2) 0;flex-wrap:wrap;display:flex}.variation-start label,.variation-step-form label,.variation-details-form label{gap:var(--s1);min-width:0;font-size:var(--fs-sm);flex-direction:column;flex:180px;display:flex}.variation-start label.grow,.variation-step-form label.grow,.variation-details-form label.grow{flex-basis:100%}.variation-start p{flex-basis:100%;margin:0}.instructed-choice{gap:var(--s1);border:0;flex-direction:column;flex-basis:100%;margin:0;padding:0;display:flex}.instructed-choice legend{margin-bottom:var(--s1);font-size:var(--fs-sm);padding:0}.variation-add-photos,.variation-their-words{margin:0 0 var(--s2)}.variation-letters{margin:var(--s1) 0 0 calc(var(--s4) + var(--s1))}.variation-start .safety-tick{font-size:var(--fs-base);flex-direction:row;flex:0 auto}.variation-detail{gap:var(--s2);text-align:left;flex-direction:column;width:100%;min-width:0;display:flex}.variation-detail p{margin:0}.variation-life{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.variation-step-head{align-items:center;gap:var(--s2);flex-wrap:wrap;min-height:40px;display:flex}.variation-step-mark{width:1.4em;color:var(--muted);justify-content:center;display:inline-flex}.variation-life li.done .variation-step-mark{color:var(--success)}.variation-step-body{padding:var(--s2) var(--s3);border-left:2px solid var(--border-strong);margin-left:.7em}.variation-answer{margin-top:var(--s1)}.variation-tied{gap:var(--s1);flex-direction:column;display:flex}.variation-history{table-layout:auto;background:var(--panel)}@media (width<=760px){.stack-on-phone.variations-table tr>td:first-child{text-align:left;display:block}}.variation-history .num,.variations-table .num{text-align:right;white-space:nowrap}.variations-table td[data-label=State] strong{white-space:nowrap}.dialog-backdrop{z-index:900;padding:8vh var(--s3) var(--s3);background:#15202b73;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.dialog-panel{background:var(--panel);border:var(--rule-ink);border-radius:var(--r-md);width:min(560px,100%);box-shadow:var(--shadow-lg);max-height:calc(100vh - 8vh - var(--s3));flex-direction:column;display:flex}.dialog-panel.wide{width:min(760px,100%)}.dialog-head{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-bottom:1px solid var(--border);display:flex}.dialog-body{padding:var(--s3) var(--s4) var(--s4);overflow-y:auto}.dialog-backdrop.sheet{justify-content:flex-end;padding:0;overflow:hidden}.dialog-panel.sheet{border-top:0;border-bottom:0;border-right:0;border-radius:0;width:min(980px,94vw);height:100dvh;max-height:none}.dialog-panel.sheet .dialog-head{background:var(--panel-2);align-items:flex-start}.dialog-panel.sheet .dialog-body{overscroll-behavior:contain;flex:1}.variation-sheet-head{justify-content:space-between;align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;flex:1;min-width:0;display:flex}.variation-sheet-name{flex:260px;min-width:0}.variation-sheet-name>strong{font-size:var(--fs-xl)}.variation-sheet-summary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.variation-sheet-nav{align-items:center;gap:var(--s2);display:flex}.variation-sheet-nav>button{min-width:40px;padding-inline:var(--s2)}@media (width<=760px){.dialog-backdrop{align-items:flex-end;padding:0}.dialog-panel,.dialog-panel.wide{border-radius:var(--r-md) var(--r-md) 0 0;border-bottom:0;width:100%;max-height:92vh}.dialog-panel.sheet{border:0;border-radius:0;width:100%;height:100dvh;max-height:none}.dialog-panel.sheet .dialog-head{padding:var(--s2) var(--s3)}.dialog-panel.sheet .dialog-body{padding:var(--s2) var(--s3) var(--s4)}}.dialog-panel.sheet .dialog-body{padding-bottom:calc(var(--s5) + 2 * var(--corner-h) + var(--s2) + var(--s4))}@media (width<=760px){.dialog-panel .dialog-body,.dialog-panel.sheet .dialog-body{padding-bottom:calc(80px + 2 * var(--corner-phone) + var(--s2) + var(--s4) + env(safe-area-inset-bottom))}}.plan-sheet-facts{gap:var(--s3);margin:0 0 var(--s3);padding-bottom:var(--s3);border-bottom:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.plan-sheet-facts dt{font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--s1)}.plan-sheet-facts dd{margin:0}.variation-record{gap:var(--s2);padding-top:var(--s2);border-top:1px solid var(--border);flex-direction:column;display:flex}.variation-record-part{gap:var(--s2);padding:var(--s2) 0;flex-direction:column;display:flex}.variation-record-part p{margin:0}.variation-record-line{align-items:baseline;gap:var(--s2);flex-wrap:wrap;display:flex}.variation-record-head{margin:var(--s2) 0 0;font-size:var(--fs-sm);font-weight:600}.variation-costs{table-layout:auto;background:var(--panel)}.variation-costs .num{text-align:right;white-space:nowrap}.variation-totals{justify-content:end;column-gap:var(--s4);row-gap:var(--s1);grid-template-columns:auto auto;margin:0;display:grid}.variation-totals dt{text-align:right}.variation-totals dd{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;margin:0}.variation-compare{margin-top:var(--s4);gap:var(--s2);display:grid}.variation-compare-total td{border-top:1px solid var(--text)}.variation-discount{gap:var(--s1);display:flex}.variation-discount input{flex:auto;min-width:0}.variation-discount select{flex:none}.variation-source{padding:var(--s2) var(--s3);border-left:2px solid var(--border-strong)}.variation-source-list{gap:var(--s1);flex-direction:column;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.variation-source-list .check-inline{align-items:flex-start;min-height:32px;display:flex}.variation-photos li{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.variation-photo-kind{max-width:72px;font-size:var(--fs-xs);line-height:1.2}.variation-files{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.variation-files li{overflow-wrap:anywhere}.variation-file-group{gap:var(--s1);margin-bottom:var(--s3);flex-direction:column;display:flex}.variation-file-kind{font-size:var(--fs-sm);margin:0;font-weight:600}.variation-file-actions{gap:var(--s3);margin-left:var(--s2);flex-wrap:wrap;display:inline-flex}.variation-file-ask,.variation-not-added{gap:var(--s2);margin-top:var(--s2);padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);color:var(--text);text-align:left;flex-direction:column;display:flex}.variation-file-ask p,.variation-not-added p,.variation-not-added ul{margin:0}.variation-not-added ul{padding-left:var(--s4)}.variation-docs{gap:var(--s3)}.variation-suggest-actions{align-items:center;gap:var(--s2);margin-top:var(--s1);flex-wrap:wrap;display:flex}.variation-doc-step{margin-top:var(--s1)}.photo-viewer-caption .variation-file-actions{margin:var(--s2) 0 0;justify-content:center}.photo-viewer-caption .variation-file-actions .link-btn{color:#fff;text-decoration:underline}.photo-viewer-caption .variation-file-change{margin-top:var(--s2);padding:var(--s2) var(--s3);border-radius:var(--r-md);background:var(--panel);color:var(--text);text-align:left}.variation-link{gap:var(--s2);flex-direction:column;display:flex}.variation-line-actions,.variation-sheet-actions{gap:var(--s2);flex-wrap:wrap;display:inline-flex}.variation-sheet-actions{margin-left:var(--s2)}.variation-line-edit>td{background:var(--panel-2)}.variation-quote{gap:var(--s2);margin-top:var(--s3);padding-top:var(--s3);border-top:1px dashed var(--border-strong);flex-direction:column;display:flex}.variation-quote p{margin:0}.variation-step-form textarea{width:100%;min-height:56px;font:inherit;font-size:var(--fs-lg)}@media (width<=760px){.variation-totals{grid-template-columns:1fr auto;justify-content:stretch}}.assistant-drafts{margin-bottom:var(--s4);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--r-md);background:var(--panel)}.assistant-drafts.open{padding-bottom:var(--s2)}button.assistant-drafts-head{align-items:center;gap:var(--s1) var(--s2);width:100%;min-height:44px;padding:var(--s2) var(--s3);border-radius:var(--r-md);color:var(--text);text-align:left;background:0 0;border:0;flex-wrap:wrap;margin:0;font-weight:400;display:flex}button.assistant-drafts-head:hover:not(:disabled){background:var(--panel-2)}button.assistant-drafts-head:hover .row-toggle-word,button.assistant-drafts-head:focus-visible .row-toggle-word{text-decoration:underline}.assistant-drafts-name{font-size:var(--fs-md);font-weight:600}.assistant-drafts-hint .row-toggle-word{color:var(--primary);font-weight:600}.assistant-drafts-intro{margin:0 var(--s3) var(--s2)}.assistant-drafts-list{margin:0 var(--s3);border-top:1px solid var(--border);flex-direction:column;padding:0;list-style:none;display:flex}.assistant-draft{gap:var(--s2);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.assistant-draft.open{padding-bottom:var(--s3)}button.assistant-draft-row{align-items:center;gap:var(--s2);width:100%;min-height:40px;padding:var(--s1) var(--s1);color:var(--text);text-align:left;background:0 0;border:0;border-radius:0;margin:0;font-weight:400;display:flex}button.assistant-draft-row:hover:not(:disabled),.assistant-draft.open>button.assistant-draft-row{background:var(--panel-2)}.assistant-draft-row .row-chevron{flex-shrink:0}.assistant-draft-headline{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-md);flex:auto;font-weight:600;overflow:hidden}.assistant-draft.open .assistant-draft-headline{white-space:normal;overflow-wrap:anywhere}.assistant-draft-who{white-space:nowrap;flex-shrink:0}@media (width<=640px){button.assistant-draft-row{flex-wrap:wrap}.assistant-draft-who{padding-left:calc(16px + var(--s2));flex-basis:100%}}.assistant-draft-said{padding:var(--s1) var(--s3);border-left:3px solid var(--border-strong);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--panel-2);color:var(--text);font-size:var(--fs-sm);overflow-wrap:anywhere;margin:0;font-style:italic}.assistant-draft-said-who{color:var(--muted);font-size:var(--fs-xs);font-style:normal;font-weight:600;display:block}.assistant-drafts-list .proposal-card{margin-top:0}.assistant-drafts-more{margin:var(--s2) var(--s3) 0}.progress-draft{gap:var(--s2);flex-direction:column;display:flex}.progress-draft fieldset{gap:var(--s2);padding:var(--s2);border:1px solid var(--border);border-radius:var(--r-md);flex-wrap:wrap;min-width:0;margin:0;display:flex}.progress-draft legend{font-weight:600;font-size:var(--fs-sm)}.progress-draft fieldset>p{flex-basis:100%;margin:0}.progress-draft-lines{gap:var(--s2);flex-direction:column;flex-basis:100%;margin:0;padding:0;list-style:none;display:flex}.progress-draft-lines>li{align-items:flex-end;gap:var(--s2);padding-bottom:var(--s2);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.progress-draft label{flex-direction:column;gap:2px;min-width:0;display:flex}.timesheet-draft-n{width:5.5em}.timesheet-draft-notes{flex-direction:column;flex-basis:100%;gap:2px;display:flex}.timesheet-draft-notes:empty{display:none}.progress-draft .timesheet-draft-notes label.check-inline{align-items:center;gap:var(--s1);flex-direction:row}.plan-nav{align-items:center;gap:var(--s2);margin:var(--s3) 0;flex-wrap:wrap;display:flex}.plan-nav .small{text-align:center;flex:auto;min-width:0}.plan-nav{flex-wrap:nowrap;margin:0}.plan-nav .plan-nav-step{align-items:center;gap:var(--s1);flex:none;display:inline-flex}.plan-subbar{justify-content:space-between;align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.plan-subbar-end{justify-content:flex-end}.plan-subbar .plan-view{margin-bottom:0}.plan-lookahead-btn{align-items:center;gap:var(--s2);display:inline-flex}.plan-lookahead-btn[aria-expanded=true]{background:var(--primary-soft)}@media (width<=760px){.plan-nav .plan-nav-step{justify-content:center;width:40px;padding:0}.plan-nav .plan-nav-step span{display:none}.plan-subbar .plan-view{flex:100%}.plan-subbar .plan-view .desk-tool,.plan-tabpanel>.plan-view .desk-tool{flex:1 1 0;justify-content:center}.plan-tabpanel>.plan-view{display:flex}.plan-lookahead-btn{min-height:40px}.plan-intro{display:none}}.plan-week-head{align-items:baseline;gap:var(--s3);margin-bottom:var(--s2);flex-wrap:wrap;display:flex}.plan-week-head .progress-h2{margin:0}.plan-week-head button{margin-left:auto}.plan-table{table-layout:fixed}.plan-table th:first-child{width:42%}.plan-row{cursor:pointer}.plan-row.taken>td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.plan-row.expanded{cursor:default;background:var(--panel-2)}.plan-what{color:var(--muted)}.plan-sub{display:block}.plan-note{white-space:nowrap;text-overflow:ellipsis;max-width:36em;overflow:hidden}.plan-note-full{white-space:pre-wrap;margin:0}.plan-chips{gap:var(--s1);flex-wrap:wrap;display:flex}.plan-detail{margin-top:var(--s3);gap:var(--s2);cursor:default;flex-direction:column;display:flex}.plan-checks,.plan-check-items,.plan-close-list,.plan-waiting,.plan-day-choice{margin:0;padding:0;list-style:none}.plan-check{gap:var(--s1) var(--s3);padding:var(--s1) 0;border-bottom:1px solid var(--border);grid-template-columns:minmax(0,10em) auto 1fr;align-items:baseline;display:grid}.plan-check-name{font-weight:600}.plan-check-state{font-size:var(--fs-xs);font-family:var(--font-mono);color:var(--success)}.plan-check-state.warn{color:var(--warn)}.plan-check-state.stop{color:var(--danger)}.plan-check-state.none{color:var(--muted)}.plan-check-basis{min-width:0}.plan-accept-form{align-items:flex-end;gap:var(--s2);margin-top:var(--s1);flex-wrap:wrap;display:flex}.plan-inline-actions:has(.plan-accept-form){margin-left:0;display:flex}.plan-accept-form{flex:100%}.plan-accept-form label{flex:16em;min-width:0}.plan-fieldset.plan-needs-fieldset{border-color:var(--primary);background:var(--primary-soft);border-width:2px}.plan-fieldset.plan-needs-fieldset legend{color:var(--primary)}.plan-week-section{gap:var(--s2);padding:var(--s2) var(--s3) var(--s3);margin-bottom:var(--s2);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.plan-week-head{text-align:left;justify-content:space-between;align-items:baseline;display:flex}.plan-week-list{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-week-item{gap:var(--s2);padding:var(--s2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);grid-template-columns:10px minmax(0,1fr) auto;align-items:start;display:grid}.plan-week-item.on{border-color:var(--primary)}.plan-week-swatch{border-radius:3px;width:10px;height:100%;min-height:24px}.plan-week-words{flex-direction:column;gap:2px;min-width:0;display:flex}.plan-week-words .link-btn{text-align:left}.plan-week-toggle{min-height:var(--control-h-sm)}.plan-week-title{text-align:left;align-self:center;min-width:0;font-weight:600}.plan-week-item.plan-week-away{grid-template-columns:10px minmax(0,1fr)}.plan-week-away .plan-week-swatch{grid-row:span 2}.plan-week-where{overflow-wrap:anywhere;flex-direction:column;grid-column:2;gap:2px;display:flex}.plan-week-piece{fill:none;stroke-width:3px}.plan-week-area{fill-opacity:.12;stroke-width:2.5px;stroke-dasharray:8 4;cursor:pointer;pointer-events:all}.plan-week-mark.picked .plan-week-area{fill-opacity:.22;stroke-dasharray:none}.plan-week-label{cursor:pointer;pointer-events:all}.plan-week-label text{fill:var(--panel);font-size:12px;font-weight:600;font-family:var(--font-sans)}.plan-week-card{max-width:360px}.my-week{gap:var(--s2);flex-direction:column;display:flex}.my-week-day h3{margin:var(--s2) var(--s3) 0;font-size:var(--fs-sm)}.my-week-day h3.today{color:var(--primary)}.plan-safety-line{gap:var(--s1);padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);flex-direction:column;display:flex}.plan-takeoff-pick{gap:var(--s2);flex-direction:column;display:flex}.plan-takeoff-list{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-takeoff-group{align-items:flex-start;gap:var(--s1);padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel-2);flex-direction:column;display:flex}.plan-takeoff-group-head{align-items:baseline;gap:var(--s1) var(--s3);flex-wrap:wrap;display:flex}.plan-takeoff-group-head>button.link-btn{width:auto;min-height:0}.plan-takeoff-grid{gap:var(--s1) var(--s4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));width:100%;margin:0;padding:0;list-style:none;display:grid}.plan-takeoff-item{align-items:flex-start}.plan-takeoff-item>span{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.plan-takeoff-what{font-weight:600}@media (width<=640px){.plan-takeoff-grid{grid-template-columns:1fr}}.plan-check-items{gap:var(--s1);padding-left:var(--s3);flex-direction:column;grid-column:1/-1;display:flex}.plan-inline-actions{gap:var(--s2);margin-left:var(--s2);flex-wrap:wrap;display:inline-flex}.plan-form{gap:var(--s3);flex-direction:column;display:flex}.plan-fieldset{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s2) var(--s3) var(--s3);gap:var(--s2);flex-direction:column;min-width:0;margin:0;display:flex}.plan-fieldset legend{font-weight:600;font-size:var(--fs-sm);padding:0 var(--s1)}.plan-people-picks{gap:var(--s1) var(--s3);grid-template-columns:repeat(auto-fill,minmax(14em,1fr));display:grid}.plan-people-table th:first-child{width:11em}.plan-people-table td,.plan-people-table th{vertical-align:top}.plan-cell{padding:2px}.plan-cell.two{background:var(--warn-soft)}.plan-cell-btn{width:100%;min-height:var(--control-h-sm);height:auto;color:var(--text);border-radius:var(--r-sm);padding:var(--s1);text-align:left;background:0 0;border:1px dashed #0000;flex-direction:column;gap:2px;font-weight:400;display:flex}.plan-cell-btn:hover{border-color:var(--border-strong);background:var(--panel)}.plan-cell-item{font-size:var(--fs-xs);overflow-wrap:anywhere}.plan-cell-items{flex-direction:column;gap:2px;display:flex}@media (width<=760px){.plan-people-table.stack-on-phone .plan-cell-items{text-align:right;align-items:flex-end}.plan-people-table.stack-on-phone .plan-cell{flex-wrap:wrap}.plan-people-table.stack-on-phone .plan-cell-btn{text-align:right;flex:60%;align-items:flex-end;width:auto}.plan-people-table.stack-on-phone th:first-child{width:auto}}.plan-nobody{margin-top:var(--s3)}.plan-close-item{gap:var(--s1);padding:var(--s3) 0;border-bottom:1px solid var(--border);flex-direction:column;display:flex}.plan-why{gap:var(--s2);padding-left:var(--s3);border-left:2px solid var(--border-strong);flex-direction:column;display:flex}.plan-waiting li{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s1) 0;flex-wrap:wrap;display:flex}.plan-reasons{margin-top:var(--s3);gap:var(--s2);flex-direction:column;display:flex}.plan-reasons form{align-items:flex-end;max-width:900px}.plan-day-picks{gap:var(--s1);flex-wrap:wrap;display:flex}.plan-day-pick{min-width:0;max-width:4.5em;height:auto;min-height:var(--control-h);padding:var(--s1) var(--s2);background:var(--panel);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-sm);flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:0;font-weight:500;line-height:1.15;display:inline-flex}.plan-day-pick.unusual{border-style:dashed}.plan-day-pick.on{background:var(--primary);border-color:var(--primary);color:var(--panel)}.plan-day-date{font-size:var(--fs-xs);font-family:var(--font-mono)}.plan-days-setting{gap:var(--s2);margin-top:var(--s3);flex-direction:column;display:flex}.plan-view{margin-bottom:var(--s3)}.plan-board{table-layout:fixed;min-width:0}.plan-board th:first-child{width:34%}.plan-board td.plan-board-what{text-align:left;padding:var(--s2) var(--s3)}.plan-board th,.plan-board td{vertical-align:middle}.plan-board th.today,.plan-board td.today{background:var(--primary-soft)}.plan-board td{padding:var(--s1) 2px;text-align:center}.plan-board-row{cursor:pointer}.plan-board-row:hover td:not(.today){background:var(--panel-2)}.plan-board-name{text-align:left;overflow-wrap:anywhere;font-weight:600}.plan-bar{width:100%;min-width:2em;min-height:24px;padding:0 var(--s1);border-radius:var(--r-sm);background:var(--primary-soft);color:var(--primary-dark);border:1px dashed var(--primary);font-family:var(--font-mono);font-size:var(--fs-xs);justify-content:center;align-items:center;display:inline-flex}.plan-bar.taken{background:var(--primary);color:var(--panel);border-style:solid}.plan-bar.stop{background:var(--danger-soft);border-color:var(--danger);color:var(--danger-dark)}.plan-bar.stop.taken{border-style:solid}.plan-board-key .plan-bar{width:auto}.plan-board-days{margin:0;padding:0;list-style:none;display:none}.plan-board-days>li{padding:var(--s2) 0;border-bottom:1px solid var(--border)}.plan-board-days>li.today{box-shadow:inset 3px 0 0 var(--primary);padding-left:var(--s2)}.plan-board-day{justify-content:space-between;align-items:baseline;gap:var(--s2);display:flex}.plan-board-days ul{margin:var(--s1) 0 0;gap:var(--s1);flex-direction:column;padding:0;list-style:none;display:flex}.plan-board-item{width:100%;height:auto;min-height:var(--control-h);justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s1) var(--s2);background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--r-sm);text-align:left;font-weight:400;display:flex}.plan-board-item .plan-bar{flex:none;width:auto}@media (width<=760px){.plan-nav .small{text-align:left;flex-basis:100%;order:-1}.plan-board-wide{display:none}.plan-board-days{display:block}}.cal-tiles{gap:var(--s2);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.cal-tile{min-width:0;padding:var(--s2) var(--s3);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;flex:180px;gap:2px;display:flex}.cal-tile strong{font-size:var(--fs-lg)}.cal-tile.late strong{color:var(--danger)}.cal-toolbar{justify-content:space-between;align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.cal-toolbar .desk-segment{margin:0}.cal-toolbar-right{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.cal-range{margin:var(--s2) 0}.cal-toolbar-left,.cal-nav{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.cal-toolbar-left{gap:var(--s3)}.cal-toolbar>.cal-toolbar-right{margin-left:auto}.plan-needs{gap:var(--s2);padding:var(--s2) 0;border-top:1px solid var(--border);flex-direction:column;display:flex}.plan-need-list{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-need{gap:var(--s1);padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);flex-direction:column;display:flex}.plan-need.stop{border-color:var(--danger-border)}.plan-need-head{align-items:baseline;gap:var(--s2);flex-wrap:wrap;display:flex}.plan-need-date{align-items:center;gap:var(--s1);flex-direction:row;display:inline-flex}.plan-need-date input{width:auto}.plan-need-form{gap:var(--s2);padding:var(--s3);background:var(--panel-2);border-radius:var(--r-md);flex-direction:column;display:flex}.choice-button{position:relative}.choice-list{right:0;top:calc(100% + var(--s1));z-index:20;min-width:280px;padding:var(--s1);background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md);flex-direction:column;margin:0;list-style:none;display:flex;position:absolute}.choice-item{width:100%;height:auto;padding:var(--s2) var(--s3);text-align:left;color:var(--text);border-radius:var(--r-sm);background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.choice-item:hover,.choice-item:focus-visible{background:var(--primary-soft)}@media (width<=760px){.choice-list{min-width:0;width:min(280px, calc(100vw - 2 * var(--s4)));left:0;right:auto}}.cal-subbar{justify-content:space-between;align-items:center;gap:var(--s2);margin:var(--s2) 0;flex-wrap:wrap;display:flex}.safety-from-plan{align-items:flex-start;gap:var(--s1);flex-direction:column;display:flex}.plan-send-week{align-items:flex-end;gap:var(--s2) var(--s3);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.plan-send-week .share-text{flex-basis:100%}.share-text{gap:var(--s2);margin:var(--s2) 0;flex-direction:column;display:flex}.share-text-box{width:100%;font-family:var(--font-mono);white-space:pre;font-size:16px;overflow-x:auto}.share-text-actions{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.share-text-actions a.btn-secondary{align-items:center;min-height:40px;text-decoration:none;display:inline-flex}.cal-filters{align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.cal-filter{align-items:stretch;gap:var(--s1);text-align:left;flex-direction:column;display:flex}.cal-filter select{width:14rem;max-width:100%}@media (width<=640px){.cal-filters,.cal-filter,.cal-filter select{width:100%}}.cal-grid{--cal-day-w:30px;--cal-window-row:10px;--cal-lane:26px;--cal-pin-row:var(--s5);min-width:max(720px, calc(230px + var(--cal-days,0) * var(--cal-day-w)));flex-direction:column;display:flex}.cal-grid.dense{--cal-day-w:12px}.cal-grid .cal-track{grid-template-columns:repeat(var(--cal-days,1), minmax(0, 1fr))}.cal-track.cal-row{grid-template-rows:var(--cal-window-row) repeat(var(--cal-lanes,1), var(--cal-lane)) var(--cal-pin-row)}.cal-line{border-bottom:1px solid var(--border);grid-template-columns:220px minmax(0,1fr);display:grid}.cal-line.open{background:var(--panel-2)}.cal-label-cell{border-right:1px solid var(--border);flex-direction:column;min-width:0;display:flex}.cal-label-cell .cal-label{border-right:none;flex:auto}.drag-handle{min-width:28px;min-height:28px;color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.drag-handle:hover,.drag-handle:focus-visible{color:var(--primary);background:var(--primary-soft)}.drag-handle:active{cursor:grabbing}.drag-hint{vertical-align:middle;display:inline-flex}.cal-label-cell:has(>.drag-handle){grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.cal-label-cell>.drag-handle{grid-row:span 2;align-self:center}.cal-label-cell:has(>.drag-handle)>:not(.drag-handle){grid-column:2}.dragging{opacity:.45}.drop-before{box-shadow:inset 0 3px 0 var(--primary)}.drop-after{box-shadow:inset 0 -3px 0 var(--primary)}.cal-phone-head{align-items:center;gap:var(--s1);display:flex}.cal-phone-head>.drag-handle{min-width:40px;min-height:40px}.cal-phone-line:has(>.drag-handle){grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.cal-phone-line>.drag-handle{grid-row:span 3;min-width:40px;min-height:40px}.cal-phone-line:has(>.drag-handle)>:not(.drag-handle){grid-column:2}.cal-drawing{padding:0 var(--s2) var(--s1);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.cal-line.quiet .cal-label-name{color:var(--muted);font-weight:400}.split-steps{margin:0 0 var(--s2);padding-left:1.4em}.split-steps li{margin-bottom:var(--s2)}.cal-quiet{margin:var(--s2) 0 0}.cal-head{border-bottom-color:var(--border-strong)}.cal-label{min-width:0;height:auto;min-height:0;padding:var(--s1) var(--s2);color:var(--text);border:none;border-right:1px solid var(--border);text-align:left;background:0 0;border-radius:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;font-weight:400;display:flex}button.cal-label{cursor:pointer}button.cal-label:hover{background:var(--panel-2)}.cal-label-name{overflow-wrap:anywhere;font-weight:600}.cal-status.late{color:var(--danger);font-weight:600}.cal-status.ok{color:var(--success)}.cal-status.muted{color:var(--muted)}.cal-track{align-items:center;min-width:0;display:grid}.cal-weeks span{padding:var(--s1) var(--s1);border-left:1px solid var(--border);font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.cal-days span{text-align:center;font-size:var(--fs-xs);color:var(--muted);line-height:22px}.cal-days span.today{color:var(--primary);background:var(--primary-soft);font-weight:600}.cal-week-line{border-left:1px solid var(--border);align-self:stretch}.cal-today{background:var(--primary-soft);align-self:stretch}.cal-window{background:var(--border-strong);border-radius:2px;align-self:center;height:6px;margin:0 1px}.cal-window.cut-left{border-top-left-radius:0;border-bottom-left-radius:0}.cal-window.cut-right{border-top-right-radius:0;border-bottom-right-radius:0}.cal-forecast{border:1.5px dotted var(--muted);border-radius:var(--r-sm);align-self:center;height:20px}.cal-forecast.late{border-color:var(--danger)}.cal-bar{min-width:0;height:22px;min-height:0;padding:0 var(--s1);border-radius:var(--r-sm);font-size:var(--fs-xs);text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;align-self:center;margin:0 1px;font-weight:400;line-height:20px;position:relative;overflow:hidden}.cal-bar span{text-overflow:ellipsis;display:block;overflow:hidden}.cal-bar-fill{background:var(--success);opacity:.55;pointer-events:none;display:block;position:absolute;inset:0 auto 0 0}.cal-bar span.cal-bar-words{position:relative}.cal-bar.ahead .cal-bar-fill,.cal-bar.not_done .cal-bar-fill{opacity:.35}.cal-bar.ahead{background:var(--panel);color:var(--primary-dark);border:1.5px dashed var(--primary)}.cal-bar.taken{background:var(--primary);color:var(--panel);border:1px solid var(--primary)}.cal-bar.done{background:var(--success-soft);color:var(--success-dark);border:1px solid var(--success)}.cal-bar.not_done{background:repeating-linear-gradient(45deg, var(--panel-2) 0 5px, var(--border) 5px 8px);color:var(--text);border:1px solid var(--border-strong)}.cal-bar.not_done.others{background:repeating-linear-gradient(45deg, var(--danger-soft) 0 5px, var(--danger-border) 5px 8px);border-color:var(--danger)}.cal-bar.open{box-shadow:inset 0 0 0 2px var(--danger)}.cal-pin{width:var(--s5);height:var(--s5);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;place-self:center;align-items:center;min-height:0;padding:0;display:inline-flex;position:relative}.cal-pin-dot{width:18px;height:18px;color:var(--panel);background:var(--warn);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.cal-pin.blocker .cal-pin-dot,.cal-pin.late .cal-pin-dot{background:var(--danger)}.cal-pin.constraint .cal-pin-dot{background:var(--primary)}.cal-pin.constraint.late .cal-pin-dot{background:var(--danger)}.cal-pin-n{border-radius:var(--r-pill);background:var(--text);min-width:14px;color:var(--panel);padding:0 2px;font-size:10px;line-height:14px;position:absolute;top:-3px;right:-5px}.cal-group-head{align-items:baseline;gap:var(--s1) var(--s3);padding:var(--s2);background:var(--panel-2);border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.cal-detail{gap:var(--s2);padding:var(--s2) var(--s3) var(--s3);border-top:1px dashed var(--border);background:var(--panel);flex-direction:column;grid-column:1/-1;display:flex}.cal-detail p{margin:0}.cal-detail-head{align-items:baseline;gap:var(--s1) var(--s3);flex-wrap:wrap;display:flex}.cal-detail-block{align-items:flex-start;gap:var(--s1);flex-direction:column;display:flex}.cal-history,.cal-list{padding-left:var(--s4);margin:0}.cal-list li+li{margin-top:var(--s1)}.cal-phone{margin:0;padding:0;list-style:none;display:none}.cal-phone>li{gap:var(--s1);padding:var(--s2) 0;border-bottom:1px solid var(--border);flex-direction:column;display:flex}.cal-phone ul{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cal-phone .cal-detail{border:1px solid var(--border);border-top:none}.cal-key{margin-top:var(--s3)}.cal-key .plan-bar{width:auto}.cal-key-win,.cal-key-done,.cal-key-not,.cal-key-fc{vertical-align:middle;border-radius:2px;width:22px;display:inline-block}.cal-key-win{background:var(--border-strong);height:6px}.cal-key-done{background:var(--success-soft);border:1px solid var(--success);height:12px}.cal-key-fill{vertical-align:middle;background:linear-gradient(90deg, var(--success) 0 45%, var(--primary) 45% 100%);border-radius:2px;width:22px;height:12px;display:inline-block}.cal-key-not{background:repeating-linear-gradient(45deg, var(--danger-soft) 0 4px, var(--danger-border) 4px 7px);border:1px solid var(--danger);height:12px}.cal-key-fc{border:1.5px dotted var(--danger);height:12px}.today-level+.today-level{margin-top:var(--s3)}.today-level-head{margin:0 0 var(--s1);text-transform:uppercase;letter-spacing:.04em}.today-level-head.act{color:var(--danger)}.today-level-head.soon{color:var(--warn)}.today-level-head.info{color:var(--muted)}.today-list{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.today-item{align-items:center;gap:var(--s1) var(--s3);padding:var(--s2) var(--s3);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);grid-template-columns:150px minmax(0,1fr) auto;display:grid}.today-item.act{border-color:var(--danger-border)}.today-item.site{grid-template-columns:minmax(0,1fr) auto auto}.today-kind{color:var(--muted);font-weight:600}.today-item.act .today-kind{color:var(--danger)}.plan-title-row{justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.plan-tabpanel{gap:var(--s4);flex-direction:column;min-width:0;display:flex}.plan-row-actions{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.register-list{gap:var(--s3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.register-item{gap:var(--s2);padding:var(--s3) var(--s4);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;display:flex}.register-item.open{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.register-item.candidate{background:var(--warn-soft);border-color:var(--border-strong)}.register-head{align-items:baseline;gap:var(--s1) var(--s3);flex-wrap:wrap;display:flex}.register-state{margin-left:auto;font-weight:600}.register-state.ok{color:var(--success)}.register-state.warn{color:var(--warn)}.register-state.late{color:var(--danger)}.register-state.muted{color:var(--muted);font-weight:400}.register-said{padding:var(--s1) var(--s3);border-left:3px solid var(--border-strong);color:var(--text);white-space:pre-wrap;margin:0}.register-notes{margin:0;padding-left:1.2em}.register-notes li.warn{color:var(--warn)}.register-notes li.ok{color:var(--success)}.register-notes li.muted{color:var(--muted)}.register-figures{gap:var(--s1) var(--s4);flex-wrap:wrap;display:flex}.register-letter,.register-sent{gap:var(--s2);flex-direction:column;display:flex}.register-sent{padding:var(--s3);background:var(--panel-2);border-radius:var(--r-md)}.register-terms{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.cal-note{text-align:left}.programme-review{gap:var(--s3);flex-direction:column;display:flex}.programme-revision{align-items:center;gap:var(--s2);font-size:var(--fs-sm);display:flex}.programme-revision input{width:110px}.programme-rows{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.programme-row{gap:var(--s1) var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 190px;align-items:start;display:grid}.programme-row.heading .programme-name{font-weight:600}.programme-row.on{background:var(--primary-soft)}.programme-tick{align-items:flex-start;gap:var(--s2);flex-direction:row;min-width:0;display:flex}.programme-tick input{flex:none;margin-top:3px}.programme-dates{text-align:right;white-space:nowrap}.programme-where{gap:var(--s2);flex-wrap:wrap;grid-column:1/-1;padding-left:28px;display:flex}.programme-where select{min-width:160px}.programme-row>.small:last-child:not(.programme-dates){grid-column:1/-1;padding-left:28px}@media (width<=760px){.programme-row{grid-template-columns:minmax(0,1fr)}.programme-dates{text-align:left;padding-left:28px}.programme-where select{flex:100%}.register-state{flex-basis:100%;margin-left:0}.plan-row-actions button{flex:100%}.cal-wide,.cal-key{display:none}.cal-phone{display:block}.today-item,.today-item.site{grid-template-columns:minmax(0,1fr)}.today-item button,.cal-toolbar-right button,.cal-toolbar-right{width:100%}table.plan-table.stack-on-phone tr>td:first-child{text-align:left;padding-right:var(--s3);display:block}.plan-check{grid-template-columns:1fr auto}.plan-check-basis{grid-column:1/-1}.plan-people-table{font-size:var(--fs-xs)}.plan-week-head button{width:100%;margin-left:0}}.safety-panel{gap:var(--s4);flex-direction:column;min-width:0;display:flex}.safety-count{font-family:var(--font-mono);color:var(--danger)}.safety-form{max-width:760px}.safety-from-last{padding:var(--s2) var(--s3);background:var(--primary-soft);border-radius:var(--r-md);margin:0}.safety-h3{margin:var(--s2) 0 0;font-size:var(--fs-md);font-weight:600}.safety-ok{color:var(--success)}.safety-text{white-space:pre-wrap;overflow-wrap:anywhere}.safety-ticks,.safety-people,.safety-plain,.safety-attention,.safety-photos,.safety-pdfs,.safety-weeks{margin:0;padding:0;list-style:none}.safety-ticks,.safety-people,.safety-weeks{gap:var(--s2);flex-direction:column;display:flex}.safety-kinds{gap:var(--s2);flex-wrap:wrap;display:flex}.safety-tick,.safety-person{align-items:center;gap:var(--s2) var(--s3);min-height:var(--control-h);padding:var(--s1) var(--s3);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;min-width:0;display:flex}.safety-tick.on,.safety-person.on{border-color:var(--primary);background:var(--primary-soft)}.safety-tick input,.safety-person input{flex-shrink:0;width:20px;height:20px;margin:0}.safety-person{flex-wrap:wrap}.safety-person-name{overflow-wrap:anywhere;flex:auto;min-width:0;font-weight:600}.safety-add-name{align-self:flex-end}.safety-record{gap:var(--s3);flex-direction:column;min-width:0;display:flex}.safety-facts{gap:var(--s1) var(--s4);font-size:var(--fs-sm);grid-template-columns:minmax(9em,max-content) minmax(0,1fr);margin:0;display:grid}.safety-facts dt{color:var(--muted);font-weight:600}.safety-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.safety-names{columns:2 14em;column-gap:var(--s4)}.safety-files{gap:var(--s2);flex-direction:column;display:flex}.safety-photos{gap:var(--s3);flex-wrap:wrap;display:flex}.safety-photos li{align-items:flex-start;gap:var(--s1);flex-direction:column;max-width:220px;display:flex}.safety-photos img{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-2);width:220px;max-width:100%;height:auto;display:block}.safety-pdfs li{align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.safety-pdfs li+li{margin-top:var(--s2)}.safety-file-add{gap:var(--s1);flex-direction:column;display:flex}.safety-attention li+li{margin-top:var(--s1)}.safety-attention button.link-btn{text-align:left}.safety-day+.safety-day{margin-top:var(--s2)}.safety-table{min-width:560px}.safety-rev input{width:7em}.safety-other-week{align-items:flex-end}.safety-gaps ul{margin:var(--s1) 0 0;padding-left:var(--s4)}.briefing-quick{gap:var(--s3);flex-direction:column;display:flex}.briefing-quick-facts{gap:var(--s1) var(--s3);padding:var(--s3);background:var(--panel-2);border-radius:var(--r-md);grid-template-columns:max-content 1fr;margin:0;display:grid}.briefing-quick-facts>div{display:contents}.briefing-quick-facts dt{color:var(--muted)}.briefing-quick-facts dd{overflow-wrap:anywhere;white-space:pre-line;margin:0}.week-checks{gap:var(--s3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.week-check{gap:var(--s2);padding-bottom:var(--s3);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.week-check:last-child{border-bottom:none;padding-bottom:0}.week-check-head{align-items:baseline;gap:var(--s1) var(--s3);flex-wrap:wrap;display:flex}.week-check-marks{flex-wrap:wrap}.safety-lead label{align-items:center;gap:var(--s2);flex-flow:row;max-width:100%;display:inline-flex}.safety-lead select{flex:auto;min-width:0;max-width:100%}@media (width<=760px){.safety-lead-why{display:none}}.permit-pdfs{gap:var(--s2);padding:var(--s3);background:var(--panel-2);border-radius:var(--r-md);flex-direction:column;display:flex}.permit-pdfs-head{align-items:baseline;gap:var(--s1) var(--s3);flex-wrap:wrap;display:flex}.permit-pdf-name{overflow-wrap:anywhere}.permit-read{gap:var(--s2);padding:var(--s3);background:var(--panel-2);border-radius:var(--r-md);flex-direction:column;display:flex}.permit-read-notes{padding-left:var(--s4);margin:0}.permit-read-list{gap:var(--s1) var(--s3);grid-template-columns:max-content 1fr;margin:0;display:grid}.permit-read-list>div{display:contents}.permit-read-list dt{color:var(--muted)}.permit-read-list dd{overflow-wrap:anywhere;margin:0}@media (width<=760px){.safety-facts{grid-template-columns:minmax(0,1fr);gap:0}.safety-facts dd+dt{margin-top:var(--s2)}.safety-table{min-width:0}.safety-photos li,.safety-photos img{width:100%;max-width:100%}.safety-rev,.safety-rev input,.safety-other-week .mark-sheet-actions button{width:100%}}.safety-result{gap:var(--s2);display:flex}button.safety-result-btn{background:var(--panel);min-height:48px;color:var(--text);border:1px solid var(--border-strong);flex:1 1 0;font-weight:600}button.safety-result-btn:hover:not(:disabled){background:var(--panel-2)}button.safety-result-btn.pass.on,button.safety-result-btn.pass.on:hover:not(:disabled){background:var(--success);border-color:var(--success);color:var(--panel)}button.safety-result-btn.fail.on,button.safety-result-btn.fail.on:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:var(--panel)}.support-activity{margin-top:var(--s6);gap:var(--s2);flex-direction:column;display:flex}.support-activity h2{font-size:var(--fs-lg);margin:0}.support-activity-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.support-activity-table th{text-align:left;font-family:var(--font-mono);font-weight:500;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:var(--rule-ink);padding:var(--s2)}.support-activity-table td{border-bottom:1px solid var(--border);padding:var(--s2);vertical-align:top}:root{--corner-w:104px;--corner-h:40px;--corner-phone:48px}button.report-fab{right:var(--s5);bottom:var(--s5);z-index:949;width:var(--corner-w);height:var(--corner-h);min-height:var(--corner-h);padding:0 var(--s3);background:var(--panel);color:var(--primary);border:1.5px solid var(--primary);font-size:var(--fs-sm);box-shadow:var(--shadow-md,0 6px 18px #15202b2e);border-radius:999px;justify-content:center;align-items:center;gap:6px;font-weight:600;display:inline-flex;position:fixed}button.report-fab:hover:not(:disabled){background:var(--primary-soft)}.app-shell:has(.report-fab) .assistant-fab{bottom:calc(var(--s5) + var(--corner-h) + var(--s2));width:var(--corner-w);height:var(--corner-h);min-height:var(--corner-h);padding:0 var(--s3);font-size:var(--fs-sm);border:1.5px solid #0000;justify-content:center;gap:6px}.app-shell:has(.report-fab) .assistant-fab svg{width:18px;height:18px}.phone-shell button.report-fab{right:var(--s4);bottom:calc(80px + env(safe-area-inset-bottom));width:var(--corner-phone);height:var(--corner-phone);min-height:var(--corner-phone);padding:0}.phone-shell button.report-fab span{display:none}.app-shell.phone-shell:has(.report-fab) .assistant-fab{bottom:calc(80px + var(--corner-phone) + var(--s2) + env(safe-area-inset-bottom));width:var(--corner-phone);height:var(--corner-phone);min-height:var(--corner-phone);padding:0}.app-shell.phone-shell:has(.report-fab) .assistant-fab svg{width:22px;height:22px}.phone-shell .assistant-fab,.phone-shell button.report-fab{transition:transform .2s}.phone-shell.corners-away .assistant-fab,.phone-shell.corners-away button.report-fab{transform:translateX(calc(100% + var(--s5)))}@media (prefers-reduced-motion:reduce){.phone-shell .assistant-fab,.phone-shell button.report-fab{transition:none}}button.link-btn.report-foot{align-items:center;gap:var(--s1);color:var(--muted);align-self:flex-start;font-weight:500;display:flex}.more-sheet button.link-btn.report-foot{min-height:40px;font-size:var(--fs-md);margin:var(--s2) 0}.report-tabs{margin:calc(-1 * var(--s2)) 0 var(--s3)}.report-form{gap:var(--s3);flex-direction:column;display:flex}.report-to{margin:0}.report-kinds{gap:var(--s2);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.report-kinds legend{width:100%;margin-bottom:var(--s1)}button.report-kind{background:var(--panel);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-pill);padding:var(--s2) var(--s3);min-height:40px}button.report-kind:hover:not(:disabled){background:var(--panel-2)}button.report-kind.on,button.report-kind.on:hover:not(:disabled){background:var(--primary-soft);color:var(--primary);border-color:var(--primary);font-weight:600}.report-field{align-items:stretch;gap:var(--s1);flex-direction:column}.report-field textarea{width:100%;min-height:120px}.report-pictures{gap:var(--s2);flex-direction:column;display:flex}.report-pictures p,.report-pictures .photo-strip{margin:0}.report-pictures .photo-strip li{flex-direction:column;align-items:center;gap:2px;display:flex}.report-pictures .photo-thumb img{width:96px;height:72px}.report-picture-name{color:var(--muted)}.report-picture-remove{min-height:0}.report-picture-large{border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel-2);max-height:50vh;overflow:auto}.report-picture-large img{max-width:100%;height:auto;display:block}.report-picture-actions{gap:var(--s2);flex-wrap:wrap;display:flex}.report-context{margin:var(--s2) 0 0;padding-left:var(--s4)}.report-context li+li{margin-top:var(--s1)}.report-why{text-align:right;margin:0}.report-sent{margin:0 0 var(--s3);gap:var(--s2);flex-direction:column;padding:0;list-style:none;display:flex}.report-sent-row{border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel)}.report-sent-row.open{border-color:var(--border-strong)}button.report-sent-head{align-items:flex-start;gap:var(--s2);width:100%;color:var(--text);text-align:left;padding:var(--s2) var(--s3);background:0 0;border:0;display:flex}button.report-sent-head:hover:not(:disabled){background:var(--panel-2)}.report-sent-head .row-chevron{margin-top:3px}.report-sent-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.report-sent-text{color:var(--muted);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.report-status{font-size:var(--fs-xs);border-radius:var(--r-pill);padding:2px var(--s2);background:var(--panel-2);color:var(--muted);white-space:nowrap;flex:none;font-weight:600}.report-status-working{background:var(--warn-soft);color:var(--text)}.report-status-fixed,.report-status-answered{background:var(--success-soft);color:var(--success-dark)}.report-sent-body{padding:0 var(--s3) var(--s3) calc(var(--s3) + 24px)}.report-sent-message{white-space:pre-wrap;margin:0 0 var(--s1)}.report-reply{margin-top:var(--s2);border-left:3px solid var(--success);padding:var(--s1) var(--s3);background:var(--success-soft);border-radius:0 var(--r-sm) var(--r-sm) 0}.report-reply p{margin:var(--s1) 0 0;white-space:pre-wrap}@media (width<=760px){.report-form textarea{font-size:16px}.report-form .dialog-actions button{flex:1;min-height:40px}button.report-sent-head{flex-wrap:wrap}}.todo-chips{gap:var(--s2);margin-bottom:var(--s2);flex-wrap:wrap;display:flex}.todo-layer{align-items:center;gap:var(--s1);font-weight:600;display:inline-flex}.mark.snag.snag-open{color:var(--snag-open)}.mark.snag.snag-late{color:var(--snag-late)}.mark.snag.snag-done{color:var(--snag-done)}.mark.snag.snag-closed{color:var(--snag-closed)}.mark.snag.snag-late .mark-pin circle{stroke:var(--snag-open);stroke-width:3px}.snag-badge.snag-open{background:var(--snag-open);color:#fff}.snag-badge.snag-late{background:var(--snag-late);color:#fff}.snag-badge.snag-done{background:var(--snag-done);color:#fff}.snag-badge.snag-closed{background:var(--snag-closed);color:#fff}.snag-card{gap:var(--s2);padding:var(--s2) var(--s3);border:1px solid var(--border);border-left:4px solid var(--snag-open);border-radius:var(--r-md);background:var(--panel);display:grid}.snag-card.snag-late{border-left-color:var(--snag-late)}.snag-card.snag-done{border-left-color:var(--snag-done)}.snag-card.snag-closed{border-left-color:var(--snag-closed)}.snag-card-head{align-items:center;gap:var(--s2);display:flex}.snag-check{gap:var(--s2);display:grid}.snag-check-day{align-items:center;gap:var(--s2);flex-direction:row;display:flex}.snag-trail{padding-left:var(--s4);color:var(--muted);margin:0}.photo-phase{margin-top:var(--s1)}.photo-ask{color:var(--snag-done);font-weight:600}.snag-summary{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.find-bar{top:var(--s2);z-index:6;align-items:center;gap:var(--s1);width:min(560px, calc(100% - 2 * var(--s3)));padding:var(--s1) var(--s2);background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md);flex-wrap:wrap;display:flex;position:absolute;left:50%;transform:translate(-50%)}.find-bar input{flex:160px;min-width:0;font-size:16px}.find-count{white-space:nowrap}.find-note{flex-basis:100%}.viewer-phone .find-bar{top:56px}.find-overlay{pointer-events:none;position:absolute;inset:0;overflow:visible}.find-hit{fill:none;stroke:var(--warn);stroke-width:2.5px}.find-hit.current{stroke:var(--danger);stroke-width:4px}.drawing-switcher{min-width:0;position:relative}.drawing-switch-btn,.drawing-switch-btn:hover:not(:disabled){align-items:center;gap:var(--s1);max-width:100%;min-height:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.drawing-switch-btn:hover .drawing-switch-text{text-decoration:underline}.drawing-switch-text{flex-direction:column;min-width:0;display:flex}.phone-title .drawing-switch-btn{width:100%}.phone-title>.phone-sheet-backdrop{white-space:normal;overflow:visible}.phone-title .drawing-switch-text>*{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.drawing-switch-menu{width:min(460px,100vw - 32px)}.drawing-switch-names{flex-direction:column;flex:auto;min-width:0;display:flex}.drawing-switch-names>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drawing-switch-list{margin:0 0 var(--s2);padding:0;list-style:none}.drawing-find{width:100%;margin-bottom:var(--s2);font-size:16px}.sheet-name-edit{gap:var(--s2);max-width:520px;margin:var(--s2) 0;flex-direction:column;display:flex}.doc-sheet-name{overflow-wrap:anywhere;display:block}.snag-list{margin:var(--s2) 0}.mark-form-offline{padding:var(--s2) var(--s3);border-bottom:1px solid var(--border)}.paint-held{stroke:var(--snag-open);stroke-width:calc(9px * var(--paint-k,1));stroke-dasharray:calc(2px * var(--paint-k,1)) calc(4px * var(--paint-k,1));stroke-opacity:.85;pointer-events:none}.paint-held-text,.paint-held-note strong{color:var(--snag-open)}.paint-held-list ul{margin:var(--s1) 0 0;padding-left:var(--s4)}.materials-actions{margin-bottom:var(--s3)}.materials-summary{align-items:center;gap:var(--s1) var(--s3);margin-bottom:var(--s3);color:var(--muted);flex-wrap:wrap;display:flex}.materials-buyer{align-items:center;gap:var(--s2);color:var(--text);margin-left:auto;display:inline-flex}.mat-lines{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mat-lines>li{align-items:baseline;gap:var(--s1) var(--s3);padding:var(--s1) 0;border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.mat-lines>li:first-child{border-top:0}.mat-line-what{overflow-wrap:anywhere;flex:14em;min-width:0}.mat-line-edit{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mat-line-edit>li{align-items:flex-end;gap:var(--s2);flex-wrap:wrap;display:flex}.mat-line-edit .mat-what{flex-direction:column;flex:14em;gap:2px;min-width:0;display:flex}.mat-line-edit .mat-qty{flex-direction:column;flex:0 7em;gap:2px;display:flex}.mat-line-edit .mat-unit{flex-direction:column;flex:0 8em;gap:2px;display:flex}.mat-line-edit input,.mat-line-edit select{width:100%}.mat-paper{gap:var(--s2);flex-direction:column;display:flex}.mat-paper .cal-list li{align-items:center;gap:var(--s1) var(--s3);flex-wrap:wrap;display:flex}.mat-pick{gap:var(--s1);flex-direction:column;display:flex}.mat-pick+.mat-pick{border-top:1px solid var(--border);padding-top:var(--s2)}@media (width<=760px){.materials-actions>button{flex:1 1 0;min-width:0}.materials-actions>.materials-office{display:none}.materials-buyer{margin-left:0}.mat-line-edit>li{padding-bottom:var(--s2);border-bottom:1px solid var(--border)}.doc-list-table td.col-name{width:auto}.doc-list-table td.col-name>a,.doc-list-table .doc-sheet-name,.doc-list-table .doc-sub-what,.doc-list-table .doc-note,.doc-list-table .doc-others{flex-basis:100%}.doc-list-table tr td.col-folder:not(.col-name):not(:empty):before{content:none}.doc-list-table .doc-others{min-height:40px}.doc-list-table tr.doc-sub-row{padding-left:var(--s5);background:var(--panel-2)}.doc-list-table tr.doc-sub-row td.col-name{padding-left:0}.doc-list-table tr.doc-floor-row th{display:block}}.instruction-variation{align-items:center;gap:var(--s1) var(--s3);flex-wrap:wrap;display:flex}.came-in-head{justify-content:space-between;align-items:baseline;gap:var(--s2);flex-wrap:wrap;display:flex}.came-in-item{gap:var(--s2);padding-top:var(--s3);border-top:1px solid var(--border);flex-direction:column;display:flex}.came-in-message{gap:var(--s1);flex-direction:column;display:flex}blockquote.came-in-text{padding:var(--s2) var(--s3);border-left:3px solid var(--border-strong);background:var(--panel-2);border-radius:0 var(--r-md) var(--r-md) 0;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}blockquote.came-in-text p{margin:var(--s1) 0 0}.came-in-item .proposal-card{margin-top:0}.came-in-unsure,.came-in-paste{gap:var(--s2);flex-direction:column;display:flex}.came-in-paste label{gap:var(--s1);flex-direction:column;display:flex}.came-in-paste-row{gap:var(--s3);flex-wrap:wrap;display:flex}.came-in-paste-row label{flex:180px}.came-in-paste-open{align-self:flex-start}.material-draft{gap:var(--s2);flex-direction:column;display:flex}.material-draft-line{align-items:flex-end;gap:var(--s2);flex-wrap:wrap;display:flex}.material-draft-line label{gap:var(--s1);flex-direction:column;display:flex}.material-draft-line .grow{flex:200px;min-width:0}.material-draft-qty input{width:7em}.material-draft-head{gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.material-draft-head label{gap:var(--s1);flex-direction:column;display:flex}.material-draft-head .grow{flex:220px}.floors-from-drawings{align-items:flex-start;gap:var(--s2);margin:var(--s2) 0;flex-direction:column;display:flex}.floors-from-drawings p{margin:0}.floors-sheets{margin:var(--s1) 0 0;padding-left:var(--s4);overflow-wrap:anywhere}.systems-picker{gap:var(--s1);flex-direction:column;display:flex}.systems-found,.systems-chosen{gap:var(--s1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.systems-found{border:1px solid var(--border);background:var(--panel);border-radius:6px;flex-direction:column}.systems-found li .link-btn{text-align:left;width:100%;min-height:40px;padding:0 var(--s2)}.systems-chosen .chip{align-items:center;gap:var(--s1);min-height:32px;padding:0 var(--s2);border:1px solid var(--border-strong);background:var(--panel-2);font-size:var(--fs-sm);border-radius:16px;display:inline-flex}.systems-chosen .chip .link-btn{min-width:32px;min-height:32px}.issue-photos{gap:var(--s1);flex-direction:column;display:flex}
