@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@300;400;500;600;700&family=Sarabun:wght@300;400;500;600;700&display=swap";:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0px;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}@media only screen and (max-width:480px){.Toastify__toast-container[data-stacked=true]{width:100vw}}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sidebar{width:248px;flex-shrink:0;background:var(--sidebar);color:var(--sidebar-muted);border-right:1px solid var(--line);display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;height:100vh;height:100dvh;z-index:40;transition:transform .25s ease;padding-top:var(--sa-top);padding-bottom:var(--sa-bottom);padding-left:var(--sa-left)}@media(max-width:960px){.sidebar{transform:translate(-100%)}.sidebar.sidebar-open{transform:none}}.sb-brand{display:flex;align-items:center;gap:10px;padding:18px 18px 14px;border-bottom:1px solid var(--sidebar-line)}.sb-brand .sb-logo{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--brand),#22d3ee);display:grid;place-items:center;flex-shrink:0;box-shadow:0 4px 12px #0d948866;color:#fff}.sb-brand .sb-logo svg{width:20px;height:20px}.sb-brand .sb-logo{overflow:hidden}.sb-brand .sb-logo-img{background:#fff;box-shadow:none;padding:3px}.sb-brand .sb-logo-img img{width:100%;height:100%;object-fit:contain;border-radius:7px}.sb-brand .sb-name{font-weight:700;color:var(--sidebar-ink);font-size:15px;line-height:1.15}.sb-brand .sb-name small{display:block;font-weight:400;font-size:11px;color:var(--brand-600)}.sb-nav{flex:1;overflow-y:auto;padding:10px 10px 24px}.sb-nav::-webkit-scrollbar-thumb{background:var(--line);border-color:var(--sidebar)}.sb-group-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2);padding:14px 12px 6px;font-weight:600}.sb-item{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:9px;color:var(--sidebar-muted);font-size:13.5px;cursor:pointer;transition:.15s;margin-bottom:1px;text-decoration:none}.sb-item svg{width:18px;height:18px;flex-shrink:0;opacity:.85}.sb-item:hover{background:var(--sidebar-hover);color:var(--sidebar-ink);text-decoration:none}.sb-item.active{background:linear-gradient(90deg,#0d94882e,#0d94880a);color:var(--sidebar-active-ink);box-shadow:inset 3px 0 0 var(--brand)}.sb-item.active svg{opacity:1;color:var(--brand)}.sb-footer{padding:12px 14px 16px;border-top:1px solid var(--sidebar-line)}.sb-footer .sb-user{display:flex;flex-direction:column;margin-bottom:8px}.sb-footer .sb-user-name{color:var(--sidebar-ink);font-size:13px;font-weight:600}.sb-footer .sb-user-role{color:var(--muted);font-size:11px}.sb-footer .sb-logout{display:flex;align-items:center;gap:8px;width:100%;background:var(--slate-bg);border:1px solid var(--line);color:var(--sidebar-muted);padding:8px 12px;border-radius:9px;font-size:13px;cursor:pointer}.sb-footer .sb-logout:hover{background:var(--red-bg);color:var(--red);border-color:var(--red)}.app-shell{display:flex;min-height:100vh;min-height:100dvh}.main{flex:1;margin-left:248px;display:flex;flex-direction:column;min-width:0}@media(max-width:960px){.main{margin-left:0}}.topbar{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--card) 85%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:var(--sa-top) calc(22px + var(--sa-right)) 0 calc(22px + var(--sa-left));min-height:calc(60px + var(--sa-top))}.topbar .hamburger{display:none;background:none;border:none;padding:6px;border-radius:8px;color:var(--ink-2)}@media(max-width:960px){.topbar .hamburger{display:grid;place-items:center}}.topbar .hamburger svg{width:22px;height:22px}.topbar .hamburger:hover{background:var(--slate-bg)}.topbar .tb-tenant{font-weight:600;font-size:14px;color:var(--ink)}.topbar .tb-tenant small{display:block;font-weight:400;color:var(--muted);font-size:11.5px}.topbar .tb-spacer{flex:1}.topbar .lang-toggle{display:flex;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--card)}.topbar .lang-toggle button{border:none;background:none;padding:6px 12px;font-size:12.5px;color:var(--muted);font-weight:600;cursor:pointer}.topbar .lang-toggle button.on{background:var(--brand);color:var(--on-brand)}.topbar .tb-user{position:relative}.topbar .tb-avatar{width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(135deg,var(--brand-600),#0891b2);color:#fff;display:grid;place-items:center;font-weight:600;font-size:13px}.topbar .tb-menu{position:absolute;top:46px;right:0;z-index:50;min-width:200px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:6px;overflow:hidden}.topbar .tb-menu .tb-menu-head{padding:8px 10px 10px;border-bottom:1px solid var(--line-2);margin-bottom:4px}.topbar .tb-menu .tb-menu-head b{display:block;font-size:13.5px;color:var(--ink)}.topbar .tb-menu .tb-menu-head span{font-size:11.5px;color:var(--muted)}.topbar .tb-menu button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:none;border:none;padding:8px 10px;border-radius:8px;cursor:pointer;color:var(--ink-2);font-size:13px;font-family:inherit}.topbar .tb-menu button svg{width:15px;height:15px;color:var(--muted)}.topbar .tb-menu button:hover{background:var(--slate-bg)}.topbar .tb-menu button.danger{color:var(--red)}.topbar .tb-menu button.danger svg{color:var(--red)}.content{padding:24px calc(26px + var(--sa-right)) calc(60px + var(--sa-bottom)) calc(26px + var(--sa-left));max-width:1400px;width:100%}@media(max-width:640px){.content{padding:18px calc(14px + var(--sa-right)) calc(50px + var(--sa-bottom)) calc(14px + var(--sa-left))}}.scrim{display:none}@media(max-width:960px){.scrim{display:block;position:fixed;inset:0;background:#0f172a66;z-index:39}}.sub-banner{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:var(--r);margin-bottom:16px;font-size:13px;font-weight:500;text-decoration:none}.sub-banner:hover{text-decoration:none;opacity:.92}.sub-banner.warn{background:var(--amber-bg);color:var(--amber)}.sub-banner.expired{background:var(--red-bg);color:var(--red)}.consent-banner{position:fixed;z-index:9999;left:calc(16px + var(--sa-left));right:calc(16px + var(--sa-right));bottom:calc(16px + var(--sa-bottom));max-width:720px;margin:0 auto;display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:16px 18px}.consent-banner .cb-text{flex:1;min-width:240px;font-size:12.5px;line-height:1.55}.consent-banner .cb-text b{display:block;font-size:14px;margin-bottom:4px}.consent-banner .cb-text span{color:var(--muted)}.consent-banner .cb-actions{display:flex;gap:8px;flex-shrink:0}@media(max-width:560px){.consent-banner .cb-actions{width:100%}.consent-banner .cb-actions button{flex:1}}.consent-fab{position:fixed;z-index:9998;left:calc(16px + var(--sa-left));bottom:calc(16px + var(--sa-bottom));width:42px;height:42px;border-radius:50%;cursor:pointer;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-md);font-size:20px;line-height:1;display:grid;place-items:center;padding:0}.consent-fab:hover{border-color:var(--brand)}.consent-banner .cb-link{color:var(--brand-600);font-weight:600;text-decoration:underline;white-space:nowrap}.legal-page{min-height:100vh;background:var(--bg);color:var(--ink);padding-bottom:48px}.legal-topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:14px 22px;background:var(--card);border-bottom:1px solid var(--line)}.legal-topbar .legal-back{color:var(--brand-600);font-weight:600;font-size:13.5px}.legal-topbar b{color:var(--ink)}.legal-doc{max-width:760px;margin:28px auto 0;padding:32px 28px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);line-height:1.7;font-size:14.5px}.legal-doc h1{font-size:24px;margin-bottom:6px}.legal-doc h2{font-size:16px;margin:26px 0 8px;color:var(--brand-600)}.legal-doc p{margin:8px 0;color:var(--ink-2)}.legal-doc ul{margin:8px 0;padding-left:22px;color:var(--ink-2)}.legal-doc li{margin:4px 0}.legal-doc a{color:var(--brand-600)}.legal-meta{color:var(--muted);font-size:12.5px;margin-bottom:18px}.legal-note{margin-top:24px;padding:12px 14px;font-size:12.5px;background:var(--brand-soft);border:1px solid var(--brand-100);border-radius:10px;color:var(--ink-2)}.legal-back-bottom{margin-top:24px}.legal-back-bottom a{color:var(--brand-600);font-weight:600}@media(max-width:640px){.legal-doc{margin:16px;padding:22px 18px;border-radius:12px}}.lp{--lp-ink: var(--ink);--lp-muted: var(--muted);background:var(--bg);color:var(--ink);min-height:100vh;font-size:15px;line-height:1.6}.lp-wrap{max-width:1120px;margin:0 auto;padding:0 20px}.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:10px;padding:9px 18px;font-weight:700;font-size:14px;cursor:pointer;border:1px solid transparent;text-decoration:none;transition:.15s}.lp-btn.primary{background:var(--brand);color:#fff}.lp-btn.primary:hover{background:var(--brand-600)}.lp-btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.lp-btn.ghost:hover{background:var(--slate-bg)}.lp-btn.white{background:#fff;color:var(--brand-700)}.lp-btn.white:hover{opacity:.92}.lp-btn.lg{padding:13px 26px;font-size:16px}.lp-btn.full{width:100%}.lp-nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--card) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.lp-nav-inner{display:flex;align-items:center;justify-content:space-between;height:62px}.lp-nav-links{display:flex;gap:10px}.lp-brand{display:flex;align-items:center;gap:9px;font-size:18px}.lp-brand b{color:var(--ink)}.lp-brand small{color:var(--muted);font-weight:500;font-size:12px;margin-left:4px}.lp-logo{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-700))}.lp-logo.sm{width:28px;height:28px;font-size:13px}.lp-hero{padding:64px 0 40px;background:radial-gradient(1200px 400px at 70% -10%,var(--brand-soft),transparent)}.lp-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}.lp-hero-copy h1{font-size:40px;line-height:1.18;margin:14px 0 16px;letter-spacing:-.5px}.lp-badge{display:inline-block;background:var(--brand-soft);color:var(--brand-700);font-weight:700;font-size:13px;padding:6px 13px;border-radius:999px}.lp-sub{color:var(--muted);font-size:16.5px;max-width:540px}.lp-cta-row{display:flex;gap:12px;margin:24px 0 14px;flex-wrap:wrap}.lp-trust{color:var(--muted);font-size:13px}.lp-hero-visual{display:flex;justify-content:center}.lp-mock{width:100%;max-width:440px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden}.lp-mock-head{display:flex;align-items:center;gap:6px;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--slate-bg)}.lp-mock-head small{margin-left:8px;color:var(--muted);font-size:12px}.dot{width:10px;height:10px;border-radius:50%}.dot.r{background:#ef4444}.dot.y{background:#f59e0b}.dot.g{background:#22c55e}.lp-mock-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px}.lp-mk{background:var(--slate-bg);border-radius:10px;padding:11px 12px;border-left:3px solid var(--muted-2)}.lp-mk span{display:block;color:var(--muted);font-size:11.5px}.lp-mk b{display:block;font-size:17px;margin-top:3px;font-variant-numeric:tabular-nums}.lp-mk .bar{display:block;height:5px;border-radius:999px;margin-top:8px;background:var(--muted-2);width:70%}.lp-mk .bar.blue{background:var(--blue);width:40%}.lp-mk .bar.green{background:var(--green);width:55%}.lp-mk .bar.teal{background:var(--brand);width:62%}.lp-mk.brand{border-left-color:var(--brand)}.lp-mk.brand b{color:var(--brand-700)}.lp-mock-note{margin:0 14px 16px;background:var(--amber-bg);color:var(--amber);font-size:12px;padding:9px 12px;border-radius:9px}.lp-section{padding:56px 0}.lp-section.alt{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lp-h2{font-size:27px;text-align:center;margin:0 0 8px;letter-spacing:-.3px}.lp-h2.left{text-align:left}.lp-h2-sub{text-align:center;color:var(--muted);margin:0 0 30px}.lp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}.lp-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:var(--shadow-sm)}.lp-card h3{font-size:18px;margin:12px 0 8px}.lp-card p{color:var(--muted);font-size:14.5px;margin:0}.lp-card-ic{font-size:30px}.lp-feat-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.lp-feat-list{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-direction:column;gap:13px}.lp-feat-list li{display:flex;gap:11px;font-size:15px;align-items:flex-start}.lp-feat-list .tick{color:var(--green);font-weight:800;flex-shrink:0}.lp-flow{display:flex;flex-direction:column;gap:10px}.lp-flow-step{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:13px 16px;font-weight:600;box-shadow:var(--shadow-sm)}.lp-flow-step .n{width:26px;height:26px;border-radius:50%;background:var(--brand-soft);color:var(--brand-700);display:grid;place-items:center;font-size:13px;font-weight:800;flex-shrink:0}.lp-pricing{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}.lp-plan{position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px 20px;text-align:center;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px}.lp-plan.reco{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft),var(--shadow-md);transform:translateY(-4px)}.lp-plan-tag{position:absolute;top:-11px;left:50%;transform:translate(-50%);background:var(--brand);color:#fff;font-size:11.5px;font-weight:700;padding:3px 12px;border-radius:999px}.lp-plan-name{color:var(--muted);font-weight:600}.lp-plan-price{font-size:30px;font-weight:800}.lp-plan-price small{font-size:13px;color:var(--muted);font-weight:500;margin-left:3px}.lp-plan-note{color:var(--muted);font-size:13px;margin-bottom:8px;min-height:18px}.lp-faq{max-width:760px}.lp-faq-item{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:4px 18px;margin-bottom:12px}.lp-faq-item summary{cursor:pointer;font-weight:600;padding:14px 0;list-style:none}.lp-faq-item summary::-webkit-details-marker{display:none}.lp-faq-item summary:after{content:"+";float:right;color:var(--muted);font-size:20px;line-height:1}.lp-faq-item[open] summary:after{content:"−"}.lp-faq-item p{color:var(--muted);margin:0 0 14px}.lp-final{background:linear-gradient(135deg,var(--brand),var(--brand-700));color:#fff;padding:62px 0;text-align:center}.lp-final-inner h2{font-size:28px;margin:0 0 10px}p{opacity:.92;margin:0 0 24px}.lp-footer{background:var(--card);border-top:1px solid var(--line);padding:26px 0}.lp-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.lp-footer-links{display:flex;gap:20px}.lp-footer-links a{color:var(--muted);text-decoration:none;font-size:14px}.lp-footer-links a:hover{color:var(--brand-700)}@media(max-width:900px){.lp-hero-grid,.lp-feat-grid{grid-template-columns:1fr}.lp-hero-visual{order:-1}.lp-cards{grid-template-columns:1fr}.lp-pricing{grid-template-columns:1fr 1fr}.lp-hero-copy h1{font-size:32px}.lp-plan.reco{transform:none}}@media(max-width:520px){.lp-pricing{grid-template-columns:1fr}}.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:calc(20px + var(--sa-top)) calc(20px + var(--sa-right)) calc(20px + var(--sa-bottom)) calc(20px + var(--sa-left));overflow-y:auto;background:linear-gradient(135deg,#0b1220,#0f766e)}@media(max-width:560px){.login-page{background:#fff;padding:0;align-items:stretch}}.login-card{background:#fff;border-radius:18px;box-shadow:0 12px 32px #0f172a66;width:100%;max-width:400px;padding:34px 32px;display:flex;flex-direction:column}@media(max-width:560px){.login-card{max-width:none;border-radius:0;box-shadow:none;justify-content:center;padding:calc(28px + var(--sa-top)) calc(22px + var(--sa-right)) calc(28px + var(--sa-bottom)) calc(22px + var(--sa-left))}}.login-card .login-logo-tile{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#0d9488,#22d3ee);display:grid;place-items:center;margin:0 auto 16px;color:#fff}.login-card .login-logo-tile svg{width:30px;height:30px}.login-card .login-logo{text-align:center;font-size:20px;font-weight:700;color:#0f172a;margin:0}.login-card .login-subtitle{text-align:center;color:#64748b;font-size:13px;margin:4px 0 24px}.login-card .login-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.login-card .login-field span{font-size:12.5px;font-weight:600;color:#334155}.login-card .login-field input{height:48px;padding:0 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:16px;font-family:inherit;color:#0f172a;background:#fff;outline:none}.login-card .login-field input:focus{border-color:#0d9488;box-shadow:0 0 0 3px #ccfbf1}.login-card .login-btn{height:50px;border:none;border-radius:10px;background:#115e59;color:#fff;font-size:15px;font-weight:700;cursor:pointer;margin-top:6px;display:flex;align-items:center;justify-content:center;text-decoration:none}.login-card .login-btn:hover{filter:brightness(1.08)}.login-card .login-btn:disabled{opacity:.55;cursor:not-allowed}.login-card .login-btn-ghost{background:#fff;color:#115e59;border:1px solid #99f6e4}.login-card .login-btn-ghost:hover{background:#f0fdfa;filter:none}.login-card .login-sep{text-align:center;color:#94a3b8;font-size:12px;margin:16px 0;position:relative}.login-card .login-sep span{background:#fff;padding:0 10px;position:relative;z-index:1}.login-card .login-sep:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#e2e8f0}.login-card .login-hint{text-align:center;margin-top:16px;font-size:12px;color:#64748b}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:500;border:none;border-radius:.375rem;transition:all .2s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:.25rem .75rem;font-size:.875rem}.btn-md{padding:.5rem 1rem;font-size:1rem}.btn-lg{padding:.75rem 1.5rem;font-size:1.125rem}.btn-primary{background-color:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background-color:#1d4ed8}.btn-secondary{background-color:#e2e8f0;color:#334155}.btn-secondary:hover:not(:disabled){background-color:#cbd5e1}.btn-success{background-color:#22c55e;color:#fff}.btn-success:hover:not(:disabled){background-color:#1a9a49}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background-color:#eb1515}.btn-outline{background-color:transparent;border:1px solid #cbd5e1;color:#334155}.btn-outline:hover:not(:disabled){background-color:#f1f5f9}.btn-icon{display:flex;align-items:center}.btn-spinner{width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.input-wrapper{display:flex;flex-direction:column;gap:.25rem}.input-label{font-size:.875rem;font-weight:500;color:#334155}.input{width:100%;padding:.5rem .75rem;font-size:1rem;border:1px solid #cbd5e1;border-radius:.375rem;background-color:#fff;transition:border-color .2s,box-shadow .2s}.input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.input::placeholder{color:#94a3b8}.input:disabled{background-color:#f1f5f9;cursor:not-allowed}.input-error{border-color:#ef4444}.input-error:focus{box-shadow:0 0 0 3px #ef44441a}.input-error-text{font-size:.875rem;color:#ef4444}.input-helper-text{font-size:.875rem;color:#64748b}.card{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0}.card-title{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0}.card-actions{display:flex;gap:.5rem}.card-body{padding:1.25rem}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}@media(max-width:639px){.modal-overlay{padding:.5rem;align-items:flex-end}}.modal-content{background:#1e293b;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}@media(max-width:639px){.modal-content{max-height:85vh;border-radius:.5rem .5rem 0 0}}.modal-content.modal-small{width:100%;max-width:400px}.modal-content.modal-medium{width:100%;max-width:600px}.modal-content.modal-large{width:100%;max-width:800px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #334155}@media(max-width:639px){.modal-header{padding:.75rem 1rem}}.modal-header h2{font-size:1.125rem;font-weight:600;color:#fff;margin:0}@media(max-width:639px){.modal-header h2{font-size:1rem}}.modal-header .modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:#94a3b8;cursor:pointer;border-radius:.375rem;transition:all .2s}.modal-header .modal-close:hover{background:#334155;color:#fff}.modal-header .modal-close svg{width:20px;height:20px}.modal-body{padding:1.25rem;overflow-y:auto;color:#cbd5e1}@media(max-width:639px){.modal-body{padding:1rem}}.infotip{position:relative;display:inline-flex;align-items:center;margin-left:5px;vertical-align:middle;cursor:help;color:#64748b;transition:color .15s}.infotip:hover,.infotip:focus,.infotip:focus-within{color:#2563eb;outline:none}.infotip-icon{width:14px;height:14px}.infotip-bubble{position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%);width:max-content;max-width:260px;background:#0f172a;color:#e8edf5;font-family:Sarabun,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:12px;line-height:1.55;text-align:left;padding:10px 12px;border-radius:8px;box-shadow:0 8px 24px #00000038;opacity:0;visibility:hidden;transition:opacity .15s;z-index:60;white-space:normal;pointer-events:none}.infotip-bubble b{color:#93c5fd;font-weight:600}.infotip-bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#0f172a}.infotip:hover .infotip-bubble,.infotip:focus .infotip-bubble,.infotip:focus-within .infotip-bubble{opacity:1;visibility:visible}.subscription-page .sub-status{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:18px 20px;margin-bottom:16px}.subscription-page .sub-status .ss-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.subscription-page .sub-status .ss-icon svg{width:24px;height:24px}.subscription-page .sub-status.ok .ss-icon{background:var(--green-bg);color:var(--green)}.subscription-page .sub-status.expired .ss-icon{background:var(--red-bg);color:var(--red)}.subscription-page .sub-status .ss-plan{font-size:12.5px;color:var(--muted)}.subscription-page .sub-status .ss-text{font-size:18px;font-weight:700;color:var(--ink);margin-top:1px}.subscription-page .sub-status .ss-sub{font-size:12.5px;color:var(--muted);margin-top:2px}.subscription-page.expired .ss-text,.subscription-page .sub-status.expired .ss-text{color:var(--red)}.subscription-page .sub-pending{display:flex;align-items:center;gap:8px;margin-bottom:16px;background:var(--amber-bg);color:var(--amber);border-radius:var(--r);padding:11px 14px;font-size:13px;font-weight:500}.subscription-page .sub-pending svg{width:16px;height:16px}.subscription-page .sub-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.subscription-page .sub-cols{grid-template-columns:1fr}}.subscription-page .plan-grid{display:flex;flex-direction:column;gap:10px}.subscription-page .plan-card{position:relative;text-align:left;cursor:pointer;font-family:inherit;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 12px;background:var(--card);border:2px solid var(--line);border-radius:var(--r);padding:13px 16px;transition:.15s}.subscription-page .plan-card:hover{border-color:var(--muted-2)}.subscription-page .plan-card.on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100);background:var(--brand-50)}.subscription-page .plan-card .pc-check{grid-row:1/span 2;width:22px;color:var(--brand)}.subscription-page .plan-card .pc-check svg{width:20px;height:20px}.subscription-page .plan-card .pc-name{font-weight:700;font-size:14.5px;color:var(--ink)}.subscription-page .plan-card .pc-days{grid-column:2;font-size:12px;color:var(--muted)}.subscription-page .plan-card .pc-price{grid-row:1/span 2;grid-column:3;font-size:18px;font-weight:700;color:var(--brand-700);white-space:nowrap}.subscription-page .plan-card .pc-price span{font-size:12px;font-weight:500;color:var(--muted)}:root[data-theme=dark] .subscription-page .plan-card.on{background:var(--slate-bg)}.subscription-page .pay-box{background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r);padding:12px 14px;margin-bottom:16px}.subscription-page .pay-box .pay-row{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--ink-2)}.subscription-page .pay-box .pay-row b{color:var(--brand-700)}.subscription-page .pay-box .pay-row svg{width:16px;height:16px;color:var(--brand)}.subscription-page .pay-box .pay-row-sub{font-size:12.5px;color:var(--muted);margin-top:3px}.subscription-page .pay-box .pay-note{font-size:12px;color:var(--muted);margin-top:6px}:root[data-theme=dark] .subscription-page .pay-box{background:var(--slate-bg);border-color:var(--line)}.subscription-page .slip-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:2px dashed var(--line);border-radius:var(--r);background:var(--slate-bg);padding:20px;cursor:pointer;color:var(--muted);font-size:12.5px;transition:.15s}.subscription-page .slip-drop svg{width:24px;height:24px}.subscription-page .slip-drop:hover{border-color:var(--brand);color:var(--brand-700);background:var(--brand-50)}.subscription-page .slip-preview{display:flex;align-items:flex-start;gap:12px}.subscription-page .slip-preview img{width:120px;border-radius:var(--r);border:1px solid var(--line);cursor:zoom-in}.subscription-page .slip-preview .slip-remove{display:inline-flex;align-items:center;gap:5px;background:none;border:none;color:var(--red);font-size:12.5px;cursor:pointer;padding:4px 0}.subscription-page .slip-preview .slip-remove svg{width:14px;height:14px}.subscription-page .sub-submit{width:100%;justify-content:center;height:44px;margin-top:6px}.subscription-page .r-shop{font-weight:600;color:var(--ink)}.subscription-page .slip-thumb{width:38px;height:38px;object-fit:cover;border-radius:6px;border:1px solid var(--line);cursor:zoom-in}.admin-tenants .dt .t-name{font-weight:600;color:var(--ink)}.admin-tenants .dt tr.suspended td{opacity:.6}.admin-tenants .created-hint{font-size:13px;color:var(--muted);margin-bottom:10px}.admin-tenants .cred-box{background:var(--slate-bg);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;font-family:Noto Sans Thai,ui-monospace,monospace;font-size:12.5px;line-height:1.7;color:var(--ink-2);white-space:pre-wrap;word-break:break-word}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;background:var(--bg)}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{font-family:Sarabun,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5;color:var(--ink);background-color:var(--bg);min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:#2563eb}.text-success{color:#22c55e}.text-warning{color:#f59e0b}.text-danger{color:#ef4444}.text-muted{color:#64748b}.font-bold{font-weight:700}.font-semibold{font-weight:600}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}@media(max-width:767px){input,select,textarea,button{font-size:16px}input,select{min-height:44px}}.table-wrapper{-webkit-overflow-scrolling:touch}:root{--sa-top: env(safe-area-inset-top, 0px);--sa-right: env(safe-area-inset-right, 0px);--sa-bottom: env(safe-area-inset-bottom, 0px);--sa-left: env(safe-area-inset-left, 0px);--brand: #0d9488;--brand-600: #0f766e;--brand-700: #115e59;--brand-50: #f0fdfa;--brand-100: #ccfbf1;--brand-soft: rgba(13, 148, 136, .13);--row-hover: rgba(13, 148, 136, .1);--on-brand: #ffffff;--ink: #0f172a;--ink-2: #334155;--muted: #64748b;--muted-2: #94a3b8;--line: #e2e8f0;--line-2: #eef2f6;--bg: #f6f8fa;--card: #ffffff;--slate-bg: #f1f5f9;--green: #16a34a;--green-bg: #dcfce7;--amber: #d97706;--amber-bg: #fef3c7;--red: #dc2626;--red-bg: #fee2e2;--blue: #2563eb;--blue-bg: #dbeafe;--shadow-sm: 0 1px 2px rgba(15,23,42,.06);--shadow: 0 1px 3px rgba(15,23,42,.08),0 1px 2px rgba(15,23,42,.04);--shadow-md: 0 4px 12px rgba(15,23,42,.08);--shadow-lg: 0 12px 32px rgba(15,23,42,.14);--r: 10px;--r-sm: 8px;--r-lg: 14px;--radius: 10px;--font-family: "Noto Sans Thai", "Sarabun", system-ui, -apple-system, "Segoe UI", sans-serif;--sidebar: #ffffff;--sidebar-ink: #0f172a;--sidebar-muted: #64748b;--sidebar-line: #eef2f6;--sidebar-hover: #f1f5f9;--sidebar-active-ink: var(--brand-700)}:root[data-theme=dark]{color-scheme:dark;--ink: #e8edf5;--ink-2: #c3ccda;--muted: #8b97a8;--muted-2: #6b7688;--line: #2a3547;--line-2: #222c3c;--bg: #0b1220;--card: #131c2b;--slate-bg: #1b2536;--green: #4ade80;--green-bg: #123524;--amber: #fbbf24;--amber-bg: #3a2c0a;--red: #f87171;--red-bg: #3a1717;--blue: #60a5fa;--blue-bg: #152744;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow: 0 1px 3px rgba(0,0,0,.5),0 1px 2px rgba(0,0,0,.4);--shadow-md: 0 4px 12px rgba(0,0,0,.5);--shadow-lg: 0 12px 32px rgba(0,0,0,.6);--sidebar: #131c2b;--sidebar-ink: #e8edf5;--sidebar-muted: #8b97a8;--sidebar-line: #2a3547;--sidebar-hover: #1b2536;--sidebar-active-ink: #5eead4}body{background:var(--bg);color:var(--ink);font-family:var(--font-family);font-size:14px}a{color:var(--brand-600)}.primary-btn,a.primary-btn,.btn-primary{display:inline-flex;align-items:center;gap:7px;background:var(--brand);color:var(--on-brand);border:1px solid var(--brand);border-radius:9px;padding:8px 14px;font-weight:500;font-size:13px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:.15s}.primary-btn:hover,a.primary-btn:hover,.btn-primary:hover{background:var(--brand-600);border-color:var(--brand-600);color:var(--on-brand);text-decoration:none}.primary-btn:disabled,a.primary-btn:disabled,.btn-primary:disabled{opacity:.6;cursor:not-allowed}.primary-btn svg,a.primary-btn svg,.btn-primary svg{width:15px;height:15px}.ghost-btn,a.ghost-btn,.btn,.btn-secondary,.btn-outline{display:inline-flex;align-items:center;gap:7px;background:var(--card);color:var(--ink-2);border:1px solid var(--line);border-radius:9px;padding:8px 14px;font-weight:500;font-size:13px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:.15s}.ghost-btn:hover,a.ghost-btn:hover,.btn:hover,.btn-secondary:hover,.btn-outline:hover{background:var(--slate-bg);border-color:#cbd5e1;text-decoration:none}.ghost-btn svg,a.ghost-btn svg,.btn svg,.btn-secondary svg,.btn-outline svg{width:15px;height:15px}.btn-danger{display:inline-flex;align-items:center;gap:7px;background:var(--card);color:var(--red);border:1px solid #fecaca;border-radius:9px;padding:8px 14px;font-weight:500;font-size:13px;cursor:pointer}.btn-danger:hover{background:var(--red-bg)}.btn-success{background:var(--green);border:1px solid var(--green);color:#fff;border-radius:9px;padding:8px 14px;font-weight:500;font-size:13px;display:inline-flex;align-items:center;gap:7px}.btn-success:hover{filter:brightness(.95)}.btn-sm{padding:5px 10px;font-size:12px}.icon-btn{width:34px;height:34px;border:1px solid var(--line);background:var(--card);border-radius:9px;display:grid;place-items:center;color:var(--muted);cursor:pointer;transition:.15s}.icon-btn svg{width:16px;height:16px}.icon-btn:hover{background:var(--slate-bg);color:var(--ink)}.icon-btn.danger:hover{color:var(--red);border-color:#fecaca;background:var(--red-bg)}.search-bar{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:8px 14px;color:var(--muted);max-width:340px;flex:1 1 220px}.search-bar svg{flex-shrink:0;width:16px;height:16px}.search-bar input{border:none;outline:none;background:transparent;color:var(--ink);width:100%;font-size:13px}.search-bar:focus-within{border-color:var(--brand);background:var(--card)}.fleeto-input,.fleeto-select,.input,.textarea,.input-wrapper .input{width:100%;height:42px;padding:0 13px;border:1px solid var(--line);border-radius:10px;font-size:13.5px;font-family:inherit;color:var(--ink);background:var(--card);outline:none;transition:border-color .15s,box-shadow .15s}.fleeto-input:focus,.fleeto-select:focus,.input:focus,.textarea:focus,.input-wrapper .input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100)}.fleeto-input::placeholder,.fleeto-select::placeholder,.input::placeholder,.textarea::placeholder,.input-wrapper .input::placeholder{color:var(--muted-2)}.fleeto-input:read-only,.fleeto-input.locked,.fleeto-select:read-only,.fleeto-select.locked,.input:read-only,.input.locked,.textarea:read-only,.textarea.locked,.input-wrapper .input:read-only,.input-wrapper .input.locked{background:var(--slate-bg);color:var(--muted)}textarea.fleeto-input,.textarea{height:auto;min-height:84px;padding:11px 13px;resize:vertical;line-height:1.55}.fleeto-select,select.fleeto-input,.select{cursor:pointer;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.page-header{margin-bottom:18px}.page-header .page-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-header .page-header-title{font-size:21px;font-weight:700;letter-spacing:-.01em;color:var(--ink);display:block}.page-header .page-header-count{font-size:12px;font-weight:600;color:var(--brand);background:var(--brand-soft);border-radius:999px;padding:2px 9px;margin-left:9px;vertical-align:middle;display:inline-block}.page-header .page-header-actions{display:flex;gap:9px;flex-wrap:wrap}.page-header .page-header-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}.dt-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.dt{width:100%;border-collapse:collapse;font-size:13px}.dt th{text-align:left;padding:11px 16px;background:var(--slate-bg);color:var(--muted);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-bottom:1px solid var(--line)}.dt td{padding:11px 16px;border-bottom:1px solid var(--line-2);color:var(--ink-2);vertical-align:middle}.dt tbody tr:hover{background:var(--row-hover)}.dt tr:last-child td{border-bottom:none}.dt th.num,.dt td.num{text-align:right;font-variant-numeric:tabular-nums}.dt .dt-clickable{cursor:pointer}.dt .dt-empty{text-align:center;color:var(--muted);padding:2.5rem}.dt tfoot td{background:var(--slate-bg);font-weight:700;color:var(--ink);border-top:2px solid var(--line)}.dt .name-link{color:var(--brand-600);font-weight:600;cursor:pointer}.dt .name-link:hover{text-decoration:underline}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;line-height:1.4}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-badge.tone-ok{color:var(--green);background:var(--green-bg)}.status-badge.tone-warn{color:var(--amber);background:var(--amber-bg)}.status-badge.tone-danger{color:var(--red);background:var(--red-bg)}.status-badge.tone-info{color:var(--blue);background:var(--blue-bg)}.status-badge.tone-muted{color:var(--muted);background:var(--slate-bg)}.card,.fleeto-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.fleeto-card{padding:18px 20px}.card-header{padding:15px 20px;border-bottom:1px solid var(--line-2)}.card-title{font-weight:600;color:var(--ink)}.card-body{padding:18px 20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}@media(max-width:640px){.form-grid{grid-template-columns:1fr}}.form-field{display:flex;flex-direction:column;gap:6px;min-width:0}.form-field .form-field-label{font-size:12.5px;font-weight:600;color:var(--ink-2)}.form-field .req{color:var(--red);margin-left:2px;font-weight:700}.form-field .form-field-control{display:flex;flex-direction:column;gap:5px}.form-field .form-field-error{color:var(--red);font-size:11.5px}.form-field .form-field-hint{color:var(--muted);font-size:11.5px}.form-section-title{font-size:13px;font-weight:700;color:var(--brand-700);margin:12px 0 4px;padding-bottom:7px;border-bottom:2px solid var(--brand-50);grid-column:1/-1;display:flex;align-items:center;gap:7px}.form-actions,.form-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;padding-top:18px;border-top:1px solid var(--line-2)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto}.tabs .tab{padding:11px 16px;font-size:13.5px;font-weight:600;color:var(--muted);border:none;background:none;border-bottom:2px solid transparent;white-space:nowrap;cursor:pointer}.tabs .tab:hover{color:var(--ink-2)}.tabs .tab.active{color:var(--brand-700);border-bottom-color:var(--brand)}.summary-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}.summary-row .summary-item{background:var(--slate-bg);border-radius:var(--r);padding:10px 14px}.summary-row .summary-item .summary-label{font-size:12px;color:var(--muted);display:block}.summary-row .summary-item .summary-value{font-size:18px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.total-box{background:linear-gradient(135deg,var(--brand-700),var(--brand));color:#fff;border-radius:var(--r);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;margin-top:16px}.total-box .l{font-size:13px;opacity:.9}.total-box .a{font-size:24px;font-weight:700}.info-row{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line-2)}.info-row .k{color:var(--muted);font-size:13px}.info-row .v{font-weight:600;text-align:right}.timeline{position:relative;padding-left:26px}.timeline:before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:var(--line)}.timeline .tl-item{position:relative;padding-bottom:18px}.timeline .tl-item:before{content:"";position:absolute;left:-24px;top:3px;width:16px;height:16px;border-radius:50%;background:var(--brand);border:3px solid var(--card)}.timeline .tl-item .tl-t{font-weight:600;font-size:13.5px;color:var(--ink)}.timeline .tl-item .tl-meta{color:var(--muted);font-size:12px;margin-top:2px}.date-th{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.date-th .date-th-be{font-size:11.5px;color:var(--muted)}.file-upload-grid{display:flex;flex-wrap:wrap;gap:12px}.file-upload-item{position:relative;width:100px;height:100px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}.file-upload-item img{width:100%;height:100%;object-fit:cover}.file-upload-item .file-upload-remove{position:absolute;top:4px;right:4px;background:#0f172aa6;color:#fff;border:none;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer}.file-upload-add{width:100px;height:100px;border-radius:var(--r);border:2px dashed var(--line);background:var(--slate-bg);color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;cursor:pointer}.file-upload-add:hover{border-color:var(--brand);color:var(--brand-700);background:var(--brand-soft)}.rte{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card)}.rte-toolbar{display:flex;gap:2px;padding:4px;border-bottom:1px solid var(--line-2);background:var(--slate-bg)}.rte-toolbar button{border:none;background:transparent;color:var(--muted);width:30px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.rte-toolbar button:hover{background:var(--brand-soft);color:var(--brand-700)}.rte-body{min-height:90px;padding:11px 13px;color:var(--ink);font-size:13.5px;outline:none}.rte-body:empty:before{content:attr(data-placeholder);color:var(--muted-2)}.calendar{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm)}.calendar-header{display:flex;align-items:center;justify-content:center;gap:1rem;padding:14px 18px;border-bottom:1px solid var(--line-2)}.calendar-header .calendar-title{font-weight:700;font-size:16px;color:var(--ink);min-width:170px;text-align:center}.calendar-header button{border:1px solid var(--line);background:var(--card);color:var(--ink-2);width:32px;height:32px;border-radius:8px;cursor:pointer}.calendar-header button:hover{background:var(--slate-bg)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-dow{text-align:center;padding:9px;font-size:11.5px;color:var(--muted);background:var(--slate-bg);font-weight:600;border-bottom:1px solid var(--line-2)}.calendar-cell{min-height:92px;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);padding:6px 7px}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell.out{background:var(--slate-bg);opacity:.55}.calendar-cell .calendar-date{font-size:12px;color:var(--ink-2);font-weight:600}.calendar-cell .calendar-events{display:flex;flex-direction:column;gap:3px;margin-top:4px}.calendar-cell .calendar-event{font-size:10.5px;text-align:left;border:none;border-radius:5px;padding:2px 6px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:var(--blue-bg);color:var(--blue)}.calendar-cell .calendar-event.ev-ONGOING{background:var(--amber-bg);color:var(--amber)}.calendar-cell .calendar-event.ev-RETURNED{background:var(--green-bg);color:var(--green)}.calendar-cell .calendar-event.ev-CANCELLED{background:var(--red-bg);color:var(--red)}.calendar-cell .calendar-more{font-size:10.5px;color:var(--muted)}.modal-overlay{position:fixed;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:80;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:calc(40px + var(--sa-top)) calc(20px + var(--sa-right)) calc(40px + var(--sa-bottom)) calc(20px + var(--sa-left))}.modal-content{background:var(--card);border-radius:var(--r-lg);width:100%;max-width:760px;box-shadow:var(--shadow-lg)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--line-2)}.modal-header h2{font-size:16px;font-weight:700;color:var(--ink)}.modal-body{padding:22px}.modal-close{width:32px;height:32px;border:none;background:var(--slate-bg);border-radius:8px;display:grid;place-items:center;color:var(--muted);cursor:pointer}.modal-close:hover{background:var(--line)}.confirm-dialog .confirm-message{color:var(--ink);margin-bottom:1.2rem}.confirm-dialog .confirm-actions{display:flex;gap:.6rem;justify-content:flex-end}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}@media(max-width:1080px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.kpi-grid{grid-template-columns:1fr}}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;text-decoration:none;display:block}.kpi .kpi-ic{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;margin-bottom:12px}.kpi .kpi-ic svg{width:22px;height:22px}.kpi .kpi-ic.t1{background:var(--brand-soft);color:var(--brand)}.kpi .kpi-ic.t2{background:var(--green-bg);color:var(--green)}.kpi .kpi-ic.t3{background:var(--amber-bg);color:var(--amber)}.kpi .kpi-ic.t4{background:var(--blue-bg);color:var(--blue)}.kpi .kpi-val{font-size:27px;font-weight:700;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.kpi .kpi-lbl{color:var(--muted);font-size:12.5px;margin-top:2px}.kpi .kpi-trend{position:absolute;top:16px;right:16px;font-size:11.5px;font-weight:600;color:var(--green);background:var(--green-bg);padding:2px 8px;border-radius:12px}a.kpi:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1}.two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}@media(max-width:1080px){.two-col{grid-template-columns:1fr}}.card-head{padding:15px 20px;border-bottom:1px solid var(--line-2);font-weight:600;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:10px}.card-pad{padding:18px 20px}.alert-row{display:flex;gap:12px;padding:13px 16px;border-radius:var(--r);border:1px solid var(--line-2);margin-bottom:10px;align-items:flex-start;cursor:pointer;transition:.15s;text-decoration:none;color:inherit}.alert-row:hover{box-shadow:var(--shadow);border-color:var(--line)}.alert-row .alert-ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;background:var(--amber-bg);color:var(--amber)}.alert-row.warn .alert-ic{background:var(--red-bg);color:var(--red)}.alert-row .alert-txt b{font-weight:600;font-size:13.5px;color:var(--ink)}.alert-row .alert-txt p{color:var(--muted);font-size:12.5px;margin-top:2px}@media print{.sidebar,.topbar,.mobile-header,.page-header-actions,.no-print,.sidebar-overlay{display:none!important}body{background:#fff;color:#000}.main-content,.content{margin:0!important;padding:0!important}}.page-header-title small,.page-title small{display:block;font-weight:400;font-size:13px;color:var(--muted);margin-top:2px}.breadcrumb{font-size:12.5px;color:var(--muted);margin-bottom:4px}.breadcrumb a{color:var(--muted);cursor:pointer}.breadcrumb a:hover{text-decoration:underline}.form-section{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px 20px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.form-section:last-child{margin-bottom:0}.fs-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:16px}.fs-head .fs-ic{width:34px;height:34px;border-radius:10px;flex-shrink:0;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.fs-head .fs-ic svg{width:18px;height:18px}.fs-head .fs-title{font-size:14.5px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.fs-head .fs-sub{font-size:12px;color:var(--muted);margin-top:1px}.form-grid--3{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.form-grid--none{display:block}.field2{display:flex;flex-direction:column;gap:6px;min-width:0}.field2--full{grid-column:1/-1}.field2>.lbl{font-size:12.5px;font-weight:600;color:var(--ink-2);display:flex;align-items:center;gap:5px}.field2>.lbl .req{color:var(--red);font-weight:700}.field2 .help{font-size:11.5px;color:var(--muted);margin-top:-1px}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap .input{width:100%}.input-wrap .adorn{position:absolute;pointer-events:none;color:var(--muted);font-size:13.5px;font-weight:600;display:flex;align-items:center}.input-wrap .adorn svg{width:16px;height:16px}.input-wrap.lead .adorn{left:13px}.input-wrap.lead .input{padding-left:30px}.input-wrap.trail .adorn{right:13px}.input-wrap.trail .input{padding-right:36px}.input-money{font-variant-numeric:tabular-nums;text-align:right}.input-pair{display:flex;gap:8px}.input-pair .a{flex:2}.input-pair .b{flex:1}.readonly-chip{height:42px;display:flex;align-items:center;padding:0 13px;border-radius:10px;background:var(--slate-bg);border:1px solid var(--line-2);font-weight:600;color:var(--ink-2);font-size:13.5px}.segmented{display:inline-flex;background:var(--slate-bg);border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px;flex-wrap:wrap}.segmented button{border:none;background:transparent;padding:8px 15px;border-radius:8px;font-size:13px;font-weight:600;color:var(--muted);font-family:inherit;transition:.15s;white-space:nowrap;cursor:pointer}.segmented button:hover{color:var(--ink-2)}.segmented button.on{background:var(--card);color:var(--brand-700);box-shadow:var(--shadow-sm)}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;color:var(--ink-2);font-weight:500}.switch input{position:absolute;opacity:0;width:0;height:0}.switch .track{width:42px;height:24px;background:#cbd5e1;border-radius:20px;position:relative;transition:.2s;flex-shrink:0}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:var(--shadow-sm);transition:.2s}.switch input:checked+.track{background:var(--brand)}.switch input:checked+.track:after{transform:translate(18px)}.addon-row{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.addon-row .addon-name{flex:1;font-weight:600;font-size:13.5px;color:var(--ink-2)}.addon-row .addon-price{width:130px;flex-shrink:0}.dropzone{border:2px dashed #cbd5e1;border-radius:12px;padding:22px 16px;text-align:center;background:var(--slate-bg);cursor:pointer;transition:.15s;display:flex;flex-direction:column;align-items:center;gap:6px}.dropzone:hover{border-color:var(--brand);background:var(--brand-soft)}.dropzone .dz-ic{width:40px;height:40px;border-radius:11px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.dropzone .dz-ic svg{width:20px;height:20px}.dropzone .dz-title{font-size:13px;font-weight:600;color:var(--ink-2)}.dropzone .dz-title b{color:var(--brand-700)}.dropzone .dz-hint{font-size:11px;color:var(--muted)}.dz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.dz-tile{border:2px dashed #cbd5e1;border-radius:12px;background:var(--slate-bg);cursor:pointer;transition:.15s;padding:16px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:7px;min-height:118px;justify-content:center}.dz-tile:hover{border-color:var(--brand);background:var(--brand-soft)}.dz-tile .dz-ic{width:34px;height:34px;border-radius:10px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.dz-tile .dz-ic svg{width:17px;height:17px}.dz-tile .dz-label{font-size:12.5px;font-weight:600;color:var(--ink-2)}.dz-tile .dz-formats{font-size:10.5px;color:var(--muted-2)}.dz-tile img{width:100%;height:100%;object-fit:cover;border-radius:8px}.stepper{display:flex;align-items:center;gap:0;margin-bottom:22px;overflow-x:auto;padding-bottom:2px}.stepper .step{display:flex;align-items:center;gap:10px;background:none;border:none;font-family:inherit;padding:4px 2px;white-space:nowrap;cursor:pointer}.stepper .step .num{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:13px;font-weight:700;background:var(--card);border:2px solid var(--line);color:var(--muted);transition:.2s}.stepper .step .stx{text-align:left}.stepper .step .st-t{font-size:13px;font-weight:600;color:var(--muted);transition:.2s;line-height:1.2;display:block}.stepper .step .st-s{font-size:11px;color:var(--muted-2);display:block}.stepper .step.active .num{background:var(--brand);border-color:var(--brand);color:var(--on-brand);box-shadow:0 0 0 4px var(--brand-100)}.stepper .step.active .st-t{color:var(--ink)}.stepper .step.done .num{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.stepper .step.done .st-t{color:var(--ink-2)}.stepper .st-line{flex:1;min-width:24px;height:2px;background:var(--line);margin:0 10px}.stepper .st-line.done{background:var(--brand)}@media(max-width:640px){.stepper .st-s{display:none!important}.stepper .st-line{min-width:14px;margin:0 5px}}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.filters .field{display:flex;flex-direction:column;gap:5px}.filters .field label{font-size:12px;color:var(--muted);font-weight:500}.filters .field .req{color:var(--red)}.filters .field-w{min-width:150px}.filters .inp{padding:8px 11px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:13px;background:var(--card);outline:none;font-family:inherit;color:var(--ink);min-width:0}.filters .inp:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}.filters select.inp{cursor:pointer;padding-right:28px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.table-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line-2);flex-wrap:wrap}.table-tools .left{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12.5px}.table-tools .left select{padding:5px 24px 5px 9px;font-size:12.5px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink)}.table-tools .tt-search{position:relative;width:220px;max-width:40vw}.table-tools .tt-search input{width:100%;padding:7px 12px 7px 32px;border:1px solid var(--line);border-radius:20px;background:var(--bg);font-size:13px;outline:none;color:var(--ink)}.table-tools .tt-search input:focus{border-color:var(--brand);background:var(--card)}.table-tools .tt-search svg{position:absolute;left:11px;top:8px;width:15px;height:15px;color:var(--muted)}.pager{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;color:var(--muted);font-size:12.5px}.pager .pages{display:flex;gap:4px}.pager .pages button{min-width:30px;height:30px;border:1px solid var(--line);background:var(--card);border-radius:7px;font-size:12.5px;color:var(--ink-2);cursor:pointer}.pager .pages button.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.pager .pages button:disabled{opacity:.5;cursor:default}.cell-sub{color:var(--muted);font-size:12px}.dt .link,.link{color:var(--brand-600);font-weight:600;cursor:pointer}.dt .link:hover,.link:hover{text-decoration:underline}.avatar-sm{width:28px;height:28px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:inline-grid;place-items:center;font-size:11px;font-weight:600;margin-right:8px;vertical-align:middle}.row-act{display:flex;gap:5px}.mini{width:30px;height:30px;border:1px solid var(--line);background:var(--card);border-radius:8px;display:grid;place-items:center;color:var(--muted);cursor:pointer}.mini svg{width:15px;height:15px}.mini:hover{background:var(--slate-bg);color:var(--ink)}.mini.del:hover{color:var(--red);border-color:#fecaca;background:var(--red-bg)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}@media(max-width:1080px){.info-grid{grid-template-columns:1fr}}.info-row .v.money,.money{font-variant-numeric:tabular-nums;font-weight:700}.sub-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.sub-tabs .sub-tab{padding:8px 15px;border-radius:20px;border:1px solid var(--line);background:var(--card);font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;text-decoration:none}.sub-tabs .sub-tab.active{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.hint{font-size:12px;color:var(--muted);background:var(--brand-soft);border:1px solid var(--brand-100);border-radius:var(--r-sm);padding:9px 12px;display:flex;gap:8px;align-items:flex-start;margin-bottom:16px}.hint svg{width:16px;height:16px;flex-shrink:0;margin-top:1px;color:var(--brand)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;line-height:1.4}.badge.green{color:var(--green);background:var(--green-bg)}.badge.amber{color:var(--amber);background:var(--amber-bg)}.badge.red{color:var(--red);background:var(--red-bg)}.badge.blue{color:var(--blue);background:var(--blue-bg)}.badge.slate{color:var(--muted);background:var(--slate-bg)}.form-actions .grow{flex:1}.two-col-form{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}@media(max-width:1080px){.two-col-form{grid-template-columns:1fr}}.ss{position:relative}.ss-trigger{width:100%;height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font-size:13.5px;cursor:pointer;font-family:inherit;transition:border-color .15s,box-shadow .15s}.ss.open .ss-trigger{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100)}.ss.disabled .ss-trigger{background:var(--slate-bg);color:var(--muted);cursor:default}.ss-value{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-ph{color:var(--muted-2)}.ss-chev{color:var(--muted);transition:transform .15s;flex-shrink:0;width:16px;height:16px}.ss.open .ss-chev{transform:rotate(180deg)}.ss-clear{color:var(--muted-2);display:inline-flex;padding:2px;border-radius:4px}.ss-clear svg{width:14px;height:14px}.ss-clear:hover{color:var(--red);background:var(--red-bg)}.ss-panel{position:absolute;z-index:60;top:calc(100% + 5px);left:0;right:0;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);overflow:hidden;animation:ssPop .12s ease}@keyframes ssPop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.ss-search{display:flex;align-items:center;gap:8px;padding:9px 11px;border-bottom:1px solid var(--line-2);color:var(--muted)}.ss-search svg{width:15px;height:15px;flex-shrink:0}.ss-search input{border:none;outline:none;background:transparent;width:100%;font-size:13px;color:var(--ink);font-family:inherit}.ss-list{max-height:244px;overflow-y:auto;padding:5px}.ss-opt{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:none;background:none;border-radius:8px;font-size:13.5px;color:var(--ink-2);cursor:pointer;text-align:left;font-family:inherit}.ss-opt svg{width:15px;height:15px;color:var(--brand);flex-shrink:0}.ss-opt.hi{background:var(--slate-bg)}.ss-opt.sel{color:var(--brand-700);font-weight:600}.ss-empty{padding:18px;text-align:center;color:var(--muted);font-size:13px}@media(max-width:760px){.input,.textarea,.input-wrapper .input,.fleeto-input,textarea.fleeto-input,.select,.fleeto-select,select.fleeto-input,input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=tel],input[type=date],textarea{font-size:16px}}.kpi-row{display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:18px}.kpi-row.c3{grid-template-columns:repeat(3,1fr)}@media(max-width:1100px){.kpi-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.kpi-row{grid-template-columns:1fr}}.nkpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);border-left:4px solid var(--muted)}.nkpi .label{color:var(--muted);font-size:12.5px}.nkpi .val{font-size:24px;font-weight:700;margin-top:6px;font-variant-numeric:tabular-nums}.nkpi .sub{color:var(--muted);font-size:12px;margin-top:3px}.nkpi.k-alloc{border-left-color:var(--muted)}.nkpi.k-comm{border-left-color:var(--blue)}.nkpi.k-disb{border-left-color:var(--green)}.nkpi.k-avail{border-left-color:var(--brand)}.nkpi.k-avail .val{color:var(--brand-700)}.nkpi.k-red{border-left-color:var(--red)}.nkpi.k-red .val{color:var(--red)}.nkpi.k-amber{border-left-color:var(--amber)}.pbar{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--slate-bg);margin:4px 0}.pbar i{display:block;height:100%}.pbar .d{background:var(--green)}.pbar .c{background:var(--blue)}.pbar.sm{height:8px;margin:0}.legend{display:flex;gap:16px;font-size:12px;color:var(--muted);margin-top:8px;flex-wrap:wrap}.legend b{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px}.heat{height:8px;border-radius:999px;background:var(--slate-bg);overflow:hidden}.heat i{display:block;height:100%;background:var(--brand)}.note{padding:11px 14px;border-radius:9px;font-size:13px;display:flex;gap:9px;align-items:flex-start;margin-bottom:14px}.note.warn{background:var(--amber-bg);color:var(--amber)}.note.info{background:var(--blue-bg);color:var(--blue)}.note.ok{background:var(--green-bg);color:var(--green)}.note.err{background:var(--red-bg);color:var(--red)}.note b{color:inherit}.steps{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.steps>div{flex:1;min-width:130px;padding:10px 12px;border-radius:9px;border:1px solid var(--line);background:var(--card);font-size:12.5px;font-weight:600;color:var(--muted)}.steps>div.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-700)}.steps>div.done{color:var(--green);border-color:var(--green);background:var(--green-bg)}.timeline .ev{position:relative;padding:0 0 18px 18px;border-left:2px solid var(--line)}.timeline .ev:last-child{border-left-color:transparent;padding-bottom:0}.timeline .ev:before{content:"";position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--brand);border:2px solid var(--card)}.timeline .ev.wait:before{background:var(--line)}.timeline .ev .t{color:var(--muted);font-size:12px}.timeline .ev .d2{color:var(--muted);font-size:12.5px}.report-grid{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.report-grid{grid-template-columns:1fr}}.rep-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px}.rep-card h4{margin:0;font-size:14.5px}.rep-card .rc-actions{display:flex;gap:6px;margin-top:auto;padding-top:8px}.two-col{display:grid;gap:16px;grid-template-columns:1fr 1fr}@media(max-width:900px){.two-col{grid-template-columns:1fr}}.card-pad{padding:18px}.card-h2{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.card-h2 h3{font-size:15px;margin:0}.card-h2 .sp{margin-left:auto}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.chip2{display:inline-block;padding:2px 9px;border-radius:7px;background:var(--slate-bg);border:1px solid var(--line);font-size:12px}.donut2{width:120px;height:120px;border-radius:50%;display:grid;place-items:center}.donut2 .hole{width:80px;height:80px;border-radius:50%;background:var(--card);display:grid;place-items:center;text-align:center}.money-neg{color:var(--red)}.money-pos{color:var(--green)}.mini-form-grid{display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.mini-form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.mini-form-grid{grid-template-columns:1fr}}.mini-form-grid.g3{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.mini-form-grid.g3{grid-template-columns:1fr}}.mini-form-grid.g2{grid-template-columns:repeat(2,1fr)}@media(max-width:560px){.mini-form-grid.g2{grid-template-columns:1fr}}.fld{display:flex;flex-direction:column;gap:6px}.fld label{font-size:12.5px;font-weight:600}.toolbar{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.card>.toolbar+.dt-wrap,.card>.dt-wrap{border:0;border-radius:0;box-shadow:none;background:transparent}.nsearch,.search{display:flex;align-items:center;gap:9px;flex:1 1 260px;min-width:200px;max-width:440px;background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:0 12px;height:42px;color:var(--muted-2);transition:border-color .15s,box-shadow .15s,background .15s}.nsearch input,.search input{border:0;background:transparent;outline:none;width:100%;height:100%;font:inherit;font-size:14px;color:var(--ink)}.nsearch input::placeholder,.search input::placeholder{color:var(--muted-2)}.nsearch:focus-within,.search:focus-within{border-color:var(--brand);background:var(--card);box-shadow:0 0 0 3px var(--brand-soft);color:var(--brand-600)}.nsearch-ic{flex-shrink:0;width:17px;height:17px}.nsearch-clear{flex-shrink:0;display:grid;place-items:center;width:22px;height:22px;border:0;cursor:pointer;border-radius:50%;background:var(--slate-bg);color:var(--muted);padding:0}.nsearch-clear:hover{background:var(--line);color:var(--ink)}.nsearch-clear svg{width:13px;height:13px}.nsearch-count{flex-shrink:0;font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}.tbl-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:13px 16px;color:var(--muted);font-size:12.5px;border-top:1px solid var(--line)}.tbl-foot b,.tbl-foot strong{color:var(--ink)}.pill-tab{display:inline-flex;gap:6px;flex-wrap:wrap}.pill-tab span{padding:7px 14px;border-radius:999px;border:1px solid var(--line);font-weight:600;font-size:12.5px;cursor:pointer;background:var(--card);color:var(--muted);transition:.12s;-webkit-user-select:none;user-select:none}.pill-tab span:hover{border-color:var(--brand);color:var(--brand-600)}.pill-tab span.on{background:var(--brand);border-color:var(--brand);color:#fff}.card .dt thead th{position:sticky;top:0;z-index:1;background:var(--slate-bg)}.card .dt tbody tr{transition:background .12s}.card .dt tbody tr:hover{background:var(--brand-soft)}.card .dt th:first-child,.card .dt td:first-child{padding-left:18px}.card .dt th:last-child,.card .dt td:last-child{padding-right:18px}.card .dt td.num{color:var(--ink);font-weight:500}.dt-wrap{max-height:none}.dt tbody tr.clickable{cursor:pointer}
