:root{
    --ink:#0F1222; --sub:#5B6072; --line:#E7E8F0; --bg:#F7F7FB;
    --blue:#4338F5; --blue-soft:#EEEDFE;
    --orange:#FF6A1A; --orange-soft:#FFEEE4;
    --green:#15A36A; --green-soft:#E7F8F0;
  }
  .sec-eyebrow{ display:inline-flex; align-items:center; gap:6px; font-size:.75rem; font-weight:600; letter-spacing:.08em; color:var(--blue); text-transform:uppercase; margin-bottom:14px; }
  .sec-eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--blue); display:inline-block; }
  .sec-title{ font-size:2.4rem; font-weight:700; color:var(--ink); letter-spacing:-.02em; }
  .sec-title span{ color:var(--blue); }
  .sec-sub{ color:var(--sub); font-size:1.05rem; max-width:640px; margin:14px auto 0; line-height:1.6; }

  .mcard{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px 24px; height:100%; position:relative; overflow:hidden; transition:box-shadow .25s ease, transform .25s ease, border-color .25s ease; }
  .mcard:hover{ transform:translateY(-4px); box-shadow:0 14px 32px rgba(15,18,34,.08); border-color:#DADCEC; background: #fff; }
  .mcard .topbar{ position:absolute; top:0; left:0; right:0; height:3px; background:var(--line); transition:background .25s ease; }
  .mcard:hover .topbar{ background:linear-gradient(90deg,var(--blue),var(--orange)); }

  .micon{ width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.2rem;font-weight: 600 !important; margin-bottom:14px; }
  .micon.blue{ background:var(--blue-soft); color:var(--blue); }
  .micon.orange{ background:var(--orange-soft); color:var(--orange); }

  .mtag{ display:inline-block; font-size:.62rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--blue); margin-bottom:8px; }
  .mcard.orange-tag .mtag{ color:var(--orange); }

  .mcard h3{ font-size:1.2rem; font-weight:600; color:var(--ink); margin-bottom:10px; letter-spacing:-.01em; }
  .mcard p.desc{ color:var(--sub); font-size:.86rem; line-height:1.55; margin-bottom:14px; }

  .mfeat{ list-style:none; padding:0; margin:0 0 16px; }
  .mfeat li{ font-size:.82rem; color:#3B3E4D; padding:5px 0 5px 22px; position:relative; line-height:1.4; }
  .mfeat li i{ position:absolute; left:0; top:7px; font-size:.68rem; color:var(--blue); }
  .mcard.orange-tag .mfeat li i{ color:var(--orange); }

  .mlink{ display:inline-flex; align-items:center; gap:6px; font-size:.85rem; font-weight:600; color:var(--blue); text-decoration:none; padding-top:14px; border-top:1px solid var(--line); width:100%; margin-top:auto; }
  .mcard.orange-tag .mlink{ color:var(--orange);}
  .mlink i{ font-size:.68rem; transition:transform .2s ease; }
  .mlink:hover i, .mcard:hover .mlink i{ transform:translateX(3px); }
  .mlink:hover{ color:var(--ink);}

  .badge-pill{ position:absolute; top:18px; right:18px; background:var(--orange); color:#fff; font-size:.62rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:5px 11px; border-radius:99px; }
  .featured-card{ background:linear-gradient(155deg, #FFF6EF 0%, #fff 55%); border:1.5px solid #FFD7B8; }
  .featured-card:hover{ border-color:var(--orange); }
  .cta-mini{ display:inline-flex; align-items:center; gap:8px; margin-top:4px; background:var(--orange); color:#fff; font-weight:600; font-size:.85rem; padding:10px 18px; border-radius:10px; text-decoration:none; border:none; }
  .cta-mini:hover{ background:#E55A0E; color:#fff; }

  .mod-widget{ background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:12px 14px; margin-bottom:16px; }

  /* Accounting: mini ledger */
  .ledger-row{ display:flex; justify-content:space-between; font-size:.76rem; padding:3px 0; color:var(--sub); }
  .ledger-row .amt{ font-weight:600; color:var(--ink); font-variant-numeric:tabular-nums; }
  .ledger-row .amt.pos{ color:var(--green); }
  .ledger-divider{ border-top:1px dashed var(--line); margin:4px 0; }

  /* HRMS: payroll progress */
  .progress-thin{ height:6px; background:var(--line); border-radius:99px; overflow:hidden; margin-top:6px; }
  .progress-thin .fill{ height:100%; border-radius:99px; }
  .stat-row{ display:flex; justify-content:space-between; font-size:.72rem; color:var(--sub); margin-bottom:4px; }
  .stat-row b{ color:var(--ink); }

  /* ESS: rating + stats */
  .ess-stats{ display:flex; gap:10px; }
  .ess-stat{ flex:1; text-align:center; }
  .ess-stat .num{ font-size:1.05rem; font-weight:700; color:var(--ink); }
  .ess-stat .lbl{ font-size:.65rem; color:var(--sub); text-transform:uppercase; letter-spacing:.04em; }
  .stars{ color:var(--orange); font-size:.7rem; }

  /* Inventory: stock bars */
  .stock-bar-row{ display:flex; align-items:center; gap:8px; margin-bottom:6px; }
  .stock-bar-row .lbl{ font-size:.7rem; color:var(--sub); width:84px; flex-shrink:0; }
  .stock-bar-track{ flex:1; height:6px; background:var(--line); border-radius:99px; overflow:hidden; }
  .stock-bar-track .fill{ height:100%; border-radius:99px; background:var(--green); }
  .stock-bar-row .pct{ font-size:.68rem; color:var(--ink); font-weight:600; width:30px; text-align:right; }

  /* Manufacturing: WO status pills */
  .wo-row{ display:flex; align-items:center; justify-content:space-between; font-size:.76rem; padding:4px 0; }
  .wo-pill{ font-size:.62rem; font-weight:700; padding:2px 8px; border-radius:99px; text-transform:uppercase; }
  .wo-pill.done{ background:var(--green-soft); color:var(--green); }
  .wo-pill.wip{ background:var(--orange-soft); color:var(--orange); }
  .wo-pill.queued{ background:var(--blue-soft); color:var(--blue); }

  /* Compliance: calendar deadlines */
  .deadline-row{ display:flex; align-items:center; gap:10px; padding:4px 0; }
  .deadline-date{ background:var(--ink); color:#fff; font-size:.6rem; font-weight:700; border-radius:6px; padding:4px 6px; text-align:center; line-height:1.1; min-width:34px; }
  .deadline-date .d{ font-size:.85rem; }
  .deadline-txt{ font-size:.76rem; color:var(--ink); font-weight:500; }
  .deadline-sub{ font-size:.66rem; color:var(--sub); }

  /* Document: file chips */
  .file-chip{ display:inline-flex; align-items:center; gap:5px; font-size:.7rem; font-weight:600; background:#fff; border:1px solid var(--line); border-radius:8px; padding:5px 9px; margin:3px 4px 3px 0; }
  .file-chip i{ font-size:.78rem; }

  /* Analytics: sparkline */
  .spark-wrap{ display:flex; align-items:flex-end; gap:8px; }
  .spark-num{ font-size:1.3rem; font-weight:700; color:var(--ink); }
  .spark-delta{ font-size:.7rem; color:var(--green); font-weight:600; }

  @media (max-width:768px){ .sec-title{ font-size:1.7rem; } }


  /* Consolidation visual: scattered tools -> one ERP */
  .consolidate{
    background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px 16px; margin-bottom:22px;
  }
  .tool-row{
    display:flex; align-items:center; justify-content:center; gap:8px;
    flex-wrap:wrap; margin-bottom:14px;
  }
  .tool-chip{
    display:inline-flex; align-items:center; gap:5px; font-size:.68rem; font-weight:600; color:#9CA0AE;
    background:#F4F4F9; border:1px solid var(--line); border-radius:8px; padding:5px 9px; text-decoration:line-through; position:relative;
  }
  .tool-chip i{ font-size:.72rem; }

  .merge-arrow{
    display:flex; align-items:center; justify-content:center; gap:10px;
    color:#C7C9D6; font-size:.72rem; font-weight:600;
    margin-bottom:14px;
  }
  .merge-arrow .line{ flex:1; height:1px; background:repeating-linear-gradient(90deg, #D7D9E4 0 4px, transparent 4px 8px); }
  .merge-arrow i{ color:var(--orange); font-size:.85rem; }

  .erp-target{
    display:flex; align-items:center; justify-content:center; gap:10px;
    background:linear-gradient(135deg, var(--orange), #FF8A4D);
    border-radius:12px; padding:12px 16px;
  }
  .erp-target i{ color:#fff; font-size:1.1rem; }
  .erp-target span{ color:#fff; font-weight:700; font-size:.88rem; letter-spacing:-.01em; }

  /* Stat strip */
  .stat-strip{ display:flex; gap:0; margin-bottom:24px; border-top:1px solid var(--line); padding-top:18px; }
  .stat-item{ flex:1; text-align:center; border-right:1px solid var(--line); }
  .stat-item:last-child{ border-right:none; }
  .stat-item .num{ font-size:1.2rem; font-weight:700; color:var(--ink); }
  .stat-item .lbl{ font-size:.64rem; color:var(--sub); text-transform:uppercase; letter-spacing:.04em; margin-top:2px; }