@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;700&family=Noto+Sans+Thai:wght@300;400;500;600;700;800;900&family=Syne:wght@400;500;600;700;800&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#fd0054;--accent-bg:#fd00541a;--accent-border:#fd005473;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:"Inter", "Noto Sans Thai", system-ui, "Segoe UI", sans-serif;--heading:"Syne", "Noto Sans Thai", "Inter", system-ui, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-width:320px;margin:0}button,input,select,textarea{font:inherit}input:-webkit-autofill{-webkit-text-fill-color:var(--text,var(--text-primary,#18191f));-webkit-box-shadow:0 0 0 1000px var(--bg-input,var(--input-bg,#fff)) inset;caret-color:var(--text,var(--text-primary,#18191f));border-color:var(--border-input,var(--border-soft,transparent));transition:background-color 9999s ease-out}input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text,var(--text-primary,#18191f));-webkit-box-shadow:0 0 0 1000px var(--bg-input,var(--input-bg,#fff)) inset;caret-color:var(--text,var(--text-primary,#18191f));border-color:var(--border-input,var(--border-soft,transparent));transition:background-color 9999s ease-out}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text,var(--text-primary,#18191f));-webkit-box-shadow:0 0 0 1000px var(--bg-input,var(--input-bg,#fff)) inset;caret-color:var(--text,var(--text-primary,#18191f));border-color:var(--border-input,var(--border-soft,transparent));transition:background-color 9999s ease-out}textarea:-webkit-autofill{-webkit-text-fill-color:var(--text,var(--text-primary,#18191f));-webkit-box-shadow:0 0 0 1000px var(--bg-input,var(--input-bg,#fff)) inset;caret-color:var(--text,var(--text-primary,#18191f));border-color:var(--border-input,var(--border-soft,transparent));transition:background-color 9999s ease-out}select:-webkit-autofill{-webkit-text-fill-color:var(--text,var(--text-primary,#18191f));-webkit-box-shadow:0 0 0 1000px var(--bg-input,var(--input-bg,#fff)) inset;caret-color:var(--text,var(--text-primary,#18191f));border-color:var(--border-input,var(--border-soft,transparent));transition:background-color 9999s ease-out}button{-webkit-tap-highlight-color:transparent}#root{text-align:left;box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:0;margin:32px 0;font-size:56px}h2{letter-spacing:0;margin:0 0 8px;font-size:24px;line-height:118%}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}@media (width<=1024px){:root{font-size:16px}h1{margin:20px 0;font-size:36px}h2{font-size:20px}}:root,[data-theme=dark]{--page-bg-base:#050505;--page-bg:linear-gradient(112deg, #050505 0%, #10050a 38%, #3b0018 68%, #850032 100%);--page-header-bg:#080808f5;--surface:linear-gradient(135deg, #00000094 0%, #70002952 100%);--surface-solid:#ffffff06;--surface-soft:#ffffff0f;--surface-raised:linear-gradient(135deg, #0e0c0de6 0%, #5c0023a8 100%);--surface-hover:#ffffff0f;--border:#fd005429;--border-soft:#ffffff14;--border-glow:#fd005459;--accent:#fd0054;--accent-text:#fd0054;--accent-strong:#c30047;--accent-dim:#fd005426;--accent-glow:#fd005414;--accent2:#c30047;--modal-bg:#111;--overlay:#000000d1;--text:#ffffffe0;--text-strong:#fff;--text-dim:#ffffffa3;--text-muted:#ffffff75;--input-bg:#ffffff1a;--card-shadow:0 8px 32px #00000059, 0 0 0 1px #ffffff0a inset, 0 1px 0 #ff5c941f inset;--success:#10b981;--success-dim:#10b98126;--danger:#f43f5e;--danger-dim:#f43f5e1f;--radius:16px;--radius-sm:10px;--bg-base:var(--page-bg-base);--bg:var(--page-bg-base);--bg-page:var(--page-bg);--header-bg:var(--page-header-bg);--bg-card:var(--surface-raised);--bg-card-solid:#111;--bg-modal:var(--modal-bg);--bg-nav:var(--page-header-bg);--bg-input:var(--input-bg);--bg-chip:var(--surface-soft);--bg-overlay:var(--overlay);--bg-tab:transparent;--bg-tab-active:linear-gradient(135deg, #fd00542e, #c3004724);--border-card:var(--border);--border-input:var(--border-soft);--border-nav:var(--border);--border-tab:transparent;--border-tab-active:#fd00544d;--text-primary:var(--text);--text-secondary:#ffffffb8;--text-label:var(--text-dim);--text-placeholder:#ffffff70;--text-tab:var(--text-dim);--text-tab-active:var(--accent);--accent-dim-cb:#fd005473;--fuel-empty:#ffffff12;--shadow-modal:0 -24px 80px #000000b3, 0 0 60px #fd005414;--shadow-card-hover:var(--card-shadow);--grid-line:#fd005406;--glow-1:#fd005414;--glow-2:#c300470f;--scrollbar:#fd005440;--select-bg:#111;--hist-detail-bg:#fd005408;--hist-detail-border:#ffffff0f;--info-cell-bg:#ffffff06;--btn-ghost-bg:#fd00540f;--btn-ghost-border:#fd005426;--btn-ghost-color:#ffffff80;--issue-bg:#ff5c940a;--issue-border:#ff5c9426;--cust-menu-bg:#111;--maintenance-warning-bg:#fbbf241a;--maintenance-warning-border:#fbbf2440;--maintenance-overdue-bg:#ff5c941f;--maintenance-overdue-border:#ff5c944d}[data-theme=light]{--page-bg-base:#fff7f7;--page-bg:linear-gradient(145deg, #fbf9fa 0%, #fff5f8 46%, #ffe8f3 100%);--page-header-bg:#ffffffbd;--surface:linear-gradient(145deg, #ffffffeb 0%, #fff7f8cc 100%);--surface-solid:#ffffffb8;--surface-soft:#ffffffa8;--surface-raised:linear-gradient(145deg, #ffffffeb 0%, #fff7f8cc 100%);--surface-hover:#c300470f;--border:#c300471f;--border-soft:#c300471a;--border-glow:#c3004747;--accent:#fd0054;--accent-text:#e0004c;--accent-strong:#e0004c;--accent-dim:#fd00541f;--accent-glow:#fd005414;--accent2:#e0004c;--modal-bg:#fff;--overlay:#450a0a52;--text:#18191fe6;--text-strong:#18191f;--text-dim:#48272d94;--text-muted:#48272d61;--input-bg:#ffffffb8;--card-shadow:0 18px 45px #c300471a, 0 1px 0 #ffffffdb inset;--success:#10b981;--success-dim:#10b9811f;--danger:#f43f5e;--danger-dim:#f43f5e1a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-base:var(--page-bg-base);--bg:var(--page-bg-base);--bg-page:var(--page-bg);--header-bg:var(--page-header-bg);--bg-card:var(--surface-raised);--bg-card-solid:#fff;--bg-modal:var(--modal-bg);--bg-nav:var(--page-header-bg);--bg-input:var(--input-bg);--bg-chip:var(--surface-solid);--bg-overlay:var(--overlay);--bg-tab:transparent;--bg-tab-active:linear-gradient(135deg, #fd005429, #ffffffe6);--border-card:var(--border);--border-input:var(--border-soft);--border-nav:var(--border);--border-tab:transparent;--border-tab-active:#c3004738;--text-primary:var(--text);--text-secondary:#18191fad;--text-label:var(--text-dim);--text-placeholder:#48272d5c;--text-tab:var(--text-dim);--text-tab-active:var(--accent);--accent-dim-cb:#c3004773;--fuel-empty:#4923231a;--shadow-modal:0 -24px 80px #49232321, 0 16px 42px #c300471a;--shadow-card-hover:0 18px 45px #c300471f, 0 0 0 1px #ffffffd1 inset;--grid-line:#fd00540a;--glow-1:#c300470f;--glow-2:#c300470a;--scrollbar:#c3004740;--select-bg:#fff;--hist-detail-bg:#c300470a;--hist-detail-border:#7f1d1d24;--info-cell-bg:#ffffffb8;--btn-ghost-bg:#ffffffb3;--btn-ghost-border:#c3004729;--btn-ghost-color:#49232394;--issue-bg:#ef44440a;--issue-border:#ef44442e;--cust-menu-bg:#faf8ff;--maintenance-warning-bg:#fbbf2414;--maintenance-warning-border:#fbbf244d;--maintenance-overdue-bg:#ff5c9414;--maintenance-overdue-border:#ff5c9440}.page-shell{background:var(--page-bg);color:var(--text)}.page-card{background:var(--surface-raised);border:1px solid var(--border-soft);box-shadow:var(--card-shadow)}.page-soft-panel{background:var(--surface-solid);border:1px solid var(--border-soft)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-page{background:var(--page-bg);color:#241b1f;place-items:center;min-height:100dvh;padding:clamp(28px,7vh,72px) 18px;font-family:Inter,Noto Sans Thai,system-ui,sans-serif;display:grid}.auth-shell{flex-direction:column;gap:clamp(44px,8vh,76px);width:min(100%,402px);display:flex}.mv-wordmark{align-items:center;gap:9px;min-width:0;display:flex}.mv-wordmark img{object-fit:contain;border-radius:10px;flex:none;width:56px;height:48px}.mv-wordmark span{flex-direction:column;min-width:0;display:flex}.mv-wordmark strong{color:#ff4040;letter-spacing:-.04em;white-space:nowrap;font-size:27px;line-height:1}.mv-wordmark small{color:currentColor;white-space:nowrap;font-size:14px;font-weight:600;line-height:1.25}.auth-wordmark{align-self:center}.auth-card{color:#fff;background:#f05;border-radius:20px;flex-direction:column;align-items:center;width:min(100%,334px);min-height:478px;margin:0 auto;padding:40px 42px 30px;display:flex;box-shadow:0 22px 60px #ff005521}.auth-card>svg{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;width:54px;height:54px}.auth-card h1{color:currentColor;letter-spacing:-.02em;margin:14px 0 30px;font-size:24px;font-weight:900;line-height:1}.auth-error{text-align:center;background:#ffffff29;border-radius:10px;width:100%;margin:-12px 0 12px;padding:9px 12px;font-size:12px;line-height:1.35}.auth-field{width:100%;margin-bottom:28px;display:block;position:relative}.auth-field input{color:#2c2428;background:#fff;border:none;border-radius:999px;outline:none;width:100%;height:38px;padding:0 21px;font:500 14px/1 Inter,Noto Sans Thai,system-ui,sans-serif;box-shadow:0 6px 12px #44142638}.auth-field input::placeholder{color:#b7b0b4}.auth-field input:focus{box-shadow:0 0 0 3px #ffffff52,0 6px 12px #44142638}.auth-password input{padding-right:50px}.auth-password button{color:#868183;cursor:pointer;background:0 0;border:none;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-password button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.auth-submit{color:#30272b;cursor:pointer;background:#fff;border:none;border-radius:999px;width:180px;min-height:42px;margin-top:14px;font:600 18px/1 Inter,Noto Sans Thai,system-ui,sans-serif;transition:transform .15s,opacity .15s}.auth-submit:hover:not(:disabled){transform:translateY(-1px)}.auth-submit:active:not(:disabled){transform:translateY(1px)}.auth-submit:disabled{cursor:wait;opacity:.65}.auth-help{color:#fffffff5;text-align:center;margin-top:32px;font-size:13px}[data-theme=dark] .auth-page{color:#fff;background:radial-gradient(circle at 78% 32%,#fd00542e,#0000 34%),linear-gradient(112deg,#050505 0%,#10050a 38%,#3b0018 68%,#850032 100%)}[data-theme=dark] .auth-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(135deg,#0000008f,#74002a61);border:1px solid #ffffff2e;box-shadow:0 28px 80px #00000061}[data-theme=dark] .auth-card>svg{color:#f05}[data-theme=dark] .auth-field input{color:#fff;background:#ffffff1a;border:1px solid #ffffff7a;box-shadow:0 10px 30px #ffffff12}[data-theme=dark] .auth-field input::placeholder{color:#bcb6b8}[data-theme=dark] .auth-submit{color:#fff;background:#f05}[data-theme=dark] .auth-help{color:#ffffff6b}@media (height<=760px){.auth-page{padding-block:22px}.auth-shell{gap:26px}.auth-card{min-height:440px;padding-top:30px}}@media (width>=700px){.auth-shell{width:min(100%,440px)}.auth-card{width:382px}}.app-header{z-index:80;min-height:calc(78px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(22px, calc((100vw - 1180px) / 2)) 0;background:var(--page-header-bg);border-bottom:1px solid var(--border-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:24px;display:grid;position:fixed;inset:0 0 auto;box-shadow:0 12px 34px #2d00101a}.app-brand{width:max-content;min-width:0;max-width:100%;color:var(--text-strong);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0;display:flex}.app-brand img{object-fit:contain;border-radius:9px;flex:none;width:48px;height:42px}.app-brand span{flex-direction:column;min-width:0;display:flex}.app-brand strong{color:#ff4040;letter-spacing:-.045em;white-space:nowrap;font:700 22px/1 Inter,Noto Sans Thai,sans-serif}.app-brand small{color:var(--text-strong);white-space:nowrap;margin-top:4px;font:600 11px/1 Inter,Noto Sans Thai,sans-serif}.app-primary-nav{justify-content:center;align-items:center;gap:clamp(18px,2.2vw,36px);min-width:0;display:flex}.app-primary-nav button{color:var(--text-dim);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:28px 0 25px;font:600 clamp(13px,1.35vw,18px)/1 Syne,Inter,sans-serif;transition:color .18s,opacity .18s;position:relative}.app-primary-nav button:after{content:"";background:var(--accent);border-radius:2px;height:2px;transition:left .18s,right .18s;position:absolute;bottom:18px;left:50%;right:50%}.app-primary-nav button:hover:not(:disabled),.app-primary-nav button.is-active{color:var(--accent)}.app-primary-nav button.is-active:after{left:0;right:0}.app-primary-nav button:disabled{cursor:default;opacity:.62}.app-header-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.app-header-user{max-width:150px;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;margin-right:3px;font:600 11px/1 Inter,Noto Sans Thai,sans-serif;overflow:hidden}.app-header-icon{color:#fff;cursor:pointer;background:#f05;border:0;border-radius:50%;flex:0 0 40px;place-items:center;width:40px;height:40px;padding:0;transition:transform .16s,box-shadow .16s;display:grid;box-shadow:0 6px 18px #ff005538}.app-header-icon:hover{transform:translateY(-1px);box-shadow:0 9px 24px #ff00554d}.app-header-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.app-brand:focus-visible,.app-primary-nav button:focus-visible,.app-header-icon:focus-visible{outline-offset:3px;outline:3px solid #fd005457}@media (width<=980px){.app-header{grid-template-columns:auto 1fr auto}.app-primary-nav{gap:18px}.app-primary-nav button{font-size:12px}}@media (width<=767px){.app-header{min-height:calc(58px + env(safe-area-inset-top,0px));padding:calc(10px + env(safe-area-inset-top,0px)) 21px 10px;-webkit-backdrop-filter:none;backdrop-filter:none;justify-content:space-between;gap:10px;display:flex;box-shadow:0 2px 4px #3a1f2a29}.app-primary-nav{display:none}.app-brand{gap:5px}.app-brand img{border-radius:7px;width:36px;height:29px}.app-brand strong{font-size:14px}.app-brand small{margin-top:2px;font-size:7px}.app-header-actions{gap:13px}.app-header-user{max-width:60px;margin-right:2px;font-size:7px}.app-header-icon{width:26px;height:26px;box-shadow:none;flex-basis:26px}.app-header-icon svg{width:16px;height:16px}}@media (width<=370px){.app-header{gap:8px;padding-inline:12px}.app-brand strong{font-size:13px}.app-brand small{font-size:6.5px}.app-header-user{display:none}.app-header-actions{gap:10px}}.portal-page{background:var(--page-bg);min-height:100dvh;color:var(--text-strong);padding:98px 20px 54px;font-family:Inter,Noto Sans Thai,system-ui,sans-serif}.portal-panel{color:#fff;background:#f05;border-radius:20px;width:min(100%,470px);min-height:min(760px,100dvh - 136px);margin:0 auto;padding:52px 70px 62px;position:relative;box-shadow:0 28px 70px #ff005521}.portal-panel h1{color:currentColor;text-align:center;margin:0 0 46px;font-size:clamp(30px,6vw,40px);font-weight:900;line-height:1}.portal-notice{z-index:2;color:#fff;text-align:center;background:#1c1317d6;border-radius:999px;width:max-content;max-width:calc(100% - 30px);padding:8px 13px;font-size:12px;position:absolute;top:92px;left:50%;transform:translate(-50%)}.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:58px 70px;display:grid}.portal-module{aspect-ratio:1;color:#f05;cursor:pointer;background:#fff8fb;border:none;border-radius:32%;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:0;padding:16px 10px 12px;transition:transform .18s,box-shadow .18s,opacity .18s;display:flex;position:relative}.portal-module:hover{transform:translateY(-3px);box-shadow:0 14px 34px #4500172e}.portal-module:not(.is-active){opacity:.82}.portal-module svg{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;width:min(84%,96px);height:min(84%,96px)}.portal-module span{text-align:center;font-size:clamp(11px,2.7vw,15px);font-weight:900;line-height:1.1}.portal-module small{opacity:.55;font-size:9px;font-weight:600;position:absolute;bottom:7px}[data-theme=dark] .portal-page{color:#fff;background:linear-gradient(#2b2024 0%,#000 100%)}[data-theme=dark] .portal-panel{background:#393437;box-shadow:0 28px 80px #00000047}[data-theme=dark] .portal-module{color:#fff;background:#5f5a5d}@media (width<=520px){.portal-page{padding:calc(164px + env(safe-area-inset-top,0px)) 20px calc(61px + env(safe-area-inset-bottom,0px))}.portal-panel{min-height:596px;padding:33px 42px 51px}.portal-panel h1{margin-bottom:48px;font-size:22px}.portal-grid{gap:44px 48px}.portal-module{padding:12px 7px 10px}.portal-module span{font-size:8px}}@media (width<=370px){.portal-panel{padding-inline:32px}.portal-grid{gap:34px}.portal-module span{font-size:8px}}
