/* Portal evolution components — semantic theme baseline.
   All visual colors inherit the canonical --cp-* contract so light/dark never diverge. */
.portal input:not([type="checkbox"]):not([type="radio"]),
.portal select,
.portal textarea{
  background:var(--cp-field)!important;
  color:var(--cp-field-text)!important;
  border:1px solid var(--cp-border)!important;
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--cp-text) 3%,transparent)!important;
  transition:border-color .16s,box-shadow .16s,background .16s
}
.portal input::placeholder,.portal textarea::placeholder{color:var(--cp-field-placeholder)!important;opacity:.82}
.portal input:focus,.portal select:focus,.portal textarea:focus{
  outline:0!important;
  border-color:var(--cp-accent)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--cp-accent) 12%,transparent)!important;
  background:var(--cp-field)!important
}
.portal option{background:var(--cp-field);color:var(--cp-field-text)}
.portal input:disabled,.portal select:disabled,.portal textarea:disabled{opacity:.58}
.portal textarea{resize:vertical}

.cp-evo-card{
  border:1px solid var(--cp-border);
  background:var(--cp-surface);
  color:var(--cp-text);
  border-radius:15px;
  padding:16px;
  margin-top:14px
}
.cp-evo-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.cp-evo-head h2,.cp-evo-head h3{margin:0;color:var(--cp-text-strong)}
.cp-evo-muted{color:var(--cp-muted);line-height:1.45}
.cp-evo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cp-evo-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.cp-evo-mini{border:1px solid var(--cp-border);background:var(--cp-surface-2);border-radius:12px;padding:13px;color:var(--cp-text)}
.cp-evo-mini>small{display:block;color:var(--cp-muted);text-transform:uppercase;font-weight:800;letter-spacing:.05em}
.cp-evo-mini strong{display:block;margin-top:6px;color:var(--cp-text-strong)}
.cp-evo-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.cp-evo-actions button,.cp-evo-button{
  border:1px solid var(--cp-border-strong);
  background:var(--cp-surface-3);
  color:var(--cp-text);
  border-radius:9px;
  padding:9px 13px;
  font-weight:800;
  cursor:pointer
}
.cp-evo-actions button.primary,.cp-evo-button.primary{border-color:transparent;background:linear-gradient(90deg,var(--cp-accent),var(--cp-accent-2));color:#fff}
.cp-evo-actions button:disabled{opacity:.5;cursor:not-allowed}
.cp-evo-badge{display:inline-flex;padding:5px 9px;border-radius:999px;border:1px solid var(--cp-border-strong);font-size:10px;font-weight:900;letter-spacing:.04em}
.cp-evo-badge.ok{color:var(--cp-success);border-color:color-mix(in srgb,var(--cp-success) 50%,var(--cp-border))}
.cp-evo-badge.warn{color:var(--cp-warning);border-color:color-mix(in srgb,var(--cp-warning) 50%,var(--cp-border))}
.cp-evo-badge.bad{color:var(--cp-danger);border-color:color-mix(in srgb,var(--cp-danger) 50%,var(--cp-border))}

.cp-logo-box{
  width:144px;height:92px;border-radius:12px;
  border:1px dashed var(--cp-border-strong);
  display:grid;place-items:center;
  background:var(--cp-surface-2);
  overflow:hidden
}
.cp-logo-box img{max-width:130px;max-height:80px;object-fit:contain}
.cp-logo-box span{font-size:11px;color:var(--cp-muted);text-align:center}
.cp-logo-layout{display:grid;grid-template-columns:160px 1fr;gap:18px;align-items:center}
.cp-upload{position:relative;overflow:hidden}
.cp-upload input{position:absolute!important;inset:0;opacity:0;cursor:pointer}

.cp-bell,.cp-wa{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  border:1px solid var(--cp-border);
  background:var(--cp-surface-2);
  color:var(--cp-text);
  border-radius:999px;
  padding:7px 10px;
  cursor:pointer;
  position:relative
}
.cp-bell-count{
  position:absolute;right:-4px;top:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;
  background:var(--cp-danger);color:#fff;font-size:10px;font-weight:900;display:grid;place-items:center
}
.cp-wa svg{width:16px;height:16px}
.cp-header-actions{display:flex;gap:7px;align-items:center;margin-left:auto}

.cp-support-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.cp-support-grid .wide{grid-column:1/-1}
.cp-question{display:grid;gap:5px}
.cp-question span{font-size:11px;font-weight:800}
.cp-inline-note{
  padding:10px 12px;
  border:1px solid color-mix(in srgb,var(--cp-warning) 36%,var(--cp-border));
  background:var(--cp-warning-bg);
  color:var(--cp-text);
  border-radius:10px;
  margin-top:10px
}
.cp-inline-ok{border-color:color-mix(in srgb,var(--cp-success) 38%,var(--cp-border));background:var(--cp-success-bg)}
.cp-addon{display:flex;flex-direction:column;gap:8px}
.cp-addon .price{font-size:24px;font-weight:900;color:var(--cp-text-strong)}
.cp-addon ul{margin:0;padding-left:18px;color:var(--cp-muted)}
.cp-device-row,.cp-mode-row,.cp-connector-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;
  border-top:1px solid var(--cp-border);padding:11px 0
}
.cp-mode-row:first-child,.cp-device-row:first-child{border-top:0}
.cp-mode-select{min-width:180px}

.cp-report-toolbar{display:grid;grid-template-columns:160px 1fr 1fr 1fr auto;gap:10px;align-items:end}
.cp-report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cp-report-kpi{border:1px solid var(--cp-border);border-radius:12px;padding:13px;background:var(--cp-surface-2);color:var(--cp-text)}
.cp-report-kpi span{font-size:10px;text-transform:uppercase;color:var(--cp-muted);font-weight:800}
.cp-report-kpi strong{display:block;font-size:24px;margin-top:6px;color:var(--cp-text-strong)}
.cp-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cp-chart{min-height:260px}
.cp-bars{display:grid;gap:9px;margin-top:12px}
.cp-bar-row{display:grid;grid-template-columns:minmax(90px,150px) 1fr auto;gap:9px;align-items:center}
.cp-bar-track{height:9px;border-radius:999px;background:var(--cp-border);overflow:hidden}
.cp-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--cp-accent),var(--cp-accent-2))}
.cp-line-svg{width:100%;height:210px;overflow:visible}
.cp-table-wrap{overflow:auto}
.cp-table-wrap table{min-width:980px}
.cp-report-actions{display:flex;gap:8px;flex-wrap:wrap}
.cp-report-cover-preview{padding:14px;border:1px dashed var(--cp-border-strong);border-radius:12px;background:var(--cp-surface-2)}
.cp-state-pt{font-weight:800}
.cp-hidden{display:none!important}

@media(max-width:1000px){
  .cp-evo-grid,.cp-evo-grid.two,.cp-chart-grid{grid-template-columns:1fr 1fr}
  .cp-report-toolbar{grid-template-columns:1fr 1fr}
  .cp-report-kpis{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .cp-evo-grid,.cp-evo-grid.two,.cp-chart-grid,.cp-support-grid,.cp-report-kpis,.cp-report-toolbar,.cp-logo-layout{grid-template-columns:1fr}
  .cp-support-grid .wide{grid-column:auto}
  .cp-logo-layout{justify-items:start}
  .cp-bar-row{grid-template-columns:95px 1fr}
  .cp-bar-row>strong{grid-column:2}
  .cp-header-actions{margin-left:0}
}
