
:root{
  --bg:#f5f7fb;
  --card:#ffffff;
  --text:#172033;
  --muted:#667085;
  --muted-2:#98a2b3;
  --line:#e4e7ec;
  --line-strong:#d0d5dd;
  --accent:#111827;
  --accent-2:#1f2937;
  --ok:#087443;
  --bad:#b42318;
  --warn:#b54708;
  --blue:#175cd3;
  --shadow:0 12px 28px rgba(16,24,40,.06);
  --radius:18px;
}
*{box-sizing:border-box}
html{font-size:16px}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
.app{display:flex;min-height:100vh}
.sidebar{
  width:236px;
  background:#111827;
  color:#fff;
  padding:24px 18px;
  display:flex;
  flex-direction:column;
  gap:22px;
  position:fixed;
  inset:0 auto 0 0;
}
.brand{display:flex;align-items:center;text-decoration:none;color:#fff;padding:0 2px 6px;margin-bottom:2px;min-height:38px}
.brand img{display:block;max-width:154px;width:100%;height:auto;object-fit:contain}
.brand-fallback{display:none;font-weight:850;font-size:18px;letter-spacing:.2px}
.sidebar nav{display:flex;flex-direction:column;gap:6px}
.sidebar a{
  padding:10px 12px;
  border-radius:10px;
  text-decoration:none;
  color:#d1d5db;
  font-size:14px;
  font-weight:600;
}
.sidebar a:hover{background:#1f2937;color:#fff}
.user{margin-top:auto;color:#9ca3af;font-size:13px;padding:0 2px}
.main{
  flex:0 1 auto;
  margin-left:236px;
  width:calc(100% - 236px);
  min-width:0;
  padding:28px 34px 42px;
  max-width:1360px;
}
h1{margin:0 0 18px;font-size:28px;line-height:1.15;font-weight:800;letter-spacing:-.02em}
h2,h3{line-height:1.2;letter-spacing:-.01em}
h3{margin:0 0 16px;font-size:17px;font-weight:800}
hr{border:0;border-top:1px solid var(--line);margin:22px 0}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:22px;
  margin-bottom:18px;
  box-shadow:var(--shadow);
}
.card.form-card{padding:22px 24px 24px}
.card.table-card{padding:0;overflow:hidden}
.card-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}
.card-title{font-size:17px;font-weight:800;margin:0}
.card-subtitle{font-size:13px;color:var(--muted);margin-top:4px}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 4px 14px rgba(16,24,40,.03)}
.stat b{font-size:28px;display:block;letter-spacing:-.02em}
.stat span{color:var(--muted);font-size:13px}.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  border:0;
  border-radius:10px;
  background:#111827;
  color:#fff;
  text-decoration:none;
  padding:10px 14px;
  cursor:pointer;
  font-weight:700;
  font-size:14px;
  line-height:1.1;
  white-space:nowrap;
}
.btn:hover{background:#1f2937}
.btn.secondary{background:#eef2ff;color:#1e3a8a}
.btn.secondary:hover{background:#e0e7ff}
.btn.ghost{background:#f3f4f6;color:#111827}
.btn.ghost:hover{background:#e5e7eb}
.btn.danger{background:#b42318}.btn.danger:hover{background:#991b1b}
.btn.small{min-height:32px;padding:7px 10px;font-size:12px;border-radius:8px}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0 0}
.table-wrap{width:100%;overflow-x:auto}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{text-align:left;border-bottom:1px solid var(--line);padding:13px 16px;font-size:14px;vertical-align:middle}
th{background:#f9fafb;color:#475467;font-size:11px;text-transform:uppercase;letter-spacing:.055em;font-weight:800}
tr:last-child td{border-bottom:0}
tbody tr:hover{background:#fbfcff}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;line-height:1}.badge.ok{background:#dcfae6;color:#067647}.badge.bad{background:#fee4e2;color:#b42318}.badge.warn{background:#fef0c7;color:#b54708}.badge.gray{background:#f2f4f7;color:#344054}.badge.blue{background:#dbeafe;color:#175cd3}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}.form-row{margin:0}label{display:block;font-weight:800;font-size:13px;margin-bottom:7px;color:#1d2939}.help,.field-hint{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.35}.field-hint{min-height:16px}input,select,textarea{
  width:100%;
  min-height:42px;
  border:1px solid var(--line-strong);
  border-radius:10px;
  padding:10px 12px;
  font:inherit;
  background:#fff;
  outline:none;
  transition:border-color .15s ease,box-shadow .15s ease;
}
input:focus,select:focus,textarea:focus{border-color:#84adff;box-shadow:0 0 0 3px rgba(23,92,211,.12)}
textarea{min-height:86px;resize:vertical}
input[type="checkbox"]{min-height:auto;box-shadow:none}
.checkbox-line{display:flex;align-items:center;gap:8px;margin:0;font-weight:700}.checkbox-line input{width:auto}.alert{padding:12px 14px;border-radius:12px;margin-bottom:18px;font-weight:700}.alert.success{background:#dcfae6;color:#067647}.alert.error{background:#fee4e2;color:#b42318}.alert.warn{background:#fef0c7;color:#b54708}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:min(440px,100%)}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.tabs{display:flex;align-items:center;gap:8px;margin:-4px 0 18px}.tabs a{padding:9px 12px;border-radius:10px;text-decoration:none;background:#eef0f4;color:#344054;font-size:13px;font-weight:800}.tabs a.active{background:#111827;color:#fff}.code-preview{font-size:26px;font-weight:800;letter-spacing:1px}.status-line{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.nowrap{white-space:nowrap}.password-field{position:relative}.password-field input{padding-right:48px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:#f3f4f6;color:#111827;border-radius:8px;padding:6px 9px;cursor:pointer;font-size:13px;font-weight:800}.password-toggle:hover{background:#e5e7eb}.input-with-button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.input-with-button .btn{height:42px}.full-row{grid-column:1/-1}.label-note{display:block;color:var(--muted);font-weight:600;font-size:12px;margin-top:2px}.code-form-note{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:8px}.empty-state{padding:22px;text-align:center;color:var(--muted)}.code-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.utm-form-grid{grid-template-columns:280px 1fr 1fr}.code-field{grid-column:1/3}.status-field{align-self:start}.utm-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;grid-column:1/-1}.status-field .checkbox-line{margin-top:34px}
@media(max-width:1100px){.utm-form-grid{grid-template-columns:1fr 1fr}.code-field{grid-column:1/-1}.status-field .checkbox-line{margin-top:0}.utm-group{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.sidebar{position:static;width:100%;height:auto}.app{display:block}.main{margin-left:0;width:100%;max-width:none;padding:20px}.grid,.form-grid,.utm-form-grid,.utm-group{grid-template-columns:1fr}.code-field{grid-column:auto}.table-wrap{overflow-x:auto}}
@media(max-width:700px){.input-with-button{grid-template-columns:1fr}.input-with-button .btn{width:100%}.main{padding:18px 14px}h1{font-size:24px}.card{padding:18px}.card.table-card{padding:0}.code-actions{justify-content:flex-start}}

/* Projects UX */
.page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin:0 0 18px;
}
.page-kicker{
  color:var(--muted);
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:4px;
}
.page-subtitle{
  margin:0;
  color:var(--muted);
  font-size:14px;
}
.projects-card{margin-top:2px}
.projects-table th,.projects-table td{padding:15px 18px}
.projects-table tbody tr{transition:background .15s ease}
.project-name{font-weight:850;font-size:15px;letter-spacing:-.01em;margin-bottom:5px}
.project-status{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:800;text-transform:lowercase}
.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#98a2b3}
.status-dot.ok{background:#12b76a;box-shadow:0 0 0 4px rgba(18,183,106,.12)}
.status-dot.gray{background:#98a2b3;box-shadow:0 0 0 4px rgba(152,162,179,.12)}
.crm-pill{display:inline-flex;align-items:center;border:1px solid var(--line);background:#f8fafc;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;color:#344054;text-transform:lowercase}
.actions-col{text-align:right}
.projects-table td:last-child{text-align:right}
.icon-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}
.inline-form{display:inline-flex;margin:0;padding:0}
.icon-btn{
  width:34px;
  height:34px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8fafc;
  color:#111827;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  cursor:pointer;
  font-weight:900;
  font-size:14px;
  line-height:1;
  transition:background .15s ease,border-color .15s ease,transform .12s ease,box-shadow .15s ease;
}
.icon-btn:hover{background:#eef2ff;border-color:#c7d2fe;box-shadow:0 4px 12px rgba(16,24,40,.06);transform:translateY(-1px)}
.icon-btn.ok{background:#dcfae6;border-color:#abefc6;color:#067647}
.icon-btn.ok:hover{background:#bbf7d0;border-color:#86efac}
.icon-btn.warn{background:#fff7ed;border-color:#fed7aa;color:#b54708}
.icon-btn.warn:hover{background:#ffedd5;border-color:#fdba74}
.icon-btn.danger{background:#fff1f3;border-color:#fecdd3;color:#b42318}
.icon-btn.danger:hover{background:#fee4e2;border-color:#fda4af}
.empty-state{
  min-height:220px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.empty-state b{font-size:17px;color:var(--text)}
.empty-state span{max-width:420px;line-height:1.4}
@media(max-width:900px){
  .page-head{flex-direction:column;align-items:stretch}
  .page-head .btn{width:100%}
  .projects-table th,.projects-table td{padding:13px 14px}
  .icon-actions{gap:6px}
  .icon-btn{width:32px;height:32px}
}


/* Tooltips for compact action icons */
.has-tooltip{position:relative}
.has-tooltip::after{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 9px);
  transform:translateX(-50%) translateY(4px);
  z-index:30;
  background:#111827;
  color:#fff;
  padding:7px 9px;
  border-radius:8px;
  font-size:12px;
  font-weight:800;
  line-height:1.15;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  box-shadow:0 8px 22px rgba(16,24,40,.18);
  transition:opacity .14s ease,transform .14s ease;
}
.has-tooltip::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:calc(100% + 3px);
  transform:translateX(-50%) translateY(4px);
  z-index:31;
  border:6px solid transparent;
  border-top-color:#111827;
  opacity:0;
  pointer-events:none;
  transition:opacity .14s ease,transform .14s ease;
}
.has-tooltip:hover::after,.has-tooltip:hover::before,
.has-tooltip:focus-within::after,.has-tooltip:focus-within::before{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
.codes-table td:last-child{text-align:right}
.codes-table .icon-actions{justify-content:flex-end}
@media(max-width:900px){.has-tooltip::after,.has-tooltip::before{display:none}}

/* v1-13: tooltips are rendered in body so they stay above cards/tables/modals */
.has-tooltip::after,.has-tooltip::before{display:none!important}
.floating-tooltip{
  position:fixed;
  z-index:2147483647;
  max-width:min(280px, calc(100vw - 24px));
  background:#111827;
  color:#fff;
  padding:8px 10px;
  border-radius:9px;
  font-size:12px;
  font-weight:850;
  line-height:1.2;
  white-space:nowrap;
  pointer-events:none;
  box-shadow:0 12px 30px rgba(16,24,40,.24);
  opacity:0;
  transform:translateY(4px);
  transition:opacity .12s ease,transform .12s ease;
}
.floating-tooltip.show{opacity:1;transform:translateY(0)}
.floating-tooltip::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-10px;
  transform:translateX(-50%);
  border:5px solid transparent;
  border-top-color:#111827;
}
@media(max-width:900px){.floating-tooltip{display:none!important}}

/* v1-14: dashboard cleanup */
.dashboard-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;
  margin-bottom:16px;
}
.dashboard-card{margin-top:0}
.table-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.table-card-head h3{margin:0;font-size:18px}
.table-card-head p{margin:4px 0 0;color:var(--muted);font-size:13px}
.dashboard-table th,.dashboard-table td{padding:15px 18px}
.dashboard-table td{height:62px}
.today-cell{font-size:13px;line-height:1.4;margin:1px 0}
.today-cell b{font-weight:850;color:var(--text)}
.error-shortcut,.problem-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  text-decoration:none;
  width:max-content;
}
.problem-link{margin-left:auto}
.mini-arrow{
  width:26px;
  height:26px;
  border:1px solid var(--line);
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#f8fafc;
  color:#111827;
  font-weight:900;
  line-height:1;
  transition:background .15s ease,border-color .15s ease,transform .12s ease;
}
.error-shortcut:hover .mini-arrow,.problem-link:hover .mini-arrow{
  background:#eef2ff;
  border-color:#c7d2fe;
  transform:translateY(-1px);
}
@media(max-width:900px){
  .dashboard-grid{grid-template-columns:1fr 1fr}
  .table-card-head{align-items:flex-start;flex-direction:column}
  .problem-link{margin-left:0}
}
@media(max-width:600px){.dashboard-grid{grid-template-columns:1fr}}

/* v1-16: logs UX + Excel export */
.logs-head{align-items:center;margin-bottom:14px}
.log-stats{margin-bottom:14px}
.logs-filter-card{padding:18px 20px;margin-bottom:16px}
.logs-filter{
  display:grid;
  grid-template-columns:minmax(180px, 1.2fr) minmax(180px, 1.1fr) auto auto;
  gap:12px;
  align-items:end;
}
.logs-filter label{margin-bottom:6px}
.filter-check{min-height:42px;padding-bottom:2px;white-space:nowrap}
.filter-actions{display:flex;gap:10px;align-items:center}
.logs-table-card{margin-bottom:18px}
.compact-head{padding:17px 20px}
.logs-table th,.logs-table td,.system-logs-table th,.system-logs-table td{padding:14px 16px}
.logs-table td,.system-logs-table td{vertical-align:top}
.date-cell{white-space:nowrap;line-height:1.35}
.log-detail-cell details,.log-message details{max-width:520px}
.log-detail-cell summary,.log-message summary{
  cursor:pointer;
  color:#175cd3;
  font-weight:850;
  list-style:none;
  width:max-content;
}
.log-detail-cell summary::-webkit-details-marker,.log-message summary::-webkit-details-marker{display:none}
.log-detail-cell summary::after,.log-message summary::after{content:' ↘';font-size:11px;color:var(--muted)}
.log-detail-cell details[open] summary::after,.log-message details[open] summary::after{content:' ↗'}
.log-detail-cell details div,.log-message details div{
  margin-top:8px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8fafc;
  color:#344054;
  line-height:1.45;
}
.log-detail-cell pre{
  margin:8px 0 0;
  white-space:pre-wrap;
  word-break:break-word;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8fafc;
  color:#344054;
  max-width:520px;
  font-size:12px;
  line-height:1.45;
}
.system-log-details{display:block}
.system-log-details>summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.system-log-details>summary::-webkit-details-marker{display:none}
.system-log-details>summary b{display:block;font-size:18px;line-height:1.2}
.system-log-details>summary small{display:block;color:var(--muted);font-size:13px;margin-top:4px;font-weight:500}
.system-log-details>summary:after{
  content:'Развернуть';
  font-size:12px;
  font-weight:850;
  color:#175cd3;
  background:#eef4ff;
  padding:7px 10px;
  border-radius:999px;
}
.system-log-details[open]>summary:after{content:'Свернуть'}
.compact-empty{min-height:150px;padding:20px}
@media(max-width:1100px){
  .logs-filter{grid-template-columns:1fr 1fr}
  .filter-actions{grid-column:1/-1}
}
@media(max-width:700px){
  .logs-head{align-items:stretch}
  .logs-head .btn{width:100%}
  .logs-filter{grid-template-columns:1fr}
  .filter-actions{flex-direction:column;align-items:stretch}
  .filter-actions .btn{width:100%}
  .date-cell{white-space:normal}
}

/* v1-17: compact wrapped system logs + resolved marker */
.system-logs-table{table-layout:fixed;min-width:0;width:100%}
.system-logs-table th:nth-child(1),.system-logs-table td:nth-child(1){width:170px}
.system-logs-table th:nth-child(2),.system-logs-table td:nth-child(2){width:130px}
.system-logs-table th:nth-child(3),.system-logs-table td:nth-child(3){width:145px}
.system-logs-table th:nth-child(5),.system-logs-table td:nth-child(5){width:170px}
.system-logs-table .log-message{font-size:12px;line-height:1.45;color:#344054;white-space:normal;overflow-wrap:break-word;word-break:normal;hyphens:auto}
.log-message-text{display:block;max-width:100%;white-space:normal;overflow-wrap:break-word;word-break:normal;color:#344054;font-weight:600}
.log-message details{max-width:100%}
.log-message summary{display:block;width:auto;max-width:100%;white-space:normal;overflow-wrap:break-word;word-break:normal;font-size:12px;line-height:1.45}
.log-message details div{font-size:12px;white-space:normal;overflow-wrap:break-word;word-break:normal}
.fixed-badge{display:inline-flex;margin-top:7px;font-size:11px;padding:4px 8px}
.fixed-log-row .log-message-text{color:#667085}
.fixed-log-row{background:#fbfffc}
@media(max-width:1100px){.system-logs-table{min-width:850px}.system-logs-table th:nth-child(5),.system-logs-table td:nth-child(5){width:140px}}


/* v1-18: polished login screen */
.login-wrap{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:
    radial-gradient(circle at 50% 10%, rgba(148,163,184,.16), transparent 34%),
    var(--bg);
}
.login-card{
  width:min(560px,100%);
  padding:42px 44px 40px;
  border-radius:28px;
  box-shadow:0 22px 60px rgba(16,24,40,.08);
}
.login-brand{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 18px;
}
.login-logo{
  width:46px;
  height:46px;
  object-fit:contain;
  flex:0 0 auto;
  display:block;
}
.login-brand h1{
  margin:0;
  font-size:38px;
  line-height:1;
  letter-spacing:-.04em;
  font-weight:900;
}
.login-subtitle{
  margin:0 0 28px;
  color:var(--muted);
  font-size:20px;
  line-height:1.35;
}
.login-form{
  display:grid;
  gap:18px;
}
.login-card .form-row{margin:0}
.login-card label{
  font-size:14px;
  margin-bottom:8px;
}
.login-card input{
  min-height:56px;
  border-radius:14px;
  padding:13px 16px;
  font-size:18px;
}
.login-card .password-field input{padding-right:58px}
.login-card .password-toggle{
  right:10px;
  width:44px;
  height:44px;
  padding:0;
  border-radius:12px;
  font-size:15px;
}
.login-submit{
  min-height:54px;
  border-radius:14px;
  padding:0 26px;
  font-size:17px;
  width:max-content;
}
.login-card .alert{margin:0 0 22px}
@media(max-width:600px){
  .login-wrap{padding:16px;align-items:flex-start;padding-top:42px}
  .login-card{padding:30px 24px;border-radius:22px}
  .login-brand{gap:10px;margin-bottom:14px}
  .login-logo{width:36px;height:36px}
  .login-brand h1{font-size:30px}
  .login-subtitle{font-size:16px;margin-bottom:22px}
  .login-submit{width:100%}
}

/* v1-19: Wazzup webhook setup */
.webhook-box{
  margin-top:14px;
  border:1px solid var(--line);
  background:#f8fafc;
  border-radius:14px;
  padding:14px 16px;
}
.webhook-url{
  margin-top:6px;
  padding:10px 12px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:12px;
  line-height:1.45;
  overflow-wrap:anywhere;
  color:#344054;
}

/* v1-23: project settings UX cleanup */
.settings-head{margin-bottom:14px}
.settings-form{display:grid;gap:16px}
.settings-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:22px 24px;
  box-shadow:var(--shadow);
}
.settings-section-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:start;
  gap:14px;
  margin-bottom:20px;
}
.settings-section-head.compact{margin-bottom:16px}
.settings-section-head h2{
  margin:0;
  font-size:20px;
  line-height:1.15;
  letter-spacing:-.02em;
}
.settings-section-head p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.section-step{
  width:32px;
  height:32px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eef4ff;
  color:#175cd3;
  font-weight:900;
  font-size:14px;
}
.settings-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
  align-self:start;
}
.settings-status.ok{background:#dcfae6;color:#067647}
.settings-status.warn{background:#fff7ed;color:#b54708}
.settings-status.muted{background:#f2f4f7;color:#667085}
.settings-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px 22px;
}
.settings-grid .full-row{grid-column:1/-1}
.toggle-line{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--line-strong);
  border-radius:10px;
  background:#fff;
  margin:0;
  font-weight:850;
}
.toggle-line input{width:auto;margin:0}
.integration-panel{
  border:1px solid #edf0f5;
  border-radius:16px;
  background:#fbfcff;
  padding:16px;
}
.integration-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.integration-title b{font-size:16px}
.integration-title span{color:var(--muted);font-size:13px;line-height:1.35;text-align:right;max-width:360px}
.webhook-card{
  margin-top:16px;
  border:1px solid #dbe7ff;
  background:linear-gradient(180deg,#f8fbff,#fff);
  border-radius:18px;
  padding:16px;
}
.webhook-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.webhook-card-head b{display:block;font-size:15px}
.webhook-card-head span:not(.settings-status){display:block;color:var(--muted);font-size:13px;margin-top:4px;line-height:1.35}
.copy-field{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.copy-field code{
  display:block;
  min-height:42px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:#344054;
  font-size:12px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.webhook-note{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:12px;
  margin-top:10px;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}
.soft-note{
  margin-top:12px;
  border:1px dashed var(--line-strong);
  border-radius:14px;
  background:#fafafa;
  padding:13px 14px;
  color:var(--muted);
  font-size:13px;
}
.settings-savebar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow);
}
.settings-savebar b{display:block;font-size:14px}
.settings-savebar span{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.settings-save-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.checks-card{margin-top:16px}
.check-actions-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.check-action{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:14px;
  min-height:82px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#f8fafc;
  color:var(--text);
  text-decoration:none;
  transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease;
}
.check-action span{
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900;
}
.check-action b{font-size:14px;line-height:1.25}
.check-action:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(16,24,40,.08);border-color:#c7d2fe;background:#fff}
.check-action.primary{background:#111827;color:#fff;border-color:#111827}
.check-action.primary span{color:#d0d5dd}
.check-action.primary:hover{background:#1f2937;border-color:#1f2937}
@media(max-width:1150px){
  .check-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .settings-section-head{grid-template-columns:auto minmax(0,1fr)}
  .settings-section-head .settings-status{grid-column:2;justify-self:start}
  .settings-grid{grid-template-columns:1fr}
  .webhook-card-head{flex-direction:column}
  .webhook-note{grid-template-columns:1fr}
  .settings-savebar{flex-direction:column;align-items:stretch}
  .settings-save-actions{justify-content:flex-end}
  .check-actions-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .settings-card{padding:18px}
  .settings-section-head{gap:10px}
  .settings-section-head h2{font-size:18px}
  .copy-field{grid-template-columns:1fr}
  .copy-field .icon-btn{width:100%}
  .settings-save-actions{flex-direction:column;align-items:stretch}
  .settings-save-actions .btn{width:100%}
  .check-actions-grid{grid-template-columns:1fr}
}

/* v1-25: webhook diagnostics */
.inline-test-form{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.inline-test-form .help{margin:0;max-width:620px}
.webhook-events-table th,.webhook-events-table td{padding:14px 16px;vertical-align:top}
.webhook-events-table .log-message{font-size:12px;line-height:1.45;white-space:normal;overflow-wrap:break-word;word-break:normal;color:#344054}
.webhook-events-table pre{white-space:pre-wrap;word-break:break-word;max-width:680px;font-size:12px;line-height:1.45;background:#f8fafc;border:1px solid var(--line);padding:12px;border-radius:12px}
@media(max-width:900px){.inline-test-form{align-items:stretch;flex-direction:column}.inline-test-form .btn{width:100%}.webhook-events-table{min-width:900px}}

/* v1-29: cleaner project settings UX */
.settings-page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin:0 0 18px;
}
.settings-page-head h1{margin:0 0 5px;font-size:30px;letter-spacing:-.03em}
.settings-page-head p{margin:0;color:var(--muted);font-size:14px;line-height:1.4}
.settings-clean-form{display:grid;gap:14px}
.settings-compact-card{padding:22px 24px}
.settings-card-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}
.settings-card-title-row h2{margin:0;font-size:19px;line-height:1.15;letter-spacing:-.02em}
.settings-card-title-row p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.4}
.settings-card-title-row.compact-title-row{margin-bottom:16px}
.settings-main-grid{
  display:grid;
  grid-template-columns:1.15fr .75fr 1fr 1.25fr;
  gap:16px;
  align-items:start;
}
.project-name-field{grid-column:auto}.project-status-field{grid-column:auto}
.compact-toggle{min-height:42px}
.settings-connections-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.settings-connections-grid.crm-only{grid-template-columns:1fr}
.connection-card{min-height:100%;padding:22px 24px}
.integration-mini-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  margin-bottom:14px;
  border:1px solid #eef2f7;
  background:#fbfcff;
  border-radius:14px;
}
.integration-mini-title b{font-size:15px}
.integration-mini-title span{font-size:12px;color:var(--muted);line-height:1.35;text-align:right;max-width:320px}
.wazzup-card[style*="display: none"]{display:none!important}
.compact-webhook-card{padding:14px;margin-top:14px;border-radius:16px}
.compact-copy-field code{min-height:38px;padding:10px 12px;font-size:11px;line-height:1.35}
.compact-webhook-note{display:flex;justify-content:space-between;gap:12px;font-size:11.5px;line-height:1.35}
.clean-savebar{margin-top:0;padding:14px 16px}
.clean-checks-card{margin-top:16px;padding:20px 24px}
.check-actions-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.check-pill{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8fafc;
  text-decoration:none;
  color:var(--text);
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .12s ease;
}
.check-pill span{
  color:var(--muted);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900;
}
.check-pill b{font-size:13px;line-height:1}
.check-pill:hover{background:#fff;border-color:#c7d2fe;box-shadow:0 8px 20px rgba(16,24,40,.07);transform:translateY(-1px)}
.check-pill.primary{background:#111827;border-color:#111827;color:#fff}
.check-pill.primary span{color:#d0d5dd}
.check-pill.primary:hover{background:#1f2937;border-color:#1f2937}

@media(max-width:1360px){
  .analytics-code-head,
  .analytics-code-row{grid-template-columns:minmax(120px,1.2fr) 56px 72px 76px 72px 84px 60px;}
  .analytics-manager-leader-row{grid-template-columns:90px minmax(150px,1.1fr) 60px 60px 60px 82px 62px;}
  .analytics-code-stat b,.analytics-code-sum b,.analytics-manager-metric b,.analytics-manager-sum b{font-size:15px;}
}
@media(max-width:1280px){
  .settings-main-grid{grid-template-columns:1fr 1fr}
  .project-name-field{grid-column:1/2}
  .project-status-field{grid-column:2/3}
}
@media(max-width:1060px){
  .settings-connections-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .settings-page-head{flex-direction:column;align-items:stretch}
  .settings-main-grid{grid-template-columns:1fr}
  .project-name-field,.project-status-field{grid-column:auto}
  .settings-card-title-row{flex-direction:column;gap:10px}
  .settings-status{align-self:flex-start}
  .integration-mini-title{flex-direction:column;gap:4px}
  .integration-mini-title span{text-align:left;max-width:none}
  .compact-webhook-note{flex-direction:column;gap:4px}
  .check-actions-row{display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:520px){.check-actions-row{grid-template-columns:1fr}.check-pill{justify-content:space-between}}

/* v1-30: realtime push notifications and compact status timestamps */
.toast-stack{
  position:fixed;
  top:18px;
  right:18px;
  z-index:2147483000;
  display:flex;
  flex-direction:column;
  gap:10px;
  width:min(420px,calc(100vw - 28px));
  pointer-events:none;
}
.toast{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 28px;
  gap:10px;
  align-items:start;
  padding:12px 12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  color:var(--text);
  box-shadow:0 18px 45px rgba(16,24,40,.18);
  opacity:0;
  transform:translateY(-8px) scale(.98);
  transition:opacity .18s ease,transform .18s ease;
  pointer-events:auto;
}
.toast.show{opacity:1;transform:translateY(0) scale(1)}
.toast-icon{
  width:32px;height:32px;border-radius:999px;display:flex;align-items:center;justify-content:center;
  font-weight:900;background:#eef2ff;color:#1e3a8a;
}
.toast.success .toast-icon{background:#dcfae6;color:#067647}
.toast.error .toast-icon{background:#fee4e2;color:#b42318}
.toast.warning .toast-icon{background:#fef0c7;color:#b54708}
.toast-body{font-size:13px;line-height:1.35;font-weight:750;overflow-wrap:anywhere;word-break:normal;padding-top:1px}
.toast-close{border:0;background:#f3f4f6;color:#475467;border-radius:8px;width:28px;height:28px;cursor:pointer;font-size:18px;line-height:1}
.toast-close:hover{background:#e5e7eb;color:#111827}
.status-stack{display:inline-flex;flex-direction:column;align-items:flex-end;gap:4px;line-height:1.1}
.status-stack small{font-size:10.5px;color:var(--muted);font-weight:800;white-space:nowrap;letter-spacing:0;text-transform:none}
.settings-card-title-row .status-stack{margin-top:0}
.check-pill.is-loading{opacity:.72;pointer-events:none;cursor:wait}
@media(max-width:720px){
  .toast-stack{top:12px;right:12px;left:12px;width:auto}
  .status-stack{align-items:flex-start}
}

/* v1-33: cleaner journal table + clear journal action */
.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.btn.danger-soft{background:#fff1f3;color:#b42318;border:1px solid #fecdd3}
.btn.danger-soft:hover{background:#fee4e2;border-color:#fda4af;color:#991b1b}
.logs-table{table-layout:fixed;min-width:0;width:100%}
.logs-table th:nth-child(1),.logs-table td:nth-child(1){width:178px}
.logs-table th:nth-child(2),.logs-table td:nth-child(2){width:150px}
.logs-table th:nth-child(3),.logs-table td:nth-child(3){width:132px}
.logs-table th:nth-child(4),.logs-table td:nth-child(4){width:92px}
.logs-table th:nth-child(5),.logs-table td:nth-child(5){width:128px}
.logs-table th:nth-child(6),.logs-table td:nth-child(6){width:92px}
.logs-table th:nth-child(7),.logs-table td:nth-child(7){width:170px}
.logs-table th:nth-child(8),.logs-table td:nth-child(8){width:auto}
.logs-table td{font-size:13px;line-height:1.38;overflow-wrap:break-word;word-break:normal}
.logs-table .mono{font-size:12.5px;overflow-wrap:anywhere}
.logs-table .badge{max-width:100%;white-space:normal;text-align:center;line-height:1.05;justify-content:center}
.message-cell{font-size:12.5px;color:#344054;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.45}
.message-cell details{max-width:100%}
.message-cell summary{cursor:pointer;list-style:none;color:#344054;font-weight:700;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.45}
.message-cell summary::-webkit-details-marker{display:none}
.message-cell summary::after{content:' ↘';font-size:11px;color:var(--muted)}
.message-cell details[open] summary::after{content:' ↗'}
.message-cell details div{margin-top:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;color:#344054;font-size:12px;line-height:1.45;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.logs-table .log-detail-cell details{max-width:150px}
.logs-table .log-detail-cell details div{width:260px;max-width:min(260px, 60vw);font-size:12px;white-space:normal;overflow-wrap:break-word;word-break:normal}
.logs-table .date-cell{font-size:12.5px;white-space:normal}
.logs-table .date-cell .muted{display:block;margin-top:4px;font-size:11.5px}
@media(max-width:1280px){.logs-table{min-width:1120px}.table-wrap{overflow-x:auto}.page-actions{justify-content:flex-start}}
@media(max-width:700px){.page-actions{width:100%;align-items:stretch}.page-actions .btn,.page-actions .inline-form{width:100%}.page-actions .inline-form .btn{width:100%}}

/* v1-37: all-time counters and code statistics */
.dual-stat small{display:block;margin-top:7px;color:var(--muted);font-size:12px;font-weight:800;line-height:1.2}
.metric-line{font-size:13px;line-height:1.45;margin:1px 0}
.metric-line b{font-weight:850;color:var(--text)}
.dashboard-grid-compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.code-stats-head{align-items:center;margin-bottom:14px}
.code-stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.code-stats-filter{grid-template-columns:minmax(150px,.7fr) minmax(150px,.7fr) minmax(150px,1fr) auto}
.code-stats-table{table-layout:fixed;min-width:1220px;width:100%}
.code-stats-table th,.code-stats-table td{font-size:13px;vertical-align:top;overflow-wrap:break-word;word-break:normal}
.code-stats-table th:nth-child(1),.code-stats-table td:nth-child(1){width:86px}
.code-stats-table th:nth-child(2),.code-stats-table td:nth-child(2){width:145px}
.code-stats-table th:nth-child(3),.code-stats-table td:nth-child(3){width:260px}
.code-stats-table th:nth-child(4),.code-stats-table td:nth-child(4){width:92px}
.code-stats-table th:nth-child(5),.code-stats-table td:nth-child(5),
.code-stats-table th:nth-child(6),.code-stats-table td:nth-child(6),
.code-stats-table th:nth-child(7),.code-stats-table td:nth-child(7),
.code-stats-table th:nth-child(8),.code-stats-table td:nth-child(8),
.code-stats-table th:nth-child(9),.code-stats-table td:nth-child(9),
.code-stats-table th:nth-child(10),.code-stats-table td:nth-child(10){width:92px;text-align:left}
.code-stats-table th:nth-child(11),.code-stats-table td:nth-child(11){width:145px}
.small-utm-cell{font-size:12.5px;line-height:1.35;color:#344054}
.small-utm-cell b{color:var(--text)}
.small-utm-cell span{display:inline-block;max-width:100%}
@media(max-width:900px){.code-stats-filter{grid-template-columns:1fr}.code-stats-head{align-items:stretch;flex-direction:column}.code-stats-head .btn{width:100%}}

/* v1-38: compact code statistics page, less giant cards and no horizontal drift */
.code-stats-page .tabs{margin-bottom:14px}
.code-stats-page .page-head{align-items:flex-end;margin-bottom:12px;gap:12px}
.code-stats-page .page-kicker{font-size:12px;margin-bottom:2px}
.code-stats-page .page-subtitle{font-size:13px;line-height:1.35}
.code-stats-page .btn{min-height:36px;padding:8px 12px;font-size:13px;border-radius:9px}
.code-stats-page .card{margin-bottom:14px;border-radius:16px}
.code-stats-page .table-card-head{padding:14px 16px}
.code-stats-page .table-card-head h3{font-size:17px}
.code-stats-page .table-card-head p{font-size:12.5px;line-height:1.35}
.code-stats-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:10px;
  margin-bottom:12px;
}
.code-stats-grid .stat{
  padding:12px 14px;
  border-radius:14px;
  min-height:auto;
}
.code-stats-grid .stat b{font-size:24px;line-height:1.05}
.code-stats-grid .stat span{font-size:12px;line-height:1.25}
.code-stats-page .logs-filter-card{padding:14px 16px;margin-bottom:14px}
.code-stats-filter{
  display:grid;
  grid-template-columns:150px 150px minmax(180px,1fr) auto;
  gap:10px;
  align-items:end;
}
.code-stats-filter label{font-size:12px;margin-bottom:5px}
.code-stats-filter input{min-height:38px;border-radius:9px;font-size:13px;padding:8px 10px}
.code-stats-filter .filter-actions{gap:8px}
.code-stats-page .table-wrap{overflow-x:visible}
.compact-code-summary{
  table-layout:fixed;
  min-width:0!important;
  width:100%;
}
.compact-code-summary th,
.compact-code-summary td{
  padding:12px 14px;
  font-size:12.5px;
  vertical-align:top;
}
.compact-code-summary th:nth-child(1),.compact-code-summary td:nth-child(1){width:135px}
.compact-code-summary th:nth-child(2),.compact-code-summary td:nth-child(2){width:31%}
.compact-code-summary th:nth-child(3),.compact-code-summary td:nth-child(3){width:100px}
.compact-code-summary th:nth-child(4),.compact-code-summary td:nth-child(4){width:auto}
.compact-code-summary th:nth-child(5),.compact-code-summary td:nth-child(5){width:155px}
.code-main-cell .code-token{font-size:14px;margin-bottom:4px}
.small-line{font-size:11.5px;line-height:1.25}
.small-utm-cell{font-size:12.5px;line-height:1.32}
.small-utm-cell div{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.metric-chip-cell{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start}
.metric-chip{
  display:inline-flex;
  align-items:center;
  gap:4px;
  border-radius:999px;
  background:#f2f4f7;
  color:#344054;
  padding:5px 8px;
  font-size:11.5px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.metric-chip b{font-size:12px;color:#111827}
.metric-chip.good{background:#dcfae6;color:#067647}
.metric-chip.good b{color:#067647}
.metric-chip.bad{background:#fee4e2;color:#b42318}
.metric-chip.bad b{color:#b42318}
.last-activity-cell{font-size:12px;color:#667085;white-space:normal;overflow-wrap:anywhere}
.code-stats-detail .logs-table{
  table-layout:fixed;
  min-width:0!important;
  width:100%;
}
.code-stats-detail .logs-table th,
.code-stats-detail .logs-table td{padding:11px 12px;font-size:12.5px}
.code-stats-detail .logs-table th:nth-child(1),.code-stats-detail .logs-table td:nth-child(1){width:150px}
.code-stats-detail .logs-table th:nth-child(2),.code-stats-detail .logs-table td:nth-child(2){width:120px}
.code-stats-detail .logs-table th:nth-child(3),.code-stats-detail .logs-table td:nth-child(3){width:90px}
.code-stats-detail .logs-table th:nth-child(4),.code-stats-detail .logs-table td:nth-child(4){width:115px}
.code-stats-detail .logs-table th:nth-child(5),.code-stats-detail .logs-table td:nth-child(5){width:95px}
.code-stats-detail .logs-table th:nth-child(6),.code-stats-detail .logs-table td:nth-child(6){width:110px}
.code-stats-detail .logs-table th:nth-child(7),.code-stats-detail .logs-table td:nth-child(7){width:auto}
.code-stats-detail .message-cell{font-size:12px;line-height:1.35}
@media(max-width:1180px){
  .code-stats-page .table-wrap{overflow-x:auto}
  .compact-code-summary{min-width:850px!important}
  .code-stats-detail .logs-table{min-width:920px!important}
}
@media(max-width:760px){
  .code-stats-page .page-head{align-items:stretch;flex-direction:column}
  .code-stats-grid{grid-template-columns:1fr 1fr}
  .code-stats-filter{grid-template-columns:1fr}
  .code-stats-filter .filter-actions{display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:480px){.code-stats-grid{grid-template-columns:1fr}}

/* v1-40: code statistics UX, period picker and lightweight charts */
.stats-toolbar{
  display:grid;
  grid-template-columns: minmax(260px,.7fr) minmax(260px,1fr) auto;
  gap:12px;
  align-items:end;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px 16px;
  box-shadow:var(--shadow);
  margin-bottom:12px;
}
.period-trigger{
  width:100%;
  min-height:54px;
  border:1px solid var(--line-strong);
  background:#fff;
  color:var(--text);
  border-radius:12px;
  padding:10px 13px;
  text-align:left;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.period-trigger:hover{background:#fbfcff;border-color:#b8c6e8;box-shadow:0 0 0 3px rgba(23,92,211,.08)}
.period-trigger span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.period-trigger b{font-size:14px;font-weight:850;line-height:1.25;color:var(--text)}
.stats-toolbar .filter-field label{font-size:12px;margin-bottom:5px}
.stats-toolbar select{min-height:54px;border-radius:12px;font-size:13px}
.stats-toolbar-actions{align-self:end;display:flex;gap:8px}
.stats-toolbar-actions .btn{min-height:54px;border-radius:12px}
.compact-metrics-row{grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin-bottom:12px}
.compact-metrics-row .stat{padding:12px 14px;border-radius:14px}
.compact-metrics-row .stat b{font-size:24px;line-height:1}
.compact-metrics-row .stat span{font-size:12px}
.stats-charts-grid{display:grid;grid-template-columns:repeat(3,minmax(300px,1fr));gap:12px;margin-bottom:14px;align-items:stretch}
.stats-chart-card{padding:16px;margin-bottom:0;border-radius:16px;height:100%}
.chart-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.chart-card-head h3{font-size:16px;margin:0 0 3px}
.chart-card-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.3}
.funnel-bars{display:grid;gap:9px}
.funnel-row{display:grid;grid-template-columns:132px minmax(0,1fr);gap:10px;align-items:center}
.funnel-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#344054;font-weight:800}
.funnel-meta b{font-size:13px;color:var(--text)}
.funnel-track{height:10px;background:#f2f4f7;border-radius:999px;overflow:hidden}
.funnel-track i{display:block;height:100%;border-radius:999px;background:#98a2b3;min-width:0;transition:width .2s ease}
.funnel-row.found .funnel-track i{background:#6172f3}
.funnel-row.handled .funnel-track i{background:#2e90fa}
.funnel-row.attributed .funnel-track i{background:#12b76a}
.funnel-row.assigned .funnel-track i{background:#16b364}
.funnel-row.errors .funnel-track i{background:#f04438}
.chart-legend{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px;font-weight:850;color:var(--muted)}
.chart-legend span{display:inline-flex;align-items:center;gap:5px}
.chart-legend span:before{content:"";width:8px;height:8px;border-radius:50%;display:inline-block;background:#98a2b3}
.chart-legend .legend-found:before{background:#6172f3}.chart-legend .legend-utm:before{background:#12b76a}.chart-legend .legend-error:before{background:#f04438}
.mini-bar-chart{height:126px;display:flex;align-items:flex-end;gap:8px;overflow-x:auto;padding:2px 0 0}
.day-bars{min-width:30px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:default}
.bar-group{height:84px;display:flex;align-items:flex-end;gap:3px}
.bar{width:6px;border-radius:999px 999px 2px 2px;background:#98a2b3;display:block;min-height:2px}
.bar.found{background:#6172f3}.bar.utm{background:#12b76a}.bar.err{background:#f04438}
.day-bars span{font-size:10px;color:var(--muted);font-weight:800;white-space:nowrap}
.code-performance-card{padding:16px;margin-bottom:0;border-radius:16px}
.chart-legend-inline{justify-content:flex-end}
.code-performance-list{display:grid;gap:10px}
.code-performance-row{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:14px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fff}
.code-performance-main{min-width:0}
.code-performance-headline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.code-performance-headline .muted{font-size:12px}
.code-performance-track{height:12px;background:#eef2f6;border-radius:999px;overflow:hidden;margin-bottom:8px}
.code-performance-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#22c55e,#12b76a);min-width:0}
.code-performance-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#667085}
.code-performance-meta b{color:#111827}
.code-performance-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right}
.code-performance-side b{font-size:24px;line-height:1;color:#111827}
.code-performance-side span{font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.period-modal[hidden]{display:none!important}
.period-modal{position:fixed;inset:0;z-index:2147482000;display:flex;align-items:center;justify-content:center;padding:24px}
.period-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.32);backdrop-filter:blur(3px)}
.period-dialog{position:relative;z-index:1;width:min(980px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 28px 90px rgba(16,24,40,.25);display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;padding:18px}
.period-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#667085;font-size:24px;font-weight:700;cursor:pointer;z-index:3}.period-close:hover{background:#f8fafc;color:#111827}
.period-side{padding:6px 0 0;display:flex;flex-direction:column;gap:8px}
.period-side h3{font-size:22px;margin:0 48px 0 0}.period-side p{margin:0 0 6px;color:var(--muted);font-size:13px;line-height:1.35}
.period-side button{min-height:44px;border:1px solid var(--line);background:#fff;border-radius:12px;text-align:left;padding:10px 14px;font-weight:850;font-size:14px;color:#111827;cursor:pointer}.period-side button:hover{background:#eef4ff;border-color:#c7d2fe}
.period-main{border:1px solid var(--line);border-radius:20px;background:#fbfcff;padding:16px}
.period-top{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:12px;align-items:center;text-align:center;margin-bottom:12px}.period-top span{display:block;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.06em;color:var(--muted)}.period-top b{display:block;font-size:18px;line-height:1.25}.period-nav{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#667085;font-size:28px;cursor:pointer}.period-nav:hover{background:#eef4ff;color:#111827}
.period-calendars{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:14px}.period-month h4{text-align:center;margin:0 0 10px;font-size:16px}.period-weekdays,.period-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.period-weekdays span{text-align:center;font-size:11px;font-weight:900;color:var(--muted);letter-spacing:.04em}.period-days button,.period-days .empty{height:34px;border:0;border-radius:10px;background:transparent;color:#111827;font-weight:850;font-size:13px}.period-days button{cursor:pointer}.period-days button:hover{background:#eaf0ff}.period-days button.range{background:#dbeafe}.period-days button.start,.period-days button.end{background:#2455d6;color:#fff}.period-days button.today{box-shadow:inset 0 0 0 2px rgba(36,85,214,.25)}
.period-bottom{display:grid;grid-template-columns:1fr 32px 1fr;gap:10px;align-items:center;margin-top:8px}.period-date-box{border:1px solid var(--line);border-radius:14px;background:#fff;padding:11px 13px}.period-date-box span{display:block;color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.05em}.period-date-box b{display:block;font-size:15px;margin-top:2px}.period-separator{text-align:center;font-size:24px;color:var(--muted)}.period-note{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.35}.period-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.period-actions .btn{min-height:42px;border-radius:12px}.period-apply{background:#5b21b6}.period-apply:hover{background:#4c1d95}
body.modal-open{overflow:hidden}
@media(max-width:1400px){.stats-charts-grid{grid-template-columns:repeat(2,minmax(300px,1fr))}}
@media(max-width:1120px){.stats-toolbar{grid-template-columns:1fr 1fr}.stats-toolbar-actions{grid-column:1/-1}.stats-charts-grid{grid-template-columns:1fr}.compact-metrics-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.stats-toolbar{grid-template-columns:1fr}.stats-toolbar-actions{display:grid;grid-template-columns:1fr 1fr}.period-dialog{grid-template-columns:1fr;padding:14px}.period-calendars{grid-template-columns:1fr}.period-close{right:12px;top:12px}.period-side{padding-top:0}.compact-metrics-row{grid-template-columns:1fr 1fr}.funnel-row{grid-template-columns:112px minmax(0,1fr)}.code-performance-row{grid-template-columns:1fr}.code-performance-side{align-items:flex-start;text-align:left}}
@media(max-width:520px){.compact-metrics-row{grid-template-columns:1fr}.stats-toolbar-actions{grid-template-columns:1fr}.period-modal{padding:10px}.period-dialog{width:100%;max-height:calc(100vh - 20px);border-radius:18px}.period-bottom{grid-template-columns:1fr}.period-separator{display:none}.period-top b{font-size:15px}.period-side h3{font-size:18px}.mini-bar-chart{gap:6px}.day-bars{min-width:26px}.code-performance-meta{gap:6px;display:grid}.code-performance-side b{font-size:20px}}


/* v1-43: refined code statistics UX */
.code-stats-page{
  max-width:1280px;
}
.code-stats-page .tabs{
  margin-bottom:12px;
}
.code-stats-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.code-stats-head .btn{
  white-space:nowrap;
}
.stats-toolbar{
  align-items:end;
}
.stats-toolbar .period-trigger{
  min-height:56px;
}
.stats-toolbar .code-select-field select{
  text-overflow:ellipsis;
}
.compact-metrics-row{
  margin-top:12px;
  margin-bottom:12px;
}
.stats-charts-grid{
  grid-template-columns:minmax(260px,.92fr) minmax(320px,1.18fr) minmax(300px,1fr);
  gap:12px;
}
.stats-chart-card{
  min-height:214px;
  display:flex;
  flex-direction:column;
}
.stats-chart-card .chart-card-head{
  min-height:46px;
  margin-bottom:10px;
}
.stats-chart-card .chart-card-head h3{
  line-height:1.15;
  letter-spacing:-.02em;
}
.stats-chart-card .chart-card-head p{
  max-width:440px;
}
.funnel-bars{
  margin-top:auto;
  margin-bottom:auto;
}
.funnel-row{
  grid-template-columns:118px minmax(0,1fr);
}
.funnel-meta span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mini-bar-chart{
  flex:1;
  min-height:118px;
  align-items:flex-end;
}
.code-performance-card{
  min-width:0;
}
.code-performance-card .chart-card-head{
  align-items:flex-start;
}
.code-performance-card .chart-card-head p{
  max-width:360px;
}
.code-performance-card .chart-legend{
  flex-shrink:0;
  white-space:nowrap;
}
.code-performance-list{
  margin-top:auto;
}
.code-performance-row{
  padding:10px;
  grid-template-columns:minmax(0,1fr) 52px;
}
.code-performance-headline{
  gap:7px;
  margin-bottom:7px;
}
.code-performance-headline .code-token{
  font-size:14px;
}
.code-performance-headline .muted{
  max-width:210px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.code-performance-track{
  height:10px;
  margin-bottom:7px;
}
.code-performance-meta{
  gap:8px;
  font-size:11px;
  line-height:1.25;
}
.code-performance-side b{
  font-size:22px;
}
.code-performance-side span{
  font-size:10px;
}
.compact-code-summary th,
.compact-code-summary td,
.code-stats-detail th,
.code-stats-detail td{
  vertical-align:middle;
}
.small-utm-cell{
  max-width:360px;
}
.small-utm-cell div{
  overflow-wrap:anywhere;
  line-height:1.35;
}
.metric-chip-cell{
  max-width:420px;
}
.metric-chip{
  white-space:nowrap;
}
.last-activity-cell{
  white-space:nowrap;
}
.code-stats-detail .message-cell{
  max-width:440px;
  overflow-wrap:anywhere;
  line-height:1.35;
}
.code-stats-detail .date-cell{
  min-width:118px;
}
.period-dialog{
  max-width:1040px;
}
.period-side button{
  white-space:normal;
}
@media(max-width:1280px){
  .stats-charts-grid{
    grid-template-columns:minmax(240px,.9fr) minmax(270px,1fr) minmax(260px,.95fr);
  }
  .funnel-row{grid-template-columns:104px minmax(0,1fr)}
  .code-performance-meta{display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:1120px){
  .stats-charts-grid{grid-template-columns:1fr}
  .stats-chart-card{min-height:auto}
  .stats-chart-card .chart-card-head{min-height:0}
}


/* v1-44: compact code statistics tables and word wrapping */
.code-stats-page .table-card{
  border-radius:16px;
  overflow:hidden;
}
.code-stats-page .table-card-head,
.code-stats-page .compact-head{
  padding:14px 16px 12px;
}
.code-stats-page .table-card-head h3,
.code-stats-page .compact-head h3{
  font-size:18px;
  line-height:1.18;
  letter-spacing:-.02em;
  margin:0 0 3px;
}
.code-stats-page .table-card-head p,
.code-stats-page .compact-head p{
  font-size:13px;
  line-height:1.3;
  margin:0;
}
.code-stats-page .table-wrap{
  overflow-x:auto;
}
.code-stats-page table{
  width:100%;
  table-layout:fixed;
}
.code-stats-page th{
  padding:10px 14px;
  font-size:11px;
  line-height:1.2;
  letter-spacing:.07em;
  white-space:normal;
}
.code-stats-page td{
  padding:12px 14px;
  font-size:13px;
  line-height:1.35;
  vertical-align:middle;
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
}
.code-stats-page .muted,
.code-stats-page .small-line{
  font-size:12px;
  line-height:1.3;
}
.code-stats-page .badge{
  font-size:11px;
  line-height:1.1;
  padding:6px 9px;
  border-radius:999px;
  white-space:normal;
  max-width:120px;
  text-align:center;
}
.compact-code-summary{
  min-width:920px!important;
}
.compact-code-summary th:nth-child(1),
.compact-code-summary td:nth-child(1){width:145px}
.compact-code-summary th:nth-child(2),
.compact-code-summary td:nth-child(2){width:34%}
.compact-code-summary th:nth-child(3),
.compact-code-summary td:nth-child(3){width:110px}
.compact-code-summary th:nth-child(4),
.compact-code-summary td:nth-child(4){width:34%}
.compact-code-summary th:nth-child(5),
.compact-code-summary td:nth-child(5){width:155px}
.code-main-cell .code-token{
  font-size:14px;
  line-height:1.2;
}
.small-utm-cell{
  max-width:none;
}
.small-utm-cell div{
  line-height:1.35;
  word-break:normal;
  overflow-wrap:break-word;
}
.metric-chip-cell{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  max-width:none;
}
.metric-chip{
  font-size:11px;
  line-height:1;
  padding:5px 8px;
  border-radius:999px;
  white-space:nowrap;
}
.metric-chip b{
  font-size:11px;
}
.last-activity-cell{
  font-size:12px;
  line-height:1.25;
  white-space:normal;
}
.code-stats-detail table{
  min-width:980px;
}
.code-stats-detail th:nth-child(1),
.code-stats-detail td:nth-child(1){width:145px}
.code-stats-detail th:nth-child(2),
.code-stats-detail td:nth-child(2){width:140px}
.code-stats-detail th:nth-child(3),
.code-stats-detail td:nth-child(3){width:90px}
.code-stats-detail th:nth-child(4),
.code-stats-detail td:nth-child(4){width:130px}
.code-stats-detail th:nth-child(5),
.code-stats-detail td:nth-child(5){width:110px}
.code-stats-detail th:nth-child(6),
.code-stats-detail td:nth-child(6){width:120px}
.code-stats-detail th:nth-child(7),
.code-stats-detail td:nth-child(7){width:auto}
.code-stats-detail .date-cell{
  min-width:0;
  font-size:13px;
  line-height:1.35;
}
.code-stats-detail .message-cell{
  max-width:none;
  line-height:1.35;
  word-break:normal;
  overflow-wrap:break-word;
}
.code-stats-detail .log-detail-cell{
  max-width:120px;
}
.code-stats-detail .log-detail-cell details div{
  font-size:12px;
  line-height:1.35;
  word-break:normal;
  overflow-wrap:break-word;
}
@media(max-width:900px){
  .code-stats-page .table-card-head,
  .code-stats-page .compact-head{padding:12px 14px}
  .code-stats-page td{padding:10px 12px}
}


/* v1-45: remove empty space from code statistics tables */
.code-stats-page .table-card{
  max-width:1180px;
}
.code-stats-page .table-wrap{
  overflow-x:auto;
}
.code-stats-page .compact-code-summary,
.code-stats-page .code-stats-detail table{
  width:auto!important;
  min-width:0!important;
  max-width:100%;
  table-layout:auto!important;
}
.code-stats-page .compact-code-summary th,
.code-stats-page .compact-code-summary td{
  padding:10px 12px!important;
}
.compact-code-summary th:nth-child(1),
.compact-code-summary td:nth-child(1){width:120px!important;min-width:120px!important}
.compact-code-summary th:nth-child(2),
.compact-code-summary td:nth-child(2){width:330px!important;min-width:330px!important;max-width:330px!important}
.compact-code-summary th:nth-child(3),
.compact-code-summary td:nth-child(3){width:95px!important;min-width:95px!important}
.compact-code-summary th:nth-child(4),
.compact-code-summary td:nth-child(4){width:360px!important;min-width:360px!important;max-width:360px!important}
.compact-code-summary th:nth-child(5),
.compact-code-summary td:nth-child(5){width:145px!important;min-width:145px!important}
.compact-code-summary .metric-chip-cell{
  max-width:360px!important;
  display:flex!important;
  gap:5px!important;
  flex-wrap:wrap!important;
  align-items:center!important;
}
.compact-code-summary .metric-chip{
  padding:5px 8px!important;
  font-size:11px!important;
  line-height:1!important;
}
.compact-code-summary .small-utm-cell{
  max-width:330px!important;
}
.compact-code-summary .small-utm-cell div{
  max-width:330px!important;
}
.compact-code-summary .last-activity-cell{
  max-width:145px!important;
}
.code-stats-detail table{
  width:100%!important;
  table-layout:auto!important;
}
.code-stats-detail th,
.code-stats-detail td{
  padding:10px 12px!important;
}
.code-stats-detail th:nth-child(1),
.code-stats-detail td:nth-child(1){width:130px!important;min-width:130px!important}
.code-stats-detail th:nth-child(2),
.code-stats-detail td:nth-child(2){width:125px!important;min-width:125px!important}
.code-stats-detail th:nth-child(3),
.code-stats-detail td:nth-child(3){width:80px!important;min-width:80px!important}
.code-stats-detail th:nth-child(4),
.code-stats-detail td:nth-child(4){width:120px!important;min-width:120px!important}
.code-stats-detail th:nth-child(5),
.code-stats-detail td:nth-child(5){width:95px!important;min-width:95px!important}
.code-stats-detail th:nth-child(6),
.code-stats-detail td:nth-child(6){width:80px!important;min-width:80px!important}
.code-stats-detail th:nth-child(7),
.code-stats-detail td:nth-child(7){width:auto!important;min-width:260px!important}
.code-stats-detail .badge{
  max-width:92px!important;
  padding:6px 9px!important;
}
.code-stats-detail .message-cell{
  max-width:520px!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.code-stats-detail .date-cell{
  font-size:12px!important;
}
@media(max-width:900px){
  .code-stats-page .compact-code-summary,
  .code-stats-page .code-stats-detail table{
    width:max-content!important;
  }
  .compact-code-summary th:nth-child(2),
  .compact-code-summary td:nth-child(2){width:280px!important;min-width:280px!important;max-width:280px!important}
  .compact-code-summary th:nth-child(4),
  .compact-code-summary td:nth-child(4){width:300px!important;min-width:300px!important;max-width:300px!important}
}


/* v1-46: final table width normalization for code statistics */
.code-stats-page .table-card{
  width:100%;
  max-width:none!important;
}
.code-stats-page .table-wrap{
  width:100%;
  overflow-x:auto;
}
.code-stats-page .compact-code-summary{
  width:100%!important;
  min-width:980px!important;
  table-layout:fixed!important;
}
.compact-code-summary th:nth-child(1),
.compact-code-summary td:nth-child(1){width:12%!important;min-width:0!important}
.compact-code-summary th:nth-child(2),
.compact-code-summary td:nth-child(2){width:30%!important;min-width:0!important;max-width:none!important}
.compact-code-summary th:nth-child(3),
.compact-code-summary td:nth-child(3){width:10%!important;min-width:0!important}
.compact-code-summary th:nth-child(4),
.compact-code-summary td:nth-child(4){width:34%!important;min-width:0!important;max-width:none!important}
.compact-code-summary th:nth-child(5),
.compact-code-summary td:nth-child(5){width:14%!important;min-width:0!important}
.compact-code-summary td{
  height:auto!important;
}
.compact-code-summary .small-utm-cell,
.compact-code-summary .small-utm-cell div{
  max-width:none!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.compact-code-summary .metric-chip-cell{
  max-width:none!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:5px!important;
}
.compact-code-summary .last-activity-cell{
  max-width:none!important;
  white-space:normal!important;
}
.code-stats-detail table{
  width:100%!important;
  min-width:980px!important;
  table-layout:fixed!important;
}
.code-stats-detail th:nth-child(1),
.code-stats-detail td:nth-child(1){width:13%!important;min-width:0!important}
.code-stats-detail th:nth-child(2),
.code-stats-detail td:nth-child(2){width:12%!important;min-width:0!important}
.code-stats-detail th:nth-child(3),
.code-stats-detail td:nth-child(3){width:8%!important;min-width:0!important}
.code-stats-detail th:nth-child(4),
.code-stats-detail td:nth-child(4){width:12%!important;min-width:0!important}
.code-stats-detail th:nth-child(5),
.code-stats-detail td:nth-child(5){width:10%!important;min-width:0!important}
.code-stats-detail th:nth-child(6),
.code-stats-detail td:nth-child(6){width:11%!important;min-width:0!important}
.code-stats-detail th:nth-child(7),
.code-stats-detail td:nth-child(7){width:34%!important;min-width:0!important}
.code-stats-detail .message-cell{
  max-width:none!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.code-stats-detail .date-cell{
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.code-stats-detail .badge{
  max-width:none!important;
}
@media(max-width:900px){
  .code-stats-page .compact-code-summary,
  .code-stats-detail table{
    width:980px!important;
    min-width:980px!important;
  }
}


/* v1-47: return metrics to compact horizontal layout */
.compact-code-summary th:nth-child(1),
.compact-code-summary td:nth-child(1){width:11%!important}
.compact-code-summary th:nth-child(2),
.compact-code-summary td:nth-child(2){width:29%!important}
.compact-code-summary th:nth-child(3),
.compact-code-summary td:nth-child(3){width:9%!important}
.compact-code-summary th:nth-child(4),
.compact-code-summary td:nth-child(4){width:40%!important}
.compact-code-summary th:nth-child(5),
.compact-code-summary td:nth-child(5){width:11%!important}
.compact-code-summary .metric-chip-cell{
  display:table-cell!important;
  max-width:none!important;
}
.compact-code-summary .metric-chip-cell .metric-chip{
  display:inline-flex!important;
  align-items:center!important;
  vertical-align:middle!important;
  margin:0 5px 6px 0!important;
  white-space:nowrap!important;
}
.compact-code-summary .metric-chip-cell .metric-chip:nth-child(4){
  margin-left:0!important;
}
.compact-code-summary .last-activity-cell{
  font-size:12px!important;
}
@media(max-width:900px){
  .compact-code-summary th:nth-child(4),
  .compact-code-summary td:nth-child(4){width:390px!important;min-width:390px!important}
}


/* v1-48: sidebar bottom actions and admin panel */
.sidebar{
  display:flex;
  flex-direction:column;
  min-height:100vh;
}
.sidebar-nav{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:22px;
}
.sidebar-bottom{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding-top:22px;
}
.sidebar-bottom a{
  color:rgba(255,255,255,.78);
  text-decoration:none;
  font-weight:750;
  padding:10px 0;
}
.sidebar-bottom a:hover{
  color:#fff;
}
.sidebar-bottom .admin-link{
  color:#dbeafe;
}
.sidebar-bottom .logout-link{
  color:rgba(255,255,255,.84);
}
.sidebar .user{
  margin-top:12px;
  color:rgba(255,255,255,.7);
  display:flex;
  flex-direction:column;
  gap:2px;
}
.sidebar .user small{
  color:rgba(255,255,255,.42);
  font-size:12px;
}
.admin-grid{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);
  gap:16px;
  align-items:start;
  margin-bottom:16px;
}
.project-access-box{
  border:1px solid var(--line);
  border-radius:14px;
  background:#f8fafc;
  padding:10px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:8px;
  max-height:220px;
  overflow:auto;
}
.project-check{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 10px;
  border-radius:10px;
  background:#fff;
  border:1px solid #eef2f6;
  font-weight:750;
}
.admin-active-line{
  margin:10px 0 14px;
}
.role-help-list{
  display:grid;
  gap:10px;
  padding:16px;
}
.role-help-list div{
  display:grid;
  gap:3px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fbfcff;
}
.role-help-list b{
  color:var(--text);
}
.role-help-list span{
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
}
.admin-users-table{
  width:100%;
}
.admin-users-table th,
.admin-users-table td{
  vertical-align:middle;
}
.admin-projects-cell{
  max-width:360px;
  overflow-wrap:break-word;
}
.info-card{
  padding:16px;
  display:grid;
  gap:4px;
  color:var(--muted);
}
.info-card b{
  color:var(--text);
}
@media(max-width:980px){
  .admin-grid{grid-template-columns:1fr}
}


.project-stat-breakdown{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
  white-space:normal;
}
.project-stat-breakdown b{
  color:var(--text);
  font-size:12px;
}

/* v1-49: clean admin UX with modal user editor */
.admin-page{
  max-width:1180px;
}
.admin-head{
  align-items:flex-start;
  margin-bottom:14px;
}
.admin-head .btn{
  white-space:nowrap;
}
.admin-stats-grid{
  grid-template-columns:repeat(4,minmax(140px,1fr));
  gap:12px;
  margin-bottom:14px;
}
.admin-stats-grid .stat{
  padding:16px 18px;
  border-radius:16px;
}
.admin-stats-grid .stat b{
  font-size:30px;
}
.role-access-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:16px;
}
.role-access-strip div{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:13px 14px;
  box-shadow:0 10px 28px rgba(16,24,40,.04);
  min-height:78px;
}
.role-access-strip b{
  display:block;
  font-size:14px;
  line-height:1.2;
  margin-bottom:5px;
  color:var(--text);
}
.role-access-strip span{
  display:block;
  font-size:12px;
  line-height:1.35;
  color:var(--muted);
}
.admin-users-card{
  overflow:hidden;
}
.admin-users-table{
  width:100%;
  table-layout:fixed;
}
.admin-users-table th,
.admin-users-table td{
  vertical-align:middle;
}
.admin-users-table th:nth-child(1),.admin-users-table td:nth-child(1){width:22%}
.admin-users-table th:nth-child(2),.admin-users-table td:nth-child(2){width:18%}
.admin-users-table th:nth-child(3),.admin-users-table td:nth-child(3){width:12%}
.admin-users-table th:nth-child(4),.admin-users-table td:nth-child(4){width:24%}
.admin-users-table th:nth-child(5),.admin-users-table td:nth-child(5){width:14%}
.admin-users-table th:nth-child(6),.admin-users-table td:nth-child(6){width:10%}
.admin-user-cell{
  display:grid;
  gap:2px;
}
.admin-user-cell b{
  font-size:14px;
}
.admin-projects-cell{
  max-width:none;
  overflow-wrap:break-word;
  color:#344054;
  line-height:1.35;
}
.admin-user-modal[hidden]{
  display:none!important;
}
.admin-user-modal{
  position:fixed;
  inset:0;
  z-index:2147482500;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
}
.admin-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.38);
  backdrop-filter:blur(4px);
}
.admin-modal-dialog{
  position:relative;
  z-index:1;
  width:min(760px,calc(100vw - 32px));
  max-height:calc(100vh - 32px);
  overflow:auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:0 28px 90px rgba(16,24,40,.26);
}
.admin-modal-close{
  position:absolute;
  top:16px;
  right:16px;
  width:38px;
  height:38px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:#667085;
  font-size:24px;
  font-weight:800;
  cursor:pointer;
  z-index:2;
}
.admin-modal-close:hover{
  background:#f8fafc;
  color:#111827;
}
.admin-modal-head{
  padding:22px 24px 16px;
  border-bottom:1px solid var(--line);
}
.admin-modal-head h3{
  margin:0 44px 0 0;
  font-size:24px;
  line-height:1.15;
  letter-spacing:-.03em;
}
.admin-modal-form{
  padding:20px 24px 22px;
}
.modal-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:14px;
}
.admin-user-grid{
  gap:16px 16px;
  margin-bottom:12px;
}
.admin-modal-form .form-row{
  min-width:0;
}
.admin-modal-form .form-row label,
.admin-project-section-head label{
  display:block;
  font-size:13px;
  font-weight:850;
  margin-bottom:7px;
  color:var(--text);
}
.admin-modal-form input,
.admin-modal-form select{
  width:100%;
}
.admin-modal-form .help{
  font-size:12px;
  line-height:1.35;
  color:var(--muted);
  margin-top:7px;
}
.admin-modal-meta{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin:2px 0 16px;
}
.admin-active-line{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0;
  padding:10px 13px;
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:13px;
  font-size:13px;
  font-weight:800;
}
.admin-active-line span{
  line-height:1;
}
.admin-project-section{
  border:1px solid var(--line);
  border-radius:18px;
  background:#fbfcff;
  padding:14px;
  margin-top:2px;
}
.admin-project-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.admin-project-section-head label{
  margin-bottom:0;
}
.admin-project-section-head .btn{
  flex-shrink:0;
}
.btn.small{
  min-height:34px;
  padding:8px 11px;
  border-radius:10px;
  font-size:12px;
}
.project-access-box{
  border:0;
  background:transparent;
  padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
  max-height:190px;
  overflow:auto;
}
.project-check{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:10px 12px;
  border-radius:12px;
  background:#fff;
  border:1px solid #e6eaf2;
  font-size:13px;
  font-weight:800;
  color:#344054;
}
.project-check:hover{
  border-color:#b8c6e8;
  background:#f8fbff;
}
.admin-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding-top:16px;
}
@media(max-width:980px){
  .role-access-strip{grid-template-columns:1fr 1fr}
  .admin-stats-grid{grid-template-columns:1fr 1fr}
  .admin-users-table{min-width:880px}
}
@media(max-width:640px){
  .admin-user-modal{padding:10px}
  .admin-modal-dialog{width:100%;max-height:calc(100vh - 20px);border-radius:18px}
  .admin-modal-head{padding:18px 18px 14px}
  .admin-modal-form{padding:16px 18px 18px}
  .modal-form-grid{grid-template-columns:1fr}
  .role-access-strip{grid-template-columns:1fr}
  .admin-modal-actions{display:grid;grid-template-columns:1fr}
}

/* v1-55: clearer Wazzup webhook diagnostics */
.webhook-debug-page{
  width:100%;
  min-width:0;
}
.webhook-debug-page .page-head{
  margin-bottom:12px;
}
.webhook-debug-page .page-head h1{
  margin:0 0 4px;
  font-size:24px;
  line-height:1.15;
}
.webhook-debug-page .page-subtitle{
  font-size:13px;
  line-height:1.35;
}
.webhook-stats-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}
.webhook-stats-grid .stat{
  min-width:0;
  min-height:82px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:12px 14px;
  border-radius:14px;
}
.webhook-stats-grid .stat b{
  margin-bottom:5px;
  font-size:23px;
  line-height:1.05;
}
.webhook-stats-grid .stat span{
  font-size:12px;
  line-height:1.25;
}
.webhook-stats-grid .stat-time b{
  font-size:18px;
  line-height:1.1;
  white-space:nowrap;
}
.webhook-control-card{
  display:grid;
  gap:12px;
  padding:14px 16px;
  margin-bottom:14px;
  border-radius:16px;
}
.webhook-debug-page .logs-filter{
  grid-template-columns:minmax(240px,520px) auto;
  gap:10px;
  align-items:end;
}
.webhook-debug-page .logs-filter label{
  margin-bottom:5px;
  font-size:12px;
}
.webhook-debug-page select{
  min-height:38px;
  padding:8px 10px;
  border-radius:9px;
  font-size:13px;
}
.webhook-debug-page .btn{
  min-height:36px;
  padding:8px 12px;
  border-radius:9px;
  font-size:13px;
}
.webhook-debug-page .filter-actions{
  gap:8px;
}
.webhook-diagnostic-box{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.webhook-diagnostic-box b{
  display:block;
  margin-bottom:6px;
  font-size:13px;
}
.webhook-diagnostic-box code{
  display:block;
  max-width:100%;
  padding:9px 10px;
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:10px;
  overflow-x:auto;
  overflow-y:hidden;
  white-space:nowrap;
  font-size:11.5px;
  line-height:1.35;
  scrollbar-width:thin;
}
.webhook-diagnostic-box .help{
  margin-top:5px;
  font-size:11.5px;
}
.webhook-diagnostic-actions{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.webhook-diagnostic-actions form{
  margin:0;
}
.webhook-help-note{
  margin-top:0;
  padding:10px 12px;
  border-radius:12px;
  font-size:12px;
  line-height:1.4;
}
.webhook-debug-page .logs-table-card{
  margin-bottom:14px;
  border-radius:16px;
}
.webhook-debug-page .table-card-head{
  padding:13px 16px;
}
.webhook-debug-page .table-card-head h3{
  font-size:16px;
}
.webhook-debug-page .table-card-head p{
  font-size:12px;
  line-height:1.35;
}
.webhook-debug-page .webhook-events-table th,
.webhook-debug-page .webhook-events-table td{
  padding:10px 12px;
  font-size:12px;
}
@media(max-width:980px){
  .webhook-stats-grid{grid-template-columns:1fr 1fr}
  .webhook-diagnostic-box{grid-template-columns:1fr}
  .webhook-diagnostic-actions{justify-content:flex-start}
}
@media(max-width:700px){
  .webhook-debug-page .logs-filter{grid-template-columns:1fr}
  .webhook-debug-page .filter-actions{display:grid;grid-template-columns:1fr 1fr}
  .webhook-debug-page .filter-actions .btn{width:100%}
}
@media(max-width:640px){
  .webhook-stats-grid{grid-template-columns:1fr}
  .webhook-debug-page .page-head h1{font-size:22px}
  .webhook-diagnostic-actions{display:grid;grid-template-columns:1fr;width:100%}
  .webhook-diagnostic-actions form,.webhook-diagnostic-actions .btn{width:100%}
}

/* v1-56: manual retro scan modal */
.manual-scan-modal[hidden]{display:none!important}
.manual-scan-modal{position:fixed;inset:0;z-index:2147482600;display:flex;align-items:center;justify-content:center;padding:24px}
.manual-scan-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(5px)}
.manual-scan-dialog{position:relative;z-index:1;width:min(980px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 28px 90px rgba(16,24,40,.28)}
.manual-scan-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#667085;font-size:24px;font-weight:850;cursor:pointer;z-index:2}.manual-scan-close:hover{background:#f8fafc;color:#111827}
.manual-scan-head{padding:22px 24px 16px;border-bottom:1px solid var(--line)}.manual-scan-head h3{margin:2px 46px 4px 0;font-size:24px;line-height:1.15;letter-spacing:-.03em}.manual-scan-head p{margin:0;color:var(--muted);font-size:14px}.modal-kicker{display:inline-flex;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#1e3a8a;background:#eef2ff;border-radius:999px;padding:5px 8px}
.manual-scan-form{padding:20px 24px 22px}.manual-period-presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.manual-period-presets button{border:1px solid var(--line);background:#f8fafc;border-radius:999px;padding:9px 13px;font-size:13px;font-weight:850;color:#344054;cursor:pointer}.manual-period-presets button.active,.manual-period-presets button:hover{background:#111827;color:#fff;border-color:#111827}.manual-scan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.manual-scan-grid .form-row{min-width:0}.manual-scan-grid label{display:block;font-size:13px;font-weight:850;margin-bottom:7px;color:var(--text)}.manual-scan-grid input[type=date]{width:100%}.manual-mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.manual-mode-switch label{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin:0;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfcff;cursor:pointer}.manual-mode-switch label:has(input:checked){background:#eef2ff;border-color:#c7d2fe}.manual-mode-switch input{width:auto}.manual-mode-switch b{display:block;font-size:14px}.manual-mode-switch small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.manual-scan-note{margin-top:14px;padding:12px 13px;border-radius:14px;background:#f8fafc;border:1px solid var(--line);color:#667085;font-size:13px;line-height:1.4}.manual-scan-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.manual-progress{padding:22px 24px}.manual-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.manual-step{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fbfcff;color:#667085;display:flex;align-items:center;gap:10px;font-weight:850}.manual-step b{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#eef0f4;color:#344054}.manual-step.active{background:#eef2ff;border-color:#c7d2fe;color:#1e3a8a}.manual-step.active b{background:#1e3a8a;color:#fff}.manual-progress-line{height:10px;border-radius:999px;background:#eef0f4;overflow:hidden;margin:16px 0 10px}.manual-progress-line div{height:100%;width:0;background:#111827;border-radius:999px;transition:width .25s ease}.manual-progress-text{color:#344054;font-weight:750}.manual-results{padding:0 24px 24px}.manual-result-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.manual-result-stats div{border:1px solid var(--line);border-radius:16px;background:#fbfcff;padding:13px}.manual-result-stats b{display:block;font-size:24px;line-height:1;color:#111827}.manual-result-stats span{display:block;margin-top:6px;color:#667085;font-size:12px;font-weight:750}.manual-result-table-wrap{border:1px solid var(--line);border-radius:18px;overflow:auto}.manual-result-table{width:100%;table-layout:fixed}.manual-result-table th,.manual-result-table td{padding:12px 14px;vertical-align:middle}.manual-result-table th:nth-child(1),.manual-result-table td:nth-child(1){width:15%}.manual-result-table th:nth-child(2),.manual-result-table td:nth-child(2){width:9%}.manual-result-table th:nth-child(3),.manual-result-table td:nth-child(3){width:18%}.manual-result-table th:nth-child(4),.manual-result-table td:nth-child(4){width:15%}.manual-result-table th:nth-child(5),.manual-result-table td:nth-child(5){width:15%}.manual-result-table th:nth-child(6),.manual-result-table td:nth-child(6){width:16%}.manual-result-table th:nth-child(7),.manual-result-table td:nth-child(7){width:12%}

.manual-dialog-view{margin-top:14px;border:1px solid var(--line);border-radius:18px;background:#fbfcff;overflow:hidden}
.manual-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line);background:#fff}
.manual-dialog-head b{display:block;font-size:16px;color:var(--text)}
.manual-dialog-head span{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:750}
.manual-dialog-messages{display:grid;gap:10px;padding:14px;max-height:360px;overflow:auto}
.manual-bubble{width:min(680px,92%);border:1px solid var(--line);border-radius:16px;padding:11px 12px;background:#fff;box-shadow:0 8px 20px rgba(16,24,40,.04)}
.manual-bubble.incoming{justify-self:start;border-color:#dbeafe;background:#f8fbff}
.manual-bubble.outgoing{justify-self:end;background:#f8fafc}
.manual-bubble-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px;color:#667085;font-size:11px;font-weight:850}
.manual-bubble-meta span{color:#1e3a8a}.manual-bubble-meta em{font-style:normal;color:#067647;background:#dcfae6;border-radius:999px;padding:3px 7px}.manual-bubble-text{color:#111827;line-height:1.4;overflow-wrap:anywhere}.manual-dialog-empty{padding:22px;text-align:center;color:var(--muted);display:grid;gap:4px}.manual-dialog-empty b{color:var(--text)}
.manual-dialog-btn{white-space:nowrap}
@media(max-width:820px){.manual-scan-grid,.manual-mode-switch,.manual-steps,.manual-result-stats{grid-template-columns:1fr}.manual-scan-actions{display:grid;grid-template-columns:1fr}.manual-scan-dialog{width:100%;max-height:calc(100vh - 20px);border-radius:18px}.manual-scan-modal{padding:10px}.manual-result-table{min-width:780px}}

/* v1-61: manual scan all dialogs */
.manual-result-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;flex-wrap:wrap}
.manual-result-tabs{display:flex;gap:8px;flex-wrap:wrap}
.manual-result-tabs button{border:1px solid var(--line);background:#f8fafc;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:850;color:#344054;cursor:pointer}
.manual-result-tabs button.active,.manual-result-tabs button:hover{background:#111827;border-color:#111827;color:#fff}
@media(max-width:820px){.manual-result-toolbar{display:grid;grid-template-columns:1fr}.manual-result-tabs{display:grid;grid-template-columns:1fr 1fr 1fr}.manual-result-tabs button{width:100%}}

/* v1-62: clearer manual webhook source diagnostics */
.manual-source-note{
  margin:-2px 0 14px;
  padding:12px 14px;
  border:1px solid #dbeafe;
  background:#f8fbff;
  border-radius:14px;
  color:#344054;
  font-size:12px;
  line-height:1.45;
}
.manual-source-note b{
  display:block;
  color:#1e3a8a;
  margin-bottom:3px;
}
.manual-contact-cell{
  display:grid;
  gap:3px;
  min-width:0;
}
.manual-contact-cell b{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  overflow-wrap:anywhere;
}
.manual-contact-cell small{
  color:var(--muted);
  font-size:11px;
  font-weight:750;
}

/* v1-64: cross analytics tab on code stats */
.code-stats-view-tabs{
  display:inline-flex;
  gap:8px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  margin:0 0 14px;
  box-shadow:0 10px 26px rgba(16,24,40,.04);
}
.code-stats-view-tabs a{
  text-decoration:none;
  color:#344054;
  font-weight:850;
  font-size:14px;
  padding:10px 14px;
  border-radius:10px;
}
.code-stats-view-tabs a.active{
  background:#111827;
  color:#fff;
}
.analytics-head-side{
  display:flex;
  align-items:center;
  gap:10px;
}
.analytics-excel-btn{
  min-height:38px;
  padding:9px 13px;
  border-radius:12px;
  white-space:nowrap;
}
.analytics-head-updated{
  display:grid;
  justify-items:end;
  gap:2px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.analytics-head-updated b{
  color:var(--text);
  font-size:14px;
  font-weight:850;
}
.stats-toolbar-analytics{
  grid-template-columns:minmax(240px,320px) minmax(220px,320px);
  align-items:end;
  margin-bottom:14px;
}
.stats-toolbar-analytics .filter-field label{font-size:12px;margin-bottom:5px}
.stats-toolbar-analytics select{min-height:54px;border-radius:12px;font-size:13px}
.analytics-filter-type{
  min-width:220px;
}
.analytics-note-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  margin:0 0 14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 12px 32px rgba(16,24,40,.04);
}
.analytics-note-card div:first-child{
  display:grid;
  gap:4px;
}
.analytics-note-card b{
  font-size:15px;
  color:var(--text);
}
.analytics-note-card span{
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
}
.analytics-note-meta{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.analytics-note-meta span{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:999px;
  font-weight:800;
  color:#344054;
}
.analytics-note-meta span.warn{
  background:#fef0c7;
  color:#b54708;
  border-color:#fedf89;
}
.analytics-kpi-grid{
  grid-template-columns:repeat(5,minmax(140px,1fr));
  gap:14px;
  margin-bottom:16px;
}
.analytics-kpi{
  padding:18px 18px 16px;
  border-radius:18px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 12px 32px rgba(16,24,40,.04);
}
.analytics-kpi b{
  font-size:30px;
  line-height:1;
  letter-spacing:-.03em;
}
.analytics-kpi span{
  line-height:1.3;
  margin-top:6px;
}

.analytics-kpi small{
  display:block;
  margin-top:7px;
  color:#667085;
  font-size:13px;
  line-height:1.25;
  font-weight:800;
}
.analytics-empty{ margin-bottom:14px; }
.analytics-chart-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:14px;
  align-items:stretch;
}
.analytics-chart-card{
  padding:16px;
  min-height:280px;
  border:1px solid var(--line);
  box-shadow:0 12px 32px rgba(16,24,40,.04);
}
.analytics-chart-card h3{ font-size:16px; margin:0 0 4px; }
.analytics-chart-card p{ font-size:12px; color:var(--muted); margin:0; line-height:1.35; }
.analytics-donut-layout{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:14px;
  align-items:center;
  margin-top:16px;
}
.analytics-donut{
  position:relative;
  width:150px;
  height:150px;
  border-radius:50%;
  margin:auto;
}
.analytics-donut::after{
  content:'';
  position:absolute;
  inset:22px;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 1px #edf1f7;
}
.analytics-donut-center{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  text-align:center;
}
.analytics-donut-center strong{font-size:18px;font-weight:900;color:var(--text);line-height:1}
.analytics-donut-center span{font-size:12px;color:var(--muted);margin-top:4px}
.analytics-legend-list{ display:grid; gap:10px; }
.analytics-legend-item{ display:grid; grid-template-columns:10px minmax(0,1fr) auto; gap:10px; align-items:center; font-size:13px; }
.analytics-legend-item i{ width:10px; height:10px; border-radius:999px; display:block; }
.analytics-legend-item span{ color:#344054; font-weight:800; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.analytics-legend-item b{ color:#475467; font-size:12px; white-space:nowrap; }
.analytics-vbars{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  align-items:end;
  height:208px;
  margin-top:18px;
}
.analytics-vbar-col{ display:flex; flex-direction:column; align-items:center; gap:8px; min-width:0; }
.analytics-vbar-value{ font-size:12px; font-weight:850; color:#475467; white-space:nowrap; }
.analytics-vbar-track{
  width:100%;
  max-width:48px;
  height:128px;
  border-radius:14px 14px 10px 10px;
  background:#f2f4f7;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
.analytics-vbar-track i{ display:block; width:100%; border-radius:14px 14px 0 0; }
.analytics-vbar-name{ font-size:12px; font-weight:800; color:#475467; text-align:center; overflow:hidden; text-overflow:ellipsis; width:100%; white-space:nowrap; }
.analytics-hbars{ display:grid; gap:13px; margin-top:18px; }
.analytics-hbar-row{ display:grid; gap:8px; }
.analytics-hbar-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.analytics-hbar-head span{ font-size:13px; font-weight:800; color:#344054; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.analytics-hbar-head b{ font-size:12px; font-weight:900; color:#475467; white-space:nowrap; }
.analytics-hbar-track{ height:10px; border-radius:999px; background:#eef2f6; overflow:hidden; }
.analytics-hbar-track i{ display:block; height:100%; border-radius:999px; }
.analytics-tables-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:14px;
  margin-bottom:14px;
  align-items:start;
}
.analytics-showcase-card{overflow:hidden;}
.analytics-showcase-list{
  padding:16px;
  display:grid;
  gap:12px;
}
.analytics-showcase-empty{
  padding:18px;
  border:1px dashed #d0d8e6;
  border-radius:18px;
  background:#f8fafc;
  color:#667085;
  font-size:14px;
}
.analytics-showcase-item{
  border:1px solid #e6ebf3;
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  padding:16px 18px;
  display:grid;
  gap:12px;
}
.analytics-showcase-top,
.analytics-showcase-bottom,
.analytics-showcase-bottom-split{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.analytics-showcase-top-manager{align-items:flex-start;}
.analytics-showcase-metrics{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.analytics-showcase-metrics span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 10px;
  border-radius:999px;
  background:#f3f6fb;
  color:#475467;
  font-size:13px;
  font-weight:700;
}
.analytics-showcase-metrics b{color:#101828;font-size:15px;}
.analytics-showcase-bar{
  height:10px;
  border-radius:999px;
  background:#eef2f6;
  overflow:hidden;
  display:flex;
}
.analytics-showcase-bar i{display:block;height:100%;}
.analytics-showcase-bar .is-success{background:#22c55e;}
.analytics-showcase-bar .is-progress{background:#94a3b8;}
.analytics-showcase-bar .is-failed{background:#ef4444;}
.analytics-showcase-label{
  display:block;
  color:#667085;
  font-size:12px;
  margin-bottom:4px;
}
.analytics-code-chip-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.analytics-code-chip{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:#0f172a;
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.06em;
}
.analytics-rank-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  padding:7px 10px;
  border-radius:999px;
  background:#eef2ff;
  color:#3156d3;
  font-size:12px;
  font-weight:900;
}
.analytics-manager-ident-card{gap:12px;}
.analytics-manager-ident-card img,
.analytics-manager-ident-card .analytics-manager-avatar{width:44px;height:44px;flex-basis:44px;}
.analytics-manager-ident-card b{font-size:15px;}
.analytics-manager-ident-card span{display:block;font-size:12px;color:#667085;margin-top:3px;}
.analytics-showcase-bottom{padding-top:2px;}
.analytics-showcase-bottom b,
.analytics-showcase-bottom-split b{font-size:18px;color:#101828;}
.analytics-showcase-bottom-split{align-items:flex-end;flex-wrap:wrap;}
.analytics-showcase-conv{text-align:right;}
.analytics-compact-wrap{padding:16px;}
.analytics-summary-compact-card,.analytics-manager-leader-card{overflow:hidden;}
.analytics-compact-head-row{
  display:grid;
  align-items:center;
  gap:10px;
  padding:0 4px 12px;
  color:#667085;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.analytics-code-head,
.analytics-code-row{grid-template-columns:minmax(126px,1.3fr) 68px 84px 88px 84px 96px 68px;}
.analytics-code-list{display:grid;gap:10px;}
.analytics-compact-row{
  display:grid;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border:1px solid #e6ebf3;
  border-radius:18px;
  background:#fff;
}
.analytics-code-main{display:flex;align-items:center;gap:10px;min-width:0;}
.analytics-code-main .analytics-code-chip{padding:8px 12px;font-size:13px;}
.analytics-code-stat,.analytics-code-sum,.analytics-code-cr{font-size:14px;color:#101828;}
.analytics-code-stat b,.analytics-code-sum b{font-size:16px;}
.analytics-mini-badge{min-width:42px;justify-content:center;font-weight:800;}
.analytics-manager-list{display:grid;gap:10px;}
.analytics-manager-leader-row{
  display:grid;
  grid-template-columns:98px minmax(180px,1.2fr) 72px 72px 72px 92px 72px;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border:1px solid #e6ebf3;
  border-radius:18px;
  background:#fff;
}
.analytics-manager-rank{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  padding:8px 10px;
  border-radius:16px;
  background:#f6f8fc;
}
.analytics-manager-rank-icon{font-size:18px;line-height:1;}
.analytics-manager-rank-text{font-size:12px;font-weight:900;color:#344054;line-height:1.2;}
.analytics-manager-rank.is-gold{background:#fff7db;}
.analytics-manager-rank.is-silver{background:#f3f5f8;}
.analytics-manager-rank.is-bronze{background:#fbe7d8;}
.analytics-manager-rank.is-default{background:#eef2ff;}
.analytics-manager-ident-compact{gap:10px;min-width:0;}
.analytics-manager-ident-compact img,
.analytics-manager-ident-compact .analytics-manager-avatar{width:38px;height:38px;flex-basis:38px;}
.analytics-manager-ident-compact b{display:block;font-size:14px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.analytics-manager-ident-compact span{display:block;font-size:12px;color:#667085;margin-top:2px;}
.analytics-manager-metric,.analytics-manager-sum,.analytics-manager-cr{display:grid;gap:3px;justify-items:start;}
.analytics-manager-metric span,.analytics-manager-sum span{font-size:11px;font-weight:800;color:#98a2b3;text-transform:uppercase;letter-spacing:.06em;}
.analytics-manager-metric b,.analytics-manager-sum b{font-size:16px;color:#101828;}
.analytics-manager-cr{justify-items:end;}
.analytics-manager-cr .analytics-cr-pill{white-space:nowrap;}
.analytics-table,
.analytics-detail-table{
  width:100%;
  table-layout:auto;
}
.analytics-manager-ident{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.analytics-manager-ident img,
.analytics-manager-avatar{
  width:38px;
  height:38px;
  border-radius:999px;
  object-fit:cover;
  flex:0 0 38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.analytics-manager-avatar-fallback{
  background:#eef2ff;
  color:#3156d3;
  font-size:14px;
  font-weight:900;
}
.analytics-manager-ident div{min-width:0}
.analytics-manager-ident-table b,
.analytics-manager-ident b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;}
.analytics-manager-ident-table span,
.analytics-manager-ident-inline span{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.analytics-table th,
.analytics-table td,
.analytics-detail-table th,
.analytics-detail-table td{
  vertical-align:middle;
}
.analytics-table th,
.analytics-detail-table th{
  white-space:nowrap;
}
.analytics-manager-card .table-wrap{overflow:auto;}
.analytics-manager-card .analytics-table{table-layout:auto;min-width:680px;}
.analytics-manager-card .analytics-table th,
.analytics-manager-card .analytics-table td{font-size:12px;padding:11px 10px;white-space:nowrap;}
.analytics-manager-card .analytics-table th:first-child,
.analytics-manager-card .analytics-table td:first-child{min-width:210px;}
.analytics-manager-card .analytics-table th:nth-child(6),
.analytics-manager-card .analytics-table td:nth-child(6){min-width:96px;}

.analytics-manager-ident-inline{gap:8px;}
.analytics-manager-ident-inline img,
.analytics-manager-ident-inline .analytics-manager-avatar{width:30px;height:30px;flex-basis:30px;font-size:11px;}
.analytics-manager-ident-inline b{font-size:13px;max-width:150px;}
.analytics-detail-table th,.analytics-detail-table td{padding:12px 14px;}
.analytics-detail-table th:nth-child(8),.analytics-detail-table td:nth-child(8){min-width:190px;}
.analytics-detail-table th:nth-child(9),.analytics-detail-table td:nth-child(9){min-width:100px;}

.analytics-cr-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  padding:5px 9px;
  border-radius:999px;
  background:#eef4ff;
  color:#175cd3;
  font-size:12px;
  font-weight:850;
}
.analytics-detail-table td{
  font-size:13px;
}
.analytics-detail-table a{
  color:#175cd3;
  font-weight:850;
  text-decoration:none;
  white-space:nowrap;
}
@media(max-width:1280px){
  .analytics-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .analytics-tables-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .code-stats-view-tabs{display:grid;grid-template-columns:1fr}
  .analytics-head-side{justify-content:flex-start}
  .analytics-head-updated{justify-items:start}
  .stats-toolbar-analytics{grid-template-columns:1fr}
  .analytics-note-card{align-items:flex-start;flex-direction:column}
  .analytics-note-meta{justify-content:flex-start}
  .analytics-chart-grid,.analytics-kpi-grid{grid-template-columns:1fr}
  .analytics-donut-layout{grid-template-columns:1fr}
  .analytics-vbars{grid-template-columns:repeat(5,minmax(50px,1fr)); overflow:auto; padding-bottom:4px}
  .analytics-compact-wrap{padding:14px}
  .analytics-code-head{display:none}
  .analytics-code-row,
  .analytics-manager-leader-row{grid-template-columns:1fr;align-items:flex-start}
  .analytics-code-row > *:not(.analytics-code-main),
  .analytics-manager-leader-row > *:not(.analytics-manager-ident-compact):not(.analytics-manager-rank){display:flex;align-items:center;justify-content:space-between;gap:10px}
  .analytics-manager-cr{justify-items:start}
  .analytics-detail-card .table-wrap{overflow:auto}
  .analytics-detail-table{min-width:860px}
}

/* v1-70-channel: Wazzup channel picker */
.wazzup-channel-picker{
  margin:14px 0 16px;
  padding:16px;
  border:1px solid #dbe5f1;
  border-radius:18px;
  background:#fbfdff;
}
.wazzup-channel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:12px;
}
.wazzup-channel-head b{
  display:block;
  font-size:15px;
  color:var(--text);
  margin-bottom:4px;
}
.wazzup-channel-head span:not(.settings-status){
  display:block;
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
}
.wazzup-channel-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.wazzup-channel-option{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:12px;
  border:1px solid #dbe5f1;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  transition:.16s ease;
}
.wazzup-channel-option:hover{border-color:#b8c7e8;box-shadow:0 10px 24px rgba(16,24,40,.05)}
.wazzup-channel-option.selected{border-color:#8dabff;background:#f5f8ff}
.wazzup-channel-option input{margin-top:3px;width:16px;height:16px;accent-color:#1d4ed8}
.wazzup-channel-body{display:grid;gap:3px;min-width:0}
.wazzup-channel-body b{font-size:14px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wazzup-channel-body em{font-style:normal;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wazzup-channel-body small{font-size:11px;color:#667085;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){.wazzup-channel-head{flex-direction:column}.wazzup-channel-grid{grid-template-columns:1fr}}

/* v1-79: compact dashboard and manual retro-check tables */
.dashboard-grid-compact{
  grid-template-columns:repeat(auto-fill,minmax(136px,158px))!important;
  justify-content:start;
  gap:10px!important;
  margin-bottom:14px!important;
}
.dashboard-grid-compact .stat{
  min-height:0;
  padding:12px 14px!important;
  border-radius:14px!important;
  display:grid;
  align-content:start;
  gap:4px;
}
.dashboard-grid-compact .stat b{
  font-size:24px!important;
  line-height:1!important;
  letter-spacing:-.025em;
}
.dashboard-grid-compact .stat span{
  display:block;
  font-size:12.5px!important;
  line-height:1.25!important;
}
.dashboard-grid-compact .dual-stat small{
  margin-top:4px!important;
  font-size:11.5px!important;
  line-height:1.2!important;
}
.dashboard-card .table-card-head{padding:14px 16px!important}
.dashboard-table th,.dashboard-table td{padding:11px 14px!important}
.dashboard-table td{height:auto!important}

.manual-scan-dialog{
  width:min(1120px,calc(100vw - 32px))!important;
  border-radius:20px!important;
}
.manual-scan-head{padding:18px 20px 13px!important}
.manual-scan-head h3{font-size:21px!important;margin-right:42px!important}
.manual-scan-head p{font-size:13px!important;line-height:1.35!important}
.manual-scan-form{padding:16px 20px 18px!important}
.manual-results{padding:0 20px 20px!important}
.manual-result-stats{
  grid-template-columns:repeat(auto-fit,minmax(112px,1fr))!important;
  gap:8px!important;
  margin-bottom:12px!important;
}
.manual-result-stats div{
  padding:10px 11px!important;
  border-radius:13px!important;
}
.manual-result-stats b{font-size:20px!important}
.manual-result-stats span{font-size:11.5px!important;margin-top:4px!important;line-height:1.2!important}
.manual-source-note{
  padding:10px 12px!important;
  border-radius:12px!important;
  font-size:12px!important;
  line-height:1.35!important;
}
.manual-result-toolbar{
  gap:10px!important;
  margin-bottom:10px!important;
}
.manual-result-tabs{gap:7px!important}
.manual-result-tabs button{
  min-height:34px!important;
  padding:7px 11px!important;
  font-size:12px!important;
  border-radius:999px!important;
}
.manual-result-toolbar .btn,
.manual-dialog-btn{
  min-height:34px!important;
  padding:8px 12px!important;
  font-size:12.5px!important;
  border-radius:10px!important;
}
.manual-result-table-wrap{
  border-radius:16px!important;
  max-height:62vh;
  overflow:auto!important;
}
.manual-result-table{
  min-width:980px!important;
  table-layout:fixed!important;
}
.manual-result-table th,
.manual-result-table td{
  padding:9px 10px!important;
  font-size:13px!important;
  line-height:1.25!important;
  vertical-align:middle!important;
}
.manual-result-table th{
  font-size:10.5px!important;
  letter-spacing:.075em!important;
}
.manual-result-table th:nth-child(1),.manual-result-table td:nth-child(1){width:145px!important}
.manual-result-table th:nth-child(2),.manual-result-table td:nth-child(2){width:76px!important}
.manual-result-table th:nth-child(3),.manual-result-table td:nth-child(3){width:150px!important}
.manual-result-table th:nth-child(4),.manual-result-table td:nth-child(4){width:130px!important}
.manual-result-table th:nth-child(5),.manual-result-table td:nth-child(5){width:150px!important}
.manual-result-table th:nth-child(6),.manual-result-table td:nth-child(6){width:130px!important}
.manual-result-table th:nth-child(7),.manual-result-table td:nth-child(7){width:96px!important}
.manual-contact-cell{gap:2px!important;max-width:130px!important}
.manual-contact-cell b{
  font-size:13px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
}
.manual-contact-cell small{font-size:10.5px!important;line-height:1.15!important}
.manual-result-table .mono,
.manual-result-table b{
  white-space:nowrap;
}
.manual-result-table .badge{
  padding:4px 8px!important;
  font-size:11.5px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.manual-dialog-view{border-radius:16px!important;margin-top:12px!important}
.manual-dialog-head{padding:11px 13px!important}
.manual-dialog-messages{max-height:300px!important;padding:12px!important;gap:8px!important}
.manual-bubble{padding:9px 10px!important;border-radius:14px!important}
.manual-bubble-text{font-size:13px!important;line-height:1.35!important}
@media(max-width:900px){
  .dashboard-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .manual-scan-dialog{width:100%!important;max-height:calc(100vh - 20px)!important;border-radius:18px!important}
  .manual-result-table{min-width:980px!important}
}
@media(max-width:520px){
  .dashboard-grid-compact{grid-template-columns:1fr!important}
}

/* v1-80: UTM codes table UX, clipboard and Excel selection */
.codes-table-card .table-wrap{overflow-x:auto}
.code-table-toolbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:16px 18px 12px;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.code-table-toolbar h3{margin:0;font-size:18px;line-height:1.1;color:var(--text)}
.code-table-toolbar p{margin:5px 0 0;color:var(--muted);font-size:12.5px;line-height:1.35}
.code-table-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.code-table-toolbar-actions .btn{min-height:36px;padding:8px 12px;border-radius:10px;font-size:13px;white-space:nowrap}
.code-table-toolbar-actions .btn:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.2)}
.code-selection-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 18px;
  border-bottom:1px solid var(--line);
  background:#f8fafc;
  color:#344054;
  font-size:13px;
  font-weight:800;
}
.code-selection-bar[hidden]{display:none!important}
.code-selection-bar .btn{min-height:32px;padding:7px 10px;border-radius:9px;font-size:12px}
.selectable-codes-table{min-width:1180px;table-layout:fixed}
.selectable-codes-table th,
.selectable-codes-table td{padding:13px 16px;vertical-align:middle}
.selectable-codes-table .select-col{width:48px!important;min-width:48px!important;text-align:center;padding-left:12px;padding-right:8px}
.selectable-codes-table th:nth-child(2),.selectable-codes-table td:nth-child(2){width:100px}
.selectable-codes-table th:nth-child(3),.selectable-codes-table td:nth-child(3){width:150px}
.selectable-codes-table th:nth-child(4),.selectable-codes-table td:nth-child(4){width:120px}
.selectable-codes-table th:nth-child(5),.selectable-codes-table td:nth-child(5){width:270px}
.selectable-codes-table th:nth-child(6),.selectable-codes-table td:nth-child(6){width:260px}
.selectable-codes-table th:nth-child(7),.selectable-codes-table td:nth-child(7){width:230px}
.selectable-codes-table th:nth-child(8),.selectable-codes-table td:nth-child(8){width:130px}
.selectable-codes-table th:nth-child(9),.selectable-codes-table td:nth-child(9){width:220px}
.selectable-codes-table .copy-cell{
  cursor:copy;
  transition:background .15s ease, box-shadow .15s ease;
  overflow-wrap:anywhere;
}
.selectable-codes-table .copy-cell:hover{background:#f8fafc;box-shadow:inset 0 0 0 1px #dbeafe}
.selectable-codes-table .code-copy-cell{font-weight:900;letter-spacing:.02em;white-space:nowrap;overflow-wrap:normal}
.selectable-codes-table tr.selected-row{background:#f8fbff}
.selectable-codes-table tr.selected-row td{box-shadow:inset 0 1px 0 #dbeafe,inset 0 -1px 0 #dbeafe}
.mini-check{display:inline-flex;align-items:center;justify-content:center;position:relative;width:24px;height:24px;margin:0;cursor:pointer}
.mini-check input{position:absolute;opacity:0;pointer-events:none}
.mini-check span{width:18px;height:18px;border-radius:6px;border:1.5px solid #cbd5e1;background:#fff;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}
.mini-check input:checked + span{background:#111827;border-color:#111827}
.mini-check input:checked + span:after{content:'✓';font-size:12px;font-weight:900;color:#fff;line-height:1}
.mini-check input:indeterminate + span{background:#111827;border-color:#111827}
.mini-check input:indeterminate + span:after{content:'—';font-size:12px;font-weight:900;color:#fff;line-height:1}
@media(max-width:900px){
  .code-table-toolbar{align-items:stretch;flex-direction:column}
  .code-table-toolbar-actions{justify-content:flex-start}
}


/* v1-81: compact UTM codes table UX */
.codes-table-card{
  overflow:hidden;
}
.codes-table-card .table-wrap{
  overflow-x:auto;
  max-width:100%;
}
.code-table-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:14px 16px 10px;
}
.code-table-toolbar h3{font-size:17px}
.code-table-toolbar p{
  max-width:720px;
  font-size:12px;
}
.code-table-toolbar-actions{
  gap:7px;
  max-width:100%;
}
.code-table-toolbar-actions .btn{
  min-height:34px;
  padding:7px 11px;
  font-size:12px;
}
#exportSelectedCodesBtn:disabled{
  display:none;
}
.code-selection-bar{
  padding:8px 16px;
  min-height:44px;
}
.selectable-codes-table{
  width:100%;
  min-width:1120px;
  table-layout:fixed;
}
.selectable-codes-table col.code-select-col{width:42px}
.selectable-codes-table col.code-code-col{width:86px}
.selectable-codes-table col.code-source-col{width:110px}
.selectable-codes-table col.code-medium-col{width:86px}
.selectable-codes-table col.code-campaign-col{width:260px}
.selectable-codes-table col.code-term-col{width:250px}
.selectable-codes-table col.code-content-col{width:155px}
.selectable-codes-table col.code-status-col{width:112px}
.selectable-codes-table col.code-actions-col{width:168px}
.selectable-codes-table th,
.selectable-codes-table td{
  padding:10px 12px;
  font-size:13px;
  line-height:1.35;
}
.selectable-codes-table th{
  font-size:10.5px;
  letter-spacing:.075em;
}
.selectable-codes-table .select-col{
  width:42px!important;
  min-width:42px!important;
  padding-left:10px!important;
  padding-right:6px!important;
}
.selectable-codes-table th:nth-child(n),
.selectable-codes-table td:nth-child(n){
  width:auto;
}
.selectable-codes-table .copy-cell{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  overflow-wrap:normal;
}
.selectable-codes-table .copy-cell:hover{
  background:#f8fbff;
}
.selectable-codes-table .code-copy-cell{
  font-size:13px;
}
.selectable-codes-table td:nth-child(5),
.selectable-codes-table td:nth-child(6),
.selectable-codes-table td:nth-child(7){
  color:#172033;
}
.selectable-codes-table td:nth-child(8){
  white-space:nowrap;
}
.selectable-codes-table th.actions-col,
.selectable-codes-table td:last-child{
  position:sticky;
  right:0;
  z-index:2;
  background:#fff;
  box-shadow:-10px 0 18px rgba(16,24,40,.06);
}
.selectable-codes-table th.actions-col{
  background:#f9fafb;
  z-index:3;
}
.selectable-codes-table tbody tr:hover td:last-child,
.selectable-codes-table tr.selected-row td:last-child{
  background:#f8fbff;
}
.selectable-codes-table .icon-actions{
  gap:6px;
  justify-content:flex-end;
}
.selectable-codes-table .icon-btn{
  width:32px;
  height:32px;
  border-radius:9px;
  font-size:13px;
}
.selectable-codes-table .badge{
  padding:4px 8px;
  font-size:11.5px;
}
.mini-check{
  width:22px;
  height:22px;
}
.mini-check span{
  width:17px;
  height:17px;
  border-radius:6px;
}
@media(max-width:1280px){
  .selectable-codes-table{
    min-width:1040px;
  }
  .selectable-codes-table col.code-campaign-col{width:230px}
  .selectable-codes-table col.code-term-col{width:220px}
  .selectable-codes-table col.code-content-col{width:135px}
  .selectable-codes-table col.code-actions-col{width:156px}
}
@media(max-width:900px){
  .code-table-toolbar{
    display:flex;
    align-items:stretch;
    flex-direction:column;
  }
  .code-table-toolbar-actions{
    justify-content:flex-start;
  }
  .selectable-codes-table{
    min-width:980px;
  }
}

/* v1-82: UTM codes table fit + quick inline editing */
.codes-table-card .table-wrap{
  overflow-x:visible!important;
  max-width:100%;
}
.selectable-codes-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.selectable-codes-table col.code-select-col{width:34px!important}
.selectable-codes-table col.code-code-col{width:72px!important}
.selectable-codes-table col.code-source-col{width:86px!important}
.selectable-codes-table col.code-medium-col{width:76px!important}
.selectable-codes-table col.code-campaign-col{width:23%!important}
.selectable-codes-table col.code-term-col{width:23%!important}
.selectable-codes-table col.code-content-col{width:12%!important}
.selectable-codes-table col.code-status-col{width:94px!important}
.selectable-codes-table col.code-actions-col{width:132px!important}
.selectable-codes-table th,
.selectable-codes-table td{
  padding:8px 10px!important;
  font-size:12.5px!important;
  line-height:1.25!important;
  min-width:0!important;
}
.selectable-codes-table th{
  font-size:10px!important;
  letter-spacing:.08em!important;
}
.selectable-codes-table .select-col{
  width:34px!important;
  min-width:34px!important;
  padding-left:8px!important;
  padding-right:4px!important;
}
.selectable-codes-table th.actions-col,
.selectable-codes-table td:last-child{
  position:static!important;
  right:auto!important;
  box-shadow:none!important;
}
.selectable-codes-table .copy-cell,
.selectable-codes-table .utm-edit-cell{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  overflow-wrap:normal;
}
.selectable-codes-table .utm-edit-cell{
  cursor:default;
}
.selectable-codes-table .editable-utm-cell{
  cursor:text;
  transition:background .15s ease, box-shadow .15s ease;
}
.selectable-codes-table .editable-utm-cell:hover{
  background:#f8fbff;
  box-shadow:inset 0 0 0 1px #dbeafe;
}
.selectable-codes-table .utm-edit-cell.is-editing{
  overflow:visible;
  padding:5px!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 2px #bfdbfe!important;
}
.quick-edit-box{
  display:grid;
  grid-template-columns:minmax(80px,1fr) auto;
  gap:6px;
  align-items:center;
  min-width:0;
}
.quick-edit-box input{
  width:100%;
  min-width:0;
  height:32px;
  padding:6px 8px;
  border:1px solid #cbd5e1;
  border-radius:9px;
  font:inherit;
  color:#111827;
  background:#fff;
  outline:none;
}
.quick-edit-box input:focus{
  border-color:#93c5fd;
  box-shadow:0 0 0 3px rgba(59,130,246,.12);
}
.quick-save-btn{
  height:32px;
  padding:0 10px;
  border:0;
  border-radius:9px;
  background:#111827;
  color:#fff;
  font-size:11.5px;
  font-weight:850;
  cursor:pointer;
}
.utm-edit-cell.saving{opacity:.65;pointer-events:none}
.selectable-codes-table .icon-actions{
  gap:5px!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
}
.selectable-codes-table .icon-btn{
  width:29px!important;
  height:29px!important;
  min-width:29px!important;
  border-radius:8px!important;
  font-size:12px!important;
}
.selectable-codes-table .badge{
  padding:4px 7px!important;
  font-size:11px!important;
  white-space:nowrap;
}
.code-table-toolbar{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.code-table-toolbar p{
  max-width:760px;
}
#exportSelectedCodesBtn:disabled{
  display:inline-flex!important;
  opacity:.48!important;
}
@media(max-width:1200px){
  .codes-table-card .table-wrap{overflow-x:auto!important}
  .selectable-codes-table{min-width:980px!important}
}

/* v1-83: UTM codes table compact fit, no desktop horizontal overflow */
.codes-table-card{
  overflow:hidden!important;
}
.codes-table-card .code-table-toolbar{
  padding:14px 18px 12px!important;
  gap:12px!important;
}
.codes-table-card .code-table-toolbar h3{
  font-size:18px!important;
  line-height:1.1!important;
}
.codes-table-card .code-table-toolbar p{
  font-size:13px!important;
  line-height:1.25!important;
  margin-top:4px!important;
}
.codes-table-card .table-wrap{
  overflow-x:hidden!important;
  max-width:100%!important;
}
.selectable-codes-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
}
.selectable-codes-table col.code-select-col{width:28px!important}
.selectable-codes-table col.code-code-col{width:62px!important}
.selectable-codes-table col.code-source-col{width:78px!important}
.selectable-codes-table col.code-medium-col{width:58px!important}
.selectable-codes-table col.code-campaign-col{width:26%!important}
.selectable-codes-table col.code-term-col{width:25%!important}
.selectable-codes-table col.code-content-col{width:8%!important}
.selectable-codes-table col.code-status-col{width:82px!important}
.selectable-codes-table col.code-actions-col{width:112px!important}
.selectable-codes-table th,
.selectable-codes-table td{
  padding:8px 6px!important;
  font-size:14px!important;
  line-height:1.2!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.selectable-codes-table th{
  font-size:11px!important;
  letter-spacing:.095em!important;
  font-weight:900!important;
  padding-top:9px!important;
  padding-bottom:9px!important;
}
.selectable-codes-table .select-col{
  width:28px!important;
  min-width:28px!important;
  padding-left:7px!important;
  padding-right:0!important;
  text-align:center!important;
  overflow:visible!important;
}
.selectable-codes-table .mini-check{
  width:18px!important;
  height:18px!important;
}
.selectable-codes-table .mini-check span{
  width:15px!important;
  height:15px!important;
  border-radius:5px!important;
}
.selectable-codes-table .code-copy-cell{
  font-size:14px!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
}
.selectable-codes-table .utm-edit-cell{
  font-size:14px!important;
  cursor:default;
}
.selectable-codes-table .editable-utm-cell{cursor:text!important;}
.selectable-codes-table td:nth-child(5),
.selectable-codes-table td:nth-child(6){
  font-size:13.5px!important;
}
.selectable-codes-table td:nth-child(7){
  font-size:13.5px!important;
}
.selectable-codes-table .badge{
  padding:4px 7px!important;
  font-size:11.5px!important;
  max-width:74px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.selectable-codes-table th.actions-col,
.selectable-codes-table td:last-child{
  width:112px!important;
  min-width:112px!important;
  max-width:112px!important;
  padding-left:4px!important;
  padding-right:8px!important;
  text-align:right!important;
  overflow:visible!important;
}
.selectable-codes-table .icon-actions{
  gap:4px!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
}
.selectable-codes-table .icon-btn{
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  border-radius:7px!important;
  font-size:11px!important;
  padding:0!important;
}
.selectable-codes-table .quick-edit-box{
  grid-template-columns:minmax(80px,1fr) auto!important;
  gap:5px!important;
}
.selectable-codes-table .quick-edit-box input{
  height:30px!important;
  font-size:13.5px!important;
  padding:5px 7px!important;
}
.selectable-codes-table .quick-save-btn{
  height:30px!important;
  padding:0 8px!important;
  font-size:11px!important;
}
@media(max-width:1280px){
  .codes-table-card .table-wrap{overflow-x:auto!important;}
  .selectable-codes-table{min-width:900px!important;}
}


/* v1-90: compact analytics leaderboard/cards */
.analytics-tables-grid{
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:12px;
}
.analytics-compact-wrap{padding:10px 12px 12px;}
.analytics-summary-compact-card .table-card-head,
.analytics-manager-leader-card .table-card-head{padding:14px 16px 10px;}
.analytics-summary-compact-card h3,
.analytics-manager-leader-card h3,
.analytics-detail-card h3{font-size:18px;line-height:1.15;margin:0 0 4px;}
.analytics-summary-compact-card p,
.analytics-manager-leader-card p,
.analytics-detail-card p{font-size:12px;line-height:1.35;}
.analytics-code-head{
  grid-template-columns:minmax(108px,1.15fr) 52px minmax(92px,1fr) minmax(92px,1fr) minmax(92px,1fr) 58px;
  gap:8px;
  padding:0 6px 8px;
  font-size:10px;
  letter-spacing:.11em;
}
.analytics-code-list,
.analytics-manager-list{gap:8px;}
.analytics-code-row{
  grid-template-columns:minmax(108px,1.15fr) 52px minmax(92px,1fr) minmax(92px,1fr) minmax(92px,1fr) 58px;
  gap:8px;
  padding:9px 10px;
  border-radius:15px;
}
.analytics-rank-pill{
  min-width:30px;
  padding:5px 7px;
  font-size:10px;
}
.analytics-code-chip{
  padding:6px 9px;
  font-size:12px;
  letter-spacing:.04em;
}
.analytics-code-main .analytics-code-chip{padding:6px 9px;font-size:12px;}
.analytics-code-stat b{font-size:15px;}
.analytics-code-metric,
.analytics-manager-metric{
  display:grid;
  gap:2px;
  min-width:0;
}
.analytics-code-metric{
  padding:6px 8px;
  border-radius:13px;
  background:#f6f8fb;
}
.analytics-code-metric.is-sale,
.analytics-manager-metric.is-sale{background:#effaf3;}
.analytics-code-metric.is-work,
.analytics-manager-metric.is-work{background:#f4f6fa;}
.analytics-code-metric.is-fail,
.analytics-manager-metric.is-fail{background:#fff1f0;}
.analytics-metric-count,
.analytics-manager-metric b{
  font-size:14px;
  font-weight:900;
  color:#101828;
  line-height:1.05;
}
.analytics-code-metric small,
.analytics-manager-metric small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10.5px;
  font-weight:800;
  color:#667085;
  line-height:1.15;
}
.analytics-cr-pill{
  min-width:auto;
  padding:5px 8px;
  font-size:11px;
}
.analytics-manager-leader-row{
  grid-template-columns:72px minmax(140px,1fr) 86px 86px 86px 62px;
  gap:8px;
  padding:9px 10px;
  border-radius:15px;
}
.analytics-manager-rank{
  gap:1px;
  padding:6px 8px;
  border-radius:13px;
}
.analytics-manager-rank-icon{font-size:15px;}
.analytics-manager-rank-text{font-size:10.5px;}
.analytics-manager-ident-compact{gap:8px;}
.analytics-manager-ident-compact img,
.analytics-manager-ident-compact .analytics-manager-avatar{width:32px;height:32px;flex-basis:32px;}
.analytics-manager-ident-compact b{font-size:13px;}
.analytics-manager-ident-compact span{font-size:11px;margin-top:1px;}
.analytics-manager-metric{
  padding:6px 8px;
  border-radius:13px;
}
.analytics-manager-metric span{
  font-size:9.5px;
  letter-spacing:.07em;
}
.analytics-manager-cr{justify-items:end;}
.analytics-detail-table th,
.analytics-detail-table td{padding:9px 10px;font-size:12px;}
@media(max-width:1360px){
  .analytics-code-head,
  .analytics-code-row{grid-template-columns:minmax(98px,1fr) 44px minmax(80px,1fr) minmax(80px,1fr) minmax(80px,1fr) 54px;}
  .analytics-manager-leader-row{grid-template-columns:64px minmax(120px,1fr) 74px 74px 74px 56px;}
  .analytics-code-metric small,
  .analytics-manager-metric small{font-size:9.5px;}
}

/* ========================================================================
   SignalOS Foundation UI
   Dark operations terminal / marketing data infrastructure
   ======================================================================== */
:root{
  --bg:#050908;
  --bg-elevated:#07100f;
  --card:#0b1412;
  --card-2:#0e1916;
  --card-3:#111e1a;
  --text:#e8f1ee;
  --muted:#81938d;
  --muted-2:#53635e;
  --line:rgba(142,174,164,.15);
  --line-strong:rgba(142,174,164,.28);
  --accent:#26f7c5;
  --accent-soft:rgba(38,247,197,.11);
  --accent-2:#14b890;
  --violet:#8b5cf6;
  --violet-soft:rgba(139,92,246,.13);
  --blue:#49a7ff;
  --ok:#26f7c5;
  --bad:#ff667a;
  --warn:#f5bd52;
  --shadow:none;
  --radius:14px;
  --sidebar:252px;
}
html{background:var(--bg);scrollbar-color:#1d3b33 #07100f}
body.signalos-app{
  min-width:320px;
  background:
    radial-gradient(circle at 86% -20%,rgba(38,247,197,.07),transparent 34%),
    radial-gradient(circle at 12% 105%,rgba(139,92,246,.06),transparent 29%),
    var(--bg);
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
body.signalos-app::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.13;
  background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);
  background-size:42px 42px;
  z-index:0;
}
.signalos-app .app{position:relative;z-index:1;min-height:100vh}
.signalos-app a{color:inherit}
.signalos-app ::selection{background:rgba(38,247,197,.25);color:#fff}
.signalos-app .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}

/* Shell */
.signalos-app .sidebar{
  width:var(--sidebar);
  padding:20px 16px 16px;
  gap:0;
  background:rgba(5,10,9,.98);
  border-right:1px solid rgba(38,247,197,.12);
  box-shadow:inset -1px 0 rgba(255,255,255,.015);
  z-index:80;
  overflow-y:auto;
  scrollbar-width:thin;
}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 4px 0 2px}
.signalos-app .brand{padding:0;margin:0;min-height:44px;display:flex;align-items:center}
.signalos-app .brand img{width:184px;max-width:184px;height:42px;object-fit:contain;object-position:left center}
.sidebar-close{display:none;width:34px;height:34px;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:9px;font-size:22px;line-height:1}
.sidebar-system{margin:18px 2px 20px;padding:11px 12px;border:1px solid rgba(38,247,197,.12);background:linear-gradient(90deg,rgba(38,247,197,.06),rgba(38,247,197,.015));border-radius:11px;display:flex;align-items:center;gap:10px}
.system-orbit{width:24px;height:24px;border:1px solid rgba(38,247,197,.35);border-radius:50%;display:grid;place-items:center;position:relative}
.system-orbit::before{content:"";position:absolute;inset:3px;border:1px dashed rgba(38,247,197,.23);border-radius:50%;animation:signal-spin 8s linear infinite}
.system-orbit i{width:6px;height:6px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px rgba(38,247,197,.85)}
.sidebar-system div{display:flex;flex-direction:column;line-height:1.1}.sidebar-system b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.13em;color:var(--accent)}.sidebar-system small{margin-top:5px;color:var(--muted);font-size:10px}
@keyframes signal-spin{to{transform:rotate(360deg)}}
.signalos-app .sidebar-nav{display:flex;flex-direction:column;gap:16px;flex:1}
.nav-group{display:flex;flex-direction:column;gap:4px}
.nav-group-label{padding:0 11px 6px;color:#465650;font-size:9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.signalos-app .sidebar .nav-item{
  min-height:40px;
  padding:9px 11px;
  border:1px solid transparent;
  border-radius:9px;
  color:#81918c;
  display:flex;
  align-items:center;
  gap:11px;
  font-size:13px;
  font-weight:650;
  position:relative;
  transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease;
}
.signalos-app .sidebar .nav-item:hover{background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.04);color:#c8d6d1;transform:translateX(1px)}
.signalos-app .sidebar .nav-item.active{background:linear-gradient(90deg,rgba(38,247,197,.105),rgba(38,247,197,.018));border-color:rgba(38,247,197,.16);color:#eafff8}
.nav-icon{width:17px;height:17px;flex:0 0 17px;color:#63746e;transition:color .14s ease}
.nav-item.active .nav-icon{color:var(--accent);filter:drop-shadow(0 0 5px rgba(38,247,197,.2))}
.nav-active-pulse{margin-left:auto;width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 9px rgba(38,247,197,.9)}
.signalos-app .sidebar-bottom{margin-top:22px;padding-top:14px;border-top:1px solid rgba(255,255,255,.055)}
.user-card{display:grid;grid-template-columns:34px minmax(0,1fr) 32px;gap:9px;align-items:center;padding:8px 7px;border-radius:10px;background:rgba(255,255,255,.018)}
.user-avatar{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:rgba(38,247,197,.08);border:1px solid rgba(38,247,197,.17);color:var(--accent);font-size:13px;font-weight:900}
.user-meta{min-width:0;display:flex;flex-direction:column}.user-meta b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dce8e4;font-size:12px}.user-meta small{margin-top:3px;color:#60706b;font-size:10px}
.signalos-app .logout-link{width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:8px;display:grid;place-items:center;color:#62716d}.signalos-app .logout-link:hover{background:rgba(255,102,122,.08);border-color:rgba(255,102,122,.13);color:var(--bad)}.logout-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sidebar-scrim{display:none}

.signalos-app .main{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));max-width:none;padding:0 0 10px;min-width:0;position:relative}
.signal-topbar{height:58px;position:sticky;top:0;z-index:55;display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-bottom:1px solid rgba(142,174,164,.10);background:rgba(5,9,8,.88);backdrop-filter:blur(18px)}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:10px}.signal-breadcrumb{display:flex;align-items:center;gap:9px;font-size:11px}.signal-breadcrumb span{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;letter-spacing:.08em}.signal-breadcrumb i{color:#35443f;font-style:normal}.signal-breadcrumb b{font-size:11px;color:#7e8e89;font-weight:650}
.topbar-chip{height:27px;padding:0 9px;border:1px solid var(--line);border-radius:7px;display:inline-flex;align-items:center;gap:6px;color:#64756f;font-size:9px;letter-spacing:.09em;text-transform:uppercase;background:rgba(255,255,255,.014)}.topbar-chip.live{color:#9bb1aa}.topbar-chip.live i{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px rgba(38,247,197,.8);animation:signal-pulse 1.8s ease-in-out infinite}
@keyframes signal-pulse{50%{opacity:.38;box-shadow:0 0 2px rgba(38,247,197,.2)}}
.mobile-nav-toggle{display:none;width:34px;height:32px;border:1px solid var(--line);background:var(--card);border-radius:8px;padding:8px;color:var(--text)}.mobile-nav-toggle span{display:block;height:1px;background:currentColor;margin:3px 0}
.workspace-body{width:100%;padding:25px 28px 0}
.default-page-title{margin-bottom:20px}.default-page-title h1{font-size:26px;margin:3px 0 0;color:var(--text)}

/* Global controls */
.signalos-app h1,.signalos-app h2,.signalos-app h3{color:var(--text)}
.signalos-app h1{font-size:30px;font-weight:720;letter-spacing:-.035em}
.signalos-app h2{font-size:20px;font-weight:700;letter-spacing:-.025em}
.signalos-app h3{font-size:15px;font-weight:700}
.signalos-app .muted,.signalos-app .help,.signalos-app .field-hint,.signalos-app .page-subtitle,.signalos-app .card-subtitle{color:var(--muted)}
.signalos-app .card,
.signalos-app .settings-card,
.signalos-app .settings-compact-card,
.signalos-app .connection-card,
.signalos-app .dashboard-card,
.signalos-app .logs-filter-card,
.signalos-app .manual-scan-dialog,
.signalos-app .admin-modal-dialog{
  background:linear-gradient(145deg,rgba(14,25,22,.98),rgba(9,17,15,.98));
  border:1px solid var(--line);
  box-shadow:none;
  color:var(--text);
}
.signalos-app .card{border-radius:13px;padding:18px;margin-bottom:16px}
.signalos-app .card.table-card{padding:0;background:rgba(10,18,16,.93)}
.signalos-app .stat{background:linear-gradient(145deg,rgba(15,27,23,.95),rgba(8,16,14,.95));border:1px solid var(--line);border-radius:12px;box-shadow:none}.signalos-app .stat b{color:var(--text)}.signalos-app .stat span,.signalos-app .stat small{color:var(--muted)}
.signalos-app .btn{min-height:38px;border-radius:8px;border:1px solid rgba(38,247,197,.42);background:var(--accent);color:#06110e;padding:9px 13px;font-size:12px;font-weight:850;letter-spacing:.015em;box-shadow:0 0 0 0 rgba(38,247,197,0);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.signalos-app .btn:hover{background:#56ffd6;border-color:#56ffd6;box-shadow:0 0 18px rgba(38,247,197,.12);transform:translateY(-1px)}
.signalos-app .btn.ghost,.signalos-app .btn.secondary{background:rgba(255,255,255,.025);border-color:var(--line);color:#b7c6c1}.signalos-app .btn.ghost:hover,.signalos-app .btn.secondary:hover{background:rgba(38,247,197,.06);border-color:rgba(38,247,197,.24);color:var(--accent)}
.signalos-app .btn.danger{background:rgba(255,102,122,.09);border-color:rgba(255,102,122,.27);color:#ff8999}.signalos-app .btn.danger:hover{background:rgba(255,102,122,.16)}
.signalos-app input,.signalos-app select,.signalos-app textarea{background:#07100e;color:var(--text);border:1px solid var(--line-strong);border-radius:8px;box-shadow:none}.signalos-app input::placeholder,.signalos-app textarea::placeholder{color:#40504b}.signalos-app input:focus,.signalos-app select:focus,.signalos-app textarea:focus{border-color:rgba(38,247,197,.55);box-shadow:0 0 0 3px rgba(38,247,197,.075)}.signalos-app select{color-scheme:dark}.signalos-app label{color:#b9c8c3;font-size:11px;letter-spacing:.025em}.signalos-app .password-toggle{background:#101d19;color:#7e918b}.signalos-app .password-toggle:hover{background:#162822;color:var(--accent)}
.signalos-app table{background:transparent;color:var(--text)}.signalos-app th{background:rgba(255,255,255,.018);color:#62736d;border-color:var(--line);font-size:9px;letter-spacing:.12em}.signalos-app td{border-color:rgba(142,174,164,.10);color:#aebdb8}.signalos-app tbody tr:hover{background:rgba(38,247,197,.025)}
.signalos-app .table-card-head,.signalos-app .card-header{border-color:var(--line)}
.signalos-app .badge,.signalos-app .signal-status{border:1px solid transparent}.signalos-app .badge.ok,.signalos-app .signal-status.ok{background:rgba(38,247,197,.08);border-color:rgba(38,247,197,.17);color:var(--accent)}.signalos-app .badge.bad,.signalos-app .signal-status.bad{background:rgba(255,102,122,.085);border-color:rgba(255,102,122,.17);color:#ff8293}.signalos-app .badge.warn,.signalos-app .signal-status.warn{background:rgba(245,189,82,.08);border-color:rgba(245,189,82,.17);color:#f5bd52}.signalos-app .badge.gray,.signalos-app .signal-status.gray{background:rgba(255,255,255,.025);border-color:var(--line);color:#7d8d88}.signalos-app .badge.blue{background:rgba(73,167,255,.09);border-color:rgba(73,167,255,.16);color:#73bbff}
.signalos-app .crm-pill,.signal-label{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.018);color:#81928c;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.signalos-app .icon-btn{background:rgba(255,255,255,.018);border-color:var(--line);color:#8b9b96;border-radius:8px;box-shadow:none}.signalos-app .icon-btn:hover{background:rgba(38,247,197,.06);border-color:rgba(38,247,197,.21);color:var(--accent);box-shadow:none}.signalos-app .icon-btn.warn{background:rgba(245,189,82,.07);border-color:rgba(245,189,82,.15);color:#d7a64b}.signalos-app .icon-btn.ok{background:rgba(38,247,197,.07);border-color:rgba(38,247,197,.16);color:var(--accent)}.signalos-app .icon-btn.danger{background:rgba(255,102,122,.07);border-color:rgba(255,102,122,.16);color:var(--bad)}
.signalos-app .alert{border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.025);font-size:12px}.signalos-app .alert.success{background:rgba(38,247,197,.07);border-color:rgba(38,247,197,.18);color:#77ffd9}.signalos-app .alert.error{background:rgba(255,102,122,.08);border-color:rgba(255,102,122,.2);color:#ff93a1}.signalos-app .alert.warn{background:rgba(245,189,82,.08);border-color:rgba(245,189,82,.2);color:#f5c96f}
.signalos-app .tabs a{background:rgba(255,255,255,.022);border:1px solid var(--line);color:#758680}.signalos-app .tabs a.active{background:rgba(38,247,197,.08);border-color:rgba(38,247,197,.2);color:var(--accent)}
.signalos-app .floating-tooltip{background:#13211d;border:1px solid rgba(38,247,197,.14);color:#d8e6e1;box-shadow:0 12px 35px rgba(0,0,0,.35)}
.signalos-app .toast{background:#101c19;border:1px solid var(--line);color:var(--text);box-shadow:0 18px 44px rgba(0,0,0,.35)}

/* Page language */
.signal-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 22px}.signal-page-head h1{font-size:31px;margin:5px 0 7px}.signal-page-head>div>p{margin:0;max-width:720px;color:var(--muted);font-size:13px;line-height:1.55}.signal-head-actions{display:flex;align-items:center;gap:9px;padding-top:11px;flex-wrap:wrap}
.signal-eyebrow{display:flex;align-items:center;gap:9px;color:#6b7c76;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;letter-spacing:.13em;font-weight:800}.signal-eyebrow i{width:26px;height:1px;background:rgba(38,247,197,.35)}.signal-eyebrow b{display:flex;align-items:center;gap:6px;color:var(--accent);font-size:9px}.signal-eyebrow b::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px rgba(38,247,197,.7)}.signal-eyebrow.violet b{color:#b79bff}.signal-eyebrow.violet b::before{background:var(--violet);box-shadow:0 0 8px rgba(139,92,246,.8)}.signal-eyebrow.violet i{background:rgba(139,92,246,.4)}
.page-kicker,.section-index,.metric-code,.login-index{color:#566660;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:25px 0 12px}.section-title-row.compact{margin:0 0 18px;align-items:flex-start}.section-title-row h2{font-size:18px;margin:5px 0 3px}.section-title-row p{font-size:12px;color:var(--muted);margin:0}.count-chip{height:25px;padding:0 8px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:6px;color:#667872;background:rgba(255,255,255,.015);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;letter-spacing:.07em;text-transform:uppercase}.text-link{color:#81938d;text-decoration:none;font-size:11px;font-weight:700}.text-link:hover{color:var(--accent)}

/* Control center */
.control-hero{min-height:250px;border:1px solid rgba(38,247,197,.13);border-radius:16px;background:linear-gradient(112deg,rgba(13,25,21,.97),rgba(6,12,11,.97));position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);align-items:center;padding:30px 34px;margin-bottom:14px}.control-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 49.8%,rgba(38,247,197,.035) 50%,transparent 50.2%),linear-gradient(transparent 49.8%,rgba(38,247,197,.025) 50%,transparent 50.2%);background-size:60px 60px;opacity:.7}.control-hero-copy{position:relative;z-index:2}.control-hero h1{font-size:42px;margin:10px 0 9px;letter-spacing:-.045em}.control-hero p{max-width:620px;margin:0;color:#899a94;font-size:14px;line-height:1.6}.hero-actions{display:flex;gap:9px;margin-top:22px}
.core-visual{height:205px;position:relative;display:grid;place-items:center;z-index:2}.core-ring{position:absolute;border:1px solid rgba(38,247,197,.12);border-radius:50%;animation:core-drift 16s linear infinite}.ring-a{width:178px;height:178px}.ring-b{width:132px;height:132px;border-style:dashed;animation-direction:reverse;animation-duration:11s}.ring-c{width:86px;height:86px;border-color:rgba(139,92,246,.23)}@keyframes core-drift{to{transform:rotate(360deg)}}.core-node{width:66px;height:66px;border-radius:17px;background:#07100f;border:1px solid rgba(38,247,197,.3);display:grid;place-items:center;position:relative;box-shadow:0 0 32px rgba(38,247,197,.08)}.core-node img{width:44px;height:44px}.core-node span{position:absolute;top:76px;color:#566762;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;letter-spacing:.16em}.satellite{position:absolute;min-width:43px;height:22px;padding:0 7px;border:1px solid var(--line);border-radius:6px;display:grid;place-items:center;background:#08110f;color:#6f817b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;font-weight:800;letter-spacing:.08em}.sat-a{top:17px;left:50%;transform:translateX(-50%)}.sat-b{right:20px;top:50%;transform:translateY(-50%)}.sat-c{bottom:14px;left:50%;transform:translateX(-50%)}.sat-d{left:20px;top:50%;transform:translateY(-50%)}
.control-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.control-metrics article{min-height:122px;padding:16px 17px;border:1px solid var(--line);border-radius:12px;background:rgba(10,19,16,.93);display:flex;flex-direction:column}.control-metrics strong{margin-top:9px;color:#eaf5f1;font-size:26px;line-height:1;font-weight:700;letter-spacing:-.035em}.control-metrics strong small{font-size:12px;color:#667872;margin-left:3px}.control-metrics b{margin-top:7px;color:#83958f;font-size:11px;font-weight:650}.mini-track{height:2px;background:#182721;margin-top:auto;overflow:hidden}.mini-track i{height:100%;display:block;background:var(--accent);box-shadow:0 0 8px rgba(38,247,197,.45)}.mini-track.violet i{background:var(--violet);box-shadow:0 0 8px rgba(139,92,246,.45)}
.control-main-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:12px}.engine-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.engine-card{min-height:330px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,rgba(14,26,22,.98),rgba(7,14,12,.98));padding:17px;text-decoration:none;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:border-color .18s ease,transform .18s ease}.engine-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 8%,rgba(38,247,197,.07),transparent 36%);pointer-events:none}.conversion-engine::before{background:radial-gradient(circle at 90% 8%,rgba(139,92,246,.09),transparent 36%)}.engine-card:hover{border-color:rgba(38,247,197,.3);transform:translateY(-2px)}.conversion-engine:hover{border-color:rgba(139,92,246,.35)}.engine-card-top{display:flex;justify-content:space-between;align-items:center;position:relative}.engine-number{color:#465650;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.engine-state{display:flex;align-items:center;gap:6px;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;letter-spacing:.09em}.engine-state i{width:5px;height:5px;background:currentColor;border-radius:50%;box-shadow:0 0 8px currentColor}.engine-state.foundation{color:#ad91f8}.engine-symbol{height:88px;display:flex;align-items:center}.engine-symbol svg{width:92px;height:56px;fill:none;stroke:var(--accent);stroke-width:1.5;filter:drop-shadow(0 0 7px rgba(38,247,197,.17))}.conversion-engine .engine-symbol svg{stroke:var(--violet);filter:drop-shadow(0 0 7px rgba(139,92,246,.18))}.engine-card h2{font-size:21px;margin:6px 0}.engine-card>p{font-size:12px;color:#7e8f89;line-height:1.55;margin:0}.engine-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:auto;padding-top:18px}.engine-stats span{border-left:1px solid var(--line);padding-left:8px;display:flex;flex-direction:column}.engine-stats b{font-size:16px;color:#dce9e4}.engine-stats small{font-size:8px;color:#53645e;text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.engine-card footer{margin-top:15px;padding-top:11px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#60716b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;letter-spacing:.12em}.engine-card:hover footer{color:var(--accent)}.conversion-engine:hover footer{color:#b9a1ff}
.recent-signal-panel{border:1px solid var(--line);border-radius:14px;background:rgba(9,17,15,.94);padding:17px;min-width:0}.recent-signal-panel>header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:11px}.recent-signal-panel h2{font-size:17px;margin:4px 0 0}.recent-signal-panel header>a{font-size:10px;color:#73847e;text-decoration:none}.recent-signal-panel header>a:hover{color:var(--accent)}.compact-signal-list{display:flex;flex-direction:column}.compact-signal-item{display:grid;grid-template-columns:54px 9px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:49px;border-top:1px solid rgba(142,174,164,.08)}.compact-signal-item:first-child{border-top:0}.compact-time{font-size:9px;color:#5e706a}.compact-signal-item>div{min-width:0;display:flex;flex-direction:column}.compact-signal-item>div b{font-size:11px;color:#b9c8c3;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-signal-item>div small{font-size:9px;color:#586963;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px}

/* Shared data components */
.module-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.module-status-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.signal-metric-card{min-height:158px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,rgba(13,24,20,.96),rgba(8,15,13,.96));padding:15px;display:flex;flex-direction:column;position:relative;overflow:hidden}.signal-metric-card::after{content:"";position:absolute;width:80px;height:80px;border:1px solid rgba(255,255,255,.025);border-radius:50%;right:-25px;top:-31px}.signal-metric-card strong{font-size:28px;line-height:1;color:#e8f3ef;margin:12px 0 6px;letter-spacing:-.04em}.signal-metric-card strong small{font-size:12px;color:#657670;margin-left:2px}.signal-metric-card>b{font-size:11px;color:#9aacA6}.signal-metric-card p{font-size:10px;color:#596a64;line-height:1.45;margin:auto 0 0}.accent-card{border-color:rgba(38,247,197,.22);background:linear-gradient(145deg,rgba(38,247,197,.09),rgba(8,15,13,.96))}.violet-card{border-color:rgba(139,92,246,.25);background:linear-gradient(145deg,rgba(139,92,246,.11),rgba(8,15,13,.96))}.danger-card{border-color:rgba(255,102,122,.22)}
.signal-flow-card{border:1px solid var(--line);border-radius:13px;background:rgba(8,16,14,.96);padding:17px;margin-bottom:18px}.signal-flow-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.signal-flow-head span:first-child,.signal-flow-head>div>span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#566761;font-size:8px;letter-spacing:.13em}.signal-flow-head h2{font-size:16px;margin:5px 0 0}.engine-chip{height:25px;padding:0 8px;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(38,247,197,.16);background:rgba(38,247,197,.045);border-radius:6px;color:#78aa9d;font-size:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.07em}.engine-chip i{width:5px;height:5px;border-radius:50%;background:var(--accent)}.engine-chip.violet{border-color:rgba(139,92,246,.2);background:rgba(139,92,246,.055);color:#9d88d8}.engine-chip.violet i{background:var(--violet)}.signal-flow-line{display:grid;grid-template-columns:repeat(7,minmax(0,auto));align-items:center;gap:8px}.flow-node{min-height:68px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.012);padding:10px;display:flex;flex-direction:column;min-width:122px}.flow-node span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;color:#465650}.flow-node b{font-size:10px;color:#aebdb8;margin-top:8px;letter-spacing:.06em}.flow-node small{font-size:8px;color:#4e5f59;margin-top:3px}.flow-link{min-width:34px;display:flex;align-items:center;gap:5px}.flow-link i{width:4px;height:4px;border-radius:50%;background:rgba(38,247,197,.6);animation:flow-dot 1.8s ease-in-out infinite}.flow-link i:nth-child(2){animation-delay:.25s}.flow-link i:nth-child(3){animation-delay:.5s}.flow-link.violet i{background:rgba(139,92,246,.8)}@keyframes flow-dot{0%,100%{opacity:.18;transform:translateX(-2px)}50%{opacity:1;transform:translateX(2px)}}
.signal-foundation-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:18px;border:1px solid rgba(139,92,246,.16);background:linear-gradient(120deg,rgba(139,92,246,.07),rgba(8,15,13,.94));border-radius:13px;padding:19px}.foundation-copy h2{font-size:20px;margin:7px 0}.foundation-copy p{color:#7f908a;font-size:12px;line-height:1.6;margin:0}.foundation-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.foundation-check{min-height:62px;border:1px solid var(--line);border-radius:9px;background:rgba(0,0,0,.12);padding:9px;display:flex;gap:9px;align-items:center}.foundation-check>i{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:rgba(38,247,197,.07);color:var(--accent);font-style:normal;font-size:11px}.foundation-check.next>i{background:rgba(139,92,246,.09);color:#b296ff}.foundation-check span{display:flex;flex-direction:column}.foundation-check b{font-size:10px;color:#a8b8b2}.foundation-check small{font-size:8px;color:#53635d;margin-top:3px}
.signal-table-card{border-radius:12px;overflow:hidden}.signal-data-table th,.signal-data-table td{padding:12px 13px}.signal-data-table td{font-size:11px}.entity-cell{display:flex;align-items:center;gap:10px;min-width:145px}.entity-dot{width:7px;height:7px;border-radius:50%;background:#44534e;box-shadow:0 0 0 4px rgba(255,255,255,.018)}.entity-dot.online{background:var(--accent);box-shadow:0 0 0 4px rgba(38,247,197,.06),0 0 8px rgba(38,247,197,.45)}.entity-dot.paused{background:#6e7b77}.entity-cell>div{display:flex;flex-direction:column;min-width:0}.entity-cell b{font-size:11px;color:#bdcbc6;white-space:nowrap}.entity-cell small{font-size:8px;color:#50615b;margin-top:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.data-number{color:#d9e7e2;font-size:13px}.data-time{font-size:9px;color:#60716b;white-space:nowrap}.signal-status{display:inline-flex;align-items:center;justify-content:center;min-height:23px;padding:3px 7px;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;font-weight:800;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}.rate-cell{display:flex;align-items:center;gap:8px}.rate-cell>b{width:38px;font-size:10px;color:#9eafa9}.rate-cell>span{width:50px;height:2px;background:#1a2924;overflow:hidden}.rate-cell>span i{height:100%;display:block;background:var(--accent)}.signal-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.signal-row-actions a{font-size:9px;text-decoration:none;color:#697a74;padding:4px 6px;border:1px solid var(--line);border-radius:5px;white-space:nowrap}.signal-row-actions a:hover{color:var(--accent);border-color:rgba(38,247,197,.2)}.signal-empty{min-height:200px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--muted)}.signal-empty.compact{min-height:190px}.signal-empty span{color:#4f605a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;letter-spacing:.14em}.signal-empty b{font-size:14px;color:#a8b7b2;margin-top:8px}.signal-empty p{max-width:430px;font-size:10px;color:#566761;margin:6px 0 0}

/* Integrations */
.integration-summary-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;background:rgba(9,17,15,.94);overflow:hidden;margin-bottom:13px}.integration-summary-strip>div{min-height:82px;padding:13px 15px;border-left:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:end}.integration-summary-strip>div:first-child{border-left:0}.integration-summary-strip span{grid-column:1/-1;color:#53645e;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;letter-spacing:.12em}.integration-summary-strip b{font-size:23px;color:#d8e5e0}.integration-summary-strip small{font-size:9px;color:#61726c;padding-bottom:3px}.integration-summary-strip .attention b{color:#f0bd5f}
.registry-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:12px}.registry-main{display:flex;flex-direction:column;gap:12px}.integration-project-card{border:1px solid var(--line);border-radius:13px;background:rgba(8,16,14,.95);overflow:hidden}.integration-project-card>header{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid var(--line)}.integration-project-actions{display:flex;align-items:center;gap:9px}.integration-project-actions>a{font-size:9px;color:#6e7f79;text-decoration:none}.integration-project-actions>a:hover{color:var(--accent)}.connection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:11px}.connection-tile,.connection-empty-tile{min-height:207px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.012);padding:12px;display:flex;flex-direction:column}.connection-tile.ok{border-color:rgba(38,247,197,.15)}.connection-tile.bad{border-color:rgba(255,102,122,.18)}.connection-tile.blueprint{border-style:dashed;background:rgba(139,92,246,.025)}.connection-tile-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center}.provider-mark{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#0a1311;display:grid;place-items:center;color:#81928c;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:900}.provider-mark.bitrix24{color:#71bfff;border-color:rgba(73,167,255,.2);background:rgba(73,167,255,.05)}.provider-mark.wazzup{color:#52e59d;border-color:rgba(82,229,157,.2);background:rgba(82,229,157,.05)}.provider-mark.meta{color:#b49aff;border-color:rgba(139,92,246,.22);background:rgba(139,92,246,.06)}.connection-tile-head>div{display:flex;flex-direction:column}.connection-tile-head b{font-size:11px;color:#b9c8c3}.connection-tile-head small{font-size:8px;color:#52635d;margin-top:3px;letter-spacing:.09em}.connection-led{display:flex;align-items:center;gap:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px;color:#60716b;text-transform:uppercase}.connection-led i{width:5px;height:5px;border-radius:50%;background:#54635e}.connection-led.ok{color:var(--accent)}.connection-led.ok i{background:var(--accent);box-shadow:0 0 7px rgba(38,247,197,.5)}.connection-led.bad{color:var(--bad)}.connection-led.bad i{background:var(--bad)}.connection-tile dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0 0}.connection-tile dl>div{min-width:0}.connection-tile dt{font-size:7px;color:#465750;text-transform:uppercase;letter-spacing:.08em}.connection-tile dd{font-size:9px;color:#82938d;margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.connection-error{font-size:8px;color:#e47b89;margin:8px 0 0;line-height:1.4}.connection-tile footer{margin-top:auto;padding-top:10px;border-top:1px solid rgba(142,174,164,.08);display:flex;align-items:center;justify-content:space-between;color:#4f605a;font-size:8px}.connection-tile footer a{color:#70827c;text-decoration:none}.connection-tile footer a:hover{color:var(--accent)}.connection-empty-tile{align-items:center;justify-content:center;text-align:center;border-style:dashed}.connection-empty-tile span{font-size:8px;color:#4e5f59;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.connection-empty-tile b{font-size:11px;color:#8fa09a;margin-top:7px}.connection-empty-tile p{font-size:9px;color:#53645e;max-width:280px}.registry-aside{display:flex;flex-direction:column;gap:12px}.registry-map-card,.registry-note-card{border:1px solid var(--line);border-radius:12px;background:rgba(9,17,15,.94);padding:15px}.registry-map-card h3,.registry-note-card h3{margin:6px 0 13px}.topology-map{height:330px;position:relative}.topology-node{position:absolute;width:94px;height:62px;border:1px solid var(--line);border-radius:9px;background:#08110f;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:2}.topology-node b{font-size:8px;color:#91a19c;letter-spacing:.08em}.topology-node small{font-size:7px;color:#4d5e58;margin-top:3px}.topology-node i{width:7px;height:7px;border-radius:50%;background:#596a64;margin-bottom:7px}.topology-node.core{left:50%;top:50%;transform:translate(-50%,-50%);width:108px;height:82px;border-color:rgba(38,247,197,.23)}.topology-node.core img{width:33px;height:33px;margin-bottom:5px}.topology-node.source{left:0;top:8px}.topology-node.source i{background:#54df9b}.topology-node.crm{right:0;top:8px}.topology-node.crm i{background:#49a7ff}.topology-node.meta{left:50%;bottom:3px;transform:translateX(-50%)}.topology-node.meta i{background:var(--violet)}.topology-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(38,247,197,.25),transparent);transform-origin:left}.topology-line.a{width:132px;left:65px;top:74px;transform:rotate(34deg)}.topology-line.b{width:132px;right:64px;top:74px;transform:rotate(146deg);transform-origin:right}.topology-line.c{width:105px;left:50%;bottom:79px;transform:rotate(90deg);transform-origin:left}.registry-note-card p{font-size:10px;color:#6a7b75;line-height:1.55}.registry-note-card ul{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:7px}.registry-note-card li{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;color:#60716b}.registry-note-card li::before{content:"+";color:var(--accent);margin-right:7px}

/* Analytics */
.analytics-core-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.analytics-core-card{min-height:150px;border:1px solid rgba(38,247,197,.15);border-radius:12px;background:linear-gradient(135deg,rgba(38,247,197,.055),rgba(8,15,13,.94));padding:15px;display:flex;align-items:center;gap:15px}.analytics-core-card.violet{border-color:rgba(139,92,246,.18);background:linear-gradient(135deg,rgba(139,92,246,.06),rgba(8,15,13,.94))}.analytics-core-card.blue{border-color:rgba(73,167,255,.17);background:linear-gradient(135deg,rgba(73,167,255,.055),rgba(8,15,13,.94))}.analytics-ring{--value:0;width:80px;height:80px;flex:0 0 80px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--accent) calc(var(--value)*1%),rgba(255,255,255,.035) 0)}.analytics-ring::after{content:"";position:absolute;inset:5px;border-radius:50%;background:#0a1311}.analytics-core-card.violet .analytics-ring{background:conic-gradient(var(--violet) calc(var(--value)*1%),rgba(255,255,255,.035) 0)}.analytics-core-card.blue .analytics-ring{background:conic-gradient(var(--blue) calc(var(--value)*1%),rgba(255,255,255,.035) 0)}.analytics-ring span{position:relative;z-index:2;font-size:13px;font-weight:700;color:#d5e3de}.analytics-core-card>div:last-child{display:flex;flex-direction:column}.analytics-core-card>div:last-child>span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;color:#52635d;letter-spacing:.1em}.analytics-core-card b{font-size:13px;color:#aebdb8;margin-top:6px}.analytics-core-card p{font-size:9px;color:#5d6e68;line-height:1.45;margin:5px 0 0}.analytics-two-col{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:10px;margin-top:10px}.analytics-panel{border:1px solid var(--line);border-radius:12px;background:rgba(9,17,15,.94);padding:16px}.completeness-list{display:flex;flex-direction:column;gap:11px}.completeness-row{display:grid;grid-template-columns:115px minmax(0,1fr) 45px;gap:10px;align-items:center}.completeness-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:6px}.completeness-row b{font-size:9px;color:#99aaa4}.completeness-row span{font-size:7px;color:#4d5e58}.completeness-track{height:3px;background:#172620;overflow:hidden}.completeness-track i{height:100%;display:block;background:var(--accent)}.completeness-row strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;color:#73847e;text-align:right}.analytics-zero-note{margin-top:14px;padding:10px;border:1px dashed var(--line);border-radius:8px;color:#586963;font-size:9px;line-height:1.5}.data-boundary-stack{display:flex;flex-direction:column}.data-boundary-stack>div{display:grid;grid-template-columns:28px 9px minmax(0,1fr);gap:10px;align-items:flex-start;padding:11px 0;border-top:1px solid rgba(142,174,164,.08)}.data-boundary-stack>div:first-child{border-top:0}.boundary-no{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;color:#4c5d57}.boundary-dot{width:7px;height:7px;border-radius:50%;margin-top:3px;background:#667872}.boundary-dot.crm{background:var(--blue)}.boundary-dot.core{background:var(--accent)}.boundary-dot.meta{background:var(--violet)}.data-boundary-stack section b{font-size:10px;color:#9fafaa}.data-boundary-stack section p{font-size:9px;color:#586963;margin:4px 0 0;line-height:1.45}

/* Live console */
.live-console-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:11px}.live-console{border:1px solid rgba(38,247,197,.14);border-radius:13px;background:#060c0a;overflow:hidden;min-height:640px;display:flex;flex-direction:column}.console-toolbar{min-height:66px;padding:11px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;background:linear-gradient(90deg,rgba(38,247,197,.03),transparent)}.console-title{display:grid;grid-template-columns:auto auto;column-gap:9px;align-items:center}.console-title b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;color:#80918b;letter-spacing:.09em}.console-title small{grid-column:2;font-size:7px;color:#475851;margin-top:3px}.console-dots{display:flex;gap:4px;grid-row:1/3}.console-dots i{width:6px;height:6px;border-radius:50%;background:#35443f}.console-dots i:first-child{background:#ff667a}.console-dots i:nth-child(2){background:#f5bd52}.console-dots i:last-child{background:#26f7c5}.console-filters{display:flex;gap:7px}.console-filters label{margin:0}.console-filters label span{display:none}.console-filters select{height:30px;min-height:30px;padding:4px 27px 4px 8px;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;letter-spacing:.05em}.console-column-head,.live-event-row{display:grid;grid-template-columns:70px 105px minmax(250px,1fr) 130px 90px;gap:8px;align-items:center}.console-column-head{height:30px;padding:0 13px;border-bottom:1px solid rgba(142,174,164,.08);color:#40514b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px;letter-spacing:.1em}.live-event-list{flex:1;min-height:0}.live-event-row{min-height:57px;padding:8px 13px;border-bottom:1px solid rgba(142,174,164,.065);position:relative}.live-event-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:#465650}.live-event-row.tone-ok::before{background:var(--accent)}.live-event-row.tone-bad::before{background:var(--bad)}.live-event-row.tone-warn::before{background:var(--warn)}.event-time{display:flex;flex-direction:column}.event-time b{font-size:9px;color:#697a74}.event-time small{font-size:7px;color:#3f504a;margin-top:2px}.event-channel{display:flex;align-items:center;gap:7px;color:#6c7d77;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}.channel-dot{width:6px;height:6px;border-radius:50%;background:#61726c;display:inline-block;flex:0 0 6px}.channel-dot.attribution{background:var(--accent)}.channel-dot.wazzup{background:#53df9b}.channel-dot.crm{background:var(--blue)}.channel-dot.meta-capi,.channel-dot.capi{background:var(--violet)}.channel-dot.system{background:#8b9995}.event-copy{min-width:0;display:flex;flex-direction:column}.event-copy b{font-size:10px;color:#aab9b4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-copy small{font-size:8px;color:#53645e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.event-project{font-size:8px;color:#687973;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-status{text-align:right}.console-footer{height:35px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 13px;color:#465750;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px}.console-footer span{display:flex;align-items:center;gap:6px}.live-cursor{width:5px;height:10px;background:var(--accent);animation:cursor-blink 1s steps(1) infinite}@keyframes cursor-blink{50%{opacity:0}}.console-empty{height:400px;display:flex;align-items:center;justify-content:center;flex-direction:column}.console-empty span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;color:#465750;letter-spacing:.12em}.console-empty b{font-size:13px;color:#82938d;margin-top:8px}.console-empty p{font-size:9px;color:#4d5e58}.live-telemetry{display:flex;flex-direction:column;gap:10px}.telemetry-card{border:1px solid var(--line);border-radius:11px;background:rgba(9,17,15,.94);padding:14px}.telemetry-card h3{margin:6px 0 12px}.telemetry-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.telemetry-metrics>div{min-height:64px;border:1px solid rgba(142,174,164,.09);border-radius:7px;background:rgba(255,255,255,.01);padding:8px;display:flex;flex-direction:column}.telemetry-metrics span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px;color:#4e5f59}.telemetry-metrics b{font-size:17px;color:#b5c4bf;margin-top:auto}.route-legend ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.route-legend li{display:grid;grid-template-columns:8px minmax(0,1fr);gap:8px;align-items:start;padding:8px 0;border-top:1px solid rgba(142,174,164,.07)}.route-legend li:first-child{border-top:0}.route-legend li span{display:flex;flex-direction:column}.route-legend b{font-size:9px;color:#91a19b}.route-legend small{font-size:7px;color:#4e5f59;margin-top:2px}.data-policy p{font-size:9px;color:#5d6e68;line-height:1.55;margin:0}.live-disconnected .signal-eyebrow b{color:var(--warn)}.live-disconnected .signal-eyebrow b::before{background:var(--warn)}

/* Login */
.signal-login-page{overflow-x:hidden}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);position:relative;z-index:1}.login-visual{min-height:100vh;padding:36px 48px;display:flex;flex-direction:column;position:relative;overflow:hidden;background:linear-gradient(130deg,#07110e,#040807 76%);border-right:1px solid rgba(38,247,197,.12)}.login-visual::after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(38,247,197,.08);border-radius:50%;right:-190px;bottom:-200px;box-shadow:0 0 0 70px rgba(38,247,197,.018),0 0 0 140px rgba(38,247,197,.012)}.login-grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(38,247,197,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(38,247,197,.025) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,#000,transparent 85%);opacity:.55}.login-brand-lockup{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between}.login-brand-lockup img{width:206px}.login-brand-lockup>span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;color:#4f605a;letter-spacing:.14em}.login-message{position:relative;z-index:2;margin:auto 0 0;max-width:710px}.login-message h1{font-size:48px;line-height:1.06;margin:15px 0 18px;letter-spacing:-.05em}.login-message h1 em{font-style:normal;color:var(--accent)}.login-message p{max-width:640px;color:#7c8e88;font-size:14px;line-height:1.65;margin:0}.login-route-map{position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:7px;margin:52px 0 55px}.login-route-map>span{height:1px;background:linear-gradient(90deg,rgba(38,247,197,.1),rgba(38,247,197,.45),rgba(38,247,197,.1));position:relative}.login-route-map>span::after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--accent);top:-2px;animation:route-packet 2.4s ease-in-out infinite}@keyframes route-packet{from{left:0;opacity:0}20%{opacity:1}to{left:calc(100% - 5px);opacity:0}}.route-point{display:flex;flex-direction:column;align-items:center;min-width:56px}.route-point>i{width:9px;height:9px;border-radius:50%;background:#5b6b66;border:2px solid #0b1713;margin-bottom:9px;box-shadow:0 0 0 1px #33433d}.route-point b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;color:#8b9b96}.route-point small{font-size:7px;color:#45564f;margin-top:3px}.route-point.core img{width:36px;height:36px;margin-bottom:6px}.route-point.meta>i{background:var(--violet);box-shadow:0 0 0 1px rgba(139,92,246,.4)}.login-version{position:relative;z-index:2;margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:15px;border-top:1px solid rgba(255,255,255,.045);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;color:#4c5d57}.login-version span{display:flex;align-items:center;gap:7px}.login-version i{width:5px;height:5px;background:var(--accent);border-radius:50%}.login-version b{font-size:8px;font-weight:700}.login-form-panel{min-height:100vh;display:grid;place-items:center;padding:36px;background:rgba(5,10,9,.8)}.login-form-inner{width:min(390px,100%)}.mobile-login-logo{display:none}.login-form-inner h2{font-size:28px;margin:8px 0 8px}.login-form-inner>p{color:#71827c;font-size:12px;line-height:1.5;margin:0 0 23px}.signal-login-form{display:flex;flex-direction:column;gap:15px}.signal-login-form .form-row{margin:0}.signal-login-form input{height:45px}.login-submit{width:100%;height:44px;margin-top:4px;justify-content:space-between;padding:0 14px}.login-submit span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.08em}.login-submit b{font-size:16px}.login-security-note{margin-top:22px;padding:12px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.012);display:flex;gap:10px;align-items:flex-start}.login-security-note>i{width:7px;height:7px;border-radius:50%;background:var(--accent);margin-top:3px;box-shadow:0 0 7px rgba(38,247,197,.45)}.login-security-note span{display:flex;flex-direction:column}.login-security-note b{font-size:9px;color:#91a29c}.login-security-note small{font-size:8px;color:#53645e;margin-top:3px;line-height:1.4}

/* Installer */
.install-shell{min-height:100vh;display:grid;grid-template-columns:360px minmax(0,1fr);position:relative;z-index:1}.install-aside{min-height:100vh;padding:32px 30px;display:flex;flex-direction:column;background:linear-gradient(150deg,#07110e,#040807);border-right:1px solid rgba(38,247,197,.12);position:sticky;top:0}.install-logo{width:206px}.install-copy{margin-top:70px}.install-copy>span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent);font-size:8px;letter-spacing:.13em}.install-copy h1{font-size:34px;line-height:1.1;margin:10px 0 13px}.install-copy p{font-size:11px;color:#6f817a;line-height:1.6}.install-checklist{display:flex;flex-direction:column;gap:7px;margin-top:28px}.install-check{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.012)}.install-check>i{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-style:normal;font-size:9px}.install-check.ok>i{background:rgba(38,247,197,.08);color:var(--accent)}.install-check.bad>i{background:rgba(255,102,122,.09);color:var(--bad)}.install-check span{display:flex;flex-direction:column}.install-check b{font-size:9px;color:#8e9f99}.install-check small{font-size:7px;color:#4c5d57;margin-top:2px}.install-version{margin-top:auto;padding-top:15px;border-top:1px solid var(--line);display:flex;align-items:center;gap:7px;color:#52635d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}.install-version i{width:5px;height:5px;border-radius:50%;background:var(--accent)}.install-main{padding:38px;display:flex;align-items:flex-start;justify-content:center}.install-panel{width:min(760px,100%);border:1px solid var(--line);border-radius:14px;background:rgba(9,17,15,.94);padding:27px}.install-panel>h2{font-size:27px;margin:8px 0}.install-panel>p{color:#71827c;font-size:12px;margin:0 0 24px}.signal-install-form{display:flex;flex-direction:column;gap:18px}.install-section-title{display:flex;align-items:center;gap:10px;padding-top:5px}.install-section-title>span{width:28px;height:28px;border:1px solid rgba(38,247,197,.18);border-radius:8px;display:grid;place-items:center;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}.install-section-title>div{display:flex;flex-direction:column}.install-section-title b{font-size:11px;color:#a7b7b1}.install-section-title small{font-size:8px;color:#53645e;margin-top:2px}.signal-install-form .form-grid{gap:13px 15px}.signal-install-form input{height:42px}.install-success-mark{width:70px;height:70px;position:relative;margin-bottom:22px}.install-success-mark img{width:70px;height:70px}.install-success-mark i{position:absolute;right:-4px;bottom:-4px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#06110e;font-style:normal;font-weight:900;border:3px solid #0a1311}

/* Existing screens dark compatibility */
.signalos-app .page-head,.signalos-app .settings-page-head,.signalos-app .logs-head{margin-bottom:17px}.signalos-app .page-head h1,.signalos-app .settings-page-head h1{color:var(--text)}
.signalos-app .settings-card-title-row,.signalos-app .settings-section-head,.signalos-app .webhook-card-head,.signalos-app .settings-savebar,.signalos-app .clean-savebar,.signalos-app .table-card-head{border-color:var(--line)}
.signalos-app .integration-panel,.signalos-app .webhook-card,.signalos-app .soft-note,.signalos-app .code-form-note,.signalos-app .webhook-box,.signalos-app .copy-field,.signalos-app .compact-copy-field,.signalos-app .checks-card,.signalos-app .clean-checks-card,.signalos-app .check-action,.signalos-app .check-pill,.signalos-app .role-access-strip,.signalos-app .admin-modal-meta,.signalos-app .project-access-box{background:rgba(255,255,255,.014);border-color:var(--line);color:var(--text)}
.signalos-app .copy-field code,.signalos-app .compact-copy-field code,.signalos-app .webhook-url{background:#060d0b;color:#8fa39b;border-color:var(--line)}
.signalos-app .settings-status.ok{background:rgba(38,247,197,.08);color:var(--accent)}.signalos-app .settings-status.warn{background:rgba(245,189,82,.08);color:var(--warn)}.signalos-app .settings-status.muted{background:rgba(255,255,255,.025);color:#6d7e78}
.signalos-app .settings-savebar,.signalos-app .clean-savebar{background:#0b1512}.signalos-app .check-action:hover,.signalos-app .check-pill:hover{background:rgba(38,247,197,.04);border-color:rgba(38,247,197,.18)}
.signalos-app .admin-user-modal,.signalos-app .manual-scan-modal{color:var(--text)}.signalos-app .admin-modal-backdrop,.signalos-app .manual-scan-backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}
.signalos-app .admin-modal-close,.signalos-app .manual-scan-close{background:#101d19;border-color:var(--line);color:#8b9b96}.signalos-app .admin-users-table,.signalos-app .projects-table,.signalos-app .logs-table,.signalos-app .system-logs-table{background:transparent}
.signalos-app .project-name{color:#bdcbc6}.signalos-app .project-status,.signalos-app .project-stat-breakdown{color:#61726c}.signalos-app .status-dot.ok{background:var(--accent);box-shadow:0 0 0 4px rgba(38,247,197,.06)}
.signalos-app .logs-filter,.signalos-app .logs-filter-card,.signalos-app .logs-table-card{background:rgba(9,17,15,.94)}
.signalos-app pre{background:#060c0a!important;color:#8fa29b!important;border-color:var(--line)!important}
.signalos-app details,.signalos-app summary{color:inherit}.signalos-app .empty-state b{color:#a8b7b2}.signalos-app .empty-state span{color:#61726c}
.signalos-app .modal-kicker{color:var(--accent)}

/* Responsive */
@media(max-width:1280px){
  .module-status-grid.five{grid-template-columns:repeat(3,minmax(0,1fr))}
  .control-main-grid{grid-template-columns:1fr}.recent-signal-panel{min-height:330px}
  .registry-layout{grid-template-columns:1fr}.registry-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.topology-map{height:250px}
  .console-column-head,.live-event-row{grid-template-columns:62px 92px minmax(220px,1fr) 105px 82px}
}
@media(max-width:1080px){
  .control-hero{grid-template-columns:1fr 280px}.control-hero h1{font-size:36px}
  .control-metrics,.module-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-status-grid.five{grid-template-columns:repeat(2,minmax(0,1fr))}
  .signal-flow-line{overflow-x:auto;padding-bottom:5px}.flow-node{min-width:125px}.flow-link{min-width:40px}
  .analytics-core-grid{grid-template-columns:1fr}.analytics-core-card{min-height:120px}.analytics-two-col{grid-template-columns:1fr}
  .live-console-layout{grid-template-columns:1fr}.live-telemetry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .login-message h1{font-size:40px}.login-visual{padding:32px}.login-route-map{margin:42px 0}
}
@media(max-width:900px){
  :root{--sidebar:252px}
  .signalos-app .sidebar{position:fixed;transform:translateX(-104%);transition:transform .2s ease;box-shadow:12px 0 40px rgba(0,0,0,.45)}
  .sidebar-open .sidebar{transform:translateX(0)}.sidebar-open .sidebar-scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(3px);z-index:70}.sidebar-close{display:grid;place-items:center}.mobile-nav-toggle{display:block}
  .signalos-app .main{margin-left:0;width:100%;padding:0 0 10px}.signal-topbar{padding:0 16px}.workspace-body{padding:20px 17px 0}
  .topbar-right .topbar-chip:first-child{display:none}
  .control-hero{grid-template-columns:1fr;min-height:0;padding:25px}.core-visual{display:none}
  .engine-stack{grid-template-columns:1fr 1fr}.signal-foundation-panel{grid-template-columns:1fr}.registry-aside{grid-template-columns:1fr 1fr}
  .login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-form-panel{min-height:100vh}.mobile-login-logo{display:block;margin-bottom:46px}.mobile-login-logo img{width:190px}.login-form-panel{background:radial-gradient(circle at 50% 0,rgba(38,247,197,.08),transparent 35%),#050908}
  .install-shell{grid-template-columns:1fr}.install-aside{min-height:auto;position:static;padding:24px}.install-copy{margin-top:35px}.install-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.install-version{margin-top:26px}.install-main{padding:20px}
}
@media(max-width:700px){
  .workspace-body{padding:17px 12px 0}.signal-topbar{height:52px;padding:0 12px}.signal-breadcrumb b{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-chip.mono{display:none}
  .signal-page-head{flex-direction:column;gap:12px}.signal-page-head h1{font-size:27px}.signal-head-actions{padding-top:0;width:100%}.signal-head-actions .btn{flex:1}
  .control-hero{padding:20px}.control-hero h1{font-size:31px}.control-metrics,.module-status-grid,.module-status-grid.five{grid-template-columns:1fr 1fr}.control-metrics article{min-height:112px}.engine-stack{grid-template-columns:1fr}.engine-card{min-height:295px}
  .signal-flow-head{align-items:flex-start;gap:10px}.engine-chip{display:none}.signal-flow-card{padding:13px}.signal-foundation-panel{padding:15px}.foundation-checks{grid-template-columns:1fr}
  .connection-grid{grid-template-columns:1fr}.registry-aside{grid-template-columns:1fr}.integration-summary-strip{grid-template-columns:1fr 1fr}.integration-summary-strip>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.integration-summary-strip>div:nth-child(4){border-top:1px solid var(--line)}
  .analytics-core-card{padding:12px}.analytics-ring{width:68px;height:68px;flex-basis:68px}.completeness-row{grid-template-columns:100px minmax(0,1fr) 40px}
  .live-console{min-height:600px}.console-toolbar{align-items:flex-start;flex-direction:column}.console-filters{width:100%}.console-filters label{flex:1}.console-filters select{width:100%}.console-column-head{display:none}.live-event-row{grid-template-columns:50px 82px minmax(0,1fr);gap:7px;padding:10px}.event-project{grid-column:2/3}.event-status{grid-column:3/4;grid-row:2;text-align:left}.event-copy small{white-space:normal}.live-telemetry{grid-template-columns:1fr}
  .section-title-row{align-items:flex-start}.section-title-row .count-chip{display:none}.signal-data-table th,.signal-data-table td{white-space:nowrap}
  .install-panel{padding:20px}.install-checklist{grid-template-columns:1fr}.install-main{padding:12px}.login-form-panel{padding:24px}.mobile-login-logo{margin-bottom:35px}
}
@media(max-width:480px){
  .control-metrics,.module-status-grid,.module-status-grid.five{grid-template-columns:1fr}.signal-metric-card{min-height:140px}.control-metrics article{min-height:100px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}
  .integration-summary-strip{grid-template-columns:1fr}.integration-summary-strip>div{border-left:0!important;border-top:1px solid var(--line)}.integration-summary-strip>div:first-child{border-top:0}
  .login-form-inner h2{font-size:25px}.signal-head-actions{flex-direction:column}.signal-head-actions .btn{width:100%}.install-aside{padding:20px}.install-logo{width:180px}.install-copy h1{font-size:29px}
}

/* SignalOS audit */
.audit-filter-card{margin:18px 0}.signal-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end}.signal-filter-grid label{display:flex;flex-direction:column;gap:7px}.signal-filter-grid label>span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.signal-filter-actions{display:flex;gap:8px}.audit-table td{vertical-align:top}.audit-key{display:block;margin-top:4px;color:var(--muted-2);font-size:9px}.user-avatar.mini{width:28px;height:28px;font-size:10px}.entity-cell.compact{gap:8px}.audit-details summary{cursor:pointer;color:var(--accent);font-size:11px;font-weight:750;list-style:none}.audit-details summary::-webkit-details-marker{display:none}.audit-details summary::after{content:' ↗';color:var(--muted)}.audit-details[open] summary{margin-bottom:8px}.audit-diff{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:8px;min-width:560px}.audit-diff section{border:1px solid var(--line);background:#050a08;border-radius:9px;overflow:hidden}.audit-diff section>span{display:block;padding:7px 9px;border-bottom:1px solid var(--line);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);font-size:8px;letter-spacing:.12em}.audit-diff pre{margin:0!important;padding:9px!important;max-height:220px;overflow:auto;border:0!important;border-radius:0!important;font-size:10px!important;line-height:1.45!important;white-space:pre-wrap;word-break:break-word}
@media(max-width:1050px){.signal-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.signal-filter-actions{align-self:end}}
@media(max-width:650px){.signal-filter-grid{grid-template-columns:1fr}.signal-filter-actions .btn{flex:1}.audit-diff{grid-template-columns:1fr;min-width:300px}}


/* signalos v1-3: legal footer compact */
.legal-footer{
  margin:10px 18px 0;
  border-top:1px solid rgba(255,255,255,.05);
  padding:10px 0 2px;
}
.legal-footer__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
}
.legal-footer__powered{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#6c7c76;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:9px;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.legal-footer__powered img{
  width:84px;
  height:auto;
  opacity:.9;
  filter:drop-shadow(0 0 8px rgba(38,247,197,.05));
  flex:0 0 auto;
}
.legal-footer__copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:3px;
  max-width:760px;
}
.legal-footer__copy b{
  font-size:9px;
  line-height:1.45;
  color:#70807a;
  font-weight:600;
}
.legal-footer__copy span{
  font-size:8px;
  line-height:1.45;
  color:#8b9995;
}
@media (max-width:900px){
  .legal-footer{margin:10px 12px 0;padding-top:10px}
  .legal-footer__inner{gap:7px;padding:9px 12px}
}
@media (max-width:720px){
  .legal-footer__powered{font-size:8px;gap:7px}
  .legal-footer__powered img{width:74px}
  .legal-footer__copy b{font-size:8px}
  .legal-footer__copy span{font-size:7px}
}

/* signalos v1-6: dark form fixes */
.signalos-app .toggle-line,
.signalos-app .compact-toggle{
  background:#07100e;
  border-color:var(--line-strong);
  color:#b9c8c3;
}
.signalos-app .toggle-line:hover,
.signalos-app .compact-toggle:hover{
  border-color:rgba(38,247,197,.24);
  background:#091512;
}
.signalos-app .toggle-line input[type="checkbox"],
.signalos-app .compact-toggle input[type="checkbox"]{
  accent-color:var(--accent);
}
.signalos-app .integration-mini-title{
  background:rgba(255,255,255,.015);
  border-color:var(--line);
  color:var(--text);
}
.signalos-app .integration-mini-title b{color:#c9d8d3}
.signalos-app .integration-mini-title span{color:var(--muted)}

/* signalos v1-7: footer stays at viewport bottom on short pages, flows after content on long pages */
.signalos-app .main{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.signalos-app .workspace-body{
  flex:1 0 auto;
}
.signalos-app .legal-footer{
  flex:0 0 auto;
  margin-top:10px;
  margin-bottom:0;
}

/* signalos v1-8: modular projects */
.project-modules-card{padding:20px 24px}
.project-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.project-module-option{position:relative;display:grid!important;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:92px;padding:14px 15px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.012);cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.project-module-option:hover{border-color:rgba(38,247,197,.20);background:rgba(38,247,197,.025);transform:translateY(-1px)}
.project-module-option.conversion:hover{border-color:rgba(139,92,246,.24);background:rgba(139,92,246,.025)}
.project-module-option.selected{border-color:rgba(38,247,197,.32);background:linear-gradient(120deg,rgba(38,247,197,.075),rgba(38,247,197,.015));box-shadow:inset 0 0 0 1px rgba(38,247,197,.03)}
.project-module-option.selected.conversion{border-color:rgba(139,92,246,.34);background:linear-gradient(120deg,rgba(139,92,246,.08),rgba(139,92,246,.015));box-shadow:inset 0 0 0 1px rgba(139,92,246,.035)}
.project-module-option>input{position:absolute;opacity:0;pointer-events:none}
.project-module-icon{width:52px;height:52px;border:1px solid rgba(38,247,197,.18);border-radius:10px;display:grid;place-items:center;background:rgba(38,247,197,.045);color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:900;letter-spacing:.08em}
.project-module-icon.conversion{border-color:rgba(139,92,246,.20);background:rgba(139,92,246,.055);color:#b49aff}
.project-module-copy{min-width:0;display:flex;flex-direction:column;gap:5px}.project-module-copy b{font-size:14px;color:#d8e5e0}.project-module-copy small{max-width:460px;font-size:10px;line-height:1.5;color:#687a73}
.project-module-state{align-self:flex-start;min-width:64px;padding:5px 7px;border:1px solid var(--line);border-radius:6px;color:#4c5e57;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.project-module-option.selected .project-module-state{border-color:rgba(38,247,197,.16);background:rgba(38,247,197,.06);color:var(--accent)}
.project-module-option.selected.conversion .project-module-state{border-color:rgba(139,92,246,.18);background:rgba(139,92,246,.07);color:#b49aff}
.module-picker-note{margin-top:10px;color:#556760;font-size:9px;line-height:1.45}
.signalos-app .settings-status.foundation{background:rgba(139,92,246,.08);color:#b49aff;border:1px solid rgba(139,92,246,.16)}
.capi-project-card{border-color:rgba(139,92,246,.14)!important}.capi-project-ready{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid rgba(139,92,246,.12);border-radius:9px;background:rgba(139,92,246,.025);margin-bottom:13px}.capi-project-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:9px;border:1px solid rgba(139,92,246,.2);color:#b49aff;background:rgba(139,92,246,.05);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:900;letter-spacing:.08em}.capi-project-ready>div{display:flex;flex-direction:column;gap:4px}.capi-project-ready b{font-size:11px;color:#bdcbc6}.capi-project-ready small{font-size:9px;color:#60716b;line-height:1.45}.capi-pill{border-color:rgba(139,92,246,.18)!important}.capi-pill:hover{border-color:rgba(139,92,246,.34)!important;background:rgba(139,92,246,.05)!important}
.project-module-badges{display:flex;align-items:center;gap:5px;margin-top:6px;flex-wrap:wrap}.project-module-badge{display:inline-flex;align-items:center;min-height:18px;padding:2px 6px;border:1px solid rgba(38,247,197,.15);border-radius:5px;background:rgba(38,247,197,.045);color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.project-module-badge.capi{border-color:rgba(139,92,246,.17);background:rgba(139,92,246,.05);color:#b49aff}.module-off{color:#41514b;font-size:9px}
@media(max-width:980px){.project-module-grid{grid-template-columns:1fr}.project-module-option{grid-template-columns:48px minmax(0,1fr) auto}.project-module-icon{width:48px;height:48px}}
@media(max-width:620px){.project-module-option{grid-template-columns:42px minmax(0,1fr);padding:12px}.project-module-icon{width:42px;height:42px}.project-module-state{grid-column:2;justify-self:start}.project-modules-card{padding:17px}}

/* signalos v1-9: Meta CAPI connection */
.meta-connect-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:12px;align-items:start}
.meta-connect-card{padding:18px}
.meta-connect-fields{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:13px;margin-top:16px}
.meta-full-field{grid-column:1/-1}
.meta-connect-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:17px;padding-top:14px;border-top:1px solid rgba(142,174,164,.08)}
.capi-test-button{background:linear-gradient(90deg,var(--violet),#a886ff);border-color:transparent;color:#09070e}
.capi-test-button:hover{filter:brightness(1.06)}
.meta-connect-aside{display:flex;flex-direction:column;gap:12px}
.meta-steps-card,.meta-telemetry-card{padding:16px}
.meta-steps-card h3{margin:7px 0 13px}
.meta-connect-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.meta-connect-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;padding:10px;border:1px solid rgba(142,174,164,.08);border-radius:9px;background:rgba(255,255,255,.012)}
.meta-connect-steps li>span{width:28px;height:28px;border:1px solid rgba(139,92,246,.24);border-radius:7px;display:grid;place-items:center;color:#b49aff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}
.meta-connect-steps li div{display:flex;flex-direction:column;min-width:0}.meta-connect-steps b{font-size:10px;color:#aebdb8}.meta-connect-steps small{font-size:8px;color:#566760;line-height:1.45;margin-top:3px}
.meta-telemetry-card dl{margin:10px 0 0;display:flex;flex-direction:column}
.meta-telemetry-card dl>div{display:grid;grid-template-columns:118px minmax(0,1fr);gap:8px;padding:9px 0;border-top:1px solid rgba(142,174,164,.07)}
.meta-telemetry-card dl>div:first-child{border-top:0}.meta-telemetry-card dt{font-size:8px;color:#53645e}.meta-telemetry-card dd{margin:0;text-align:right;font-size:8px;color:#83938e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meta-connection-error{margin-top:14px;padding:11px 12px;border:1px solid rgba(255,102,122,.18);border-radius:9px;background:rgba(255,102,122,.04);display:flex;flex-direction:column;gap:4px}.meta-connection-error b{font-size:9px;color:#e78c98}.meta-connection-error span{font-size:9px;line-height:1.45;color:#9e6d75;word-break:break-word}
.meta-next-card{margin-top:12px;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:16px}.meta-next-card h3{margin:5px 0}.meta-next-card p{font-size:9px;color:#60716b;margin:0;max-width:760px;line-height:1.5}
@media(max-width:1050px){.meta-connect-layout{grid-template-columns:1fr}.meta-connect-aside{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:720px){.meta-connect-fields{grid-template-columns:1fr}.meta-full-field{grid-column:auto}.meta-connect-aside{display:flex}.meta-connect-actions{flex-direction:column}.meta-connect-actions .btn{width:100%}.meta-next-card{align-items:flex-start;flex-direction:column}}
.capi-project-links{display:flex;align-items:center;gap:14px;margin-top:12px}.capi-project-links .muted-link{color:#60716b}.capi-project-links .muted-link:hover{color:#9bada7}

/* signalos v1-10: module-first project creation flow */
.project-edit-head{
  align-items:center;
  padding:2px 0 4px;
}
.project-flow-kicker,
.settings-step-label{
  display:block;
  margin-bottom:6px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#50625b;
}
.project-flow-kicker{color:var(--accent)}
.project-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.project-head-actions .btn{min-height:38px}
.project-head-actions [data-project-save]:disabled{
  opacity:.38;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}
.project-modules-first{
  border-color:rgba(38,247,197,.14)!important;
  background:linear-gradient(125deg,rgba(38,247,197,.035),rgba(9,17,15,.96) 36%,rgba(139,92,246,.018))!important;
}
.project-modules-first .settings-card-title-row{margin-bottom:14px}
.project-config-reveal{
  display:grid;
  gap:14px;
  min-width:0;
  animation:project-config-in .18s ease-out both;
}
.project-config-reveal[hidden]{display:none!important}
.project-basic-card{margin-top:0}
@keyframes project-config-in{
  from{opacity:0;transform:translateY(5px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:720px){
  .project-edit-head{align-items:stretch}
  .project-head-actions{justify-content:flex-start}
  .project-head-actions .btn{flex:1 1 auto}
  .project-head-actions [data-project-save]{flex:1 1 100%}
}

/* signalos v1-11: inline Meta CAPI settings in project wizard */
.inline-capi-fields{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,.42fr);
  gap:12px;
  margin-top:14px;
}
.inline-capi-full{grid-column:1 / -1}
.inline-capi-actions{
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid rgba(142,174,164,.08);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}
.inline-capi-status-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
  color:#60716b;
  font-size:9px;
  line-height:1.45;
}
.inline-capi-status-copy b{color:#8ea19a;font-weight:600}
.inline-capi-actions .capi-project-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  margin:0;
}
.inline-capi-actions .capi-test-button{white-space:nowrap}
.capi-project-card .meta-connection-error{margin-top:12px}
@media(max-width:820px){
  .inline-capi-fields{grid-template-columns:1fr}
  .inline-capi-full{grid-column:auto}
  .inline-capi-actions{align-items:stretch;flex-direction:column}
  .inline-capi-actions .capi-project-links{justify-content:flex-start}
}
