/* Shared SaaS workspace: location once in the topbar, task content below. */
body.workspace-ui {
    --bg-page:#f5f5f7; --bg-white:#fff; --bg-gray:#f7f7f9; --bg-subtle:#fafafb;
    --surface:#fff; --soft:#eeeef1; --border:#e4e4e9; --border-light:#e8e8ed;
    --divider:#e4e4e9; --control-border:#d7d7de;
    --text-primary:#1d1d1f; --text-secondary:#73737b; --primary:#0071e3;
    --sidebar-text:#51515a; --sidebar-text-secondary:#777780; --page-padding:28px;
    --radius-card:12px;
    background:var(--bg-page); color:var(--text-primary);
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;
    -webkit-font-smoothing:antialiased;
}
.workspace-ui .app-shell,.workspace-ui .main-content { background:var(--bg-page); }
.workspace-ui .app-main { min-width:0; }
.workspace-ui .main-content { padding:20px 0; }
.workspace-ui .layout-shell { max-width:none; background:transparent; }
.workspace-ui .page-shell { gap:16px; }
.workspace-ui .workspace-bar { height:52px; flex:0 0 52px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 var(--page-padding); border-bottom:1px solid var(--border); background:linear-gradient(#ffffffc9,#ffffff73); }
.workspace-ui .workspace-location { display:flex; align-items:center; gap:12px; min-width:0; color:var(--text-secondary); font-size:11px; }
.workspace-ui .workspace-location > a { color:var(--text-secondary); text-decoration:none; white-space:nowrap; }
.workspace-ui .workspace-location > .bi { font-size:9px; }
.workspace-ui .workspace-title { color:var(--text-primary); font-size:13px; font-weight:550; line-height:1.5; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; letter-spacing:0; }
.workspace-ui .workspace-title .badge { font-size:10px; }
.workspace-ui .workspace-store-switch { flex-shrink:0; }
.workspace-ui .workspace-store-button { display:inline-flex; align-items:center; gap:9px; max-width:240px; padding:7px 10px; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--text-primary); font-size:12px; }
.workspace-ui .workspace-store-button > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.workspace-ui .workspace-store-button .bi-chevron-down { font-size:9px; color:var(--text-secondary); }
.workspace-ui .workspace-store-button:hover,.workspace-ui .workspace-store-button[aria-expanded="true"] { background:var(--surface); border-color:var(--border); }
.workspace-ui .workspace-store-switch .dropdown-menu { min-width:210px; max-width:min(340px,90vw); max-height:65vh; overflow:auto; padding:6px; border:1px solid var(--border); border-radius:10px; background:var(--surface); box-shadow:0 8px 28px #20203816; }
.workspace-ui .workspace-store-switch .dropdown-item { padding:9px 10px; font-size:12px; border-radius:5px; white-space:normal; }
.workspace-ui .workspace-store-switch .dropdown-item.active { background:#0071e310; color:var(--primary); }
.workspace-ui .workspace-store-switch .dropdown-header { font-size:10px; padding:7px 10px; }
.workspace-ui .page-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:0; margin:0; min-height:0; border:0; background:transparent; box-shadow:none; }
.workspace-ui .page-header:empty,.workspace-ui .page-header__meta:empty { display:none; }
.workspace-ui .page-header__meta { flex:1; min-width:0; }
.workspace-ui .page-header__description { margin:0; color:var(--text-secondary); font-size:12px; line-height:1.6; }
.workspace-ui .page-header__actions { display:flex; flex-wrap:wrap; gap:8px; margin-left:auto; }
.workspace-ui .page-card,.workspace-ui .table-card,.workspace-ui .metric-card,.workspace-ui .card { border:1px solid var(--border); border-radius:12px; background:var(--surface); box-shadow:0 2px 10px #20203804; }
.workspace-ui .page-card__body { padding:18px; }
.workspace-ui .page-card__body--flush { padding:0; }
.workspace-ui .page-card__header,.workspace-ui .card-header { background:transparent; border-bottom:1px solid var(--border); padding:14px 18px; }
.workspace-ui .page-card__footer,.workspace-ui .card-footer { background:transparent; border-top:1px solid var(--border); padding:12px 18px; }
.workspace-ui :is(.page-card__title,.card-title) { font-size:14px; font-weight:550; color:var(--text-primary); }
.workspace-ui .btn { min-height:34px; padding:7px 12px; border-radius:7px; font-size:12px; font-weight:500; line-height:1.5; box-shadow:0 1px 2px #20203806; }
.workspace-ui :is(.btn-outline-primary,.btn-outline-secondary,.btn-light) { background:linear-gradient(#fff,#fafafa); border-color:var(--control-border); color:#505059; }
.workspace-ui .btn.btn-primary,.workspace-ui .page-header__actions .btn.btn-primary,.workspace-ui .filter-bar .input-group>.btn.btn-primary,.workspace-ui .empty-state .btn.btn-primary {
    background:linear-gradient(#238fff,#0878ed) !important; border:1px solid #0878ed !important; color:#fff !important;
    box-shadow:inset 0 1px 0 #ffffff30,0 2px 4px #0071e315 !important;
    font-size:12px !important; font-weight:500 !important; padding:7px 12px !important; line-height:1.5 !important;
}
.workspace-ui .btn.btn-primary:hover { filter:brightness(.97); }
.workspace-ui .btn-link { box-shadow:none; }
.workspace-ui .btn-sm { min-height:28px; padding:4px 9px; font-size:11px; }
.workspace-ui :is(.form-control,.form-select) { min-height:35px; border-color:var(--control-border); border-radius:7px; background-color:var(--surface); color:var(--text-primary); font-size:12px; box-shadow:inset 0 1px 2px #20203803; }
.workspace-ui :is(.form-control,.form-select):disabled { background-color:var(--soft); }
.workspace-ui .form-control::placeholder { color:#909098; }
.workspace-ui .form-label { font-size:12px; font-weight:500; color:var(--text-primary); margin-bottom:7px; }
.workspace-ui .form-text { font-size:11px; color:var(--text-secondary); }
.workspace-ui .input-group-text { background:var(--bg-gray); border-color:var(--control-border); font-size:12px; }
.workspace-ui .filter-bar { gap:9px; margin:0; border-color:var(--border); }
.workspace-ui .table-modern { font-size:12px; color:var(--text-primary); }
.workspace-ui .table-modern thead th { padding:10px 14px; background:var(--bg-gray); color:var(--text-secondary); font-size:11px; font-weight:500; border-bottom:1px solid var(--border); }
.workspace-ui .table-modern tbody td { padding:11px 14px; color:var(--text-primary); border-bottom:1px solid var(--border-light); background:var(--surface); }
.workspace-ui .table-modern thead th:not(:last-child),.workspace-ui .table-modern tbody td:not(:last-child) { border-right:0; }
.workspace-ui .table-modern tbody tr:hover td { background:var(--bg-gray); }
.workspace-ui .table-modern .badge { border-radius:5px; font-size:10px; font-weight:500; padding:4px 7px; }
.workspace-ui .table-modern .badge.bg-success { background:#eaf5ee !important; color:#26774b !important; }
.workspace-ui .table-modern .badge.bg-secondary { background:#eeeef1 !important; color:#72727a !important; }
.workspace-ui .modal-content { border:1px solid var(--border); border-radius:14px; box-shadow:0 16px 64px #20203820; background:var(--surface); }
.workspace-ui .modal-header,.workspace-ui .modal-footer { border-color:var(--border); padding:14px 20px; }
.workspace-ui .modal-title { font-size:16px; font-weight:600; }
.workspace-ui .page-link { border-color:var(--border); border-radius:5px; color:var(--text-secondary); font-size:11px; }
.workspace-ui .active>.page-link { color:var(--text-primary); background:var(--soft); }
.workspace-ui :is(a,button,input,select,summary):focus-visible { outline:3px solid #007aff66; outline-offset:3px; }
/* Product actions and status filters share the first working row. */
.workspace-ui.product-workspace .page-shell { display:grid; grid-template-columns:minmax(0,1fr) auto; align-content:start; gap:16px; }
.workspace-ui.product-workspace .page-header { grid-column:2; grid-row:1; }
.workspace-ui.product-workspace .product-views { grid-column:1; grid-row:1; margin:0; }
.workspace-ui.product-workspace .page-card { grid-column:1 / -1; }
.workspace-ui.product-workspace .product-result-count { margin-left:16px; margin-right:auto; }
.workspace-ui .wizard-container { max-width:1120px; padding:0 24px; margin:0 auto; width:100%; }
.workspace-ui .wizard-progress { padding:14px 20px; margin-bottom:16px; background:var(--surface); border:1px solid var(--border); border-radius:10px; }
.workspace-ui .step-layout { gap:24px; }
.workspace-ui .form-row-spacious { margin-bottom:18px; }
@media(max-width:1199px) { body.workspace-ui { --page-padding:20px; } }
@media(max-width:991px) {
    .workspace-ui .workspace-bar { height:44px; flex-basis:44px; }
    .workspace-ui .workspace-title { font-size:12px; }
    .workspace-ui .workspace-location>a,.workspace-ui .workspace-location>.bi { display:none; }
    .workspace-ui.product-workspace .page-shell { grid-template-columns:1fr; }
    .workspace-ui.product-workspace .page-header { grid-column:1; grid-row:1; }
    .workspace-ui.product-workspace .product-views { grid-column:1; grid-row:2; }
}
@media(max-width:575px) {
    body.workspace-ui { --page-padding:16px; }
    .workspace-ui .main-content { padding:16px 0; }
    .workspace-ui .workspace-bar { gap:8px; }
    .workspace-ui .workspace-store-button { max-width:160px; padding:6px; font-size:11px; }
    .workspace-ui .page-card__body { padding:14px; }
    .workspace-ui .page-card__body--flush { padding:0; }
    .workspace-ui .wizard-container { padding:0 16px; }
}
html[data-theme='dark'] body.workspace-ui { --bg-page:#202024; --bg-white:#29292e; --bg-gray:#303036; --surface:#29292e; --text-primary:#f0f0f3; --text-secondary:#aaaab5; --border:#3b3b44; --border-light:#3b3b44; --divider:#3b3b44; --control-border:#50505b; --soft:#3b3b44; }
html[data-theme='dark'] .workspace-ui .workspace-bar { background:#ffffff04; }
html[data-theme='dark'] .workspace-ui :is(.btn-outline-primary,.btn-outline-secondary,.btn-light) { background:linear-gradient(#3e3e46,#35353d); color:#dddde5; }
@media print { .workspace-ui .workspace-bar { display:none; } }
/* Forms use content height; the primary action stays beside the work, not below an empty viewport. */
.workspace-ui .wizard-container { height:auto; min-height:0; overflow:visible; max-width:1080px; padding:0; background:transparent; border:0; box-shadow:none; }
.workspace-ui .wizard-form { background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:20px; }
.workspace-ui .wizard-step { flex:0 0 auto; padding:0; overflow:visible; }
.workspace-ui .step-layout { padding:0; gap:28px; }
.workspace-ui .step-sidebar { width:240px; }
.workspace-ui .inventory-form,.workspace-ui .sales-form { padding:0; }
.workspace-ui .wizard-footer { padding:16px 0 0; margin-top:20px; }
.workspace-ui .filter-bar .input-group>.form-control { border-radius:0 7px 7px 0; }
@media(max-width:767px) {
    .workspace-ui .step-layout { flex-direction:column; }
    .workspace-ui .step-sidebar { width:100%; max-width:200px; }
    .workspace-ui .wizard-form { padding:16px; }
}
/* A short list must remain a short list: never stretch a single record to viewport height. */
.workspace-ui .panel-card--list-fill,.workspace-ui .panel-card--list-fill .panel-card__body--flush,.workspace-ui .panel-card--list-fill .table-responsive.list-table-wrap { flex:0 0 auto; min-height:0; }
.workspace-ui .panel-card--list-fill .table-responsive.list-table-wrap .table-modern { flex:0 0 auto; min-height:0; height:auto; }
.workspace-ui .panel-card--list-fill .table-responsive.list-table-wrap tbody tr:only-child td { min-height:0; height:auto; }
.workspace-ui .panel-card { border:1px solid var(--border); border-radius:12px; background:var(--surface); box-shadow:0 2px 10px #20203804; }
.workspace-ui .analytics-card { padding:18px; border:1px solid var(--border); border-radius:9px; background:var(--surface); box-shadow:none; }
.workspace-ui .analytics-card__icon { width:34px; height:34px; border-radius:8px; background:#0071e30b; color:var(--primary); box-shadow:none; font-size:17px; }
.workspace-ui .analytics-card__title { font-size:14px; font-weight:550; }
.workspace-ui .analytics-card__description { font-size:12px; color:var(--text-secondary); }
.workspace-ui .metric-card__icon { border-radius:9px; background:#0071e30b; color:var(--primary); box-shadow:none; }
.workspace-ui .panel-card--list-fill { height:auto; }
.workspace-ui .page-header { flex-shrink:0; }
.workspace-ui.cashier-view .main-content>.layout-shell { padding:0 var(--page-padding); }
.workspace-ui .pos-container { --pos-bg:var(--bg-page); --pos-bg-elevated:var(--surface); --pos-border-light:var(--border); padding:0; min-height:calc(100dvh - 92px); }
.workspace-ui .pos-left,.workspace-ui .pos-right { box-shadow:0 2px 10px #20203804; border-radius:12px; }
/* Page composition: broad working area, compact supporting information. */
.workspace-ui .detail-summary { display:flex; gap:0; padding:18px 0; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.workspace-ui .detail-summary>div { flex:1; padding:0 24px; border-right:1px solid var(--border); }
.workspace-ui .detail-summary>div:last-child { border:0; }
.workspace-ui .detail-summary span { display:block; color:var(--text-secondary); font-size:12px; margin-bottom:6px; }
.workspace-ui .detail-summary strong { display:block; font-size:25px; font-weight:600; letter-spacing:-.6px; font-variant-numeric:tabular-nums; }
.workspace-ui .detail-summary .detail-status { font-size:16px; line-height:37px; letter-spacing:0; }
.workspace-ui .detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 272px; gap:18px; align-items:start; }
.workspace-ui .detail-main,.workspace-ui .detail-aside { display:grid; gap:18px; min-width:0; }
.workspace-ui .detail-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:0; }
.workspace-ui .detail-facts dt { color:var(--text-secondary); font-size:12px; font-weight:400; margin-bottom:6px; }
.workspace-ui .detail-facts dd { margin:0; font-size:13px; overflow-wrap:anywhere; }
.workspace-ui .detail-action-links { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.workspace-ui .detail-action-links .btn { justify-content:center; font-size:12px; }
.workspace-ui .detail-stock dt,.workspace-ui .detail-stock dd { width:50%; font-size:13px; }
.workspace-ui .detail-main .empty-state { padding:24px 16px; }
.workspace-ui .detail-main .empty-state__icon { font-size:24px; margin-bottom:6px; }
.workspace-ui .dashboard-layout--full { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:16px; align-items:start; }
.workspace-ui .dashboard-layout--full>.metric-grid { grid-column:1/-1; margin:0!important; --bs-gutter-x:16px; --bs-gutter-y:0; }
.workspace-ui .dashboard-layout--full>.metric-grid>div { padding:0; }
.workspace-ui .dashboard-layout--full>.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.workspace-ui .dashboard-layout--full>.metric-grid>div { width:auto; }
.workspace-ui .dashboard-layout--full :is(.dashboard-primary,.dashboard-secondary) { display:contents; }
.workspace-ui .dashboard-layout--full :is(.dashboard-trend,.dashboard-birthdays,.dashboard-stock,.dashboard-top,.dashboard-activity) { width:auto; padding:0; margin:0; min-width:0; }
.workspace-ui .dashboard-layout--full .dashboard-trend { grid-column:1/9; grid-row:2/4; align-self:stretch; }
.workspace-ui .dashboard-layout--full .dashboard-stock { grid-column:9/13; grid-row:2; }
.workspace-ui .dashboard-layout--full .dashboard-birthdays { grid-column:9/13; grid-row:3; }
.workspace-ui .dashboard-layout--full .dashboard-top { grid-column:1/6; grid-row:4; }
.workspace-ui .dashboard-layout--full .dashboard-activity { grid-column:6/13; grid-row:4; }
.workspace-ui .dashboard-layout--full .dashboard-activity:only-child { grid-column:1/-1; }
.workspace-ui .dashboard-layout :is(.panel-card__header,.panel-card__body) { padding:16px 18px; }
.workspace-ui .dashboard-layout .panel-card__header { border-bottom:1px solid var(--border); }
.workspace-ui .dashboard-layout .panel-card__header--accent { border-left:0; background:transparent; }
.workspace-ui .dashboard-layout .chart-container { height:260px; }
.workspace-ui .dashboard-layout .empty-state { padding:18px 8px; }
.workspace-ui .dashboard-layout .empty-state__icon { font-size:22px; margin-bottom:6px; }
.workspace-ui .dashboard-layout .card-scrollable { max-height:260px; }
.workspace-ui .dashboard-layout .timeline { max-height:240px; overflow:auto; }
.workspace-ui .dashboard-layout .timeline-item { padding-bottom:14px; }
.workspace-ui .dashboard-layout .timeline-item h6 { font-size:13px; line-height:1.5; }
.workspace-ui .dashboard-layout .tab-underlined { margin-bottom:10px; gap:14px; flex-wrap:wrap; }
.workspace-ui .dashboard-layout .tab-underlined__item { font-size:12px; padding-bottom:8px; }
.workspace-ui .dashboard-usage { grid-column:1/-1; margin:0!important; padding:12px 16px; background:var(--surface); border:1px solid var(--border); color:var(--text-secondary); font-size:12px; }
.workspace-ui .dashboard-usage.alert-warning { border-color:#d8a247; }
.workspace-ui .dashboard-usage>.flex-grow-1 { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.workspace-ui .dashboard-usage .mt-2 { margin-top:0!important; flex-wrap:wrap; }
.workspace-ui .dashboard-onboarding,.workspace-ui .dashboard-onboarding-restore { grid-column:1/-1; margin:0; }
.workspace-ui .dashboard-onboarding summary { padding:14px 18px; cursor:pointer; font-size:13px; }
.workspace-ui .dashboard-onboarding summary span { margin-left:16px; font-size:12px; }
.workspace-ui .dashboard-onboarding[open] summary { border-bottom:1px solid var(--border); }
@media(max-width:1100px) {
 .workspace-ui .detail-layout { grid-template-columns:minmax(0,1fr) 240px; }
 .workspace-ui .detail-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .workspace-ui .dashboard-layout--full { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .workspace-ui .dashboard-layout--full .dashboard-trend { grid-column:1/-1; grid-row:auto; }
 .workspace-ui .dashboard-layout--full :is(.dashboard-stock,.dashboard-birthdays,.dashboard-top,.dashboard-activity) { grid-column:auto; grid-row:auto; }
}
@media(max-width:767px) {
 .workspace-ui .detail-layout { grid-template-columns:1fr; }
 .workspace-ui .detail-summary { flex-wrap:wrap; padding:0; }
 .workspace-ui .detail-summary>div { flex:0 0 50%; padding:14px 18px; border-bottom:1px solid var(--border); }
 .workspace-ui .detail-summary>div:nth-child(even) { border-right:0; }
 .workspace-ui .dashboard-layout--full { display:flex; flex-direction:column; }
 .workspace-ui .dashboard-layout--full>* { width:100%; }
 .workspace-ui .dashboard-layout--full>.metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .workspace-ui .dashboard-layout--full :is(.dashboard-trend,.dashboard-birthdays,.dashboard-stock,.dashboard-top,.dashboard-activity) { width:100%; }
 .workspace-ui .dashboard-usage { flex-wrap:wrap; }
}
.workspace-ui :is(.dashboard-layout,.product-detail-layout) .empty-state { min-height:0; opacity:1; animation:none; }
.workspace-ui .detail-main .table-card { border:0; border-radius:0; box-shadow:none; }
.workspace-ui .detail-facts code { color:var(--text-secondary); font-size:12px; }
.workspace-ui .dashboard-layout .panel-card__header--accent::before,.workspace-ui .dashboard-layout .metric-card::before { display:none; }
.workspace-ui .dashboard-layout .panel-card__header--accent .panel-card__title { color:var(--text-primary); }
.workspace-ui .dashboard-layout .metric-card { border-top:1px solid var(--border); }
.workspace-ui .dashboard-layout .panel-card__body { min-height:0; }
