*{box-sizing:border-box}html,body,#root{height:100%;margin:0}:root{--c-bg:#f6f4ec;--c-surface:#fff;--c-text:#1f2a22;--c-text-muted:#5c6b5f;--c-border:#e2ded0;--c-border-soft:#ece9df;--c-primary:#2f7d3a;--c-success:#2f7d3a;--c-danger:#b3423a;--c-warning:#b7791f;--c-surface-alt:#f3f1e8}body{background:var(--c-bg);color:var(--c-text);font-family:Plus Jakarta Sans,-apple-system,Segoe UI,Roboto,sans-serif;transition:background-color .2s}.page{padding:16px 24px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-header h1{color:var(--c-text);margin:0;font-size:20px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.ant-table-wrapper{background:var(--c-surface);border-radius:8px}.num{text-align:right;font-variant-numeric:tabular-nums}.muted{color:var(--c-text-muted)}.text-danger{color:var(--c-danger)}.text-success{color:var(--c-success)}.logo{color:var(--c-sider-text);letter-spacing:.5px;border-bottom:1px solid var(--c-border-soft);align-items:center;gap:10px;margin:0 10px 8px;padding:18px 16px;font-size:18px;font-weight:700;display:flex}.logo span{color:var(--c-primary)}:root[data-theme=dark] .logo span,:root[data-theme=gray] .logo span{color:#9fd3a6}:root[data-theme=dark] .logo,:root[data-theme=gray] .logo{border-bottom-color:#ffffff14}.app-sider{box-shadow:var(--c-shadow);border:1px solid var(--c-border-soft);border-radius:18px;height:calc(100vh - 24px);margin:12px 0 12px 12px;top:12px;overflow:hidden;position:sticky!important}.app-sider .ant-layout-sider-children{flex-direction:column;display:flex;overflow-y:auto}.app-sider .ant-menu-item-selected{font-weight:600}.app-header{box-shadow:var(--c-shadow);color:var(--c-header-text);z-index:10;border:1px solid var(--c-border-soft);-webkit-backdrop-filter:saturate(180%)blur(14px);border-radius:18px;justify-content:space-between;align-items:center;margin:12px 12px 0;display:flex;position:sticky;top:12px;padding:0 16px!important}.app-header .header-date{color:var(--c-header-text);font-size:15px;font-weight:600}.app-header .header-chip,.app-header .ant-segmented,.app-header .ant-select{background:var(--c-header-chip)!important;border:1px solid var(--c-border)!important;color:var(--c-header-text)!important;border-radius:12px!important}.app-header .ant-select{height:36px}.app-header .ant-select *{color:var(--c-header-text)}.app-header .ant-segmented{padding:3px}.app-header .ant-segmented-item{color:var(--c-header-text);border-radius:9px}.app-header .ant-segmented-item-selected,.app-header .ant-segmented-thumb{background:var(--c-primary)!important;color:var(--c-on-primary)!important}.app-header .header-chip{cursor:pointer;align-items:center;gap:8px;height:36px;padding:4px 12px;font-weight:600;transition:border-color .15s,color .15s;display:flex}.app-header .header-chip:hover{border-color:var(--c-primary)!important;color:var(--c-primary)!important}.app-nav .ant-menu-item-group-title{letter-spacing:.08em;text-transform:uppercase;opacity:.55;font-size:11px;font-weight:700;padding:14px 22px 4px!important}.app-nav .ant-menu-item-group-title:has(.nav-group-toggle){transition:opacity .15s;padding:0!important}.app-nav .ant-menu-item-group-title:has(.nav-group-toggle):hover{opacity:.85}.nav-group-toggle{all:unset;box-sizing:border-box;cursor:pointer;justify-content:space-between;align-items:center;width:100%;padding:14px 22px 4px;display:flex}.nav-group-toggle:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px;border-radius:8px}.nav-group-chevron{font-size:10px;transition:transform .2s}.nav-group-toggle[aria-expanded=false] .nav-group-chevron{transform:rotate(-90deg)}.app-nav .ant-menu-item{height:38px!important;line-height:38px!important}.sider-resizer{cursor:col-resize;z-index:2;touch-action:none;width:6px;height:100%;transition:background-color .15s;position:absolute;top:0;right:0}.sider-resizer:hover,.app-sider.resizing .sider-resizer{background:color-mix(in srgb, var(--c-primary) 40%, transparent)}.app-sider.resizing{transition:none!important}body:has(.app-sider.resizing){cursor:col-resize;-webkit-user-select:none;user-select:none}.logo:hover{color:var(--c-sider-text)}.search-trigger{cursor:pointer;width:min(420px,100%);height:38px;font:inherit;background:var(--c-header-chip);border:1px solid var(--c-border);color:var(--c-text-muted);border-radius:12px;align-items:center;gap:10px;padding:0 12px;display:flex}.search-trigger:hover{border-color:var(--c-primary)}.search-trigger .search-text{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.search-trigger kbd{line-height:1.5}kbd{border:1px solid var(--c-border);background:var(--c-surface-alt);color:var(--c-text-muted);border-radius:6px;padding:2px 6px;font-family:inherit;font-size:11px}.palette .ant-modal-content{overflow:hidden;border-radius:16px!important;padding:0!important}.palette-list{border-top:1px solid var(--c-border-soft);max-height:420px;padding:6px;overflow:auto}.palette-group{letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-muted);padding:10px 10px 4px;font-size:11px;font-weight:700}.palette-item{cursor:pointer;color:var(--c-text);border-radius:10px;align-items:center;gap:12px;padding:9px 10px;display:flex}.palette-item.active{background:var(--c-sider-active);color:var(--c-sider-active-text)}.palette-icon{background:var(--c-surface-alt);border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid}.palette-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:500;overflow:hidden}.palette-hint{color:var(--c-text-muted);white-space:nowrap;font-size:12px}.palette-empty{text-align:center;color:var(--c-text-muted);padding:24px}.settings-grid{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:20px;display:grid}.settings-nav{background:var(--c-surface);border:1px solid var(--c-border-soft);box-shadow:var(--c-shadow);border-radius:16px;padding:8px;position:sticky;top:92px}.settings-group{letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-muted);padding:12px 10px 4px;font-size:11px;font-weight:700}.settings-link{width:100%;color:var(--c-text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.settings-link:hover{background:var(--c-surface-alt)}.settings-link.active{background:var(--c-sider-active);color:var(--c-sider-active-text);font-weight:600}.settings-body .page{padding:0}@media (width<=900px){.settings-grid{grid-template-columns:1fr}.settings-nav{position:static}}.hero{background:var(--c-hero-bg);border-radius:20px;margin-bottom:16px;padding:24px;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;background:#ffffff14;border-radius:50%;width:320px;height:320px;position:absolute;top:-140px;right:-80px}.hero h1{color:var(--c-hero-text);letter-spacing:-.02em;margin:0 0 20px;font-size:28px;font-weight:800}.kpi{background:var(--c-surface);height:100%;box-shadow:var(--c-shadow);border:1px solid var(--c-border-soft);z-index:1;border-radius:16px;align-items:center;gap:14px;padding:16px 18px;transition:transform .15s,box-shadow .15s;display:flex;position:relative}.kpi:hover{transform:translateY(-2px)}.kpi-icon{border-radius:14px;flex:none;place-items:center;width:48px;height:48px;font-size:22px;display:grid}.kpi-label{color:var(--c-text-muted);font-size:13px;font-weight:500}.kpi-value{color:var(--c-text);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:21px;font-weight:800}.hero-top{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex;position:relative}.hero-top h1{margin:0}.hero-sub{color:var(--c-hero-text);opacity:.85;margin-top:4px;font-weight:500}.hero-controls{flex-wrap:wrap;gap:8px;display:flex}.hero-controls .ant-segmented{color:var(--c-hero-text);background:#ffffff2e;border-radius:12px;padding:3px}.hero-controls .ant-segmented-item{color:var(--c-hero-text);border-radius:9px}.hero-controls .ant-segmented-item-selected,.hero-controls .ant-segmented-thumb{color:#13241a!important;background:#fff!important}.kpi-delta{margin-top:2px;font-size:12px;font-weight:600}.kpi-delta .up{color:var(--c-success)}.kpi-delta .down{color:var(--c-danger)}.kpi-delta .muted{font-weight:500}.todo{color:var(--c-text);border-radius:12px;align-items:center;gap:12px;padding:10px 8px;display:flex}.todo:hover{background:var(--c-surface-alt);color:var(--c-text)}.todo+.todo{border-top:1px solid var(--c-border-soft)}.todo-icon{border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-size:16px;display:grid}.todo-text{flex:1;font-weight:500}.todo-count{font-weight:800}.todo-arrow{color:var(--c-text-muted);font-size:11px}.all-good{text-align:center;color:var(--c-success);padding:28px 8px;font-weight:600}.all-good .anticon{margin-bottom:8px;font-size:32px}.top-row,.recent-row{color:var(--c-text);border-radius:10px;align-items:center;gap:12px;padding:8px 6px;display:flex}.top-row:hover,.recent-row:hover{background:var(--c-surface-alt);color:var(--c-text)}.top-rank{background:var(--c-surface-alt);border-radius:8px;flex:none;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:grid}.top-main,.recent-main{flex-direction:column;flex:1;min-width:0;display:flex}.top-name,.recent-title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.top-main .ant-progress{margin:2px 0 0}.top-value{text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;font-weight:700;display:flex}.top-value .muted{font-size:12px;font-weight:500}.recent-main .muted{font-size:12px}.recent-amount{text-align:right;font-variant-numeric:tabular-nums;min-width:110px;font-weight:700}.ant-card{box-shadow:var(--c-shadow);border-color:var(--c-border-soft)!important;border-radius:16px!important}.ant-card-head-title{font-weight:700}.ant-table-thead>tr>th{font-size:13px;color:var(--c-text-muted)!important;font-weight:600!important}.pos{grid-template-columns:1fr 420px;gap:12px;height:calc(100vh - 64px);padding:12px;display:grid}.pos-products{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-content:start;gap:8px;display:grid;overflow:auto}.pos-card{background:var(--c-surface);border:1px solid var(--c-border);cursor:pointer;min-height:96px;color:var(--c-text);border-radius:8px;flex-direction:column;gap:4px;padding:10px;display:flex}.pos-card:hover{border-color:var(--c-primary)}.pos-card .name{font-size:13px;font-weight:600;line-height:1.2}.pos-card .price{color:var(--c-primary);margin-top:auto;font-weight:700}.pos-card .stock{color:var(--c-text-muted);font-size:11px}.pos-card.out{opacity:.5}.pos-cart{background:var(--c-surface);min-height:0;color:var(--c-text);border-radius:8px;flex-direction:column;display:flex}.pos-cart-lines{flex:1;overflow:auto}.pos-line{border-top:1px solid var(--c-border-soft);padding:8px 12px}.pos-totals{border-top:1px solid var(--c-border-soft);flex-direction:column;gap:6px;padding:12px;display:flex}.pos-total{justify-content:space-between;font-size:22px;font-weight:700;display:flex}.pos-actions{border-top:1px solid var(--c-border-soft);grid-template-columns:1fr 1fr;gap:8px;padding:12px;display:grid}.receipt{color:#000;background:#fff;width:300px;padding:8px;font-family:Courier New,monospace;font-size:12px}.r-center{text-align:center}.r-line{border-top:1px dashed #000;margin:6px 0}.r-row{justify-content:space-between;display:flex}.r-total{font-size:14px;font-weight:700}.r-table{border-collapse:collapse;width:100%}.r-table td{vertical-align:top;padding:1px 0}.r-sub td{color:#333}.r-right{text-align:right}@media print{body *{visibility:hidden}.receipt,.receipt *{visibility:visible}.receipt{width:80mm;padding:2mm;position:absolute;top:0;left:0}}
