input::-ms-clear{display:none}input::-ms-reveal{display:none}@-ms-viewport{width:device-width}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{background-color:#feffe6;padding:.2em}:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-bg:#f6f7f9;--color-surface:#fff;--color-surface-subtle:#fbfcfe;--color-border:#e2e8f0;--color-border-soft:#eef2f6;--color-text:#111827;--color-text-soft:#334155;--color-muted:#64748b;--color-muted-light:#94a3b8;--color-success:#15803d;--color-warning:#b45309;--color-danger:#b91c1c;--shadow-subtle:0 1px 2px #0f172a0a;--shadow-panel:0 10px 24px #0f172a0f;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-width:0;height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text)}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{background:var(--color-bg);height:100dvh;min-height:0;overflow:hidden}.app-shell-topnav{flex-direction:column;display:flex}.app-topbar{border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;align-items:center;gap:16px;display:flex;background:#fffffff5!important;height:56px!important;padding:0 16px!important;line-height:56px!important}.topbar-brand{cursor:pointer;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:10px;min-width:0;max-width:none;height:100%;display:flex}.topbar-brand .brand-copy{max-width:220px}.brand-mark{width:32px;height:32px;box-shadow:var(--shadow-subtle);object-fit:contain;background:#fff;border:1px solid #d8e0e8;border-radius:7px;flex:0 0 32px;padding:3px;display:block}.brand-copy{min-width:0;line-height:1.15;display:grid}.brand-copy strong{color:var(--color-text);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:700;overflow:hidden}.topbar-nav{flex:none;align-self:stretch;align-items:stretch;min-width:max-content;display:flex;overflow:visible}.top-menu{min-width:max-content;height:100%;font-size:16px;line-height:56px;background:0 0!important;border-bottom:0!important}.top-menu.ant-menu-horizontal{align-items:stretch;border-bottom:0!important;display:flex!important}.top-menu.ant-menu-horizontal>.ant-menu-item,.top-menu.ant-menu-horizontal>.ant-menu-submenu,.top-menu.ant-menu-horizontal>.ant-menu-overflow-item{color:var(--color-muted);border-radius:6px 6px 0 0;font-size:16px;align-items:stretch!important;height:100%!important;margin:0 4px!important;padding:0!important;line-height:56px!important;display:inline-flex!important;top:0!important}.top-menu.ant-menu-horizontal>.ant-menu-item,.top-menu.ant-menu-horizontal>.ant-menu-overflow-item.ant-menu-item{gap:6px;align-items:center!important;padding-inline:14px!important}.top-menu.ant-menu-horizontal>.ant-menu-submenu>.ant-menu-submenu-title,.top-menu.ant-menu-horizontal>.ant-menu-overflow-item>.ant-menu-submenu-title{justify-content:center;gap:6px;width:100%;align-items:center!important;height:100%!important;margin:0!important;padding-block:0!important;padding-inline:14px!important;line-height:56px!important;display:inline-flex!important}.top-menu .ant-menu-item .ant-menu-item-icon,.top-menu .ant-menu-submenu-title .ant-menu-item-icon{vertical-align:middle;justify-content:center;align-items:center;width:16px;min-width:16px;height:16px;font-size:16px;line-height:1;display:inline-flex;margin-inline-end:0!important}.top-menu .ant-menu-item .ant-menu-item-icon>svg,.top-menu .ant-menu-submenu-title .ant-menu-item-icon>svg{flex-shrink:0;width:16px;height:16px;display:block}.top-menu .ant-menu-title-content{vertical-align:middle;font-size:16px;line-height:1;margin-inline-start:0!important}.top-menu .ant-menu-submenu-arrow{font-size:10px;margin-inline-start:4px!important}.top-menu .ant-menu-item:hover,.top-menu .ant-menu-submenu:hover,.top-menu .ant-menu-item-active,.top-menu .ant-menu-submenu-active,.top-menu .ant-menu-submenu-open>.ant-menu-submenu-title{color:var(--color-text)!important}.top-menu .ant-menu-item-selected,.top-menu .ant-menu-submenu-selected>.ant-menu-submenu-title{font-weight:600;color:var(--color-primary)!important}.top-menu .ant-menu-item:after,.top-menu .ant-menu-submenu:after{border-bottom-width:2px!important;inset-inline:14px!important}.top-menu-popup.ant-menu-submenu-popup{padding-top:4px}.top-menu-popup.ant-menu-submenu-popup>.ant-menu{box-shadow:var(--shadow-panel);border-radius:8px}.top-menu-popup.ant-menu-submenu-popup .ant-menu-item{font-size:14px}.top-menu-popup.ant-menu-submenu-popup .ant-menu-item:hover,.top-menu-popup.ant-menu-submenu-popup .ant-menu-item-active,.top-menu-popup.ant-menu-submenu-popup .ant-menu-item-selected{background:#e9eef5!important}.topbar-actions{flex:1 1 0;justify-content:flex-end;align-items:center;min-width:0;margin-left:0;display:flex}.header-user{border:1px solid var(--color-border-soft);min-width:32px;height:32px;color:var(--color-text-soft);background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 8px;font-size:13px;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.header-user:hover{color:var(--color-text);background:#f8fafc;border-color:#d8e0e8}.header-user-name{white-space:nowrap;text-overflow:ellipsis;max-width:120px;overflow:hidden}.app-content{flex:auto;min-width:0;min-height:0;padding:16px;overflow:auto}.under-dev-page{background:radial-gradient(58% 44% at 50% 34%,#2563eb12,#0000 72%),radial-gradient(42% 32% at 78% 72%,#94a3b814,#0000 68%);place-items:center;min-height:calc(100dvh - 88px);padding:28px 20px 36px;display:grid}.under-dev-card{text-align:center;background:#fffffff7;border:1px solid #e8eef5;border-radius:20px;align-content:center;justify-items:center;gap:16px;width:min(760px,100%);min-height:min(420px,100dvh - 140px);padding:64px 56px 56px;display:grid;box-shadow:0 1px 2px #0f172a08,0 22px 48px #0f172a12}.under-dev-visual{place-items:center;width:128px;height:128px;margin-bottom:8px;display:grid;position:relative}.under-dev-orbit{border:1.5px dashed #bfdbfe;border-radius:50%;animation:12s linear infinite under-dev-spin;position:absolute;inset:0}.under-dev-pulse{background:radial-gradient(circle,#2563eb24 0%,#2563eb00 70%);border-radius:50%;animation:2.4s ease-in-out infinite under-dev-pulse;position:absolute;inset:18px}.under-dev-icon{z-index:1;color:#2563eb;background:linear-gradient(165deg,#fff 0%,#eff6ff 100%);border:1px solid #c7dbf8;border-radius:24px;place-items:center;width:84px;height:84px;animation:3s ease-in-out infinite under-dev-float;display:grid;position:relative;box-shadow:0 10px 24px #2563eb1f}.under-dev-title.ant-typography{color:var(--color-text);letter-spacing:-.02em;margin:0;font-size:26px;font-weight:700}.under-dev-desc.ant-typography{color:#64748b;max-width:36em;margin:0;font-size:15px;line-height:1.75}.under-dev-status{color:#1d4ed8;background:#f8fbff;border:1px solid #dbeafe;border-radius:999px;align-items:center;gap:8px;margin-top:4px;padding:8px 14px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.under-dev-status-live{background:#2563eb;border-radius:50%;width:8px;height:8px;animation:1.8s ease-out infinite under-dev-live;box-shadow:0 0 #2563eb73}.under-dev-dots{align-items:center;gap:3px;margin-left:1px;display:inline-flex}.under-dev-dots i{background:#60a5fa;border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite under-dev-dot}.under-dev-dots i:nth-child(2){animation-delay:.15s}.under-dev-dots i:nth-child(3){animation-delay:.3s}.not-found-visual{place-items:center;width:100%;min-height:140px;margin-bottom:4px;display:grid;position:relative}.not-found-code{color:#dbe7f8;letter-spacing:-.06em;-webkit-user-select:none;user-select:none;pointer-events:none;place-items:center;font-size:clamp(96px,16vw,128px);font-weight:780;line-height:1;display:grid;position:absolute;inset:0}.not-found-icon{z-index:1;border-radius:24px;width:84px;height:84px;animation:3.2s ease-in-out infinite under-dev-float;position:relative}@keyframes under-dev-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes under-dev-spin{to{transform:rotate(360deg)}}@keyframes under-dev-pulse{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}@keyframes under-dev-live{0%{box-shadow:0 0 #2563eb73}70%{box-shadow:0 0 0 8px #2563eb00}to{box-shadow:0 0 #2563eb00}}@keyframes under-dev-dot{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.route-loading{min-height:100dvh;color:var(--color-muted);background:var(--color-bg);place-items:center;font-size:14px;display:grid}.login-page{background:var(--color-bg);place-items:center;min-height:100dvh;padding:24px;display:grid}.login-panel{border:1px solid var(--color-border);width:min(420px,100%);box-shadow:var(--shadow-panel);background:#fff;border-radius:8px;padding:28px}.login-brand{align-items:center;gap:14px;margin-bottom:24px;display:flex}.login-mark{flex-basis:42px;width:42px;height:42px;padding:5px}.login-brand .ant-typography{margin:0}.code-button{min-width:82px;padding-inline:0}.dashboard-page{gap:14px;display:grid}.balance-alert{border-radius:8px}.overview-strip{border:1px solid var(--color-border);box-shadow:var(--shadow-subtle);background:#fff;border-radius:8px;grid-template-columns:minmax(220px,1.35fr) repeat(4,minmax(128px,.7fr)) auto;align-items:stretch;display:grid;overflow:hidden}.overview-main,.overview-item,.overview-actions{border-right:1px solid var(--color-border-soft);min-width:0;padding:15px 14px}.overview-main{grid-template-columns:36px 1fr;gap:10px;display:grid}.overview-main span,.overview-item span,.summary-card span{color:var(--color-muted);font-size:12px;font-weight:500}.overview-main strong,.overview-item strong,.summary-card strong{color:var(--color-text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:7px;font-size:21px;font-weight:700;line-height:1.1;display:block}.overview-main small{color:var(--color-muted);margin-top:6px;font-size:12px;display:block}.overview-actions{border-right:0;align-items:center;gap:8px;display:flex}.dashboard-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.summary-card{border:1px solid var(--color-border);min-width:0;box-shadow:var(--shadow-subtle);background:#fff;border-radius:8px;grid-template-columns:36px 1fr;align-items:center;gap:10px;padding:14px;display:grid}.metric-icon{border:1px solid #0000;border-radius:7px;place-items:center;width:34px;height:34px;display:inline-grid}.metric-icon-blue{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.metric-icon-green{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.metric-icon-violet{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.metric-icon-amber{color:#b45309;background:#fff7ed;border-color:#fed7aa}.metric-icon-rose{color:#be123c;background:#fff1f2;border-color:#fecdd3}.metric-icon-teal{color:#0f766e;background:#f0fdfa;border-color:#99f6e4}.overview-grid{grid-template-columns:repeat(7,minmax(118px,1fr));gap:12px;display:grid}.overview-section .summary-card{grid-template-columns:32px minmax(0,1fr);gap:9px;padding:12px}.overview-section .summary-card strong{white-space:nowrap;margin-top:5px;font-size:18px;font-weight:680;line-height:1.05}.overview-section .metric-icon{width:31px;height:31px}@media (width<=1400px){.overview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=992px){.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.overview-grid{grid-template-columns:1fr}}.dashboard-grid{grid-template-columns:minmax(0,.9fr) minmax(420px,1.15fr);gap:14px;display:grid}.dashboard-section{border:1px solid var(--color-border);min-width:0;box-shadow:var(--shadow-subtle);background:#fff;border-radius:8px;padding:16px}.dashboard-section .ant-table-wrapper{overflow-x:auto}.dashboard-section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.dashboard-section-header h2{color:var(--color-text);margin:0;font-size:15px;font-weight:650;line-height:1.2}.trend-section{grid-template-rows:auto 1fr;min-height:330px;display:grid}.trend-line-chart{min-height:240px;overflow:hidden}.tabular-cell{font-variant-numeric:tabular-nums}.trend-tooltip{border:1px solid var(--color-border);box-shadow:var(--shadow-subtle);background:#fff;border-radius:7px;gap:4px;padding:8px 10px;display:grid}.trend-tooltip span{color:var(--color-muted);font-size:11px}.trend-tooltip strong{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:13px}.work-order-section{min-height:360px}.work-order-filters{justify-content:flex-end}.filter-input{width:220px}.filter-select{width:136px}.stacked-cell{gap:2px;min-width:0;line-height:1.35;display:grid}.stacked-cell strong,.stacked-cell span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.tabular-cell{font-weight:650}.recharge-form,.qr-panel{gap:16px;display:grid}.recharge-presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.amount-chip{border:1px solid var(--color-border);background:var(--color-surface-subtle);min-height:42px;color:var(--color-text);font-variant-numeric:tabular-nums;border-radius:7px;font-weight:650;transition:border-color .16s,background .16s,color .16s}.amount-chip:hover,.amount-chip.is-active{color:var(--color-primary);background:#eff6ff;border-color:#93c5fd}.full-width-input{width:100%}.qr-panel{text-align:center;justify-items:center}.qr-box{border:1px solid var(--color-border);background:#fff;border-radius:8px;padding:12px}.qr-summary{color:var(--color-muted);gap:4px;font-size:12px;display:grid}.qr-summary strong{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:24px}.modal-actions{justify-content:center}.create-work-order-form,.form-grid{gap:12px;display:grid}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.product-lines-header{justify-content:space-between;align-items:baseline;gap:12px;padding-top:2px;display:flex}.product-line-list{gap:10px;display:grid}.product-line-row{border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:8px;gap:10px;padding:12px;display:grid}.product-line-title{justify-content:space-between;align-items:center;gap:10px;min-height:32px;display:flex}.product-line-title span{color:var(--color-text);font-size:13px;font-weight:650}.product-line-title .ant-btn{width:32px;height:32px;padding:0}.product-line-grid{grid-template-columns:minmax(120px,1fr) minmax(160px,1.5fr) minmax(120px,1fr) minmax(96px,.8fr)}.create-work-order-footer{justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.create-work-order-total{color:var(--color-text-secondary,#64748b);align-items:baseline;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.create-work-order-total strong{color:#dc2626;font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.ant-btn{justify-content:center;align-items:center;gap:6px;font-weight:500;display:inline-flex}.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-select-selector{box-shadow:none!important;border-color:#d8e0e8!important}.ant-input:hover,.ant-input-affix-wrapper:hover,.ant-input-number:hover,.ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:#b8c3d1!important}.ant-modal-content{border-radius:8px}.status-badge{vertical-align:middle;white-space:nowrap;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;min-width:42px;min-height:20px;padding:1px 7px;font-size:12px;font-weight:600;line-height:16px;display:inline-flex}.status-badge-gray{color:#4b5563;background:#f3f4f6;border-color:#e5e7eb}.status-badge-green{color:#047857;background:#dcfce7}.status-badge-teal{color:#0f766e;background:#ccfbf1}.status-badge-blue{color:#2563eb;background:#dbeafe}.status-badge-indigo{color:#4f46e5;background:#e0e7ff}.status-badge-purple{color:#7e22ce;background:#f3e8ff}.status-badge-pink{color:#db2777;background:#fce7f3}.status-badge-red{color:#dc2626;background:#fee2e2}.status-badge-orange{color:#c2410c;background:#ffedd5}.status-badge-yellow{color:#a16207;background:#fef9c3}.ant-table{color:var(--color-text-soft);font-size:13px}.ant-table-thead>tr>th{color:var(--color-muted);font-size:12px;font-weight:650}@media (width<=1180px){.overview-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-main,.overview-item,.overview-actions{border-top:1px solid var(--color-border-soft)}.overview-main,.overview-item:nth-child(2),.overview-item:nth-child(3){border-top:0}.overview-actions{justify-content:flex-start}.dashboard-grid{grid-template-columns:1fr}}@media (width<=900px){.dashboard-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-section-header{display:grid}.work-order-filters{justify-content:flex-start}}@media (width<=1100px){.brand-copy{display:none}}@media (width<=640px){.app-topbar{padding-inline:10px!important}.header-user-name{display:none}.app-content{padding:10px}.under-dev-card{border-radius:16px;min-height:320px;padding:40px 22px 36px}.under-dev-visual{width:112px;height:112px}.under-dev-icon,.not-found-icon{border-radius:20px;width:72px;height:72px}.under-dev-title.ant-typography{font-size:22px}.not-found-code{font-size:84px}.not-found-visual{min-height:110px}.login-panel{padding:22px}.overview-strip,.dashboard-summary-grid{grid-template-columns:1fr}.overview-main,.overview-item,.overview-actions,.overview-item:nth-child(2),.overview-item:nth-child(3){border-top:1px solid var(--color-border-soft);border-right:0}.overview-main{border-top:0}.overview-actions{flex-wrap:wrap}.dashboard-section{padding:12px}.filter-input,.filter-select{width:100%}.form-grid-2,.form-grid-4,.product-line-grid{grid-template-columns:1fr}.product-lines-header,.create-work-order-footer{flex-direction:column;align-items:stretch}.create-work-order-footer{align-items:flex-start}}@media (prefers-reduced-motion:reduce){.under-dev-orbit,.under-dev-pulse,.under-dev-icon,.not-found-icon,.under-dev-status-live,.under-dev-dots i{animation:none!important}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
