@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&family=Fira+Sans:wght@300;400;500;600;700&display=swap";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}[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]{-webkit-text-decoration:underline dotted;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:#2960ad;--color-primary-light:#3d7fd4;--color-primary-dark:#1f4d8f;--color-accent:#f59e0b;--color-accent-light:#fcd34d;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3d7fd4;--color-bg-base:#f8fafc;--color-bg-elevated:#fff;--color-bg-card:#fff;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#94a3b8;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--font-heading:"Fira Code", monospace;--font-body:"Fira Sans", sans-serif;--transition-fast:.15s ease-out;--transition-base:.2s ease-out;--transition-slow:.3s ease-out;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--bp-sm:576px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--bp-2xl:1600px;--bp-3xl:2560px}body{font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text-primary);font-weight:600;line-height:1.3}h1{font-size:32px}h2{font-size:24px}h3{font-size:20px}h4{font-size:16px}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.bg-gradient-primary{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%)}.bg-gradient-accent{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-light) 100%)}.card-elevated{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.card-elevated:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-base)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.chart-color-1{color:#2960ad}.chart-color-2{color:#10b981}.chart-color-3{color:#f59e0b}.chart-color-4{color:#ef4444}.chart-color-5{color:#8b5cf6}.chart-color-6{color:#ec4899}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg, var(--color-border-light) 0px, var(--color-border) 40px, var(--color-border-light) 80px);background-size:200px 100%;animation:1.5s ease-in-out infinite skeleton-loading}:root{--layout-sidebar-w:clamp(200px, 13vw, 248px);--layout-header-h:clamp(52px, 4vh, 60px);--layout-gap:clamp(10px, .75vw, 18px);--layout-padding-x:clamp(12px, 1.25vw, 28px);--layout-padding-y:clamp(10px, 1vh, 20px);--layout-content-max:min(100%, 2400px);--text-base:clamp(13px, 12.35vw, 15px);--text-sm:clamp(11px, 10.25vw, 13px);--text-lg:clamp(14px, 13.4vw, 17px);--text-kpi:clamp(22px, 15.2vw, 34px);--chart-min-h:clamp(200px, 26vh, 380px);--chart-mid-h:clamp(280px, 32vh, 440px)}html{font-size:var(--text-base)}body{min-width:320px;overflow-x:hidden}@media (width>=2560px){:root{--layout-gap:18px;--layout-padding-x:28px}}@media (width<=1279px){:root{--layout-sidebar-w:200px}}@media (width<=991px){.app-shell__sidebar{left:0;top:var(--layout-header-h);z-index:var(--z-fixed);transition:transform var(--transition-base);box-shadow:var(--shadow-lg);position:fixed;bottom:0;transform:translate(-100%)}.app-shell__sidebar--open{transform:translate(0)}.app-shell__sidebar-backdrop{inset:0;top:var(--layout-header-h);z-index:calc(var(--z-fixed) - 1);background:#0f172a59;display:none;position:fixed}.app-shell__sidebar-backdrop--visible{display:block}.app-shell__menu-toggle{display:inline-flex!important}}@media (width>=992px){.app-shell__menu-toggle,.app-shell__sidebar-backdrop{display:none!important}}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#app{text-align:left;box-sizing:border-box;border:none;width:100%;max-width:none;min-height:100vh;margin:0;display:block}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}*{box-sizing:border-box;margin:0;padding:0}#app{background:#f0f2f5;width:100%;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif}.header-panel[data-v-97c10bc3]{background:var(--color-bg-elevated,#fff);border-radius:var(--radius-md,8px);width:360px;max-height:420px;box-shadow:var(--shadow-md,0 6px 16px #00000014);flex-direction:column;display:flex}.header-panel__head[data-v-97c10bc3]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 16px 8px;display:flex}.header-panel__title[data-v-97c10bc3]{font-size:14px;font-weight:600}.header-panel__critical[data-v-97c10bc3]{color:var(--color-error);font-size:12px}.header-panel__list[data-v-97c10bc3]{max-height:300px;overflow-y:auto}.header-panel__item[data-v-97c10bc3]{cursor:pointer;align-items:flex-start;gap:10px;padding:10px 16px;transition:background .15s;display:flex}.header-panel__item[data-v-97c10bc3]:hover{background:var(--color-border-light)}.header-panel__item-icon[data-v-97c10bc3]{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.header-panel__item-icon--alert[data-v-97c10bc3]{color:#ff4d4f;background:#ff4d4f1a}.header-panel__item-icon--workorder[data-v-97c10bc3]{color:#2960ad;background:#2960ad1a}.header-panel__item-icon--announcement[data-v-97c10bc3]{color:#faad14;background:#faad141f}.header-panel__item-body[data-v-97c10bc3]{flex:1;min-width:0}.header-panel__item-title[data-v-97c10bc3]{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:1.4;overflow:hidden}.header-panel__item-summary[data-v-97c10bc3]{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.header-panel__item-time[data-v-97c10bc3]{color:var(--color-text-tertiary,#94a3b8);margin-top:4px;font-size:11px}.header-panel__tag[data-v-97c10bc3]{border-radius:4px;flex-shrink:0;padding:0 6px;font-size:11px}.header-panel__tag--critical[data-v-97c10bc3]{color:#ff4d4f;background:#ff4d4f1a}.header-panel__footer[data-v-97c10bc3]{border-top:1px solid var(--color-border);justify-content:space-between;padding:4px 8px 8px;display:flex}.header-panel[data-v-b346804c]{background:var(--color-bg-elevated,#fff);border-radius:var(--radius-md,8px);width:360px;max-height:440px;box-shadow:var(--shadow-md,0 6px 16px #00000014);flex-direction:column;display:flex}.header-panel__head[data-v-b346804c]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 16px 8px;display:flex}.header-panel__title[data-v-b346804c]{font-size:14px;font-weight:600}.header-panel__total[data-v-b346804c]{color:var(--color-text-secondary);font-size:12px}.header-panel__stats[data-v-b346804c]{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(4,1fr);gap:4px;padding:8px 12px;display:grid}.header-panel__stat[data-v-b346804c]{text-align:center;cursor:pointer;border-radius:6px;padding:6px 4px;transition:background .15s}.header-panel__stat[data-v-b346804c]:hover{background:var(--color-border-light)}.header-panel__stat--danger .header-panel__stat-value[data-v-b346804c]{color:var(--color-error)}.header-panel__stat-value[data-v-b346804c]{color:var(--color-primary);font-size:18px;font-weight:600;line-height:1.2;display:block}.header-panel__stat-label[data-v-b346804c]{color:var(--color-text-secondary);font-size:11px}.header-panel__list[data-v-b346804c]{max-height:240px;overflow-y:auto}.header-panel__item[data-v-b346804c]{cursor:pointer;align-items:center;gap:8px;padding:10px 16px;transition:background .15s;display:flex}.header-panel__item[data-v-b346804c]:hover{background:var(--color-border-light)}.header-panel__item-body[data-v-b346804c]{flex:1;min-width:0}.header-panel__item-title[data-v-b346804c]{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.header-panel__item-meta[data-v-b346804c]{color:var(--color-text-secondary);gap:8px;margin-top:2px;font-size:11px;display:flex}.header-panel__tag[data-v-b346804c]{color:#2960ad;background:#2960ad1a;border-radius:4px;flex-shrink:0;padding:0 6px;font-size:11px}.header-panel__tag--overdue[data-v-b346804c]{color:#ff4d4f;background:#ff4d4f1a}.header-panel__tag--waiting_verify[data-v-b346804c]{color:#faad14;background:#faad141f}.header-panel__footer[data-v-b346804c]{border-top:1px solid var(--color-border);padding:4px 8px 8px}.locale-switcher[data-v-b91b48b4]{color:#000000a6;align-items:center;height:36px;padding:0 10px;display:inline-flex}.locale-switcher__label[data-v-b91b48b4]{margin-left:4px;font-size:13px}.locale-switcher--compact[data-v-b91b48b4]{padding:0 8px}.app-shell{background:var(--color-bg-base);min-height:100vh;font-family:var(--font-body);color:#1e293b;flex-direction:column;font-size:14px;display:flex}.app-shell__topbar{height:var(--layout-header-h,56px);min-height:var(--layout-header-h,56px);background:var(--color-bg-elevated);box-sizing:border-box;z-index:20;box-shadow:inset 0 -1px 0 var(--color-border), 0 1px 2px #0f172a0a;flex-shrink:0;align-items:center;display:flex}.app-shell__topbar-brand{width:var(--layout-sidebar-w,220px);cursor:pointer;height:100%;transition:opacity var(--transition-fast);box-sizing:border-box;flex-shrink:0;align-items:center;gap:10px;padding:0 16px;display:flex}.app-shell__topbar-brand:hover{opacity:.88}.app-shell__topbar-logo{background:linear-gradient(135deg,#2960ad 0%,#3d7fd4 100%);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex;box-shadow:0 2px 8px #2960ad3d}.app-shell__topbar-logo svg{display:block}.app-shell__topbar-brand-text{white-space:nowrap;min-width:0}.app-shell__topbar-brand-name{font-family:var(--font-heading);color:#0f172a;letter-spacing:.02em;font-size:14px;font-weight:700;line-height:1.2}.app-shell__topbar-actions{min-width:0;height:100%;padding:0 var(--layout-padding-x) 0 0;flex:1;justify-content:flex-end;align-items:center;gap:clamp(6px,.6vw,12px);display:flex}.app-shell__menu-toggle{justify-content:center;align-items:center;margin-right:4px;display:none}.app-shell__layout{flex:1;min-height:0;display:flex}.app-shell__sidebar{width:var(--layout-sidebar-w,220px);border-right:1px solid var(--color-border);background:linear-gradient(#fff 0%,#f8fafc 100%);flex-direction:column;flex-shrink:0;min-height:0;padding:0;display:flex;overflow:hidden;box-shadow:1px 0 #0f172a08}.app-shell__sidebar-nav{flex:1;padding:10px 10px 12px;overflow:hidden auto}.app-shell__sidebar-nav::-webkit-scrollbar{width:4px}.app-shell__sidebar-nav::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.app-shell__nav-section-title{letter-spacing:.06em;color:#94a3b8;-webkit-user-select:none;user-select:none;margin-top:2px;padding:10px 12px 6px;font-size:11px;font-weight:600}.app-shell__nav-item{cursor:pointer;color:#475569;min-height:42px;transition:background var(--transition-base), color var(--transition-base);-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:10px;margin:2px 0;padding:0 10px;text-decoration:none;display:flex;position:relative}.app-shell__nav-item .nav-label{flex:1;min-width:0;line-height:1.35}.app-shell__nav-item .nav-icon-wrap{width:32px;height:32px;transition:background var(--transition-base);background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-shell__nav-item .nav-icon{flex-shrink:0;font-size:16px}.app-shell__nav-item:hover{color:#2960ad;background:#2960ad0f}.app-shell__nav-item:hover .nav-icon-wrap{background:#2960ad1a}.app-shell__nav-item--active{color:#2960ad;background:#2960ad1a;font-weight:600}.app-shell__nav-item--active .nav-icon-wrap{background:#2960ad29}.app-shell__nav-item--active:before{content:"";background:#2960ad;border-radius:0 3px 3px 0;width:3px;height:22px;position:absolute;top:50%;left:-2px;transform:translateY(-50%)}.app-shell__nav-item--sub{color:#64748b;min-height:36px;padding-left:14px;font-size:13px}.app-shell__nav-item--sub:before{display:none}.app-shell__nav-item--sub.app-shell__nav-item--active{color:#2960ad;background:#2960ad0f;font-weight:600}.app-shell__nav-item--sub.app-shell__nav-item--active .nav-label:before{background:#2960ad;box-shadow:0 0 0 3px #2960ad26}.app-shell__nav-item--sub .nav-label:before{content:"";vertical-align:middle;width:5px;height:5px;transition:background var(--transition-base), box-shadow var(--transition-base);background:#cbd5e1;border-radius:50%;margin-right:8px;display:inline-block}.app-shell__nav-item--disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.app-shell__nav-chevron{color:#94a3b8;transition:transform var(--transition-base), color var(--transition-base);flex-shrink:0;margin-left:auto;font-size:10px}.app-shell__nav-chevron--open{color:#2960ad;transform:rotate(90deg)}.app-shell__nav-soon{color:#94a3b8;background:#f1f5f9;border-radius:999px;flex-shrink:0;margin-left:auto;padding:1px 6px;font-size:10px}.app-shell__nav-sub{border-left:1px solid #e2e8f0;margin:2px 0 6px 16px;padding-left:12px}.app-shell__sidebar-footer{background:#f8fafcd9;border-top:1px solid #eef2f6;flex-direction:column;flex-shrink:0;gap:2px;padding:12px 16px 14px;display:flex}.app-shell__sidebar-footer-version{color:#2960ad;font-size:11px;font-weight:600;font-family:var(--font-heading)}.app-shell__sidebar-footer-copy{color:#94a3b8;font-size:10px}.app-shell__main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.app-shell__avatar{flex-shrink:0;font-weight:600;background:var(--color-primary)!important;font-size:12px!important}.app-shell__user-btn.ant-btn{border-radius:var(--radius-md);height:36px;transition:background-color var(--transition-fast);align-items:center;padding:0 10px 0 8px;line-height:1;display:inline-flex}.app-shell__user-btn.ant-btn:hover,.app-shell__user-btn.ant-btn:focus-visible{background-color:#2960ad0f!important}.app-shell__user-trigger{align-items:center;gap:8px;min-width:0;line-height:1;display:inline-flex}.app-shell__user-trigger .ant-avatar-sm{justify-content:center;align-items:center;display:inline-flex}.app-shell__user-trigger .ant-avatar-sm .ant-avatar-string{line-height:1;position:static;transform:none!important}.app-shell__user-btn.ant-btn>.app-shell__user-trigger{display:inline-flex}.app-shell__username{text-overflow:ellipsis;white-space:nowrap;max-width:96px;color:var(--color-text-primary);font-size:14px;font-weight:500;line-height:22px;overflow:hidden}.app-shell__tenant-tag.ant-tag{letter-spacing:.02em;height:20px;color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;background:#2960ad14;border:none;border-radius:10px;flex-shrink:0;max-width:104px;margin:0;padding:0 8px;font-size:11px;font-weight:500;line-height:20px;overflow:hidden}.app-shell__body{min-height:0;padding:var(--layout-padding-y) var(--layout-padding-x);flex:1;overflow:auto}.app-shell__footer{text-align:center;color:var(--color-text-tertiary);border-top:1px solid var(--color-border-light);padding:8px 0;font-size:12px}.app-shell__footer a{color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast);margin:0 8px}.app-shell__footer a:hover{color:var(--color-primary)}.app-shell__breadcrumb{color:var(--color-text-tertiary);margin-bottom:6px;font-size:12px;line-height:20px}.app-shell__breadcrumb a{color:var(--color-text-tertiary);transition:color var(--transition-fast)}.app-shell__breadcrumb a:hover{color:var(--color-primary)}.app-shell__breadcrumb .sep{margin:0 6px}.app-shell__breadcrumb .current{color:#1e293b;font-weight:500}.pixso-card{background:var(--color-bg-elevated);border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;height:100%;padding:12px 14px;transition:box-shadow .2s,border-color .2s;display:flex;box-shadow:0 1px 3px #0f172a0a}.pixso-card:hover{border-color:#2960ad2e;box-shadow:0 4px 14px #2960ad1f}.pixso-card__title{font-family:var(--font-heading);color:#0f172a;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:600;display:flex}.pixso-card__link{color:#2960ad;cursor:pointer;font-size:12px;font-weight:400;transition:color .15s}.pixso-card__link:hover{color:#3d7fd4}@media (width>=1600px){.app-shell__topbar-brand-name{font-size:15px}.app-shell__body{padding-inline:clamp(20px,1.5vw,32px)}}@media (width>=2560px){.app-shell__nav-item{min-height:44px}.app-shell__username{max-width:120px}}@media (prefers-reduced-motion:reduce){.pixso-card:hover{box-shadow:var(--shadow-sm)}}.store-module{color:#475569;font-family:var(--font-body)}.store-module a{cursor:pointer;transition:color var(--transition-fast)}.store-module a:hover{color:#3d7fd4}.store-page__toolbar{min-height:28px;margin-bottom:var(--spacing-sm);justify-content:flex-end;align-items:center;gap:var(--spacing-sm);display:flex}.store-page__toolbar--split{justify-content:space-between}.store-page__toolbar--back-only{margin-bottom:var(--spacing-xs);justify-content:flex-start}.store-page__toolbar-left{align-items:center;gap:var(--spacing-sm);min-width:0;display:flex}.store-page__toolbar-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.store-page__back{cursor:pointer;color:#2960ad;align-items:center;gap:4px;height:28px;padding:0 4px 0 0;font-size:13px;display:inline-flex}.store-page__back:hover{color:#3d7fd4}.store-page__title{font-family:var(--font-heading);color:#0f172a;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;font-weight:600;line-height:28px;overflow:hidden}.store-page__filter{margin-bottom:var(--spacing-sm);background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px 4px;transition:box-shadow .2s,border-color .2s;box-shadow:0 1px 3px #0f172a0a}.store-page__filter:hover{border-color:#2960ad2e;box-shadow:0 4px 14px #2960ad1f}.store-page__filter .ant-form-item{margin-bottom:var(--spacing-sm)}.store-page__table-card{padding:var(--spacing-md);background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:box-shadow .2s,border-color .2s;box-shadow:0 1px 3px #0f172a0a}.store-page__table-card:hover{border-color:#2960ad24;box-shadow:0 4px 14px #2960ad1f}.store-page__stat-row{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);grid-template-columns:repeat(4,1fr);display:grid}.store-page .ant-tabs-nav{margin-bottom:var(--spacing-sm)!important}@media (width<=1200px){.store-page__stat-row{grid-template-columns:repeat(2,1fr)}}.store-stat-card{cursor:default;background:#fff;border:1px solid #e2e8f0;border-top:3px solid #2960ad;border-radius:8px;padding:12px 14px;transition:box-shadow .2s,border-color .2s;box-shadow:0 1px 3px #0f172a0a}.store-stat-card:hover{border-color:#2960ad38;box-shadow:0 6px 16px #2960ad1f}.store-stat-card__head{align-items:center;gap:6px;margin-bottom:4px;display:flex}.store-stat-card__icon{color:#2960ad;font-size:14px}.store-stat-card__label{color:#64748b;font-size:12px;line-height:18px}.store-stat-card__value{font-family:var(--font-heading);color:#0f172a;font-size:24px;font-weight:600;line-height:1.2}.store-stat-card--success{border-top-color:var(--color-success)}.store-stat-card--success .store-stat-card__icon{color:var(--color-success)}.store-stat-card--warning{border-top-color:var(--color-warning)}.store-stat-card--warning .store-stat-card__icon{color:var(--color-warning)}.store-stat-card--error{border-top-color:var(--color-error)}.store-stat-card--error .store-stat-card__icon{color:var(--color-error)}.store-detail-grid{gap:var(--spacing-md);grid-template-columns:1fr 360px;display:grid}@media (width<=1100px){.store-detail-grid{grid-template-columns:1fr}}.store-form-section{margin-bottom:var(--spacing-sm);background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px 16px;transition:box-shadow .2s,border-color .2s;box-shadow:0 1px 3px #0f172a0a}.store-form-section:hover{border-color:#2960ad24;box-shadow:0 4px 14px #2960ad1f}.store-form-section__title{font-family:var(--font-heading);color:#0f172a;border-left:3px solid #2960ad;margin-bottom:12px;padding-left:8px;font-size:14px;font-weight:600;line-height:20px}.org-layout{gap:var(--spacing-md);grid-template-columns:320px 1fr;min-height:480px;display:grid}@media (width<=992px){.org-layout{grid-template-columns:1fr}}.store-module .pixso-card{padding:var(--spacing-md);background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:box-shadow .2s,border-color .2s;box-shadow:0 1px 3px #0f172a0a}.store-module .pixso-card:hover{border-color:#2960ad2e;box-shadow:0 4px 14px #2960ad1f}.store-module .pixso-card__title{font-family:var(--font-heading);margin-bottom:var(--spacing-sm);color:#0f172a;font-size:14px;font-weight:600}.store-module .pixso-card__link{color:#2960ad}.store-module .pixso-card__link:hover{color:#3d7fd4}.store-device-count{font-variant-numeric:tabular-nums;color:var(--color-success);font-weight:500}.store-device-count--warn{color:var(--color-warning)}.store-device-count--ress-fail{color:#ff4d4f;cursor:pointer}.store-ress-fail-pop{color:#ff4d4f;flex-direction:column;align-items:flex-start;gap:4px;max-width:320px;font-size:12px;line-height:18px;display:flex}.store-ress-fail-popover .ant-popover-inner{padding:6px 10px}.store-text-muted{color:#64748b;font-size:12px}.store-health-progress{vertical-align:middle;width:120px;display:inline-block}.store-health-progress.store-health-progress--compact{width:80px}.store-health-hint{margin-left:8px}.store-action-link--danger{color:var(--color-error)}.store-action-link--danger:hover{color:var(--color-error);opacity:.85}.store-import__hint{color:#475569;margin-bottom:var(--spacing-md);line-height:1.6}.store-import__upload-icon{color:#3d7fd4;margin-bottom:var(--spacing-sm);font-size:40px}.store-import__upload-hint{color:#64748b;font-size:12px}.store-import__steps{margin-bottom:var(--spacing-lg)}.store-import__footer{margin-top:var(--spacing-lg)}.store-import__done{text-align:center;padding:40px 0}.store-import__done-icon{color:var(--color-success);margin-bottom:var(--spacing-md);font-size:48px}.store-import__done-sub{color:#64748b;margin-top:var(--spacing-xs)}.store-import__summary{margin-bottom:var(--spacing-md)}.profile-page__card{border:1px solid #e2e8f0;border-radius:8px;transition:box-shadow .2s,border-color .2s;box-shadow:0 1px 3px #0f172a0a}.profile-page__card:hover{border-color:#2960ad24;box-shadow:0 4px 14px #2960ad1f}.profile-page__avatar{font-size:28px;background:#2960ad!important}.profile-page__intro h2{color:#0f172a}.app-shell__body .ant-btn-primary:not(:disabled):not(.ant-btn-background-ghost),.store-module .ant-btn-primary:not(:disabled):not(.ant-btn-background-ghost),.profile-page .ant-btn-primary:not(:disabled):not(.ant-btn-background-ghost),.retail-dashboard .ant-btn-primary:not(:disabled):not(.ant-btn-background-ghost){background:#2960ad;border-color:#2960ad}.app-shell__body .ant-btn-primary:not(:disabled):not(.ant-btn-background-ghost):hover,.store-module .ant-btn-primary:not(:disabled):not(.ant-btn-background-ghost):hover,.profile-page .ant-btn-primary:not(:disabled):not(.ant-btn-background-ghost):hover,.retail-dashboard .ant-btn-primary:not(:disabled):not(.ant-btn-background-ghost):hover{background:#3d7fd4;border-color:#3d7fd4}.app-shell__body .ant-btn-primary.ant-btn-background-ghost:not(:disabled),.store-module .ant-btn-primary.ant-btn-background-ghost:not(:disabled),.profile-page .ant-btn-primary.ant-btn-background-ghost:not(:disabled),.retail-dashboard .ant-btn-primary.ant-btn-background-ghost:not(:disabled){color:#2960ad;background:0 0;border-color:#2960ad}.app-shell__body .ant-btn-primary.ant-btn-background-ghost:not(:disabled):hover,.store-module .ant-btn-primary.ant-btn-background-ghost:not(:disabled):hover,.profile-page .ant-btn-primary.ant-btn-background-ghost:not(:disabled):hover,.retail-dashboard .ant-btn-primary.ant-btn-background-ghost:not(:disabled):hover{color:#3d7fd4;background:#2960ad14;border-color:#3d7fd4}.app-shell__body .ant-btn-link,.store-module .ant-btn-link,.profile-page .ant-btn-link,.retail-dashboard .ant-btn-link{color:#2960ad}.app-shell__body .ant-btn-link:hover,.store-module .ant-btn-link:hover,.profile-page .ant-btn-link:hover,.retail-dashboard .ant-btn-link:hover{color:#3d7fd4}.app-shell__body .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn,.store-module .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn,.profile-page .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn,.retail-dashboard .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#2960ad}.app-shell__body .ant-tabs-ink-bar,.store-module .ant-tabs-ink-bar,.profile-page .ant-tabs-ink-bar,.retail-dashboard .ant-tabs-ink-bar{background:#2960ad}.app-shell__body .ant-pagination-item-active,.store-module .ant-pagination-item-active,.profile-page .ant-pagination-item-active,.retail-dashboard .ant-pagination-item-active{border-color:#2960ad}.app-shell__body .ant-pagination-item-active a,.store-module .ant-pagination-item-active a,.profile-page .ant-pagination-item-active a,.retail-dashboard .ant-pagination-item-active a{color:#2960ad}.app-shell__body .ant-table-thead>tr>th,.store-module .ant-table-thead>tr>th,.profile-page .ant-table-thead>tr>th,.retail-dashboard .ant-table-thead>tr>th{color:#475569;font-weight:500;background:#2960ad14!important}.app-shell__body .ant-table-thead>tr>th.ant-table-cell-fix-left,.store-module .ant-table-thead>tr>th.ant-table-cell-fix-left,.profile-page .ant-table-thead>tr>th.ant-table-cell-fix-left,.retail-dashboard .ant-table-thead>tr>th.ant-table-cell-fix-left,.app-shell__body .ant-table-thead>tr>th.ant-table-cell-fix-right,.store-module .ant-table-thead>tr>th.ant-table-cell-fix-right,.profile-page .ant-table-thead>tr>th.ant-table-cell-fix-right,.retail-dashboard .ant-table-thead>tr>th.ant-table-cell-fix-right{background:#eef2f8!important}.app-shell__body .ant-table-tbody>tr>td.ant-table-cell-fix-left,.store-module .ant-table-tbody>tr>td.ant-table-cell-fix-left,.profile-page .ant-table-tbody>tr>td.ant-table-cell-fix-left,.retail-dashboard .ant-table-tbody>tr>td.ant-table-cell-fix-left,.app-shell__body .ant-table-tbody>tr>td.ant-table-cell-fix-right,.store-module .ant-table-tbody>tr>td.ant-table-cell-fix-right,.profile-page .ant-table-tbody>tr>td.ant-table-cell-fix-right,.retail-dashboard .ant-table-tbody>tr>td.ant-table-cell-fix-right{background:#fff}.app-shell__body .ant-table-tbody>tr:hover>td,.store-module .ant-table-tbody>tr:hover>td,.profile-page .ant-table-tbody>tr:hover>td,.retail-dashboard .ant-table-tbody>tr:hover>td{background:#2960ad14!important}.app-shell__body .ant-table-tbody>tr:hover>td.ant-table-cell-fix-left,.store-module .ant-table-tbody>tr:hover>td.ant-table-cell-fix-left,.profile-page .ant-table-tbody>tr:hover>td.ant-table-cell-fix-left,.retail-dashboard .ant-table-tbody>tr:hover>td.ant-table-cell-fix-left,.app-shell__body .ant-table-tbody>tr:hover>td.ant-table-cell-fix-right,.store-module .ant-table-tbody>tr:hover>td.ant-table-cell-fix-right,.profile-page .ant-table-tbody>tr:hover>td.ant-table-cell-fix-right,.retail-dashboard .ant-table-tbody>tr:hover>td.ant-table-cell-fix-right{background:#eef2f8!important}.app-shell__body .ant-select-focused .ant-select-selector,.store-module .ant-select-focused .ant-select-selector,.profile-page .ant-select-focused .ant-select-selector,.retail-dashboard .ant-select-focused .ant-select-selector{border-color:#2960ad!important;box-shadow:0 0 0 2px #2960ad1f!important}.app-shell__body .ant-input:focus,.store-module .ant-input:focus,.profile-page .ant-input:focus,.retail-dashboard .ant-input:focus,.app-shell__body .ant-input-focused,.store-module .ant-input-focused,.profile-page .ant-input-focused,.retail-dashboard .ant-input-focused,.app-shell__body .ant-input-affix-wrapper-focused,.store-module .ant-input-affix-wrapper-focused,.profile-page .ant-input-affix-wrapper-focused,.retail-dashboard .ant-input-affix-wrapper-focused{border-color:#2960ad;box-shadow:0 0 0 2px #2960ad1f}.app-shell__body .ant-checkbox-checked .ant-checkbox-inner,.store-module .ant-checkbox-checked .ant-checkbox-inner,.profile-page .ant-checkbox-checked .ant-checkbox-inner,.retail-dashboard .ant-checkbox-checked .ant-checkbox-inner{background-color:#2960ad;border-color:#2960ad}.app-shell__body .ant-switch-checked,.store-module .ant-switch-checked,.profile-page .ant-switch-checked,.retail-dashboard .ant-switch-checked{background:#2960ad}@media (prefers-reduced-motion:reduce){.store-stat-card:hover,.store-page__filter:hover,.store-page__table-card:hover,.store-form-section:hover,.profile-page__card:hover{box-shadow:0 1px 3px #0f172a0a}}.field-hint{color:#fff;cursor:help;vertical-align:-.1em;background:#d9d9d9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;margin-left:4px;font-size:10px;font-weight:600;line-height:1;transition:background .15s;display:inline-flex}.field-hint:hover{background:#2960ad}.field-hint-label{white-space:nowrap;align-items:center;display:inline-flex}.ant-table-thead>tr>th .field-hint{margin-left:3px}.hint-pop{font-size:12px;line-height:1.6}.hint-pop__head{margin-bottom:6px;font-weight:600}.hint-pop__list{margin:0;padding-left:14px;list-style:outside}.hint-pop__list li{margin-bottom:3px}.hint-pop__foot{opacity:.75;border-top:1px solid #ffffff2e;margin-top:6px;padding-top:6px;font-size:11px}
