@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Thin-DdUiS1cj.woff2) format("woff2");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-ExtraLight-DNfybfsL.woff2) format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Light-Byrs-DlH.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Regular-CtGL0YI-.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Medium-D86t5Axy.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-SemiBold-26ZP1ILp.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Bold-_OhAJEdh.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-ExtraBold-DCjt2qDm.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Black-DA1YqYMq.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}html,body,#root{margin:0;min-height:100%;font-family:Vazirmatn,Tahoma,sans-serif}html[data-lang=tg],html[data-lang=tg] body,html[data-lang=tg] #root{font-family:Segoe UI,Roboto,Noto Sans,Helvetica Neue,Arial,sans-serif}html,body,#root{background:var(--app-bg)}:root{--app-bg: #f3f5f9;--surface: #ffffff;--border: #e8ecf3;--text-1: #18202f;--text-2: #5b6474;--text-3: #8a93a3;--primary: #2f5bd3;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow-md: 0 4px 16px rgba(16, 24, 40, .08);--tone-blue: #2a78d6;--tone-orange: #eb6834;--tone-aqua: #1baf7a;--tone-yellow: #eda100;--tone-magenta: #e87ba4;--tone-green: #008300;--tone-violet: #6250d6;--tone-red: #e34948}.app-sider{position:sticky!important;top:0;height:100vh;overflow:auto}.app-brand{display:flex;align-items:center;gap:10px;padding:18px 18px 14px;color:#fff;font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden}.app-brand-logo{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#4f7cf0,#2f5bd3);box-shadow:0 4px 12px #2f5bd373;font-size:18px}.app-brand small{display:block;font-weight:400;font-size:11px;color:#ffffff8c}.app-sider,.app-sider .ant-menu-dark,.app-sider .ant-menu-dark .ant-menu-sub,.mobile-nav .ant-menu-dark,.mobile-nav .ant-menu-dark .ant-menu-sub{background:var(--persona-dark, #0f1a33)!important}.app-sider .ant-menu-dark .ant-menu-item-selected,.mobile-nav .ant-menu-dark .ant-menu-item-selected{background:var(--persona, #2f5bd3)!important}.app-brand-logo{background:var(--persona, #2f5bd3)!important;box-shadow:0 4px 12px color-mix(in srgb,var(--persona, #2f5bd3) 45%,transparent)!important}.persona-card{display:flex;align-items:center;gap:10px;margin:0 12px 12px;padding:10px 12px;border-radius:12px;color:#fff;background:color-mix(in srgb,var(--persona, #2f5bd3) 22%,transparent);border:1px solid color-mix(in srgb,var(--persona, #2f5bd3) 45%,transparent)}.persona-card .persona-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.persona-card .persona-role{font-size:12px;opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.persona-card .ant-avatar{box-shadow:0 0 0 2px #ffffff40}.app-header{border-top:3px solid var(--persona, #2f5bd3)}.persona-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:999px;font-size:13px;font-weight:600;color:var(--persona, #2f5bd3);background:color-mix(in srgb,var(--persona, #2f5bd3) 10%,#fff);border:1px solid color-mix(in srgb,var(--persona, #2f5bd3) 30%,#fff);white-space:nowrap}.persona-text{color:var(--persona, #2f5bd3)!important}.mobile-title small{display:block;font-size:11px;font-weight:600;line-height:1.2}.dash-hero{background:linear-gradient(120deg,var(--persona-dark, #1d3a8a) 0%,var(--persona, #2f5bd3) 70%,color-mix(in srgb,var(--persona, #2f5bd3) 70%,#fff) 100%)!important;box-shadow:0 10px 30px color-mix(in srgb,var(--persona, #2f5bd3) 25%,transparent)!important}.dash-hero .persona-chip{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:3px 12px;border-radius:999px;font-size:12px;background:#ffffff29;border:1px solid rgba(255,255,255,.25)}.access-map{display:flex;flex-wrap:wrap;gap:8px}.access-map button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;cursor:pointer;font:inherit;font-size:13px;color:var(--text-1);background:color-mix(in srgb,var(--persona, #2f5bd3) 7%,#fff);border:1px solid color-mix(in srgb,var(--persona, #2f5bd3) 22%,#fff)}.access-map button .anticon{color:var(--persona, #2f5bd3)}.access-map button:hover{border-color:var(--persona, #2f5bd3)}.app-sider .ant-menu-dark .ant-menu-item-group-title,.app-sider .ant-menu-dark .ant-menu-submenu-title{border-radius:8px}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px!important;border-bottom:1px solid var(--border);-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px)}.app-content{padding:20px;max-width:1480px;width:100%;margin:0 auto;box-sizing:border-box}.ant-card{box-shadow:var(--shadow-sm)}.dash-hero{position:relative;overflow:hidden;border-radius:16px;padding:22px 24px;margin-bottom:18px;color:#fff;background:linear-gradient(120deg,#1d3a8a,#2f5bd3 55%,#4f7cf0);box-shadow:0 10px 30px #2f5bd340}.dash-hero:after{content:"";position:absolute;inset-inline-start:-60px;top:-80px;width:260px;height:260px;border-radius:50%;background:#ffffff14;pointer-events:none}.dash-hero h2{margin:0 0 4px;font-size:22px;font-weight:700}.dash-hero .muted{color:#ffffffc7}.dash-hero-stats{display:flex;flex-wrap:wrap;gap:28px;margin-top:18px}.dash-hero-stats .label{font-size:12px;color:#ffffffb8}.dash-hero-stats .value{font-size:20px;font-weight:700}.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 10px;font-size:15px;font-weight:700;color:var(--text-1)}.quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:20px}.quick-tile{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;text-align:start;font:inherit;color:var(--text-1);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.quick-tile:hover,.quick-tile:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--tone) 45%,var(--border));outline:none}.quick-tile .icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;font-size:20px;color:var(--tone);background:color-mix(in srgb,var(--tone) 12%,#fff)}.quick-tile .title{font-weight:700;font-size:14px}.quick-tile .hint{font-size:12px;color:var(--text-2);line-height:1.6}.kpi{display:flex;gap:12px;align-items:flex-start;height:100%}.kpi-icon{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;font-size:18px;color:var(--tone);background:color-mix(in srgb,var(--tone) 12%,#fff)}.kpi-label{font-size:12.5px;color:var(--text-2)}.kpi-value{font-size:19px;font-weight:700;color:var(--text-1);margin-top:2px}.kpi-card.ant-card{height:100%}.kpi-card.clickable{cursor:pointer}.kpi-card.clickable:hover{box-shadow:var(--shadow-md)}.attention-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:10px;background:#f7f9fc;color:var(--text-1);transition:background .15s}.attention-item:hover{background:#eef2fb}.attention-item .count{min-width:28px;padding:0 8px;border-radius:999px;text-align:center;font-weight:700;font-size:13px;line-height:24px;background:#e8ecf3;color:var(--text-2)}.attention-item .count.hot{background:#fff1e6;color:#c2410c}.acc-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px dashed var(--border)}.acc-row:last-child{border-bottom:0}.acc-row .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trend-chart{width:100%;height:auto;display:block}.trend-chart .grid line{stroke:#eef1f6}.trend-chart .axis text{fill:var(--text-3);font-size:10px}.trend-chart .hit{fill:transparent;cursor:default}.trend-chart .hit:hover{fill:#2f5bd30d}.legend{display:flex;gap:16px;font-size:12px;color:var(--text-2)}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:6px;vertical-align:-1px}.jalali-input{width:100%;height:32px;padding:4px 11px;border:1px solid #d9d9d9;border-radius:6px;font-family:inherit;box-sizing:border-box}.jalali-input:focus{border-color:#1765ad;outline:none}.money{direction:ltr;unicode-bidi:plaintext;white-space:nowrap}.diff-table{border-collapse:collapse;font-size:12px}.diff-table td{border:1px solid #eee;padding:2px 6px}.diff-table .old{background:#fff1f0}.diff-table .new{background:#f6ffed}.ant-table-summary td{font-weight:600}@media print{.no-print,.ant-layout-sider,.ant-layout-header,.ant-pagination,button{display:none!important}.ant-layout-content{padding:0!important}body{background:#fff}}.tabbar{display:none}@media(max-width:767px){.hide-sm{display:none!important}.ant-input,.ant-input-affix-wrapper,.ant-input-number-input,.ant-select-selection-search-input,.ant-select-selector,.jalali-input,textarea.ant-input{font-size:16px!important}.jalali-input,.ant-input-number,.ant-select-single:not(.ant-select-sm){min-height:40px}.ant-btn:not(.ant-btn-sm):not(.ant-btn-icon-only){min-height:38px}.app-header{height:calc(56px + env(safe-area-inset-top))!important;padding:env(safe-area-inset-top) 8px 0!important;line-height:1.4!important}.mobile-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:16px}.app-content{padding:12px 12px calc(88px + env(safe-area-inset-bottom))}.app-content .page-header h4.ant-typography{font-size:18px}.app-content .ant-flex-wrap-wrap>.ant-select,.app-content .ant-flex-wrap-wrap>.ant-input-search,.app-content .ant-flex-wrap-wrap>.ant-input-affix-wrapper,.app-content .ant-flex-wrap-wrap>.ant-picker{width:calc(50% - 4px)!important;min-width:0!important}.app-content .ant-flex-wrap-wrap>.ant-input-search,.app-content .ant-flex-wrap-wrap>.ant-space{width:100%!important}.app-content .ant-flex-wrap-wrap>.ant-space>.ant-space-item:has(.jalali-input){flex:1}.app-content .ant-flex-wrap-wrap>.ant-space>.ant-space-item>div[style*=width]{width:100%!important}.ant-table-wrapper .ant-table{font-size:13px}.ant-card .ant-card-head{padding-inline:14px}.ant-card .ant-card-body{padding:14px}.ant-descriptions-bordered .ant-descriptions-item-label{width:40%}.ant-modal-wrap .ant-modal:not(.ant-modal-confirm){position:fixed;top:auto!important;bottom:0;inset-inline:0;width:100%!important;max-width:100%!important;margin:0!important;padding-bottom:0!important}.ant-modal-wrap .ant-modal:not(.ant-modal-confirm) .ant-modal-content{max-height:92vh;overflow-y:auto;border-radius:18px 18px 0 0;padding:18px 16px calc(16px + env(safe-area-inset-bottom))}.ant-modal-confirm .ant-modal-content{padding:18px 16px}.ant-modal-footer .ant-btn{min-width:96px}.dash-hero{padding:18px;border-radius:14px}.dash-hero h2{font-size:19px}.dash-hero .ant-segmented,.dash-hero .ant-segmented-group{width:100%}.dash-hero .ant-segmented-item{flex:1;text-align:center}.dash-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}.dash-hero-stats .value{font-size:16px}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.quick-tile{align-items:center;text-align:center;padding:12px 6px;gap:8px}.quick-tile .title{font-size:12.5px}.quick-tile .hint{display:none}.kpi{flex-direction:column;gap:8px}.kpi-icon{width:32px;height:32px;font-size:16px}.kpi-value{font-size:15px}.kpi-label{font-size:12px}.tabbar{position:fixed;bottom:0;inset-inline:0;z-index:900;display:flex;align-items:flex-end;justify-content:space-around;height:calc(62px + env(safe-area-inset-bottom));padding:0 6px env(safe-area-inset-bottom);background:#fffffff0;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-top:1px solid var(--border);box-shadow:0 -4px 20px #1018280f}.tabbar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:62px;border:0;background:none;font:inherit;font-size:11px;color:var(--text-3);cursor:pointer;-webkit-tap-highlight-color:transparent}.tabbar-item .anticon{font-size:21px}.tabbar-item.active{color:var(--primary);font-weight:600}.tabbar-fab{flex:none;display:grid;place-items:center;width:56px;height:56px;margin:0 4px 14px;border:4px solid #fff;border-radius:50%;background:linear-gradient(135deg,#4f7cf0,#2f5bd3);color:#fff;font-size:22px;box-shadow:0 6px 16px #2f5bd373;cursor:pointer;-webkit-tap-highlight-color:transparent}.tabbar-fab:active{transform:scale(.95)}}.bottom-sheet.ant-drawer-content,.bottom-sheet .ant-drawer-content{border-radius:18px 18px 0 0}.bottom-sheet .ant-drawer-header{padding:14px 16px;position:relative}.bottom-sheet .ant-drawer-header:before{content:"";position:absolute;top:6px;inset-inline-start:calc(50% - 20px);width:40px;height:4px;border-radius:2px;background:#d5dbe5}.bottom-sheet .ant-drawer-body{padding:12px 12px 0}.bottom-sheet .ant-drawer-body>:last-child:not(.quick-grid){padding-bottom:16px}.quick-grid.sheet{margin-bottom:0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.mobile-nav .ant-drawer-content{background:var(--persona-dark, #0f1a33)}.receipt-card{padding:12px;margin-bottom:10px;border:1px solid var(--border);border-radius:12px;background:#fafbfd}.sticky-submit{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px -12px -16px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--border);box-shadow:0 -4px 16px #1018280f}.is-mobile .app-content .sticky-submit{bottom:calc(62px + env(safe-area-inset-bottom));margin-inline:-12px}.card-list{display:flex;flex-direction:column;gap:10px}.card-list>.ant-spin-nested-loading>.ant-spin-container{display:flex;flex-direction:column;gap:10px}.card-list-title{font-size:13px;color:var(--text-2)}.card-list-sort{align-self:flex-start;min-width:160px}.data-card{padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm);min-width:0}.data-card.clickable{cursor:pointer;-webkit-tap-highlight-color:transparent}.data-card.clickable:active{background:#f7f9fc}.data-card.empty{padding:20px}.data-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.data-card-title{min-width:0;font-weight:700;font-size:15px;overflow-wrap:anywhere}.data-card-status{flex:none;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:55%}.data-card-status .ant-tag{margin:0}.data-card-status .ant-typography{flex-basis:100%;text-align:end;font-size:12px}.data-card-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:10px 0 0;padding-top:10px;border-top:1px dashed var(--border)}.data-card-field{min-width:0}.data-card-field dt{font-size:11.5px;color:var(--text-3);margin-bottom:2px}.data-card-field dd{margin:0;font-size:13.5px;color:var(--text-1);overflow-wrap:anywhere}.data-card-field dd *{white-space:normal!important}.data-card-field dd .ant-space{flex-wrap:wrap;row-gap:2px}.data-card-field dd .money{white-space:nowrap!important}.data-card-field dd .ant-input-number,.data-card-field dd .ant-select,.data-card-field dd .ant-input,.data-card-field dd .ant-space-compact{width:100%!important}.data-card-fields:has(.ant-input,.ant-input-number,.ant-select){grid-template-columns:1fr}.data-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.data-card-expanded{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}.data-card.summary{background:#f3f6fd;border-color:#d9e2f6}.data-card.summary .data-card-field dd{font-weight:700}.card-list-pagination{align-self:center}.filter-bar-mobile{margin-bottom:12px}.filter-bar-top{display:flex;gap:8px;align-items:center}.filter-bar-top>div>*{width:100%!important}.filter-bar-more{margin-top:8px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.filter-bar-more>.ant-select,.filter-bar-more>.ant-input-search,.filter-bar-more>.ant-input-affix-wrapper{width:calc(50% - 4px)!important;min-width:0!important}.filter-bar-more>.ant-space{width:100%!important}.filter-bar-more>.ant-space>.ant-space-item:has(.jalali-input){flex:1}.filter-bar-more>.ant-space>.ant-space-item>div[style*=width]{width:100%!important}@media(max-width:767px){.page-header{margin-bottom:12px!important;row-gap:8px!important}.page-header>.ant-space:first-child{flex:1 1 auto;min-width:55%}.page-header>.ant-space:last-child{flex:0 1 auto;max-width:100%}.page-header h4.ant-typography{font-size:18px;word-break:normal}.page-header .ant-typography-secondary{font-size:12px}.page-header>.ant-space:last-child{flex:none}}.audit-changes{display:flex;flex-direction:column;gap:6px;margin-top:6px}.audit-row{display:grid;grid-template-columns:minmax(110px,160px) 1fr;gap:4px 12px;align-items:baseline;padding:6px 10px;border-radius:8px;background:#f7f9fc;font-size:13px}.audit-field{color:var(--text-2);font-size:12.5px}.audit-values{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;overflow-wrap:break-word}.audit-old{color:#9b2c2c;text-decoration:line-through;text-decoration-color:#9b2c2c73}.audit-old .ant-tag{opacity:.7}.audit-new{color:#166534;font-weight:600}.audit-arrow{color:var(--text-3);font-size:11px}.audit-sublist{flex-basis:100%;margin:0;padding-inline-start:18px;font-weight:400}.audit-reason{margin-top:4px;font-size:13px}@media(max-width:767px){.audit-row{grid-template-columns:1fr}}[dir=ltr] .flip-ltr{transform:scaleX(-1)}.pos{--pos-cash: #16a34a;--pos-card: #2f5bd3;--pos-split: #7c3aed;display:flex;flex-direction:column;min-height:calc(100vh - 112px)}.pos kbd,.pos-empty kbd{font-family:inherit;font-size:11px;line-height:18px;min-width:20px;text-align:center;display:inline-block;padding:0 5px;border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;background:var(--surface);color:var(--text-2);margin-inline-start:3px}.pos-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm)}.pos-top-start{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}.pos-logo{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;font-size:20px;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,#fff)}.pos-title{font-weight:700;font-size:16px;color:var(--text-1)}.pos-subtitle{font-size:12px;color:var(--text-2);display:flex;align-items:center;gap:4px}.dot-sep{width:3px;height:3px;border-radius:50%;background:var(--text-3);margin:0 4px}.pos-register.ant-select{min-width:260px}.pos-register-opt{display:inline-flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%;flex:none}.status-dot.on{background:var(--pos-cash, #16a34a);box-shadow:0 0 0 3px color-mix(in srgb,#16a34a 20%,transparent)}.status-dot.off{background:#d97706}.pos-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:8px;color:var(--text-2);font-size:13px;cursor:pointer;height:32px}.pos-alert.ant-alert{margin-bottom:12px;border-radius:10px}.pos-body{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;flex:1;min-height:0}.pos-main{container:pos-main / inline-size}.pos-main,.pos-side{display:flex;flex-direction:column;gap:10px;min-width:0}.pos-scan{display:flex;gap:8px}.pos-scan .ant-input-affix-wrapper{font-size:20px;height:56px;border-width:2px;border-radius:12px;box-shadow:var(--shadow-sm)}.pos-scan .ant-input-affix-wrapper-focused{box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 14%,transparent)}.pos-scan>.ant-btn{height:56px;border-radius:12px}.pos-scan-icon{font-size:24px;color:var(--primary);margin-inline-end:6px}.pos-ready{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#15803d;white-space:nowrap}.pos-ready:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;animation:pos-pulse 1.6s ease-in-out infinite}.pos-ready.busy{color:var(--primary)}.pos-scan.has-error .pos-ready{color:var(--text-3)}@keyframes pos-pulse{0%,to{opacity:1}50%{opacity:.3}}.pos-note{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:10px;font-size:14px;animation:pos-note-in .18s ease-out}.pos-note.ok{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.pos-note.err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;animation:pos-shake .32s ease-in-out}.pos-note>.anticon{font-size:18px}.pos-note-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pos-note .muted{opacity:.75}.pos-note .money{font-weight:700}@keyframes pos-note-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes pos-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.pos-cart{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);overflow:auto;min-height:320px;max-height:calc(100vh - 330px)}.pos-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;height:100%;min-height:320px;padding:32px 16px;color:var(--text-2)}.pos-empty-icon{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;font-size:36px;color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,#fff);margin-bottom:6px}.pos-empty-title{font-size:17px;font-weight:700;color:var(--text-1)}.pos-empty-hint{font-size:13px}.pos-empty-tips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px}.pos-empty-tips>span{font-size:12px;padding:4px 10px;border-radius:999px;background:#f5f7fb;border:1px solid var(--border)}.pos-table{width:100%;border-collapse:collapse}.pos-table th{position:sticky;top:0;z-index:1;background:#f7f9fc;font-weight:600;font-size:12px;color:var(--text-2);text-align:start;padding:10px 8px;border-bottom:1px solid var(--border)}.pos-table td{padding:8px;border-bottom:1px solid var(--border);vertical-align:middle;transition:background .15s}.pos-table .num{text-align:end}.pos-table tr{cursor:pointer}.pos-table tbody tr:hover td{background:#fafbfe}.pos-table tr.selected td{background:#eef3ff}.pos-table tr.selected td:first-child{box-shadow:inset -3px 0 0 var(--primary)}[dir=ltr] .pos-table tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.pos-table tr.flash-0 td,.pos-table tr.flash-1 td{animation:pos-flash-0 .9s ease-out}.pos-table tr.flash-1 td{animation-name:pos-flash-1}@keyframes pos-flash-0{0%{background:#d1fadf}}@keyframes pos-flash-1{0%{background:#d1fadf}}.pos-idx{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 4px;border-radius:6px;background:#f1f4f9;color:var(--text-2);font-size:12px;font-weight:600}.pos-table tr.selected .pos-idx{background:var(--primary);color:#fff}.pos-item-name{font-weight:600;font-size:15px;color:var(--text-1);line-height:1.5}.pos-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;font-size:12px;color:var(--text-3)}.pos-item-meta .ant-tag{margin:0;font-size:11px;line-height:18px}.pos-qty{display:flex;align-items:center;gap:4px}.pos-qty .ant-input-number{width:64px}.pos-qty .ant-input-number input{text-align:center;font-weight:600}.pos-unit{font-size:12px;color:var(--text-3);margin-inline-start:2px}.pos-table th:nth-child(2){min-width:180px}.pos-line-discount{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:12px;color:var(--text-3)}.pos-line-discount>div{flex:1;min-width:0}.pos-line-total{font-size:15px;white-space:nowrap}.pos-line-was{font-size:11px;color:var(--text-3);text-decoration:line-through}.pos-keys{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--text-3);padding:2px 4px}.pos-total{position:relative;overflow:hidden;background:linear-gradient(135deg,#0f1a33,#1b2d5c);color:#fff;border-radius:14px;padding:16px 18px;box-shadow:var(--shadow-md)}.pos-total:after{content:"";position:absolute;inset-inline-end:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:#ffffff0f}.pos-total .label{opacity:.72;font-size:13px}.pos-total .value{font-size:clamp(24px,2.3vw,34px);font-weight:800;line-height:1.35;font-variant-numeric:tabular-nums;word-break:break-word}.pos-total .meta{display:flex;gap:14px;opacity:.75;font-size:12px}.pos-sums,.pos-pay{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-sm)}.pos-sums{font-size:13.5px}.pos-discount{color:#b45309}.pos-selected{border-top:1px dashed var(--border);padding-top:8px;font-size:13px;display:flex;flex-direction:column;gap:3px}.pos-selected-label{font-size:11.5px;color:var(--text-3)}.pos-selected-name{font-weight:600;color:var(--text-1)}.pos-pay-btn{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:10px 16px;border:0;border-radius:12px;font:inherit;font-size:16px;font-weight:600;color:#fff;cursor:pointer;background:var(--tone);box-shadow:0 2px 6px color-mix(in srgb,var(--tone) 30%,transparent);transition:transform .08s,filter .15s,box-shadow .15s}.pos-pay-btn>.anticon{font-size:20px}.pos-pay-btn>span:not(.anticon){flex:1;text-align:start}.pos-pay-btn kbd{background:#ffffff2e;border-color:#ffffff4d;color:#fff}.pos-pay-btn:hover:not(:disabled){filter:brightness(1.07);box-shadow:0 6px 14px color-mix(in srgb,var(--tone) 35%,transparent)}.pos-pay-btn:active:not(:disabled){transform:translateY(1px)}.pos-pay-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--tone) 40%,transparent);outline-offset:2px}.pos-pay-btn:disabled{cursor:not-allowed;background:#eef1f6;color:#a3abb9;box-shadow:none}.pos-pay-btn:disabled kbd{background:transparent;border-color:#dde2ea;color:#a3abb9}.pos-pay-btn.cash{--tone: var(--pos-cash);min-height:64px;font-size:18px}.pos-pay-btn.card{--tone: var(--pos-card)}.pos-pay-btn.split{--tone: var(--pos-split)}.pos-pay-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pos-pay-pair .pos-pay-btn{flex-direction:column;align-items:flex-start;gap:4px;font-size:14px;min-height:72px;position:relative}.pos-pay-pair .pos-pay-btn kbd{position:absolute;top:8px;inset-inline-end:8px}.pos-pay-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:2px}.pos-pay-tools .ant-badge{display:block}.pos-pay-tools .ant-btn{width:100%;padding-inline:6px;overflow:hidden}.pos-pay-tools .ant-btn>span:not(.ant-btn-icon){overflow:hidden;text-overflow:ellipsis}.pos-pay-total{display:flex;justify-content:space-between;align-items:baseline;background:linear-gradient(135deg,#eef3ff,#f6f8ff);border:1px solid #dbe5ff;border-radius:12px;padding:12px 16px;margin-bottom:14px}.pos-pay-total b{font-size:26px;color:var(--text-1)}.pos-pay-row{margin-bottom:14px;padding:12px;border:1px solid var(--border);border-radius:10px}.pos-pay-row-title{font-weight:600;margin-bottom:8px;color:var(--text-1)}.pos-notes{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;margin-top:8px}.pos-change{text-align:center;background:#e8f7ee;color:#11733b;border:1px solid #bbf7d0;border-radius:12px;padding:12px;margin:8px 0}.pos-change .money{font-size:30px;font-weight:800}.pos-done{display:flex;flex-direction:column;gap:8px;font-size:15px}.pos-done-head{text-align:center;margin-bottom:8px}.pos-done-icon{font-size:52px;color:#16a34a;animation:pos-pop .35s cubic-bezier(.2,1.6,.4,1)}.pos-done-title{font-size:18px;font-weight:700;margin-top:6px}@keyframes pos-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.pos-held{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;margin-bottom:8px}.pos-held-info{min-width:0}.pos-search-list{margin-top:12px;max-height:420px;overflow:auto;display:flex;flex-direction:column;gap:2px}.pos-search-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;border:1px solid transparent}.pos-search-item.active{background:#eef3ff;border-color:#dbe5ff}.pos-search-name{font-weight:600}.pos-search-price{font-weight:700;white-space:nowrap}.pos-search-hint{text-align:center;color:var(--text-3);font-size:13px;padding:28px 0 12px}@media(max-width:1200px){.pos-body{grid-template-columns:minmax(0,1fr) 320px}}@media(max-width:900px){.pos-body{grid-template-columns:minmax(0,1fr)}.pos-cart{max-height:none}.pos-keys{display:none}.pos-register.ant-select{min-width:0;width:100%}.pos-scan>.ant-btn>span:not(.ant-btn-icon){display:none}}.kpi-card.active.ant-card{border-color:var(--tone);box-shadow:0 0 0 3px color-mix(in srgb,var(--tone) 14%,transparent)}.kpi-card .kpi-icon{color:var(--tone)}.list-card.ant-card{border-radius:12px;box-shadow:var(--shadow-sm)}.row-muted td{opacity:.62}.product-cell{display:flex;align-items:center;gap:10px;min-width:200px}.product-avatar{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;font-weight:700;font-size:15px;color:var(--tone);background:color-mix(in srgb,var(--tone) 13%,#fff)}.product-name{font-weight:600;color:var(--text-1);line-height:1.5}.product-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;font-size:12px;color:var(--text-3)}.product-meta .ant-tag{margin:0;font-size:11px;line-height:18px}.barcode-chip.ant-typography{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:1px 8px;border-radius:6px;background:#f3f5f9;border:1px solid var(--border);direction:ltr;unicode-bidi:isolate;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.cat-label{display:inline-flex;align-items:center;gap:6px}.cat-dot{width:8px;height:8px;border-radius:50%;flex:none}.stock-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:12.5px;white-space:nowrap;--c: #15803d;color:var(--c);background:color-mix(in srgb,var(--c) 10%,#fff)}.stock-pill b{font-size:13.5px}.stock-pill.low{--c: #b45309}.stock-pill.out{--c: #dc2626}.stock-pill.none{--c: #6b7280}.stock-bar{display:inline-block;width:38px;height:4px;border-radius:2px;background:color-mix(in srgb,var(--c) 20%,#fff);overflow:hidden}.stock-bar>span{display:block;height:100%;background:var(--c);border-radius:2px}.product-drawer .ant-drawer-body{background:#f7f9fc}.form-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px 4px;margin-bottom:14px}.form-section-title{font-weight:700;color:var(--text-1);margin-bottom:12px;display:flex;align-items:center;gap:6px}.switch-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-bottom:12px}.switch-card{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;cursor:pointer;background:#fbfcfe}.switch-card-title{font-weight:600;font-size:13px}.switch-card-hint{font-size:11.5px;color:var(--text-3);line-height:1.6}.form-facts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.form-facts>div{flex:1 1 140px;display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding:8px 12px;border-radius:10px;background:#f5f7fb;border:1px solid var(--border)}.form-facts>div>span:first-child{font-size:12px;color:var(--text-2)}.adjust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.adjust-box{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;border-radius:12px;border:1px solid var(--border);background:#f7f9fc;text-align:center}.adjust-box>span{font-size:12px;color:var(--text-2)}.adjust-box>b{font-size:22px;line-height:40px}.adjust-box>small{font-size:11px;color:var(--text-3)}.adjust-box.input{background:var(--surface);border:2px solid var(--primary)}.adjust-box.input .ant-input-number-input{text-align:center;font-size:22px;font-weight:700}.adjust-box.plus{background:#ecfdf3;border-color:#bbf7d0;color:#15803d}.adjust-box.minus{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.adjust-box.plus>span,.adjust-box.minus>span{color:inherit}.reason-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 8px}.reason-chips .ant-tag-checkable{border:1px solid var(--border);padding:2px 10px;border-radius:999px;margin:0}.report-note{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--text-2);background:#f7f9fc;border:1px dashed var(--border);border-radius:10px;padding:8px 12px;margin-bottom:12px}.qty-in{color:#15803d;font-weight:600;white-space:nowrap}.qty-out{color:#dc2626;font-weight:600;white-space:nowrap}.margin-bar{display:inline-flex;align-items:center;gap:6px}@media(max-width:600px){.adjust-grid{grid-template-columns:1fr 1fr}.adjust-grid .adjust-box.input{grid-column:1 / -1;order:-1}}.row-danger td{background:#fff7f7}@container pos-main (max-width: 640px){.pos-scan>.ant-btn>span:not(.ant-btn-icon){display:none}.pos-table thead{display:none}.pos-table,.pos-table tbody{display:block}.pos-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name del" "qty total" "price price";align-items:center;gap:6px 10px;padding:10px 12px;border-bottom:1px solid var(--border)}.pos-table td{padding:0;border:0;background:transparent!important}.pos-table tr.selected{background:#eef3ff}.pos-table tr.selected td:first-child{box-shadow:none}.pos-table td:nth-child(1){display:none}.pos-table td:nth-child(2){grid-area:name}.pos-table td:nth-child(3){grid-area:qty}.pos-table td:nth-child(4){grid-area:price;font-size:12px;color:var(--text-2)}.pos-table td:nth-child(5){grid-area:total}.pos-table td:nth-child(5),.pos-table td:nth-child(6){justify-self:end}.pos-table td:nth-child(6){grid-area:del}}.row-clickable td{cursor:pointer}.kpi-card.attention .kpi-value{color:var(--tone)}.bulk-bar{position:sticky;top:0;z-index:3;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;margin-bottom:10px;border-radius:10px;background:#eef3ff;border:1px solid color-mix(in srgb,var(--primary) 30%,#fff)}.bulk-count{font-weight:700;color:var(--primary)}.stock-click,.price-click{cursor:pointer;border-radius:999px;display:inline-flex;align-items:center;gap:6px;outline-offset:2px}.stock-click:hover .stock-pill{box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 30%,transparent)}.price-click-icon{font-size:11px;color:var(--text-3);opacity:0;transition:opacity .15s}tr:hover .price-click-icon,.price-click:focus-visible .price-click-icon{opacity:1}.list-hint.ant-typography{display:block;margin-top:8px;font-size:12px}.panel-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.panel-head .product-avatar{width:48px;height:48px;font-size:20px;border-radius:12px}.panel-title{font-size:18px;font-weight:700;color:var(--text-1);line-height:1.6}.panel-barcodes{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px}.margin-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:16px}.margin-chips .ant-tag-checkable{border:1px solid var(--border);border-radius:999px;margin:0;font-size:11.5px}.count-tools{padding-bottom:4px}.row-pending td{background:#fffbeb}.row-flash td{animation:row-flash 1.2s ease-out}@keyframes row-flash{0%{background:color-mix(in srgb,var(--primary) 18%,#fff)}}@media(prefers-reduced-motion:reduce){.row-flash td{animation:none}}@media(max-width:600px){.product-views.ant-row{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.product-views>.ant-col{flex:0 0 140px;max-width:140px}}.count-scan{max-width:560px;margin:0 auto}.count-scan-head{margin-bottom:10px}.count-scan-title{font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.count-scan-head small{color:var(--ant-color-text-secondary, #6b7280)}.count-camera{position:relative;aspect-ratio:4 / 3;border-radius:14px;overflow:hidden;background:#0b1220;box-shadow:var(--shadow-md)}.count-camera video{width:100%;height:100%;object-fit:cover;display:block}.count-camera.off video{visibility:hidden}.count-camera-frame{position:absolute;top:22%;right:10%;bottom:22%;left:10%;border:2px solid rgba(255,255,255,.85);border-radius:10px;box-shadow:0 0 0 999px #00000047;pointer-events:none}.count-camera-frame span{position:absolute;inset-inline:6%;top:50%;height:2px;background:#ef4444;box-shadow:0 0 8px #ef4444;animation:count-scanline 1.8s ease-in-out infinite alternate}@keyframes count-scanline{0%{top:12%}to{top:88%}}.count-camera-start,.count-camera-spin{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.count-camera-torch{position:absolute;top:10px;inset-inline-end:10px}.count-hint{display:block;text-align:center;font-size:12px;margin-top:8px}.count-sheet .ant-drawer-content{border-radius:16px 16px 0 0}.count-sheet-grip{width:40px;height:4px;border-radius:2px;background:var(--border);margin:-6px auto 12px}.count-label{display:block;font-size:13px;font-weight:600;margin:10px 0 6px}.count-label .req{color:#ef4444}.count-product{min-height:28px;margin-top:8px;display:flex;flex-direction:column;gap:2px}.count-product b{font-size:16px}.count-product small{color:var(--ant-color-text-secondary, #6b7280)}.count-qty .ant-input-number-input{font-size:22px;font-weight:700;text-align:center}.count-line .ant-list-item-meta-title{margin-bottom:0!important}.count-line-qty{font-size:16px;margin-inline:8px;white-space:nowrap}.count-unit{font-size:15px;font-weight:700;color:var(--primary);padding-inline-start:8px;border-inline-start:1px solid var(--border)}.count-status{display:block;margin-top:2px;font-size:10px;opacity:.55;font-family:monospace}.count-qr{width:220px;height:220px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px}.count-qr img{width:100%;height:100%;image-rendering:pixelated}:root{--ease-out: cubic-bezier(.2, .8, .2, 1)}::selection{background:color-mix(in srgb,var(--persona, #2f5bd3) 25%,transparent)}.app-shell{background:radial-gradient(900px 520px at 100% -10%,color-mix(in srgb,var(--persona, #2f5bd3) 13%,transparent),transparent 62%),radial-gradient(700px 520px at 0% 8%,color-mix(in srgb,var(--persona-accent, var(--tone-violet)) 9%,transparent),transparent 60%),radial-gradient(900px 600px at 45% 115%,color-mix(in srgb,var(--tone-aqua) 8%,transparent),transparent 60%),var(--app-bg)!important;background-attachment:fixed!important}.app-shell .ant-layout{background:transparent}.app-sider,.mobile-nav .ant-drawer-content{background:linear-gradient(185deg,color-mix(in srgb,var(--persona-dark, #0f1a33) 72%,var(--persona, #2f5bd3)) 0%,var(--persona-dark, #0f1a33) 40%,color-mix(in srgb,var(--persona-dark, #0f1a33) 80%,#000) 100%)!important}.app-sider{box-shadow:6px 0 30px -12px #00000059;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.app-sider .ant-menu-dark,.app-sider .ant-menu-dark .ant-menu-sub,.mobile-nav .ant-menu-dark,.mobile-nav .ant-menu-dark .ant-menu-sub{background:transparent!important}.app-sider .ant-menu-dark .ant-menu-sub,.mobile-nav .ant-menu-dark .ant-menu-sub{background:#00000029!important;border-radius:10px;margin-inline:8px}.app-sider .ant-layout-sider-children,.mobile-nav .ant-drawer-content{position:relative;isolation:isolate;overflow-x:clip}.app-sider .ant-layout-sider-children:before,.mobile-nav .ant-drawer-content:before{content:"";position:absolute;z-index:-1;inset-inline:-60px;top:-140px;height:360px;background:radial-gradient(circle at 35% 45%,color-mix(in srgb,var(--persona, #2f5bd3) 70%,transparent),transparent 60%),radial-gradient(circle at 75% 55%,color-mix(in srgb,var(--persona-accent, var(--tone-violet)) 45%,transparent),transparent 55%);filter:blur(24px);opacity:.55;pointer-events:none;animation:vp-aurora 10s ease-in-out infinite alternate}.app-menu.ant-menu-dark .ant-menu-item,.app-menu.ant-menu-dark .ant-menu-submenu-title{transition:background .2s,color .2s,box-shadow .25s}.app-menu.ant-menu-dark .ant-menu-item:not(.ant-menu-item-selected):hover,.app-menu.ant-menu-dark .ant-menu-submenu-title:hover{background:#ffffff12!important}.app-menu.ant-menu .ant-menu-item-icon{color:var(--tone, inherit)!important;transition:transform .3s var(--ease-out),filter .3s}.app-menu .ant-menu-item:hover .ant-menu-item-icon,.app-menu .ant-menu-submenu-title:hover .ant-menu-item-icon{transform:scale(1.18) rotate(-8deg);filter:drop-shadow(0 0 6px var(--tone, transparent))}.app-sider .app-menu.ant-menu-dark .ant-menu-item-selected,.mobile-nav .app-menu.ant-menu-dark .ant-menu-item-selected{background:linear-gradient(120deg,color-mix(in srgb,var(--persona, #2f5bd3) 82%,#fff) 0%,var(--persona, #2f5bd3) 55%,color-mix(in srgb,var(--persona, #2f5bd3) 78%,#000) 100%)!important;box-shadow:0 8px 20px -8px color-mix(in srgb,var(--persona, #2f5bd3) 90%,transparent),inset 0 1px #ffffff38;font-weight:600}.app-menu.ant-menu .ant-menu-item-selected .ant-menu-item-icon{color:#fff!important}.app-menu .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#fff!important}.app-brand-logo{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--persona, #2f5bd3),var(--persona-accent, color-mix(in srgb, var(--persona, #2f5bd3) 65%, #fff)))!important}.app-brand-logo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.6) 50%,transparent 70%);transform:translate(-130%);animation:vp-shine 5s ease-in-out infinite}.persona-card{background:linear-gradient(135deg,color-mix(in srgb,var(--persona, #2f5bd3) 30%,transparent),#ffffff0a);border-color:#ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 1px #ffffff14}.app-shell .app-header{border-top:0;background:#ffffffb8!important;border-bottom-color:color-mix(in srgb,var(--persona, #2f5bd3) 12%,var(--border))}.app-header:before{content:"";position:absolute;top:0;inset-inline:0;height:3px;background:linear-gradient(90deg,var(--persona, #2f5bd3),color-mix(in srgb,var(--persona, #2f5bd3) 35%,#fff),var(--persona-accent, var(--tone-violet)),var(--persona, #2f5bd3));background-size:300% 100%;animation:vp-flow 8s linear infinite}.app-header .ant-avatar,.persona-card .ant-avatar{background:linear-gradient(135deg,color-mix(in srgb,var(--persona, #2f5bd3) 70%,#fff),var(--persona, #2f5bd3))!important;box-shadow:0 0 0 2px #fff,0 0 0 4px color-mix(in srgb,var(--persona, #2f5bd3) 35%,transparent)}.persona-card .ant-avatar{box-shadow:0 0 0 2px #ffffff4d}.app-content .ant-card{border-color:color-mix(in srgb,var(--border) 75%,transparent);box-shadow:0 1px 2px #1018280a,0 10px 28px -16px #10182829;transition:box-shadow .25s,border-color .25s,transform .25s var(--ease-out)}.app-content .ant-card:hover{box-shadow:0 1px 2px #1018280a,0 16px 36px -18px color-mix(in srgb,var(--persona, #2f5bd3) 40%,rgba(16,24,40,.25))}.app-content .ant-card-head{background:linear-gradient(180deg,color-mix(in srgb,var(--persona, #2f5bd3) 4%,#fff),#fff)}.app-content .ant-card-head-title>.ant-space .anticon:first-child{color:var(--persona, #2f5bd3)}.page-header h4.ant-typography{position:relative;padding-inline-start:14px}.page-header h4.ant-typography:before{content:"";position:absolute;inset-inline-start:0;top:12%;bottom:12%;width:4px;border-radius:4px;background:linear-gradient(180deg,var(--persona, #2f5bd3),var(--persona-accent, color-mix(in srgb, var(--persona, #2f5bd3) 35%, #fff)));box-shadow:0 0 10px color-mix(in srgb,var(--persona, #2f5bd3) 50%,transparent)}.section-title:before{content:"";display:inline-block;width:8px;height:8px;margin-inline-end:8px;border-radius:50%;background:var(--persona, #2f5bd3);box-shadow:0 0 0 4px color-mix(in srgb,var(--persona, #2f5bd3) 18%,transparent)}.section-title{justify-content:flex-start}.ant-btn-primary:not(.ant-btn-dangerous):not(.ant-btn-background-ghost):not(:disabled){background-image:linear-gradient(135deg,#fff3,#fff0 60%);box-shadow:0 6px 16px -8px var(--ant-color-primary, #2f5bd3);transition:transform .15s var(--ease-out),box-shadow .2s,background-color .2s}.ant-btn-primary:not(.ant-btn-dangerous):not(.ant-btn-background-ghost):not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 22px -8px var(--ant-color-primary, #2f5bd3)}.ant-btn-primary:not(:disabled):active{transform:none}.app-content .ant-table-wrapper .ant-table-thead>tr>th{background:linear-gradient(180deg,color-mix(in srgb,var(--persona, #2f5bd3) 5%,#fafbfd),color-mix(in srgb,var(--persona, #2f5bd3) 3%,#f4f6fa));font-weight:600}.app-content .ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td{background:color-mix(in srgb,var(--persona, #2f5bd3) 5%,#fff)}.dash-hero{background:linear-gradient(120deg,var(--persona-dark, #1d3a8a) 0%,var(--persona, #2f5bd3) 42%,color-mix(in srgb,var(--persona, #2f5bd3) 78%,#fff) 70%,color-mix(in srgb,var(--persona, #2f5bd3) 85%,#000) 100%)!important;background-size:220% 220%!important;animation:vp-pan 16s ease-in-out infinite alternate;box-shadow:0 18px 40px -18px color-mix(in srgb,var(--persona, #2f5bd3) 70%,transparent),inset 0 1px #fff3!important}.dash-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1.4px);background-size:18px 18px;-webkit-mask-image:linear-gradient(to left,#000,transparent 65%);mask-image:linear-gradient(to left,#000,transparent 65%);pointer-events:none}[dir=ltr] .dash-hero:before{-webkit-mask-image:linear-gradient(to right,#000,transparent 65%);mask-image:linear-gradient(to right,#000,transparent 65%)}.dash-hero-orb{position:absolute;border-radius:50%;pointer-events:none}.dash-hero-orb.a{width:240px;height:240px;inset-inline-end:-70px;bottom:-110px;background:radial-gradient(circle at 35% 35%,#ffffff52,#fff0 70%);animation:vp-float-a 12s ease-in-out infinite alternate}.dash-hero-orb.b{width:150px;height:150px;inset-inline-end:32%;top:-80px;background:radial-gradient(circle,color-mix(in srgb,var(--persona-accent, var(--tone-violet)) 55%,transparent),transparent 70%);filter:blur(6px);animation:vp-float-b 14s ease-in-out infinite alternate}.dash-hero-orb.c{width:70px;height:70px;inset-inline-end:18%;bottom:14px;border:2px solid rgba(255,255,255,.22);animation:vp-float-a 9s ease-in-out infinite alternate-reverse}.dash-hero-stats{gap:12px}.dash-hero-stats .hero-stat{min-width:150px;padding:10px 16px;border-radius:14px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 1px #ffffff26;animation:vp-rise .6s var(--ease-out) both;transition:background .2s,transform .25s var(--ease-out)}.dash-hero-stats .hero-stat:hover{background:#fff3;transform:translateY(-2px)}.dash-hero-stats .hero-stat:nth-child(2){animation-delay:80ms}.dash-hero-stats .hero-stat:nth-child(3){animation-delay:.16s}.dash-hero-stats .hero-stat:nth-child(4){animation-delay:.24s}.quick-tile{position:relative;overflow:hidden;isolation:isolate;animation:vp-rise .5s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 60ms);transition:transform .25s var(--ease-out),box-shadow .25s,border-color .25s}.quick-tile:before{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:radial-gradient(260px 130px at 85% -25%,color-mix(in srgb,var(--tone) 18%,transparent),transparent 70%);opacity:.7;transition:opacity .3s}.quick-tile:hover:before,.quick-tile:focus-visible:before{opacity:1}.quick-tile:hover,.quick-tile:focus-visible{transform:translateY(-4px);border-color:color-mix(in srgb,var(--tone) 50%,var(--border));box-shadow:0 18px 34px -18px color-mix(in srgb,var(--tone) 75%,transparent)}.quick-tile .icon{color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--tone) 70%,#fff),var(--tone));box-shadow:0 8px 18px -8px var(--tone);transition:transform .35s var(--ease-out)}.quick-tile:hover .icon,.quick-tile:focus-visible .icon{transform:scale(1.1) rotate(-8deg)}.stagger{animation:vp-rise .5s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 55ms)}.kpi-card.ant-card{position:relative;overflow:hidden;isolation:isolate}.kpi-card.ant-card:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:linear-gradient(180deg,var(--tone, #2f5bd3),color-mix(in srgb,var(--tone, #2f5bd3) 20%,transparent))}.kpi-card.ant-card:after{content:"";position:absolute;z-index:-1;width:110px;height:110px;inset-inline-end:-45px;top:-55px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--tone, #2f5bd3) 16%,transparent),transparent 70%);transition:transform .6s var(--ease-out);pointer-events:none}.kpi-card.ant-card:hover:after{transform:scale(1.5)}.kpi-card.clickable.ant-card:hover{transform:translateY(-3px);box-shadow:0 18px 32px -18px color-mix(in srgb,var(--tone, #2f5bd3) 70%,transparent)}.kpi-card .kpi-icon{color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--tone, #2f5bd3) 65%,#fff),var(--tone, #2f5bd3));box-shadow:0 6px 14px -6px var(--tone, #2f5bd3)}.attention-item{background:color-mix(in srgb,var(--persona, #2f5bd3) 4%,#f7f9fc);transition:background .2s,box-shadow .2s}.attention-item:hover{background:color-mix(in srgb,var(--persona, #2f5bd3) 9%,#fff);box-shadow:inset 3px 0 0 var(--persona, #2f5bd3)}[dir=rtl] .attention-item:hover{box-shadow:inset -3px 0 0 var(--persona, #2f5bd3)}.attention-item .count.hot{color:#fff;background:linear-gradient(135deg,#fb923c,#e34948);animation:vp-pulse 2.4s ease-out infinite}.trend-chart .bars path{transform-box:fill-box;transform-origin:bottom;animation:vp-grow .7s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 35ms)}.tabbar-item{position:relative;transition:color .2s}.tabbar-item.active{color:var(--persona, var(--primary))!important}.tabbar-item.active:before{content:"";position:absolute;top:0;inset-inline-start:calc(50% - 14px);width:28px;height:3px;border-radius:0 0 4px 4px;background:var(--persona, var(--primary));box-shadow:0 2px 10px var(--persona, var(--primary))}.tabbar-item.active .anticon{animation:vp-pop .35s var(--ease-out)}.tabbar-fab{background:linear-gradient(135deg,color-mix(in srgb,var(--persona, #2f5bd3) 65%,#fff),var(--persona, #2f5bd3))!important;box-shadow:0 8px 20px -6px var(--persona, #2f5bd3)!important}.login-page{position:relative;overflow:hidden;isolation:isolate;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;background:linear-gradient(135deg,#0b1230,#172463,#331a63)}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1.4px);background-size:22px 22px;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000,transparent 75%);mask-image:radial-gradient(circle at 50% 50%,#000,transparent 75%)}.login-orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(50px);opacity:.65;pointer-events:none}.login-orb.a{width:420px;height:420px;top:-140px;inset-inline-start:-100px;background:#4f7cf0;animation:vp-float-a 14s ease-in-out infinite alternate}.login-orb.b{width:360px;height:360px;bottom:-140px;inset-inline-end:-80px;background:#c026d3;animation:vp-float-b 16s ease-in-out infinite alternate}.login-orb.c{width:240px;height:240px;top:55%;inset-inline-start:58%;background:#14b8a6;opacity:.45;animation:vp-float-a 18s ease-in-out infinite alternate-reverse}.login-card.ant-card{border-radius:20px;border:1px solid rgba(255,255,255,.6);background:#ffffffe6;-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:0 30px 80px -20px #0000008c;animation:vp-rise .6s var(--ease-out) both}.login-logo{display:grid;place-items:center;width:58px;height:58px;margin:4px auto 12px;border-radius:18px;font-size:26px;color:#fff;background:linear-gradient(135deg,#4f7cf0,#7c3aed);box-shadow:0 14px 30px -10px #7c3aedb3;animation:vp-float-b 5s ease-in-out infinite alternate}@keyframes vp-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes vp-pan{0%{background-position:0% 40%}to{background-position:100% 60%}}@keyframes vp-flow{to{background-position:300% 0}}@keyframes vp-shine{0%,60%{transform:translate(-130%)}80%,to{transform:translate(130%)}}@keyframes vp-aurora{0%{transform:translate3d(-12px,0,0) scale(1);opacity:.45}to{transform:translate3d(14px,18px,0) scale(1.12);opacity:.7}}@keyframes vp-float-a{0%{transform:translateZ(0)}to{transform:translate3d(-24px,-18px,0) scale(1.06)}}@keyframes vp-float-b{0%{transform:translateZ(0)}to{transform:translate3d(18px,12px,0)}}@keyframes vp-pulse{0%{box-shadow:0 0 #e3494873}70%,to{box-shadow:0 0 0 8px #e3494800}}@keyframes vp-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes vp-pop{50%{transform:scale(1.22)}}@media(max-width:767px){.dash-hero-stats .hero-stat{min-width:0;padding:8px 12px}.app-shell{background-attachment:scroll!important}}@media(prefers-reduced-motion:reduce){.app-sider .ant-layout-sider-children:before,.mobile-nav .ant-drawer-content:before,.app-brand-logo:after,.app-header:before,.dash-hero,.dash-hero-orb,.dash-hero-stats .hero-stat,.quick-tile,.stagger,.attention-item .count.hot,.trend-chart .bars path,.tabbar-item.active .anticon,.login-orb,.login-card.ant-card,.login-logo{animation:none!important}.quick-tile:hover,.kpi-card.clickable.ant-card:hover,.ant-btn-primary:not(:disabled):hover{transform:none!important}}@media print{.app-shell{background:#fff!important}.dash-hero-orb,.dash-hero:before{display:none}}.persona-badge{line-height:1.7;box-shadow:0 4px 12px -6px var(--persona, #2f5bd3)}a.quick-tile,a.quick-tile:hover{color:var(--text-1)}.mywork{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.mywork .dash-hero{margin-bottom:0}.clock-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px}.clock-hero-info{display:grid;gap:6px;min-width:0}.clock-live{justify-self:start;direction:ltr;unicode-bidi:isolate;white-space:nowrap;margin-top:6px;font-size:clamp(44px,6vw,64px);font-weight:800;line-height:1;letter-spacing:.02em;font-variant-numeric:tabular-nums;text-shadow:0 6px 24px rgba(0,0,0,.25)}.clock-live small{font-size:.42em;font-weight:600;opacity:.7;margin-inline-start:4px}.clock-status{justify-self:start;display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:4px 14px;border-radius:999px;font-weight:600;font-size:13px;background:#ffffff24;border:1px solid rgba(255,255,255,.25)}.clock-status i{width:9px;height:9px;border-radius:50%;background:#ffffff8c}.clock-status.on i{background:#4ade80;animation:vp-live 1.8s ease-out infinite}.clock-rail{margin-top:10px;max-width:520px}.clock-rail-track{position:relative;height:12px;border-radius:999px;background:#ffffff24;box-shadow:inset 0 1px 2px #0003;overflow:hidden}.clock-rail-span{position:absolute;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#fff,#ffffffbf)}.clock-rail-span.open{background:repeating-linear-gradient(135deg,#86efac 0,#86efac 8px,#4ade80 8px,#4ade80 16px);background-size:200% 100%;animation:vp-stripes 1.2s linear infinite}.clock-rail-now{position:absolute;top:-2px;bottom:-2px;width:2px;margin-inline-start:-1px;background:#fde047;box-shadow:0 0 8px #fde047}.clock-rail-ticks{display:flex;justify-content:space-between;margin-top:4px;font-size:11px;opacity:.7;font-variant-numeric:tabular-nums}.clock-note.ant-input{max-width:520px;margin-top:8px;color:#fff;background:#ffffff1f;border-color:#ffffff40}.clock-note.ant-input::placeholder{color:#fff9}.clock-note.ant-input:hover,.clock-note.ant-input:focus{background:#ffffff2e;border-color:#ffffff8c;box-shadow:none}.clock-dial{position:relative;display:grid;justify-items:center;gap:10px}.clock-ring{width:220px;height:220px;transform:rotate(-90deg)}[dir=rtl] .clock-ring{transform:rotate(-90deg) scaleY(-1)}.clock-ring circle{fill:none;stroke-width:10}.clock-ring .track{stroke:#ffffff29}.clock-ring .fill{stroke:#fff;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(255,255,255,.6));transition:stroke-dashoffset .8s var(--ease-out)}.clock-hero.at-work .clock-ring .fill{stroke:#86efac;filter:drop-shadow(0 0 8px rgba(74,222,128,.8))}.clock-btn{position:absolute;top:30px;inset-inline-start:calc(50% - 80px);width:160px;height:160px;border:0;border-radius:50%;display:grid;place-content:center;justify-items:center;gap:6px;font:inherit;font-size:18px;font-weight:800;color:var(--persona, #2f5bd3);background:radial-gradient(circle at 35% 30%,#fff,#eef1f8);box-shadow:0 18px 40px -12px #00000073,inset 0 -4px 10px #0000000f;cursor:pointer;transition:transform .2s var(--ease-out),box-shadow .2s;-webkit-tap-highlight-color:transparent}.clock-btn .anticon{font-size:34px}.clock-btn:before,.clock-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid rgba(255,255,255,.7);animation:vp-ripple 2.6s ease-out infinite;pointer-events:none}.clock-btn:after{animation-delay:1.3s}.clock-btn:hover:not(:disabled){transform:scale(1.04)}.clock-btn:active:not(:disabled){transform:scale(.96)}.clock-btn:focus-visible{outline:3px solid #fff;outline-offset:4px}.clock-btn:disabled{cursor:progress;opacity:.85}.clock-btn.out{color:#dc2626}.clock-btn.out:before,.clock-btn.out:after{border-color:#fca5a5cc}.clock-dial-caption{display:grid;justify-items:center;text-align:center;font-size:13px;line-height:1.7}.clock-dial-caption span{opacity:.75;font-size:12px}.mywork-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mywork-tiles>*{animation:vp-rise .5s var(--ease-out) both}.mywork-tiles>:nth-child(2){animation-delay:60ms}.mywork-tiles>:nth-child(3){animation-delay:.12s}.mywork-tiles>:nth-child(4){animation-delay:.18s}.kpi-sub{margin-top:2px;font-size:12px;color:var(--text-2)}.recent-days-plot{position:relative;display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:6px;height:130px;padding-top:8px;border-bottom:1px solid var(--border)}.recent-days-target{position:absolute;inset-inline:0;border-top:1px dashed color-mix(in srgb,var(--persona, #2f5bd3) 55%,transparent);pointer-events:none}.recent-days-target b{position:absolute;inset-inline-end:0;top:-18px;font-size:11px;font-weight:600;color:var(--persona, #2f5bd3)}.recent-day{display:flex;align-items:flex-end;justify-content:center;height:100%;cursor:default}.recent-day .bar{width:min(100%,26px);border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,color-mix(in srgb,var(--persona, #2f5bd3) 55%,#fff),color-mix(in srgb,var(--persona, #2f5bd3) 75%,#fff));transform-origin:bottom;animation:vp-grow .7s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 35ms);transition:filter .2s}.recent-day.full .bar{background:linear-gradient(180deg,var(--persona, #2f5bd3),color-mix(in srgb,var(--persona, #2f5bd3) 70%,#000))}.recent-day.today .bar{box-shadow:0 0 0 2px #fff,0 0 0 4px color-mix(in srgb,var(--persona, #2f5bd3) 60%,transparent)}.recent-day:hover .bar{filter:brightness(1.12)}.recent-days-axis{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:6px;margin-top:4px;font-size:10.5px;color:var(--text-3);text-align:center;white-space:nowrap}@keyframes vp-live{0%{box-shadow:0 0 #4ade80b3}70%,to{box-shadow:0 0 0 9px #4ade8000}}@keyframes vp-ripple{0%{transform:scale(1);opacity:.8}to{transform:scale(1.35);opacity:0}}@keyframes vp-stripes{to{background-position:-32px 0}}@media(max-width:900px){.mywork-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.clock-hero-grid{grid-template-columns:1fr;gap:18px}.clock-dial{order:-1}.clock-hero-info{text-align:center;justify-items:center}.clock-status,.clock-live{justify-self:center}.clock-rail,.clock-note.ant-input{width:100%}.recent-days-plot,.recent-days-axis{gap:3px}.recent-days-axis{font-size:9px}}@media(prefers-reduced-motion:reduce){.clock-status.on i,.clock-rail-span.open,.clock-btn:before,.clock-btn:after,.mywork-tiles>*,.recent-day .bar{animation:none!important}}.ecard-preview{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.ecard-preview:has(>.ecard:only-child){zoom:1.4}.kiosk-camera{position:relative;aspect-ratio:16 / 10;margin-bottom:12px;border-radius:14px;overflow:hidden;background:#0b1220}.kiosk-camera video{display:block;width:100%;height:100%;object-fit:cover}.kiosk-camera-frame{position:absolute;top:30%;right:12%;bottom:30%;left:12%;border:2px solid rgba(255,255,255,.85);border-radius:10px;box-shadow:0 0 0 999px #00000059}.kiosk-camera-frame:after{content:"";position:absolute;inset-inline:6%;top:50%;height:2px;background:#ef4444;box-shadow:0 0 8px #ef4444;animation:count-scanline 1.6s ease-in-out infinite alternate}:root{--viz-empty: #f1f3f7;--good: #1a7f37;--bad: #c4322f}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}@media(min-width:1700px){.kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.kpi-tile{position:relative;overflow:hidden;padding:14px 16px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm);animation:vp-rise .5s var(--ease-out) both}.kpi-tile:before{content:"";position:absolute;inset-inline:0;top:0;height:3px;background:var(--tone)}.kpi-top{display:flex;align-items:center;gap:8px}.kpi-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:var(--tone);background:color-mix(in srgb,var(--tone) 12%,#fff)}.kpi-label{font-size:13px;color:var(--text-2)}.kpi-value{margin:10px 0 6px;font-size:21px;font-weight:800;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;min-height:34px}.sparkline{width:92px;height:34px;flex:none}.delta{display:inline-flex;align-items:center;gap:3px;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.delta.up{color:var(--good);background:#e7f6ec}.delta.down{color:var(--bad);background:#fdecec}.delta.flat{color:var(--text-2);background:var(--viz-empty)}.mini-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;margin-bottom:12px;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--border)}.mini-stats>div{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;background:var(--surface)}.mini-stats span:first-child{font-size:12px;color:var(--text-2)}.viz-card.ant-card{height:100%;border-radius:14px;margin-bottom:0}.viz-card-title{display:inline-flex;align-items:center;gap:8px}.viz-card-title .anticon{color:var(--primary)}.highlights.ant-card{margin-bottom:12px;background:linear-gradient(120deg,#f4f7ff,#fff 60%)}.highlights ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px 18px;margin:0;padding:0;list-style:none}.highlights li{display:flex;align-items:flex-start;gap:10px;line-height:1.8;animation:vp-rise .45s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 60ms)}.hl-icon{display:grid;flex:none;place-items:center;width:26px;height:26px;margin-top:1px;border-radius:8px;color:var(--primary);background:#e8eefc}.highlights li.good .hl-icon{color:var(--good);background:#e7f6ec}.highlights li.bad .hl-icon{color:var(--bad);background:#fdecec}.viz-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.viz-toolbar-end{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.legend i.legend-line,.viz-tip i.legend-line{height:0;border-radius:0;border-top:2px dashed var(--text-3);vertical-align:3px}.viz-wrap{position:relative}.viz-svg{display:block;width:100%;height:auto}.viz-svg .grid line{stroke:#eef1f6}.viz-svg .axis text{font-size:11px;fill:var(--text-3)}.viz-svg .hit{fill:transparent}.viz-svg .hit:hover{fill:#2f5bd30d}.viz-bar{transform-box:fill-box;transform-origin:bottom;animation:vp-grow .7s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 18ms);transition:opacity .15s}.viz-tip{position:absolute;top:6px;z-index:2;min-width:170px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:var(--shadow-md);font-size:12px;white-space:nowrap;pointer-events:none;transform:translate(50%)}html[dir=ltr] .viz-tip{transform:translate(-50%)}.viz-tip b{display:block;margin-bottom:4px}.viz-tip-row{display:flex;justify-content:space-between;gap:14px}.viz-tip-row span:last-child{font-weight:600}.viz-tip-row.muted{color:var(--text-2)}.viz-tip i{display:inline-block;width:8px;height:8px;margin-inline-end:6px;border-radius:2px}.viz-empty-text{padding:24px 0;text-align:center;color:var(--text-3)}.heat-scroll{overflow-x:auto}.heat{display:grid;gap:3px;min-width:560px}.heat-hour{font-size:11px;text-align:center;color:var(--text-3)}.heat-day{align-self:center;font-size:12px;color:var(--text-2);white-space:nowrap}.heat-cell{height:24px;border-radius:4px;transition:transform .12s,box-shadow .12s}.heat-cell:hover{position:relative;z-index:1;transform:scale(1.15);box-shadow:0 0 0 2px #fff,var(--shadow-md)}.heat-scale{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3)}.heat-scale i{width:90px;height:8px;border-radius:4px;background:linear-gradient(to left,var(--tone-blue),color-mix(in srgb,var(--tone-blue) 12%,#eef3fb))}html[dir=ltr] .heat-scale i{background:linear-gradient(to right,color-mix(in srgb,var(--tone-blue) 12%,#eef3fb),var(--tone-blue))}.heat-top{margin-top:10px;font-size:12px;color:var(--text-2)}.rank-bars{margin:0;padding:0;list-style:none}.rank-bars li{display:flex;align-items:flex-start;gap:10px;padding:7px 0;border-bottom:1px solid #f2f4f8;animation:vp-rise .4s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 40ms)}.rank-bars li:last-child{border-bottom:0}.rank-no{display:grid;flex:none;place-items:center;width:24px;height:24px;margin-top:2px;border-radius:7px;font-size:12px;font-weight:700;color:var(--text-2);background:var(--viz-empty)}.rank-bars li:nth-child(-n+3) .rank-no{color:#fff;background:var(--primary)}.rank-body{flex:1;min-width:0}.rank-head,.rank-meta{display:flex;justify-content:space-between;gap:10px}.rank-name{overflow:hidden;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.rank-value{flex:none;font-weight:700}.rank-track{height:7px;margin:5px 0 4px;overflow:hidden;border-radius:4px;background:var(--viz-empty)}.rank-track span{display:block;height:100%;border-radius:4px;animation:viz-fill .8s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 40ms)}.rank-meta{font-size:12px;color:var(--text-3)}.rank-meta .ant-tag{margin:0;font-size:11px;line-height:16px}.share-bar{display:flex;gap:2px;height:26px;overflow:hidden;border-radius:8px}.share-bar span{min-width:4px;animation:viz-fill .8s var(--ease-out) both}.share-legend{margin:14px 0 0;padding:0;list-style:none}.share-legend li{display:grid;grid-template-columns:1fr auto;gap:0 10px;padding:8px 0;border-bottom:1px solid #f2f4f8}.share-legend li:last-child{border-bottom:0}.share-legend i{display:inline-block;width:10px;height:10px;margin-inline-end:8px;border-radius:3px}.share-legend .muted{grid-column:1 / -1;padding-inline-start:18px;font-size:12px;color:var(--text-3)}.stock-head{display:flex;align-items:center;gap:8px;font-weight:700}.stock-head b{min-width:26px;padding:0 8px;border-radius:999px;font-size:13px;text-align:center;background:var(--viz-empty)}.stock-head.warn .anticon,.stock-head.warn b{color:#b85c00}.stock-head.bad .anticon,.stock-head.bad b{color:var(--bad)}.stock-head.idle .anticon,.stock-head.idle b{color:var(--text-2)}.stock-note{display:block;margin:2px 0 6px;font-size:12px}.stock-list{max-height:330px;margin:0;padding:0;overflow-y:auto;list-style:none}.stock-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #f2f4f8}.stock-list li>div{min-width:0}.stock-list b{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.stock-list small{color:var(--text-3)}.stock-list .ant-tag{flex:none;margin:0}.cell-bar{position:relative;min-width:150px;padding:2px 6px}.cell-bar span{position:absolute;inset-block:0;inset-inline-start:0;border-radius:4px;background:color-mix(in srgb,var(--tone-blue) 14%,transparent)}.cell-bar b{position:relative}.report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.report-tile{display:flex;align-items:flex-start;gap:14px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm);font:inherit;color:var(--text-1);text-align:start;cursor:pointer;animation:vp-rise .45s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 50ms);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.report-tile:hover,.report-tile:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--tone) 45%,var(--border));box-shadow:var(--shadow-md);outline:none}.report-tile .icon{display:grid;flex:none;place-items:center;width:44px;height:44px;border-radius:12px;font-size:20px;color:var(--tone);background:color-mix(in srgb,var(--tone) 12%,#fff)}.report-tile-text{display:flex;flex-direction:column;gap:4px}.report-tile-text small{color:var(--text-2);line-height:1.8}.report-tile.featured{grid-column:1 / -1;padding:22px 24px;border:0;color:#fff;background:linear-gradient(120deg,#1d3a8a,#2f5bd3 55%,#4f7cf0);box-shadow:0 10px 30px #2f5bd340}.report-tile.featured .icon{color:#fff;background:#ffffff29}.report-tile.featured b{font-size:18px}.report-tile.featured small{color:#ffffffd1}@keyframes viz-fill{0%{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}@media(max-width:575px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi-tile{padding:12px}.kpi-value{font-size:17px}.sparkline{display:none}.highlights ul{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.kpi-tile,.highlights li,.viz-bar,.rank-bars li,.rank-track span,.share-bar span,.report-tile{animation:none!important}}.rep-foot{min-height:0;font-size:12px;color:var(--text-3)}.period-report .viz-card.ant-card .ant-card-body{padding:10px 14px}.stmt{margin:0}.stmt>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 2px;border-bottom:1px dashed #edf0f5}.stmt>div:last-child{border-bottom:0}.stmt dt{color:var(--text-2)}.stmt dt small{display:block;font-size:11px;color:var(--text-3)}.stmt dd{margin:0;white-space:nowrap}.stmt .zero dt,.stmt .zero dd .ant-typography{color:var(--text-3)!important}.stmt .total{margin:2px -6px;padding:8px;border-bottom:0;border-radius:8px;background:#f4f7fd}.stmt .total dt{font-weight:700;color:var(--text-1)}.stmt-note{margin-top:8px;font-size:12px;color:var(--text-3)}.muted-zero{margin-inline-start:6px;font-size:12px;font-weight:400;color:var(--text-3)}.stmt-sum td{font-weight:700;background:#f8fafd!important}.bridge-row{display:grid;grid-template-columns:minmax(130px,1.3fr) 2fr minmax(110px,auto);align-items:center;gap:10px;padding:6px 0;animation:vp-rise .4s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 50ms)}.bridge-row>span{font-size:13px;color:var(--text-2)}.bridge-row>b{text-align:end;white-space:nowrap}.bridge-track{height:12px;overflow:hidden;border-radius:4px;background:var(--viz-empty)}.bridge-track i{display:block;height:100%;border-radius:4px;background:#8fa3c4;animation:viz-fill .8s var(--ease-out) both}.bridge-row.in .bridge-track i{background:var(--tone-aqua)}.bridge-row.out .bridge-track i{background:var(--tone-orange)}.bridge-row.in>b{color:var(--good)}.bridge-row.out>b{color:var(--bad)}.bridge-row.end>span{font-weight:600;color:var(--text-1)}.bridge-row.total{margin-top:4px;border-top:1px solid var(--border);padding-top:10px}.bridge-row.total .bridge-track i{background:var(--tone-blue)}.bridge-row.muted>span{grid-column:1 / -1;color:var(--text-3)}.ok-line{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #cdebd6;border-radius:12px;color:var(--good);background:#f1faf4}.ok-line.info{margin-bottom:12px;border-color:#d6e2fa;color:var(--text-1);background:#f4f7fe}.ok-line.info .anticon{color:var(--primary)}.empty-parts{margin-top:12px;font-size:12px}.report-note{margin-top:4px}.viz-collapse.ant-collapse{border-radius:14px;background:var(--surface)}.recon-hero{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:16px;padding:18px 20px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(120deg,#f4f7ff,#fff 60%);box-shadow:var(--shadow-sm)}.recon-score{font-size:22px;font-weight:800;color:var(--text-1)}.recon-score small{font-size:13px;color:var(--text-3)}.recon-hero-text{display:flex;flex-direction:column;gap:2px}.recon-hero-text b{font-size:17px}.recon-hero-text>span{color:var(--text-2)}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}.check-tile{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font:inherit;color:var(--text-1);text-align:start;cursor:pointer;animation:vp-rise .4s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 30ms);transition:border-color .15s,box-shadow .15s,transform .15s}.check-tile:hover,.check-tile:focus-visible{transform:translateY(-1px);box-shadow:var(--shadow-md);outline:none}.check-tile.active{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 20%,transparent)}.check-icon{margin-top:2px;font-size:16px}.check-tile.ok .check-icon{color:var(--good)}.check-tile.info .check-icon{color:var(--primary)}.check-tile.warning .check-icon{color:#d48806}.check-tile.error .check-icon{color:var(--bad)}.check-tile.warning{background:#fffbf0}.check-tile.error{background:#fff5f5}.check-text{display:flex;flex-direction:column;gap:2px;line-height:1.7}.check-text small{color:var(--text-3)}.check-tile.ok .check-text small{color:var(--good)}.issue{position:relative;margin-bottom:10px;padding:12px 16px;border:1px solid var(--border);border-inline-start:4px solid var(--primary);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-sm);list-style:none}.issue.warning{border-inline-start-color:#faad14}.issue.error{border-inline-start-color:var(--bad)}.issue-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.issue-head .ant-tag{margin:0}.issue-meta{display:inline-flex;gap:14px;margin-inline-start:auto;color:var(--text-2)}.issue-msg{margin:8px 0;line-height:1.9;color:var(--text-1)}.doc-tag{font-family:monospace;direction:ltr}.issue-guide{margin-top:8px;padding:8px 12px;border-radius:8px;font-size:13px;color:var(--text-2);background:#f7f8fb}.issue-guide .anticon{color:#d48806}.div-bar{position:relative;height:12px;border-radius:4px;background:var(--viz-empty)}.div-bar .mid{position:absolute;inset-block:-3px;inset-inline-start:50%;width:2px;background:#b9c2d0}.div-bar i{position:absolute;inset-block:0;animation:viz-fill .8s var(--ease-out) both}.div-bar i.pay{inset-inline-end:50%;border-radius:4px 0 0 4px;background:var(--tone-orange)}.div-bar i.rec{inset-inline-start:50%;border-radius:0 4px 4px 0;background:var(--tone-aqua)}@media(max-width:575px){.bridge-row{grid-template-columns:1fr auto}.bridge-track{grid-column:1 / -1;grid-row:2}}@media(prefers-reduced-motion:reduce){.bridge-row,.bridge-track i,.check-tile,.div-bar i{animation:none!important}}.rep-foot .delta{max-width:100%;white-space:normal}.row-unmatched>td{background:color-mix(in srgb,var(--tone-red) 7%,transparent)!important}.att-clock{text-align:end;line-height:1.25}.att-clock-time{font-size:22px;font-weight:700;color:var(--text-1);font-variant-numeric:tabular-nums}.att-clock-date{font-size:12px;color:var(--text-2)}.att-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.att-card{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border);border-top:3px solid var(--tone);border-radius:12px;background:var(--surface);transition:box-shadow .15s}.att-card:hover{box-shadow:var(--shadow-md)}.att-card.absent{background:#fafbfc}.att-card-head{display:flex;align-items:center;gap:10px}.att-avatar{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-size:16px;font-weight:700;color:var(--tone);background:color-mix(in srgb,var(--tone) 14%,transparent)}.att-card.in .att-avatar{box-shadow:0 0 0 2px var(--surface),0 0 0 4px color-mix(in srgb,var(--tone) 45%,transparent)}.att-name{display:block;overflow:hidden;font-weight:600;color:var(--text-1);white-space:nowrap;text-overflow:ellipsis}.att-sub{overflow:hidden;font-size:12px;color:var(--text-3);white-space:nowrap;text-overflow:ellipsis}.att-status{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500;color:var(--tone);background:color-mix(in srgb,var(--tone) 10%,transparent)}.att-status:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--tone)}.att-card.in .att-status:before{animation:att-pulse 1.6s ease-in-out infinite}@keyframes att-pulse{50%{opacity:.25}}.kiosk-input input{font-size:22px;letter-spacing:2px;text-align:center}.kiosk-result{display:flex;align-items:center;gap:14px;margin-top:12px;padding:16px 18px;border-radius:14px;color:#fff;background:var(--tone);animation:vp-rise .35s var(--ease-out) both}.kiosk-result.in{--tone: var(--tone-green)}.kiosk-result.out{--tone: var(--tone-blue)}.kiosk-result.error{--tone: var(--tone-red)}.kiosk-result-icon{font-size:34px;line-height:1}.kiosk-result-title{font-size:20px;font-weight:700}.kiosk-result-text{font-size:14px;opacity:.92}@media(prefers-reduced-motion:reduce){.att-card.in .att-status:before,.kiosk-result{animation:none}}
