/* AdsThatSell — Enterprise + Aggressive (White/Black/Red)
   Drop-in replacement for public/assets/css/app.css
*/

:root{
  /* Core */
  --bg:#ffffff;
  --panel:#ffffff;
  --panel2:#f9fafb;
  --text:#0b0f19;
  --muted:#667085;
  --muted2:#98a2b3;

  /* Brand */
  --red:#e10600;
  --redHover:#c90400;

  /* UI */
  --border:#e5e7eb;
  --border2:#d0d5dd;
  --shadow: 0 8px 28px rgba(16,24,40,.08);
  --shadow2: 0 2px 12px rgba(16,24,40,.06);

  --radius:14px;
  --radius2:10px;

  --focus: rgba(225,6,0,.22);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 500px at 20% 0%, rgba(225,6,0,.06), transparent 60%),
    radial-gradient(700px 380px at 90% 10%, rgba(0,0,0,.04), transparent 60%),
    var(--bg);
}

a{color:var(--red); text-decoration:none}
a:hover{text-decoration:underline}

.container{max-width:1100px; margin:0 auto; padding:26px}

/* Top Nav */
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  border-radius: var(--radius);
  box-shadow: var(--shadow2);
}

.nav .left{display:flex; align-items:center; gap:12px}
.nav img{height:34px}

.nav .links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.nav .links a.btn{padding:9px 12px}

/* Badges */
.badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--panel2);
  color:var(--muted);
  font-size:12px;
}

/* Cards */
.card{
  margin-top:18px;
  padding:18px;
  border:1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow2);
}

.card.soft{
  background: var(--panel2);
}

/* Typography */
.h1{font-size:30px; letter-spacing:-.02em; margin:0 0 6px 0}
.p{color:var(--muted); margin:0 0 12px 0; line-height:1.55}
.label{font-size:12px; color:var(--muted); margin-bottom:6px; font-weight:600}
.small{font-size:12px; color:var(--muted)}

/* Layout Helpers */
.grid{display:grid; gap:14px}
.grid.cols-2{grid-template-columns: repeat(2, minmax(0,1fr))}
.grid.cols-3{grid-template-columns: repeat(3, minmax(0,1fr))}
.grid.cols-4{grid-template-columns: repeat(4, minmax(0,1fr))}
@media (max-width: 980px){ .grid.cols-3,.grid.cols-4{grid-template-columns: repeat(2, minmax(0,1fr))} }
@media (max-width: 680px){ .grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns: 1fr} }

.row{display:flex; gap:12px; align-items:center}
.row > *{flex:1}

hr.sep{border:none; border-top:1px solid var(--border); margin:16px 0}

/* Inputs */
.input, select, textarea{
  width:100%;
  padding:11px 12px;
  border-radius:12px;
  border:1px solid var(--border2);
  background:#fff;
  color:var(--text);
  outline:none;
  transition: box-shadow .15s ease, border-color .15s ease;
}
textarea{min-height:100px; resize:vertical}
.input:focus, select:focus, textarea:focus{
  border-color: var(--red);
  box-shadow: 0 0 0 4px var(--focus);
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid var(--border2);
  background:#fff;
  color:var(--text);
  padding:10px 14px;
  border-radius:12px;
  cursor:pointer;
  transition: transform .05s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease;
  text-decoration:none !important;
  font-weight:700;
}

.btn:hover{
  background:#fff;
  border-color:#cbd5e1;
  box-shadow: 0 6px 18px rgba(16,24,40,.08);
}
.btn:active{transform: translateY(1px)}

.btn.primary{
  background: var(--red);
  border-color: var(--red);
  color:#fff;
  box-shadow: 0 10px 24px rgba(225,6,0,.18);
}
.btn.primary:hover{
  background: var(--redHover);
  border-color: var(--redHover);
  box-shadow: 0 12px 26px rgba(225,6,0,.22);
}
.btn.ghost{
  background: transparent;
}
.btn.danger{
  background:#fff;
  border-color: rgba(225,6,0,.45);
  color: var(--red);
}
.btn.danger:hover{
  border-color: var(--red);
  box-shadow: 0 10px 20px rgba(225,6,0,.08);
}

/* KPI */
.kpi{font-size:12px; color:var(--muted)}
.kpi strong{color:var(--text); font-size:22px; display:inline-block; margin-bottom:2px}

/* Toast */
.toast{
  position: fixed;
  right: 18px;
  bottom: 18px;
  max-width: 380px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.96);
  box-shadow: var(--shadow);
  display:none;
  font-weight:600;
}
.toast.show{display:block}
.toast.ok{border-color: rgba(34,197,94,.35)}
.toast.err{border-color: rgba(225,6,0,.35)}

/* Table */
.table{width:100%; border-collapse:collapse; overflow:hidden; border-radius:12px}
.table th,.table td{
  border-bottom:1px solid var(--border);
  padding:12px 10px;
  text-align:left;
  font-size:13px;
  vertical-align:top;
}
.table thead th{
  color: var(--muted);
  font-weight:800;
  background: var(--panel2);
}
.table tr:hover td{background: rgba(225,6,0,.02)}
.mono{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; font-size:12px; color: var(--muted)}

/* Utility highlights */
.callout{
  border:1px solid rgba(225,6,0,.25);
  background: rgba(225,6,0,.06);
  border-radius: var(--radius);
  padding: 14px;
}