@charset "UTF-8";@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iIq129k.woff2) format("woff2");unicode-range:U+0460-052F,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-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1isq129k.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iAq129k.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iEq129k.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1i8q1w.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwl1FgtIU.woff2) format("woff2");unicode-range:U+0460-052F,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-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwlRFgtIU.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwl9FgtIU.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwl5FgtIU.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwlBFgg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl1FgtIU.woff2) format("woff2");unicode-range:U+0460-052F,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-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlRFgtIU.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl9FgtIU.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl5FgtIU.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlBFgg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxTKYbABA.woff2) format("woff2");unicode-range:U+0460-052F,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-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxaKYbABA.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxdKYbABA.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxRKYbABA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxQKYbABA.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYY.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-weight:500;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxTKYbABA.woff2) format("woff2");unicode-range:U+0460-052F,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-weight:500;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxaKYbABA.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxdKYbABA.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxRKYbABA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxQKYbABA.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-weight:500;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYY.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-weight:600;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxTKYbABA.woff2) format("woff2");unicode-range:U+0460-052F,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-weight:600;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxaKYbABA.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxdKYbABA.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxRKYbABA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxQKYbABA.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-weight:600;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYY.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-weight:700;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxTKYbABA.woff2) format("woff2");unicode-range:U+0460-052F,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-weight:700;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxaKYbABA.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxdKYbABA.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxRKYbABA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxQKYbABA.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-weight:700;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYY.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v368/kJF4BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzBwG-RpA6RzaxHMPdY40KH8nGzv3fzfVJU22ZZLsYEpzC_1ver5Y0.woff2) format("woff2")}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}:root{color-scheme:light;--ground: #fbfcfd;--surface: #ffffff;--surface-alt: #f4f6f8;--ink: #131a22;--ink-soft: #3d4956;--muted: #6b7885;--line: #e2e7ec;--line-strong: #c9d2db;--accent: #0b3a61;--accent-hover:#0d4675;--accent-soft: #eaf0f6;--on-accent: #ffffff;--ok: #0f7a52;--ok-soft: #e6f3ed;--warn: #8a5a00;--warn-soft: #fbf1dc;--bad: #a32218;--bad-soft: #fbe8e6;--font-ui: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-data: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-page: 26px;--fs-section: 19px;--fs-strong: 15px;--fs-body: 15px;--fs-dense: 13px;--fs-label: 12px;--fs-col: 11px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--r: 3px;--row-h: 36px;--sheet-w: 920px;--shadow: 0 4px 16px rgba(19, 26, 34, .1);--page-bg: var(--ground);--page-bg-alt: var(--surface-alt);--panel-bg: var(--surface);--panel-strong: var(--surface-alt);--panel-soft: var(--surface);--surface-raised: var(--surface);--sidebar-bg: var(--surface);--sidebar-card-bg: var(--surface-alt);--nav-hover-bg: var(--surface-alt);--floating-shadow: rgba(19, 26, 34, .1);--text-main: var(--ink);--text-soft: var(--ink-soft);--text-muted: var(--muted);--text-primary: var(--ink);--border-color: var(--line);--accent-2: var(--accent);--template-accent: var(--accent);--danger-soft: var(--bad-soft);--success-soft: var(--ok-soft);--warning-soft: var(--warn-soft);--shell-glow-1: transparent;--shell-glow-2: transparent;--brand-navy: var(--accent);--brand-line: var(--line);--brand-muted: var(--muted);--brand-ink: var(--ink);--brand-white: var(--surface);--brand-soft: var(--surface-alt);--brand-mist: var(--surface-alt);--brand-red: var(--bad);--brand-green: var(--ok);--brand-blue: var(--accent);--brand-cyan: var(--accent)}body[data-theme=dark]{color-scheme:dark;--ground: #0e1116;--surface: #141920;--surface-alt: #1a212a;--ink: #e8edf2;--ink-soft: #b7c2ce;--muted: #8493a1;--line: #262f3a;--line-strong: #38444f;--accent: #7cb0e0;--accent-hover:#93c0e8;--accent-soft: #16283a;--on-accent: #0e1116;--ok: #4ec08d;--ok-soft: #102c22;--warn: #dda94f;--warn-soft: #2e2513;--bad: #ef8b81;--bad-soft: #331b19;--floating-shadow: rgba(0, 0, 0, .5);--shadow: 0 4px 16px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--ground);color:var(--ink);font-family:var(--font-ui);font-size:var(--fs-body);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin-top:0}h1{font-size:var(--fs-page);font-weight:600;letter-spacing:-.02em;line-height:1.25}h2{font-size:var(--fs-section);font-weight:600;letter-spacing:-.01em}h3{font-size:var(--fs-strong);font-weight:600}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}a,button,.field>span .req{font-style:normal;font-size:var(--fs-col);font-weight:400;color:var(--muted);margin-left:var(--sp-1)}input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.amount,.num,td.amount,.s-val{font-family:var(--font-data);font-variant-numeric:tabular-nums;white-space:nowrap}.muted{color:var(--muted)}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-size:18px}.page{display:grid;gap:var(--sp-5);max-width:1180px;min-width:0}.page>*,.card,.content-grid>*,.document-entry-sheet{min-width:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);padding-bottom:var(--sp-4);border-bottom:1px solid var(--line)}.page-header h1,.page-header h2{font-size:var(--fs-page);font-weight:600;letter-spacing:-.02em;margin:0 0 var(--sp-1)}.page-header p{margin:0;max-width:68ch;font-size:var(--fs-dense);color:var(--muted)}.grid{display:grid;gap:var(--sp-4)}.content-grid{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.split{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--sp-4)}.table-card{padding:0;overflow:hidden}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}.stats-grid>.kpi{border:0;border-right:1px solid var(--line);border-radius:0}.stats-grid>.kpi:last-child{border-right:0}.kpi{display:grid;gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);align-content:start}.kpi>.muted:first-child,.kpi>span:first-child{font-size:var(--fs-col);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.kpi .status,.kpi .pill,.list-item .status{justify-self:start;align-self:start;width:fit-content}.kpi strong{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600;color:var(--ink)}.metric-bar{height:4px;border-radius:999px;background:var(--surface-alt);overflow:hidden}.metric-bar>*{background:var(--accent);height:100%;display:block}table{width:100%;border-collapse:collapse;font-size:var(--fs-dense)}thead th{position:sticky;top:0;z-index:1;background:var(--surface-alt);text-align:left;font-size:var(--fs-col);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line-strong)}tbody td{padding:0 var(--sp-4);height:var(--row-h);border-bottom:1px solid var(--line);color:var(--ink-soft);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--surface-alt)}td.amount,th.amount,td.r,th.r{text-align:right}tbody td:last-child:has(.icon-btn){white-space:nowrap;width:1%;text-align:right}tbody td:last-child .icon-btn+.icon-btn{margin-left:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:32px;padding:0 var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);font-size:var(--fs-dense);font-weight:500;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background .12s ease,border-color .12s ease}.btn:hover{background:var(--surface-alt);text-decoration:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-soft)}.btn-ghost:hover{background:var(--surface-alt);color:var(--ink)}.btn-alt{background:var(--surface-alt)}.btn-sm{min-height:28px;font-size:var(--fs-label);padding:0 var(--sp-2)}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed}.icon-btn{min-height:30px;width:30px;padding:0;border-color:transparent;background:transparent;color:var(--muted)}.icon-btn:hover{background:var(--surface-alt);color:var(--ink)}.icon-btn-danger:hover{background:var(--bad-soft);color:var(--bad)}.action-btn{justify-content:flex-start}.entity-form{display:grid;gap:var(--sp-4)}.form-grid{display:grid;gap:var(--sp-3) var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.field{display:grid;gap:var(--sp-1);align-content:start}.field-full{grid-column:1/-1}.field>span,.field>label,label>span{font-size:var(--fs-label);font-weight:500;color:var(--ink-soft)}input,select,textarea{width:100%;min-height:32px;padding:var(--sp-1) var(--sp-2);border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);font-size:var(--fs-dense)}textarea{min-height:84px;padding:var(--sp-2);resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}input:disabled,select:disabled,textarea:disabled{background:var(--surface-alt);color:var(--muted);cursor:not-allowed}input.ng-invalid.ng-touched,select.ng-invalid.ng-touched,textarea.ng-invalid.ng-touched{border-color:var(--bad)}input[type=checkbox],input[type=radio]{width:auto;min-height:0}.form-actions{display:flex;gap:var(--sp-2);justify-content:flex-end;padding-top:var(--sp-3);border-top:1px solid var(--line)}.status{display:inline-block;padding:1px var(--sp-2);border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface-alt);color:var(--muted);font-size:11.5px;font-weight:500;white-space:nowrap}.status.success{color:var(--ok);border-color:var(--ok);background:var(--ok-soft)}.status.warning{color:var(--warn);border-color:var(--warn);background:var(--warn-soft)}.status.danger{color:var(--bad);border-color:var(--bad);background:var(--bad-soft)}.status.info{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.status.draft{color:var(--muted);border-color:var(--line-strong);background:var(--surface-alt)}.pill{display:inline-block;padding:1px var(--sp-2);border:1px solid var(--line);border-radius:var(--r);background:var(--surface-alt);color:var(--muted);font-size:var(--fs-col);font-weight:500;letter-spacing:.06em;text-transform:uppercase}.list{display:grid}.list-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:0}.list-item strong{font-size:var(--fs-dense);font-weight:600;color:var(--ink)}.list-item p{margin:0;font-size:var(--fs-label);color:var(--muted)}.toolbar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line);background:var(--surface-alt)}.toolbar input[type=search],.toolbar input[type=text]{min-width:220px;width:auto;flex:1 1 220px;max-width:340px}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--r);overflow:hidden}.seg>button{border:0;border-right:1px solid var(--line-strong);background:var(--surface);color:var(--muted);font-size:var(--fs-label);padding:var(--sp-1) var(--sp-3);min-height:28px;cursor:pointer}.seg>button:last-child{border-right:0}.seg>button:hover{background:var(--surface-alt);color:var(--ink)}.seg>button.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-top:1px solid var(--line);font-size:var(--fs-label);color:var(--muted);flex-wrap:wrap}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--ink)}th .sort-arrow{font-size:10px;margin-left:2px}.empty{padding:var(--sp-6) var(--sp-4);text-align:center;color:var(--muted);font-size:var(--fs-dense)}.scroll-x,.table-card{overflow-x:auto}.table-card.table-wide>table{min-width:720px}@media (max-width: 900px){.page{gap:var(--sp-4)}.page-header{flex-direction:column;align-items:stretch;gap:var(--sp-3)}.page-header h1,.page-header h2{font-size:21px}.page-header>:not(div){align-self:flex-start}.page-header .btn{width:auto}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid>.kpi{border-bottom:1px solid var(--line)}.stats-grid>.kpi:nth-child(2n){border-right:0}.content-grid,.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}@media (max-width: 560px){.page-header h1,.page-header h2{font-size:19px}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid>.kpi{padding:var(--sp-2) var(--sp-3)}.stats-grid>.kpi strong{font-size:17px}.table-card{overflow-x:auto}.toolbar{padding:var(--sp-2)}.toolbar input[type=search],.toolbar input[type=text]{max-width:none}}.document-entry-sheet{overflow-x:auto;padding-bottom:var(--sp-2)}.document-entry-sheet>.line-table-head,.document-entry-sheet>.line-items{min-width:760px}.doc-extra{border-top:1px solid var(--line);padding-top:var(--sp-3)}.doc-extra>summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--fs-label);font-weight:500;color:var(--accent);padding:var(--sp-1) 0}.doc-extra[open]>summary{margin-bottom:var(--sp-3)}app-document-form .section-header{margin-bottom:.25rem}app-document-form .line-actions{display:flex;gap:.75rem;flex-wrap:wrap}app-document-form .document-entry-sheet{display:grid;gap:.8rem;padding:.95rem 1rem 1rem;border:1px solid var(--line);border-radius:1.4rem;background:color-mix(in srgb,var(--panel-bg) 97%,white 3%);box-shadow:var(--shadow)}app-document-form .line-table-head,app-document-form .line-items{display:grid}app-document-form .line-table-head{grid-template-columns:78px minmax(300px,3.1fr) 78px 108px 104px 96px 92px 148px 42px;gap:.5rem;padding:0 .55rem .1rem;color:var(--text-muted);font-size:.74rem;letter-spacing:.02em;text-transform:uppercase;font-weight:600}app-document-form .line-items{gap:.75rem}app-document-form .line-block{display:grid;gap:0}app-document-form .quote-section-row,app-document-form .quote-subtotal-row{padding:0;border:0;background:transparent}app-document-form .quote-section-row-grid,app-document-form .quote-subtotal-row-grid{display:grid;grid-template-columns:78px minmax(300px,3.1fr) 78px 108px 104px 96px 92px 132px 112px;align-items:center;gap:.5rem;padding:.68rem .72rem .64rem;border-radius:.95rem .95rem 0 0;background:var(--surface-alt);border:1px solid var(--line);border-bottom:1px solid var(--line)}app-document-form .quote-section-handle{display:grid;place-items:center}app-document-form .quote-section-title-cell{display:flex;align-items:center;gap:.55rem;min-width:0}app-document-form .quote-section-title-cell input{min-height:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:var(--shadow);font-size:.92rem;font-weight:700}app-document-form .quote-section-title-cell input:focus{outline:none}app-document-form .quote-section-chevron{color:var(--text-muted)}app-document-form .quote-section-spacer{min-height:1px}app-document-form .quote-section-subtotal-cell{display:grid;justify-items:end;gap:.08rem;min-width:0;line-height:1.05}app-document-form .quote-section-subtotal-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}app-document-form .quote-section-subtotal-cell strong{font-size:.96rem}app-document-form .quote-subtotal-row-grid{border-radius:.95rem;background:var(--accent-soft);border:1px dashed var(--accent)}app-document-form .quote-subtotal-title-cell input{font-weight:600}app-document-form .quote-section-menu-cell{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;min-width:0}app-document-form .line-template-group-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.58rem .72rem .48rem;border-left:1px solid var(--line);border-right:1px solid var(--line);background:var(--surface-alt)}app-document-form .line-template-group-title{display:flex;align-items:center;gap:.55rem;min-width:0}app-document-form .line-template-group-pill{flex-shrink:0;padding:.28rem .7rem;border-radius:999px;border:1px solid var(--accent);background:var(--accent-soft);color:var(--ok);font-size:.74rem}app-document-form .line-item{display:grid;grid-template-columns:78px minmax(300px,3.1fr) 78px 108px 104px 96px 92px 148px 42px;gap:.5rem;align-items:start;position:relative;z-index:2;overflow:visible;padding:.58rem .72rem .42rem;border:1px solid var(--line);border-top:0;background:color-mix(in srgb,var(--panel-strong) 98%,white 2%)}app-document-form .line-item-template-leading,app-document-form .line-item-template-continuation{border-left:1px solid var(--line);border-right:1px solid var(--line)}app-document-form .line-description{min-width:0;position:relative;z-index:30}app-document-form .line-description-document{display:grid;gap:.16rem}app-document-form .line-description-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}app-document-form .product-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;align-items:center}app-document-form .product-search-row-document input,app-document-form .line-item input,app-document-form .line-item select{min-height:2.45rem;border-radius:.72rem;background:color-mix(in srgb,var(--panel-bg) 96%,white 4%);border:1px solid var(--line);box-shadow:var(--shadow)}app-document-form .product-search-row-document input,app-document-form .line-item input,app-document-form .line-item select{font-size:.88rem;padding:.45rem .72rem}body[data-theme=light] app-document-form .document-entry-sheet{background:var(--surface-alt);border-color:var(--line);box-shadow:var(--shadow)}body[data-theme=light] app-document-form .quote-section-row-grid{background:var(--surface-alt);border-color:var(--line)}body[data-theme=light] app-document-form .line-item{background:var(--surface-alt);border-color:var(--line)}body[data-theme=light] app-document-form .product-search-row-document input,body[data-theme=light] app-document-form .line-item input,body[data-theme=light] app-document-form .line-item select,body[data-theme=light] app-document-form .action-btn-sheet{background:var(--surface)}body[data-theme=light] app-document-form .product-search-results{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}body[data-theme=light] app-document-form .product-result{color:var(--ink)}body[data-theme=light] app-document-form .product-result-meta,body[data-theme=light] app-document-form .line-inline-description-toggle{color:var(--muted)}app-document-form .line-description-meta,app-document-form .line-template-badge,app-document-form .line-unit-hint{display:none}app-document-form .line-order{justify-items:center;align-self:start;padding-top:.45rem}app-document-form .line-order-stack{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.16rem;min-height:auto}app-document-form .line-order-actions{display:grid;place-items:center;align-self:center;cursor:default}app-document-form .line-order-actions .icon-btn{min-width:2.35rem;min-height:2.35rem;padding:0}app-document-form .line-drag-btn{width:2.35rem;height:2.35rem;display:inline-grid;place-items:center;touch-action:none}app-document-form .line-drag-btn,app-document-form .line-drag-btn .material-symbols-outlined{cursor:move}app-document-form .line-drag-btn:active,app-document-form .line-drag-btn:active .material-symbols-outlined{cursor:move}app-document-form .line-move-btn{min-width:1.65rem;min-height:1.2rem;padding:0;border-color:transparent;background:transparent;box-shadow:var(--shadow)}app-document-form .line-move-btn .material-symbols-outlined{font-size:1rem}app-document-form .line-move-btn:disabled{opacity:.35;cursor:default}app-document-form .line-item,app-document-form .quote-section-row,app-document-form .quote-subtotal-row{cursor:default}app-document-form .line-item.cdk-drag-preview,app-document-form .quote-section-row.cdk-drag-preview,app-document-form .quote-subtotal-row.cdk-drag-preview{cursor:grabbing}app-document-form .line-total{display:grid;justify-items:end;gap:.02rem;min-height:2.45rem;min-width:0;overflow:hidden;padding-top:.2rem}app-document-form .line-total-wrap,app-document-form .line-action{align-self:stretch}app-document-form .line-action{justify-items:end;align-self:center;padding-top:.05rem}app-document-form .line-item .field>span{display:none}app-document-form .total-line{font-size:.84rem;line-height:1.1}app-document-form .total-label{min-width:0;font-size:.66rem}app-document-form .line-unit-field{align-self:start}app-document-form .line-inline-description-toggle{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-muted);font-size:.68rem;padding-left:.12rem}app-document-form .line-actions-bottom{justify-content:flex-end;margin-top:.1rem;gap:.7rem;flex-wrap:wrap}app-document-form .action-btn-sheet{min-height:2.9rem;border-radius:.82rem;border-color:var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow);font-size:.78rem;font-weight:500;gap:.55rem}app-document-form .action-btn-sheet .material-symbols-outlined{font-size:1.1rem}app-document-form .totals-card{display:grid;gap:.65rem}app-document-form .totals-panel{width:min(640px,100%);justify-self:end}app-document-form .totals-list{display:grid;gap:.4rem}app-document-form .grand-total{padding-top:.5rem;border-top:1px solid var(--line);font-size:.9rem}@media (max-width: 960px){app-document-form .document-entry-sheet{padding:.85rem}app-document-form .line-table-head{display:none}app-document-form .line-item,app-document-form .quote-section-row-grid,app-document-form .quote-subtotal-row-grid{grid-template-columns:1fr}app-document-form .line-template-group-header{flex-direction:column;align-items:flex-start}app-document-form .quote-section-menu-cell,app-document-form .quote-section-subtotal-cell{justify-content:flex-start;justify-items:start}app-document-form .line-item .field>span{display:inline}app-document-form .line-actions-bottom{justify-content:stretch}app-document-form .action-btn-sheet,app-document-form .action-btn-primary-sheet{width:100%}}app-document-form .document-entry-sheet{gap:0;padding:0;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:none}app-document-form .line-table-head,app-document-form .line-block-document>.line-item,app-document-form .line-block-document>*>.line-item{grid-template-columns:28px minmax(180px,1fr) 62px 88px 86px 76px 94px 104px 34px;gap:var(--sp-2)}app-document-form .line-table-head{padding:var(--sp-2) var(--sp-3);background:var(--surface-alt);border-bottom:1px solid var(--line-strong);border-radius:0;font-size:var(--fs-col);letter-spacing:.08em}app-document-form .line-items{gap:0}app-document-form .line-block{border-bottom:1px solid var(--line);border-radius:0}app-document-form .line-block:last-child{border-bottom:0}app-document-form .line-item{padding:var(--sp-2) var(--sp-3);border-radius:0;background:transparent;border:0}app-document-form .line-item:hover{background:var(--surface-alt)}app-document-form .line-item input,app-document-form .line-item select{min-height:28px;padding:2px var(--sp-2);border-radius:var(--r);font-size:var(--fs-dense)}app-document-form .line-description textarea{min-height:52px;border-radius:var(--r);font-size:var(--fs-dense)}app-document-form .line-order-stack{align-self:start;gap:0;width:22px;min-height:0}app-document-form .line-order-actions{min-height:0}app-document-form .line-order-actions .icon-btn,app-document-form .line-drag-btn,app-document-form .line-move-btn{width:22px;min-width:22px;height:10px;min-height:10px;padding:0;overflow:hidden}app-document-form .line-move-btn .material-symbols-outlined,app-document-form .line-drag-btn .material-symbols-outlined{font-size:12px;line-height:1}app-document-form .line-move-btn:disabled{opacity:.25}app-document-form .line-action{align-self:start;justify-self:end}app-document-form .line-total,app-document-form .line-total-wrap{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:var(--fs-dense)}app-document-form .line-actions,app-document-form .line-actions-bottom{gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--line);background:var(--surface-alt)}app-document-form .quote-section-row,app-document-form .quote-subtotal-row{border-radius:0;background:var(--surface-alt)}app-document-form .totals-card,app-document-form .totals-panel{border-radius:var(--r)}
