/* Starkwood ONE v2.1.48 — exact updated-prototype Dashboard module */
#sw-dashboard-v2148 {
  --sw48-navy:#0B1739;
  --sw48-blue:#2954E5;
  --sw48-gold:#C9994A;
  --sw48-green:#1D9A6C;
  --sw48-red:#D34B4B;
  --sw48-purple:#7B5FBE;
  color:#1E293B;
  padding:32px;
  width:100%;
}
#sw-dashboard-v2148, #sw-dashboard-v2148 * { box-sizing:border-box; }
#sw-dashboard-v2148 button, #sw-dashboard-v2148 input, #sw-dashboard-v2148 select { font:inherit; }
#sw-dashboard-v2148 button { cursor:pointer; }
#sw-dashboard-v2148 .sw48-dashboard { display:flex; flex-direction:column; gap:24px; }
#sw-dashboard-v2148 .sw48-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
#sw-dashboard-v2148 .sw48-header h1 { margin:0; color:#1E293B; font-size:20px; line-height:1.25; font-weight:700; }
#sw-dashboard-v2148 .sw48-header p { margin:4px 0 0; color:#64748B; font-size:14px; line-height:1.45; }
#sw-dashboard-v2148 .sw48-report-btn { display:inline-flex; align-items:center; gap:6px; flex:0 0 auto; border:0; border-radius:8px; background:var(--sw48-blue); color:#fff; padding:8px 13px; font-size:12px; font-weight:600; box-shadow:0 1px 2px rgba(41,84,229,.18); }

#sw-dashboard-v2148 .sw48-target { display:flex; align-items:center; gap:24px; border:1px solid #F1F5F9; border-radius:16px; background:#fff; box-shadow:0 1px 4px rgba(15,23,42,.04); padding:16px; }
#sw-dashboard-v2148 .sw48-target-copy { min-width:0; flex:1 1 auto; }
#sw-dashboard-v2148 .sw48-target-label { color:#64748B; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
#sw-dashboard-v2148 .sw48-target-empty { margin-top:3px; color:#94A3B8; font-size:14px; }
#sw-dashboard-v2148 .sw48-target-value { margin-top:3px; color:#1E293B; font-size:18px; font-weight:700; }
#sw-dashboard-v2148 .sw48-target-value span { color:#94A3B8; font-size:14px; font-weight:400; }
#sw-dashboard-v2148 .sw48-target-progress { height:8px; border-radius:999px; background:#F1F5F9; overflow:hidden; margin-top:8px; }
#sw-dashboard-v2148 .sw48-target-progress span { display:block; height:100%; border-radius:999px; }
#sw-dashboard-v2148 .sw48-target-edit { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
#sw-dashboard-v2148 .sw48-target-edit > span { color:#94A3B8; font-size:12px; }
#sw-dashboard-v2148 .sw48-target-input-wrap { display:flex; align-items:center; width:145px; height:36px; border:1px solid #E2E8F0; border-radius:9px; background:#fff; overflow:hidden; }
#sw-dashboard-v2148 .sw48-target-input-wrap b { color:#94A3B8; font-size:14px; padding-left:10px; font-weight:500; }
#sw-dashboard-v2148 .sw48-target-input-wrap input { width:100%; min-width:0; border:0; outline:0; padding:7px 10px 7px 5px; color:#475569; font-size:14px; background:transparent; }
#sw-dashboard-v2148 input[type=number]::-webkit-inner-spin-button { opacity:.55; }

#sw-dashboard-v2148 .sw48-hero-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
#sw-dashboard-v2148 .sw48-hero-card { min-width:0; min-height:320px; border-radius:16px; padding:20px; background:var(--sw48-navy); color:#fff; }
#sw-dashboard-v2148 .sw48-hero-label { color:rgba(255,255,255,.6); font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
#sw-dashboard-v2148 .sw48-hero-head { display:flex; align-items:flex-end; gap:30px; margin-top:6px; }
#sw-dashboard-v2148 .sw48-hero-head > div { min-width:0; }
#sw-dashboard-v2148 .sw48-hero-head strong { display:block; color:#fff; font-size:31px; line-height:1.08; font-weight:700; white-space:nowrap; }
#sw-dashboard-v2148 .sw48-hero-head span, #sw-dashboard-v2148 .sw48-hero-two span, #sw-dashboard-v2148 .sw48-hero-three span, #sw-dashboard-v2148 .sw48-collection-total span { display:block; color:rgba(255,255,255,.5); font-size:11px; margin-top:4px; }
#sw-dashboard-v2148 .sw48-hero-divider { height:1px; background:rgba(255,255,255,.1); margin:18px 0; }
#sw-dashboard-v2148 .sw48-hero-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
#sw-dashboard-v2148 .sw48-hero-three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
#sw-dashboard-v2148 .sw48-hero-two strong { color:#fff; font-size:14px; font-weight:600; }
#sw-dashboard-v2148 .sw48-hero-three strong { display:block; color:#fff; font-size:20px; line-height:1.2; font-weight:700; }
#sw-dashboard-v2148 .sw48-collection-total strong { display:block; color:#fff; font-size:24px; line-height:1.18; font-weight:700; }
#sw-dashboard-v2148 .sw48-clickable-row button { min-width:0; border:0; padding:0; background:transparent; color:#fff; text-align:left; }
#sw-dashboard-v2148 .sw48-clickable-row button:hover { opacity:.82; }
#sw-dashboard-v2148 .sw48-reconcile { color:rgba(255,255,255,.4); font-size:10px; line-height:1.4; margin-top:14px; }

#sw-dashboard-v2148 .sw48-panel { background:#fff; border:1px solid #F1F5F9; border-radius:16px; box-shadow:0 1px 4px rgba(15,23,42,.04); overflow:hidden; }
#sw-dashboard-v2148 .sw48-panel-title { padding:12px 20px; border-bottom:1px solid #F1F5F9; color:#334155; font-size:14px; font-weight:700; }
#sw-dashboard-v2148 .sw48-table-scroll { overflow:auto; }
#sw-dashboard-v2148 table { width:100%; border-collapse:collapse; font-size:14px; }
#sw-dashboard-v2148 th { color:#94A3B8; background:#fff; font-size:12px; font-weight:500; padding:10px 20px; text-align:left; border-bottom:1px solid #F1F5F9; white-space:nowrap; }
#sw-dashboard-v2148 td { color:#64748B; padding:10px 20px; border-top:1px solid #F8FAFC; vertical-align:top; }
#sw-dashboard-v2148 td strong { color:#334155; font-weight:600; }
#sw-dashboard-v2148 td small { display:block; color:#94A3B8; margin-top:2px; }
#sw-dashboard-v2148 .sw48-table-note { padding:8px 20px; color:#94A3B8; font-size:11px; border-top:1px solid #F1F5F9; }
#sw-dashboard-v2148 .sw48-empty { padding:30px 20px; color:#94A3B8; font-size:13px; text-align:center; }
#sw-dashboard-v2148 .sw48-panel-head { display:flex; align-items:center; justify-content:space-between; padding:12px 20px; border-bottom:1px solid #F1F5F9; color:#334155; font-size:14px; }
#sw-dashboard-v2148 .sw48-panel-head button { border:0; background:transparent; padding:3px; }

#sw-dashboard-v2148 .sw48-stack { display:flex; flex-direction:column; gap:24px; }
#sw-dashboard-v2148 .sw48-section-heading { display:flex; align-items:center; gap:8px; margin-bottom:12px; color:#334155; font-size:14px; font-weight:700; }
#sw-dashboard-v2148 .sw48-panel > .sw48-section-heading { padding:20px 20px 0; }
#sw-dashboard-v2148 .sw48-stat-grid { display:grid; gap:16px; }
#sw-dashboard-v2148 .sw48-stat-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
#sw-dashboard-v2148 .sw48-stat-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
#sw-dashboard-v2148 .sw48-stat-card { min-height:275px; border:1px solid #F1F5F9; border-radius:16px; background:#fff; box-shadow:0 1px 4px rgba(15,23,42,.04); padding:28px; }
#sw-dashboard-v2148 .sw48-stat-icon { width:82px; height:82px; display:grid; place-items:center; border-radius:20px; }
#sw-dashboard-v2148 .sw48-stat-value { margin-top:40px; font-size:37px; line-height:1.1; font-weight:700; overflow-wrap:anywhere; }
#sw-dashboard-v2148 .sw48-stat-label { color:#64748B; font-size:16px; line-height:1.45; margin-top:8px; }
#sw-dashboard-v2148 .sw48-stat-sub { color:#94A3B8; font-size:13px; line-height:1.4; margin-top:5px; }
#sw-dashboard-v2148 .sw48-mt-12 { margin-top:12px; }
#sw-dashboard-v2148 .sw48-badges { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
#sw-dashboard-v2148 .sw48-badge { display:inline-flex; padding:5px 9px; border-radius:999px; background:#EEF2FF; color:#2954E5; font-size:11px; font-weight:600; }

#sw-dashboard-v2148 .sw48-sales-log-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; border:0; border-top:1px solid #E2E8F0; background:transparent; padding:24px 0 8px; text-align:left; }
#sw-dashboard-v2148 .sw48-sales-log-toggle .sw48-section-heading { margin:0; }
#sw-dashboard-v2148 .sw48-chevron { color:#94A3B8; font-size:26px; transform:rotate(0deg); transition:transform .15s; }
#sw-dashboard-v2148 .sw48-chevron.open { transform:rotate(90deg); }
#sw-dashboard-v2148 .sw48-sales-filters { display:flex; align-items:flex-end; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
#sw-dashboard-v2148 .sw48-sales-filters label { color:#94A3B8; font-size:11px; }
#sw-dashboard-v2148 .sw48-sales-filters select { display:block; min-width:170px; margin-top:5px; border:1px solid #E2E8F0; border-radius:8px; background:#fff; padding:8px 11px; color:#475569; font-size:13px; }
#sw-dashboard-v2148 .sw48-sales-total { margin-left:auto; text-align:right; }
#sw-dashboard-v2148 .sw48-sales-total span { display:block; color:#94A3B8; font-size:11px; }
#sw-dashboard-v2148 .sw48-sales-total strong { display:block; color:#1E293B; font-size:14px; margin-top:2px; }
#sw-dashboard-v2148 th button { border:0; background:transparent; color:inherit; font:inherit; padding:0; }

#sw-dashboard-v2148 .sw48-two-cols { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
#sw-dashboard-v2148 .sw48-chart-panel { padding:16px; }
#sw-dashboard-v2148 .sw48-chart-panel .sw48-section-heading { padding:0; margin:0; }
#sw-dashboard-v2148 .sw48-chart-head { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
#sw-dashboard-v2148 .sw48-chart-controls { display:flex; align-items:center; gap:7px; }
#sw-dashboard-v2148 .sw48-chart-controls button { border:0; border-radius:8px; background:#EEF0F5; color:#41485A; padding:6px 9px; font-size:11px; font-weight:600; }
#sw-dashboard-v2148 .sw48-chart-controls button.active { background:var(--sw48-navy); color:#fff; }
#sw-dashboard-v2148 .sw48-chart-controls select { border:1px solid #E2E8F0; border-radius:8px; background:#fff; padding:6px 9px; color:#334155; font-size:12px; }
#sw-dashboard-v2148 .sw48-chart { height:118px; display:flex; align-items:flex-end; gap:8px; padding-top:14px; border-top:1px dashed #EEF0F5; margin-top:8px; }
#sw-dashboard-v2148 .sw48-bar-col { min-width:18px; height:100%; flex:1; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:5px; }
#sw-dashboard-v2148 .sw48-bar { width:min(22px,70%); min-height:2px; border-radius:4px 4px 0 0; background:var(--sw48-blue); }
#sw-dashboard-v2148 .sw48-bar-col span { color:#94A3B8; font-size:9px; }
#sw-dashboard-v2148 .sw48-trend-total { display:flex; flex-direction:column; justify-content:center; padding:24px; }
#sw-dashboard-v2148 .sw48-upper { color:#94A3B8; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
#sw-dashboard-v2148 .sw48-total-row { display:flex; align-items:flex-end; gap:32px; margin-top:10px; }
#sw-dashboard-v2148 .sw48-total-row strong { display:block; color:#1E293B; font-size:28px; line-height:1; }
#sw-dashboard-v2148 .sw48-total-row span { display:block; color:#64748B; font-size:12px; margin-top:5px; }
#sw-dashboard-v2148 .sw48-flex-cards { display:flex; gap:12px; flex-wrap:wrap; padding:0 20px 20px; }
#sw-dashboard-v2148 .sw48-small-card { flex:1 1 130px; min-width:0; min-height:105px; border:1px solid #F1F5F9; border-radius:12px; background:#fff; box-shadow:0 1px 3px rgba(15,23,42,.03); padding:14px; }
#sw-dashboard-v2148 .sw48-small-value { font-size:21px; line-height:1.15; font-weight:700; overflow-wrap:anywhere; }
#sw-dashboard-v2148 .sw48-small-label { color:#64748B; font-size:12px; margin-top:5px; line-height:1.4; }
#sw-dashboard-v2148 .sw48-small-sub { color:#94A3B8; font-size:10px; margin-top:4px; }
#sw-dashboard-v2148 .sw48-small-grid { display:grid; gap:12px; padding:0 20px 20px; }
#sw-dashboard-v2148 .sw48-small-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
#sw-dashboard-v2148 .sw48-small-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
#sw-dashboard-v2148 .sw48-small-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }

#sw-dashboard-v2148 .sw48-batches { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:12px; padding:0 20px 20px; }
#sw-dashboard-v2148 .sw48-batch { border-radius:12px; background:#F8FAFC; padding:12px; }
#sw-dashboard-v2148 .sw48-batch strong { display:block; color:#475569; font-size:12px; }
#sw-dashboard-v2148 .sw48-batch b { display:block; color:#1E293B; font-size:20px; margin-top:4px; }
#sw-dashboard-v2148 .sw48-batch > div { height:6px; border-radius:999px; background:#E2E8F0; overflow:hidden; margin-top:7px; }
#sw-dashboard-v2148 .sw48-batch > div span { display:block; height:100%; border-radius:999px; }
#sw-dashboard-v2148 .sw48-batch small { display:block; color:#94A3B8; font-size:10px; margin-top:5px; }
#sw-dashboard-v2148 .sw48-gantt-head { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
#sw-dashboard-v2148 .sw48-gantt-head > button { display:flex; align-items:center; gap:8px; border:0; background:transparent; padding:0; }
#sw-dashboard-v2148 .sw48-gantt-head .sw48-section-heading { margin:0; }
#sw-dashboard-v2148 .sw48-batch-chips { display:flex; gap:6px; flex-wrap:wrap; }
#sw-dashboard-v2148 .sw48-batch-chips button { border:0; border-radius:999px; background:#EEF0F5; color:#41485A; padding:5px 9px; font-size:11px; font-weight:600; }
#sw-dashboard-v2148 .sw48-batch-chips button.active { background:var(--sw48-purple); color:#fff; }
#sw-dashboard-v2148 .sw48-gantt-table { margin-top:12px; }
#sw-dashboard-v2148 .sw48-progress-cell { display:inline-block; vertical-align:middle; width:110px; height:6px; border-radius:999px; background:#E2E8F0; overflow:hidden; margin-right:7px; }
#sw-dashboard-v2148 .sw48-progress-cell span { display:block; height:100%; background:var(--sw48-purple); }

#sw-dashboard-v2148 .sw48-loading { min-height:350px; display:grid; place-items:center; color:#64748B; }
#sw-dashboard-v2148 .sw48-error { margin:32px; border:1px solid #FECACA; border-radius:14px; background:#FEF2F2; color:#991B1B; padding:18px; }
#sw-dashboard-v2148 .sw48-error div { margin-top:5px; }
#sw-dashboard-v2148 .sw48-error button { margin-top:12px; border:0; border-radius:8px; background:var(--sw48-blue); color:#fff; padding:8px 12px; font-weight:600; }

html.sw48-modal-open, html.sw48-modal-open body { overflow:hidden !important; }
#sw48-dashboard-report-modal { position:fixed; inset:0; z-index:2147483000; display:flex; flex-direction:column; align-items:center; background:rgba(11,23,57,.65); padding:32px 0; }
#sw48-dashboard-report-modal .sw48-report-dialog { width:min(842px,100vw); max-height:calc(100vh - 64px); display:flex; flex-direction:column; background:transparent; overflow:hidden; }
#sw48-dashboard-report-modal .sw48-report-toolbar { min-height:36px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:0 16px; margin-bottom:12px; color:#fff; background:transparent; flex:0 0 auto; }
#sw48-dashboard-report-modal .sw48-report-toolbar strong { font-size:13px; font-weight:600; }
#sw48-dashboard-report-modal .sw48-report-toolbar small { color:rgba(255,255,255,.55); font-size:9px; font-weight:400; margin-left:4px; }
#sw48-dashboard-report-modal .sw48-report-toolbar > div { display:flex; gap:8px; }
#sw48-dashboard-report-modal .sw48-report-toolbar button { display:inline-flex; align-items:center; gap:6px; border:0; border-radius:8px; padding:8px 12px; font-size:11px; font-weight:600; }
#sw48-dashboard-report-modal .sw48-report-toolbar [data-report-print] { background:#2954E5; color:#fff; }
#sw48-dashboard-report-modal .sw48-report-toolbar [data-report-close] { background:#fff; color:#475569; }
#sw48-dashboard-report-modal .sw48-report-canvas { width:842px; max-width:100vw; flex:1 1 auto; overflow:auto; padding:24px 24px 0; background:#D7DCE6; display:flex; flex-direction:column; align-items:center; }
#sw48-dashboard-report-modal .sw48-report-page { width:794px; min-height:1123px; margin-bottom:24px; flex:0 0 auto; background:#fff; padding:76px; color:#0B1739; font-family:Arial,Helvetica,sans-serif; box-shadow:0 2px 10px rgba(0,0,0,.12); }
#sw48-dashboard-report-modal .sw48-report-title-row { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
#sw48-dashboard-report-modal .sw48-report-title-row h2 { margin:0; color:#0B1739; font-size:16px; font-weight:700; }
#sw48-dashboard-report-modal .sw48-report-title-row p { margin:3px 0 0; color:#64748B; font-size:11px; line-height:1.35; }
#sw48-dashboard-report-modal .sw48-report-title-row time { color:#94A3B8; font-size:10px; white-space:nowrap; }
#sw48-dashboard-report-modal .sw48-report-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:4px; }
#sw48-dashboard-report-modal .sw48-report-section { color:#64748B; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; margin:14px 0 4px; }
#sw48-dashboard-report-modal .sw48-report-row { display:flex; justify-content:space-between; gap:10px; padding:3px 0; border-bottom:1px solid #F1F5F9; font-size:11px; }
#sw48-dashboard-report-modal .sw48-report-row span { color:#475569; }
#sw48-dashboard-report-modal .sw48-report-row b { color:#0B1739; font-weight:400; text-align:right; }
#sw48-dashboard-report-modal .sw48-report-row.total { border-bottom:1.5px solid #1E293B; }
#sw48-dashboard-report-modal .sw48-report-row.total span, #sw48-dashboard-report-modal .sw48-report-row.total b { color:#0B1739; font-weight:700; }
#sw48-dashboard-report-modal .sw48-report-page footer { margin-top:14px; color:#94A3B8; font-size:9.5px; text-align:center; border-top:1px solid #E2E8F0; padding-top:8px; }

@media (max-width:1200px) {
  #sw-dashboard-v2148 .sw48-stat-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #sw-dashboard-v2148 .sw48-batches { grid-template-columns:repeat(4,minmax(0,1fr)); }
  #sw-dashboard-v2148 .sw48-stat-card { min-height:225px; }
  #sw-dashboard-v2148 .sw48-stat-value { margin-top:24px; font-size:31px; }
}
@media (max-width:900px) {
  #sw-dashboard-v2148 { padding:24px 20px 40px; }
  #sw-dashboard-v2148 .sw48-hero-grid, #sw-dashboard-v2148 .sw48-two-cols { grid-template-columns:1fr; }
  #sw-dashboard-v2148 .sw48-hero-card { min-height:auto; }
  #sw-dashboard-v2148 .sw48-small-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  #sw-dashboard-v2148 { padding:20px 14px 38px; }
  #sw-dashboard-v2148 .sw48-header { align-items:stretch; flex-direction:column; }
  #sw-dashboard-v2148 .sw48-report-btn { justify-content:center; }
  #sw-dashboard-v2148 .sw48-target { align-items:stretch; flex-direction:column; gap:14px; }
  #sw-dashboard-v2148 .sw48-target-edit { justify-content:space-between; }
  #sw-dashboard-v2148 .sw48-target-input-wrap { flex:1 1 auto; width:auto; }
  #sw-dashboard-v2148 .sw48-hero-head { align-items:flex-start; flex-direction:column; gap:12px; }
  #sw-dashboard-v2148 .sw48-hero-head strong { font-size:28px; white-space:normal; }
  #sw-dashboard-v2148 .sw48-hero-three, #sw-dashboard-v2148 .sw48-hero-two { grid-template-columns:1fr; }
  #sw-dashboard-v2148 .sw48-stat-grid-4, #sw-dashboard-v2148 .sw48-stat-grid-2, #sw-dashboard-v2148 .sw48-small-grid-4, #sw-dashboard-v2148 .sw48-small-grid-3, #sw-dashboard-v2148 .sw48-small-grid-2 { grid-template-columns:1fr; }
  #sw-dashboard-v2148 .sw48-stat-card { min-height:210px; }
  #sw-dashboard-v2148 .sw48-stat-icon { width:70px; height:70px; }
  #sw-dashboard-v2148 .sw48-stat-value { font-size:30px; }
  #sw-dashboard-v2148 .sw48-batches { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #sw-dashboard-v2148 .sw48-sales-total { width:100%; margin-left:0; text-align:left; }
  #sw48-dashboard-report-modal { padding:0; }
  #sw48-dashboard-report-modal .sw48-report-dialog { width:100vw; max-height:100vh; height:100vh; }
  #sw48-dashboard-report-modal .sw48-report-toolbar { height:auto; min-height:52px; align-items:flex-start; padding:10px; }
  #sw48-dashboard-report-modal .sw48-report-toolbar > div { flex-wrap:wrap; justify-content:flex-end; }
  #sw48-dashboard-report-modal .sw48-report-canvas { padding:12px; justify-content:flex-start; }
  #sw48-dashboard-report-modal .sw48-report-page { transform-origin:top left; }
}
