/* Aktien-Prognose-Tool — luftiges, modernes Layer über Bootstrap 5 */

:root{
  --bg-grad-1:#eef3fb;
  --bg-grad-2:#f7f5ff;
  --brand:#3457d5;
  --brand-dark:#2540a8;
  --card-radius:1.25rem;
  --shadow-soft:0 10px 30px -12px rgba(30,41,80,.12), 0 2px 8px -4px rgba(30,41,80,.08);
}
@media (prefers-color-scheme:dark){
  :root{
    --bg-grad-1:#0f1320;
    --bg-grad-2:#131a2b;
    --shadow-soft:0 10px 30px -14px rgba(0,0,0,.55), 0 2px 10px -6px rgba(0,0,0,.4);
  }
  body{color-scheme:dark;}
  .bg-white{background-color:#161d2e !important;color:#e7ebf5;}
  .bg-body-tertiary{background-color:#1c2439 !important;}
  .border{border-color:#293252 !important;}
  .text-muted{color:#93a0c2 !important;}
  .navbar.app-navbar{background:rgba(15,19,32,.85) !important;}
  .kv th{color:#93a0c2;}
  .mc{background-color:#161d2e !important;}
}

*{-webkit-font-smoothing:antialiased;}
body{
  min-height:100vh;
  background:linear-gradient(160deg,var(--bg-grad-1),var(--bg-grad-2) 55%,var(--bg-grad-1));
  background-attachment:fixed;
  font-family:"Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
}
:root{--bs-primary:var(--brand);--bs-primary-rgb:52,87,213;}
.btn-primary{background:var(--brand);border-color:var(--brand);}
.btn-primary:hover,.btn-primary:focus{background:var(--brand-dark);border-color:var(--brand-dark);}
.btn-outline-primary{--bs-btn-color:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand);--bs-btn-hover-border-color:var(--brand);}
a{color:var(--brand-dark);}
.text-primary{color:var(--brand) !important;}

.navbar.app-navbar{
  background:rgba(255,255,255,.75);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(0,0,0,.05);
}
.navbar-brand{font-weight:700;letter-spacing:-.01em;}
.navbar-brand .bi{color:var(--brand);}

.page-wrap{max-width:1040px;}

.card,.rounded-4,.ticker{border-radius:var(--card-radius) !important;}
.rounded-3{border-radius:1rem !important;}

.shadow-sm{box-shadow:var(--shadow-soft) !important;}
.border{border-color:rgba(0,0,0,.06) !important;}

.panel{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
}

/* Formulare */
.form-label{font-weight:600;font-size:.85rem;color:#4b5568;}
@media (prefers-color-scheme:dark){.form-label{color:#a9b4cf;}}
.form-control,.form-select{border-radius:.75rem;padding:.55rem .85rem;}
.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .2rem rgba(52,87,213,.15);}
textarea.form-control{resize:vertical;}

/* Watchlist/Suche-Treffer */
.hits{list-style:none;padding:0;margin:0;}
.hits li{padding:.45rem 0;border-top:1px solid rgba(0,0,0,.06);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}

/* details/summary Karte */
details.ticker{overflow:hidden;}
details.ticker>summary{
  cursor:pointer;list-style:none;padding:1rem 1.25rem;user-select:none;
}
details.ticker>summary::-webkit-details-marker{display:none;}
details.ticker>summary .chev{transition:transform .2s ease;color:var(--brand);}
details.ticker[open]>summary .chev{transform:rotate(90deg);}
.ticker-body{padding:0 1.25rem 1.25rem;}

/* Charts */
.chart{background:var(--bs-body-bg,#fff);border-radius:1rem;padding:.75rem .5rem;}
.spark{width:100%;height:110px;color:var(--brand);display:block;}
.spark .mark{stroke:#e0a530;stroke-dasharray:4 3;stroke-width:1.3;}

/* Kennzahlen-Tabellen */
table.kv{background:transparent;}
table.kv th{width:44%;text-align:left;font-weight:500;color:#6b7488;vertical-align:top;border:0;padding:.3rem .6rem .3rem 0;}
table.kv td{border:0;padding:.3rem 0;}

.table>:not(caption)>*>*{padding:.65rem .85rem;}

.foot{margin-top:2.5rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.06);}

.actions form{display:inline;}

/* Journal-spezifisch */
.row-inline{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap;}
form.inl{display:inline;}
.btn-link.small-link{font-size:.85rem;text-decoration:underline;padding:0;}

.notes ul{padding-left:1.1rem;}
.notes li{margin:.4rem 0;}
