@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,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:Plus Jakarta Sans Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_646807{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_646807{--font-jakarta:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/f196b1e65fee88ed-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/61a7a85bb72f3355-s.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:Noto Sans Thai;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/cc95fdb254242a42-s.woff2) format("woff2");unicode-range:u+00??,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:Noto Sans Thai Fallback;src:local("Arial");ascent-override:99.79%;descent-override:42.32%;line-gap-override:0.00%;size-adjust:106.33%}.__className_ad08aa{font-family:Noto Sans Thai,Noto Sans Thai Fallback;font-style:normal}.__variable_ad08aa{--font-noto-thai:"Noto Sans Thai","Noto Sans Thai Fallback"}

/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--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{:host,:root{--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-blue-50:oklch(97% .014 254.604);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-widest:.1em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--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);--color-border:var(--border)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:after,:before{border-color:var(--color-border)}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start-2{inset-inline-start:calc(var(--spacing) * 2)}.end-2{inset-inline-end:calc(var(--spacing) * 2)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-7{top:calc(var(--spacing) * 7)}.top-\[5px\]{top:5px}.top-\[6px\]{top:6px}.top-\[calc\(100\%\+4px\)\]{top:calc(100% + 4px)}.-right-1{right:calc(var(--spacing) * -1)}.right-0{right:calc(var(--spacing) * 0)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.bottom-0{bottom:calc(var(--spacing) * 0)}.-left-1{left:calc(var(--spacing) * -1)}.left-0{left:calc(var(--spacing) * 0)}.left-1{left:calc(var(--spacing) * 1)}.left-2{left:calc(var(--spacing) * 2)}.left-\[3px\]{left:3px}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[2\]{z-index:2}.z-\[3\]{z-index:3}.z-\[19\]{z-index:19}.col-span-2{grid-column:span 2/span 2}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-1\.5{margin-inline:calc(var(--spacing) * -1.5)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.-me-0\.5{margin-inline-end:calc(var(--spacing) * -.5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-\[1\.5px\]{margin-top:1.5px}.mt-auto{margin-top:auto}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-8\.5{height:calc(var(--spacing) * 8.5)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-32{height:calc(var(--spacing) * 32)}.h-\[1px\]{height:1px}.h-\[12px\]{height:12px}.h-\[13px\]{height:13px}.h-\[26px\]{height:26px}.h-\[46px\]{height:46px}.h-\[54px\]{height:54px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-96{max-height:calc(var(--spacing) * 96)}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-20{width:calc(var(--spacing) * 20)}.w-28{width:calc(var(--spacing) * 28)}.w-40{width:calc(var(--spacing) * 40)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-\[1px\]{width:1px}.w-\[9px\]{width:9px}.w-\[14px\]{width:14px}.w-\[170px\]{width:170px}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-52{min-width:calc(var(--spacing) * 52)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.grid-cols-\[28px_minmax\(140px\,1fr\)\]{grid-template-columns:28px minmax(140px,1fr)}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\(--brand-primary\){border-color:var(--brand-primary)}.border-\(--glass-border\){border-color:var(--glass-border)}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\(--brand-bg-mist\){background-color:var(--brand-bg-mist)}.bg-\(--brand-primary\){background-color:var(--brand-primary)}.bg-\(--card\){background-color:var(--card)}.bg-\(--danger\)\/10{background-color:var(--danger)}@supports (color:color-mix(in lab,red,red)){.bg-\(--danger\)\/10{background-color:color-mix(in oklab,var(--danger) 10%,transparent)}}.bg-\(--glass-bg\){background-color:var(--glass-bg)}.bg-\(--glass-border\){background-color:var(--glass-border)}.bg-background{background-color:var(--background)}.bg-black\/\[0\.03\]{background-color:#00000008}@supports (color:color-mix(in lab,red,red)){.bg-black\/\[0\.03\]{background-color:color-mix(in oklab,var(--color-black) 3%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-border{background-color:var(--border)}.bg-destructive{background-color:var(--destructive)}.bg-muted{background-color:var(--muted)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-skeleton{background-color:#a5b8f5}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.fill-current{fill:currentColor}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-\[1px\]{padding:1px}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-\[5px\]{padding-inline:5px}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.ps-2{padding-inline-start:calc(var(--spacing) * 2)}.ps-8{padding-inline-start:calc(var(--spacing) * 8)}.pe-2{padding-inline-end:calc(var(--spacing) * 2)}.pe-8{padding-inline-end:calc(var(--spacing) * 8)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.62rem\]{font-size:.62rem}.text-\[0\.68rem\]{font-size:.68rem}.text-\[0\.72rem\]{font-size:.72rem}.text-\[0\.82rem\]{font-size:.82rem}.text-\[0\.8125rem\]{font-size:.8125rem}.leading-\(--text-sm--line-height\){--tw-leading:var(--text-sm--line-height);line-height:var(--text-sm--line-height)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-\(--brand-ink\){color:var(--brand-ink)}.text-\(--brand-muted\){color:var(--brand-muted)}.text-\(--brand-primary\){color:var(--brand-primary)}.text-blue-600{color:var(--color-blue-600)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground{color:var(--foreground)}.text-muted-foreground,.text-muted-foreground\/50{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,var(--muted-foreground) 50%,transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-85{opacity:.85}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-lg,.shadow-md{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow-sm,.shadow-xs{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d)}.shadow-black\/5{--tw-shadow-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.shadow-black\/5{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black) 5%,transparent) var(--tw-shadow-alpha),transparent)}}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.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))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:bg-\(--brand-primary\)\/40:hover{background-color:var(--brand-primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\(--brand-primary\)\/40:hover{background-color:color-mix(in oklab,var(--brand-primary) 40%,transparent)}}.hover\:bg-\(--row-hover\):hover{background-color:var(--row-hover)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/80:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab,var(--destructive) 80%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--primary) 80%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:text-\(--brand-primary\):hover{color:var(--brand-primary)}.hover\:text-\(--danger\):hover{color:var(--danger)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-primary:hover{color:var(--primary)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:bg-\(--row-hover\):focus{background-color:var(--row-hover)}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring) 30%,transparent)}}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.aria-invalid\:border-destructive\/60[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:border-destructive\/60[aria-invalid=true]{border-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}.aria-invalid\:ring-destructive\/10[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/10[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive) 10%,transparent)}}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-placeholder\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[side\=bottom\]\:translate-y-1\.5[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1\.5[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1\.5[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1\.5[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}@media (prefers-color-scheme:dark){.dark\:bg-black{background-color:var(--color-black)}.dark\:bg-blue-700{background-color:var(--color-blue-700)}.dark\:text-blue-300{color:var(--color-blue-300)}.dark\:aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.dark\:aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}}.\[\&\:\:-webkit-scrollbar\]\:h-2::-webkit-scrollbar{height:calc(var(--spacing) * 2)}.\[\&\:\:-webkit-scrollbar-thumb\]\:rounded-full::-webkit-scrollbar-thumb{border-radius:3.40282e+38px}.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-\(--brand-border\)::-webkit-scrollbar-thumb{background-color:var(--brand-border)}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}[data-invalid=true] .\[\[data-invalid\=true\]_\&\]\:border-destructive\/60{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){[data-invalid=true] .\[\[data-invalid\=true\]_\&\]\:border-destructive\/60{border-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}[data-invalid=true] .\[\[data-invalid\=true\]_\&\]\:ring-destructive\/10{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){[data-invalid=true] .\[\[data-invalid\=true\]_\&\]\:ring-destructive\/10{--tw-ring-color:color-mix(in oklab,var(--destructive) 10%,transparent)}}@media (prefers-color-scheme:dark){[data-invalid=true] .dark\:\[\[data-invalid\=true\]_\&\]\:border-destructive{border-color:var(--destructive)}[data-invalid=true] .dark\:\[\[data-invalid\=true\]_\&\]\:ring-destructive\/20{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){[data-invalid=true] .dark\:\[\[data-invalid\=true\]_\&\]\:ring-destructive\/20{--tw-ring-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}}}:root{--background:#fff;--foreground:#2d2640;--card:#fff;--card-foreground:#2d2640;--popover:#fff;--popover-foreground:#2d2640;--primary:#7b5ce6;--primary-foreground:#fff;--secondary:#eef3ff;--secondary-foreground:#2d2640;--muted:#eef3ff;--muted-foreground:#7b7490;--accent:#eef3ff;--accent-foreground:#2d2640;--destructive:#dc2626;--destructive-foreground:#fff;--border:#e2deff;--input:#e2deff;--ring:#7b5ce6;--radius:.5rem;--brand-primary:#7b5ce6;--brand-primary-dark:#534ab7;--brand-primary-light:#c4aef5;--brand-bg:#f8f7ff;--brand-bg-mist:#eef3ff;--brand-ink:#2d2640;--brand-muted:#7b7490;--brand-border:#e2deff;--ok:#16a34a;--warn:#d97706;--danger:#dc2626;--info:#2563eb;--glass-bg:#ffffff8c;--glass-bg-strong:#ffffffb8;--glass-border:#ffffffa6;--glass-shadow:0 10px 34px -12px #534ab752;--glass-blur:saturate(160%) blur(14px);--scrim-blur:saturate(120%) blur(7px);--input-bg:#fff9;--row-hover:#7b5ce60f;--sidebar-bg:#ffffffd1;--sidebar-blur:saturate(180%) blur(28px);--paper-line:#2d264029;--receipt-edge:conic-gradient(from 135deg at top,#0000,#000 1deg 90deg,#0000 91deg) 0 0 /13px 51% repeat-x,conic-gradient(from -45deg at bottom,#0000,#000 1deg 90deg,#0000 91deg) 0 100% /13px 51% repeat-x;--receipt-shadow:drop-shadow(0 8px 16px #534ab747)}.dark{--brand-primary:#a78bfa;--brand-primary-dark:#c4b5fd;--brand-primary-light:#7c6bb0;--brand-bg:#15131d;--brand-bg-mist:#221d31;--brand-ink:#ece9f5;--brand-muted:#9b93ad;--brand-border:#332c46;--background:#1b1827;--foreground:#ece9f5;--card:#221d31;--card-foreground:#ece9f5;--popover:#221d31;--popover-foreground:#ece9f5;--primary:#a78bfa;--primary-foreground:#1b1827;--secondary:#2a2440;--secondary-foreground:#ece9f5;--muted:#2a2440;--muted-foreground:#9b93ad;--accent:#2a2440;--accent-foreground:#ece9f5;--border:#332c46;--input:#332c46;--ring:#a78bfa;--glass-bg:#221d318c;--glass-bg-strong:#221d31b8;--glass-border:#ffffff14;--glass-shadow:0 12px 34px -12px #0009;--input-bg:#ffffff0f;--row-hover:#a78bfa1a;--sidebar-bg:#1c1829d9;--paper-line:#ffffff2e;--receipt-shadow:drop-shadow(0 10px 18px #00000080);font-family:var(--font-jakarta),"Noto Sans Thai",system-ui,-apple-system,sans-serif;color:var(--brand-ink);background:var(--brand-bg);line-height:1.55}*{box-sizing:border-box}body{background-image:radial-gradient(900px 620px at 10% 6%,#ffe7d199,#0000 60%),radial-gradient(820px 600px at 90% 18%,#c4aef580,#0000 55%),radial-gradient(900px 720px at 72% 105%,#a5b8f573,#0000 55%),linear-gradient(135deg,#f4f1fb,#eef3ff 50%,#f7eefc);min-height:100vh;margin:0}.dark body,body{background-color:#0000;background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box}.dark body{background-image:radial-gradient(900px 620px at 10% 6%,#5a376459,#0000 60%),radial-gradient(820px 600px at 90% 18%,#463c8266,#0000 55%),radial-gradient(900px 720px at 72% 105%,#28326e52,#0000 55%),linear-gradient(135deg,#131120,#16141f 50%,#1b1426)}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0 0 .5rem}.app-main{min-height:100vh;margin-left:3.05rem}.app-topbar{z-index:30;justify-content:space-between;align-items:center;height:52px;padding:0 1.5rem;display:flex;position:sticky;top:0}.app-sidebar{background:var(--sidebar-bg);-webkit-backdrop-filter:var(--sidebar-blur);backdrop-filter:var(--sidebar-blur);border-right:1px solid var(--glass-border)}.sidebar-scrim{z-index:35;pointer-events:none;-webkit-backdrop-filter:var(--scrim-blur);backdrop-filter:var(--scrim-blur);background:#786e960f;animation:scrimIn .2s ease-out;position:fixed;inset:0}.dark .sidebar-scrim{background:#0000002e}@keyframes scrimIn{0%{opacity:0}to{opacity:1}}.app-topbar .crumb{align-items:center;gap:.5rem;font-size:.92rem;font-weight:500;display:flex}.app-topbar .crumb .sep{color:var(--brand-muted)}.app-topbar .who{align-items:center;gap:.75rem;font-size:.9rem;display:flex}.shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--brand-border);background:#fff;height:100vh;padding:1.1rem .9rem;position:sticky;top:0;overflow-y:auto}.sidebar .brand{align-items:center;gap:.5rem;padding:0 .4rem 1rem;display:flex}.sidebar .brand img{height:30px}.nav-group{letter-spacing:.04em;text-transform:uppercase;color:var(--brand-muted);margin:.9rem 0 .3rem;padding:0 .6rem;font-size:.7rem}.nav-link{color:var(--brand-ink);border-radius:9px;align-items:center;gap:.55rem;padding:.5rem .65rem;font-size:.92rem;font-weight:500;display:flex}.nav-link:hover{background:var(--brand-bg-mist)}.nav-link.active{background:var(--brand-primary);color:#fff}.nav-link .ic{text-align:center;width:18px}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--brand-border);background:#fff;justify-content:space-between;padding:.8rem 1.5rem}.topbar,.topbar .who{align-items:center;display:flex}.topbar .who{color:var(--brand-muted);gap:.75rem;font-size:.9rem}.content{width:100%;max-width:none;min-height:calc(100vh - 52px);padding:1.5rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.1rem;display:flex}.page-head h1,.page-title{font-size:1.45rem}.page-title{align-items:center;gap:.55rem;margin:0;display:flex}.page-title-icon{width:1.4rem;height:1.4rem;color:var(--brand-primary);flex-shrink:0}.muted{color:var(--brand-muted)}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.card{background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;padding:1.1rem 1.2rem}.cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.9rem;display:grid}.stat .n{color:var(--brand-primary-dark);font-size:1.8rem;font-weight:700}.stat .l{color:var(--brand-muted);font-size:.85rem}.btn{border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:var(--brand-ink);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--brand-primary-light)}.btn.primary{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.btn.primary:hover{background:var(--brand-primary-dark)}.btn.danger{color:var(--danger);border-color:#f3c2c2}.btn.sm{padding:.32rem .6rem;font-size:.82rem}.btn:disabled{opacity:.55;cursor:not-allowed}.table-wrap{background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;overflow:hidden}table.data{border-collapse:collapse;width:100%;font-size:.9rem}table.data td,table.data th{text-align:left;border-bottom:1px solid var(--brand-border);padding:.65rem .85rem}table.data th{background:var(--brand-bg-mist);color:var(--brand-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:600}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr:hover{background:var(--row-hover)}table.data td:first-child a{color:var(--brand-primary);font-weight:600}table.data td:first-child a:hover{text-decoration:underline}.num{text-align:right;font-variant-numeric:tabular-nums}.field{flex-direction:column;gap:.3rem;margin-bottom:.85rem;display:flex}.field label{color:var(--brand-muted);font-size:.82rem;font-weight:600}.field input,.field select,.field textarea{font:inherit;border:1px solid var(--glass-border);background:var(--input-bg);color:var(--brand-ink);border-radius:10px;padding:.5rem .65rem}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--brand-primary-light);border-color:var(--brand-primary)}.grid2{grid-template-columns:1fr 1fr;gap:0 1rem;display:grid}.badge{background:var(--brand-bg-mist);color:var(--brand-primary-dark);border-radius:999px;padding:.15rem .55rem;font-size:.76rem;font-weight:600;display:inline-block}.badge.gray{color:#555;background:#eee}.badge.green{color:#166534;background:#dcfce7}.badge.amber{color:#92400e;background:#fef3c7}.badge.blue{color:#1e40af;background:#dbeafe}.badge.red{color:#991b1b;background:#fee2e2}.login-wrap{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{background:var(--glass-bg-strong);width:100%;max-width:380px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:20px;padding:2rem 1.8rem;box-shadow:0 24px 60px -24px #534ab780}.login-card .brand{justify-content:center;margin-bottom:1.2rem;display:flex}.login-card .brand img{height:38px}.error{color:var(--danger)}.error,.success{font-size:.88rem}.success{color:var(--brand-primary)}.empty{text-align:center;color:var(--brand-muted);padding:2rem}.shop-customer{border-top:1px solid var(--brand-border);margin-top:1rem;padding-top:.9rem}.info-grid{margin:.6rem 0 0}.info-row{border-bottom:1px solid var(--brand-border);grid-template-columns:130px 1fr;gap:.5rem;padding:.45rem 0;display:grid}.info-row:last-child{border-bottom:none}.info-row dt{color:var(--brand-muted);font-size:.85rem}.info-row dd{color:var(--brand-ink);margin:0}.items-table input{width:100%;font:inherit;background:0 0;border:1px solid #0000;border-radius:7px;padding:.35rem .4rem}.items-table input:focus{border-color:var(--brand-primary);background:var(--input-bg);outline:none}.doc-form{flex-direction:column;gap:1.3rem;display:flex}.section-title{color:var(--brand-ink);margin:0 0 .65rem;font-size:1rem;font-weight:700}.date-range{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.date-range span{font-size:.85rem}.date-range input{font:inherit;border:1px solid var(--glass-border);background:var(--input-bg);color:var(--brand-ink);border-radius:9px;padding:.4rem .55rem}.report-cats{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:start;gap:1rem;display:grid}.report-links{flex-direction:column;gap:.4rem;margin-top:.4rem;display:flex}.report-link{background:var(--input-bg);border:1px solid var(--glass-border);color:var(--brand-ink);border-radius:10px;justify-content:space-between;align-items:center;padding:.6rem .85rem;font-weight:500;transition:border-color .15s,color .15s;display:flex}.report-link:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.page-head-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.report-actions{align-items:center;gap:.5rem;display:flex}.report-actions .report-period{font-size:.85rem}.print-only{display:none}.report-period-print{color:var(--brand-muted);font-size:.9rem}.doc-tabs{margin-top:1.3rem;padding:0;overflow:hidden}.tab-bar{border-bottom:1px solid var(--glass-border);flex-wrap:wrap;gap:.2rem;padding:.5rem .6rem 0;display:flex}.tab{appearance:none;font:inherit;color:var(--brand-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:9px 9px 0 0;margin-bottom:-1px;padding:.6rem .9rem;font-size:.9rem;font-weight:600}.tab:hover{color:var(--brand-ink)}.tab.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.doc-tabs .panel-body{padding:1.1rem 1.2rem 1.2rem}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-bottom:1px dotted var(--glass-border);gap:.7rem;padding:.55rem 0;display:flex}.timeline li:last-child{border-bottom:none}.timeline .dot{background:var(--brand-primary);border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-top:.4rem}.ev-action{color:var(--brand-ink);font-weight:600}.timeline .meta{font-size:.8rem}.doc-foot{flex-wrap:wrap;align-items:stretch;gap:1.4rem;display:flex}.doc-foot .note-field{flex-direction:column;flex:280px;gap:.45rem;min-width:240px;display:flex}.doc-foot .note-field>label{color:var(--brand-muted);font-size:.82rem;font-weight:600}.doc-foot .note-field textarea{resize:vertical;min-height:9.5rem;color:var(--brand-ink);font:inherit;background:0 0;border:none;flex:1;padding:0}.doc-foot .note-field textarea:focus{outline:none}.totals{width:312px;max-width:100%;margin-left:auto}.totals.receipt{box-shadow:none;filter:var(--receipt-shadow);border:none;border-radius:0}.receipt-paper{background-color:var(--glass-bg-strong);color:var(--brand-ink);-webkit-mask:var(--receipt-edge);mask:var(--receipt-edge);padding:1.5rem 1.35rem 1.6rem}.receipt-head{text-align:center;letter-spacing:.2em;text-transform:uppercase;color:var(--brand-ink);border-bottom:2px dashed var(--paper-line);margin-bottom:.3rem;padding-bottom:.7rem;font-size:.95rem;font-weight:800}.totals .line{border-bottom:1px dotted var(--paper-line);justify-content:space-between;align-items:center;gap:.6rem;padding:.45rem 0;font-size:.9rem;display:flex}.totals .line>span:first-child{color:var(--brand-muted)}.totals .line>span:last-child{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-weight:700}.totals .line input.num{text-align:right;font-variant-numeric:tabular-nums;border:1px dashed var(--paper-line);width:116px;color:var(--brand-ink);font:inherit;background:0 0;border-radius:6px;padding:.26rem .5rem}.totals .line input.num:focus{border-style:solid;border-color:var(--brand-primary);outline:none}.totals .line.total{border-top:3px double var(--brand-ink);border-bottom:3px double var(--brand-ink);margin-top:.6rem;padding:.6rem 0;font-size:1.2rem;font-weight:800}.totals .line.total>span:first-child,.totals .line.total>span:last-child{color:var(--brand-ink)}.panel{margin-top:1.2rem}.comment{border-bottom:1px solid var(--brand-border);padding:.6rem 0}.comment .meta{color:var(--brand-muted);font-size:.78rem}.attach{border-bottom:1px solid var(--brand-border);justify-content:space-between;align-items:center;padding:.45rem 0;font-size:.9rem;display:flex}.modal-overlay{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14121e59;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.modal-card{background:var(--glass-bg-strong);width:100%;max-width:540px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:18px;padding:1.3rem 1.4rem;box-shadow:0 24px 70px -24px #00000080}.modal-head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-head h3{margin:0;font-size:1.1rem}.pager{justify-content:flex-end;align-items:center;gap:.75rem;padding:.7rem .2rem;font-size:.9rem;display:flex}.seg{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:12px;gap:.25rem;padding:.25rem;display:inline-flex}.seg-btn{color:var(--brand-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:9px;padding:.4rem .85rem;font-size:.88rem;font-weight:600}.seg-btn.active{background:var(--brand-primary);color:#fff}.page-head input,.seg-btn:hover:not(.active){color:var(--brand-ink)}.page-head input{font:inherit;border:1px solid var(--glass-border);background:var(--input-bg);border-radius:10px;padding:.45rem .6rem}.report-grid{flex-direction:column;gap:1rem;display:flex}.totals-line{border-bottom:1px solid var(--brand-border);justify-content:space-between;padding:.3rem 0;display:flex}.totals-line:last-child{border-bottom:none}.totals-line.total-row{border-top:2px solid var(--brand-ink);border-bottom:none;margin-top:.4rem;padding-top:.5rem;font-weight:700}.print-doc{background:#fff;max-width:800px;margin:0 auto;padding:2.2rem}.print-doc.invoice-doc{--brand-ink:#2d2640;--brand-muted:#6b6480;--brand-border:#d9d6e8;min-height:100vh;color:var(--brand-ink);background:#fff;flex-direction:column;padding:0;font-size:.9rem;line-height:1.5;display:flex;overflow:hidden}.invoice-doc .inv-footer{margin-top:auto}@page invoice-page{size:A4;margin:0}.print-doc.invoice-doc{page:invoice-page}.inv-header{justify-content:space-between;align-items:flex-start;padding:2.6rem 2.4rem 1.4rem;display:flex}.inv-title{letter-spacing:.02em;color:var(--brand-ink);margin:0;font-size:2.4rem;font-weight:800}.inv-brand{text-align:right}.inv-brand img{height:40px}.inv-brand-name{margin-top:.3rem;font-size:1.05rem;font-weight:800}.inv-parties{justify-content:space-between;gap:2rem;padding:0 2.4rem 1.6rem;display:flex}.inv-parties>div{max-width:48%}.inv-label{margin-bottom:.25rem;font-weight:700}.inv-parties strong{font-size:1.05rem;display:block}.inv-strong-line{margin-top:.3rem;font-weight:700}.inv-band{background:var(--brand-ink);color:#fff;grid-template-columns:repeat(3,1fr);display:grid}.inv-band>div{border-left:1px solid #ffffff2e;padding:.85rem 1.4rem}.inv-band>div:first-child{border-left:none}.inv-band span{letter-spacing:.04em;text-transform:uppercase;opacity:.7;font-size:.66rem;display:block}.inv-band strong{font-size:1rem}table.inv-items{border-collapse:collapse;width:100%;margin-top:.4rem}table.inv-items th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-muted);border-bottom:1px solid var(--brand-border);padding:1rem .6rem .6rem;font-size:.7rem}table.inv-items td{vertical-align:top;padding:.85rem .6rem}table.inv-items .num{text-align:left}table.inv-items td:first-child,table.inv-items th:first-child{padding-left:2.4rem}table.inv-items td:last-child,table.inv-items th:last-child{padding-right:2.4rem}table.inv-items tbody tr:nth-child(2n){background:#ececf1}.inv-item-sub{color:var(--brand-muted);margin-top:.15rem;font-size:.78rem;font-weight:400}.inv-bottom{grid-template-columns:1.2fr 1fr;gap:2rem;padding:1.8rem 2.4rem 1.6rem;display:grid}.inv-pay strong,.inv-terms strong{margin-bottom:.3rem;display:block}.inv-terms{margin-top:1.1rem}.inv-terms div{max-width:24rem;color:var(--brand-muted);font-size:.82rem}.inv-sum-line{justify-content:space-between;gap:2rem;padding:.4rem 0;display:flex}.inv-sum-line span:first-child{font-weight:700}.inv-sum-total{border-top:2px solid var(--brand-ink);justify-content:space-between;gap:2rem;margin-top:.3rem;padding:.6rem 0;font-size:1.05rem;font-weight:800;display:flex}.inv-footer{background:var(--brand-ink);color:#fff;flex-wrap:wrap;justify-content:center;gap:2.5rem;padding:.9rem 2.4rem;font-size:.8rem;display:flex}@media print{.no-print{display:none!important}.shell{display:block}.app-sidebar,.sidebar,.topbar{display:none!important}.app-main{margin-left:0!important}.content{max-width:none;padding:0}.print-only{display:inline-block!important}.card.stat,table.data tbody tr:nth-child(2n),table.data thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact}.cards{break-inside:avoid}.print-doc{max-width:none;padding:0}.print-doc.invoice-doc{padding:0}.inv-band,.inv-footer,table.inv-items tbody tr:nth-child(2n){-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{margin:1.4cm}}.plan-title-input{color:var(--brand-ink);background:0 0;border:1px solid #0000;border-radius:8px;min-width:14rem;max-width:30rem;padding:.15rem .45rem;font-size:1.35rem;font-weight:700}.plan-title-input:hover{border-color:var(--glass-border)}.plan-title-input:focus{border-color:var(--brand-primary);background:var(--input-bg);outline:none}.gantt{--bar-plan:var(--brand-primary);--bar-actual:#cdf22b;--bar-actual-fill:#cdf22b;border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:12px;width:100%;font-size:.82rem;overflow:hidden}.gantt-row{border-bottom:1px solid var(--glass-border);align-items:stretch;min-height:46px;display:flex}.gantt-row:hover:not(.gantt-head){background:var(--row-hover)}.gantt-head{background:var(--brand-bg-mist);min-height:30px}.gantt-label{width:200px;color:var(--brand-ink);border-right:1px solid var(--glass-border);font:inherit;text-align:left;background:0 0;flex:0 0 200px;align-items:center;gap:.35rem;padding:.3rem .7rem;display:flex;overflow:hidden}.gantt-label-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gantt-label-edit{opacity:0;color:var(--brand-muted);flex-shrink:0}.gantt-row:hover .gantt-label-edit{opacity:1}.gantt-head .gantt-label{border-right:none}.gantt-tick.month span{white-space:nowrap;transform:translate(-50%)}.gantt-tick.day span{opacity:.85;transform:translate(-50%)}.gantt-tick.weekend span{color:#aaa}.gantt-grid.weekend{background:repeating-linear-gradient(#0000000a,#0000000a 4px,#0000 4px 8px)}.gantt-head-month{z-index:20;top:0}.gantt-head-day,.gantt-head-month{background:var(--glass-bg);position:sticky}.gantt-head-day{z-index:19;top:28px}.gantt-track:hover .gantt-grid{opacity:.4}.gantt-track{flex:auto;min-width:0;position:relative}.gantt-tick{position:absolute;top:0;bottom:0}.gantt-tick span{white-space:nowrap;color:var(--brand-muted);font-size:.72rem;font-weight:500;position:absolute;top:7px;left:4px}.gantt-grid{background:var(--glass-border);opacity:.45;width:1px}.gantt-grid,.gantt-today{position:absolute;top:0;bottom:0}.gantt-today{border-left:2px dashed var(--brand-primary);opacity:.7;z-index:2;width:0}.gantt-today-tag{color:#fff;background:var(--brand-primary);white-space:nowrap;border-radius:0 6px 6px 0;padding:0 5px;font-size:.62rem;font-weight:600;position:absolute;top:2px;left:3px}.gantt-bar{border-radius:7px;height:13px;transition:all .15s;position:absolute;box-shadow:0 1px 3px #2d26402e}.gantt-bar.planned{background:var(--bar-plan);top:8px}.gantt-bar.actual{background:var(--bar-actual);top:25px;overflow:hidden}.gantt-bar.actual.ongoing{background:repeating-linear-gradient(45deg,var(--bar-actual),var(--bar-actual) 6px,#c3e89a 6px,#c3e89a 12px)}.gantt-progress{background:var(--bar-actual-fill);border-radius:7px;position:absolute;top:0;bottom:0;left:0}.gantt-pct{color:#2f4d0a;z-index:1;font-size:.62rem;font-weight:700;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.gantt-bar.editable{cursor:grab}.gantt-bar.editable:active{cursor:grabbing}.gantt-handle{cursor:ew-resize;z-index:3;width:9px;position:absolute;top:0;bottom:0}.gantt-handle.l{left:-2px}.gantt-handle.r{right:-2px}.gantt-bar.editable:hover .gantt-handle:after{content:"";background:#ffffffd9;border-radius:2px;width:3px;position:absolute;top:3px;bottom:3px}.gantt-handle.l:after{left:1px}.gantt-handle.r:after{right:1px}.gantt-empty{text-align:center;padding:1.4rem}.gantt-legend{color:var(--brand-muted);align-items:center;gap:.35rem;padding:.6rem .8rem;font-size:.8rem;display:flex}.gantt-key{border-radius:4px;width:16px;height:11px;display:inline-block}.gantt-key.planned{background:var(--bar-plan)}.gantt-key.actual{background:var(--bar-actual);margin-left:.7rem}.plan-sheet-head{border-bottom:2px solid var(--brand-primary);justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem;padding-bottom:.8rem;display:flex}.plan-sheet-head h1{color:var(--brand-ink);margin:0;font-size:1.4rem}.plan-sheet-co{text-align:right;flex-direction:column;font-size:.85rem;display:flex}.public-wrap{max-width:1100px;min-height:100vh;margin:0 auto;padding:2rem 1.5rem}@page plan-landscape{size:A4 landscape;margin:1cm}.plan-print{page:plan-landscape}@media print{.public-wrap{max-width:none;padding:0}.gantt-bar,.gantt-key,.gantt-progress,.gantt-today-tag,.plan-sheet-head{-webkit-print-color-adjust:exact;print-color-adjust:exact}.gantt{background:#fff}}.ts-weekbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.ts-weektotal{color:var(--brand-muted);margin-left:auto;font-size:.9rem}.tschart{grid-template-columns:1.3fr 1fr;gap:1.6rem;display:grid}@media (max-width:720px){.tschart{grid-template-columns:1fr}}.tschart-title{text-transform:uppercase;letter-spacing:.04em;color:var(--brand-muted);margin-bottom:.7rem;font-size:.78rem;font-weight:600}.tschart-days{align-items:flex-end;gap:.5rem;height:150px;display:flex}.tschart-day{flex-direction:column;flex:1;align-items:center;height:100%;display:flex}.tschart-hr{color:var(--brand-primary);min-height:1rem;font-size:.72rem;font-weight:700}.tschart-barwrap{flex:1;align-items:flex-end;width:60%;display:flex}.tschart-bar{background:var(--brand-primary);border-radius:5px 5px 0 0;width:100%;min-height:2px;transition:height .2s}.tschart-day.today .tschart-bar{background:var(--brand-primary-dark)}.tschart-dlabel{color:var(--brand-muted);flex-direction:column;align-items:center;margin-top:.35rem;font-size:.72rem;line-height:1.2;display:flex}.tschart-day.today .tschart-dlabel{color:var(--brand-primary-dark);font-weight:700}.tschart-dnum{font-weight:600}.tsproj-row{align-items:center;gap:.6rem;margin-bottom:.5rem;font-size:.85rem;display:flex}.tsproj-name{white-space:nowrap;text-overflow:ellipsis;flex:0 0 34%;overflow:hidden}.tsproj-track{background:var(--brand-bg-mist);border-radius:6px;flex:1;height:10px;overflow:hidden}.tsproj-fill{background:var(--brand-primary);border-radius:6px;height:100%;display:block}.tsproj-hr{color:var(--brand-muted);white-space:nowrap;flex:none}.tslog-group{margin-bottom:1rem}.tslog-day{border-bottom:2px solid var(--brand-border);justify-content:space-between;padding:.4rem .2rem;font-weight:700;display:flex}.tslog-row{border-bottom:1px solid var(--glass-border);align-items:center;gap:.8rem;padding:.55rem .2rem;font-size:.88rem;display:flex}.tslog-row:hover{background:var(--row-hover)}.tslog-who{font-weight:600}.tslog-proj,.tslog-who{white-space:nowrap;text-overflow:ellipsis;flex:0 0 9rem;overflow:hidden}.tslog-proj{color:var(--brand-muted)}.tslog-time{font-variant-numeric:tabular-nums;flex:0 0 6rem}.tslog-detail{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tslog-hr{color:var(--brand-primary);flex:none;font-weight:700}.searchbox{border:1px solid var(--glass-border);background:var(--input-bg);max-width:22rem;color:var(--brand-muted);border-radius:10px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem .75rem;display:flex}.searchbox:focus-within{border-color:var(--brand-primary)}.searchbox input{min-width:0;color:var(--brand-ink);background:0 0;border:none;outline:none;flex:1;font-size:.9rem}.searchbox-clear{color:var(--brand-muted);cursor:pointer;background:0 0;border:none;display:inline-flex}.searchbox-clear:hover{color:var(--brand-ink)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@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-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@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}@keyframes pulse{50%{opacity:.5}}