/* Integrated LUMA home. All product styling is scoped to the existing app. */
body.luma-product-page { background:#f3f5f7; }
#luma-product-root-v1 {
  --lp-bg:#f3f5f7; --lp-panel:#fff; --lp-border:#dce3eb;
  --lp-text:#172033; --lp-muted:#657287; --lp-blue:#2563eb;
  display:grid; grid-template-columns:248px minmax(0,1fr); min-height:100vh;
  width:100%; color:var(--lp-text); background:var(--lp-bg);
  font:14px/1.5 Inter,'Segoe UI',Arial,sans-serif;
}
#luma-product-root-v1 * { box-sizing:border-box; }
#luma-product-root-v1 [hidden] { display:none !important; }
#luma-product-root-v1 :is(a,button,select):focus-visible { outline:3px solid #8b5cf6; outline-offset:3px; }
#luma-product-root-v1 .lp-sidebar {
  position:sticky; top:0; align-self:start; height:100vh; min-width:0;
  display:flex; flex-direction:column; overflow-y:auto; padding:0;
  background:#182235; color:#e2e8f0; border-right:1px solid #273449;
}
#luma-product-root-v1 .lp-brand { padding:25px 20px; border-bottom:1px solid #2c374b; }
#luma-product-root-v1 .lp-logo-wrap { display:flex; align-items:center; gap:12px; }
#luma-product-root-v1 .lp-logo { width:45px; height:45px; object-fit:cover; border-radius:10px; display:none; }
#luma-product-root-v1 .lp-brand-title { color:white; font-size:22px; font-weight:800; text-decoration:none; letter-spacing:.04em; }
#luma-product-root-v1 .lp-brand-sub { font-size:9px; letter-spacing:.12em; color:#a5b4cc; }
#luma-product-root-v1 .lp-nav { display:grid; gap:5px; padding:20px 12px; }
#luma-product-root-v1 .lp-nav-section { font-size:10px; font-weight:700; letter-spacing:.1em; color:#9baec9; padding:17px 12px 6px; }
#luma-product-root-v1 :is(.lp-nav-link,.lp-nav-btn) {
  display:block; width:100%; padding:11px 12px; min-height:44px; margin:0;
  border:0; border-radius:8px; background:transparent; color:#d9e3f2;
  text-align:left; text-decoration:none; font:inherit; cursor:pointer;
}
#luma-product-root-v1 :is(.lp-nav-link,.lp-nav-btn):hover { background:#26364e; }
#luma-product-root-v1 :is(.lp-nav-link,.lp-nav-btn).active { background:#2563eb; color:white; font-weight:650; }
#luma-product-root-v1 .lp-nav-link.prep { color:#e8cd89; }
#luma-product-root-v1 .lp-sidebar-foot { margin-top:auto; padding:16px; border-top:1px solid #2c374b; }
#luma-product-root-v1 .lp-marian { display:block; text-align:center; padding:11px; min-height:44px; border:1px solid #8260b9; border-radius:8px; background:#382853; color:#eee2ff; text-decoration:none; font-weight:650; }
#luma-product-root-v1 .lp-main { min-width:0; margin:0; padding:0; width:auto; background:var(--lp-bg); }
#luma-product-root-v1 .lp-shell { width:100%; max-width:1600px; margin:auto; padding:32px clamp(18px,2.7vw,40px) 80px; }
#luma-product-root-v1 .lp-top { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-bottom:24px; }
#luma-product-root-v1 .lp-kicker { font-size:10px; font-weight:700; letter-spacing:.12em; color:#687a95; }
#luma-product-root-v1 h1 { margin:5px 0 6px; font-size:30px; line-height:1.2; letter-spacing:-.035em; color:#172033; }
#luma-product-root-v1 .lp-sub { font-size:14px; color:var(--lp-muted); }
#luma-product-root-v1 .lp-note { font-size:12px; color:var(--lp-muted); }
#luma-product-root-v1 .lp-badges { display:flex; gap:8px; flex-wrap:wrap; }
#luma-product-root-v1 .lp-badge { border:1px solid var(--lp-border); background:#fff; border-radius:20px; padding:6px 10px; font-size:11px; color:#526176; }
#luma-product-root-v1 .lp-controls { display:flex; gap:10px; align-items:center; flex-wrap:wrap; padding:14px 16px; background:#fff; border:1px solid var(--lp-border); border-radius:10px; margin-bottom:24px; }
#luma-product-root-v1 label { font-size:12px; font-weight:600; }
#luma-product-root-v1 select { font:inherit; max-width:100%; min-height:40px; padding:8px 28px 8px 10px; color:var(--lp-text); background:#f8fafc; border:1px solid #cdd6e2; border-radius:6px; }
#luma-product-root-v1 .lp-controls .lp-note { margin-left:auto; }
#luma-product-root-v1 .lp-section { background:#fff; border:1px solid var(--lp-border); border-radius:12px; padding:20px; margin-bottom:20px; min-width:0; }
#luma-product-root-v1 .lp-section-head { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
#luma-product-root-v1 .lp-modules { border-top:3px solid #2563eb; }
#luma-product-root-v1 .lp-module-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
#luma-product-root-v1 .lp-module-card { min-width:0; min-height:178px; display:flex; flex-direction:column; padding:18px; border:1px solid var(--lp-border); border-radius:10px; background:#fff; color:var(--lp-text); text-decoration:none; transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; }
#luma-product-root-v1 .lp-module-card:hover { transform:translateY(-2px); border-color:#2563eb; box-shadow:0 8px 22px rgba(37,99,235,.12); }
#luma-product-root-v1 .lp-module-card.lp-module-personal { background:#f8fafc; border-top:3px solid #0f766e; }
#luma-product-root-v1 .lp-module-card.lp-module-hr { background:#f6f3ff; border-top:3px solid #7c3aed; }
#luma-product-root-v1 .lp-module-card.lp-module-governance { background:#f8fafc; border-top:3px solid #64748b; }
#luma-product-root-v1 .lp-module-card.lp-module-marian { background:#f7f2ff; border-top:3px solid #8b5cf6; }
#luma-product-root-v1 .lp-module-top { display:flex; justify-content:space-between; align-items:center; gap:10px; }
#luma-product-root-v1 .lp-module-icon { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:9px; color:#fff; background:#2563eb; font-weight:800; font-size:16px; }
#luma-product-root-v1 .lp-module-hr .lp-module-icon { background:#7c3aed; }
#luma-product-root-v1 .lp-module-governance .lp-module-icon { background:#475569; }
#luma-product-root-v1 .lp-module-personal .lp-module-icon { background:#0f766e; }
#luma-product-root-v1 .lp-module-marian .lp-module-icon { background:#8b5cf6; }
#luma-product-root-v1 .lp-module-status { border-radius:999px; padding:4px 8px; font-size:10px; font-weight:750; letter-spacing:.04em; }
#luma-product-root-v1 .lp-module-status.is-live { color:#1d4ed8; background:#dbeafe; }
#luma-product-root-v1 .lp-module-status.is-candidate { color:#6d28d9; background:#ede9fe; }
#luma-product-root-v1 .lp-module-status.is-governance { color:#475569; background:#e2e8f0; }
#luma-product-root-v1 .lp-module-status.is-paused { color:#0f766e; background:#ccfbf1; }
#luma-product-root-v1 .lp-module-card h3 { margin:16px 0 5px; font-size:17px; }
#luma-product-root-v1 .lp-module-card p { margin:0; color:var(--lp-muted); font-size:12px; line-height:1.55; }
#luma-product-root-v1 .lp-module-action { margin-top:auto; padding-top:15px; color:#1d4ed8; font-size:12px; font-weight:700; }
#luma-product-root-v1 .lp-module-hr .lp-module-action { color:#6d28d9; }
#luma-product-root-v1 .lp-module-governance .lp-module-action { color:#475569; }
#luma-product-root-v1 .lp-module-personal .lp-module-action { color:#0f766e; }
#luma-product-root-v1 .lp-module-marian .lp-module-action { color:#6d28d9; }
#luma-product-root-v1 h2 { font-size:18px; line-height:1.3; margin:0 0 4px; color:var(--lp-text); }
#luma-product-root-v1 .lp-companies { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
#luma-product-root-v1 .lp-company { min-width:0; min-height:155px; display:flex; flex-direction:column; justify-content:space-between; padding:18px; border:1px solid var(--lp-border); border-radius:9px; background:#fff; text-decoration:none; color:var(--lp-text); transition:border-color .15s; }
#luma-product-root-v1 .lp-company:hover { border-color:#2563eb; }
#luma-product-root-v1 .lp-company.live { border-top:3px solid #2563eb; background:#f4f8ff; }
#luma-product-root-v1 .lp-company.prep { border-top:3px solid #d6a12b; background:#fffdf6; }
#luma-product-root-v1 .lp-company.future { border-style:dashed; background:#fafbfc; }
#luma-product-root-v1 .lp-company-name { font-size:17px; font-weight:700; }
#luma-product-root-v1 .lp-company-state { color:var(--lp-muted); font-size:11px; margin-top:8px; }
#luma-product-root-v1 .lp-open { font-size:12px; margin-top:20px; font-weight:600; color:#526176; }
#luma-product-root-v1 .live .lp-open { color:#1d4ed8; }
#luma-product-root-v1 .lp-kpis { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:24px; }
#luma-product-root-v1 .lp-kpi { min-width:0; padding:16px; border:1px solid var(--lp-border); background:#fff; border-radius:10px; }
#luma-product-root-v1 .lp-kpi-label { font-size:12px; color:var(--lp-muted); }
#luma-product-root-v1 .lp-kpi-value { font-size:28px; font-weight:700; margin:7px 0; line-height:1.2; }
#luma-product-root-v1 .lp-kpi-sub { font-size:11px; color:var(--lp-muted); }
#luma-product-root-v1 .lp-two { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr); gap:20px; margin-bottom:20px; }
#luma-product-root-v1 .lp-two > .lp-section { margin-bottom:0; }
#luma-product-root-v1 .lp-charts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#luma-product-root-v1 .lp-chart { min-width:0; border:1px solid var(--lp-border); border-radius:8px; padding:14px; }
#luma-product-root-v1 h3 { font-size:14px; margin:0 0 12px; color:var(--lp-text); }
#luma-product-root-v1 .lp-empty { min-height:130px; display:flex; align-items:center; justify-content:center; text-align:center; padding:16px; border:1px dashed #d6dfe9; border-radius:6px; background:#f8fafc; color:var(--lp-muted); font-size:12px; }
#luma-product-root-v1 .lp-side { display:grid; gap:14px; min-width:0; }
#luma-product-root-v1 :is(.lp-mini,.lp-marian-card) { padding:18px; border:1px solid var(--lp-border); border-radius:10px; background:#fff; }
#luma-product-root-v1 .lp-marian-card { background:#f7f2ff; border-color:#d9c7f4; }
#luma-product-root-v1 .lp-marian-card h3 { color:#6d39c5; }
#luma-product-root-v1 .lp-list { margin:0; padding-left:16px; font-size:12px; color:var(--lp-muted); line-height:1.7; }
#luma-product-root-v1 .lp-table-wrap { max-width:100%; overflow-x:auto; border:1px solid var(--lp-border); border-radius:8px; }
#luma-product-root-v1 table { width:100%; min-width:850px; border-collapse:collapse; font-size:12px; background:#fff; }
#luma-product-root-v1 :is(th,td) { text-align:left; padding:12px; border-bottom:1px solid #e8edf2; }
#luma-product-root-v1 th { color:#66758b; background:#f8fafc; font-weight:600; font-size:11px; }
#luma-product-root-v1 .lp-link { color:#1d4ed8; text-decoration:none; font-weight:650; }
#luma-product-root-v1 .lp-status { font-size:10px; font-weight:650; }
#luma-product-root-v1 .lp-foot { color:var(--lp-muted); font-size:11px; margin-top:14px; }
#luma-product-root-v1 .lp-notice { padding:16px; border:1px solid #e7d3a5; background:#fff9e9; color:#755018; border-radius:8px; }
#luma-product-root-v1 #settings .card { background:white; color:var(--lp-text); padding:22px; border:1px solid var(--lp-border); }
#luma-product-root-v1 #settings .muted { color:var(--lp-muted); font-size:14px; }
#luma-product-root-v1 #settings .action { padding:12px 16px; font:inherit; }
@media(max-width:1200px) {
  #luma-product-root-v1 { grid-template-columns:220px minmax(0,1fr); }
  #luma-product-root-v1 .lp-module-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #luma-product-root-v1 .lp-companies { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #luma-product-root-v1 .lp-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #luma-product-root-v1 .lp-two { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:900px) {
  #luma-product-root-v1 { grid-template-columns:1fr; }
  #luma-product-root-v1 .lp-sidebar { position:static; height:auto; display:block; }
  #luma-product-root-v1 .lp-brand { padding:14px 18px; }
  #luma-product-root-v1 .lp-nav { display:flex; flex-wrap:wrap; gap:5px; padding:12px; }
  #luma-product-root-v1 .lp-nav-section { display:none; }
  #luma-product-root-v1 :is(.lp-nav-link,.lp-nav-btn) { width:auto; flex:0 1 auto; }
  #luma-product-root-v1 .lp-sidebar-foot { padding:0 12px 12px; border:0; }
  #luma-product-root-v1 .lp-marian { width:max-content; min-width:120px; }
  #luma-product-root-v1 .lp-shell { padding:24px 20px 80px; }
}
@media(max-width:560px) {
  #luma-product-root-v1 :is(.lp-module-grid,.lp-companies,.lp-kpis,.lp-charts,#settings .two) { grid-template-columns:minmax(0,1fr); }
  #luma-product-root-v1 .lp-shell { padding:20px 14px 80px; }
  #luma-product-root-v1 .lp-section { padding:16px; }
  #luma-product-root-v1 h1 { font-size:26px; }
  #luma-product-root-v1 .lp-controls .lp-note { width:100%; margin-left:0; }
}
