/* ============================================================
   Auvion Design System  (nach offiziellem Style Guide)
   Teal -> Blau -> Violett, Navy-Ink, soft shadows, rounded-2xl
   ============================================================ */
:root{
  --av-teal:#14B8C6; --av-blue:#3b82f6; --av-violet:#7c3aed;
  --av-grad:linear-gradient(135deg,#14B8C6 0%,#3b82f6 48%,#7c3aed 100%);
  --av-ink:#0e1a33; --av-ink700:#1e2a45; --av-body:#475569; --av-muted:#64748b;
  --av-line:#e6eaf2; --av-surface:#ffffff; --av-soft:#f7f9fc; --av-tint:#f1f5ff;
  --av-b50:#eff5ff; --av-b100:#dbe7ff; --av-b200:#bcd3ff; --av-b300:#8db5ff;
  --av-b400:#5a8dfb; --av-b600:#2563eb; --av-b700:#1d4ed8;
  --av-bull:#0ea371; --av-bear:#e5484d; --av-amber:#d97706; --av-calm:#cbd5e1;
  --av-r:16px; --av-r-sm:12px;
  --av-shadow:0 1px 2px rgba(14,26,51,.04),0 8px 24px rgba(14,26,51,.06);
  --av-shadow-hover:0 2px 4px rgba(14,26,51,.06),0 16px 40px rgba(14,26,51,.10);
  --av-glow:0 8px 22px rgba(59,130,246,.28);
}

html,body{
  padding:0!important;margin:0;color:var(--av-body);
  font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif!important;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}

/* Seiten-Hintergrund: weiß mit zartem dual-radialem Marken-Wash */
.mud-layout{
  background-color:#ffffff;
  background-image:
    radial-gradient(60rem 40rem at 85% -10%, rgba(124,58,237,.10), transparent 60%),
    radial-gradient(55rem 38rem at -5% 0%, rgba(20,184,198,.10), transparent 55%);
  background-attachment:fixed;
}
.mud-main-content,.auvion-main{background:transparent!important;}

.auvion-content{max-width:1024px;margin:0 auto;padding:32px 20px 72px;}
.auvion-empty{color:var(--av-muted);text-align:center;padding:72px 20px;font-size:1rem;}

h1,h2,h3,h4{color:var(--av-ink);font-weight:700;letter-spacing:-.02em;}

/* ---------- Sticky Top-Nav ---------- */
.mud-appbar.auvion-appbar{
  background:#ffffff!important;color:var(--av-ink)!important;
  border-bottom:1px solid var(--av-line);box-shadow:none!important;
}
.auvion-appbar .mud-toolbar{max-width:1340px;margin:0 auto;width:100%;min-height:66px;gap:4px;padding-left:16px;padding-right:16px;flex-wrap:nowrap;}
.auvion-brand{display:flex;align-items:center;margin-right:20px;text-decoration:none;}
.auvion-logo-img{height:32px;width:auto;display:block;}
.auvion-brand svg{display:block;}
.auvion-brandname{font-weight:800;font-size:1.18rem;color:var(--av-ink);letter-spacing:-.02em;}
.auvion-nav{display:flex;align-items:center;gap:1px;flex-wrap:nowrap;min-width:0;}
.auvion-tab{
  display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:var(--av-r-sm);
  font-size:.85rem;font-weight:500;color:var(--av-body);text-decoration:none;line-height:1;
  white-space:nowrap;transition:all .2s;
}
.auvion-tab:hover{background:var(--av-soft);color:var(--av-b600);}
.auvion-tab.active{background:var(--av-b50);color:var(--av-b700);font-weight:600;}
.auvion-tab-primary{background-image:var(--av-grad);color:#fff!important;font-weight:600;box-shadow:var(--av-glow);}
.auvion-tab-primary:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(59,130,246,.42);color:#fff!important;}
.auvion-tenant{color:var(--av-muted);font-size:.85rem;font-weight:500;margin-right:10px;}
.auvion-user{color:var(--av-muted);font-size:.8rem;margin-right:12px;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.auvion-logout-form{display:inline-flex;}
.auvion-logout{
  background:#fff;border:1px solid var(--av-line);border-radius:var(--av-r-sm);
  padding:7px 14px;color:var(--av-body);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s;
}
.auvion-logout:hover{border-color:var(--av-b300);background:var(--av-soft);}

/* ---------- Karten ---------- */
.mud-card{
  border-radius:var(--av-r)!important;border:1px solid var(--av-line)!important;
  box-shadow:var(--av-shadow)!important;background:#fff;transition:all .2s;
}
.mud-card:hover{box-shadow:var(--av-shadow-hover)!important;transform:translateY(-2px);}
.auvion-content .mud-paper:not(.mud-appbar){border-radius:var(--av-r);}

/* ---------- Buttons ---------- */
.mud-button-root{text-transform:none!important;border-radius:var(--av-r-sm)!important;font-weight:600!important;transition:all .2s;}
.mud-button-filled.mud-button-filled-primary{
  background-image:var(--av-grad)!important;color:#fff!important;border:none!important;box-shadow:var(--av-glow)!important;
}
.mud-button-filled.mud-button-filled-primary:hover{box-shadow:0 12px 30px rgba(59,130,246,.42)!important;transform:translateY(-1px);}

/* ---------- Tabellen ---------- */
.mud-table{border-radius:var(--av-r)!important;border:1px solid var(--av-line);box-shadow:var(--av-shadow)!important;overflow:hidden;}
.mud-table-head .mud-table-cell{background:var(--av-soft);color:var(--av-muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;}
.mud-table-row:hover{background:var(--av-soft)!important;}

/* ---------- Verlaufstext / Eyebrow ---------- */
.gradient-text,.eyebrow{background-image:var(--av-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.eyebrow{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;}

/* ---------- Status-Pills ---------- */
.av-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:600;line-height:1.4;}
.av-badge.opportunity,.av-badge.green{background:rgba(14,163,113,.10);color:var(--av-bull);}
.av-badge.risk,.av-badge.red{background:rgba(229,72,77,.10);color:var(--av-bear);}
.av-badge.active,.av-badge.amber{background:rgba(245,158,11,.12);color:var(--av-amber);}
.av-badge.calm{background:var(--av-soft);color:var(--av-muted);}
.mud-chip{border-radius:999px!important;font-weight:600;}
.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}

/* ---------- Eingabefelder (MudBlazor) ---------- */
.mud-input.mud-input-outlined .mud-input-outlined-border{border-radius:var(--av-r-sm);}

/* ============================================================
   Account-Seiten (Login / Register) – Bootstrap-Markup
   ============================================================ */
.center{display:flex;justify-content:center;align-items:center;text-align:center;}
.row.center{margin:0;}
.row.center .col-md-4{width:100%;max-width:440px;padding:0 16px;}
.row.center section{
  display:block;background:#fff;border:1px solid var(--av-line);border-radius:var(--av-r);
  box-shadow:var(--av-shadow-hover);padding:30px 28px;margin:16px auto 40px;text-align:left;
}
.row.center section hr{display:none;}
.form-floating label,.form-label{color:var(--av-muted);font-weight:500;}
.form-control{
  border-radius:var(--av-r-sm)!important;border:1px solid var(--av-line)!important;
  padding:.7rem .9rem!important;font-size:.95rem!important;color:var(--av-ink);background:#fff;
  box-shadow:0 1px 2px rgba(14,26,51,.04);
}
.form-control:focus{border-color:var(--av-b400)!important;box-shadow:0 0 0 4px var(--av-b100)!important;}
.btn-primary,.btn-lg.btn-primary{
  background-image:var(--av-grad)!important;border:none!important;border-radius:var(--av-r-sm)!important;
  font-weight:600!important;padding:.7rem 1rem!important;box-shadow:var(--av-glow)!important;color:#fff!important;
}
.btn-primary:hover{box-shadow:0 12px 30px rgba(59,130,246,.42)!important;transform:translateY(-1px);}
.btn:focus,.btn:active:focus,.form-control:focus{box-shadow:0 0 0 4px var(--av-b100)!important;}
a,.btn-link{color:var(--av-b600);text-decoration:none;}
a:hover{color:var(--av-b700);text-decoration:underline;}
.text-danger{color:var(--av-bear)!important;}

/* ---------- Scrollbar ---------- */
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-track{background:#eef2f8;}
::-webkit-scrollbar-thumb{background:#cdd6e6;border-radius:8px;}
::-webkit-scrollbar-thumb:hover{background:#b6c2d8;}

/* ---------- Rohe HTML-Tabellen (nicht MudBlazor) angleichen ---------- */
.auvion-content table:not(.mud-table-root){border-collapse:collapse;border:none!important;}
.auvion-content table:not(.mud-table-root) th{
  background:var(--av-soft);color:var(--av-muted);font-size:.72rem;text-transform:uppercase;
  letter-spacing:.04em;font-weight:600;padding:10px 16px;text-align:left;border:none!important;border-bottom:1px solid var(--av-line)!important;
}
.auvion-content table:not(.mud-table-root) td{
  padding:9px 16px;border:none!important;border-bottom:1px solid var(--av-line)!important;color:var(--av-body);font-size:.9rem;
}
.auvion-content table:not(.mud-table-root) tr:last-child td{border-bottom:none!important;}
/* Add-Karten (Wallet/Strategie einbinden) Plus-Symbol in Markenfarbe */
.auvion-content .mud-card .mud-icon-button{color:var(--av-b600);}

/* ---------- Aufklapp-Panels (Signale/System) als saubere Karten ---------- */
.mud-expansion-panels{box-shadow:none!important;background:transparent!important;display:flex;flex-direction:column;gap:10px;}
.mud-expansion-panels .mud-expand-panel{
  border:1px solid var(--av-line)!important;border-radius:var(--av-r)!important;
  box-shadow:var(--av-shadow)!important;margin:0!important;background:#fff;
}
.mud-expansion-panels .mud-expand-panel::before{content:none!important;}
.mud-expand-panel-header{padding:14px 20px!important;}
.mud-expand-panel .mud-expand-panel-text{padding:4px 20px 18px!important;color:var(--av-body);}
/* gleichmäßige Innenabstände in Karten */
.auvion-content .mud-card .mud-card-content{padding:18px 20px;}

/* ---------- Karten ohne Leerraum, Toolbars & Leerzustände ---------- */
.auvion-content .mud-card{height:auto!important;}
.auvion-content > h3, .auvion-content > h2, .auvion-content > h1{margin:0 0 18px;}
.auvion-toolbar{
  display:flex;flex-wrap:wrap;align-items:center;gap:18px;
  background:#fff;border:1px solid var(--av-line);border-radius:var(--av-r);
  box-shadow:var(--av-shadow);padding:14px 18px;margin-bottom:20px;
}
.auvion-empty-card{
  background:#fff;border:1.5px dashed var(--av-line);border-radius:var(--av-r);
  padding:48px 24px;text-align:center;margin-top:8px;
}
.auvion-empty-title{color:var(--av-ink);font-weight:600;font-size:1.05rem;margin-bottom:6px;}
.auvion-empty-text{color:var(--av-muted);font-size:.9rem;}

/* ---------- Abstand zwischen gestapelten Karten + generische Seiten-Karte ---------- */
.auvion-content .mud-card{margin-bottom:18px;}
.auvion-content .mud-card:last-child{margin-bottom:0;}
.auvion-pagecard{
  background:#fff;border:1px solid var(--av-line);border-radius:var(--av-r);
  box-shadow:var(--av-shadow);padding:24px 26px;
}
.auvion-pagecard h3{margin:0 0 14px;font-size:1.15rem;}
.auvion-pagecard .mud-slider{margin:6px 0 4px;}
