:root{--bg:#f5f7fb;--panel:#fff;--text:#182230;--muted:#667085;--line:#e4e7ec;--blue:#2563eb;--green:#16a34a}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:var(--blue);text-decoration:none}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:22px;margin-bottom:24px}.mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;font-weight:800}.sidebar nav{display:grid;gap:5px}.sidebar nav a,.logout{padding:11px 12px;border-radius:10px;color:#344054;font-weight:650}.sidebar nav a:hover,.sidebar nav a.active{background:#eef4ff;color:var(--blue)}.logout{margin-top:auto}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);padding:0 26px;display:flex;align-items:center;justify-content:space-between}.wrap{padding:26px}.pagehead{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.pagehead h1{margin:0;font-size:30px}.pagehead p{color:var(--muted);margin:5px 0 0}.panel,.card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 2px 8px rgba(16,24,40,.03)}.panel{padding:20px;margin-bottom:20px}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px}.card{padding:18px}.card small{display:block;color:var(--muted);margin-bottom:7px}.card strong{font-size:22px}.workflow{display:flex;flex-wrap:wrap;gap:8px}.workflow span{background:#eef4ff;color:#1d4ed8;padding:8px 10px;border-radius:999px;font-size:12px;font-weight:700}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wide{grid-column:1/-1}label{display:grid;gap:6px;color:#475467;font-weight:650;font-size:13px}input,select,textarea{width:100%;border:1px solid #d0d5dd;border-radius:9px;padding:10px;background:#fff;color:var(--text);font:inherit}textarea{resize:vertical}.btn{border:1px solid var(--line);background:#fff;color:#344054;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn:disabled{opacity:.5}.inline{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.inline>*{width:auto;min-width:170px}.row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.row small{display:block;color:var(--muted);margin-top:3px}.actions{display:flex;gap:10px;align-items:center}.linkbutton{border:0;background:none;color:var(--blue);padding:0;cursor:pointer}.notice{padding:12px 14px;border-radius:10px;margin-bottom:16px}.notice.success{background:#ecfdf3;color:#067647}.notice.error{background:#fff1f0;color:#b42318}.totals{display:flex;justify-content:flex-end;gap:25px;margin-top:16px}.totals span{display:grid;gap:4px}.signature{width:100%;height:180px;background:#fff;border:1px dashed #98a2b3;border-radius:10px;touch-action:none}.checkline{display:block;padding:7px 0}.checkline input{width:auto}.goodtext{color:#067647;font-weight:700}.login,.installer{min-height:100vh;display:grid;place-items:center;padding:20px}.loginbox,.installbox{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 60px rgba(16,24,40,.08);padding:28px}.loginbox{width:min(430px,94vw);display:grid;gap:16px}.installbox{width:min(850px,96vw)}.center{justify-content:center}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid h2{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px}.checks{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.check{padding:8px 10px;border-radius:999px;font-size:12px;font-weight:700}.check.good{background:#ecfdf3;color:#067647}.check.bad{background:#fff1f0;color:#b42318}.foot{font-size:12px;color:var(--muted);margin-top:16px}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--line);padding:11px 8px}th{font-size:12px;color:var(--muted)}
@media(max-width:900px){.shell{grid-template-columns:78px 1fr}.sidebar .brand strong,.sidebar nav a,.logout{font-size:0}.sidebar nav a:before{content:'•';font-size:26px}.kpis{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}}
@media(max-width:640px){.shell{display:block}.sidebar{position:sticky;top:0;z-index:10;flex-direction:row;overflow:auto;padding:8px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand,.logout{display:none}.sidebar nav{display:flex}.sidebar nav a{font-size:12px;white-space:nowrap}.sidebar nav a:before{content:none}.topbar{height:52px;padding:0 14px}.wrap{padding:14px}.kpis{grid-template-columns:1fr 1fr}.grid2,.formgrid,.grid{grid-template-columns:1fr}.wide,.grid h2{grid-column:auto}.inline>*{width:100%}.pagehead{align-items:flex-start;flex-direction:column}.totals{flex-direction:column;gap:8px}}

.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:12px}.mini select{min-width:150px}
.timeline{border-left:3px solid #dbeafe;padding:8px 0 8px 14px;margin-left:4px;display:grid;gap:3px}.timeline strong{text-transform:capitalize;font-size:12px;color:#2563eb}.timeline small{color:#667085}.topgap{margin-top:16px}
.calendar-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px}.calendar-toolbar label{min-width:240px}
#calendar{min-height:700px}.fc .fc-button-primary{background:#2563eb;border-color:#2563eb}.fc .fc-button-primary:disabled{background:#94a3b8;border-color:#94a3b8}.fc .fc-event{cursor:pointer;border-radius:6px;padding:1px 3px}
@media(max-width:640px){#calendar{min-height:580px}.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-toolbar label{min-width:0}.fc .fc-toolbar{display:grid;gap:8px}.fc .fc-toolbar-chunk{text-align:center}}

.project-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.project-tabs span{padding:9px 12px;border-radius:999px;background:#eef4ff;color:#1d4ed8;font-weight:700;font-size:12px}.statusbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.statusbar span{background:#fff;border:1px solid var(--line);padding:10px 13px;border-radius:12px}.callout{border-left:4px solid var(--green)}.btn.small{padding:7px 10px;font-size:12px}code{background:#f2f4f7;padding:2px 5px;border-radius:5px}.panel table small{color:var(--muted)}
@media(max-width:640px){.project-tabs{overflow:auto;flex-wrap:nowrap}.project-tabs span{white-space:nowrap}.statusbar{display:grid}.statusbar span{width:100%}}

.public-doc .kpis{grid-template-columns:repeat(3,1fr)}details summary{cursor:pointer;font-weight:700;color:#475467}.notice:not(.success):not(.error){background:#eef4ff;color:#1d4ed8}
@media(max-width:640px){.public-doc{margin:10px}.public-doc .kpis{grid-template-columns:1fr}.public-doc .panel{padding:16px}}

.source-legend{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:12px;background:#f8fafc;border:1px solid var(--line);border-radius:12px}
.source-legend>span{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.source-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.02em}
.source-badge.measured{background:#ecfdf3;color:#067647}
.source-badge.provided{background:#eff6ff;color:#1d4ed8}
.source-badge.calculated{background:#f5f3ff;color:#6d28d9}
.source-badge.assumed{background:#fffaeb;color:#b54708}
.source-note{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px;margin-top:16px}
.chart-wrap{position:relative;min-height:300px}
.recommendation-hero{background:linear-gradient(135deg,#eff6ff,#ecfdf3);border:1px solid #dbeafe;border-radius:20px;padding:24px;margin-bottom:20px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.recommendation-hero h2{margin:6px 0;font-size:30px}.recommendation-hero p{margin:0;color:#475467}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.08em;font-weight:800;color:#2563eb}
.product-match{display:grid;gap:8px}.product-match>strong{font-size:21px}.product-match>small{color:var(--muted)}.product-match dl{display:grid;grid-template-columns:1fr auto;gap:9px 14px;margin:12px 0 0}.product-match dt{color:var(--muted)}.product-match dd{margin:0;font-weight:700}
.warning-row{padding:10px 12px;border-left:3px solid #f79009;background:#fffaeb;margin-bottom:8px;border-radius:0 8px 8px 0;color:#7a2e0e}
@media(max-width:640px){.recommendation-hero{flex-direction:column}.recommendation-hero h2{font-size:25px}.chart-wrap{min-height:240px}}

.checkline small{display:inline;color:var(--muted);font-weight:400;margin-left:5px} table code{font-size:11px}

/* ============================================================
   Insallix v0.8 dashboard / brand system
   Brand based on the supplied Insallix logo
   ============================================================ */
:root{
  --ins-blue:#0a73b8;
  --ins-blue-dark:#075382;
  --ins-blue-soft:#eaf5fc;
  --ins-green:#57bd2b;
  --ins-green-dark:#178f34;
  --ins-green-soft:#eefbea;
  --ins-ink:#12223b;
  --ins-text:#253858;
  --ins-muted:#718096;
  --ins-bg:#f5f9fc;
  --ins-border:#e3edf4;
  --ins-orange:#f58b3b;
  --ins-purple:#7b46e8;
}

body.insallix-app{
  background:
    radial-gradient(circle at 82% 0%,rgba(10,115,184,.045),transparent 28rem),
    var(--ins-bg);
  color:var(--ins-ink);
}

.v08-shell{grid-template-columns:235px minmax(0,1fr);}
.v08-main{min-width:0;}
.v08-sidebar{
  width:235px;
  position:fixed;
  inset:0 auto 0 0;
  z-index:70;
  padding:0 12px 18px;
  background:#fff;
  border-right:1px solid var(--ins-border);
  box-shadow:12px 0 32px rgba(43,80,109,.035);
  overflow-y:auto;
}
.v08-main{margin-left:235px;}

.brand-logo{
  height:102px;
  margin:0 6px 2px;
  padding:18px 4px 12px;
  display:flex;
  align-items:center;
}
.brand-logo img{
  display:block;
  width:172px;
  max-height:62px;
  object-fit:contain;
  object-position:left center;
}

.v08-nav{display:grid!important;gap:3px!important;}
.v08-nav a,.v08-logout{
  min-height:43px;
  display:flex!important;
  align-items:center;
  gap:12px;
  padding:9px 13px!important;
  border-radius:10px!important;
  color:#52647f!important;
  font-size:13.5px!important;
  font-weight:650!important;
  transition:.18s ease;
  position:relative;
}
.v08-nav a:hover{background:#f4f9fd;color:var(--ins-blue)!important;}
.v08-nav a.active{
  background:linear-gradient(90deg,#eaf5ff,#edf8ff)!important;
  color:#086ac0!important;
}
.v08-nav a.active:before{
  content:"";
  position:absolute;
  left:-12px;
  top:7px;
  bottom:7px;
  width:3px;
  border-radius:0 4px 4px 0;
  background:linear-gradient(180deg,var(--ins-blue),#1ea8e2);
}
.nav-icon{width:21px;height:21px;display:inline-grid;place-items:center;flex:0 0 21px;}
.nav-icon svg,.v08-topbar svg,.panel-icon svg,.kpi-icon svg{
  width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;
}
.v08-nav a.active .nav-icon{color:#0a73b8;}

.sidebar-sustainability{
  margin:22px 10px 6px;
  min-height:105px;
  border-radius:14px;
  padding:18px 14px 15px 58px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#f2fbef,#f7fcff);
  color:#6b7890;
  font-size:12px;
  line-height:1.35;
}
.sidebar-sustainability strong{color:var(--ins-green-dark);}
.mini-leaf,.mini-leaf:before,.mini-leaf:after{
  position:absolute;content:"";display:block;border-radius:100% 0 100% 0;
  transform:rotate(-35deg);
}
.mini-leaf{width:55px;height:25px;left:-12px;bottom:22px;background:linear-gradient(90deg,#33a43d,#7bd744);}
.mini-leaf:before{width:46px;height:19px;left:20px;bottom:25px;background:linear-gradient(90deg,#0a73b8,#43bfe8);}
.mini-leaf:after{width:35px;height:15px;left:25px;top:13px;background:#8adb64;}
.v08-logout{margin:7px 2px 0!important;color:#8b98aa!important;}

.v08-topbar{
  position:sticky;
  top:0;
  z-index:50;
  height:76px;
  padding:0 28px;
  display:flex;
  align-items:center;
  gap:22px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--ins-border);
}
.mobile-menu-button{display:none;border:0;background:none;color:var(--ins-blue);width:38px;height:38px;padding:9px;border-radius:10px;}
.global-search{
  width:min(620px,60vw);
  height:45px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 15px;
  background:#fbfdff;
  border:1px solid #dce8f1;
  border-radius:12px;
  box-shadow:0 2px 8px rgba(22,74,112,.025);
}
.global-search svg{width:20px;height:20px;color:#607797;flex:0 0 20px;}
.global-search input{
  border:0!important;
  padding:0!important;
  min-width:0;
  background:transparent!important;
  box-shadow:none!important;
  outline:0;
  font-size:13px;
}
.global-search:focus-within{
  border-color:#8bc8ef;
  box-shadow:0 0 0 4px rgba(10,115,184,.08);
}
.topbar-actions{display:flex;align-items:center;gap:16px;margin-left:auto;}
.quick-action{
  width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#f5f9fc;border:1px solid var(--ins-border);color:var(--ins-blue);
}
.quick-action svg{width:19px;height:19px;}
.user-summary{display:flex;align-items:center;gap:10px;padding-left:4px;}
.avatar{
  width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  color:#fff;font-weight:800;font-size:12px;
  background:linear-gradient(135deg,var(--ins-blue),#19a4df 48%,var(--ins-green) 100%);
  box-shadow:0 4px 12px rgba(10,115,184,.18);
}
.user-copy{display:grid;gap:2px;min-width:110px;}
.user-copy strong{font-size:13px;color:var(--ins-ink);}
.user-copy small{font-size:11px;color:var(--ins-muted);}

.v08-wrap{padding:26px 28px 42px;max-width:1700px;margin:0 auto;}

.dashboard-welcome{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:4px 0 22px;
}
.dashboard-eyebrow{
  display:inline-block;margin-bottom:6px;color:var(--ins-blue);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
}
.dashboard-welcome h1{margin:0;color:#0d1e3b;font-size:30px;letter-spacing:-.035em;}
.dashboard-welcome p{margin:5px 0 0;color:#718096;font-size:15px;}
.dashboard-date{display:flex;align-items:center;gap:9px;color:#6b7890;font-size:12px;white-space:nowrap;}
.dashboard-date svg{width:18px;height:18px;fill:none;stroke:var(--ins-blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}

.dashboard-kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(145px,1fr));
  gap:12px;
  margin-bottom:16px;
}
.dashboard-kpi{
  min-height:125px;
  display:flex;
  align-items:flex-start;
  gap:13px;
  padding:18px 15px;
  color:var(--ins-ink)!important;
  background:#fff;
  border:1px solid var(--ins-border);
  border-radius:15px;
  box-shadow:0 5px 18px rgba(45,83,112,.045);
  transition:.18s ease;
}
.dashboard-kpi:hover{transform:translateY(-2px);box-shadow:0 9px 25px rgba(45,83,112,.075);}
.kpi-icon{
  width:43px;height:43px;border-radius:12px;display:grid;place-items:center;padding:10px;flex:0 0 43px;
}
.dashboard-kpi.blue .kpi-icon{background:#e9f5ff;color:#0879cf;}
.dashboard-kpi.green .kpi-icon{background:#ebfae8;color:#30a63e;}
.dashboard-kpi.orange .kpi-icon{background:#fff1e6;color:#ef7d2c;}
.dashboard-kpi.purple .kpi-icon{background:#f0eaff;color:#7442dc;}
.kpi-copy{display:grid;min-width:0;}
.kpi-copy small{font-size:12px;font-weight:750;color:#36475f;}
.kpi-copy strong{font-size:23px;letter-spacing:-.03em;line-height:1.25;margin:4px 0 6px;color:#0f203e;white-space:nowrap;}
.kpi-copy em{font-style:normal;font-size:10.5px;color:#8a97a9;}

.dashboard-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,1.08fr);
  gap:16px;
}
.dashboard-panel{
  background:#fff;
  border:1px solid var(--ins-border);
  border-radius:16px;
  box-shadow:0 5px 18px rgba(45,83,112,.04);
  overflow:hidden;
}
.panel-heading{
  min-height:58px;
  padding:0 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #edf2f6;
}
.panel-heading>div{display:flex;align-items:center;gap:9px;min-width:0;}
.panel-heading h2{font-size:14px;margin:0;color:#142542;}
.panel-heading>a{font-size:11px;color:#0878cf!important;font-weight:700;white-space:nowrap;}
.panel-icon{width:27px;height:27px;padding:5px;border-radius:8px;display:grid;place-items:center;}
.panel-icon.blue{background:#eaf5ff;color:#0878cf;}
.panel-icon.green{background:#ebfae8;color:#28a43a;}
.panel-icon svg{width:17px;height:17px;}

.agenda-list,.project-list,.activity-list{padding:7px 12px 12px;}
.agenda-item{
  min-height:59px;
  display:grid;
  grid-template-columns:43px 48px minmax(0,1fr) 105px 70px;
  align-items:center;
  gap:9px;
  padding:7px 6px;
  color:var(--ins-text)!important;
  border-bottom:1px solid #edf2f6;
}
.agenda-item:last-child{border-bottom:0;}
.agenda-item:hover{background:#f9fcff;border-radius:9px;}
.agenda-day{width:40px;height:45px;border-radius:9px;background:#f3f7fb;display:grid;place-items:center;align-content:center;line-height:1.05;}
.agenda-day small{font-size:9px;color:#73839a;font-weight:800;}
.agenda-day strong{font-size:16px;color:#3d4e67;}
.agenda-time{font-size:11px;font-weight:800;color:#34465f;}
.agenda-main{display:grid;gap:3px;min-width:0;}
.agenda-main strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.agenda-main small{font-size:10px;color:#8794a6;}
.agenda-person{font-size:10px;color:#667790;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.agenda-badge{justify-self:end;padding:5px 8px;border-radius:999px;background:#eaf5ff;color:#0878cf;font-size:9.5px;font-weight:800;}

.workflow-steps{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  padding:16px 14px 12px;
  gap:0;
}
.workflow-steps span{
  position:relative;
  display:grid;
  justify-items:center;
  gap:6px;
  color:#8b98a9;
  font-size:9.5px;
  text-align:center;
  font-weight:700;
}
.workflow-steps span:before{
  content:"";
  position:absolute;
  top:11px;left:-50%;right:50%;height:2px;background:#dfe8ef;
}
.workflow-steps span:first-child:before{display:none;}
.workflow-steps i{
  width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#dfe6ed;color:#fff;font-style:normal;font-size:10px;z-index:1;
}
.workflow-steps .done i{background:#39b54a;}
.workflow-steps .done:before{background:#64c86e;}
.workflow-steps .active i{background:#0878cf;box-shadow:0 0 0 5px #eaf5ff;}
.workflow-steps .active{color:#17365a;}

.project-item{
  min-height:58px;
  display:grid;
  grid-template-columns:39px minmax(0,1fr) 88px 85px 34px 95px;
  align-items:center;
  gap:8px;
  padding:7px 4px;
  border-bottom:1px solid #edf2f6;
  color:var(--ins-text)!important;
}
.project-item:last-child{border-bottom:0;}
.project-avatar{
  width:35px;height:35px;border-radius:9px;display:grid;place-items:center;
  background:linear-gradient(135deg,#eaf5ff,#eaf9ec);color:#0878cf;font-weight:900;font-size:10px;
}
.project-main{display:grid;gap:2px;min-width:0;}
.project-main strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.project-main small{font-size:9.5px;color:#8693a5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.project-solution{font-size:9px;color:#60738e;background:#f4f7fa;border-radius:999px;padding:4px 7px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.project-progress{height:7px;background:#e7edf2;border-radius:999px;overflow:hidden;}
.project-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#42af45,#70cf51);}
.project-percent{font-size:9.5px;font-weight:800;color:#44566e;}
.project-status{padding:5px 7px;border-radius:999px;font-size:8.5px;font-weight:800;text-align:center;white-space:nowrap;}
.project-status.planning{background:#eaf5ff;color:#0878cf;}
.project-status.install{background:#e7f4ff;color:#0867bd;}
.project-status.almost{background:#ebfae8;color:#29933a;}
.project-status.done{background:#e8f8eb;color:#1e8b35;}

.dashboard-table{padding:7px 12px 12px;}
.table-head,.table-row{display:grid;grid-template-columns:1.35fr .8fr .75fr .8fr;gap:8px;align-items:center;}
.table-head{min-height:32px;padding:0 8px;color:#8a97a8;text-transform:uppercase;font-size:8.5px;font-weight:800;background:#f8fafc;border-radius:8px;}
.table-row{min-height:48px;padding:5px 8px;color:#4a5b73!important;border-bottom:1px solid #edf2f6;font-size:10px;}
.table-row:last-child{border-bottom:0;}
.table-row>span:first-child{display:grid;gap:2px;}
.table-row strong{font-size:10.5px;color:#20334f;}
.table-row small{font-size:9px;color:#8a97a8;}
.lead-pill{display:inline-block;padding:4px 7px;border-radius:999px;font-size:8.5px;}
.status-new{background:#eaf5ff;color:#0878cf;}
.status-qualified,.status-appointment{background:#fff3cf;color:#9b6900;}
.status-quote{background:#e8f8eb;color:#24933b;}
.status-won,.status-converted{background:#e8f8eb;color:#167d30;}
.status-lost{background:#fff0ef;color:#c73d37;}

.activity-list{padding-top:8px;}
.activity-item{
  min-height:55px;display:grid;grid-template-columns:15px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 7px;border-bottom:1px solid #edf2f6;
}
.activity-item:last-child{border-bottom:0;}
.activity-dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--ins-blue),var(--ins-green));box-shadow:0 0 0 5px #eef8f5;}
.activity-main{display:grid;gap:2px;}
.activity-main strong{font-size:10.5px;color:#263a55;}
.activity-main small,.activity-item time{font-size:9px;color:#8a97aa;}

.empty-state{padding:24px;color:#8a97a9;font-size:12px;text-align:center;}
.search-summary{margin:0 0 14px;color:#6c7b90;font-size:13px;}
.search-results-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.result-count{min-width:28px;height:25px;padding:0 7px;border-radius:999px;display:grid;place-items:center;background:#eff6fb;color:#0878cf;font-size:10px;font-weight:800;}
.search-result-row{min-height:54px;display:grid;grid-template-columns:1fr auto;gap:3px;padding:10px 16px;border-bottom:1px solid #edf2f6;color:#263a55!important;}
.search-result-row strong{font-size:11px;}
.search-result-row small{grid-column:1;font-size:9.5px;color:#8a97a9;}
.search-result-row>span{grid-column:2;grid-row:1/3;align-self:center;color:#0878cf;}

.login{
  background:
    radial-gradient(circle at 15% 10%,rgba(10,115,184,.08),transparent 26rem),
    radial-gradient(circle at 85% 80%,rgba(87,189,43,.08),transparent 25rem),
    #f7fbfd!important;
}
.loginbox{
  border-color:#dfeaf2!important;
  box-shadow:0 28px 80px rgba(31,75,105,.12)!important;
}
.login-brand{display:flex;justify-content:center;margin:0 0 6px;}
.login-brand img{width:200px;max-height:80px;object-fit:contain;}
.loginbox h1{text-align:center;color:#152743;font-size:24px;}
.loginbox .btn.primary,.btn.primary{
  background:linear-gradient(135deg,var(--ins-blue),#1194d2)!important;
  border-color:transparent!important;
  box-shadow:0 5px 13px rgba(10,115,184,.15);
}
.btn.primary:hover{filter:brightness(.96);}

@media(max-width:1320px){
  .dashboard-kpis{grid-template-columns:repeat(3,1fr);}
  .dashboard-grid{grid-template-columns:1fr;}
}
@media(max-width:1020px){
  .v08-shell{grid-template-columns:210px minmax(0,1fr);}
  .v08-sidebar{width:210px;}
  .v08-main{margin-left:210px;}
  .brand-logo img{width:158px;}
  .agenda-item{grid-template-columns:43px 48px minmax(0,1fr) 85px;}
  .agenda-badge{display:none;}
}
@media(max-width:780px){
  .v08-main{margin-left:0;}
  .v08-sidebar{
    transform:translateX(-105%);
    width:245px;
    transition:transform .22s ease;
    box-shadow:18px 0 45px rgba(21,48,72,.15);
  }
  body.sidebar-open .v08-sidebar{transform:translateX(0);}
  .mobile-menu-button{display:grid;place-items:center;}
  .v08-topbar{height:66px;padding:0 14px;gap:10px;}
  .global-search{width:auto;flex:1;}
  .user-copy{display:none;}
  .quick-action{display:none;}
  .v08-wrap{padding:18px 13px 30px;}
  .dashboard-welcome{align-items:flex-start;flex-direction:column;gap:8px;}
  .dashboard-welcome h1{font-size:25px;}
  .dashboard-kpis{grid-template-columns:repeat(2,1fr);}
  .dashboard-kpi{min-height:108px;padding:14px 11px;}
  .kpi-icon{width:37px;height:37px;flex-basis:37px;padding:9px;}
  .kpi-copy strong{font-size:20px;}
  .agenda-item{grid-template-columns:42px 45px minmax(0,1fr);}
  .agenda-person{display:none;}
  .project-item{grid-template-columns:37px minmax(0,1fr) 70px;}
  .project-solution,.project-progress,.project-percent{display:none;}
  .workflow-steps{overflow:auto;}
  .dashboard-table{overflow-x:auto;}
  .table-head,.table-row{min-width:610px;}
  .search-results-grid{grid-template-columns:1fr;}
}
@media(max-width:480px){
  .dashboard-kpis{grid-template-columns:1fr 1fr;gap:9px;}
  .dashboard-kpi{display:grid;grid-template-columns:36px 1fr;gap:9px;}
  .kpi-copy strong{font-size:18px;}
  .panel-heading{padding:0 12px;}
  .panel-heading>a{font-size:0;}
  .panel-heading>a span{font-size:14px;}
  .global-search input::placeholder{color:transparent;}
}

/* EQS v0.9 */
.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 16px}
.quality-grid>div{background:#f7fafc;border:1px solid var(--ins-border,#e3edf4);border-radius:10px;padding:11px;text-align:center}
.quality-grid span{display:block;font-size:10px;color:#7d8b9e}.quality-grid strong{display:block;font-size:18px;color:#152a45;margin-top:3px}
.chart-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 13px}.chart-tabs button{border:1px solid #dce8f1;background:#fff;color:#5e718c;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:800;cursor:pointer}.chart-tabs button.active{background:#0a73b8;color:#fff;border-color:#0a73b8}
.subsidy-calculator h3{margin:14px 0 0;padding-top:14px;border-top:1px solid #e7eef3;color:#075382;font-size:14px}
.subsidy-result{background:linear-gradient(135deg,#eaf5ff,#effbea)}
details summary{cursor:pointer;color:#0878cf;font-weight:750}
@media(max-width:700px){.quality-grid{grid-template-columns:repeat(2,1fr)}}

/* ============================================================
   Insallix v0.10 — agenda klant/contact
   ============================================================ */
.appointment-contact-card{
  border-top:3px solid var(--ins-blue,#0a73b8);
  background:linear-gradient(145deg,#fff 60%,#f5fbff);
}
.appointment-contact-head{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin-bottom:16px;
}
.appointment-contact-head h2{margin:3px 0 0;font-size:20px;color:#142842}
.appointment-contact-head p{margin:3px 0 0;color:#718096;font-size:12px}
.appointment-contact-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#0a73b8;font-weight:800}
.appointment-contact-avatar{
  width:48px;height:48px;display:grid;place-items:center;border-radius:50%;
  color:#fff;font-size:13px;font-weight:900;
  background:linear-gradient(135deg,#0878cf,#14a8d6 50%,#57bd2b);
  box-shadow:0 6px 16px rgba(10,115,184,.16);
  flex:0 0 48px;
}
.appointment-contact-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
}
.appointment-contact-detail{
  display:flex;align-items:center;gap:10px;
  padding:11px 12px;border:1px solid #e3edf4;border-radius:11px;background:#fff;
  min-width:0;
}
.appointment-contact-detail.wide-contact{grid-column:1/-1}
.contact-detail-icon{
  width:35px;height:35px;border-radius:9px;display:grid;place-items:center;
  background:#eaf5ff;color:#0878cf;flex:0 0 35px;padding:8px;
}
.contact-detail-icon svg,.contact-action-btn svg{
  width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.appointment-contact-detail div{display:grid;gap:2px;min-width:0}
.appointment-contact-detail small{font-size:9px;color:#8190a4;text-transform:uppercase;letter-spacing:.04em}
.appointment-contact-detail strong{font-size:12px;color:#263a55;overflow-wrap:anywhere}
.appointment-contact-actions{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;
}
.contact-action-btn{
  display:inline-flex!important;align-items:center!important;gap:7px;
}
.contact-action-btn svg{width:16px;height:16px}
.btn.whatsapp{background:#ecfaef!important;color:#15843a!important;border-color:#ccefd4!important}
.btn.maps{background:#eef7ff!important;color:#0878cf!important;border-color:#d2e8f8!important}

.calendar-contact-modal[hidden]{display:none!important}
.calendar-contact-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}
.calendar-contact-backdrop{position:absolute;inset:0;background:rgba(12,31,50,.48);backdrop-filter:blur(3px)}
.calendar-contact-dialog{
  position:relative;z-index:1;width:min(560px,100%);max-height:min(760px,90vh);overflow:auto;
  background:#fff;border-radius:20px;border:1px solid #dce8f1;
  box-shadow:0 30px 90px rgba(12,31,50,.25);
  padding:24px;
}
.calendar-modal-close{
  position:absolute;right:14px;top:12px;width:35px;height:35px;border-radius:50%;
  border:1px solid #e2eaf0;background:#fff;color:#718096;font-size:24px;line-height:1;cursor:pointer
}
.calendar-modal-top{padding-right:42px}
.calendar-modal-type{
  display:inline-flex;padding:5px 9px;border-radius:999px;background:#eaf5ff;color:#0878cf;
  font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em
}
.calendar-modal-top h2{margin:9px 0 4px;font-size:22px;color:#142842}
.calendar-modal-top p{margin:0;color:#718096;font-size:12px}
.calendar-modal-customer{
  display:flex;align-items:center;gap:12px;margin:18px 0;padding:14px;
  border-radius:13px;background:linear-gradient(135deg,#f3faff,#f5fcf3);
}
.calendar-modal-customer>div{display:grid;gap:2px}
.calendar-modal-customer small{font-size:9px;text-transform:uppercase;color:#7c8b9f}
.calendar-modal-customer strong{font-size:15px;color:#1f344f}
.calendar-modal-customer span:not(.appointment-contact-avatar){font-size:11px;color:#718096}
.calendar-modal-details{
  display:grid;grid-template-columns:1fr 1fr;gap:10px
}
.calendar-modal-details>div{
  padding:11px 12px;border-radius:10px;border:1px solid #e5edf3;background:#fff;
  display:grid;gap:4px;min-width:0
}
.calendar-modal-details>div.wide{grid-column:1/-1}
.calendar-modal-details small{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:#8290a3}
.calendar-modal-details strong,.calendar-modal-details span{font-size:12px;color:#263a55;overflow-wrap:anywhere}
.calendar-modal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:15px;border-top:1px solid #e8eef3}
body.calendar-modal-open{overflow:hidden}

@media(max-width:620px){
  .appointment-contact-grid,.calendar-modal-details{grid-template-columns:1fr}
  .appointment-contact-detail.wide-contact,.calendar-modal-details>div.wide{grid-column:auto}
  .appointment-contact-actions,.calendar-modal-actions{display:grid;grid-template-columns:1fr 1fr}
  .appointment-contact-actions .btn,.calendar-modal-actions .btn{justify-content:center}
}

/* ============================================================
   Insallix v0.11 — centraal klantdossier
   ============================================================ */
.customer-list{display:grid}
.customer-list-row{
  min-height:78px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:12px 4px;
  border-bottom:1px solid #eaf0f4;
}
.customer-list-row:last-child{border-bottom:0}
.customer-list-avatar,.customer-dossier-avatar{
  display:grid;place-items:center;
  color:#fff;font-weight:900;
  background:linear-gradient(135deg,#0878cf,#14a8d6 50%,#57bd2b);
  box-shadow:0 5px 14px rgba(10,115,184,.14);
}
.customer-list-avatar{width:42px;height:42px;border-radius:12px;font-size:11px}
.customer-list-main{display:grid;gap:3px;min-width:0}
.customer-list-main strong{font-size:12px;color:#1e334e}
.customer-list-main small{font-size:10px;color:#7b899b}
.customer-list-main span{font-size:9.5px;color:#92a0b0}
.customer-list-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}

.customer-dossier-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  margin:4px 0 18px;
}
.customer-dossier-identity{display:flex;align-items:center;gap:14px}
.customer-dossier-avatar{width:62px;height:62px;border-radius:17px;font-size:16px;flex:0 0 62px}
.customer-dossier-identity h1{margin:0;font-size:28px;color:#102540}
.customer-dossier-identity p{margin:4px 0 0;color:#718096}
.customer-dossier-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:620px}

.customer-contact-strip{
  display:grid;grid-template-columns:1fr 1.2fr 2fr;gap:10px;
  margin-bottom:14px;
}
.customer-contact-strip>div{
  background:#fff;border:1px solid #e3edf4;border-radius:12px;padding:12px 14px;display:grid;gap:3px;min-width:0
}
.customer-contact-strip small{font-size:9px;color:#8190a4;text-transform:uppercase;letter-spacing:.04em}
.customer-contact-strip strong{font-size:11px;color:#263a55;overflow-wrap:anywhere}
.customer-kpis{grid-template-columns:repeat(4,minmax(160px,1fr));}

.customer-quick-actions{
  display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px
}
.customer-quick-actions>strong{font-size:12px;color:#20334e}
.customer-quick-actions>div{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}

.customer-dossier-tabs{
  display:flex;gap:7px;overflow-x:auto;margin:0 0 14px;padding-bottom:2px
}
.customer-dossier-tabs a{
  flex:0 0 auto;padding:8px 11px;border-radius:999px;background:#edf6fc;color:#0878cf!important;font-size:10px;font-weight:800
}
.customer-dossier-grid{align-items:start}
.customer-record-list{padding:7px 12px 12px}
.customer-record-row{
  min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:8px 5px;border-bottom:1px solid #eaf0f4;color:#263a55!important
}
.customer-record-row:last-child{border-bottom:0}
.customer-record-row>div:first-child{display:grid;gap:3px;min-width:0}
.customer-record-row strong{font-size:10.5px;color:#20334f}
.customer-record-row small{font-size:9.5px;color:#8290a3}
.record-status{
  flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#eef5fa;color:#50708c;font-size:8.5px;font-weight:800;text-transform:capitalize
}
.record-amount{display:grid;gap:2px;text-align:right}
.customer-notes{padding:18px;color:#52637b;font-size:12px;line-height:1.6}

@media(max-width:980px){
  .customer-kpis{grid-template-columns:repeat(2,1fr)}
  .customer-contact-strip{grid-template-columns:1fr 1fr}
  .customer-contact-strip .wide{grid-column:1/-1}
  .customer-dossier-head{flex-direction:column}
  .customer-dossier-actions{justify-content:flex-start}
}
@media(max-width:640px){
  .customer-list-row{grid-template-columns:42px 1fr}
  .customer-list-actions{grid-column:1/-1;justify-content:flex-start;padding-left:54px}
  .customer-contact-strip{grid-template-columns:1fr}
  .customer-contact-strip .wide{grid-column:auto}
  .customer-kpis{grid-template-columns:1fr 1fr}
  .customer-quick-actions{align-items:flex-start;flex-direction:column}
  .customer-quick-actions>div{justify-content:flex-start}
  .customer-dossier-avatar{width:52px;height:52px;flex-basis:52px}
  .customer-dossier-identity h1{font-size:23px}
}

/* ============================================================
   Insallix v0.12 — product/offerte automatisering
   ============================================================ */
.product-admin-grid{align-items:start}
.product-section-title{
  margin:12px 0 0;padding-top:13px;border-top:1px solid #e6eef3;
  color:#075382;font-size:13px
}
.product-advanced{padding:10px 12px;border:1px solid #e2ebf1;border-radius:10px;background:#f9fcfe}
.product-advanced summary{font-weight:800;color:#0a73b8;cursor:pointer}
.product-list-v12{display:grid}
.product-row-v12{
  min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;gap:10px;padding:10px 3px;border-bottom:1px solid #e9eff3
}
.product-row-v12:last-child{border-bottom:0}.product-row-v12.inactive{opacity:.58}
.product-row-main{display:grid;gap:3px;min-width:0}
.product-row-main strong{font-size:11px;color:#20344f}.product-row-main small{font-size:9.5px;color:#7e8c9f}.product-row-main span{font-size:9.5px;color:#60728b}
.btn.danger{background:#fff4f3!important;color:#b42318!important;border-color:#ffd5d2!important}

.quote-add-grid{align-items:start}
.quote-lines-v12{display:grid;padding:8px 12px 12px}
.quote-line-edit{
  display:grid;grid-template-columns:85px minmax(220px,1fr) 90px 120px 75px 105px auto;
  gap:8px;align-items:end;padding:10px 0 4px;border-bottom:0
}
.quote-line-edit label{font-size:9px;color:#7f8da0}.quote-line-edit input{min-height:36px}
.quote-line-meta{display:grid;gap:2px;align-self:center}.quote-line-meta strong{font-size:9px;text-transform:uppercase;color:#0a73b8}.quote-line-meta small{font-size:8.5px;color:#8492a4}
.quote-line-total{display:grid;gap:3px;padding-bottom:7px}.quote-line-total small{font-size:8.5px;color:#8492a4}.quote-line-total strong{font-size:11px;color:#21354f}
.quote-line-delete{display:flex;justify-content:flex-end;padding:0 0 9px;border-bottom:1px solid #e9eff3}
.quote-totals-v12{margin-top:10px}
.auto-tech-preview{white-space:normal;line-height:1.55;color:#40536e;font-size:11px;background:#f8fbfd;border:1px solid #e5edf3;border-radius:10px;padding:13px;min-height:75px}

@media(max-width:1150px){
  .quote-line-edit{grid-template-columns:80px 1fr 80px 105px 70px 95px}
  .quote-line-edit>button{grid-column:6}
}
@media(max-width:760px){
  .product-row-v12{grid-template-columns:1fr auto}.product-row-v12>a{grid-column:1/-1;justify-self:start}
  .quote-line-edit{grid-template-columns:1fr 1fr}
  .quote-line-meta{grid-column:1/-1}
  .quote-line-edit label:first-of-type{grid-column:1/-1}
  .quote-line-total{align-self:end}
}

/* Insallix v0.13 factuurherinneringen */
.settings-section-title{margin:14px 0 0;padding-top:14px;border-top:1px solid #e5edf3;color:#075382;font-size:14px}
.cron-box{background:linear-gradient(135deg,#f4faff,#f7fcf5);border:1px solid #dcebf2;border-radius:12px;padding:13px 14px}
.cron-box strong{display:block;color:#173452}.cron-box p{margin:4px 0 9px;color:#728197;font-size:11px}.cron-box input{font-family:monospace;font-size:10px}
.email-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.email-template-card{border:1px solid #e1eaf0;border-radius:12px;padding:14px;background:#fbfdff;display:grid;gap:10px}.email-template-card h3{margin:0;color:#18324e;font-size:13px}.email-template-card label{display:grid;gap:5px;font-size:10px;font-weight:750;color:#5f7088}.email-template-card textarea{min-height:215px;resize:vertical}
.invoice-aging-kpis{grid-template-columns:repeat(4,minmax(170px,1fr))}.aging-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0!important;overflow:hidden;margin-bottom:14px}.aging-strip>div{padding:14px 16px;border-right:1px solid #e5edf3;display:grid;gap:4px}.aging-strip>div:last-child{border-right:0}.aging-strip small{font-size:9px;color:#8190a4;text-transform:uppercase}.aging-strip strong{font-size:17px;color:#243a56}
.invoice-table-wrap{overflow-x:auto}.invoice-table-wrap table{min-width:920px}.invoice-row-overdue{background:#fffaf5}.overdue-pill,.paid-pill,.due-pill{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8.5px;font-weight:850;white-space:nowrap}.overdue-pill{background:#fff0e5;color:#b54708}.paid-pill{background:#ebfae8;color:#1d8534}.due-pill{background:#eaf5ff;color:#0878cf}.invoice-overdue-card{border-color:#ffd8bd!important;background:#fffaf6!important}.invoice-overdue-card em{display:block;margin-top:4px;font-size:9px;font-style:normal;color:#b54708}.warning-btn{background:#fff3e9!important;color:#ad540e!important;border-color:#ffd5b5!important}
.reminder-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto 120px;gap:10px;align-items:center;padding:10px 3px;border-bottom:1px solid #e8eef3}.reminder-history-row:last-child{border-bottom:0}.reminder-history-row>div{display:grid;gap:2px}.reminder-history-row strong{font-size:10.5px;color:#263b56}.reminder-history-row small,.reminder-history-row time{font-size:9px;color:#8492a4}.reminder-sent{background:#ebfae8;color:#1d8534}.reminder-failed{background:#fff0ef;color:#b42318}
@media(max-width:900px){.email-template-grid{grid-template-columns:1fr}.invoice-aging-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.aging-strip{grid-template-columns:1fr}.aging-strip>div{border-right:0;border-bottom:1px solid #e5edf3}.reminder-history-row{grid-template-columns:1fr auto}.reminder-history-row time{grid-column:1/-1}}

/* Insallix v0.14 — nette overzichten + SMTP */
.grid2,.formgrid,.dashboard-grid{min-width:0}.grid2>*,.formgrid>*,.dashboard-grid>*{min-width:0}
.panel{min-width:0}.panel h2:first-child{margin-top:0}.actions{flex-wrap:wrap}
.row>div,.row>span{min-width:0}.row strong,.row small{overflow-wrap:anywhere}
.table-scroll{width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:11px;border:1px solid #e6eef3;background:#fff}
.table-scroll table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0;font-size:11px}
.table-scroll thead th{position:sticky;top:0;z-index:1;background:#f6f9fc;color:#718096;text-transform:uppercase;letter-spacing:.035em;font-size:9px;font-weight:850;border-bottom:1px solid #dfe9f0;white-space:nowrap}
.table-scroll th,.table-scroll td{padding:11px 12px;vertical-align:middle}.table-scroll tbody tr:last-child td{border-bottom:0}.table-scroll tbody tr:hover{background:#f9fcfe}
.table-scroll td small{display:block;margin-top:2px;color:#8795a7;font-size:9.5px}
.panel>.row{margin:0 -4px;padding:12px 8px;border-radius:9px}.panel>.row:hover{background:#f8fbfd}.panel>.row:last-child{border-bottom:0}
.pagehead{gap:18px}.pagehead>div:first-child{min-width:0}.pagehead h1{letter-spacing:-.025em}.pagehead p{max-width:850px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;line-height:1.1}.btn.small{min-height:31px}
.smtp-security-note{padding:10px 12px;border:1px solid #dcebf2;border-radius:10px;background:#f6fbfe;color:#61758f;font-size:10px}
.smtp-test-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,360px) auto;gap:14px;align-items:end}
.smtp-test-panel h2{margin:0 0 4px}.smtp-test-panel p{margin:0}
@media(max-width:900px){.smtp-test-panel{grid-template-columns:1fr 1fr}.smtp-test-panel>div{grid-column:1/-1}}
@media(max-width:640px){.table-scroll table{min-width:650px}.panel{padding:15px}.smtp-test-panel{grid-template-columns:1fr}.smtp-test-panel>div{grid-column:auto}.actions{width:100%}}


/* Insallix v0.14.1 — layout/design hotfix */
.v08-shell{display:block!important;}
.v08-main{
  display:block;
  margin-left:235px!important;
  width:calc(100% - 235px);
  min-height:100vh;
  min-width:0;
}
.v08-wrap{
  width:100%;
  max-width:none!important;
  margin:0;
}
.pagehead{
  display:flex!important;
  flex-wrap:wrap;
  align-items:flex-start!important;
  justify-content:space-between;
  gap:14px 20px!important;
  margin-bottom:18px;
}
.pagehead > div:first-child{
  flex:1 1 720px;
  width:100%;
  max-width:none!important;
  min-width:0;
}
.pagehead h1{
  display:block;
  margin:0;
  line-height:1.08;
}
.pagehead p{
  display:block;
  margin:8px 0 0;
  max-width:980px!important;
  width:auto!important;
  line-height:1.45;
}
.grid2{
  display:grid;
  grid-template-columns:minmax(360px,460px) minmax(0,1fr);
  align-items:start;
  gap:20px;
}
.formgrid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:start;
}
.product-admin-grid,
.quote-add-grid,
.customer-dossier-grid,
.dashboard-grid{
  align-items:start;
}
.panel{
  width:100%;
  overflow:hidden;
}
.sectionhead,
.customer-dossier-head,
.customer-quick-actions,
.panel-heading{
  flex-wrap:wrap;
}
.row > div:first-child,
.customer-list-main,
.project-main,
.activity-main,
.agenda-main,
.product-row-main,
.kpi-copy,
.user-copy{
  min-width:0;
  flex:1 1 auto;
}
.customer-list-row{
  grid-template-columns:46px minmax(220px,1fr) auto;
}
.customer-list-actions,
.actions{justify-content:flex-end;}
.inline{display:flex;flex-wrap:wrap;gap:10px;align-items:end;}
.inline > *{flex:0 0 auto;}
.inline input,.inline select{flex:1 1 240px;min-width:220px;}
.inline .btn{flex:0 0 auto;}
@media (max-width:1020px){
  .v08-main{margin-left:210px!important;width:calc(100% - 210px);}
  .grid2{grid-template-columns:minmax(320px,400px) minmax(0,1fr);}
}
@media (max-width:780px){
  .v08-main{margin-left:0!important;width:100%;}
  .pagehead > div:first-child{flex-basis:100%;}
  .grid2,.dashboard-grid,.customer-dossier-grid,.product-admin-grid,.quote-add-grid{grid-template-columns:1fr!important;}
}
@media (max-width:640px){
  .formgrid{grid-template-columns:1fr!important;}
  .wide,.grid h2{grid-column:auto;}
  .customer-list-row{grid-template-columns:42px 1fr;}
  .customer-list-actions{grid-column:1/-1;justify-content:flex-start;padding-left:54px;}
}


/* ============================================================
   Insallix UI hotfix 0.14.2 — Leads, Klanten, Instellingen
   ============================================================ */
.module-pagehead{
  width:100%;
  max-width:none;
  padding:2px 0 4px;
}
.module-pagehead>div:first-child{
  max-width:900px!important;
  flex:1 1 auto;
}
.module-pagehead h1{
  font-size:31px;
  line-height:1.1;
  white-space:normal;
}
.module-pagehead p{
  font-size:14px;
  line-height:1.45;
  max-width:780px!important;
  color:#718096;
}
.module-split{
  grid-template-columns:minmax(420px,0.88fr) minmax(520px,1.35fr)!important;
  gap:22px!important;
  align-items:start;
}
.module-form-card{
  overflow:visible!important;
}
.module-form-card h2{
  margin-bottom:2px;
}
.module-form-card label{
  min-width:0;
}
.module-form-card input,
.module-form-card select,
.module-form-card textarea{
  min-width:0;
}

/* Leads / CRM */
.crm-split>div{
  min-width:0;
}
.crm-split .panel{
  overflow:visible;
}
.crm-split .sectionhead{
  margin-bottom:8px;
}
.crm-split .sectionhead h2{
  margin:0;
  font-size:18px;
  color:#142542;
}
.crm-split .sectionhead .mini{
  margin-left:auto;
}
.crm-split .sectionhead .mini select{
  min-width:170px;
  width:auto;
}
.crm-split .row{
  min-height:58px;
  padding:12px 4px;
}
.crm-split .row>a{
  flex:0 0 auto;
  font-size:11px;
  font-weight:750;
  padding:7px 10px;
  border:1px solid #dce8f1;
  border-radius:8px;
  background:#fff;
}

/* Klanten */
.customers-split .panel{
  overflow:visible;
}
.customers-split>.panel:last-child{
  min-width:0;
}
.customers-split .customer-list{
  width:100%;
}
.customers-split .customer-list-row{
  grid-template-columns:46px minmax(0,1fr) auto;
  padding:13px 2px;
}
.customers-split .customer-list-main strong{
  font-size:12.5px;
}
.customers-split .customer-list-main small,
.customers-split .customer-list-main span{
  line-height:1.35;
}
.customers-split .customer-list-actions{
  max-width:190px;
}
.customers-split .customer-list-actions .btn{
  white-space:nowrap;
}

/* Instellingen */
.settings-main-form{
  grid-template-columns:repeat(2,minmax(250px,1fr))!important;
  gap:16px 18px!important;
  padding:24px!important;
  overflow:visible!important;
}
.settings-main-form>h2,
.settings-main-form>.settings-section-title,
.settings-main-form>.wide,
.settings-main-form>button{
  min-width:0;
}
.settings-main-form h2{
  font-size:21px;
  color:#142542;
}
.settings-main-form .settings-section-title{
  font-size:15px;
  margin-top:16px;
  padding-top:18px;
}
.settings-main-form label{
  font-size:12px;
}
.settings-main-form input,
.settings-main-form select,
.settings-main-form textarea{
  min-height:42px;
}
.settings-main-form input[type="color"]{
  height:42px;
  padding:5px;
}
.settings-main-form .checkline{
  display:flex;
  align-items:flex-start;
  gap:8px;
  line-height:1.4;
}
.settings-main-form .checkline input{
  min-height:0;
  margin-top:2px;
}
.cron-box{
  min-width:0;
}
.cron-box input{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.smtp-test-panel{
  padding:20px 22px!important;
}

/* Algemene formulier-/paneelbalans */
.module-split .panel,
.settings-main-form,
.smtp-test-panel{
  box-shadow:0 6px 22px rgba(44,77,104,.045);
}
.formgrid>button:not(.wide){
  justify-self:start;
}

@media(max-width:1180px){
  .module-split{
    grid-template-columns:minmax(360px,.95fr) minmax(440px,1.2fr)!important;
  }
}
@media(max-width:980px){
  .module-split{
    grid-template-columns:1fr!important;
  }
  .module-form-card{
    max-width:none;
  }
  .settings-main-form{
    grid-template-columns:1fr 1fr!important;
  }
}
@media(max-width:680px){
  .module-pagehead h1{font-size:27px;}
  .module-pagehead p{font-size:13px;}
  .settings-main-form{
    grid-template-columns:1fr!important;
    padding:17px!important;
  }
  .customers-split .customer-list-row{
    grid-template-columns:42px minmax(0,1fr);
  }
  .customers-split .customer-list-actions{
    grid-column:1/-1;
    max-width:none;
    padding-left:54px;
    justify-content:flex-start;
  }
  .crm-split .sectionhead{
    align-items:flex-start;
    flex-direction:column;
  }
  .crm-split .sectionhead .mini{
    margin-left:0;
    width:100%;
  }
  .crm-split .sectionhead .mini select{
    width:100%;
  }
}


/* Insallix v0.15 — klantgerichte subsidiecheck */
.subsidy-customer-selector,.subsidy-scan-selector{display:flex;align-items:end;gap:12px}
.subsidy-customer-selector label,.subsidy-scan-selector label{display:grid;gap:6px;flex:1;max-width:760px}
.subsidy-customer-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.subsidy-customer-id{display:flex;align-items:center;gap:13px;min-width:0}.subsidy-customer-id h2{margin:2px 0 0}.subsidy-customer-id p{margin:3px 0 0;color:#78879a;font-size:11px}
.subsidy-context-kpis{grid-template-columns:repeat(4,minmax(170px,1fr))}
.subsidy-workspace{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;margin-top:16px}
.subsidy-input-panel{height:100%}.subsidy-input-panel .checkline{margin:9px 0}.subsidy-input-panel .formgrid{margin-top:8px}
.subsidy-details{margin-top:12px;border:1px solid #e1eaf0;border-radius:11px;background:#f9fcfe;padding:10px 12px}.subsidy-details summary{cursor:pointer;color:#0878cf;font-weight:850;font-size:11px}
.charger-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.charger-grid label{display:grid;gap:4px;font-size:9px;color:#6c7c91}
.subsidy-calc-bar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,#072f54,#0b78bb);color:#fff;box-shadow:0 10px 28px rgba(6,70,115,.16)}.subsidy-calc-bar>div{display:grid;gap:3px}.subsidy-calc-bar strong{font-size:12px}.subsidy-calc-bar span{font-size:10px;opacity:.8}.subsidy-calc-bar .btn{background:#fff!important;color:#075c92!important;border-color:#fff!important}
.subsidy-results-block{margin-top:18px}.subsidy-scheme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.subsidy-scheme-card{padding:15px;border:1px solid #e2ebf1;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(18,52,78,.05)}.subsidy-scheme-card.eligible{border-top:4px solid #39a943}.subsidy-scheme-card.check{border-top:4px solid #d99718}.subsidy-scheme-card.not{border-top:4px solid #c65345}.scheme-top{display:flex;justify-content:space-between;gap:10px;align-items:start}.scheme-top span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#8492a4;font-weight:900}.scheme-top h3{font-size:13px;margin:3px 0 0;color:#203650}.scheme-top>strong{font-size:14px;color:#0a73b8;white-space:nowrap}.subsidy-scheme-card p{font-size:10px;color:#566b83;line-height:1.45;margin:10px 0 6px}.subsidy-scheme-card small{display:block;font-size:8.8px;color:#8996a6;line-height:1.4;margin-top:5px}
@media(max-width:1100px){.subsidy-context-kpis{grid-template-columns:repeat(2,1fr)}.subsidy-scheme-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.subsidy-workspace{grid-template-columns:1fr}.subsidy-calc-bar{grid-column:auto}.charger-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.subsidy-customer-head,.subsidy-calc-bar{align-items:flex-start;flex-direction:column}.subsidy-context-kpis,.subsidy-scheme-grid{grid-template-columns:1fr}.charger-grid{grid-template-columns:1fr}}


/* Insallix v0.16 — EQS automatic sizing */
.eqs-sizing-kpis .card em{display:block;margin-top:3px;font-size:9px;font-style:normal;color:#8290a3}
.eqs-method-block{border:1px solid #e1ebf2;border-radius:11px;padding:12px;background:#f9fcfe}
.eqs-method-block>strong{display:block;margin-bottom:6px;color:#0a5f98;font-size:12px}
.eqs-create-quote{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:3px solid #57bd2b}
.eqs-create-quote h2{margin:0 0 4px}.eqs-create-quote p{margin:0}
.notice.warn{background:#fff8e7;border-color:#f6d68b;color:#8a5a00}
@media(max-width:720px){.eqs-create-quote{align-items:flex-start;flex-direction:column}.eqs-create-quote .btn{width:100%}}

/* Insallix v0.16 hotfix — Team */
.team-admin-grid{align-items:start}
.team-user-list{display:grid}
.team-user-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 3px;border-bottom:1px solid #e7eef3}
.team-user-row:last-child{border-bottom:0}.team-user-row.inactive{opacity:.58}
.team-user-avatar{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:900;background:linear-gradient(135deg,#0878cf,#14a8d6 52%,#57bd2b)}
.team-user-copy{display:grid;gap:2px;min-width:0}.team-user-copy strong{font-size:11px;color:#20344f}.team-user-copy small{font-size:9.5px;color:#7e8c9f;overflow-wrap:anywhere}.team-user-copy span{font-size:9px;color:#60728b}
@media(max-width:640px){.team-user-row{grid-template-columns:42px 1fr}.team-user-row>.btn{grid-column:1/-1;justify-self:start;margin-left:54px}}

/* Insallix v0.17 — oplevering, beheer & danger zones */
.delivery-status-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin:0 0 14px}.delivery-status-card{border:1px solid #e0e9ef;border-radius:12px;background:#fff;padding:12px 14px;display:grid;gap:4px}.delivery-status-card small{font-size:9px;text-transform:uppercase;color:#8392a6}.delivery-status-card strong{font-size:13px;color:#324a65}.delivery-status-card.ok{background:#f1fbf3;border-color:#ccebd3}.delivery-status-card.ok strong{color:#19763a}.delivery-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 16px;margin-bottom:14px}.delivery-photo-upload{margin-bottom:14px}.delivery-photo-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px}.delivery-photo-grid figure{margin:0;border:1px solid #e2eaf0;border-radius:10px;overflow:hidden;background:#fff}.delivery-photo-img{aspect-ratio:4/3;background:#eef3f6}.delivery-photo-img img{width:100%;height:100%;object-fit:cover}.delivery-photo-grid figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;font-size:9px;text-transform:capitalize}.delivery-finalize{border-top:3px solid #57b92f}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:15px;border-color:#ffd7d4;background:#fffafa}.btn.danger{background:#fff1f0!important;color:#b42318!important;border-color:#ffc9c5!important}.pagehead .actions form{margin:0}.product-admin-grid>.danger-zone{margin-top:12px}.product-admin-grid>form.panel+.danger-zone{grid-column:1}.document-extract-state{font-size:9px;color:#718096}
@media(max-width:1000px){.delivery-status-grid{grid-template-columns:repeat(3,1fr)}.delivery-photo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.delivery-status-grid{grid-template-columns:1fr 1fr}.delivery-check-grid{grid-template-columns:1fr}.delivery-photo-grid{grid-template-columns:1fr 1fr}}


/* Insallix v0.18 — EQS handmatige productkeuze */
.manual-product-selection .notice.info{background:#eef8ff;border:1px solid #d4eafb;color:#28516f}
.selected-product-card{padding:13px;border:1px solid #dce9f1;border-radius:12px;background:linear-gradient(135deg,#f8fcff,#f7fcf5);display:grid;gap:5px}
.selected-product-card>strong{font-size:13px;color:#163653}.selected-product-card>small{font-size:9.5px;color:#8290a4}
.manual-product-selection select{width:100%}
.eqs-sizing-kpis .card strong{font-size:20px}


/* Oplevercorrectie hotfix */
.delivery-reset-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-5px 0 14px;padding:10px 12px;border:1px dashed #f0bbb6;border-radius:10px;background:#fffafa;color:#7a3d38;font-size:10px}
.signature-form>form{margin-top:10px}.signature-form .btn.danger{margin-top:4px}
@media(max-width:640px){.delivery-reset-row{align-items:flex-start;flex-direction:column}.delivery-reset-row .btn{width:100%}}


/* Insallix v0.19 — zelfstandige opleveringenmodule */
.delivery-overview-grid{grid-template-columns:minmax(360px,520px) minmax(0,1fr);align-items:start}
.delivery-new-customer-title{margin:8px 0 0;padding-top:12px;border-top:1px solid #e6eef3;color:#173b59;font-size:12px}
.delivery-list{display:grid;padding:4px 0}
.delivery-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px 5px;border-bottom:1px solid #e8eef3;color:#20344f!important}
.delivery-list-row:last-child{border-bottom:0}.delivery-list-row:hover{background:#f8fbfd}
.delivery-list-row>div:first-child{display:grid;gap:3px;min-width:0}.delivery-list-row strong{font-size:11px}.delivery-list-row small{font-size:9.5px;color:#8090a4}
.delivery-list-state{display:grid;gap:3px;justify-items:end}.delivery-flow-note{display:grid;grid-template-columns:auto auto 1fr;gap:12px;align-items:center;margin-top:14px}.delivery-flow-note>span{padding:5px 8px;border-radius:999px;background:#eef5fa;color:#4f708b;font-size:9px;font-weight:850}.delivery-flow-note p{margin:0;color:#718096;font-size:10px}
@media(max-width:1000px){.delivery-overview-grid{grid-template-columns:1fr}.delivery-flow-note{grid-template-columns:auto auto}.delivery-flow-note p{grid-column:1/-1}}
@media(max-width:640px){.delivery-list-row{grid-template-columns:1fr auto}.delivery-list-state{justify-items:start}.delivery-list-row>span:last-child{grid-column:2;grid-row:1/3}.delivery-flow-note{grid-template-columns:1fr auto}}

/* Insallix v0.19.1 product/material render hotfix */
.product-admin-grid > form.panel,
.product-admin-grid > div > .panel,
.product-admin-grid > div > form.panel{overflow:visible!important;}
.product-admin-grid{align-items:start!important;}


/* Insallix v0.20 — BTW-regelingen */
.tax-breakdown-box{margin-top:14px;border:1px solid #dde9f0;border-radius:12px;background:#f8fbfd;padding:12px 14px;display:grid;gap:8px}
.tax-breakdown-box>strong{font-size:11px;color:#173452}
.tax-breakdown-box>div{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:8px 0;border-top:1px solid #e6eef3;font-size:10px;color:#38506d}
.tax-breakdown-box>div:first-of-type{border-top:0}.tax-breakdown-box span:first-child{display:grid;gap:2px}.tax-breakdown-box small{font-size:9px;color:#8190a4;max-width:680px}
.invoice-tax-panel{border-top:3px solid #0878cf}.invoice-tax-form{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end}.invoice-tax-form label{display:grid;gap:5px;font-size:10px;font-weight:800;color:#5f7088}
.quote-line-edit select{min-height:36px;font-size:10px}.quote-line-edit{grid-template-columns:75px minmax(180px,1.4fr) 80px 110px minmax(210px,1fr) 95px auto}
@media(max-width:900px){.quote-line-edit{grid-template-columns:1fr 1fr}.quote-line-meta{grid-column:1/-1}.quote-line-edit label:first-of-type{grid-column:1/-1}.invoice-tax-form{grid-template-columns:1fr}}
@media(max-width:640px){.tax-breakdown-box>div{display:grid;gap:5px}}


/* Insallix v0.21 — workflow fixes */
.appointment-cancelled-badge{display:inline-flex;vertical-align:middle;margin-left:8px;padding:5px 8px;border-radius:999px;background:#fff0ef;color:#b42318;font-size:9px;font-weight:850;text-transform:uppercase}
.fc .appointment-cancelled{opacity:.55;filter:grayscale(.6)}
.fc .appointment-cancelled .fc-event-title{text-decoration:line-through}
.appointment-manage-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.appointment-manage-panel h2{margin:0 0 3px}.appointment-manage-panel p{margin:0}
.ghost-danger{background:#fff!important;color:#b42318!important;border-color:#efb5af!important}
.autosave-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#ecf9ef;color:#21783a;font-size:9px;font-weight:800}.autosave-status.saving{background:#eef7ff;color:#0878cf}.autosave-status.error{background:#fff0ef;color:#b42318}
.product-datasheet-drop{padding:14px;border:1px dashed #a9cfe7;border-radius:12px;background:#f7fbfe;gap:8px!important}.product-datasheet-drop strong{color:#173552}.product-datasheet-drop input[type=file]{background:#fff}.product-datasheet-drop small{color:#72839a}
.invoice-delete-box{margin-top:12px;border:1px solid #f0c3be;border-radius:11px;background:#fffafa;padding:10px 12px}.invoice-delete-box summary{cursor:pointer;color:#b42318;font-weight:850;font-size:10px}.invoice-delete-box form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;margin-top:10px}.invoice-delete-box label{display:grid;gap:5px;font-size:9px;color:#6f7f91}
@media(max-width:640px){.invoice-delete-box form{grid-template-columns:1fr}.appointment-manage-panel{align-items:flex-start}}

/* Opleverfoto's zijn optioneel */
.optional-badge{display:inline-flex;vertical-align:middle;margin-left:7px;padding:3px 7px;border-radius:999px;background:#eef6fb;color:#54728c;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}


/* ============================================================
   Insallix v0.22 — Mobile/PWA
   ============================================================ */

.pwa-install-button{
  border:1px solid #dce8f1;
  background:#fff;
  color:var(--ins-blue,#0a73b8);
  min-height:42px;
  padding:0 12px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-weight:800;
  cursor:pointer;
}
.pwa-install-button[hidden]{display:none!important}
.pwa-install-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pwa-login-install[hidden]{display:none!important}

.pwa-install-help{
  position:fixed;
  inset:0;
  z-index:3000;
  display:grid;
  place-items:center;
  padding:20px;
}
.pwa-install-help-backdrop{
  position:absolute;
  inset:0;
  background:rgba(14,31,48,.55);
  backdrop-filter:blur(4px);
}
.pwa-install-help-card{
  position:relative;
  z-index:1;
  width:min(440px,100%);
  background:#fff;
  border:1px solid #dce7ef;
  border-radius:20px;
  box-shadow:0 30px 90px rgba(16,35,55,.28);
  padding:24px;
  text-align:center;
}
.pwa-help-icon{width:76px;height:76px;border-radius:18px;object-fit:cover;margin-bottom:8px}
.pwa-install-help-card h2{margin:5px 0 8px;color:#17314e}
.pwa-install-help-card p{color:#61748d;line-height:1.55}
.pwa-help-close{
  position:absolute;
  right:12px;
  top:10px;
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  background:#f4f8fb;
  color:#61748d;
  font-size:24px;
  cursor:pointer;
}

@media(max-width:780px){
  html,body{max-width:100%;overflow-x:hidden}
  body.insallix-app{
    padding-bottom:env(safe-area-inset-bottom);
  }
  body.sidebar-open{overflow:hidden}
  body.sidebar-open::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(15,35,52,.38);
    backdrop-filter:blur(2px);
    z-index:55;
  }

  .v08-sidebar{
    top:0!important;
    bottom:0!important;
    height:100dvh;
    width:min(86vw,300px)!important;
    padding-bottom:calc(18px + env(safe-area-inset-bottom))!important;
    z-index:75!important;
  }
  .brand-logo{height:86px}
  .brand-logo img{width:165px}
  .v08-nav a,.v08-logout{
    min-height:48px!important;
    font-size:14px!important;
  }

  .v08-topbar{
    position:sticky;
    top:0;
    z-index:60;
    min-height:64px;
    height:auto!important;
    padding:
      calc(8px + env(safe-area-inset-top))
      12px
      8px!important;
    gap:8px!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(12px);
  }
  .mobile-menu-button,
  .pwa-install-button,
  .quick-action,
  .avatar{
    min-width:44px;
    min-height:44px;
  }
  .mobile-menu-button{border-radius:12px}
  .global-search{
    min-width:0;
    flex:1 1 auto!important;
    height:44px!important;
  }
  .global-search input{
    min-width:0;
    font-size:16px!important;
  }
  .topbar-actions{gap:6px!important}
  .pwa-install-button{padding:0 10px}
  .pwa-install-button span{display:none}

  .v08-wrap{
    padding:16px 12px calc(30px + env(safe-area-inset-bottom))!important;
  }
  .pagehead{
    margin-bottom:14px!important;
    gap:10px!important;
  }
  .pagehead h1{font-size:25px!important}
  .pagehead p{font-size:13px!important;line-height:1.45!important}

  .panel,.card{
    border-radius:14px!important;
  }
  .panel{
    padding:14px!important;
    margin-bottom:14px!important;
  }

  input,select,textarea{
    font-size:16px!important;
    min-height:44px;
  }
  input[type="checkbox"],input[type="radio"]{
    min-height:0;
  }
  input[type="file"]{
    max-width:100%;
    padding:8px;
  }
  textarea{min-height:110px}

  .btn{
    min-height:44px!important;
    padding:10px 13px!important;
    touch-action:manipulation;
  }
  .btn.small{min-height:40px!important}

  .formgrid,.grid,.grid2{
    gap:12px!important;
  }
  .formgrid{grid-template-columns:1fr!important}
  .wide,.grid h2{grid-column:auto!important}

  .actions{
    gap:8px!important;
    align-items:stretch!important;
  }
  form .actions{
    display:flex;
    flex-wrap:wrap;
  }
  form .actions > .btn,
  form .actions > a.btn,
  form .actions > form{
    flex:1 1 140px;
  }

  .pagehead>.actions{
    width:100%;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .pagehead>.actions .btn,
  .pagehead>.actions form,
  .pagehead>.actions form .btn{
    width:100%;
  }

  .table-scroll{
    margin-left:-2px;
    margin-right:-2px;
    width:calc(100% + 4px);
  }
  .table-scroll table{
    min-width:620px!important;
  }

  .signature{
    height:165px!important;
    max-width:100%;
  }

  .calendar-contact-modal{
    place-items:end center!important;
    padding:0!important;
  }
  .calendar-contact-dialog{
    width:100%!important;
    max-width:none!important;
    max-height:88dvh!important;
    border-radius:20px 20px 0 0!important;
    padding:20px 14px calc(16px + env(safe-area-inset-bottom))!important;
  }
  .calendar-modal-actions{
    grid-template-columns:1fr 1fr!important;
  }

  .fc .fc-toolbar{
    gap:6px!important;
    margin-bottom:10px!important;
  }
  .fc .fc-toolbar-title{
    font-size:16px!important;
  }
  .fc .fc-button{
    font-size:11px!important;
    padding:.5em .65em!important;
  }
  .fc .fc-timegrid-slot-label,
  .fc .fc-col-header-cell-cushion{
    font-size:10px!important;
  }
  #calendar{min-height:620px!important}

  .delivery-photo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:480px){
  .user-summary{display:none!important}
  .global-search input::placeholder{
    color:#8795a7!important;
    font-size:0;
  }
  .global-search input::before{content:"Zoeken"}
  .pagehead>.actions{
    grid-template-columns:1fr!important;
  }
  .dashboard-kpis,
  .invoice-aging-kpis,
  .customer-kpis,
  .quality-grid,
  .delivery-status-grid,
  .subsidy-context-kpis,
  .subsidy-scheme-grid{
    grid-template-columns:1fr!important;
  }
  .delivery-photo-grid{
    grid-template-columns:1fr!important;
  }
  .calendar-modal-actions{
    grid-template-columns:1fr!important;
  }
}

body.pwa-standalone .v08-topbar{
  padding-top:calc(8px + env(safe-area-inset-top));
}


/* ============================================================
   Insallix v0.23 — bedrijfsaanmeldingen
   ============================================================ */
.signup-company-button{
  border-color:#b9dff0!important;
  background:#f2fbff!important;
  color:#0878cf!important;
}
.loginbox .signup-company-button{width:100%}

.platform-signup-settings{
  border-top:4px solid #0a86cb;
}
.platform-signup-heading{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
}
.platform-signup-heading h2{margin:3px 0 4px}
.platform-signup-heading p{margin:0;color:#718198;max-width:780px;line-height:1.5}
.platform-signup-settings .checkline span{display:grid;gap:2px}
.platform-signup-settings .checkline strong{font-size:11px;color:#223a56}
.platform-signup-settings .checkline small{font-weight:400;color:#7b8b9f}
.signup-public-link{
  border:1px solid #dfeaf1;
  background:#f8fbfd;
  border-radius:11px;
  padding:11px;
}
.signup-public-link span{display:block;font-size:9px;text-transform:uppercase;font-weight:850;color:#8090a4;margin-bottom:5px}

.registration-public-page{
  min-height:100vh;
  margin:0;
  background:
    radial-gradient(circle at 15% 10%,rgba(21,167,214,.12),transparent 30%),
    radial-gradient(circle at 85% 85%,rgba(87,189,43,.12),transparent 28%),
    #f3f8fb;
}
.registration-public-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(330px,.85fr) minmax(520px,1.15fr);
  max-width:1220px;
  margin:0 auto;
  padding:38px 24px;
  align-items:center;
  gap:42px;
}
.registration-public-brand{padding:26px}
.registration-public-brand>a img{width:220px;max-width:80%;margin-bottom:34px}
.registration-public-brand h1{
  margin:7px 0 14px;
  font-size:42px;
  line-height:1.06;
  color:#132e4d;
  letter-spacing:-.035em;
}
.registration-public-brand>p{
  color:#657991;
  font-size:16px;
  line-height:1.6;
  max-width:520px;
}
.registration-benefits{display:grid;gap:11px;margin-top:28px}
.registration-benefits span{
  position:relative;
  padding-left:27px;
  color:#31506d;
  font-weight:700;
  font-size:12px;
}
.registration-benefits span:before{
  content:"✓";
  position:absolute;
  left:0;
  top:-2px;
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e8f8e4;
  color:#2c963c;
  font-size:10px;
}
.registration-public-card{
  background:#fff;
  border:1px solid #dce7ef;
  border-radius:22px;
  box-shadow:0 26px 80px rgba(24,55,82,.13);
  padding:30px;
  min-width:0;
}
.registration-card-head h2,.registration-public-card>h2{margin:0 0 5px;color:#183451}
.registration-card-head p,.registration-public-card>p{margin:0 0 20px;color:#76879b;line-height:1.5}
.registration-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.registration-form-section{
  margin:9px 0 -2px;
  padding-top:17px;
  border-top:1px solid #e7eef3;
  color:#183451;
  font-size:14px;
}
.registration-honeypot{
  position:absolute!important;
  left:-99999px!important;
  opacity:0!important;
  width:1px!important;
  height:1px!important;
}
.optional-label{
  font-size:8px;
  font-weight:600;
  color:#9aa7b6;
}
.registration-agree{
  background:#f7fafc;
  border:1px solid #e4ecf2;
  border-radius:10px;
  padding:11px;
}
.registration-agree span{font-weight:500;line-height:1.45;color:#5c6f86}
.registration-submit{min-height:48px!important;font-size:12px!important}
.registration-login-link{text-align:center;margin:18px 0 0!important;font-size:11px}
.registration-result-icon{
  width:64px;height:64px;border-radius:18px;display:grid;place-items:center;
  font-size:28px;font-weight:900;margin-bottom:16px
}
.registration-result-icon.success{background:#eaf9e7;color:#2d983c}
.registration-result-icon.pending{background:#e8f5ff;color:#0a7dc0}
.registration-result-icon.closed{background:#eef2f5;color:#718096}

.registration-kpis{grid-template-columns:repeat(3,minmax(170px,1fr));max-width:840px}
.registration-filter-tabs{
  display:flex;gap:7px;overflow-x:auto;margin:0 0 13px
}
.registration-filter-tabs a{
  flex:0 0 auto;
  padding:8px 11px;
  border-radius:999px;
  background:#edf3f7;
  color:#60758d!important;
  font-size:9.5px;
  font-weight:850
}
.registration-filter-tabs a.active{background:#0a7fc1;color:#fff!important}
.registration-list-panel{padding:8px 13px!important}
.registration-row{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto 85px;
  gap:12px;
  align-items:center;
  min-height:68px;
  padding:10px 5px;
  border-bottom:1px solid #e8eff4;
  color:#29415c!important
}
.registration-row:last-child{border-bottom:0}
.registration-row:hover{background:#f8fbfd}
.registration-company-avatar{
  width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  color:#fff;font-size:10px;font-weight:900;
  background:linear-gradient(135deg,#0879cf,#12a6d1 52%,#5cbc2c)
}
.registration-row-main{display:grid;gap:3px;min-width:0}
.registration-row-main strong{font-size:11px;color:#203a56}
.registration-row-main small{font-size:9.5px;color:#8492a4;overflow-wrap:anywhere}
.registration-row-meta{display:grid;gap:4px;justify-items:end}
.registration-row-meta small{font-size:8.5px;color:#92a0b0}
.registration-open{font-size:9.5px;font-weight:850;color:#0a7dc0}
.registration-status-pending{background:#fff3e5;color:#af5b13}
.registration-status-approved{background:#e9f9e6;color:#278438}
.registration-status-rejected{background:#fff0ef;color:#b42318}

.registration-admin-status{
  display:flex;align-items:center;gap:10px;
  margin:0 0 14px;padding:11px 14px;border-radius:11px;border:1px solid #e1e9ef;background:#fff
}
.registration-admin-status>span{font-size:9px;text-transform:uppercase;color:#8391a4;font-weight:850}
.registration-admin-status strong{font-size:12px}
.registration-admin-status small{margin-left:auto;color:#8795a7;font-size:9px}
.registration-admin-status.pending{border-left:4px solid #ea8d2c}
.registration-admin-status.approved{border-left:4px solid #4aae4f}
.registration-admin-status.rejected{border-left:4px solid #d65045}
.registration-review-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}
.registration-detail-list{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.registration-detail-list>div{padding:10px 0;border-bottom:1px solid #edf2f5;display:grid;gap:3px}
.registration-detail-list>.wide{grid-column:1/-1}
.registration-detail-list small{font-size:8.5px;color:#8493a5;text-transform:uppercase;font-weight:850}
.registration-detail-list strong,.registration-detail-list p{font-size:11px;color:#29425e;margin:0;line-height:1.5}
.registration-review-actions{display:grid;gap:18px;margin-top:18px}
.registration-review-actions form:first-child .btn{width:100%}
.registration-reject-form{border-top:1px solid #e8eef3;padding-top:15px;display:grid;gap:10px}

@media(max-width:900px){
  .registration-public-shell{grid-template-columns:1fr;max-width:700px;padding:24px 16px;gap:14px}
  .registration-public-brand{padding:12px}
  .registration-public-brand>a img{width:185px;margin-bottom:20px}
  .registration-public-brand h1{font-size:31px}
  .registration-public-brand>p{font-size:14px}
  .registration-benefits{grid-template-columns:1fr 1fr;margin-top:18px}
  .registration-review-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .registration-public-shell{padding:12px;align-items:start}
  .registration-public-brand{padding:12px 8px 4px}
  .registration-public-brand h1{font-size:27px}
  .registration-benefits{grid-template-columns:1fr}
  .registration-public-card{padding:18px 14px;border-radius:17px}
  .registration-form{grid-template-columns:1fr}
  .registration-form .wide{grid-column:auto}
  .platform-signup-heading{flex-direction:column}
  .registration-kpis{grid-template-columns:1fr!important}
  .registration-row{grid-template-columns:42px minmax(0,1fr)}
  .registration-row-meta{grid-column:2;justify-items:start}
  .registration-open{display:none}
  .registration-detail-list{grid-template-columns:1fr}
  .registration-detail-list>.wide{grid-column:auto}
  .registration-admin-status{flex-wrap:wrap}
  .registration-admin-status small{margin-left:0;width:100%}
}


/* ============================================================
   Insallix v0.24 — wachtwoord vergeten + inlog onthouden
   ============================================================ */
.login-options{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin:2px 0 4px;
}
.login-options>a{
  font-size:10.5px;
  font-weight:800;
  color:#087ac1!important;
  white-space:nowrap;
}
.remember-login{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:flex-start;
  gap:8px!important;
  cursor:pointer;
  color:#435b75!important;
  font-size:10.5px!important;
}
.remember-login input{
  width:17px!important;
  height:17px!important;
  min-height:0!important;
  margin:1px 0 0!important;
  flex:0 0 17px;
}
.remember-login span{display:grid;gap:1px}
.remember-login small{
  color:#8997a8;
  font-size:8.5px;
  font-weight:500;
}

.password-auth-box{
  display:block;
}
.password-auth-box>h1{margin-bottom:8px}
.password-auth-intro{
  color:#718198;
  font-size:11px;
  line-height:1.55;
  margin:0 0 17px;
}
.password-auth-form{
  display:grid;
  gap:12px;
}
.password-auth-form label{
  display:grid;
  gap:5px;
  font-size:10px;
  font-weight:800;
  color:#445b75;
}
.password-auth-form label small{
  color:#8997a8;
  font-size:8.5px;
  font-weight:500;
}
.password-auth-icon{
  width:60px;
  height:60px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#e9f8e5;
  color:#329440;
  font-size:27px;
  font-weight:900;
  margin:0 auto 13px;
}
.password-auth-icon.invalid{
  background:#fff1ef;
  color:#c14438;
}
.auth-back-link{
  display:block;
  margin-top:15px;
  text-align:center;
  color:#617991!important;
  font-size:10.5px;
  font-weight:750;
}

@media(max-width:480px){
  .login-options{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* ============================================================
   Insallix v0.25 — beschermde hoofdbeheerder + Sanum credit
   ============================================================ */
.team-user-titleline{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
}
.protected-owner-badge{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:3px 7px;
  border-radius:999px;
  background:#eaf6ff;
  border:1px solid #cae7f7;
  color:#0875b5;
  font-size:7.8px;
  line-height:1;
  font-weight:900;
  letter-spacing:.015em;
  white-space:nowrap;
}
.protected-owner-locked{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:34px;
  padding:0 10px;
  border:1px solid #e0e8ee;
  border-radius:10px;
  background:#f5f8fa;
  color:#7c8b9d;
  font-size:8.5px;
  font-weight:850;
  white-space:nowrap;
}
.protected-account-lock{
  padding:10px 11px;
  border:1px solid #d9eaf4;
  border-radius:10px;
  background:#f5fbff;
}
.protected-account-lock span{
  display:grid;
  gap:2px;
}
.protected-account-lock strong{
  color:#215174;
  font-size:10px;
}
.protected-account-lock small{
  color:#7a8c9f;
  font-weight:500;
}

.public-auth-credit{
  position:fixed;
  left:0;
  right:0;
  bottom:10px;
  z-index:5;
  text-align:center;
  color:#99a7b5;
  font-size:8.5px;
  line-height:1.2;
  pointer-events:none;
}
.public-auth-credit a{
  color:#7d91a4!important;
  font-weight:750;
  text-decoration:none;
  pointer-events:auto;
}
.public-auth-credit a:hover{
  color:#0a7fc1!important;
}
.registration-public-page .public-auth-credit{
  position:relative;
  bottom:auto;
  padding:0 12px 14px;
  margin-top:-24px;
}

@media(max-width:640px){
  .public-auth-credit{
    bottom:calc(8px + env(safe-area-inset-bottom));
  }
  .registration-public-page .public-auth-credit{
    padding-bottom:calc(12px + env(safe-area-inset-bottom));
    margin-top:0;
  }
  .protected-owner-locked{
    grid-column:auto;
  }
}

/* ============================================================
   SANUM PRO SEO AGENCY v1.0
   ============================================================ */
:root{--seo-dark:#111827;--seo-blue:#2563eb;--seo-cyan:#06b6d4;--seo-green:#10b981;--seo-purple:#7c3aed;--seo-orange:#f59e0b}
body.insallix-app{background:#f5f7fb}.v08-sidebar{background:#fff;border-right:1px solid #e7ebf1}.seo-brand{display:flex!important;align-items:center!important;gap:10px!important;padding:13px 16px!important}.seo-brand img{max-width:180px;max-height:60px;object-fit:contain}.seo-brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--seo-blue),var(--seo-cyan),var(--seo-green));color:#fff;display:grid;place-items:center;font-weight:900;font-size:21px}.seo-brand-copy{display:flex;align-items:baseline;gap:5px}.seo-brand-copy strong{font-size:22px;color:var(--seo-dark);letter-spacing:-.04em}.seo-brand-copy em{font-size:10px;font-style:normal;font-weight:900;color:var(--seo-green);letter-spacing:.12em}.v08-nav a.active{background:#eef4ff;color:#1d4ed8}.v08-nav a.active:before{background:var(--seo-blue)}.dashboard-eyebrow{color:#2563eb!important}
.seo-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:16px}.seo-kpi-grid.compact{grid-template-columns:repeat(4,minmax(140px,1fr))}.seo-kpi{background:#fff;border:1px solid #e4e9f0;border-radius:14px;padding:15px 16px;display:grid;gap:4px;position:relative;overflow:hidden}.seo-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.seo-kpi.blue:before{background:var(--seo-blue)}.seo-kpi.green:before{background:var(--seo-green)}.seo-kpi.purple:before{background:var(--seo-purple)}.seo-kpi.orange:before{background:var(--seo-orange)}.seo-kpi small{font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;color:#8a98aa;font-weight:850}.seo-kpi strong{font-size:23px;color:#1f2937;line-height:1.1}.seo-kpi span{font-size:9.5px;color:#7b8797}
.seo-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,.7fr);gap:15px}.seo-project-row{display:grid;grid-template-columns:42px minmax(170px,1fr) repeat(4,65px);align-items:center;gap:9px;padding:10px 4px;border-bottom:1px solid #edf1f5;color:inherit!important}.seo-project-row:hover{background:#f8faff}.seo-domain-icon,.seo-client-avatar{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#2563eb,#06b6d4);color:#fff;font-weight:900;font-size:11px}.seo-project-main{display:grid;gap:2px}.seo-project-main strong{font-size:10.5px;color:#263a53}.seo-project-main small{font-size:9px;color:#8794a5}.seo-project-metric{display:grid;text-align:right}.seo-project-metric small{font-size:7.5px;color:#96a2b2;text-transform:uppercase}.seo-project-metric strong{font-size:12px;color:#273b54}
.seo-task-mini{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1f5}.seo-task-mini>div{display:grid;gap:2px}.seo-task-mini strong{font-size:10px}.seo-task-mini small{font-size:8.5px;color:#8a97a7}.seo-priority{width:7px;height:7px;border-radius:50%;background:#94a3b8}.seo-priority.high{background:#f59e0b}.seo-priority.urgent{background:#ef4444}.seo-priority.low{background:#10b981}
.seo-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;border-radius:999px;font-size:7.8px;font-weight:850;background:#eef2f6;color:#607286;white-space:nowrap}.seo-status-active,.seo-status-live,.seo-status-won,.seo-status-done{background:#e9f9f2;color:#07845d}.seo-status-new,.seo-status-todo,.seo-status-planned{background:#eef4ff;color:#295fc3}.seo-status-qualified,.seo-status-in_progress,.seo-status-ordered{background:#f6f0ff;color:#7042bd}.seo-status-lost{background:#fff0ef;color:#b93630}.seo-master-detail{grid-template-columns:minmax(330px,440px) minmax(0,1fr)}.seo-form-section{margin:10px 0 0;padding-top:13px;border-top:1px solid #e7ecf1;font-size:12px;color:#273a52}
.seo-list-row{display:flex;align-items:center;gap:10px;padding:10px 3px;border-bottom:1px solid #edf1f5;color:inherit!important}.seo-list-row>div{display:grid;gap:2px;min-width:0;flex:1}.seo-list-row strong{font-size:10.5px;color:#263b54}.seo-list-row small{font-size:8.8px;color:#8795a6;overflow-wrap:anywhere}.seo-list-row .actions{margin-left:auto}.seo-client-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto 70px;gap:11px;align-items:center;padding:10px 3px;border-bottom:1px solid #edf1f5;color:inherit!important}.seo-client-row>span:nth-child(2){display:grid;gap:2px}.seo-client-row strong{font-size:10.5px}.seo-client-row small{font-size:8.8px;color:#8795a6}.seo-score-pill{padding:5px 8px;border-radius:999px;background:#eef4ff;color:#275dbb;font-size:8.5px;font-weight:900}.seo-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.seo-sync-buttons{display:flex;flex-wrap:wrap;gap:8px}.seo-module-links{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.seo-module-links a{padding:10px;border:1px solid #e3e9ef;border-radius:10px;background:#f9fbfd;color:#315170!important;font-size:9.5px;font-weight:800}.seo-module-links a:hover{border-color:#b7d4ff;background:#f1f6ff;color:#1d4ed8!important}
.seo-audit-results{padding:8px 14px!important}.seo-audit-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:11px 2px;border-bottom:1px solid #edf1f5}.seo-audit-status{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-weight:900;background:#eaf9f1;color:#07845d}.seo-audit-item.fail .seo-audit-status{background:#fff1ef;color:#c13b32}.seo-audit-item>div{display:grid;gap:3px}.seo-audit-item small{font-size:7.5px;text-transform:uppercase;color:#8e9aaa}.seo-audit-item strong{font-size:10.5px}.seo-audit-item p{margin:0;font-size:9.5px;color:#687a90}.seo-audit-item em{font-size:9px;font-style:normal;color:#9a5a12;background:#fff8e8;padding:6px 8px;border-radius:7px}.seo-up{color:#059669;font-weight:850}.seo-down{color:#dc2626;font-weight:850}.seo-url-cell{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seo-url-small{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.seo-competitor-form{grid-template-columns:repeat(4,minmax(0,1fr))}.seo-integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.seo-integration-card{align-content:start}.integration-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px}.integration-title strong{font-size:13px;color:#1f344e}.integration-title span{font-size:7.5px;text-transform:uppercase;background:#eef2f6;padding:4px 7px;border-radius:999px;color:#6e7d8d}.portal-user-form{margin-top:14px;padding-top:14px;border-top:1px solid #edf1f5}.agency-settings-form{max-width:980px}.seo-report-form,.seo-task-form{max-width:1050px}
.seo-public-report{background:#f5f7fb;padding:32px}.seo-public-report main{max-width:900px;margin:auto;background:#fff;border:1px solid #e3e8ee;border-radius:18px;padding:36px;box-shadow:0 20px 70px rgba(25,40,60,.08)}.seo-public-report header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7ebef;padding-bottom:20px}.seo-public-report header img{max-height:55px;max-width:200px}.seo-public-report h1{font-size:32px}.seo-public-report section{padding:18px 0;border-top:1px solid #edf1f5}.seo-public-report footer{margin-top:25px;font-size:9px;color:#8a98aa}
@media(max-width:1100px){.seo-kpi-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.seo-dashboard-grid,.seo-action-grid{grid-template-columns:1fr}.seo-project-row{grid-template-columns:42px minmax(140px,1fr) repeat(2,55px)}.seo-project-row .seo-project-metric:nth-last-child(-n+2){display:none}.seo-competitor-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.seo-master-detail,.seo-integration-grid{grid-template-columns:1fr}.seo-module-links{grid-template-columns:1fr}.seo-client-row{grid-template-columns:42px minmax(0,1fr) auto}.seo-client-row>span:last-child{display:none}}
@media(max-width:520px){.seo-kpi-grid,.seo-kpi-grid.compact{grid-template-columns:1fr 1fr!important}.seo-kpi strong{font-size:20px}.seo-project-row{grid-template-columns:38px minmax(0,1fr) 52px}.seo-project-row .seo-project-metric:not(:last-child){display:none}.seo-competitor-form{grid-template-columns:1fr}}
.seo-login-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:12px}.seo-public-wordmark{display:inline-flex!important;align-items:center;gap:10px;text-decoration:none!important;margin-bottom:28px}.seo-public-wordmark .seo-brand-copy strong{font-size:24px}.seo-public-wordmark .seo-brand-copy em{font-size:10px}


/* ============================================================
   SANUM PRO v1.1 — dashboard matching supplied reference
   ============================================================ */
:root{
  --sanum-green:#00d665;
  --sanum-green-bright:#12e878;
  --sanum-green-soft:#e9fff3;
  --sanum-ink:#111827;
  --sanum-muted:#7b8798;
  --sanum-border:#e7ebf0;
  --sanum-bg:#f5f7fa;
}
body.insallix-app{background:var(--sanum-bg)!important;color:var(--sanum-ink)}
.v08-shell{background:var(--sanum-bg)}
.v08-sidebar{
  width:218px!important;
  background:#fff!important;
  border-right:1px solid #e9edf2!important;
  box-shadow:none!important;
  padding:0 12px 16px!important;
}
.v08-main{margin-left:218px!important}
.brand-logo{height:92px!important;border-bottom:1px solid #eef1f4}
.seo-brand{padding:17px 10px!important;gap:4px!important;overflow:visible!important}
.seo-brand .sanum-default-logo{
  width:142px!important;
  max-width:142px!important;
  height:auto!important;
  max-height:58px!important;
  object-fit:contain!important;
}
.sanum-pro-suffix{
  font-size:15px;
  line-height:1;
  font-weight:900;
  color:var(--sanum-green);
  letter-spacing:.01em;
  margin-left:1px;
}
.v08-nav{padding-top:8px!important;gap:2px!important}
.v08-nav a{
  min-height:37px!important;
  border-radius:7px!important;
  color:#344258!important;
  font-size:10px!important;
  font-weight:650!important;
  padding:0 10px!important;
  gap:10px!important;
}
.v08-nav a:before{display:none!important}
.v08-nav a:hover{background:#f5f8fa!important}
.v08-nav a.active{
  background:#bff6d7!important;
  color:#07934a!important;
  box-shadow:none!important;
}
.v08-nav a.active .nav-icon{color:#07934a!important}
.v08-nav .nav-icon{width:16px!important;height:16px!important;color:#3f4e63}
.sidebar-sustainability{
  background:#111a29!important;
  border:1px solid #1c293a!important;
  border-radius:10px!important;
  margin:12px 4px!important;
  padding:12px!important;
}
.sidebar-sustainability .mini-leaf{background:var(--sanum-green)!important}
.sidebar-sustainability p{color:#aab7c8!important;font-size:9px!important}
.sidebar-sustainability strong{color:#fff!important}
.v08-logout{margin:0 4px!important;border-radius:8px!important}

.v08-topbar{
  height:72px!important;
  min-height:72px!important;
  border-bottom:1px solid #e9edf2!important;
  background:rgba(255,255,255,.97)!important;
  padding:0 22px!important;
}
.mobile-menu-button{border-color:#e8edf2!important;background:#fff!important}
.global-search{
  max-width:610px!important;
  height:39px!important;
  margin-left:10px!important;
  background:#fff!important;
  border:1px solid #e2e7ec!important;
  border-radius:8px!important;
  box-shadow:0 1px 2px rgba(20,35,55,.02)!important;
}
.global-search input{font-size:10px!important;color:#36465c!important}
.global-search svg{width:15px!important;height:15px!important;color:#8693a5!important}
.topbar-actions{margin-left:auto!important}
.quick-action,.pwa-install-button{
  border:0!important;background:#fff!important;box-shadow:none!important;color:#34465d!important
}
.user-summary{
  border-left:1px solid #edf0f3;
  padding-left:15px;
  gap:9px!important;
}
.avatar{
  background:#111827!important;
  color:#fff!important;
  width:36px!important;height:36px!important;
  border-radius:50%!important;
  font-size:9px!important;
}
.user-copy strong{font-size:9.5px!important;color:#1f2b3a!important}
.user-copy small{font-size:7.8px!important;color:#8693a3!important}
.user-chevron{font-size:14px;color:#5f6d80;margin-left:2px}
.v08-wrap{padding:22px 24px 34px!important;max-width:1600px!important}

.sanum-dashboard{max-width:1450px;margin:0 auto}
.sanum-dashboard-welcome{
  display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px
}
.sanum-dashboard-welcome h1{
  font-size:28px!important;line-height:1.1!important;margin:0!important;color:#111827!important;letter-spacing:-.035em!important
}
.sanum-dashboard-welcome p{margin:6px 0 0;color:#8793a3;font-size:10px}
.sanum-wave{font-size:21px}
.sanum-date-pill,.sanum-select-pill{
  display:inline-flex;align-items:center;gap:9px;border:1px solid #e3e8ee;background:#fff;border-radius:8px;color:#536176;font-size:9px;font-weight:650
}
.sanum-date-pill{height:38px;padding:0 13px}
.sanum-date-icon{color:#465871}.sanum-date-chevron{font-size:12px;color:#8290a1}
.sanum-select-pill{height:31px;padding:0 9px}

.sanum-top-kpis{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px
}
.sanum-main-kpi{
  background:#fff;border:1px solid var(--sanum-border);border-radius:10px;padding:15px;
  display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:start;min-height:103px;
  box-shadow:0 2px 8px rgba(20,32,52,.025)
}
.sanum-kpi-icon{
  width:40px;height:40px;border-radius:9px;background:#e9fbf1;color:#04a553;display:grid;place-items:center
}
.sanum-kpi-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sanum-main-kpi>div{display:grid;gap:2px}
.sanum-main-kpi small{color:#68778a;font-size:8.7px;font-weight:750}
.sanum-main-kpi strong{color:#101827;font-size:25px;letter-spacing:-.04em;line-height:1.15}
.sanum-main-kpi em{font-style:normal;color:#8996a6;font-size:8px}
.sanum-main-kpi em.positive,.positive{color:#06a856!important}
.sanum-main-kpi em.negative,.negative{color:#d64242!important}

.sanum-dashboard-charts{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:12px;margin-bottom:12px
}
.sanum-dashboard-card{
  background:#fff;border:1px solid var(--sanum-border);border-radius:10px;padding:14px;
  box-shadow:0 2px 8px rgba(20,32,52,.02);min-width:0
}
.sanum-card-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px
}
.sanum-card-head h2{font-size:11px!important;margin:0!important;color:#172033!important}
.sanum-card-head>a{font-size:8.5px;color:#00a951!important;font-weight:750}
.sanum-info{
  width:13px;height:13px;border:1px solid #b9c2cd;border-radius:50%;display:inline-grid;place-items:center;
  font-size:7px;color:#8390a0;margin-left:3px;vertical-align:1px
}
.sanum-big-number{font-size:27px;font-weight:900;color:#101827;letter-spacing:-.045em;margin-top:4px}
.sanum-big-number span{font-size:9px;letter-spacing:0;margin-left:6px}
.sanum-card-head>div>small{font-size:7.8px;color:#929dab}
.sanum-line-chart{position:relative;height:215px;padding-top:4px}
.sanum-traffic-svg{width:100%;height:185px;display:block}
.sanum-chart-grid line{stroke:#eef1f4;stroke-width:1}
.sanum-month-axis{
  display:grid;grid-template-columns:repeat(9,1fr);gap:0;padding:0 8px;color:#8d98a8;font-size:7.5px;text-align:center
}

.sanum-keyword-legend{display:flex;gap:13px;margin-top:8px;color:#7e8a99;font-size:7.8px}
.sanum-keyword-legend span{display:inline-flex;align-items:center;gap:5px}
.sanum-keyword-legend i{width:7px;height:7px;border-radius:50%;display:block}
.sanum-keyword-legend i.top3{background:#00b95d}.sanum-keyword-legend i.top10{background:#77e2aa}.sanum-keyword-legend i.top50{background:#d6dde5}
.sanum-bar-chart{
  height:216px;display:grid;grid-template-columns:repeat(9,1fr);align-items:end;gap:7px;
  padding:18px 8px 0;border-top:1px solid #f4f5f7;
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 43px,#f0f2f5 44px)
}
.sanum-bar-column{height:185px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}
.sanum-stacked-bar{
  width:min(33px,70%);height:150px;display:flex;flex-direction:column-reverse;justify-content:flex-start;border-radius:4px 4px 2px 2px;overflow:hidden
}
.sanum-stacked-bar span{width:100%;display:block;min-height:0}
.bar-top3{background:#00b95d}.bar-top10{background:#72e4a8}.bar-top50{background:#d7dee6}
.sanum-bar-column small{font-size:7.5px;color:#8d98a8}

.sanum-dashboard-bottom{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) minmax(0,.72fr);gap:12px
}
.sanum-client-table-head,.sanum-client-table-row{
  display:grid;grid-template-columns:minmax(150px,1fr) 105px 70px 58px;gap:8px;align-items:center
}
.sanum-client-table-head{padding:4px 2px 7px;border-bottom:1px solid #edf0f3;color:#8b96a5;font-size:7.5px}
.sanum-client-table-row{min-height:44px;padding:6px 2px;border-bottom:1px solid #f0f2f4;color:#37475b!important;font-size:8.5px}
.sanum-client-name{display:flex;align-items:center;gap:8px;min-width:0}
.sanum-client-name>i{
  width:26px;height:26px;border-radius:7px;background:#0e1725;color:#16df76;display:grid;place-items:center;font-style:normal;font-size:7px;font-weight:900
}
.sanum-client-name>span{display:grid;gap:1px;min-width:0}
.sanum-client-name strong{font-size:8.7px;color:#26364c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sanum-client-name small{font-size:7px;color:#97a1af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sanum-active-pill{
  padding:4px 7px;background:#dff9eb;color:#07934a;border-radius:999px;font-size:7px;font-weight:800;text-align:center
}

.sanum-task-row,.sanum-lead-row{
  min-height:45px;border-bottom:1px solid #f0f2f4;color:inherit!important;display:grid;align-items:center;gap:8px
}
.sanum-task-row{grid-template-columns:20px minmax(0,1fr) 42px 27px}
.sanum-task-check{
  width:17px;height:17px;border:1px solid #cdd5de;border-radius:50%;display:grid;place-items:center;color:#9ba6b4;font-size:7px
}
.sanum-task-copy,.sanum-lead-copy{display:grid;gap:1px;min-width:0}
.sanum-task-copy strong,.sanum-lead-copy strong{font-size:8.4px;color:#2f3f55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sanum-task-copy small,.sanum-lead-copy small{font-size:7.1px;color:#929dab;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sanum-task-date,.sanum-lead-time{font-size:7.1px;color:#8c98a7;text-align:right}
.sanum-task-avatar,.sanum-lead-avatar{
  width:25px;height:25px;border-radius:50%;background:#152033;color:#fff;display:grid;place-items:center;font-size:6.8px;font-weight:850
}
.sanum-lead-row{grid-template-columns:28px minmax(0,1fr) 48px}
.sanum-lead-avatar{background:#0ebd61}
.sanum-client-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sanum-client-shortcuts a{padding:12px 9px;border:1px solid #e8ecef;border-radius:8px;color:#263d55!important;font-size:8.5px;font-weight:750;background:#fafcfd}
.sanum-client-shortcuts a:hover{border-color:#93e8b9;background:#effcf5;color:#07934a!important}

.btn.primary{
  background:var(--sanum-green)!important;border-color:var(--sanum-green)!important;color:#07150d!important;
  box-shadow:none!important;font-weight:850!important
}
.btn.primary:hover{background:#10e474!important;border-color:#10e474!important}
a{transition:.15s ease}
.notice.success{border-color:#8de9b7!important;background:#edfff5!important}

@media(max-width:1200px){
  .sanum-top-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sanum-dashboard-charts{grid-template-columns:1fr}
  .sanum-dashboard-bottom{grid-template-columns:1fr 1fr}
  .sanum-new-leads{grid-column:1/-1}
}
@media(max-width:780px){
  .v08-main{margin-left:0!important}
  .v08-sidebar{width:min(86vw,300px)!important}
  .v08-wrap{padding:16px 12px 28px!important}
  .sanum-dashboard-welcome{align-items:flex-start;flex-direction:column}
  .sanum-dashboard-welcome h1{font-size:24px!important}
  .sanum-date-pill{height:34px}
  .sanum-top-kpis{grid-template-columns:1fr 1fr}
  .sanum-dashboard-bottom{grid-template-columns:1fr}
  .sanum-new-leads{grid-column:auto}
}
@media(max-width:520px){
  .sanum-top-kpis{grid-template-columns:1fr}
  .sanum-main-kpi{min-height:90px}
  .sanum-dashboard-card{padding:12px}
  .sanum-client-table-head{display:none}
  .sanum-client-table-row{grid-template-columns:minmax(0,1fr) auto auto}
  .sanum-client-table-row>span:nth-child(2){display:none}
  .sanum-keyword-legend{flex-wrap:wrap}
  .sanum-bar-chart{gap:3px;padding-left:2px;padding-right:2px}
}

body.login{
  background:
    radial-gradient(circle at 14% 12%,rgba(0,214,101,.12),transparent 28%),
    linear-gradient(145deg,#08131d,#111b29 58%,#062214)!important;
}
.loginbox{border-radius:18px!important;border-color:#273241!important;box-shadow:0 28px 90px rgba(0,0,0,.30)!important}
.loginbox .btn.primary{background:var(--sanum-green)!important;color:#07140d!important}


/* ============================================================
   SANUM PRO v1.2 — COMPLETE DESIGN OVERHAUL
   Matches the approved Sanum Pro reference:
   white SaaS UI, green accents, compact professional spacing.
   ============================================================ */
:root{
  --sp-green:#00df70;
  --sp-green-2:#12eb7d;
  --sp-green-dark:#04a958;
  --sp-green-soft:#d8fae8;
  --sp-black:#101827;
  --sp-navy:#172235;
  --sp-text:#243247;
  --sp-muted:#8693a4;
  --sp-border:#e6eaf0;
  --sp-border-2:#edf0f4;
  --sp-bg:#f5f7fa;
  --sp-card:#ffffff;
  --sp-shadow:0 4px 18px rgba(24,38,58,.035);
}
html{background:var(--sp-bg)}
body.insallix-app{
  background:var(--sp-bg)!important;
  color:var(--sp-text)!important;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
}
*{box-sizing:border-box}

/* --- MAIN APP SHELL --- */
.v08-sidebar{
  width:248px!important;
  background:#fff!important;
  border-right:1px solid var(--sp-border)!important;
  box-shadow:none!important;
  padding:0 14px 18px!important;
}
.v08-main{margin-left:248px!important;min-width:0}
.v08-topbar{
  height:82px!important;
  min-height:82px!important;
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid var(--sp-border)!important;
  padding:0 30px!important;
  box-shadow:none!important;
}
.v08-wrap{
  max-width:1600px!important;
  margin:0 auto!important;
  padding:28px 30px 42px!important;
}

/* --- BRAND --- */
.brand-logo{
  height:104px!important;
  border-bottom:1px solid var(--sp-border-2)!important;
  display:flex!important;
  align-items:center!important;
}
.seo-brand{
  width:100%!important;
  padding:19px 8px 17px!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  overflow:visible!important;
}
.seo-brand .sanum-default-logo{
  display:block!important;
  width:158px!important;
  max-width:158px!important;
  height:auto!important;
  max-height:64px!important;
  object-fit:contain!important;
  flex:0 0 auto!important;
}
.sanum-logo-fallback{
  display:none;
  align-items:center;
  gap:6px;
}
.sanum-logo-circle{
  width:39px;height:39px;border:3px solid #111;border-radius:50%;
  display:grid;place-items:center;font-weight:950;font-size:23px;color:#111;
}
.sanum-logo-word{font-size:21px;font-weight:950;letter-spacing:-.05em;color:#111}
.sanum-pro-suffix{
  color:var(--sp-green)!important;
  font-size:14px!important;
  font-weight:950!important;
  line-height:1!important;
  margin-left:1px!important;
  letter-spacing:.01em!important;
}

/* --- SIDEBAR NAV --- */
.v08-nav{padding:12px 0 0!important;gap:4px!important}
.v08-nav a{
  min-height:44px!important;
  border-radius:9px!important;
  color:#314158!important;
  font-size:10.5px!important;
  font-weight:700!important;
  padding:0 12px!important;
  gap:11px!important;
  transition:.14s ease!important;
}
.v08-nav a:hover{background:#f5f8fa!important;color:#15283f!important}
.v08-nav a.active{
  background:#bdf5d6!important;
  color:#079a4e!important;
}
.v08-nav a.active:before{display:none!important}
.v08-nav .nav-icon{
  width:17px!important;height:17px!important;color:#3c4f68!important;flex:0 0 17px!important;
}
.v08-nav a.active .nav-icon{color:#069a4e!important}
.sidebar-sustainability{
  margin:16px 3px 10px!important;
  padding:14px!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,#0e1725,#162235)!important;
  border:1px solid #202d41!important;
}
.sidebar-sustainability p{font-size:8.5px!important;line-height:1.45!important;color:#9faec1!important}
.sidebar-sustainability strong{color:#fff!important}
.sidebar-sustainability .mini-leaf{background:var(--sp-green)!important}
.v08-logout{
  min-height:42px!important;border-radius:9px!important;margin:3px!important;
  color:#65748a!important;font-size:10px!important;
}

/* --- TOPBAR --- */
.mobile-menu-button{background:#fff!important;border:1px solid var(--sp-border)!important;border-radius:10px!important}
.global-search{
  width:min(620px,50vw)!important;
  max-width:620px!important;
  height:44px!important;
  border:1px solid #dfe5eb!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
  margin-left:2px!important;
}
.global-search input{font-size:10px!important;color:#3e4b5d!important}
.global-search input::placeholder{color:#909cab!important}
.global-search svg{color:#8491a2!important;width:16px!important}
.topbar-actions{gap:10px!important}
.quick-action,.pwa-install-button{
  width:auto!important;min-width:42px!important;height:42px!important;
  background:#fff!important;border:0!important;color:#35465c!important;border-radius:9px!important;
}
.pwa-install-button span{display:inline!important;font-size:10px!important;font-weight:800!important}
.user-summary{
  display:flex!important;align-items:center!important;
  border-left:1px solid var(--sp-border)!important;
  padding-left:18px!important;
  min-width:160px!important;
}
.avatar{
  width:39px!important;height:39px!important;border-radius:50%!important;
  background:#111827!important;color:#fff!important;font-size:9px!important;
}
.user-copy{display:grid!important;gap:1px!important}
.user-copy strong{font-size:10px!important;color:#17253a!important}
.user-copy small{font-size:8px!important;color:#8a96a7!important}
.user-chevron{margin-left:auto!important;color:#78879a!important}

/* --- PAGE HEADER --- */
.pagehead,.seo-pagehead{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;
  gap:18px!important;margin:0 0 22px!important;
}
.pagehead>div:first-child,.seo-pagehead>div:first-child{min-width:0}
.dashboard-eyebrow{
  display:block!important;
  color:#1e5bd7!important;
  font-size:8.5px!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  margin-bottom:7px!important;
}
.pagehead h1,.seo-pagehead h1{
  margin:0!important;color:#111827!important;
  font-size:32px!important;line-height:1.08!important;font-weight:900!important;
  letter-spacing:-.035em!important;
}
.pagehead p,.seo-pagehead p{
  margin:8px 0 0!important;color:#718096!important;font-size:11px!important;line-height:1.5!important;
}
.pagehead .actions{display:flex!important;gap:8px!important;align-items:center!important}

/* --- CARDS / PANELS --- */
.panel,.card,.sanum-dashboard-card{
  background:#fff!important;
  border:1px solid var(--sp-border)!important;
  border-radius:14px!important;
  box-shadow:var(--sp-shadow)!important;
}
.panel{padding:18px!important}
.panel h2{font-size:13px!important;color:#172438!important;margin-top:0!important}
.panel-heading{
  display:flex!important;justify-content:space-between!important;align-items:flex-start!important;
  margin-bottom:12px!important
}
.panel-heading h2{margin:0!important}
.panel-heading p,.muted{color:#8895a5!important}

/* --- FORMS --- */
.formgrid{gap:14px!important}
.formgrid label{
  color:#516178!important;font-size:9px!important;font-weight:800!important;line-height:1.35!important;
}
input,select,textarea{
  width:100%;
  border:1px solid #dfe5eb!important;
  background:#fff!important;
  color:#26384e!important;
  border-radius:9px!important;
  min-height:43px!important;
  padding:9px 11px!important;
  box-shadow:none!important;
  transition:.14s ease!important;
}
textarea{min-height:112px!important}
input:focus,select:focus,textarea:focus{
  border-color:#7ae6aa!important;
  outline:3px solid rgba(0,223,112,.09)!important;
}
select{cursor:pointer!important}
label small{color:#97a2b0!important;font-size:8px!important;margin-top:4px!important}
input[type="checkbox"],input[type="radio"]{
  width:17px!important;height:17px!important;min-height:0!important;padding:0!important;
}

/* --- BUTTONS --- */
.btn{
  min-height:40px!important;
  border-radius:9px!important;
  padding:9px 13px!important;
  border:1px solid #dfe5eb!important;
  background:#fff!important;
  color:#34475e!important;
  font-size:9px!important;
  font-weight:850!important;
  box-shadow:none!important;
}
.btn:hover{background:#f7fafc!important;border-color:#cdd6df!important}
.btn.primary{
  background:var(--sp-green)!important;
  border-color:var(--sp-green)!important;
  color:#07140d!important;
}
.btn.primary:hover{background:var(--sp-green-2)!important;border-color:var(--sp-green-2)!important}
.btn.small{min-height:34px!important;padding:6px 10px!important;font-size:8px!important}

/* --- TABLES --- */
.table-panel{padding:0!important;overflow:hidden!important}
.table-panel>h2{padding:18px 18px 0!important}
.table-scroll{overflow:auto!important}
table{width:100%!important;border-collapse:collapse!important}
thead th{
  background:#fafbfd!important;
  color:#78869a!important;
  font-size:8px!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  font-weight:900!important;
  padding:11px 12px!important;
  border-bottom:1px solid var(--sp-border)!important;
}
tbody td{
  color:#3a4a5e!important;font-size:9px!important;padding:11px 12px!important;
  border-bottom:1px solid #eef1f4!important;vertical-align:middle!important;
}
tbody tr:hover{background:#fbfcfd!important}
tbody td strong{color:#22354e!important}

/* --- LISTS --- */
.seo-list-row,.seo-client-row,.registration-row{
  border-bottom:1px solid #edf1f4!important;
  padding:12px 5px!important;
}
.seo-list-row:hover,.seo-client-row:hover{background:#fbfdfc!important}
.seo-client-avatar,.seo-domain-icon{
  background:linear-gradient(145deg,#101827,#20314a)!important;
  color:var(--sp-green)!important;
}
.seo-score-pill{
  background:#e9fff2!important;
  color:#07934b!important;
  border:1px solid #cbf6de!important;
}
.seo-badge{font-size:7.8px!important}
.seo-status-active,.seo-status-live,.seo-status-won,.seo-status-done{
  background:#ddf9ea!important;color:#078846!important
}

/* --- EMPTY PROJECT STATE --- */
.sanum-empty-project{
  min-height:150px;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) auto!important;
  gap:16px!important;
  align-items:center!important;
  padding:24px!important;
}
.sanum-empty-icon{
  width:54px;height:54px;border-radius:14px;background:#e7fff2;color:#08a454;
  display:grid;place-items:center
}
.sanum-empty-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sanum-empty-project h2{margin:0 0 5px!important;font-size:14px!important}
.sanum-empty-project p{margin:0;color:#8290a2;font-size:9.5px;line-height:1.5}

/* --- DASHBOARD --- */
.sanum-dashboard{max-width:1450px!important}
.sanum-dashboard-welcome{
  display:flex!important;justify-content:space-between!important;align-items:flex-start!important;
  margin-bottom:20px!important
}
.sanum-dashboard-welcome h1{
  font-size:31px!important;font-weight:900!important;color:#111827!important;letter-spacing:-.04em!important
}
.sanum-dashboard-welcome p{font-size:10px!important;color:#8995a5!important}
.sanum-date-pill{height:40px!important;border-radius:9px!important;border-color:#dfe5ea!important}
.sanum-top-kpis{gap:13px!important;margin-bottom:14px!important}
.sanum-main-kpi{
  border-radius:12px!important;
  border:1px solid var(--sp-border)!important;
  padding:16px!important;
  box-shadow:var(--sp-shadow)!important
}
.sanum-kpi-icon{background:#e6fff1!important;color:#05a855!important}
.sanum-main-kpi small{font-size:8.5px!important}
.sanum-main-kpi strong{font-size:26px!important}
.sanum-main-kpi em{font-size:8px!important}
.sanum-dashboard-charts,.sanum-dashboard-bottom{gap:13px!important}
.sanum-dashboard-card{padding:16px!important}
.sanum-card-head h2{font-size:11.5px!important}
.sanum-card-head>a{color:#04a856!important}
.sanum-big-number{font-size:29px!important}
.sanum-select-pill{border-color:#e2e7ec!important}
.sanum-client-table-row,.sanum-task-row,.sanum-lead-row{min-height:48px!important}
.sanum-active-pill{background:#dff9eb!important;color:#078d48!important}

/* --- INTEGRATIONS / SETTINGS --- */
.seo-integration-grid{gap:15px!important}
.seo-integration-card{
  border-radius:14px!important;
  padding:18px!important;
}
.integration-title strong{font-size:13px!important}
.integration-title span{
  background:#eef2f6!important;color:#67788c!important;border:1px solid #e2e7ec!important
}
.agency-settings-form{max-width:1000px!important}

/* --- LOGIN --- */
body.login{
  min-height:100vh!important;
  background:
    radial-gradient(circle at 18% 15%,rgba(0,223,112,.16),transparent 28%),
    radial-gradient(circle at 80% 88%,rgba(0,223,112,.08),transparent 27%),
    linear-gradient(145deg,#08111c,#101827 58%,#071d14)!important;
}
.loginbox{
  width:min(430px,calc(100vw - 28px))!important;
  border-radius:20px!important;
  border:1px solid #273447!important;
  box-shadow:0 35px 100px rgba(0,0,0,.34)!important;
  overflow:hidden!important;
}
.loginbox .login-brand{
  margin:-24px -24px 22px!important;
  padding:22px 24px!important;
  background:#0f1927!important;
  border-bottom:1px solid #243044!important;
}
.loginbox .login-brand img{max-width:185px!important;max-height:62px!important}
.loginbox h1{font-size:23px!important;color:#142033!important}
.loginbox .btn.primary{min-height:46px!important;font-size:10px!important}

/* --- PUBLIC AUTH CREDIT --- */
.public-auth-credit{color:#9aa6b4!important;font-size:8px!important}
.public-auth-credit a{color:#7fbf9f!important}

/* --- MOBILE --- */
@media(max-width:1000px){
  .v08-sidebar{
    width:min(84vw,300px)!important;
    transform:translateX(-105%);
    position:fixed!important;
    z-index:90!important;
  }
  body.sidebar-open .v08-sidebar{transform:translateX(0)!important}
  .v08-main{margin-left:0!important}
  .mobile-menu-button{display:inline-flex!important}
  .global-search{width:min(560px,55vw)!important}
  .sanum-top-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:780px){
  .v08-topbar{height:auto!important;min-height:68px!important;padding:10px 12px!important}
  .v08-wrap{padding:18px 12px 30px!important}
  .pagehead,.seo-pagehead{flex-direction:column!important}
  .pagehead h1,.seo-pagehead h1{font-size:27px!important}
  .pagehead .actions{width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pagehead .actions>*{width:100%!important}
  .global-search{flex:1!important;width:auto!important}
  .pwa-install-button span{display:none!important}
  .user-copy{display:none!important}
  .user-summary{min-width:45px!important;padding-left:10px!important}
  .sanum-dashboard-welcome{flex-direction:column!important;gap:12px!important}
  .sanum-dashboard-charts,.sanum-dashboard-bottom{grid-template-columns:1fr!important}
  .sanum-new-leads{grid-column:auto!important}
  .sanum-empty-project{grid-template-columns:48px minmax(0,1fr)!important}
  .sanum-empty-project .btn{grid-column:1/-1!important;width:100%!important}
}
@media(max-width:520px){
  .sanum-top-kpis{grid-template-columns:1fr!important}
  .pagehead .actions{grid-template-columns:1fr!important}
  .panel{padding:14px!important}
  .seo-brand .sanum-default-logo{width:145px!important}
  .sanum-pro-suffix{font-size:13px!important}
  .sanum-dashboard-welcome h1{font-size:25px!important}
  .sanum-client-table-row{grid-template-columns:minmax(0,1fr) auto auto!important}
}

/* ============================================================
   SANUM PRO v1.3 — GOOGLE AUTOMATION HUB
   ============================================================ */
.google-hub-grid{grid-template-columns:minmax(430px,1fr) minmax(360px,.85fr)!important}
.google-cron-box{background:#101827;border:1px solid #263349;border-radius:13px;padding:15px;margin-bottom:16px;color:#fff}
.google-cron-box small{display:block;color:#8fa0b6;font-size:8px;text-transform:uppercase;font-weight:900;margin-bottom:6px}
.google-cron-box input{background:#182438!important;border-color:#2c3a50!important;color:#c7f9dd!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;font-size:8.5px!important}
.google-cron-box p{color:#9ba9ba;font-size:8.5px;line-height:1.5;margin:8px 0}
.google-sync-flow{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:13px 0 19px}
.google-sync-flow span{background:#eafff3;border:1px solid #c9f5dc;color:#078d48;border-radius:999px;padding:6px 9px;font-size:8px;font-weight:850}
.google-sync-flow b{color:#a1acb9;font-size:10px}
.google-service-list{display:grid;gap:8px}
.google-service-list>div{border:1px solid #e8ecf0;border-radius:10px;padding:10px;background:#fbfcfd;display:grid;gap:2px}
.google-service-list strong{font-size:9px;color:#263a51}
.google-service-list small{font-size:8px;color:#8492a3;line-height:1.4}
.google-mapping-panel{margin-top:15px!important}
.google-site-map-row{display:grid;grid-template-columns:minmax(180px,.8fr) repeat(4,minmax(150px,1fr)) 72px;gap:9px;align-items:end;padding:12px 2px;border-top:1px solid #edf1f4}
.google-site-name{display:grid;gap:2px;align-self:center}.google-site-name strong{font-size:9.5px;color:#263b54}.google-site-name small{font-size:7.8px;color:#8c99a8}
.google-site-map-row label{font-size:7.8px!important;color:#758499!important}.google-site-map-row select{min-height:37px!important;font-size:8px!important;padding:7px 8px!important}
.google-sync-history{margin-top:15px!important}.checkline span{display:grid;gap:2px}.checkline strong{font-size:9px;color:#34485f}.checkline small{font-weight:500!important}
@media(max-width:1250px){.google-site-map-row{grid-template-columns:minmax(170px,1fr) repeat(2,minmax(150px,1fr))}.google-site-map-row .btn{width:100%}}
@media(max-width:900px){.google-hub-grid{grid-template-columns:1fr!important}.google-site-map-row{grid-template-columns:1fr 1fr}.google-site-name{grid-column:1/-1}}
@media(max-width:600px){.google-site-map-row{grid-template-columns:1fr}.google-site-name{grid-column:auto}}
