:root {
  --bg: #090d18;
  --bg-2: #0d1324;
  --panel: rgba(19, 27, 48, 0.78);
  --panel-strong: #141d33;
  --panel-soft: #10182b;
  --border: rgba(255,255,255,.08);
  --border-strong: rgba(255,255,255,.13);
  --text: #f6f8ff;
  --muted: #8f9ab8;
  --subtle: #65708f;
  --violet: #8b5cf6;
  --violet-2: #6d5dfc;
  --mint: #56e7b0;
  --cyan: #5ee7f7;
  --amber: #ffca6b;
  --danger: #ff6b81;
  --shadow: 0 22px 60px rgba(0,0,0,.28);
  --radius-xl: 26px;
  --radius-lg: 20px;
  --radius-md: 15px;
  --radius-sm: 11px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 12% 12%, rgba(139,92,246,.13), transparent 31%),
    radial-gradient(circle at 80% 6%, rgba(86,231,176,.08), transparent 27%),
    linear-gradient(180deg, #080c16 0%, #0b1120 56%, #080c16 100%);
}
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
.noise {
  position: fixed; inset: 0; opacity: .025; pointer-events: none; z-index: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}

.shell { position: relative; z-index: 1; min-height: 100vh; display: grid; grid-template-columns: 250px 1fr; }
.sidebar {
  position: sticky; top: 0; height: 100vh; padding: 26px 18px; border-right: 1px solid var(--border);
  background: rgba(8,12,23,.74); backdrop-filter: blur(22px); display: flex; flex-direction: column; gap: 28px;
}
.brand { display: flex; align-items: center; gap: 12px; padding: 0 8px; }
.brand-mark { width: 42px; height: 42px; border-radius: 13px; position: relative; background: url("brand/dealgravity-mark.png") center/contain no-repeat; filter: drop-shadow(0 10px 24px rgba(72,91,255,.30)); flex: 0 0 auto; }
.brand-mark:after { content: none; }
.brand strong { font-size: 17px; letter-spacing: -.02em; }
.brand span { color: var(--muted); display: block; font-size: 11px; margin-top: 2px; }

.nav { display: grid; gap: 6px; }
.nav-label { color: var(--subtle); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; padding: 0 12px 6px; }
.nav button { border: 0; color: #9da8c6; background: transparent; padding: 11px 12px; border-radius: 12px; display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; transition: .2s; }
.nav button:hover { color: white; background: rgba(255,255,255,.045); }
.nav button.active { color: white; background: linear-gradient(90deg,rgba(139,92,246,.19),rgba(86,231,176,.07)); border: 1px solid rgba(139,92,246,.19); }
.nav .icon { width: 18px; display: inline-grid; place-items: center; opacity: .86; }

.sidebar-card { margin-top: auto; padding: 16px; border: 1px solid var(--border); border-radius: 17px; background: linear-gradient(145deg, rgba(139,92,246,.12), rgba(86,231,176,.05)); }
.sidebar-card p { color: var(--muted); font-size: 12px; line-height: 1.5; margin: 7px 0 13px; }
.sidebar-card strong { font-size: 13px; }
.mini-progress { height: 6px; border-radius: 20px; background: rgba(255,255,255,.07); overflow: hidden; }
.mini-progress span { display: block; width: 68%; height: 100%; background: linear-gradient(90deg,var(--violet),var(--mint)); border-radius: inherit; }
.user { display: flex; align-items: center; gap: 10px; padding: 6px 8px 0; }
.avatar { width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(145deg,#d8dbff,#8b5cf6); color: #0c1020; display:grid; place-items:center; font-weight: 900; font-size: 12px; }
.user strong { font-size: 12px; display:block; }.user span { color: var(--muted); font-size: 11px; }

.main { min-width: 0; }
.topbar { height: 72px; display: flex; align-items: center; justify-content: space-between; padding: 0 34px; border-bottom: 1px solid var(--border); background: rgba(8,12,23,.46); backdrop-filter: blur(16px); position: sticky; top:0; z-index:20; }
.breadcrumb { color: var(--muted); font-size: 13px; }.breadcrumb strong { color: white; }
.top-actions { display: flex; gap: 10px; }
.btn { border: 1px solid var(--border-strong); background: rgba(255,255,255,.035); color: white; padding: 10px 14px; border-radius: 12px; font-weight: 700; font-size: 12px; transition: .2s; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.btn:hover { transform: translateY(-1px); background: rgba(255,255,255,.06); }
.btn.primary { border-color: transparent; background: linear-gradient(135deg,var(--violet-2),#a764f8); box-shadow: 0 10px 30px rgba(109,93,252,.25); }
.btn.mint { color:#07130f; border-color: transparent; background: linear-gradient(135deg,var(--mint),#8df0c9); }
.btn.ghost { border-color: transparent; color: var(--muted); }
.btn.small { padding: 8px 10px; font-size: 11px; border-radius: 10px; }

.content { padding: 32px 34px 60px; max-width: 1600px; margin:0 auto; }
.page-title-row { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:24px; }
.eyebrow { color: var(--mint); text-transform: uppercase; letter-spacing:.16em; font-weight:800; font-size:10px; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size: 30px; letter-spacing:-.045em; margin-bottom:7px; }
.subtitle { color:var(--muted); font-size:13px; margin:0; max-width:680px; line-height:1.55; }

.grid-kpi { display:grid; grid-template-columns: repeat(4,1fr); gap:14px; margin-bottom:18px; }
.card { border:1px solid var(--border); background: linear-gradient(180deg,rgba(20,29,51,.76),rgba(14,21,39,.72)); backdrop-filter: blur(16px); border-radius:var(--radius-lg); box-shadow:var(--shadow); }
.kpi { padding:18px; min-height:125px; position:relative; overflow:hidden; }
.kpi:after { content:""; position:absolute; width:100px; height:100px; border-radius:50%; right:-35px; top:-38px; background: radial-gradient(circle,rgba(139,92,246,.14),transparent 67%); }
.kpi-head { display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:11px; }
.kpi-icon { width:31px; height:31px; border:1px solid var(--border); background:rgba(255,255,255,.035); border-radius:10px; display:grid; place-items:center; }
.kpi-value { margin:15px 0 4px; font-weight:850; font-size:25px; letter-spacing:-.04em; }
.kpi-foot { color:var(--subtle); font-size:11px; }.up { color:var(--mint); font-weight:700; }

.dashboard-grid { display:grid; grid-template-columns: minmax(0,1.65fr) minmax(310px,.75fr); gap:18px; align-items:start; }
.panel { padding:20px; }
.panel-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.panel-title h3 { font-size:14px; margin:0; }.panel-title span { color:var(--muted); font-size:11px; }
.table { width:100%; border-collapse:collapse; }
.table th { font-size:10px; color:var(--subtle); text-transform:uppercase; letter-spacing:.09em; text-align:left; padding:10px 8px; border-bottom:1px solid var(--border); }
.table td { padding:14px 8px; border-bottom:1px solid rgba(255,255,255,.05); font-size:12px; vertical-align:middle; }
.table tr:last-child td { border-bottom:0; }.table tbody tr { transition:.18s; }.table tbody tr:hover { background:rgba(255,255,255,.025); }
.company-cell { display:flex; gap:10px; align-items:center; }.logo-pill { width:33px; height:33px; border-radius:10px; background:linear-gradient(145deg,#222e4e,#101728); display:grid; place-items:center; border:1px solid var(--border); color:#d9ddff; font-weight:800; font-size:11px; }
.company-cell strong { display:block; font-size:12px; }.company-cell span { color:var(--muted); font-size:10px; }
.badge { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border-radius:999px; font-size:10px; font-weight:800; background:rgba(255,255,255,.055); color:#cbd3eb; border:1px solid var(--border); }
.badge.hot { color:#91ffd4; border-color:rgba(86,231,176,.2); background:rgba(86,231,176,.08); }.badge.warm { color:#ffd58a; border-color:rgba(255,202,107,.18); background:rgba(255,202,107,.07); }
.score { width:39px; height:39px; border-radius:50%; display:grid; place-items:center; font-weight:900; font-size:11px; background: conic-gradient(var(--mint) calc(var(--score)*1%), rgba(255,255,255,.07) 0); position:relative; }.score:after { content:""; position:absolute; inset:4px; background:#121a2e; border-radius:50%; }.score span { z-index:1; }

.action-card { padding:20px; background: radial-gradient(circle at 95% 0,rgba(86,231,176,.12),transparent 36%),linear-gradient(180deg,rgba(20,29,51,.9),rgba(13,20,37,.9)); }
.action-top { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }.spark { width:36px; height:36px; border-radius:12px; display:grid; place-items:center; color:#08140f; background:linear-gradient(135deg,var(--mint),#b7f9df); font-size:16px; }
.action-card h3 { margin:17px 0 8px; font-size:18px; letter-spacing:-.025em; }.action-card p { color:var(--muted); line-height:1.6; font-size:12px; }
.insight { margin:14px 0; padding:13px; border:1px solid var(--border); background:rgba(255,255,255,.025); border-radius:13px; }.insight strong { font-size:11px; display:block; margin-bottom:5px; }.insight span { color:var(--muted); font-size:11px; line-height:1.45; display:block; }
.activity { display:grid; gap:11px; }.activity-item { display:grid; grid-template-columns:29px 1fr auto; gap:10px; align-items:center; }.activity-icon { width:29px;height:29px;border-radius:9px;background:rgba(139,92,246,.09);border:1px solid rgba(139,92,246,.16);display:grid;place-items:center;font-size:12px; }.activity-item strong { display:block;font-size:11px; }.activity-item span { color:var(--muted);font-size:10px; }.activity-item time { color:var(--subtle);font-size:9px; }

.builder-layout { display:grid; grid-template-columns: 320px minmax(0,1fr); gap:18px; }
.builder-sidebar { padding:18px; position:sticky; top:91px; max-height:calc(100vh - 112px); overflow:auto; }
.form-group { margin-bottom:14px; }.form-group label { display:block; color:#b4bdd5; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; margin-bottom:7px; }
.input, textarea.input, select.input { width:100%; border:1px solid var(--border); background:#0c1426; color:white; border-radius:11px; padding:10px 11px; outline:none; transition:.2s; font-size:12px; }.input:focus { border-color:rgba(139,92,246,.7); box-shadow:0 0 0 3px rgba(139,92,246,.1); }.input::placeholder { color:#58627d; } textarea.input { resize:vertical; min-height:74px; line-height:1.45; }
.tabs { display:flex; gap:4px; padding:4px; background:rgba(255,255,255,.03); border:1px solid var(--border); border-radius:12px; margin-bottom:16px; }.tabs button { flex:1; border:0; color:var(--muted); background:transparent; border-radius:9px; padding:8px; font-size:10px; font-weight:800; }.tabs button.active { background:rgba(255,255,255,.07); color:white; }
.block-list { display:grid; gap:8px; }.block-btn { border:1px solid var(--border); color:#d6dcf1; background:rgba(255,255,255,.025); padding:10px; border-radius:11px; text-align:left; font-size:11px; display:flex; justify-content:space-between; align-items:center; }.block-btn:hover { border-color:rgba(139,92,246,.35); background:rgba(139,92,246,.06); }.block-btn span:last-child { color:var(--subtle); }

.preview-shell { border:1px solid var(--border); border-radius:24px; overflow:hidden; background:#f8f8fb; color:#121525; min-height:780px; box-shadow:var(--shadow); }
.preview-browser { height:48px; display:flex; align-items:center; gap:7px; padding:0 14px; background:#12192a; color:#b9c1d9; }.dot { width:8px;height:8px;border-radius:50%;background:#44506d; }.urlbar { margin-left:10px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.04); border-radius:8px; height:28px; flex:1; max-width:480px; display:flex;align-items:center;padding:0 10px;font-size:10px;color:#8f9ab8; }.preview-top { display:flex; align-items:center; justify-content:space-between; padding:20px 38px; border-bottom:1px solid #e8e9ef; background:rgba(255,255,255,.94); position:sticky; top:0; z-index:4; }.client-brand { display:flex;gap:9px;align-items:center;font-weight:900;font-size:13px; }.client-logo { width:28px;height:28px;border-radius:9px;background:linear-gradient(145deg,#11182a,#765cf6);display:grid;place-items:center;color:white;font-size:9px; }.preview-nav { display:flex;gap:18px;color:#72788d;font-size:10px;font-weight:700; }.buyer-btn { border:0;background:#10162a;color:white;padding:9px 13px;border-radius:9px;font-size:10px;font-weight:800; }
.deal-hero { padding:66px 54px 52px; background: radial-gradient(circle at 86% 17%,rgba(139,92,246,.15),transparent 30%),linear-gradient(155deg,#fcfcff,#f2f0ff); }.deal-hero .tag { display:inline-flex;align-items:center;gap:7px;border:1px solid #dedcf0;background:rgba(255,255,255,.6);border-radius:999px;padding:6px 9px;color:#6f668f;font-size:9px;font-weight:800; }.deal-hero h2 { margin:18px 0 13px; max-width:730px; font-size:38px; line-height:1.02; letter-spacing:-.055em; }.deal-hero p { max-width:660px;color:#687087;font-size:13px;line-height:1.7;margin-bottom:22px; }.hero-actions { display:flex; gap:9px; }.hero-btn { border:1px solid #d8dae4;background:white;color:#22283a;padding:11px 15px;border-radius:10px;font-size:10px;font-weight:850; }.hero-btn.primary { color:white;border-color:#6d5dfc;background:linear-gradient(135deg,#6d5dfc,#925df6);box-shadow:0 10px 25px rgba(109,93,252,.22); }
.buyer-section { padding:50px 54px; }.buyer-section.alt { background:#f0f2f8; }.section-kicker { color:#705be4; text-transform:uppercase;letter-spacing:.14em;font-size:9px;font-weight:900;margin-bottom:8px; }.buyer-section h3 { font-size:24px; letter-spacing:-.04em; margin-bottom:9px; }.buyer-section > p { color:#72798d;font-size:12px;line-height:1.6;max-width:690px; }
.problem-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:21px; }.problem-card { border:1px solid #e0e3eb;background:white;border-radius:14px;padding:17px; }.problem-icon { width:31px;height:31px;border-radius:9px;background:#f1edff;color:#6d5dfc;display:grid;place-items:center;font-size:13px;margin-bottom:13px; }.problem-card strong { display:block;font-size:12px;margin-bottom:6px; }.problem-card span { color:#7a8194;font-size:10px;line-height:1.5;display:block; }
.pricing-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:21px; }.price-card { border:1px solid #dfe2ec;background:white;border-radius:16px;padding:19px;position:relative;cursor:pointer;transition:.2s; }.price-card:hover,.price-card.selected { border-color:#8b5cf6;box-shadow:0 13px 36px rgba(80,57,160,.1);transform:translateY(-2px); }.price-card.selected:after { content:"Ausgewählt";position:absolute;right:12px;top:12px;padding:5px 7px;border-radius:999px;color:#0b231a;background:#c4f9e3;font-size:8px;font-weight:900; }.price-card .plan { color:#6f7689;font-size:10px;font-weight:800; }.price-card .price { margin:10px 0 4px;font-size:24px;font-weight:950;letter-spacing:-.04em; }.price-card .price small { font-size:9px;color:#858b9b;font-weight:700; }.price-card ul { list-style:none;padding:0;margin:14px 0 0;display:grid;gap:7px;color:#747b8d;font-size:9px; }.price-card li:before { content:"✓";color:#16a36b;font-weight:900;margin-right:6px; }.popular { position:absolute;top:-9px;left:17px;background:linear-gradient(135deg,#6d5dfc,#935df6);color:white;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900; }
.roi { margin-top:20px;display:grid;grid-template-columns:.9fr 1.1fr;gap:16px; }.roi-controls { border:1px solid #e0e3ea;background:white;border-radius:15px;padding:18px; }.roi-field { margin-bottom:15px; }.roi-field label { display:flex;justify-content:space-between;color:#5f6678;font-size:9px;font-weight:800;margin-bottom:8px; }.roi-field input[type=range] { width:100%;accent-color:#745ef4; }.roi-result { border-radius:15px;padding:23px;background:linear-gradient(145deg,#12192b,#1c2640);color:white;display:flex;flex-direction:column;justify-content:center; }.roi-result span { color:#9ba7c2;font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:900; }.roi-number { font-size:34px;font-weight:950;letter-spacing:-.055em;margin:8px 0 5px; }.roi-result p { color:#aeb7cd;font-size:10px;line-height:1.5;margin:0; }
.timeline { display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:21px; }.timeline-step { position:relative;padding-top:29px; }.timeline-step:before { content:"";position:absolute;top:12px;left:9px;right:-14px;height:2px;background:#dfe3ec; }.timeline-step:last-child:before { right:calc(100% - 10px); }.timeline-dot { position:absolute;top:7px;left:4px;width:12px;height:12px;border-radius:50%;background:#6d5dfc;box-shadow:0 0 0 4px #e9e6ff; }.timeline-step strong { display:block;font-size:10px;margin-bottom:4px; }.timeline-step span { color:#7d8496;font-size:9px;line-height:1.4;display:block; }
.cta-band { margin:0 54px 54px;border-radius:20px;padding:32px;background:radial-gradient(circle at 92% 0,rgba(86,231,176,.24),transparent 37%),linear-gradient(135deg,#10172a,#202b49);color:white;display:flex;align-items:center;justify-content:space-between;gap:20px; }.cta-band h3 { font-size:21px;margin-bottom:7px; }.cta-band p { color:#a9b3cb;font-size:10px;margin:0; }

.toast { position:fixed;right:24px;bottom:24px;background:#11192d;border:1px solid var(--border-strong);box-shadow:var(--shadow);padding:13px 15px;border-radius:13px;display:flex;gap:10px;align-items:center;z-index:50;animation:toastIn .25s ease; }.toast-dot { width:9px;height:9px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px rgba(86,231,176,.11); }.toast strong{display:block;font-size:11px}.toast span{display:block;color:var(--muted);font-size:10px;margin-top:2px}@keyframes toastIn{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}
.empty-state { padding:45px;text-align:center;color:var(--muted); }.empty-state .big { font-size:38px;margin-bottom:10px; }.empty-state strong { color:white;display:block;margin-bottom:5px; }

@media (max-width: 1100px) {
  .shell { grid-template-columns:78px 1fr; }.sidebar { padding:24px 12px; }.brand strong,.brand span,.nav button span:not(.icon),.nav-label,.sidebar-card,.user>div:last-child { display:none; }.brand { justify-content:center;padding:0; }.nav button { justify-content:center;padding:11px; }.grid-kpi { grid-template-columns:repeat(2,1fr); }.dashboard-grid { grid-template-columns:1fr; }.builder-layout { grid-template-columns:280px 1fr; }.deal-hero{padding:52px 38px 42px}.buyer-section{padding:42px 38px}.cta-band{margin:0 38px 42px}
}
@media (max-width: 780px) {
  .shell { display:block; }.sidebar { display:none; }.topbar { padding:0 16px;height:64px; }.content { padding:22px 16px 40px; }.page-title-row { align-items:flex-start;flex-direction:column; }.grid-kpi { grid-template-columns:1fr 1fr; }.builder-layout { grid-template-columns:1fr; }.builder-sidebar { position:static;max-height:none; }.problem-grid,.pricing-grid,.timeline,.roi { grid-template-columns:1fr; }.preview-top { padding:15px 20px; }.preview-nav { display:none; }.deal-hero { padding:42px 22px 35px; }.deal-hero h2{font-size:31px}.buyer-section{padding:36px 22px}.cta-band{margin:0 22px 35px;flex-direction:column;align-items:flex-start}.table-wrap{overflow:auto}.table{min-width:700px}
}

/* --- Self-hosted PHP/MySQL prototype additions --- */
.hidden { display:none !important; }
code { color:#c9bdff; background:rgba(139,92,246,.08); padding:2px 5px; border-radius:6px; }
.app-loading { min-height:100vh; display:flex; align-items:center; justify-content:center; gap:14px; color:#b8c1da; position:relative; z-index:2; }
.app-loading .brand-mark { animation:pulseMark 1.5s ease-in-out infinite; }
@keyframes pulseMark { 50% { transform:scale(.94); opacity:.72; } }
.login-page { display:grid; place-items:center; min-height:100vh; }
.login-wrap { position:relative; z-index:2; width:min(440px,calc(100% - 32px)); }
.login-card { padding:30px; }
.login-brand { padding:0; margin-bottom:34px; }
.login-card h1 { margin-top:8px; }
.login-form { margin-top:24px; }
.login-form .btn { width:100%; padding:12px 16px; }
.login-error { margin:18px 0 0; padding:11px 13px; border-radius:11px; background:rgba(255,107,129,.08); border:1px solid rgba(255,107,129,.22); color:#ff9bad; font-size:12px; }
.demo-hint { margin-top:18px; padding:13px; border:1px solid var(--border); border-radius:12px; color:var(--muted); font-size:11px; line-height:1.55; background:rgba(255,255,255,.025); }
.demo-hint strong { color:#dce2f5; }
.user a { color:var(--mint); }
.builder-status { display:flex; align-items:center; gap:10px; }
.save-state { color:var(--subtle); font-size:10px; }
.publish-toggle { display:flex; gap:9px; align-items:center; color:#bcc5dc; font-size:11px; cursor:pointer; }
.publish-toggle input { accent-color:var(--mint); }
.builder-note { color:var(--muted); font-size:10px; line-height:1.55; margin:14px 2px 2px; }
.pricing-editor { display:grid; gap:12px; }
.plan-editor { border:1px solid var(--border); border-radius:13px; padding:13px; background:rgba(255,255,255,.02); }
.plan-editor-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.plan-editor-head strong { font-size:11px; }
.plan-editor-head label { color:var(--muted); font-size:9px; display:flex; align-items:center; gap:6px; }
.plan-editor-head input { accent-color:var(--violet); }
.signal-row { display:flex; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--border); font-size:11px; }
.signal-row span { color:var(--muted); }
.signal-row strong { color:var(--mint); }
.analytic-bar { width:100%; border-radius:8px 8px 4px 4px; background:linear-gradient(180deg,rgba(139,92,246,.88),rgba(86,231,176,.52)); box-shadow:0 8px 26px rgba(139,92,246,.13); }
.modal-backdrop { position:fixed; inset:0; z-index:90; background:rgba(3,6,13,.76); backdrop-filter:blur(8px); display:grid; place-items:center; padding:18px; }
.modal { width:min(460px,100%); padding:22px; }
.modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px; }
.modal-head h3 { margin:5px 0 0; font-size:18px; }
.modal-close { border:1px solid var(--border); color:var(--muted); background:rgba(255,255,255,.03); width:32px; height:32px; border-radius:10px; font-size:18px; }
.fatal-error { max-width:720px; margin:120px auto; padding:30px; color:white; }
.toast-dot.error { background:var(--danger); box-shadow:0 0 0 4px rgba(255,107,129,.12); }

.public-deal-page { background:#eef1f7; color:#121525; }
.public-deal { max-width:1280px; margin:0 auto; min-height:100vh; background:#f8f8fb; box-shadow:0 0 80px rgba(31,37,56,.12); }
.public-deal .preview-top { top:0; }
.public-deal .cta-band { margin-bottom:0; transform:translateY(-20px); }
.public-toast { position:fixed; right:22px; bottom:22px; z-index:100; min-width:280px; max-width:390px; padding:14px 16px; border-radius:14px; color:white; background:#11192d; border:1px solid rgba(255,255,255,.1); box-shadow:0 22px 60px rgba(0,0,0,.24); }
.public-toast strong { display:block; font-size:12px; }
.public-toast span { display:block; margin-top:4px; color:#aeb7cd; font-size:10px; line-height:1.45; }
.public-toast[hidden] { display:none; }
.public-deal .price-card { user-select:none; }

@media (max-width:780px) {
  .builder-status { width:100%; justify-content:space-between; }
  .public-deal { box-shadow:none; }
  .public-toast { left:16px; right:16px; bottom:16px; min-width:0; }
}

/* ===== DealGravity Product Edition ===== */
.muted{color:var(--muted)}
.full-btn{width:100%;margin-top:14px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-grid .full{grid-column:1/-1}.textarea{resize:vertical;line-height:1.55}.toggle-field{display:flex;align-items:end}.toggle-field label,.mini-toggle{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.toggle-field input,.mini-toggle input{accent-color:var(--mint)}
.builder-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px}.back-link{border:0;background:transparent;color:var(--muted);padding:0;margin:0 0 14px;font-size:11px}.builder-status{max-width:460px;padding:12px 14px;border:1px solid var(--border);border-radius:15px;background:rgba(255,255,255,.025)}.builder-status>div:last-child{min-width:0}.builder-status strong{display:block;font-size:11px;margin-bottom:4px}.builder-status small{color:var(--muted);font-size:10px;line-height:1.45;display:block}.builder-tabs{display:flex;gap:7px;margin-bottom:14px;overflow:auto;padding-bottom:3px}.builder-tabs button{white-space:nowrap;border:1px solid var(--border);background:rgba(255,255,255,.025);color:var(--muted);padding:9px 12px;border-radius:10px;font-size:11px;font-weight:800}.builder-tabs button.active{background:rgba(139,92,246,.14);border-color:rgba(139,92,246,.34);color:#fff}.product-builder{grid-template-columns:380px minmax(0,1fr);align-items:start}.product-builder .builder-sidebar{position:sticky;top:88px;max-height:calc(100vh - 110px);overflow:auto;padding:18px}.builder-divider{height:1px;background:var(--border);margin:18px 0}.block-list{display:grid;gap:8px}.block-item{display:grid;grid-template-columns:22px 30px minmax(0,1fr) 30px 30px auto;align-items:center;gap:7px;border:1px solid var(--border);border-radius:12px;padding:9px;background:rgba(255,255,255,.025);transition:.18s}.block-item:hover{border-color:rgba(139,92,246,.3);background:rgba(139,92,246,.05)}.block-item.dragging{opacity:.45;transform:scale(.985)}.block-item.is-hidden{opacity:.55}.drag-handle{color:var(--subtle);cursor:grab}.block-type-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(139,92,246,.1);color:#cbbfff;border:1px solid rgba(139,92,246,.15);font-size:11px;font-weight:900}.block-item strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.block-item small{display:block;color:var(--subtle);font-size:9px;margin-top:2px;text-transform:uppercase;letter-spacing:.08em}.icon-btn{width:28px;height:28px;border-radius:9px;border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--muted);display:grid;place-items:center}.icon-btn:hover{color:#fff;background:rgba(255,255,255,.06)}.icon-btn.danger:hover{color:#ff9bad;border-color:rgba(255,107,129,.25)}.add-block{width:100%;margin-top:10px;border-style:dashed}.preview-frame-wrap{min-width:0;width:100%}.preview-browser{height:auto;min-height:828px;border:1px solid var(--border);border-radius:19px;overflow:hidden;background:#e9edf5;box-shadow:0 26px 80px rgba(0,0,0,.32)}.preview-browser-bar{height:48px;background:#141d31;border-bottom:1px solid var(--border);display:flex;gap:7px;align-items:center;padding:0 13px}.preview-browser-bar>span{width:8px;height:8px;border-radius:50%;background:#536078}.preview-browser-bar>span:nth-child(2){background:#8068ca}.preview-browser-bar>span:nth-child(3){background:#56b996}.preview-browser-bar input{margin-left:7px;min-width:0;flex:1;background:#0c1323;border:1px solid var(--border);color:#8f9ab8;border-radius:8px;font-size:9px;padding:7px 10px}.preview-browser-bar a{width:28px;height:28px;display:grid;place-items:center;color:#b8c1d8}.preview-browser iframe{width:100%;height:780px;border:0;background:#fff;display:block}.block-picker{display:grid;grid-template-columns:1fr 1fr;gap:9px}.block-picker button{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--border);background:rgba(255,255,255,.025);color:#fff;padding:13px;border-radius:12px}.block-picker button:hover{border-color:rgba(139,92,246,.35);background:rgba(139,92,246,.07)}.block-picker button span{width:30px;height:30px;border-radius:9px;background:rgba(139,92,246,.1);display:grid;place-items:center}.block-picker button strong{font-size:11px}.wide-modal{width:min(620px,100%)}
.upload-box{border:1px dashed rgba(139,92,246,.35);border-radius:15px;text-align:center;padding:24px 16px;background:rgba(139,92,246,.04)}.upload-icon{width:42px;height:42px;border-radius:13px;margin:0 auto 10px;display:grid;place-items:center;background:rgba(86,231,176,.1);color:var(--mint);font-size:20px}.upload-box strong{display:block;font-size:12px}.upload-box p{color:var(--muted);font-size:10px;margin:6px 0 14px}.doc-admin-list{display:grid;gap:8px;margin-top:13px}.doc-admin-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto 28px;align-items:center;gap:9px;border:1px solid var(--border);padding:9px;border-radius:12px}.doc-admin-row>div strong{font-size:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-admin-row>div small{color:var(--subtle);font-size:9px}.doc-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:rgba(139,92,246,.09);color:#c9bdff}.empty-state.compact{padding:24px 10px}.share-card{display:grid;gap:12px}.share-url{padding:12px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.02)}.share-url>span{color:var(--muted);font-size:9px;font-weight:800;display:block;margin-bottom:8px;text-transform:uppercase;letter-spacing:.1em}.share-url>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px}.settings-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:18px;align-items:start}.color-field>div{display:grid;grid-template-columns:46px 1fr;gap:8px}.color-field input[type=color]{width:46px;height:40px;padding:3px;border-radius:9px;border:1px solid var(--border);background:#0d1425}.team-list{display:grid}.team-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.team-row:last-child{border-bottom:0}.team-row>div:nth-child(2) strong{display:block;font-size:11px}.team-row>div:nth-child(2) span{display:block;color:var(--muted);font-size:9px;margin-top:2px}.analytics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.metric-card{padding:16px}.metric-card>span{color:var(--muted);font-size:10px}.metric-card>strong{font-size:24px;display:block;margin:10px 0;letter-spacing:-.04em}.metric-track{height:5px;border-radius:10px;background:rgba(255,255,255,.06);overflow:hidden}.metric-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--violet),var(--mint))}.funnel{display:grid;gap:8px}.funnel-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.02)}.funnel-row span{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:rgba(139,92,246,.09);color:#cbbfff;font-size:9px}.funnel-row strong{font-size:11px}.funnel-row b{color:var(--mint);font-size:12px}.notification-panel{margin-top:18px}

/* Buyer experience product extensions */
.public-deal-page{--brand-primary:#8b5cf6;--brand-accent:#56e7b0}.public-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 30px;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid #e7eaf0;position:sticky!important;top:0;z-index:20}.buyer-brand{display:flex;align-items:center;gap:10px}.buyer-logo,.brand-logo{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:white;font-weight:900;font-size:12px;object-fit:contain}.brand-logo{background:white;padding:3px}.buyer-brand strong{display:block;font-size:11px}.buyer-brand span{display:block;color:#8c93a4;font-size:8px;margin-top:2px}.buyer-top-actions{display:flex;gap:8px}.btn.public{color:#41495b;border-color:#dfe3eb;background:#fff}.btn.public-primary{background:var(--brand-primary);border-color:transparent;color:#fff}.btn.public-secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15)}.btn.public-mint{background:var(--brand-accent);color:#071812;border-color:transparent}.btn.confirmed{opacity:.8}.public-deal .deal-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 86% 16%,color-mix(in srgb,var(--brand-primary) 26%,transparent),transparent 28%),linear-gradient(145deg,#10182b,#17213a);color:white}.hero-orb{position:absolute;width:260px;height:260px;border-radius:50%;right:-90px;bottom:-130px;background:radial-gradient(circle,var(--brand-accent),transparent 66%);opacity:.18}.deal-hero h1{font-size:46px;max-width:850px;position:relative;z-index:1}.deal-kicker{color:var(--brand-accent);font-size:9px;text-transform:uppercase;letter-spacing:.16em;font-weight:900;margin-bottom:14px}.deal-hero p{max-width:720px;color:#b4bdd2;line-height:1.65;font-size:13px;position:relative;z-index:1}.hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:28px;max-width:760px}.hero-meta>div{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);border-radius:12px;padding:12px}.hero-meta span{display:block;color:#8f99b2;font-size:8px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}.hero-meta strong{font-size:10px}.buyer-section h2{font-size:26px;letter-spacing:-.04em;margin:0 0 9px}.section-copy{white-space:normal}.soft-section{background:#f1f3f8}.section-label{color:var(--brand-primary);text-transform:uppercase;letter-spacing:.15em;font-size:8px;font-weight:900;margin-bottom:8px}.section-label.light{color:var(--brand-accent)}.public-deal .problem-icon{background:color-mix(in srgb,var(--brand-primary) 10%,white);color:var(--brand-primary)}.public-deal .price-card:hover,.public-deal .price-card.selected{border-color:var(--brand-primary)}.public-deal .popular{background:var(--brand-primary)}.public-deal .roi-field input[type=range]{accent-color:var(--brand-primary)}.public-deal .timeline-dot{background:var(--brand-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-primary) 14%,white)}.public-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.public-doc{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #e0e4ec;border-radius:13px;background:white;padding:13px;transition:.18s}.public-doc:hover{border-color:var(--brand-primary);transform:translateY(-1px);box-shadow:0 12px 30px rgba(40,50,80,.08)}.public-doc strong{display:block;font-size:10px;color:#252b3a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-doc small{display:block;color:#8a91a2;font-size:8px;margin-top:3px}.public-doc b{color:var(--brand-primary)}.buyer-empty{border:1px dashed #d8dce6;border-radius:13px;padding:18px;color:#8a91a2;font-size:10px;margin-top:18px}.quote-card{max-width:800px;margin:auto;text-align:center;padding:24px}.quote-mark{font-size:54px;line-height:1;color:var(--brand-primary);font-family:Georgia,serif}.quote-card blockquote{font-size:20px;line-height:1.5;letter-spacing:-.02em;margin:3px auto 18px;color:#262c3c}.quote-card strong{font-size:10px;display:block}.quote-card div span{color:#8a91a2;font-size:9px}.faq-list{display:grid;gap:8px;margin-top:18px}.faq-list details{border:1px solid #dfe3eb;border-radius:13px;background:#fff;padding:14px 16px}.faq-list summary{font-size:11px;font-weight:800;cursor:pointer}.faq-list p{font-size:10px;color:#737b8e;line-height:1.6;margin:10px 0 0}.cta-actions{display:flex;gap:8px;flex-wrap:wrap}.public-footer{display:flex;justify-content:space-between;gap:16px;padding:22px 54px 34px;color:#959cad;font-size:8px;background:#f8f8fb}.public-modal[hidden]{display:none}.public-modal{position:fixed;inset:0;background:rgba(7,11,20,.72);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px;z-index:120}.public-modal-card{width:min(520px,100%);background:#fff;color:#202536;border-radius:20px;padding:26px;box-shadow:0 30px 90px rgba(0,0,0,.28);position:relative}.public-modal-close{position:absolute;right:14px;top:14px;width:30px;height:30px;border-radius:9px;border:1px solid #e1e4eb;background:#fff;color:#737b8c}.public-modal-card h3{font-size:23px;letter-spacing:-.035em;margin-bottom:8px}.public-modal-card>p{color:#798092;font-size:10px;line-height:1.55;margin-bottom:18px}.public-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.public-form-grid label{font-size:9px;font-weight:800;color:#626a7d}.public-form-grid label.full{grid-column:1/-1}.public-form-grid input,.public-form-grid textarea{display:block;width:100%;margin-top:6px;border:1px solid #dfe3eb;border-radius:10px;padding:10px 11px;font:inherit;color:#202536;outline:none}.public-form-grid input:focus,.public-form-grid textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 10%,transparent)}.selected-plan-note{margin:12px 0;padding:10px 12px;border-radius:10px;background:#f2f4f8;color:#6f7789;font-size:9px}.selected-plan-note strong{color:#202536}.modal-open{overflow:hidden}

@media(max-width:1200px){.product-builder{grid-template-columns:340px minmax(0,1fr)}.settings-grid{grid-template-columns:1fr}.analytics-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.product-builder{grid-template-columns:1fr}.product-builder .builder-sidebar{position:static;max-height:none}.preview-browser{min-height:698px}.preview-browser iframe{height:650px}.builder-head{flex-direction:column}.builder-status{max-width:none;width:100%}.public-doc-grid{grid-template-columns:1fr}.hero-meta{grid-template-columns:1fr}.deal-hero h1{font-size:36px}.public-top{padding:12px 18px}.buyer-top-actions .btn.public{display:none}}
@media(max-width:780px){.field-grid,.public-form-grid{grid-template-columns:1fr}.field-grid .full,.public-form-grid label.full{grid-column:auto}.block-item{grid-template-columns:20px 28px minmax(0,1fr) 28px 28px}.block-item .btn.small{grid-column:1/-1}.share-url>div{grid-template-columns:1fr 1fr}.share-url>div input{grid-column:1/-1}.team-row{grid-template-columns:36px minmax(0,1fr) auto}.team-row>.badge,.team-row>.up,.team-row>.muted{display:none}.analytics-grid{grid-template-columns:1fr 1fr}.public-top .preview-nav{display:none}.deal-hero h1{font-size:31px}.public-footer{padding:20px 22px 28px;flex-direction:column}.buyer-top-actions{margin-left:auto}.buyer-top-actions .btn{padding:8px 10px;font-size:9px}.cta-actions{width:100%}.cta-actions .btn{flex:1}.quote-card blockquote{font-size:17px}}
.domain-panel{grid-column:1/-1}.domain-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:14px 0}.domain-list{display:grid;gap:8px}.domain-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:11px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.02)}.domain-row strong{display:block;font-size:11px}.domain-row div span{display:block;color:var(--muted);font-size:9px;margin-top:3px}@media(max-width:780px){.domain-add{grid-template-columns:1fr}.domain-row{grid-template-columns:minmax(0,1fr) auto}.domain-row .btn{grid-column:1/-1}}
.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.template-card{padding:18px;display:grid;grid-template-rows:auto 1fr auto;gap:14px;min-height:210px}.template-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(139,92,246,.16),rgba(86,231,176,.08));border:1px solid rgba(139,92,246,.18);color:#d4caff}.template-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.template-title h3{font-size:14px;margin:0}.template-card p{color:var(--muted);font-size:11px;line-height:1.55;margin:8px 0}.template-actions{display:flex;justify-content:space-between;gap:8px}@media(max-width:1100px){.template-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.template-grid{grid-template-columns:1fr}}
.security-panel{grid-column:1/-1}
