@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/roboto-flex-cyrillic-ext-wght-normal.2f6lgipp1x886.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/roboto-flex-cyrillic-wght-normal.28qe5ka8x805f.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/roboto-flex-greek-wght-normal.1aqbcx52ta1m5.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/roboto-flex-vietnamese-wght-normal.13mtjd4str2k9.woff2)format("woff2-variations");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:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/roboto-flex-latin-ext-wght-normal.1xak16nng_zzl.woff2)format("woff2-variations");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:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/roboto-flex-latin-wght-normal.2othhty-p551a.woff2)format("woff2-variations");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:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(../media/sarabun-thai-400-normal.0yet8anlobxb1.woff2)format("woff2"),url(../media/sarabun-thai-400-normal.08m87vmlytaqo.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(../media/sarabun-vietnamese-400-normal.2gdphetik76zf.woff2)format("woff2"),url(../media/sarabun-vietnamese-400-normal.087vo_t4pp21o.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:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(../media/sarabun-latin-ext-400-normal.0sl2f2yjkjq09.woff2)format("woff2"),url(../media/sarabun-latin-ext-400-normal.1q7si2-nid160.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:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(../media/sarabun-latin-400-normal.07mswom_4mc_x.woff2)format("woff2"),url(../media/sarabun-latin-400-normal.3qhix0vgm-iv_.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:Sarabun;font-style:normal;font-display:swap;font-weight:500;src:url(../media/sarabun-thai-500-normal.1gv71jut0wx-x.woff2)format("woff2"),url(../media/sarabun-thai-500-normal.13_9ztafwge5f.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:500;src:url(../media/sarabun-vietnamese-500-normal.1dfkcn-272air.woff2)format("woff2"),url(../media/sarabun-vietnamese-500-normal.0rqn2_a6m8dex.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:Sarabun;font-style:normal;font-display:swap;font-weight:500;src:url(../media/sarabun-latin-ext-500-normal.3uxu15kqm5_7f.woff2)format("woff2"),url(../media/sarabun-latin-ext-500-normal.13d5qpo5eg9ef.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:Sarabun;font-style:normal;font-display:swap;font-weight:500;src:url(../media/sarabun-latin-500-normal.32gctdbbsc194.woff2)format("woff2"),url(../media/sarabun-latin-500-normal.2p_jjfor5l-5w.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:Sarabun;font-style:normal;font-display:swap;font-weight:600;src:url(../media/sarabun-thai-600-normal.1gyhu3zfs25zt.woff2)format("woff2"),url(../media/sarabun-thai-600-normal.1ts4ubbfzx4tg.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:600;src:url(../media/sarabun-vietnamese-600-normal.1zzlkasznuc-d.woff2)format("woff2"),url(../media/sarabun-vietnamese-600-normal.36m9d4eoyg09k.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:Sarabun;font-style:normal;font-display:swap;font-weight:600;src:url(../media/sarabun-latin-ext-600-normal.3vhi5zgahezje.woff2)format("woff2"),url(../media/sarabun-latin-ext-600-normal.2icp_tvjxeugc.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:Sarabun;font-style:normal;font-display:swap;font-weight:600;src:url(../media/sarabun-latin-600-normal.2-x2_a_dkwuju.woff2)format("woff2"),url(../media/sarabun-latin-600-normal.2uiksuc1-hhb5.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:Sarabun;font-style:normal;font-display:swap;font-weight:700;src:url(../media/sarabun-thai-700-normal.276fhfyhhweha.woff2)format("woff2"),url(../media/sarabun-thai-700-normal.0m64ha74cu-pe.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:700;src:url(../media/sarabun-vietnamese-700-normal.0o5omyo-6fyn6.woff2)format("woff2"),url(../media/sarabun-vietnamese-700-normal.12vd3xeq0y3ck.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:Sarabun;font-style:normal;font-display:swap;font-weight:700;src:url(../media/sarabun-latin-ext-700-normal.3lso43oe0zxnv.woff2)format("woff2"),url(../media/sarabun-latin-ext-700-normal.1dg5wsqjf94ex.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:Sarabun;font-style:normal;font-display:swap;font-weight:700;src:url(../media/sarabun-latin-700-normal.360igetryhoao.woff2)format("woff2"),url(../media/sarabun-latin-700-normal.0985h_uvycb9x.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(../media/ibm-plex-mono-cyrillic-ext-400-normal.09jq5v9-1wf71.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-400-normal.2iaubq2jy0rx3.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(../media/ibm-plex-mono-cyrillic-400-normal.0m1ahpdxrpokj.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-400-normal.2-z93d2j9-3s0.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(../media/ibm-plex-mono-vietnamese-400-normal.3a7fs2yw914a9.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-400-normal.2kzc8ichkozg5.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(../media/ibm-plex-mono-latin-ext-400-normal.1hjaitcyq2e2r.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-400-normal.0nrwft7nlo5oa.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(../media/ibm-plex-mono-latin-400-normal.3xdfs0-p_zi4c.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-400-normal.2lhng2ntocry9.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(../media/ibm-plex-mono-cyrillic-ext-500-normal.28wp48yubenc3.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-500-normal.41yczc5zdkwdh.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(../media/ibm-plex-mono-cyrillic-500-normal.26ox_itp_alxp.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-500-normal.1eaan1mch682e.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(../media/ibm-plex-mono-vietnamese-500-normal.0s1z3n-ysad7w.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-500-normal.2g79xp9gzp1kn.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(../media/ibm-plex-mono-latin-ext-500-normal.1cuq9_67cn48n.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-500-normal.1tdw_l2v4yhc_.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(../media/ibm-plex-mono-latin-500-normal.11q3guvgd1r20.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-500-normal.1fgk-kmy-32_a.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:Material Symbols Outlined;font-style:normal;font-weight:100 700;font-display:block;src:url(../media/material-symbols-outlined.192_k731pr3f8.woff2)format("woff2")}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"liga";direction:ltr;font-family:Material Symbols Outlined;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-slate-50:#f8fafc;--color-slate-200:#e2e8f0;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-slate-50:lab(98.1434% -.369519 -1.05966);--color-slate-200:lab(91.7353% -.998765 -4.76968)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.table{display:table}.table-cell{display:table-cell}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.shadow,.shadow\/reset,.shadow\/test{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--background:#f6f8fb;--foreground:#182638;--muted:#65748a;--line:#e5eaf1;--primary:#245bdf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{background:var(--background);color:var(--foreground);margin:0;font-family:Roboto Flex,Sarabun,sans-serif;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.65}a:focus-visible,button:focus-visible{outline-offset:4px;outline:3px solid #8ab0ff}h1,h2,h3,p{margin:0}.skip-link{z-index:50;background:#fff;padding:12px;position:absolute;top:-80px;left:20px}.skip-link:focus{top:8px}.site-header{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:48px;min-height:76px;padding:16px max(28px,50vw - 628px);display:flex}.brand{white-space:nowrap;align-items:center;gap:11px;font-size:19px;font-weight:600;display:flex}.brand-symbol{color:#fff;background:var(--primary);border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.brand-secondary{color:#45556d;font-size:17px;font-weight:400}.site-header nav{color:#516079;gap:28px;font-size:13px;display:flex}.site-header nav a:hover,.text-link:hover{color:var(--primary)}.environment-tag{color:#8b6022;white-space:nowrap;background:#fff8e9;border:1px solid #f6e7c8;border-radius:6px;align-items:center;gap:7px;margin-left:auto;padding:5px 10px;font-size:12px;display:flex}.status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.workspace{max-width:1256px;margin:0 auto;padding:40px 28px 0}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.eyebrow{letter-spacing:1.5px;color:var(--muted);align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}h1{letter-spacing:-.7px;margin-top:6px;font-size:29px;font-weight:600}.subheading{color:var(--muted);margin-top:5px}.button{white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:12px;font-weight:500;display:inline-flex}.button-secondary{color:#42516a;background:#fff;border:1px solid #dbe2ec;box-shadow:0 1px 2px #142b4910}.button-secondary:hover:not(:disabled){background:#f9fbff;border-color:#a8bde3}.current-phase{border:1px solid #d9e4f9;border-top:3px solid var(--primary);background:#fff;border-radius:10px;grid-template-columns:1fr 290px;margin-bottom:32px;display:grid;overflow:hidden}.current-copy{padding:27px 30px}.current-copy .eyebrow{color:var(--primary)}.current-copy h2{margin:14px 0 9px;font-size:23px;font-weight:600;line-height:1.5}.current-copy h2>span{color:var(--muted);margin-bottom:4px;font-size:13px;font-weight:400;display:block}.current-copy>p:not(.eyebrow){color:var(--muted)}.phase-meta{color:var(--muted);align-items:center;gap:12px;margin-top:21px;font-size:12px;display:flex}.current-aside{background:#f5f8ff;border-left:1px solid #e4ecfa;flex-direction:column;justify-content:center;align-items:flex-start;gap:9px;padding:25px;display:flex}.current-aside>svg{color:#5480d9;margin-bottom:5px}.current-aside>span{color:var(--muted);font-size:11px}.current-aside>strong{font-size:14px;font-weight:500}.current-aside>p{color:var(--muted);font-size:12px}.content-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:28px;display:grid}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading h2,.info-panel h2{font-size:16px;font-weight:600}.section-heading p{color:var(--muted);margin-top:3px;font-size:12px}.count-label{color:#516079;white-space:nowrap;border:1px solid #dfe5ee;border-radius:5px;padding:4px 9px;font-size:11px}.roadmap-note{color:var(--muted);margin:14px 0;font-size:11px}.phase-list{border:1px solid var(--line);background:#fff;border-radius:9px;margin:0;padding:0;list-style:none;overflow:hidden}.phase-row{border-bottom:1px solid #edf0f5;align-items:center;gap:16px;padding:18px 20px;display:flex}.phase-row:last-child{border-bottom:0}.phase-row.is-current{box-shadow:inset 3px 0 0 var(--primary);background:#f7faff}.phase-number{color:#8591a1;border:1px solid #e3e8ef;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:11px;display:grid}.phase-number.is-done{color:#268152;background:#eaf6ef;border-color:#d9efdf}.is-current .phase-number:not(.is-done){color:var(--primary);background:#edf3ff;border-color:#bbcff6;font-weight:600}.phase-description{flex:1;min-width:0}.phase-description h3{overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:1.7}.phase-label{color:var(--muted);font-size:10px;font-weight:400;display:block}.phase-description p{color:var(--muted);margin-top:3px;font-size:11px}.phase-result{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:5px;display:flex}.status-badge{color:#728096;white-space:nowrap;background:#f1f3f6;border-radius:5px;align-items:center;padding:3px 8px;font-size:10px;line-height:1.7;display:inline-flex}.status-done{color:#237f4e;background:#eaf6ef}.status-doing,.status-verifying{color:#245bcb;background:#eaf1ff}.status-waiting_input{color:#8c6016;background:#fff4dc}.task-count{color:#7b889b;font-size:10px}.side-column{gap:18px;display:grid}.info-panel{border:1px solid var(--line);background:#fff;border-radius:9px;padding:21px}.panel-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.panel-heading>svg{color:#8391a5}.health-results{margin:18px 0 14px}.health-row{border-bottom:1px solid #f0f2f6;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;font-size:12px;display:flex}.health-label{color:#77859a;align-items:center;gap:5px;font-size:11px;display:inline-flex}.health-good{color:#288255}.health-pending{color:#967027}.health-explanation,.info-panel>p{color:var(--muted);font-size:12px;line-height:1.85}.refresh-button{width:100%;margin-top:17px}.info-panel .checked-time{text-align:center;margin-top:9px;font-size:10px}.panel-icon{color:#5880c6;background:#eff4fd;border-radius:8px;margin-bottom:13px;padding:9px;display:inline-flex}.info-panel>h2{margin-bottom:10px}.milestones{gap:12px;margin:0;padding:17px 0;list-style:none;display:grid}.milestones li{color:#55657d;align-items:center;gap:9px;font-size:11px;display:flex}.milestones svg{color:#a5b8d6}.text-link{color:var(--primary);align-items:center;gap:5px;font-size:12px;display:inline-flex}.preview-note{color:#7d8a9c;align-items:flex-start;gap:9px;padding:0 9px;font-size:11px;display:flex}.preview-note>span{margin-top:6px}.site-footer{border-top:1px solid var(--line);color:#8591a3;justify-content:space-between;margin-top:28px;padding:27px 0;font-size:11px;display:flex}.spinning{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1000px){.content-grid{grid-template-columns:minmax(0,1fr) 270px;gap:20px}.current-phase{grid-template-columns:1fr 270px}.phase-row{gap:12px;padding:16px}}@media (max-width:760px){.site-header{gap:22px;padding:14px 20px}.site-header nav{display:none}.workspace{padding:26px 20px 0}.content-grid{grid-template-columns:1fr}.side-column{grid-row:1;grid-template-columns:1fr 1fr}.side-column .preview-note{display:none}.current-phase{grid-template-columns:1fr}.current-aside{border-top:1px solid #e4ecfa;border-left:0;padding:18px 24px}.current-aside>svg,.current-aside>p{display:none}.current-copy{padding:24px}h1{font-size:25px}}@media (max-width:480px){.brand{gap:8px;font-size:17px}.brand-secondary{font-size:14px}.brand-symbol{border-radius:8px;width:32px;height:32px}.site-header{gap:10px;padding:14px 16px}.environment-tag{padding:4px 7px;font-size:10px}.workspace{padding:24px 16px 0}.page-heading{flex-direction:column;align-items:flex-start;gap:16px}.current-copy h2{font-size:20px}.current-copy{padding:22px}.side-column{grid-template-columns:1fr}.side-column .info-panel:nth-child(2){display:none}.phase-row{flex-wrap:wrap;align-items:flex-start;gap:8px 10px}.phase-description{flex-basis:calc(100% - 44px)}.phase-result{flex-direction:row;align-items:center;gap:9px;margin-left:42px}.phase-number{margin-top:4px}.count-label{padding:3px 6px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;margin:1rem 0;display:grid}.metric-value{margin-top:.5rem;font-size:1.6rem;line-height:1.6;display:block}.panel .preserve-lines{overflow-wrap:anywhere}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
:root{--canvas:#f6f8fb;--surface:#fff;--surface-subtle:#f9fafb;--surface-hover:#f3f6fa;--border:#e5eaf0;--border-strong:#d4dce7;--text:#172033;--text-muted:#5d6678;--text-subtle:#667085;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-subtle:#eff6ff;--primary-border:#bfdbfe;--success:#15803d;--success-subtle:#f0fdf4;--warning:#934408;--warning-subtle:#fffbeb;--danger:#b42318;--danger-subtle:#fef3f2;--info:#0369a1;--info-subtle:#f0f9ff;--overlay:#17203352;--shadow:0 8px 32px #17203329;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px}.app-shell h1,.auth-page h1{letter-spacing:0;margin:0;font-size:24px;line-height:32px}.app-shell h2,.auth-page h2{font-size:18px;font-weight:600;line-height:26px}.app-shell{background:var(--canvas);grid-template-columns:240px minmax(0,1fr);min-height:100dvh;display:grid}.app-shell.collapsed{grid-template-columns:64px minmax(0,1fr)}.app-sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;height:100dvh;display:flex;position:sticky;top:0;overflow:auto}.app-brand{white-space:nowrap;align-items:center;gap:12px;min-height:72px;padding:16px;font-size:18px;font-weight:600;display:flex}.app-brand small{color:var(--text-muted);font-size:13px;font-weight:400;display:block}.app-brand .brand-symbol{border-radius:6px;width:32px;min-width:32px;height:32px}.collapse-toggle{align-self:flex-end;margin:4px 16px 12px}.app-sidebar nav{flex-direction:column;gap:4px;padding:0 8px;display:flex}.app-sidebar nav a{white-space:nowrap;border-radius:6px;align-items:center;gap:12px;min-height:44px;padding:10px 12px;display:flex}.app-sidebar nav a:hover{background:var(--surface-hover)}.sidebar-footer{color:var(--text-muted);align-items:center;gap:12px;margin-top:auto;padding:24px 20px;font-size:12px;display:flex}.collapsed .nav-label{display:none}.app-topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0 24px;display:flex}.preview-label{background:var(--warning-subtle);color:var(--warning);border-radius:4px;margin-left:8px;padding:2px 6px;font-size:11px}.user-menu,.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.user-menu{font-size:12px}.app-main{min-width:0;padding:24px}.breadcrumbs{color:var(--text-muted);gap:8px;margin-bottom:16px;font-size:12px;display:flex}.breadcrumbs a:hover{color:var(--primary)}.app-page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.app-page-header p{margin-top:4px}.btn,.icon-btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:36px;padding:7px 12px;font-weight:500;line-height:20px;display:inline-flex}.btn:hover,.icon-btn:hover{background:var(--surface-hover)}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--surface)}.btn-primary:hover{background:var(--primary-hover)}.btn-danger{background:var(--danger);color:var(--surface);border-color:var(--danger)}.btn-danger:hover{background:var(--danger);filter:brightness(.92)}.btn:disabled,.icon-btn:disabled{cursor:not-allowed;opacity:.55}.panel,.table-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px}.panel{margin-bottom:24px;padding:20px}.workspace-links{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.table-scroll{overflow:auto}.table-panel table{border-collapse:collapse;text-align:left;width:100%;min-width:680px}.table-panel th{background:var(--surface-subtle);color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600;position:sticky;top:0}.table-panel th,.table-panel td{border-bottom:1px solid var(--border);padding:12px 16px;line-height:20px}.table-panel td{min-height:44px;font-size:13px}.table-panel th button{color:inherit;font:inherit;background:0 0;border:0;padding:0}.table-panel td a,.entity-link{color:var(--primary);font-weight:500}.table-footer{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:12px;display:flex}.column-settings{text-align:right;border-bottom:1px solid var(--border);padding:8px 16px;font-size:12px}.column-settings summary{cursor:pointer}.column-settings label{align-items:center;gap:4px;margin:8px;display:inline-flex}.list-toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.list-toolbar .field:first-child{width:280px;max-width:100%}.field{flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.field small{color:var(--text-muted);font-size:12px;font-weight:400}.field .field-error{color:var(--danger)}input:not([type=checkbox]),select,textarea{border:1px solid var(--border-strong);width:100%;min-height:36px;color:var(--text);background:var(--surface);font:inherit;border-radius:6px;padding:7px 10px;font-weight:400}textarea{resize:vertical;min-height:80px}input[type=checkbox]{accent-color:var(--primary);width:16px;height:16px}.form-stack{flex-direction:column;gap:16px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding-top:16px;display:flex}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px}.error-state{background:var(--danger-subtle);color:var(--danger);border-radius:6px;align-items:center;gap:8px;padding:12px 16px;display:flex}.notice{background:var(--info-subtle);color:var(--info);border-radius:6px;padding:12px 16px}.sheet{color:var(--text);border:0;border-left:1px solid var(--border);width:520px;max-width:100vw;height:100dvh;max-height:100dvh;box-shadow:var(--shadow);background:var(--surface);margin:0 0 0 auto;padding:0}.sheet::backdrop{background:var(--overlay)}.sheet-heading{border-bottom:1px solid var(--border);background:var(--surface);z-index:1;justify-content:space-between;align-items:center;padding:16px 24px;display:flex;position:sticky;top:0}.sheet-body{padding:24px}.auth-page{background:var(--canvas);place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;width:420px;max-width:100%;padding:32px}.auth-panel .app-brand{padding:0 0 32px}.auth-panel .form-stack,.auth-panel .notice{margin-top:24px}.auth-footer{color:var(--primary);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:24px;font-size:12px;display:flex}.tabs{border-bottom:1px solid var(--border);gap:24px;margin-bottom:24px;display:flex;overflow:auto}.tabs button,.tabs a{white-space:nowrap;min-height:40px;color:var(--text-muted);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;padding:8px 0;display:inline-flex}.tabs [aria-selected=true],.tabs [aria-current=page]{color:var(--primary);border-color:var(--primary);font-weight:500}.checkbox-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.checkbox-grid label{overflow-wrap:anywhere;align-items:center;gap:8px;font-size:12px;display:flex}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.detail-grid dt{color:var(--text-muted);margin-bottom:4px;font-size:12px}.detail-grid dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-left:2px solid var(--border);margin-left:8px;padding:0 0 24px 24px}.timeline li:last-child{padding-bottom:0}.timeline small{color:var(--text-muted)}.action-list{margin:16px 0 0;padding:0;list-style:none}.action-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.detail-grid{margin-top:20px}.timeline{margin-top:24px}@media (max-width:1100px){.app-shell{grid-template-columns:64px minmax(0,1fr)}.app-sidebar .nav-label{display:none}.app-main{padding:20px}}@media (max-width:640px){.app-topbar{padding:0 12px}.app-topbar>span{display:none}.app-main{padding:16px 12px}.app-page-header{flex-direction:column;margin-bottom:16px}.app-page-header h1{font-size:21px}.form-grid,.detail-grid,.checkbox-grid{grid-template-columns:1fr}.user-menu span{text-overflow:ellipsis;white-space:nowrap;max-width:210px;overflow:hidden}.auth-panel{padding:24px}.app-sidebar nav a{padding:10px}.sheet-body{padding:20px}}.crm-summary{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:20px;padding:20px;display:flex}.crm-summary>div{gap:6px;display:grid}.crm-summary span,.crm-summary p{color:var(--text-muted);font-size:12px}.crm-summary strong{font-variant-numeric:tabular-nums;font-size:22px}.crm-board{gap:16px;max-width:100%;padding:4px 0 16px;display:flex;overflow:auto}.crm-column{background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;flex:0 0 240px;min-height:260px;padding:12px}.crm-column h2{margin:0 0 12px;font-size:14px}.crm-card{border:1px solid var(--border);background:var(--surface);overflow-wrap:anywhere;border-radius:6px;gap:8px;margin-bottom:12px;padding:14px;display:grid}.crm-card small,.crm-card span{color:var(--text-muted);font-size:12px}.crm-card:hover{border-color:var(--primary)}.crm-detail-grid{grid-template-columns:minmax(0,2fr) minmax(240px,1fr);align-items:start;gap:24px;display:grid}.detail-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:0;padding:24px}.detail-panel h2{margin:0 0 16px;font-size:16px}.detail-panel p{overflow-wrap:anywhere}.workspace-tabs{border-bottom:1px solid var(--border);gap:24px;margin-bottom:24px;display:flex;overflow:auto}.workspace-tabs button{font:inherit;white-space:nowrap;color:var(--text-muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:12px 0}.workspace-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}.gate-list{gap:14px;padding:0;list-style:none;display:grid}.preserve-lines{white-space:pre-wrap}.timeline-entry{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:16px 0}.timeline-entry small{color:var(--text-muted)}@media (max-width:1100px){.crm-detail-grid{grid-template-columns:1fr}}@media (max-width:640px){.detail-panel{padding:16px}.crm-summary{gap:16px;padding:16px}.workspace-tabs{gap:16px}}.est-form-page{max-width:980px}.est-layout{grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:20px;display:grid}.est-main{min-width:0}.est-summary{font-size:13px;position:sticky;top:16px}.est-summary dl{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:16px 0;display:grid}.est-summary dd{text-align:right;overflow-wrap:anywhere;font-weight:600}.est-summary dt{color:var(--text-muted)}.est-summary p{margin-top:12px}.est-summary details{margin-top:16px}.est-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;padding:12px 0;display:flex}.est-meta .field{min-width:200px}.est-history{margin:16px 0;padding:0;list-style:none}.est-history li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:14px 0}.est-notice{background:var(--success-subtle);color:var(--success);border-radius:6px;margin:12px 0 20px;padding:12px 16px}.preserve-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0 24px}.scope-name{align-items:flex-start;gap:8px;min-width:220px;display:flex}.scope-name strong{display:block}.scope-name p{white-space:pre-wrap;overflow-wrap:anywhere;max-width:360px}.scope-table td{vertical-align:top}.scope-table td:last-child{min-width:195px}.est-truncate{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:320px;margin-top:5px;display:-webkit-box;overflow:hidden}.scope-table .btn{white-space:nowrap}@media (max-width:1535px){.est-layout{grid-template-columns:minmax(0,1fr)}.est-summary{order:-1;margin-bottom:0;position:static}.est-summary dl{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto}}@media (max-width:640px){.est-summary dl{grid-template-columns:minmax(0,1fr) auto}.est-main>.panel{padding:12px}}.planning-form-grid,.health-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.health-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.health-grid h3{font-size:14px}.health-grid ul{padding-left:20px}.health-chip{border-radius:20px;padding:5px 12px;font-size:13px;font-weight:600}.health-chip.green{color:#14754b;background:#e9f9f1}.health-chip.yellow{color:#8b6500;background:#fff7df}.health-chip.red{color:#b42335;background:#fff0f1}.gantt-scroll{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.gantt-row{border-bottom:1px solid var(--border);grid-template-columns:220px minmax(0,1fr);min-height:70px;display:grid}.gantt-row>span{border-right:1px solid var(--border);overflow-wrap:anywhere;padding:12px}.gantt-row>span small{color:var(--text-muted);font-size:11px;display:block}.gantt-row>div{margin:12px 16px;position:relative}.gantt-axis{background:#f8fafc;min-height:48px}.gantt-axis>div small{white-space:nowrap;font-size:11px;position:absolute;top:5px}.gantt-current,.gantt-baseline{border-radius:4px;min-width:3px;display:block;position:absolute}.gantt-current{background:#356bf2;height:16px;top:20px}.gantt-current.blocked{background:#d34755}.gantt-baseline{background:#a4b0c2;height:5px;top:9px}@media (max-width:900px){.health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.planning-form-grid,.health-grid{grid-template-columns:1fr}.gantt-row{grid-template-columns:180px minmax(0,1fr)}}.work-board{grid-template-columns:repeat(7,minmax(240px,1fr));gap:16px;padding-bottom:20px;display:grid;overflow-x:auto}.work-column{background:var(--color-slate-50,#f8fafc);border:1px solid var(--color-slate-200,#e2e8f0);border-radius:12px;min-height:240px;padding:12px}.work-column h2{margin-bottom:16px;font-size:14px}.work-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:12px;padding:12px}.work-card small{color:#64748b}.work-card p{margin:8px 0;font-size:12px}.work-title{text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;width:100%;padding:8px 0;font-weight:600;display:block}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.finance-metrics{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1rem 0;display:grid}.finance-metrics>div{border:1px solid var(--border,#dce3ec);border-radius:12px;flex-direction:column;gap:.5rem;min-width:0;padding:1rem;display:flex}.finance-metrics strong{overflow-wrap:anywhere;font-size:1.25rem}.finance-metrics span{color:var(--muted,#56647a);font-size:.88rem}.support-inbox{grid-template-columns:minmax(190px,.8fr) minmax(300px,1.7fr) minmax(240px,1fr);align-items:start;gap:16px;display:grid}.support-inbox>.panel{min-width:0;padding:16px}.support-conversation{border-bottom:1px solid var(--border);color:inherit;overflow-wrap:anywhere;flex-direction:column;gap:6px;padding:12px;text-decoration:none;display:flex}.support-conversation.selected{background:#eef2ff;border-radius:10px}.support-thread{max-height:620px;padding:6px;overflow:auto}.support-message{overflow-wrap:anywhere;background:#f1f5f9;border-radius:12px;margin:12px 0;padding:12px}.support-message p{white-space:pre-wrap}.support-message.outbound{background:#eef2ff;margin-left:20px}.support-private{border-radius:10px;padding:12px;background:#fff7db!important;border:1px solid #e7c677!important}.support-message small{color:#475569}.support-context .btn{width:100%;margin-top:12px}.support-context p,.support-context small{overflow-wrap:anywhere}.support-context select{max-width:100%}.support-inbox h2{font-size:1rem}.support-conversations{max-height:850px;overflow:auto}@media (max-width:1250px){.support-inbox{grid-template-columns:220px minmax(0,1fr)}.support-context{grid-column:1/-1}}@media (max-width:760px){.support-inbox{flex-direction:column;display:flex}.support-inbox>.panel{width:100%}.support-conversations{max-height:250px}.support-message.outbound{margin-left:8px}.support-thread{max-height:none}}.portal-shell{max-width:1200px;margin:0 auto;padding:24px}.portal-header{border-bottom:1px solid #d9e1e8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;padding-bottom:18px;display:flex}.portal-header .app-brand{color:#133747;align-items:center;gap:12px;padding:0;display:flex}.portal-shell main>.field{max-width:520px}.portal-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px;display:grid}.portal-project-card{color:inherit;text-decoration:none;display:block}.portal-project-card:hover{border-color:#047857}.portal-tabs{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.portal-text{white-space:pre-wrap;overflow-wrap:anywhere}.portal-permissions{grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:12px;display:grid}.portal-permissions>div{border:1px solid #d9e1e8;border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.portal-shell summary{cursor:pointer;overflow-wrap:anywhere;line-height:1.8}.portal-shell .panel{overflow-wrap:anywhere;min-width:0}@media (max-width:600px){.portal-shell{padding:14px}.portal-header{align-items:flex-start}.portal-header .app-brand{font-size:17px}.portal-tabs .btn{padding:8px 10px;font-size:13px}.portal-shell .page-header{display:block}.portal-shell h1{font-size:23px}}:root{--viz-good:#0ca30c;--viz-warning:#fab219;--viz-critical:#d03b3b;--viz-neutral:#c3cad5;--viz-track:#edf1f7;--viz-series-1:#2563eb;--viz-grid:#e5eaf0;--viz-axis:#667085}.status-badge{gap:4px}.status-badge svg{flex-shrink:0}.link-button{color:var(--primary);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:500}.link-button:hover{text-decoration:underline}.table-panel th.num,.table-panel td.num{text-align:right;font-variant-numeric:tabular-nums}.table-panel.compact table{min-width:0}.table-panel.compact th,.table-panel.compact td{padding:10px 12px}.table-footer .toolbar{flex-wrap:nowrap}.column-settings{text-align:left;border:0;padding:0;position:relative}.column-settings summary{cursor:pointer;list-style:none}.column-settings summary::-webkit-details-marker{display:none}.column-settings .column-menu{z-index:5;background:var(--surface);border:1px solid var(--border);min-width:200px;box-shadow:var(--shadow);border-radius:8px;gap:2px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 6px);right:0}.column-settings .column-menu label{white-space:nowrap;color:var(--text);border-radius:4px;margin:0;padding:6px 8px;display:flex}.column-settings .column-menu label:hover{background:var(--surface-hover)}.entity-name{flex-direction:column;min-width:0;display:flex}.entity-name a{color:var(--primary);overflow-wrap:anywhere;font-weight:500}.entity-name small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:30ch;font-size:12px;line-height:18px;overflow:hidden}.meter{background:var(--viz-track);border-radius:4px;width:100%;min-width:64px;height:8px;display:block;position:relative;overflow:hidden}.meter-fill{background:var(--viz-series-1);border-radius:0 4px 4px 0;height:100%;display:block}.meter.tone-success .meter-fill{background:var(--viz-good)}.meter.tone-warning .meter-fill{background:var(--viz-warning)}.meter.tone-danger .meter-fill{background:var(--viz-critical)}.meter.tone-neutral .meter-fill{background:var(--viz-neutral)}.meter-cell{grid-template-columns:minmax(64px,1fr) auto;align-items:center;gap:10px;min-width:180px;display:grid}.meter-cell>span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px;display:grid}.panel .kpi-grid{margin-bottom:16px}.kpi-tile{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;min-width:0;padding:16px;display:flex}.kpi-label{color:var(--text-muted);font-size:12px;font-weight:500;line-height:18px}.kpi-value{overflow-wrap:anywhere;font-size:24px;font-weight:600;line-height:32px}.kpi-context{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;line-height:18px;display:flex}.kpi-action{margin-top:auto;padding-top:8px;font-size:12px}.kpi-tile.tone-danger .kpi-value{color:var(--danger)}.kpi-tile.tone-success .kpi-value{color:var(--success)}.summary-strip{grid-template-columns:repeat(var(--items,4),minmax(0,1fr));background:var(--surface);border:1px solid var(--border);border-radius:8px;margin:0 0 24px;display:grid;overflow:hidden}.summary-strip>div{min-width:0;box-shadow:1px 0 0 var(--border), 0 1px 0 var(--border);padding:12px 16px}.summary-strip dt,.description-list dt{color:var(--text-muted);font-size:12px;line-height:18px}.summary-strip dd{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 0;font-weight:600;display:flex}.description-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px 24px;margin:0;display:grid}.description-list dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:2px 0 0}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:16px;display:flex}.section-header h2{margin:0}.section-header p{color:var(--text-muted);font-size:12px}.section-header .field{flex-direction:row;align-items:center;gap:8px;font-size:12px}.section-header .field select{width:auto;min-width:160px}.data-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0 0 16px;font-size:12px;display:flex}.data-meta details{flex-basis:100%}.data-meta summary{cursor:pointer;color:var(--primary);align-items:center;gap:4px;display:inline-flex}.data-meta details p{max-width:90ch;margin-top:6px}.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:20px;padding:12px 16px;display:flex}.filter-bar>.field{flex:140px;min-width:0}.filter-bar .field{gap:4px;font-size:12px}.filter-bar .field small{font-size:11px;line-height:16px}.filter-actions{flex-wrap:wrap;align-items:center;gap:8px;padding-top:22px;display:flex}.filter-bar .error-state{flex-basis:100%}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);align-items:start;gap:24px;margin-bottom:24px;display:grid}.dashboard-grid>.panel{min-width:0;margin-bottom:0}.panel>.table-panel{margin-top:0}@media (max-width:1100px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}}.health-bar{gap:2px;height:12px;margin:4px 0 16px;display:flex}.health-bar>span{background:var(--viz-neutral);min-width:4px;height:100%;display:block}.health-bar>span:first-child{border-radius:4px 0 0 4px}.health-bar>span:last-child{border-radius:0 4px 4px 0}.health-bar>span:only-child{border-radius:4px}.health-bar .good{background:var(--viz-good)}.health-bar .warning{background:var(--viz-warning)}.health-bar .critical{background:var(--viz-critical)}.health-legend{margin:0 0 16px;padding:0;list-style:none}.health-legend li{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 0;display:flex}.health-legend li:last-child{border-bottom:0}.health-legend strong{font-variant-numeric:tabular-nums;margin-left:auto}.watch-list{margin:0;padding:0;list-style:none}.watch-list li{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.panel-footer-link{color:var(--primary);align-items:center;gap:4px;margin-top:12px;font-size:13px;font-weight:500;display:inline-flex}.reason-list{color:var(--text-muted);margin:0;padding-left:18px;font-size:12px;line-height:18px}.reason-list li+li{margin-top:2px}.type-label{white-space:nowrap;color:var(--text-muted);align-items:center;gap:6px;display:inline-flex}.chart-block{min-width:0;margin:4px 0 16px}.chart-block h3{margin-bottom:4px;font-size:14px;line-height:22px}.chart-tooltip{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:6px;padding:8px 10px;font-size:12px}.chart-tooltip strong{font-size:14px;display:block}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group-title{color:var(--text-subtle);white-space:nowrap;padding:6px 12px 2px;font-size:11px;font-weight:600;line-height:16px}.app-sidebar nav a{min-height:40px;padding:8px 12px}.sidebar-footer{flex-direction:column;align-items:flex-start;gap:6px;padding:16px 20px}.sidebar-footer a{color:var(--text-muted);align-items:center;gap:8px;display:inline-flex}.sidebar-footer a:hover{color:var(--primary)}.collapsed .nav-group-title{display:none}.collapsed .nav-group+.nav-group{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}@media (max-width:1100px){.nav-group-title{display:none}.nav-group+.nav-group{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}}@media (max-width:640px){.filter-bar>.field{flex-basis:100%}.filter-actions{padding-top:0}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi-tile{padding:12px}.kpi-value{font-size:18px;line-height:26px}.section-header .field{flex-direction:column;align-items:stretch}}.bar-list{min-width:0;margin:0 0 16px}.bar-list figcaption{flex-direction:column;margin-bottom:8px;display:flex}.bar-list figcaption strong{font-size:14px;line-height:22px}.bar-list figcaption span{color:var(--text-muted);font-size:12px}.bar-list ul{margin:0;padding:0;list-style:none}.bar-list li{grid-template-columns:minmax(120px,220px) minmax(0,1fr) auto;align-items:center;gap:12px;padding:5px 0;display:grid}.bar-label{color:var(--text-muted);overflow-wrap:anywhere;font-size:13px}.bar-track{border-left:1px solid var(--border-strong);height:20px;display:block}.bar-fill{background:var(--viz-series-1);border-radius:0 4px 4px 0;min-width:0;height:100%;display:block}.bar-fill.tone-muted{background:var(--viz-neutral)}.bar-fill.tone-danger{background:var(--viz-critical)}.bar-fill.tone-success{background:var(--viz-good)}.bar-list li:hover .bar-fill{filter:brightness(1.1)}.bar-value{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:96px;font-weight:600}.chart-row{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:16px 32px;display:grid}@media (max-width:640px){.bar-list li{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.bar-track{grid-area:2/1/auto/-1}.bar-value{min-width:0}}.app-main.project-mode{padding:0}.project-frame{grid-template-columns:236px minmax(0,1fr);min-height:calc(100dvh - 56px);display:grid}.project-content{min-width:0;padding:24px}.project-nav{background:var(--surface);border-right:1px solid var(--border);min-width:0}.project-nav-inner{flex-direction:column;gap:16px;max-height:100dvh;padding:16px 12px 24px;display:flex;position:sticky;top:0;overflow-y:auto}.project-card{border-bottom:1px solid var(--border);grid-template-columns:36px minmax(0,1fr);align-items:center;gap:0 10px;padding:0 4px 16px;display:grid}.project-mark{background:var(--text);width:36px;height:36px;color:var(--surface);border-radius:8px;place-items:center;font-size:16px;font-weight:600;display:grid}.project-card-title{flex-direction:column;min-width:0;display:flex}.project-card-name{color:var(--text);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:20px;display:-webkit-box;overflow:hidden}.project-card-name:hover{color:var(--primary)}.project-card-code{color:var(--text-muted);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.project-card-state{flex-wrap:wrap;grid-column:1/-1;gap:6px;margin-top:12px;display:flex}.project-nav nav{flex-direction:column;gap:14px;display:flex}.pnav-group{flex-direction:column;gap:2px;display:flex}.pnav-group-title{letter-spacing:.04em;color:var(--text-subtle);padding:0 10px 4px;font-size:11px;font-weight:600;line-height:16px}.pnav-link{min-height:36px;color:var(--text);border-radius:6px;align-items:center;gap:10px;padding:6px 10px;display:flex;position:relative}.pnav-link svg{color:var(--text-muted);flex:none}.pnav-link:hover{background:var(--surface-hover)}.pnav-link[aria-current=page] svg{color:var(--primary)}.pnav-link[aria-current=page]:before{content:"";background:var(--primary);border-radius:0 3px 3px 0;width:3px;position:absolute;top:6px;bottom:6px;left:-12px}.pnav-label{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.pnav-count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:400;line-height:18px}.pnav-count.alert{background:var(--danger-subtle);color:var(--danger);border-radius:999px;padding:0 7px;font-weight:600}.pnav-link .pnav-external{color:var(--text-subtle)}@media (max-width:1100px){.project-frame{grid-template-columns:216px minmax(0,1fr)}.project-content{padding:20px}}@media (max-width:900px){.project-frame{grid-template-columns:minmax(0,1fr);min-height:0}.project-nav{border-right:0;border-bottom:1px solid var(--border)}.project-nav-inner{gap:8px;max-height:none;padding:12px 16px 0;position:static}.project-card{border-bottom:0;grid-template-columns:28px minmax(0,1fr) auto;padding:0}.project-mark{border-radius:6px;width:28px;height:28px;font-size:14px}.project-card-code{display:none}.project-card-name{-webkit-line-clamp:1}.project-card-state{flex-wrap:nowrap;grid-column:auto;margin-top:0}.project-card-state .status-badge:first-child{display:none}.project-nav nav{scrollbar-width:none;flex-direction:row;gap:4px;overflow-x:auto}.pnav-group{flex-direction:row;flex:none;gap:4px}.pnav-group-title{display:none}.pnav-link{border-bottom:2px solid #0000;border-radius:0;flex:none;min-height:44px;padding:8px 10px}.pnav-link:hover{background:0 0}.pnav-link[aria-current=page]{border-bottom-color:var(--primary);background:0 0}.pnav-link[aria-current=page]:before{display:none}}@media (max-width:640px){.project-content{padding:16px 12px}.project-nav-inner{padding:12px 12px 0}}.cell-stack{flex-direction:column;gap:2px;min-width:14ch;max-width:52ch;display:flex}.cell-title{overflow-wrap:anywhere;font-weight:500}.cell-note{color:var(--text-muted);white-space:pre-line;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:12px;line-height:18px;display:-webkit-box;overflow:hidden}.cell-inline{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.row-actions{flex-wrap:nowrap;justify-content:flex-end;gap:6px;display:flex}.row-actions .btn,.nowrap{white-space:nowrap}.sheet-section{border-top:1px solid var(--border);align-items:center;gap:8px;margin:28px 0 12px;padding-top:20px;font-size:15px;display:flex}.panel>.bar-list{margin:0 0 16px}:root{--canvas:#f3f5f8;--surface:#fff;--surface-subtle:#fafbfc;--surface-hover:#f7f9fc;--border:#e4e8ee;--border-soft:#eef1f5;--border-strong:#d5dbe3;--text:#0f1b2d;--text-2:#3a4658;--text-muted:#687384;--text-subtle:#687384;--text-faint:#9aa4b2;--primary:#2563eb;--primary-hover:#1e4fc0;--primary-700:#1e4fc0;--primary-subtle:#eef4ff;--primary-border:#a9c6fa;--success:#0e7a3e;--success-subtle:#e6f5ec;--warning:#955800;--warning-subtle:#fff3d9;--danger:#b42318;--danger-subtle:#fdecea;--info:#1e4fc0;--info-subtle:#eef4ff;--navy:#0d2342;--on-navy-2:#a9b9d0;--overlay:#0f1b2d52;--shadow:0 12px 40px #0f1b2d29;--viz-good:#16a34a;--viz-warning:#f2a20c;--viz-critical:#dc3b34;--viz-neutral:#a3adba;--viz-track:#eef1f5;--viz-series-1:#2563eb;--viz-series-1-light:#a9c6fa;--viz-grid:#eef1f5;--viz-axis:#687384;--font-sans:"IBM Plex Sans Thai","Noto Sans Thai",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace}body,.app-shell,.auth-page,.portal-shell,.sheet{font-family:var(--font-sans)}.app-shell,.auth-page{color:var(--text);font-size:14px;line-height:1.55}.mono{font-family:var(--font-mono);letter-spacing:-.01em;font-size:12px}.app-shell h1{letter-spacing:-.01em;font-size:26px;font-weight:600;line-height:1.3}.app-shell h2{font-size:16px;font-weight:600;line-height:1.45}.app-shell h3{font-size:14px;font-weight:600;line-height:1.45}.text-muted{color:var(--text-muted)}.btn,.icon-btn{border:1px solid var(--border);background:var(--surface);min-height:34px;color:var(--text-2);border-radius:8px;gap:6px;padding:0 12px;font-size:13px;font-weight:500;line-height:1.4}.icon-btn{width:34px;min-width:34px;padding:0}.btn:hover,.icon-btn:hover{background:var(--surface-hover);color:var(--text)}.btn-primary,.btn-primary:hover{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn.btn-compact{min-height:28px;padding:0 10px;font-size:12.5px}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid var(--border-strong);min-height:34px;color:var(--text);border-radius:8px;padding:6px 10px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle);outline:0}.field{color:var(--text-2);font-size:13px;font-weight:500}.app-shell :focus-visible,.auth-page :focus-visible,.sheet :focus-visible{outline:3px solid var(--primary-border);outline-offset:2px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:0;margin-bottom:20px;padding:18px 20px}.panel>h2:first-child{margin-bottom:12px}.notice{background:var(--info-subtle);color:var(--primary-700);border-radius:8px;padding:10px 14px;font-size:13px}.error-state{border-radius:8px}.empty-state{color:var(--text-muted);padding:28px 12px;font-size:13px}.app-page-header{align-items:flex-start;gap:20px;margin-bottom:20px}.app-page-header>div:first-child>p{margin-top:4px;font-size:13px}.section-header{margin-bottom:12px}.section-header h2{font-size:15px}.section-header p{margin-top:2px;font-size:12.5px}.sheet{border-left-color:var(--border)}.sheet-heading{padding:14px 24px}.sheet-heading h2{font-size:17px;font-weight:600}.status-badge{border-radius:999px;gap:5px;padding:2px 9px;font-size:12px;font-weight:500;line-height:18px}.status-badge svg{width:13px;height:13px}.status-badge.success{background:var(--success-subtle);color:var(--success)}.status-badge.warning{background:var(--warning-subtle);color:var(--warning)}.status-badge.danger{background:var(--danger-subtle);color:var(--danger)}.status-badge.info{background:var(--primary-subtle);color:var(--primary-700)}.status-badge.neutral{background:var(--canvas);color:var(--text-2)}.table-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:6px 20px 0}.panel .table-panel,.dashboard-grid .table-panel,.sheet .table-panel{background:0 0;border:0;border-radius:0;padding:0}.table-panel .table-scroll{margin:0 -20px;padding:0 20px}.table-panel th{color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;background:0 0;padding:8px 16px 9px 0;font-size:12px;font-weight:500;position:static}.table-panel td{border-bottom:1px solid var(--border-soft);vertical-align:middle;padding:11px 16px 11px 0;font-size:13.5px;line-height:1.5}.table-panel th:last-child,.table-panel td:last-child{padding-right:0}.table-panel tbody tr:last-child td{border-bottom:0}.table-panel tbody tr:hover{background:0 0}.table-panel.compact th,.table-panel.compact td{padding-left:0;padding-right:12px}.table-panel.compact th:last-child,.table-panel.compact td:last-child{padding-right:0}.table-footer{border-top:1px solid var(--border-soft);color:var(--text-muted);padding:10px 0 12px;font-size:12.5px}.table-footer .icon-btn{width:28px;min-width:28px;min-height:28px}.table-panel td a,.entity-link,.entity-name a{color:var(--text);font-weight:600}.table-panel td a:hover,.entity-name a:hover{color:var(--primary)}.cell-title{color:var(--text);font-weight:600}.cell-note{color:var(--text-muted);font-size:12.5px}.workspace-tabs,.tabs{border-bottom:1px solid var(--border);gap:22px;margin-bottom:20px}.workspace-tabs button,.tabs button,.tabs a{color:var(--text-muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 0 10px;font-size:13.5px}.workspace-tabs button:hover,.tabs button:hover{color:var(--text)}.workspace-tabs button.active,.tabs [aria-selected=true],.tabs [aria-current=page]{color:var(--text);border-bottom-color:var(--primary);font-weight:600}.meter{background:var(--viz-track);border-radius:3px;height:6px}.meter-fill{border-radius:0 3px 3px 0}.app-sidebar{padding-bottom:8px}.app-brand{gap:10px;min-height:64px;padding:16px 18px 8px;font-size:15px;font-weight:700}.app-brand .brand-symbol{border-radius:8px;width:30px;min-width:30px;height:30px;font-size:14px}.app-brand small{font-size:11px;line-height:1.1}.app-sidebar nav{gap:0;padding:0 12px}.nav-group{gap:1px}.nav-group+.nav-group{margin-top:14px}.nav-group-title{color:var(--text-faint);letter-spacing:.02em;padding:0 10px 3px;font-size:11px;font-weight:600}.app-sidebar nav a{min-height:34px;color:var(--text-2);border-radius:7px;gap:10px;padding:6px 10px;font-size:13.5px}.app-sidebar nav a svg{color:var(--text-faint)}.app-sidebar nav a:hover{background:var(--surface-hover);color:var(--text)}.app-sidebar nav a[aria-current=page]{background:var(--primary-subtle);color:var(--primary);font-weight:600}.app-sidebar nav a[aria-current=page] svg{color:var(--primary)}.collapsed .app-sidebar nav{padding:0 8px}.collapsed .app-sidebar nav a{justify-content:center;min-height:40px;padding:0}.app-topbar{padding:0 28px}.user-menu{color:var(--text-2);gap:10px;font-size:13px}.avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:13px;font-weight:600;line-height:1;display:inline-grid}.who{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.breadcrumbs{color:var(--text-muted);align-items:center;gap:6px;font-size:13px}.breadcrumbs svg{color:var(--text-faint)}@media (max-width:1100px){.app-sidebar nav a{justify-content:center;min-height:40px;padding:0}}.project-nav{background:var(--surface-subtle)}.project-card{grid-template-columns:36px minmax(0,1fr);gap:0 10px;padding:4px 6px 14px}.project-mark{background:var(--navy);color:#fff;letter-spacing:.02em;border-radius:9px;width:36px;height:36px;font-size:12px;font-weight:700}.project-card-name{font-size:13.5px;font-weight:600;line-height:1.3}.project-card-line{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;margin-top:2px;font-size:12px;display:flex;overflow:hidden}.health-dot{background:var(--viz-neutral);border-radius:50%;flex-shrink:0;width:7px;height:7px}.health-dot.success{background:var(--viz-good)}.health-dot.warning{background:var(--viz-warning)}.health-dot.danger{background:var(--viz-critical)}.project-nav nav{gap:14px}.pnav-group-title{color:var(--text-faint);letter-spacing:.03em;padding:0 10px 3px;font-size:11px}.pnav-link{min-height:34px;color:var(--text-2);border-radius:7px;padding:6px 10px;font-size:13.5px}.pnav-link svg{color:var(--text-faint)}.pnav-link:hover{background:var(--surface-hover);color:var(--text)}.pnav-link[aria-current=page]{background:var(--primary-subtle);color:var(--primary-700);font-weight:600}.pnav-count.alert{background:var(--viz-critical);color:#fff}.project-content{padding:20px 28px 48px}.project-content>.breadcrumbs{margin-bottom:10px}.project-content .app-page-header h1{font-size:22px}.page-meta{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:6px;font-size:13px;display:flex}.page-meta .mono{color:var(--text-muted)}@media (max-width:1100px){.project-content{padding:20px}}@media (max-width:900px){.project-card{grid-template-columns:28px minmax(0,1fr)}.project-card-line{display:none}.pnav-link[aria-current=page]{background:0 0}}@media (max-width:640px){.project-content{padding:16px 12px 40px}.app-shell h1,.project-content .app-page-header h1{font-size:21px}.app-topbar{padding:0 12px}}.grid-21,.grid-11{gap:20px;margin-bottom:20px;display:grid}.grid-21{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr)}.grid-11{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-21>.panel,.grid-11>.panel{margin-bottom:0}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel-head h2{align-items:center;gap:8px;margin:0;font-size:15px;font-weight:600;display:flex}.count-badge{background:var(--canvas);color:var(--text-2);border-radius:999px;padding:0 8px;font-size:12px;font-weight:600;line-height:20px}.panel-sub{color:var(--text-muted);font-size:12.5px}.more-link{color:var(--primary);white-space:nowrap;align-items:center;gap:4px;font-size:13px;font-weight:500;display:inline-flex}.more-link:hover{color:var(--primary-700)}.ink-danger{color:var(--danger)}.ink-warning{color:var(--warning)}.ink-success{color:var(--success)}.bar{background:var(--viz-track);border-radius:3px;height:6px;display:block;overflow:hidden}.bar i{background:var(--viz-series-1);border-radius:0 3px 3px 0;height:100%;display:block}.bar.tone-success i{background:var(--viz-good)}.bar.tone-warning i{background:var(--viz-warning)}.bar.tone-danger i{background:var(--viz-critical)}.bar.tone-neutral i{background:var(--viz-neutral)}.countdown{justify-items:end;gap:8px;display:grid}.countdown-text{color:var(--text-muted);text-align:right;white-space:nowrap;font-size:13px}.countdown-text b{color:var(--text);margin-left:6px;font-size:22px;font-weight:600}.progress-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.progress-top .big{letter-spacing:-.02em;font-size:32px;font-weight:600;line-height:1}.progress-top .big small{color:var(--text-muted);letter-spacing:0;margin-left:8px;font-size:14px;font-weight:500}.steps-scroll{overflow-x:auto}.steps{grid-template-columns:repeat(var(--steps,5),minmax(140px,1fr));margin:0;padding:0 0 2px;list-style:none;display:grid}.step{min-width:0;padding:32px 12px 0 0;position:relative}.step:before{content:"";background:linear-gradient(to right, var(--primary) 0 var(--fill,0%), var(--border) var(--fill,0%) 100%);height:3px;position:absolute;top:10px;left:0;right:0}.step .dot{background:var(--surface);border:2px solid var(--border);color:#fff;border-radius:50%;place-items:center;width:23px;height:23px;display:grid;position:absolute;top:0;left:0}.step.done .dot{background:var(--primary);border-color:var(--primary)}.step.now .dot{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-subtle)}.step.now:not(.blocked) .dot:after{content:"";background:var(--primary);border-radius:50%;width:7px;height:7px}.step.blocked .dot{background:var(--viz-critical);border-color:var(--viz-critical);box-shadow:0 0 0 4px var(--danger-subtle)}.step b{overflow-wrap:anywhere;font-size:13.5px;font-weight:600;display:block}.step small{color:var(--text-muted);font-size:12px;display:block}.step small.late{color:var(--warning);font-weight:500}.factor-list,.team-list,.attention-list{margin:0;padding:0;list-style:none}.factor-list li{border-top:1px solid var(--border-soft);grid-template-columns:minmax(0,1fr) 96px 30px;align-items:center;gap:14px;padding:9px 0;display:grid}.factor-list li:first-child,.team-list li:first-child,.attention-list li:first-child{border-top:0;padding-top:0}.factor-list b{font-weight:500}.factor-list small{color:var(--text-muted);font-size:12px;display:block}.score{text-align:right;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.money-list{margin:0;display:grid}.money-list>div{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;display:flex}.money-list>div:first-child{border-top:0;padding-top:0}.money-list dt{color:var(--text-muted);font-size:13px}.money-list dd{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:600}.money-list .hl dd{font-size:20px}.team-list li{border-top:1px solid var(--border-soft);grid-template-columns:auto minmax(0,1fr) 90px 44px;align-items:center;gap:10px;padding:8px 0;display:grid}.team-name{flex-direction:column;min-width:0;display:flex}.team-name small{color:var(--text-muted);font-size:12px}.attention-list li{border-top:1px solid var(--border-soft);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 0;display:grid}.attention-icon{border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.attention-icon.tone-danger{background:var(--danger-subtle);color:var(--danger)}.attention-icon.tone-warning{background:var(--warning-subtle);color:var(--warning)}.attention-icon.tone-info{background:var(--primary-subtle);color:var(--primary-700)}.attention-body{flex-direction:column;min-width:0;display:flex}.attention-title{color:var(--text);overflow-wrap:anywhere;font-weight:500}.attention-title:hover{color:var(--primary)}.attention-meta{color:var(--text-muted);flex-wrap:wrap;gap:0 10px;font-size:12.5px;display:flex}.attention-side{justify-content:flex-end;align-items:center;gap:10px;display:flex}@media (max-width:1180px){.grid-21{grid-template-columns:minmax(0,1fr)}}@media (max-width:900px){.grid-11{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.countdown{justify-items:start}.countdown-text{text-align:left}.attention-list li{grid-template-columns:34px minmax(0,1fr)}.attention-side{grid-column:2;justify-content:flex-start}.progress-top .big{font-size:26px}.factor-list li{grid-template-columns:minmax(0,1fr) 56px 30px;gap:10px}.team-list li{grid-template-columns:auto minmax(0,1fr) 56px 40px}.panel-head{flex-wrap:wrap}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.figures{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.figure{border-left:1px solid var(--border);align-content:start;gap:2px;min-width:0;padding:2px 20px;display:grid}.figure:first-child{border-left:0;padding-left:0}.figure-label{color:var(--text-muted);font-size:12.5px}.figure b{letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:24px;font-weight:600;line-height:1.35}.figure small{color:var(--text-muted);font-size:12px}.collection{border-top:1px solid var(--border-soft);margin-top:18px;padding-top:16px}.collection .panel-head{margin-bottom:8px}.collection h3{align-items:baseline;gap:8px;font-size:14px;font-weight:600;display:flex}.stack-bar{background:var(--viz-track);border-radius:4px;gap:2px;height:12px;margin:0 0 8px;display:flex;overflow:hidden}.stack-bar span{height:100%;display:block}.seg-received{background:var(--viz-series-1)}.seg-invoiced{background:var(--viz-series-1-light)}.seg-overdue{background:var(--viz-critical)}.seg-rest{background:var(--viz-track)}.chart-legend{color:var(--text-2);flex-wrap:wrap;gap:4px 16px;font-size:12.5px;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.chart-legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.chart-legend i.seg-rest{box-shadow:inset 0 0 0 1px var(--border)}.chart-legend i.key-plan{background:var(--viz-neutral)}.chart-legend i.key-actual{background:var(--viz-series-1)}.grid-12{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:20px;margin-bottom:20px;display:grid}.grid-12>.panel{margin-bottom:0}.payment-list{margin:0;padding:0;list-style:none}.payment-list li{border-top:1px solid var(--border-soft);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;display:grid}.payment-list li:first-child{border-top:0;padding-top:0}.payment-state{border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.payment-state.tone-success{background:var(--success-subtle);color:var(--success)}.payment-state.tone-danger{background:var(--danger-subtle);color:var(--danger)}.payment-state.tone-warning{background:var(--warning-subtle);color:var(--warning)}.payment-state.tone-info{background:var(--primary-subtle);color:var(--primary-700)}.payment-state.tone-neutral{background:var(--canvas);color:var(--text-faint)}.payment-body{flex-direction:column;min-width:0;display:flex}.payment-name{overflow-wrap:anywhere;font-weight:500}.payment-body small{color:var(--text-muted);font-size:12.5px}.payment-amount{justify-items:end;gap:2px;display:grid}.payment-amount b{font-variant-numeric:tabular-nums;font-weight:600}.line-chart{margin:0}.line-chart figcaption{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.line-chart figcaption strong{font-size:15px;font-weight:600}.line-chart svg{width:100%;height:auto;display:block;overflow:visible}.line-chart .axis{fill:var(--viz-axis);font-size:11px}.line-chart .grid-line{stroke:var(--viz-grid);stroke-width:1px}.line-chart .base-line,.line-chart .today-line{stroke:var(--border);stroke-width:1px}.line-chart .line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.line-chart .series-plan .line{stroke:var(--viz-neutral)}.line-chart .series-actual .line{stroke:var(--viz-series-1)}.line-chart .area{fill:var(--viz-series-1);fill-opacity:.08}.line-chart .hit{fill:#0000}.line-chart .end{stroke:var(--surface);stroke-width:2px}.line-chart .series-plan .end{fill:var(--viz-neutral)}.line-chart .series-actual .end{fill:var(--viz-series-1)}.line-chart .end-label{fill:var(--text);font-size:12px;font-weight:600}.explain{color:var(--text-2);background:var(--canvas);border-radius:8px;gap:8px;margin-top:12px;padding:9px 12px;font-size:12.5px;display:flex}.explain svg{color:var(--text-muted);flex-shrink:0;margin-top:3px}.subsection-title{border-top:1px solid var(--border-soft);margin:20px 0 4px;padding-top:16px;font-size:14px;font-weight:600}.panel .figures+.subsection-title{margin-top:18px}@media (max-width:1180px){.grid-12{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.figures{grid-template-columns:minmax(0,1fr)}.figure{border-left:0;border-top:1px solid var(--border-soft);padding:10px 0 0}.figure:first-child{border-top:0;padding-top:0}.figure b{font-size:21px}.payment-list li{grid-template-columns:28px minmax(0,1fr)}.payment-amount{grid-column:2;justify-items:start}}.hero-head,.hero-body{background:var(--navy);color:#fff}.hero-head{border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;padding:22px 26px;display:flex}.hero-head:has(+.hero-body){border-radius:16px 16px 0 0;margin-bottom:0;padding-bottom:6px}.hero-body{border-radius:0 0 16px 16px;margin-bottom:20px;padding:0 26px 22px}.app-shell .hero-eyebrow{color:var(--on-navy-2);letter-spacing:.04em;margin:0 0 2px;font-size:12px;font-weight:600;line-height:1.4}.hero-title{letter-spacing:-.01em;font-size:24px;font-weight:600;line-height:1.35}.hero-date,.hero-range{color:var(--on-navy-2);margin-top:2px;font-size:13px}.hero-range{flex-wrap:wrap;align-items:center;gap:4px 14px;margin:0 0 18px;display:flex}.hero-link{color:#fff;align-items:center;gap:4px;font-weight:500;display:inline-flex}.hero-actions{flex-wrap:wrap;gap:8px;display:flex}.hero-head .btn{color:#fff;background:#ffffff14;border-color:#ffffff2e}.hero-head .btn:hover{color:#fff;background:#ffffff29}.hero-kpis{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.hero-kpi{border-left:1px solid #ffffff1f;align-content:start;gap:2px;min-width:0;padding:0 22px;display:grid}.hero-kpi:first-child{border-left:0;padding-left:0}.hero-label{color:var(--on-navy-2);font-size:12.5px}.hero-value{letter-spacing:-.015em;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:30px;font-weight:600;line-height:1.25}.hero-value.negative{color:#ff9c94}.hero-source{color:#93c5fd;background:0 0;border:0;justify-self:start;align-items:center;gap:4px;padding:0;font-size:12.5px;display:inline-flex}.hero-source:hover{color:#fff}.hero-more{border-top:1px solid #ffffff1f;flex-wrap:wrap;gap:8px 28px;margin-top:18px;padding-top:14px;font-size:13px;display:flex}.hero-more>div{color:var(--on-navy-2);align-items:baseline;gap:8px;display:flex}.hero-more b{color:#fff;font-variant-numeric:tabular-nums;font-weight:600}.hero-head :focus-visible,.hero-body :focus-visible{outline-color:#93c5fd}.panel-foot{color:var(--text-muted);border-top:1px solid var(--border-soft);margin-top:10px;padding-top:10px;font-size:12.5px}.health-wrap{align-items:center;gap:22px;display:flex}.donut{flex-shrink:0}.donut .donut-total{fill:var(--text);font-size:26px;font-weight:600}.donut .donut-caption{fill:var(--text-muted);font-size:12px}.legend-rows{flex:1;margin:0;padding:0;list-style:none;display:grid}.legend-rows li{border-top:1px solid var(--border-soft);align-items:center;gap:8px;padding:7px 0;font-size:13.5px;display:flex}.legend-rows li:first-child{border-top:0}.legend-rows i{border-radius:3px;width:10px;height:10px}.legend-rows b{font-variant-numeric:tabular-nums;margin-left:auto}.legend-rows .pct{text-align:right;width:38px;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12.5px}.mini-list{border-top:1px solid var(--border);gap:6px;margin-top:14px;padding-top:12px;display:grid}.mini-list p{color:var(--text-muted);font-size:12px;font-weight:600}.mini-list a{color:var(--text);justify-content:space-between;align-items:center;gap:8px;padding:3px 0;display:flex}.mini-list a:hover{color:var(--primary)}.phase-cell{gap:5px;min-width:150px;display:grid}.phase-top{justify-content:space-between;gap:8px;font-size:12.5px;display:flex}.dot-label{white-space:nowrap;align-items:center;gap:7px;font-weight:500;display:inline-flex}.dot-label:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.dot-label.success{color:var(--success)}.dot-label.warning{color:var(--warning)}.dot-label.danger{color:var(--danger)}.dot-label.neutral{color:var(--text-muted)}.dot-label b{color:var(--text);font-weight:600}.budget-cell{font-variant-numeric:tabular-nums;grid-template-columns:70px auto;align-items:center;gap:8px;font-size:12.5px;display:inline-grid}.column-chart{margin:0}.column-chart svg{width:100%;height:auto;display:block}.column-chart .axis{fill:var(--viz-axis);font-size:11px}.column-chart .grid-line{stroke:var(--viz-grid)}.column-chart .base-line{stroke:var(--border)}.column-chart .col-invoiced{fill:var(--viz-series-1-light)}.column-chart .col-received{fill:var(--viz-series-1)}.heat-scroll{overflow-x:auto}.heatmap{border-collapse:separate;border-spacing:3px;width:100%}.heatmap th{color:var(--text-muted);text-align:left;white-space:nowrap;padding:0 8px 4px 0;font-size:12px;font-weight:500}.heatmap th.w{text-align:center;padding:0 0 4px}.heatmap tbody th{color:var(--text);font-size:13px;font-weight:400}.heatmap tbody th small{color:var(--text-muted);font-size:12px;display:block}.heatmap td{text-align:center;font-variant-numeric:tabular-nums;border-radius:6px;min-width:58px;height:36px;font-size:12.5px;font-weight:600}.heat-key{margin-top:10px}.heat-key i{box-shadow:inset 0 0 0 1px #0f1b2d0f}@media (max-width:1180px){.hero-kpis{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:18px}.hero-kpi:nth-child(3){border-left:0;padding-left:0}}@media (max-width:640px){.hero-head{padding:18px}.hero-body{padding:0 18px 18px}.hero-title{font-size:20px}.hero-kpis{grid-template-columns:minmax(0,1fr)}.hero-kpi{border-top:1px solid #ffffff1f;border-left:0;padding:12px 0 0}.hero-kpi:first-child{border-top:0;padding-top:0}.hero-value{font-size:26px}.health-wrap{flex-direction:column;align-items:stretch}.donut{align-self:center}}.list-bar{flex-wrap:wrap;align-items:flex-end;gap:10px 12px;margin-bottom:16px;display:flex}.search-box{background:var(--surface);border:1px solid var(--border);min-height:36px;color:var(--text-faint);border-radius:8px;flex:0 300px;align-items:center;gap:8px;padding:0 10px;display:flex}.search-box input{min-height:34px;box-shadow:none;background:0 0;border:0;padding:0}.search-box input:focus{box-shadow:none}.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.segmented{background:var(--surface);border:1px solid var(--border);border-radius:9px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented button{min-height:28px;color:var(--text-2);background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;display:inline-flex}.segmented button b{color:var(--text-muted);font-size:12px;font-weight:600}.segmented button[aria-pressed=true]{background:var(--canvas);color:var(--text);font-weight:600}.segmented button[aria-pressed=true] b{color:var(--text)}.segmented .dot-label{gap:0}.list-bar .field{color:var(--text-muted);flex-direction:row;align-items:center;gap:8px;font-size:12.5px;font-weight:500}.list-bar .field select{width:auto;min-width:150px}@media (max-width:640px){.search-box,.list-bar .field{flex-basis:100%}.list-bar .field select{flex:1}}.search-box input:not([type=checkbox]):not([type=radio]){min-height:34px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.panel:has(>.figures){container-type:inline-size}.panel>.figures{grid-template-columns:repeat(5,minmax(0,1fr))}.panel>.figures:has(>.figure:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}@container (max-width:940px){.panel>.figures{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:14px}.panel>.figures:has(>.figure:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}:is(.panel>.figures:not(:has(>.figure:nth-child(4):last-child))>.figure:nth-child(3n+1),.panel>.figures:has(>.figure:nth-child(4):last-child)>.figure:nth-child(odd)){border-left:0;padding-left:0}}@container (max-width:600px){:is(.panel>.figures,.panel>.figures:has(>.figure:nth-child(4):last-child)){grid-template-columns:minmax(0,1fr);row-gap:0}.panel>.figures>.figure{border-left:0;border-top:1px solid var(--border-soft);padding:10px 0 0}.panel>.figures>.figure:first-child{border-top:0;padding-top:0}}.table-panel.is-busy tbody{opacity:.55;transition:opacity .15s}.form-more{border-top:1px solid var(--border);padding-top:12px}.form-more>summary{cursor:pointer;color:var(--text-muted,#475569);margin-bottom:12px;font-size:14px}.form-more[open]>summary{margin-bottom:16px}.form-more>*+*{margin-top:14px}.drawer-actions{flex-wrap:wrap;gap:8px;margin:4px 0 16px;display:flex}.drawer-actions .row-actions{flex-wrap:wrap;justify-content:flex-start}:root{--canvas:#f3f5f8;--surface:#fff;--surface-subtle:#fafbfc;--surface-hover:#f7f9fc;--border:#e0e3eb;--border-soft:#eaedf3;--border-strong:#c8cdda;--text:#181c20;--text-2:#414754;--text-muted:#5b6270;--text-subtle:#5b6270;--text-faint:#8b93a3;--primary:#005bbf;--primary-hover:#004a9e;--primary-700:#004a9e;--primary-subtle:#e8f0fe;--primary-border:#a9c6fa;--success:#0d652d;--success-subtle:#ceead6;--warning:#9e4d00;--warning-subtle:#ffe0b2;--danger:#ba1a1a;--danger-subtle:#ffdad6;--info:#005bbf;--info-subtle:#e8f0fe;--navy:#0d2342;--on-navy-2:#a9b9d0;--overlay:#0f1b2d52;--shadow:0 12px 40px #0f1b2d29;--shadow-card:0 1px 3px #0f1b2d14, 0 1px 2px #0f1b2d0a;--viz-good:#0d652d;--viz-warning:#9e4d00;--viz-critical:#ba1a1a;--viz-neutral:#a3adba;--viz-track:#eef1f5;--viz-series-1:#005bbf;--viz-series-1-light:#a9c6fa;--viz-grid:#eef1f5;--viz-axis:#5b6270;--font-sans:"Roboto Flex","Sarabun",system-ui,sans-serif}.panel,.table-panel{box-shadow:var(--shadow-card);border-radius:16px}.panel .table-panel,.dashboard-grid .table-panel,.sheet .table-panel{box-shadow:none}.kpi-tile,.summary-strip{border-radius:12px}
