/* Vivo fragrance boutique: ivory, aubergine and warm brass. */
:root { --purple:#6c3b54; --purple-dark:#512b40; --ink:#342630; --canvas:#f7f3ec; --line:#e9e0d7; }
body { background:#f7f3ec; color:var(--ink); }
.sidebar { background:linear-gradient(165deg,#38232f,#231920); color:#dbcab5; }
.brand-mark { color:#402a31; background:linear-gradient(135deg,#ead3a5,#ba9359); font-family:Georgia,serif; }
.brand strong { font-family:'Playfair Display',Georgia,serif; letter-spacing:.3px; }
.brand small { color:#c2aa8a; letter-spacing:1.6px; }
.nav-link { color:#c2b1b8; }
.nav-link.active { background:linear-gradient(90deg,#79475f,#593146); box-shadow:0 7px 18px #110b1440; }
.store-card { border-color:#ffffff15; background:#ffffff06; }
.primary-btn,.checkout-btn,.nav-link.active { background-image:linear-gradient(110deg,#78445f,#522c40); }
.primary-btn,.checkout-btn { box-shadow:0 6px 15px #74415c22; }
.primary-btn:hover,.checkout-btn:hover { filter:brightness(1.08); }
.secondary-btn { border-color:#e3d8ca; color:#765d6b; }
.topbar { background:#fdfaf5e8; border-color:#eae1d6; }
.dashboard-hero { background:linear-gradient(105deg,#f0e4d3,#fbf5e8 55%,#e9d2b0); border:1px solid #eadbc4; overflow:hidden; }
.dashboard-hero h2 { color:#422b38; font-family:'Playfair Display',Georgia,serif; }
.dashboard-hero h2 em { color:#986b3f; }
.dashboard-hero > div > p:not(.eyebrow) { color:#917b68; font-size:12px; line-height:1.7; }
.dashboard-hero .primary-btn { background:#6c3b54; color:#fffaf2; }
.hero-orb-wrap.perfume-hero { background:url('assets/perfume-atelier.svg') center/contain no-repeat; width:48%; min-height:270px; align-self:stretch; }
.hero-orb-wrap.perfume-hero > * { display:none; }
.eyebrow { color:#a08054; letter-spacing:1.6px; }
.metric-card,.panel { border-color:#e9e0d7; box-shadow:0 4px 18px #62473405; }
.metric-icon.lilac,.metric-icon.purple { color:#79465d; background:#f1e4eb; }
.metric-icon.sky { color:#7e805b; background:#eeefdf; }
.metric-icon.peach { color:#b18951; background:#f7edda; }
.sale-camera-banner { border-color:#e9d9c7; background:#fbf5eb; }
.sale-camera-banner > div { color:#ad8956; }
.sale-camera-banner strong { color:#705064; }
.sale-camera-banner small { color:#a28d7e; }
.camera-guide span { background:#d9b275; box-shadow:0 0 9px #c3a16e; }
.camera-status { background:#f7f0e6; color:#826e60; }
.camera-readout { color:#94754e; }
.draft-badge { color:#8a734e; background:#f6eddb; }
.workflow-notice,.workflow-note { color:#937d6b; }
.workflow-notice { background:#fbf6ed; border-color:#e8dcca; }
.line-rate,.workflow-form input,.workflow-form select { border-color:#e3d8cb; }
.table-link,.print-product-btn,.text-btn { color:#85566d; }
.bill-sheet { border-color:#e9e0d7; }
.bill-head { border-color:#ae8b54; }
.bill-table th { background:#f6f0e5; color:#947b58; }
.bill-grand { color:#60384f; }
.bill-note { background:#faf6ef; }
.workflow-chart { display:grid; gap:14px; margin-top:24px; padding:0 2px 10px; }
.workflow-chart-row { display:grid; grid-template-columns:65px 1fr 90px; align-items:center; gap:13px; color:#9b8b7f; font-size:11px; }
.workflow-chart-track { height:10px; overflow:hidden; border-radius:5px; background:#f0e8dd; }
.workflow-chart-track i { display:block; min-width:2px; height:100%; border-radius:5px; background:linear-gradient(90deg,#ac8e61,#78445f); }
.workflow-chart-row strong { color:#705567; text-align:right; }
.real-payment-mix { display:grid; gap:16px; margin-top:24px; }
.real-payment-mix p { display:flex; justify-content:space-between; padding-bottom:10px; margin:0; border-bottom:1px solid #eee6dc; color:#9b8b7f; font-size:12px; }
.real-payment-mix strong { color:#705567; }
.metric-grid .trend,.metric-spark { opacity:.35; }
.metric-grid .trend { display:none; }
.segmented[hidden] { display:none !important; }
.dashboard-hero .eyebrow { color:#967348; }
.sidebar .profile-card .avatar { background:linear-gradient(135deg,#c7a36b,#85556c); }
.demo-access-note { margin:0; padding:8px 24px; color:#8a745f; background:#f5eddf; border-bottom:1px solid #e9dfce; font-size:10px; line-height:1.5; }
.customer-panel-toolbar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.customer-panel-toolbar select { min-height:35px; padding:0 9px; border:1px solid #e3d8ca; border-radius:7px; color:#765d6b; background:var(--white); font-size:11px; }
.customer-type-badge { display:inline-flex; margin-top:5px; padding:2px 7px; border-radius:5px; font-size:9px; font-weight:700; }
.type-dealer { color:#856327; background:#fbefda; }
.type-walkin { color:#33735c; background:#eaf7ee; }
.type-website { color:#5a658d; background:#edf0fc; }
.nav-link[aria-disabled="true"] { opacity:.45; }
#logoutBtn { color:#d4a3a1; }
.dark .demo-access-note { color:#d0bda8; background:#3c3031; border-color:#5a4547; }
.dark { --canvas:#211a20; --ink:#eee2dc; --white:#2c2229; --line:#44333e; background:#211a20; }
.dark .topbar { background:#2c2229e8; border-color:#44333e; }
.dark .dashboard-hero { background:linear-gradient(105deg,#4a303b,#66523c); border-color:#59414b; }
.dark .dashboard-hero h2 { color:#f6eadf; }
.dark .dashboard-hero h2 em { color:#d9bd86; }
.dark .workflow-notice,.dark .sale-camera-banner,.dark .camera-status { background:#3b2c33; border-color:#634b50; color:#cab4a1; }
.dark .bill-sheet { color:#342630; }
@media(max-width:800px) { .hero-orb-wrap.perfume-hero { width:44%; min-height:230px; opacity:.9; } }
@media(max-width:540px) { .dashboard-hero { padding-bottom:25px; }.hero-orb-wrap.perfume-hero { display:block; width:100%; min-height:210px; margin-top:18px; }.dashboard-hero { flex-direction:column; }.workflow-chart-row { grid-template-columns:45px 1fr 75px; gap:8px; } }
/* Cost maintenance and saved-sales profit reporting. */
.cost-link { white-space:nowrap; font-weight:650; }
.cost-product-name { font-size:17px; font-weight:650; margin:0 0 18px; }
.cost-preview { background:var(--bg,#faf7f1); border:1px solid var(--border,#e7dfd6); border-radius:14px; padding:12px 16px; margin:18px 0 12px; }
.cost-preview p { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:8px 0; font-size:13px; }
.profit-filters { display:flex; flex-wrap:wrap; align-items:end; gap:14px; padding:18px 22px; margin-bottom:20px; }
.profit-filters label { display:grid; gap:7px; color:var(--muted,#877e7a); font-size:12px; font-weight:600; }
.profit-filters input { border:1px solid var(--border,#e6ddd4); border-radius:10px; background:var(--card,#fff); color:inherit; padding:11px 13px; min-height:42px; font:inherit; }
#profitInvoiceCount { color:var(--muted,#877e7a); font-size:12px; margin:auto 0 auto auto; }
.profit-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:18px; }
.profit-stats article { display:grid; gap:12px; padding:24px 20px; }
.profit-stats span { font-size:13px; font-weight:600; }
.profit-stats strong { font-size:clamp(21px,2.2vw,32px); letter-spacing:-1px; overflow-wrap:anywhere; }
.profit-stats small { font-size:11px; color:var(--muted,#877e7a); line-height:1.5; }
.profit-stats .profit-featured { background:linear-gradient(130deg,#f5ebdb,#efe1ce); border-color:#dac29c; color:#472c3a; }
.profit-stats .profit-featured small { color:#786453; }
.profit-gain { color:#347057; }
.profit-loss { color:#ba3e4f !important; }
#profitCoverage { margin-bottom:20px; line-height:1.7; }
#profitCoverage.profit-incomplete { background:#fff5e5; border-color:#ead2a8; color:#826232; }
.profit-formula { display:flex; gap:18px; padding:22px; margin-bottom:24px; }
.profit-formula > svg { color:#a4824f; width:28px; height:28px; flex-shrink:0; }
.profit-formula strong { font-family:Georgia,serif; font-size:19px; font-weight:500; line-height:1.5; }
.profit-formula p { font-size:12px; color:var(--muted,#877e7a); line-height:1.8; margin:9px 0 0; }
#productsView .inventory-table { min-width:1100px; }
#reportsView .workflow-table { min-width:600px; }
body.dark .profit-stats .profit-featured { background:linear-gradient(130deg,#4c3640,#3e3032); color:#f5eadb; }
body.dark .profit-stats .profit-featured small { color:#d1baa6; }
body.dark #profitCoverage.profit-incomplete { background:#3d3427; color:#e7cc9d; border-color:#756347; }
@media (max-width:1000px) { .profit-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:540px) {
  .profit-filters { padding:16px; gap:12px; }
  .profit-filters label { flex:1 1 40%; min-width:0; }
  .profit-filters input { min-width:0; width:100%; }
  .profit-filters button { flex:1 1 40%; }
  #profitInvoiceCount { margin:0; width:100%; }
  .profit-stats { gap:10px; }
  .profit-stats article { padding:18px 13px; gap:10px; }
  .profit-stats strong { font-size:22px; }
  .profit-formula { padding:17px; gap:12px; }
  .profit-formula strong { font-size:17px; }
}
.nav-link[hidden], [data-profit-column][hidden] { display:none !important; }
