html,body{height:100%}body{margin:0;padding:0}#app{height:100%}.app-sider[data-v-d875eb90] .ant-layout-sider-children{display:flex;flex-direction:column;height:100%;overflow:hidden}.app-sider .logo[data-v-d875eb90],.app-sider[data-v-d875eb90] .ant-layout-sider-trigger{flex-shrink:0}.app-sider__menu-scroll[data-v-d875eb90]{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}.app-sider__menu-scroll[data-v-d875eb90] .ant-menu{border-inline-end:none!important}.app-sider__menu-scroll[data-v-d875eb90]::-webkit-scrollbar{width:6px}.app-sider__menu-scroll[data-v-d875eb90]::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:4px}.app-root-layout[data-v-d875eb90]{height:100vh;min-height:0;overflow:hidden}.app-root-layout>.ant-layout[data-v-d875eb90]{flex:1;min-height:0}.main-shell[data-v-d875eb90]{height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column}.main-header[data-v-d875eb90]{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px;line-height:56px;background:#fff;border-bottom:1px solid #e8eaef;box-shadow:0 1px #0f172a0a}.main-header__title[data-v-d875eb90]{margin:0;font-size:17px;font-weight:600;color:#0f172a;letter-spacing:0}.main-header__logout[data-v-d875eb90]{color:#64748b}.main-header__logout[data-v-d875eb90]:hover{color:#dc2626;background:#dc26260f}.main-content[data-v-d875eb90]{margin:16px;flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.main-content__inner[data-v-d875eb90]{padding:24px;background:#fff;border-radius:12px;border:1px solid #e8eaef;box-shadow:0 1px 2px #0f172a0d;flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.main-content__inner[data-v-d875eb90]:not(.main-content__inner--workspace)>*{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.main-content__inner[data-v-d875eb90]:not(.main-content__inner--workspace)>:not(.page-container):not(.erp-stack-page):not(.erp-inventory-page):not(.admin-report-page){padding:var(--admin-page-padding);box-sizing:border-box}.main-content--workspace[data-v-d875eb90]{margin:12px 16px 16px;overflow:hidden;display:flex;flex-direction:column}.main-content__inner--workspace[data-v-d875eb90]{padding:0;background:transparent;border:none;box-shadow:none;border-radius:0;min-height:calc(100vh - 84px);display:flex;flex-direction:column}.logo[data-v-d875eb90]{height:64px;display:flex;align-items:center;justify-content:center;gap:8px;background:#ffffff0d;margin:0;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.1)}.logo-text[data-v-d875eb90]{color:#fff;font-size:16px;font-weight:700;white-space:nowrap}.app-root-layout[data-v-d875eb90]{background:linear-gradient(135deg,#eef2f7,#f8fafc 46%,#eef6f3)}.app-sider[data-v-d875eb90]{overflow:hidden;background:linear-gradient(180deg,#111827,#0f172a 55%,#0b1120)!important;border-right:1px solid rgba(255,255,255,.08);box-shadow:16px 0 42px #0f172a2e}.app-sider[data-v-d875eb90]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,rgba(94,234,212,.08) 1px,transparent 1px),linear-gradient(180deg,rgba(37,99,235,.06) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.7),transparent 80%);mask-image:linear-gradient(180deg,rgba(0,0,0,.7),transparent 80%)}.app-sider[data-v-d875eb90] .ant-layout-sider-children{position:relative;z-index:1}.app-sider[data-v-d875eb90] .ant-layout-sider-trigger{height:52px;background:#020617b3;border-top:1px solid rgba(255,255,255,.08);color:#e2e8f0d1}.app-sider__menu-scroll[data-v-d875eb90]{padding:10px 10px 14px}.app-sider__menu-scroll[data-v-d875eb90] .ant-menu-dark,.app-sider__menu-scroll[data-v-d875eb90] .ant-menu-dark .ant-menu-sub,.app-sider__menu-scroll[data-v-d875eb90] .ant-menu-dark.ant-menu-inline{background:transparent!important}.app-sider__menu-scroll[data-v-d875eb90] .ant-menu-item,.app-sider__menu-scroll[data-v-d875eb90] .ant-menu-submenu-title{height:42px;line-height:42px;margin:4px 0;border-radius:8px;color:#e2e8f0c7}.app-sider__menu-scroll[data-v-d875eb90] .ant-menu-submenu-title:hover,.app-sider__menu-scroll[data-v-d875eb90] .ant-menu-item:hover{color:#fff;background:#ffffff17!important}.app-sider__menu-scroll[data-v-d875eb90] .ant-menu-item-selected{color:#fff!important;background:#ffffff1f!important;box-shadow:inset 3px 0 #14b8a6}.app-sider__menu-scroll[data-v-d875eb90] .ant-menu-submenu-open>.ant-menu-submenu-title{color:#f8fafc;background:#14b8a61f!important}.app-sider__menu-scroll[data-v-d875eb90] .ant-menu-sub .ant-menu-item{padding-left:40px!important}.main-shell[data-v-d875eb90]{background:transparent}.main-header[data-v-d875eb90]{height:72px;line-height:1.2;padding:0 28px;background:#ffffffe6;border-bottom:1px solid rgba(15,23,42,.08);box-shadow:0 12px 34px #0f172a0f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.main-header__title-block[data-v-d875eb90]{min-width:0}.main-header__eyebrow[data-v-d875eb90]{display:block;margin-bottom:5px;color:#64748b;font-size:12px;font-weight:700;letter-spacing:0}.main-header__title[data-v-d875eb90]{color:#172033;font-size:22px;font-weight:850;letter-spacing:0}.main-header__actions[data-v-d875eb90]{display:flex;align-items:center;gap:12px;min-width:0}.main-header__status[data-v-d875eb90],.main-header__user[data-v-d875eb90]{display:inline-flex;align-items:center;min-height:34px;border-radius:999px;font-size:13px;font-weight:750;white-space:nowrap}.main-header__status[data-v-d875eb90]{gap:7px;padding:0 12px;color:#0f766e;background:#0f766e14;border:1px solid rgba(15,118,110,.12)}.main-header__user[data-v-d875eb90]{max-width:160px;padding:0 14px;color:#334155;background:#f8fafc;border:1px solid rgba(15,23,42,.1);overflow:hidden;text-overflow:ellipsis}.main-header__logout[data-v-d875eb90]{height:36px;padding:0 14px;border-radius:8px;color:#64748b;font-weight:650}.main-header__logout[data-v-d875eb90]:hover{color:#9f1239;background:#e11d4814}.main-content[data-v-d875eb90]{margin:var(--admin-shell-gap)}.main-content__inner[data-v-d875eb90]{padding:0;border-radius:16px;border:1px solid rgba(15,23,42,.08);background:#ffffffe6;box-shadow:0 24px 60px #0f172a17;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.main-content__inner--workspace[data-v-d875eb90]{background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.logo[data-v-d875eb90]{height:76px;justify-content:flex-start;gap:12px;padding:0 18px;background:#ffffff0f;border-bottom:1px solid rgba(255,255,255,.1)}.logo-mark[data-v-d875eb90]{width:40px;height:40px;flex:0 0 40px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#f8fafc;background:linear-gradient(145deg,#0f766e,#2563eb);box-shadow:0 10px 22px #0000002e}.logo-mark .anticon[data-v-d875eb90]{font-size:21px}.logo-text[data-v-d875eb90]{display:grid;gap:2px;min-width:0}.logo-text strong[data-v-d875eb90],.logo-text small[data-v-d875eb90]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logo-text strong[data-v-d875eb90]{color:#f8fafc;font-size:16px;line-height:1.2;font-weight:900}.logo-text small[data-v-d875eb90]{color:#e2e8f0ad;font-size:11px;font-weight:750;letter-spacing:0}@media (max-width: 900px){.main-header[data-v-d875eb90]{height:auto;min-height:68px;align-items:flex-start;flex-direction:column;padding:14px 18px;gap:12px}.main-header__actions[data-v-d875eb90]{width:100%;flex-wrap:wrap}.main-content[data-v-d875eb90]{margin:12px}.main-content__inner[data-v-d875eb90]{border-radius:18px}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;--admin-bg: #eef2f7;--admin-surface: #ffffff;--admin-surface-soft: #f8fafc;--admin-border: rgba(15, 23, 42, .12);--admin-text: #172033;--admin-muted: #64748b;--admin-green: #0f766e;--admin-green-soft: #14b8a6;--admin-green-muted: #5eead4;--admin-blue: #2563eb;--admin-amber: #d97706;--admin-rose: #e11d48;--admin-shadow: 0 12px 30px rgba(15, 23, 42, .07);--admin-shell-gap: 20px;--admin-page-padding: 20px;--admin-section-gap: 16px;--admin-toolbar-y: 14px;--admin-toolbar-x: 16px;--admin-control-row-gap: 10px;--admin-control-column-gap: 12px}body{margin:0;min-width:320px;height:100%;background:linear-gradient(135deg,#eef2f7,#f8fafc 46%,#eef6f3)}#app{width:100%;height:100%}html{height:100%}.page-container{padding:var(--admin-page-padding);flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--admin-section-gap);overflow:hidden;box-sizing:border-box}.page-toolbar{flex-shrink:0}.app-root-layout .page-container>.page-toolbar{margin-bottom:0}.page-body-scroll{flex:1;min-height:0;min-width:0;overflow:auto;scrollbar-gutter:stable}.erp-stack-page{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:var(--admin-page-padding);box-sizing:border-box}.erp-stack-page>.ant-card{flex:1;min-height:0;min-width:0;overflow:hidden;display:flex!important;flex-direction:column}.erp-stack-page .ant-card-body{flex:1;min-height:0;overflow:auto}.erp-inventory-page{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:var(--admin-page-padding);box-sizing:border-box}.erp-inventory-page>.ant-row{flex:1;min-height:0}.erp-inventory-page>.ant-row>.ant-col{display:flex;flex-direction:column;min-height:0}.erp-inventory-page>.ant-row>.ant-col>.ant-card{flex:1;min-height:0;overflow:hidden;display:flex!important;flex-direction:column}.erp-inventory-page .ant-card-body{flex:1;min-height:0;overflow:auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f0f0f0;flex-wrap:wrap;gap:12px}.page-header h2{margin:0;font-size:18px;font-weight:600}.page-toolbar{display:flex;flex-wrap:wrap;align-items:center;row-gap:var(--admin-control-row-gap);column-gap:var(--admin-control-column-gap);margin-bottom:var(--admin-section-gap);padding:var(--admin-toolbar-y) var(--admin-toolbar-x);background:#f7f9fc;border-radius:10px}.page-toolbar__filters{display:flex;flex-wrap:wrap;align-items:center;row-gap:var(--admin-control-row-gap);column-gap:var(--admin-control-column-gap);min-width:0}.page-toolbar__actions{display:flex;flex-wrap:wrap;align-items:center;row-gap:var(--admin-control-row-gap);column-gap:var(--admin-control-column-gap);margin-left:auto;justify-content:flex-end}.page-toolbar__help{margin-left:auto;flex-shrink:0}.page-toolbar__actions .page-toolbar__help{margin-left:0}.page-toolbar__hint{flex:1 0 100%;margin:0;color:#00000073;font-size:12px;line-height:1.5}.page-toolbar .ant-btn+.ant-btn{margin-left:0}.admin-report-page{padding:var(--admin-page-padding);background:transparent;box-sizing:border-box}.admin-report-page .page-toolbar{margin-bottom:0;padding:var(--admin-toolbar-y) var(--admin-toolbar-x);background:#fffffff0;border:1px solid rgba(15,23,42,.08);border-radius:8px;box-shadow:0 8px 24px #0f172a0f}.admin-report-page .page-body-scroll{padding:4px 2px 24px}.admin-report-page .page-body-scroll>.ant-tabs,.admin-report-page .page-body-scroll>.ant-card,.admin-report-page .page-body-scroll>.ant-table-wrapper{min-width:0}.admin-report-page .ant-card{border-radius:8px;border:1px solid rgba(15,23,42,.08);box-shadow:0 8px 24px #0f172a0d;background:#fffffff5}.admin-report-page .ant-card .ant-card{box-shadow:none;background:#f8fafc}.admin-report-page .ant-card .ant-card .ant-card-body{padding:14px}.admin-report-page .ant-card-head{min-height:48px;border-bottom-color:#0f172a14}.admin-report-page .ant-card-head-title{color:var(--admin-text);font-weight:800}.admin-report-page .ant-statistic-title{color:var(--admin-muted);font-size:12px}.admin-report-page .ant-statistic-content{color:var(--admin-text);font-weight:750}.admin-report-page .ant-alert{border-radius:8px;border-color:#0f172a1a;background:#f8fafcf0}.admin-report-page .ant-tabs-nav{margin-bottom:12px}.admin-report-page .ant-tabs-tab{padding:8px 0;font-weight:650}.admin-report-page .ant-table-wrapper{border-radius:8px;overflow:auto;border:1px solid rgba(15,23,42,.08);background:#fff}.admin-report-page .ant-table-thead>tr>th{background:#f8fafc!important;color:#334155!important;font-weight:700!important}.admin-report-page .ant-table-tbody>tr:hover>td{background:#f1f5f9!important}.admin-report-page .ant-statistic{min-width:0}.admin-report-page .ant-row{row-gap:12px}.admin-report-page .ant-col>.ant-card{height:100%}.admin-report-page .ant-statistic-content-value{letter-spacing:0}.admin-report-page .ant-tabs>.ant-tabs-nav{flex-shrink:0;padding:0 2px}.admin-report-page .ant-tabs-content,.admin-report-page .ant-tabs-tabpane{min-width:0}.admin-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.admin-kpi-card{min-width:0;padding:14px 16px;border:1px solid rgba(15,23,42,.08);border-radius:8px;background:#fff;box-shadow:0 8px 22px #0f172a0d}.admin-kpi-card__label{color:var(--admin-muted);font-size:12px;font-weight:700}.admin-kpi-card__value{margin-top:4px;color:var(--admin-text);font-size:22px;line-height:1.2;font-weight:800}.admin-kpi-card__hint{margin-top:6px;color:#94a3b8;font-size:12px}.admin-chart-surface{min-width:0;border:1px solid rgba(15,23,42,.08);border-radius:8px;background:#fff;box-shadow:0 8px 22px #0f172a0d}.page-toolbar .ant-btn,.page-toolbar .ant-input,.page-toolbar .ant-input-affix-wrapper,.page-toolbar .ant-input-number,.page-toolbar .ant-input-search,.page-toolbar .ant-select-selector,.page-toolbar .ant-picker{height:32px}.page-toolbar .ant-select-selector{display:flex;align-items:center}.page-toolbar__filters .ant-input-search,.page-toolbar__filters .ant-input-affix-wrapper,.page-toolbar__filters .ant-select,.page-toolbar__filters .ant-picker{max-width:100%}.page-toolbar__filters>.ant-btn-primary:last-child,.page-toolbar__filters>.ant-btn[type=primary]:last-child{margin-left:4px}@media (max-width: 640px){.page-toolbar{flex-direction:column;align-items:stretch;padding:12px}.page-toolbar__filters,.page-toolbar__actions{width:100%;margin-left:0;justify-content:flex-start}.page-toolbar__filters .ant-input-search,.page-toolbar__filters .ant-select,.page-toolbar__filters .ant-picker{width:100%!important}}.text-muted{color:#999}.app-root-layout .ant-card{border-color:var(--admin-border);border-radius:8px;background:#fffffff5;box-shadow:var(--admin-shadow)}.app-root-layout .ant-card-head{min-height:54px;border-bottom-color:#0f172a14}.app-root-layout .ant-card-head-title{color:var(--admin-text);font-weight:800}.app-root-layout .ant-card-extra{min-width:0}.app-root-layout .ant-table-wrapper{border-radius:8px;overflow:hidden;border:1px solid rgba(15,23,42,.08);background:#fff}.app-root-layout .ant-table-thead>tr>th{background:#f8fafc!important;color:#334155!important;font-weight:700!important;border-bottom-color:#0f172a14!important}.app-root-layout .ant-table-tbody>tr>td{border-bottom-color:#0f172a0f}.app-root-layout .ant-table-tbody>tr:hover>td{background:#f1f5f9!important}.app-root-layout .ant-btn{border-radius:8px;font-weight:650}.app-root-layout .ant-btn-primary:not(.ant-btn-background-ghost){border-color:transparent;background:linear-gradient(180deg,var(--admin-green-soft) 0%,var(--admin-green) 100%);box-shadow:0 8px 18px #0f766e29}.app-root-layout .ant-btn-primary:not(.ant-btn-background-ghost):not(:disabled):hover{border-color:transparent;background:linear-gradient(180deg,#0ea5a0,#0f766e)}.app-root-layout .ant-btn-primary.ant-btn-background-ghost{border-color:#0f766e!important;background:#fff!important;color:#0f766e!important;box-shadow:none}.app-root-layout .ant-btn-primary.ant-btn-background-ghost:not(:disabled):hover{border-color:#14b8a6!important;background:#0f766e14!important;color:#0f766e!important}.app-root-layout .ant-btn-dangerous.ant-btn-primary:not(.ant-btn-background-ghost){background:linear-gradient(135deg,#be123c,#e11d48);box-shadow:0 10px 22px #be123c29}.app-root-layout .ant-input,.app-root-layout .ant-input-affix-wrapper,.app-root-layout .ant-input-number,.app-root-layout .ant-picker,.app-root-layout .ant-select-selector{border-radius:8px!important;border-color:#0f172a24!important}.app-root-layout .ant-input:hover,.app-root-layout .ant-input-affix-wrapper:hover,.app-root-layout .ant-input-number:hover,.app-root-layout .ant-picker:hover,.app-root-layout .ant-select-selector:hover{border-color:#2563eb73!important}.app-root-layout .ant-input:focus,.app-root-layout .ant-input-affix-wrapper-focused,.app-root-layout .ant-picker-focused,.app-root-layout .ant-select-focused .ant-select-selector{border-color:#0f766eb8!important;box-shadow:0 0 0 3px #0f766e1f!important}.app-root-layout .page-toolbar{background:#fffffff0;border:1px solid rgba(15,23,42,.08);box-shadow:0 8px 24px #0f172a0f}.app-root-layout .page-header{border-bottom-color:#0f172a14}.app-root-layout .page-header h2{color:var(--admin-text);font-weight:850}.app-root-layout .page-container .stats-page-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:12px 14px;border:1px solid rgba(15,23,42,.08);border-radius:8px;background:#fffffff0;box-shadow:0 8px 24px #0f172a0d}.app-root-layout .page-container .stats-page-head__title{color:var(--admin-text);font-size:16px;line-height:1.35;font-weight:850}.app-root-layout .page-container .stats-page-head__hint{color:var(--admin-muted);font-size:13px;line-height:1.45}.app-root-layout .page-container .stats-tabs>.ant-tabs-nav{margin-bottom:12px;padding:0 2px}.app-root-layout .page-container .stats-tabs .ant-tabs-tab{padding:8px 0;font-weight:700}.app-root-layout .page-container .summary-row{margin-bottom:12px;padding:14px;border:1px solid rgba(15,23,42,.08);border-radius:8px;background:#fffffff0;box-shadow:0 8px 22px #0f172a0d}.app-root-layout .page-container .summary-row .ant-statistic{min-width:132px}.app-root-layout .page-container .summary-row .ant-statistic-title{color:var(--admin-muted);font-size:12px;font-weight:700}.app-root-layout .page-container .summary-row .ant-statistic-content{color:var(--admin-text);font-weight:800}.app-root-layout .page-container .date-hint{margin:0 0 10px;padding:8px 12px;border:1px solid rgba(37,99,235,.14);border-radius:8px;background:#eff6ffb8;color:#475569}.app-root-layout .page-container .table-foot{margin-top:10px;padding:8px 4px 0;color:var(--admin-muted);font-size:12px}.app-root-layout .page-container .period-title,.app-root-layout .page-container .day-title{color:var(--admin-text);font-weight:800}.app-root-layout .page-container .period-meta,.app-root-layout .page-container .day-meta{color:var(--admin-muted)}.app-root-layout .page-container .period-total,.app-root-layout .page-container .day-total,.app-root-layout .page-container .link-num{color:var(--admin-blue);font-weight:750}.app-root-layout .page-container .hour-chart{border:1px solid rgba(15,23,42,.08);border-radius:8px;background:#fff;box-shadow:0 8px 22px #0f172a0d}.app-root-layout .page-container .ant-table-row-level-0>td{background:#f8fafc!important}@media (max-width: 640px){.app-root-layout .page-container .summary-row{padding:12px}.app-root-layout .page-container .summary-row .ant-statistic{min-width:120px}}
