/* dDCA portfolio setup and overview: responsive layout, no legacy portfolio overrides. */
.portfolio-planner-panel { min-width:0; margin:0 10px 10px; border:1px solid rgba(255,255,255,.16); border-radius:16px; overflow:hidden; background:linear-gradient(145deg,rgba(2,20,38,.96),rgba(4,34,56,.88)); }
.portfolio-planner-head { min-height:48px; align-items:center; gap:14px; padding:9px 13px; border-bottom:1px solid rgba(255,255,255,.13); }
.portfolio-planner-head h2 { flex:0 0 auto; margin:0; color:#fff; font-weight:600; }
.portfolio-progress-host { min-width:0; }
.portfolio-progress { gap:5px; margin:0; padding:0; list-style:none; }
.portfolio-progress li { min-width:0; align-items:center; gap:6px; color:rgba(211,222,234,.56); }
.portfolio-progress li::after { height:1px; min-width:12px; content:""; flex:1; background:rgba(255,255,255,.12); }
.portfolio-progress li span { height:20px; place-items:center; flex:0 0 auto; border:1px solid rgba(255,255,255,.17); border-radius:50%; }
.portfolio-progress li.is-current { color:#fff; }
.portfolio-progress li.is-current span { border-color:#ff7400; background:rgba(255,116,0,.17); color:#ffb06c; }
.portfolio-progress li.is-complete { color:rgba(49,240,138,.78); }
.portfolio-progress li.is-complete span { border-color:rgba(49,240,138,.5); background:rgba(49,240,138,.11); color:#31f08a; }
.portfolio-planner-content { min-height:118px; padding:10px 12px; }
.portfolio-planner-loading { min-height:98px; display:grid; place-items:center; color:rgba(255,235,219,.58); font-size:var(--vasc-font-12); }
.portfolio-step-card { min-height:96px; align-items:center; gap:13px; padding:12px 13px; border:1px solid rgba(255,255,255,.11); border-radius:11px; background:linear-gradient(135deg,rgba(9,37,61,.82),rgba(3,17,31,.91)); box-shadow:inset 4px 0 0 rgba(255,116,0,.78); }
.portfolio-step-copy { min-width:0; }
.portfolio-step-copy span { color:#ff9f51; font-weight:700; letter-spacing:.075em; text-transform:uppercase; }
.portfolio-step-copy strong { margin-top:4px; color:#fff; font-weight:550; }
.portfolio-step-copy small { margin-top:4px; color:rgba(210,221,232,.72); line-height:1.4; }
.portfolio-money-field { min-width:0; }
.portfolio-input-field { min-width:0; }
.portfolio-money-field>span { display:block; margin-bottom:5px; color:rgba(255,235,219,.68); font-size:var(--vasc-font-12); text-transform:uppercase; letter-spacing:.055em; }
.portfolio-input-field>span { display:block; margin-bottom:5px; color:rgba(255,235,219,.68); font-size:var(--vasc-font-12); text-transform:uppercase; letter-spacing:.055em; }
.portfolio-money-field>div { display:grid; grid-template-columns:minmax(0,1fr) auto; overflow:hidden; border:1px solid rgba(255,255,255,.17); border-radius:8px; background:rgba(0,0,0,.23); }
.portfolio-money-field input { width:100%; height:36px; padding:7px 10px; border:0; background:transparent; color:#fff; font:inherit; font-size:var(--vasc-font-12); font-variant-numeric:tabular-nums; outline:none; }
.portfolio-input-field input { width:100%; height:36px; padding:7px 10px; color:#fff; font:inherit; font-variant-numeric:tabular-nums; outline:none; }
.portfolio-money-field b { display:grid; place-items:center; padding:0 11px; border-left:1px solid rgba(255,255,255,.11); color:#ffb16f; font-size:var(--vasc-font-12); }
.portfolio-money-field>div:focus-within { border-color:#ff7400; box-shadow:0 0 0 1px rgba(255,116,0,.2); }
.portfolio-input-field input:focus { border-color:#ff7400; box-shadow:0 0 0 1px rgba(255,116,0,.2); }
.portfolio-mode-grid { display:grid; gap:7px; }
.portfolio-mode-grid button { min-width:0; padding:8px 9px; border:1px solid rgba(255,255,255,.13); border-radius:8px; background:rgba(0,0,0,.18); color:rgba(255,255,255,.75); cursor:pointer; text-align:left; }
.portfolio-mode-grid button:hover { outline:none; border-color:rgba(255,116,0,.55); }
.portfolio-mode-grid button:focus-visible { outline:none; border-color:rgba(255,116,0,.55); }
.portfolio-mode-grid button.is-selected { border-color:#ff7400; background:rgba(255,116,0,.15); color:#fff; }
.portfolio-mode-grid strong { display:block; white-space:normal; overflow-wrap:anywhere; }
.portfolio-mode-grid small { display:block; white-space:normal; overflow-wrap:anywhere; }
.portfolio-mode-grid strong { font-size:var(--vasc-font-12); font-weight:550; }
.portfolio-mode-grid small { margin-top:3px; color:rgba(210,221,232,.65); font-size:var(--vasc-font-10); }
.portfolio-step-actions { align-items:center; gap:7px; }
.portfolio-action { min-height:34px; padding:7px 13px; border:1px solid #ff861d; border-radius:999px; background:linear-gradient(135deg,#ff7400,#ff9a3d); color:#06111b; font-size:var(--vasc-font-12); font-weight:700; cursor:pointer; }
.portfolio-action.secondary { border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.05); color:rgba(255,255,255,.76); }
.portfolio-action:disabled { opacity:.34; cursor:not-allowed; }
.portfolio-action:hover:not(:disabled) { outline:2px solid rgba(255,255,255,.74); outline-offset:1px; filter:brightness(1.06); }
.portfolio-action:focus-visible:not(:disabled) { outline:2px solid rgba(255,255,255,.74); outline-offset:1px; filter:brightness(1.06); }
.portfolio-selection-result { display:flex; align-items:center; gap:8px; min-height:46px; padding:8px 11px; border:1px solid rgba(255,255,255,.12); border-radius:8px; background:rgba(0,0,0,.15); }
.portfolio-weight-total { align-items:center; min-height:46px; padding:8px 11px; border:1px solid rgba(255,255,255,.12); border-radius:8px; background:rgba(0,0,0,.15); }
.portfolio-selection-result b { color:#ffb16f; font-size:var(--vasc-font-20); font-weight:550; }
.portfolio-selection-result>span { color:rgba(255,255,255,.72); font-size:var(--vasc-font-12); }
.portfolio-selection-result small { display:block; margin-top:2px; color:rgba(210,221,232,.58); font-size:var(--vasc-font-10); }
.portfolio-weight-total { display:grid; grid-template-columns:auto auto; gap:3px 9px; }
.portfolio-weight-total span { color:rgba(255,255,255,.62); font-size:var(--vasc-font-12); text-transform:uppercase; }
.portfolio-weight-total strong { justify-self:end; color:#fff; font-size:var(--vasc-font-14); font-weight:550; }
.portfolio-weight-total small { grid-column:1/-1; color:rgba(255,255,255,.62); font-size:var(--vasc-font-10); }
.portfolio-weight-total.valid { border-color:rgba(49,240,138,.36); }
.portfolio-weight-total.valid strong { color:#31f08a; }
.portfolio-weight-total.invalid strong { color:#ff9f51; }
.portfolio-input-field input { border:1px solid rgba(255,255,255,.17); border-radius:8px; background:rgba(0,0,0,.21); font-size:var(--vasc-font-12); color-scheme:dark; }
.portfolio-review { display:grid; grid-template-columns:1fr; gap:3px; padding:8px 10px; border:1px solid rgba(255,255,255,.12); border-radius:8px; background:rgba(0,0,0,.15); }
.portfolio-review span { color:rgba(255,255,255,.76); font-size:var(--vasc-font-10); }
.portfolio-form-status { grid-column:1/-1; color:#ff7d88; font-size:var(--vasc-font-12); }
.portfolio-form-status.success { color:#31f08a; }
.asset-row-shell { position:relative; }
.portfolio-asset-check { display:grid; place-items:center; padding:0; border:1px solid rgba(255,255,255,.3); border-radius:5px; background:rgba(1,14,26,.94); color:#041420; font-size:var(--vasc-font-12); font-weight:700; cursor:pointer; }
.portfolio-asset-check.is-selected { border-color:#31f08a; background:#31f08a; box-shadow:0 0 10px rgba(49,240,138,.28); }
.portfolio-asset-check:focus-visible { outline:2px solid #ff7400; outline-offset:1px; }
.portfolio-asset-control input { width:48px; padding:2px 3px; border:1px solid rgba(255,116,0,.55); border-radius:5px; background:rgba(1,14,26,.96); color:#fff; font-size:var(--vasc-font-10); text-align:right; outline:none; }
.portfolio-asset-control input:focus { border-color:#ff9a3d; box-shadow:0 0 0 1px rgba(255,116,0,.2); }
.portfolio-asset-control>span { color:#ffb16f; font-size:var(--vasc-font-10); }
.portfolio-edit-select span { display:block; margin-bottom:4px; color:rgba(255,235,219,.66); font-size:var(--vasc-font-10); text-transform:uppercase; }
.portfolio-edit-select select { width:100%; height:32px; padding:4px 7px; border:1px solid rgba(255,255,255,.16); border-radius:7px; background:#07192a; color:#fff; font-size:var(--vasc-font-12); }
@media(max-width:900px) {
  .portfolio-form-status { grid-column:1/-1; }
}
@media(max-width:560px) {
  .portfolio-planner-panel { margin:0 6px 8px; }
  .portfolio-planner-head { padding:10px; }
  .portfolio-planner-content { padding:7px; }
  .portfolio-progress { gap:3px; }
  .portfolio-progress li { justify-items:center; gap:3px; text-align:center; }
  .portfolio-progress li span { height:19px; }
  .portfolio-step-card { align-content:start; gap:10px; padding:11px; }
  .portfolio-final-step { align-content:start; gap:10px; padding:11px; }
  .portfolio-mode-grid button { padding:9px; }
  .portfolio-mode-grid strong { font-size:var(--vasc-font-12); }
  .portfolio-mode-grid small { font-size:var(--vasc-font-10); }
  .portfolio-action { flex:1; }
  .portfolio-asset-control input { width:42px; }
}
@media(max-width:380px) {
  .portfolio-action { width:100%; }
}
.portfolio-overview { display:none; grid-column:1/-1; min-width:0; border:1px solid rgba(255,116,0,.4); border-radius:20px; background:linear-gradient(145deg,#021324,#041c31); box-shadow:inset 4px 0 0 #ff7400; overflow:hidden; }
.portfolio-overview.is-visible { display:block; }
.portfolio-overview-loading { min-height:180px; display:grid; place-items:center; padding:24px; color:#d6dde5; font-size:var(--vasc-font-12); }
.portfolio-overview-error { min-height:180px; display:grid; place-items:center; padding:24px; font-size:var(--vasc-font-12); }
.portfolio-overview-error { color:#ff8894; }
.portfolio-overview-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; border-bottom:1px solid rgba(255,255,255,.12); background:linear-gradient(90deg,rgba(255,116,0,.09),transparent 52%); }
.portfolio-overview-head h2 { margin:4px 0 3px; color:#fff; font-size:var(--vasc-font-20); font-weight:620; }
.portfolio-overview-head p { margin:0; color:rgba(214,221,229,.68); font-size:var(--vasc-font-12); }
.portfolio-kicker { color:#ff9a3d; font-size:var(--vasc-font-10); font-weight:700; letter-spacing:.12em; }
.portfolio-status { padding:7px 11px; border:1px solid rgba(49,240,138,.48); border-radius:999px; background:rgba(49,240,138,.08); color:#31f08a; font-size:var(--vasc-font-10); font-weight:700; }
.portfolio-kpi-grid { display:grid; gap:8px; padding:12px 14px; }
.portfolio-kpi-grid section { padding:12px 14px; border:1px solid rgba(255,255,255,.12); border-radius:11px; background:rgba(1,15,27,.48); }
.portfolio-kpi-grid span { display:block; }
.portfolio-kpi-grid strong { display:block; }
.portfolio-kpi-grid small { display:block; }
.portfolio-kpi-grid span { color:#8ca0b3; font-size:var(--vasc-font-10); text-transform:uppercase; }
.portfolio-kpi-grid strong { margin-top:5px; color:#fff; font-size:var(--vasc-font-16); }
.portfolio-kpi-grid small { margin-top:3px; color:#99aabc; font-size:var(--vasc-font-10); }
.portfolio-kpi-grid .positive { color:#31f08a; }
.score-very-strong { color:#31f08a; }
.score-good { color:#31f08a; }
.portfolio-kpi-grid .negative { color:#ff5c6c; }
.score-critical { color:#ff5c6c; }
.score-watch { color:#ffb020; }
.portfolio-live-summary { margin:0 14px 12px; border:1px solid rgba(84,200,255,.28); border-radius:12px; background:linear-gradient(90deg,rgba(84,200,255,.075),rgba(2,22,39,.72)); overflow:hidden; }
.portfolio-live-summary>header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 12px; border-bottom:1px solid rgba(255,255,255,.08); }
.portfolio-live-summary h3 { margin:0; color:#fff; font-size:var(--vasc-font-12); }
.portfolio-live-summary header span { color:#8fa6b9; font-size:var(--vasc-font-10); }
.portfolio-live-kpi-grid { display:grid; }
.portfolio-live-kpi-grid section { padding:11px 12px; }
.portfolio-live-kpi-grid section+section { border-left:1px solid rgba(255,255,255,.08); }
.portfolio-live-kpi-grid span { display:block; }
.portfolio-live-kpi-grid strong { display:block; }
.portfolio-live-kpi-grid span { color:#8ca0b3; font-size:var(--vasc-font-10); text-transform:uppercase; }
.portfolio-live-kpi-grid strong { margin-top:5px; color:#fff; font-size:var(--vasc-font-16); }
.portfolio-live-kpi-grid .positive { color:#31f08a; }
.portfolio-live-kpi-grid .negative { color:#ff5c6c; }
.portfolio-alerts { margin:0 14px 12px; padding:10px 13px; border-radius:10px; font-size:var(--vasc-font-12); }
.portfolio-all-clear { margin:0 14px 12px; padding:10px 13px; border-radius:10px; font-size:var(--vasc-font-12); }
.portfolio-alerts { border:1px solid rgba(255,176,32,.4); background:rgba(255,176,32,.07); color:#ffd18a; }
.portfolio-alerts h3 { margin:0 0 5px; color:#ffb020; font-size:var(--vasc-font-12); }
.portfolio-alerts p { margin:3px 0; }
.portfolio-all-clear { border:1px solid rgba(49,240,138,.28); background:rgba(49,240,138,.06); color:#7ff6b5; }
.portfolio-overview-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; padding:0 14px 10px; }
.portfolio-view-card { min-width:0; border:1px solid rgba(255,255,255,.12); border-radius:13px; background:rgba(2,22,39,.82); overflow:hidden; }
.portfolio-view-card>header { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 12px; border-bottom:1px solid rgba(255,255,255,.1); }
.portfolio-view-card h3 { margin:0; color:#fff; font-size:var(--vasc-font-12); }
.portfolio-view-card header p { margin:3px 0 0; color:#8fa2b5; font-size:var(--vasc-font-10); }
.portfolio-view-card header span { margin:3px 0 0; color:#8fa2b5; font-size:var(--vasc-font-10); }
.portfolio-chart-card { border-left:3px solid #ff7400; }
.portfolio-value-chart { height:460px; }
.portfolio-chart-card footer { padding:8px 12px; border-top:1px solid rgba(255,255,255,.08); color:#7890a4; font-size:var(--vasc-font-10); }
.portfolio-decision-card>header span { font-size:var(--vasc-font-12); line-height:1.35; }
.portfolio-assets-card>header span { font-size:var(--vasc-font-12); line-height:1.35; }
.portfolio-decision-card>footer { padding:7px 12px; border-top:1px solid rgba(255,255,255,.07); color:#7890a4; font-size:var(--vasc-font-10); text-align:right; }
.portfolio-chart-controls { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; padding:9px 12px; border-bottom:1px solid rgba(255,255,255,.08); background:rgba(0,0,0,.1); }
.portfolio-chart-switch { display:flex; gap:5px; flex-wrap:wrap; }
.portfolio-chart-ranges { display:flex; gap:5px; flex-wrap:wrap; }
.portfolio-chart-controls button { min-height:29px; padding:5px 10px; border:1px solid rgba(255,255,255,.14); border-radius:999px; background:rgba(2,20,38,.72); color:#8fa2b5; font-size:var(--vasc-font-10); font-weight:700; cursor:pointer; }
.portfolio-chart-controls button:hover { border-color:rgba(255,116,0,.55); color:#fff; }
.portfolio-chart-controls button.is-active { border-color:#ff7400; background:rgba(255,116,0,.16); color:#fff; box-shadow:0 0 0 1px rgba(255,116,0,.12) inset; }
.portfolio-decision-wide { margin:0 14px 10px; }
.zone-bearish { color:#31f08a!important; }
.zone-ausgewogen { color:#ffb020!important; }
.zone-bullish { color:#ff6b78!important; }
.zone-unknown { color:#9aabba!important; }
.portfolio-assets-card { margin:0 14px 10px; }
.portfolio-assets-table { overflow-x:hidden; container-type:inline-size; }
.portfolio-assets-table .table-head { min-width:980px; display:grid; grid-template-columns:minmax(150px,1.25fr) 105px 78px 86px 120px 105px 100px minmax(155px,1fr); align-items:center; gap:8px; padding:11px 12px; }
.portfolio-assets-table .table-row { min-width:980px; display:grid; grid-template-columns:minmax(150px,1.25fr) 105px 78px 86px 120px 105px 100px minmax(155px,1fr); align-items:center; gap:8px; padding:11px 12px; }
.portfolio-assets-table .table-head { color:#96aabc; font-size:var(--vasc-font-12); text-transform:uppercase; }
.portfolio-assets-table .table-row { border-top:1px solid rgba(255,255,255,.08); color:#dce5ed; font-size:var(--vasc-font-12); line-height:1.35; }
.portfolio-assets-table .table-row>span:first-child b { display:block; }
.portfolio-assets-table .table-row>span:first-child small { display:block; }
.portfolio-assets-table .table-row>span:first-child b { color:#fff; font-size:var(--vasc-font-12); }
.portfolio-assets-table .table-row>span:first-child small { margin-top:3px; color:#91a7ba; font-size:var(--vasc-font-12); }
.portfolio-assets-table .portfolio-reserve-row { min-width:0; grid-template-columns:minmax(150px,1fr) minmax(0,7fr); border-top-color:rgba(84,200,255,.28); background:rgba(84,200,255,.055); }
.portfolio-reserve-row>strong { grid-column:2/-1; justify-self:end; color:#54c8ff; font-size:var(--vasc-font-14); }
.portfolio-decision-card>summary { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 38px 9px 12px; border-bottom:1px solid rgba(255,255,255,.1); color:#fff; font-size:var(--vasc-font-12); font-weight:700; cursor:pointer; list-style:none; position:relative; }
.portfolio-decision-card>summary::-webkit-details-marker { display:none; }
.portfolio-decision-card>summary::after { content:"⌄"; position:absolute; right:14px; color:#ff8a25; font-size:var(--vasc-font-16); line-height:1; transition:transform .18s ease; }
.portfolio-decision-card[open]>summary::after { transform:rotate(180deg); }
.portfolio-decision-card>summary small { color:#8fa2b5; font-size:var(--vasc-font-10); font-weight:500; }
.portfolio-transaction-toolbar { display:flex; align-items:center; justify-content:flex-end; gap:8px; padding:9px 12px; border-bottom:1px solid rgba(255,255,255,.08); }
.portfolio-transaction-toolbar label { color:#91a7ba; font-size:var(--vasc-font-10); text-transform:uppercase; }
.portfolio-transaction-toolbar select { padding:7px 30px 7px 10px; border:1px solid rgba(255,116,0,.55); border-radius:8px; background:#061a2b; color:#fff; font:inherit; font-size:var(--vasc-font-12); }
.portfolio-transaction-groups { display:grid; gap:10px; padding:10px; }
.portfolio-transaction-group { overflow:hidden; border:1px solid rgba(49,240,138,.2); border-radius:10px; background:rgba(49,240,138,.025); }
.portfolio-transaction-group h4 { display:flex; align-items:baseline; gap:8px; margin:0; padding:9px 11px; border-bottom:1px solid rgba(255,255,255,.08); color:#fff; font-size:var(--vasc-font-12); }
.portfolio-transaction-group h4 span { color:#8ea4b6; font-size:var(--vasc-font-10); font-weight:500; }
.portfolio-transaction-head { display:grid; grid-template-columns:minmax(125px,1.1fr) minmax(145px,1.25fr) minmax(110px,1fr) minmax(110px,1fr) minmax(105px,.9fr); align-items:center; gap:10px; padding:8px 11px; }
.portfolio-transaction-row { display:grid; grid-template-columns:minmax(125px,1.1fr) minmax(145px,1.25fr) minmax(110px,1fr) minmax(110px,1fr) minmax(105px,.9fr); align-items:center; gap:10px; padding:8px 11px; }
.portfolio-transaction-head { color:#8fa4b6; font-size:var(--vasc-font-10); text-transform:uppercase; }
.portfolio-transaction-row { border-top:1px solid rgba(255,255,255,.07); color:#dce5ed; font-size:var(--vasc-font-12); }
.portfolio-transaction-row>span:first-child { color:#31f08a; font-weight:700; }
.portfolio-transaction-row.is-partial_sale>span:first-child { color:#ff6f7c; }
.portfolio-transaction-row time { color:#b7c4cf; }
.portfolio-transaction-row strong { color:#fff; text-align:right; }
.portfolio-empty { padding:20px; color:#9badbc; font-size:var(--vasc-font-12); text-align:center; }
@media(max-width:1100px) {
  .portfolio-overview { grid-column:1; }
  .portfolio-overview-grid { grid-template-columns:1fr; }
  .portfolio-decision-card { order:2; }
  .portfolio-live-kpi-grid section:nth-child(4) { border-left:0; border-top:1px solid rgba(255,255,255,.08); }
  .portfolio-live-kpi-grid section:nth-child(n+4) { border-top:1px solid rgba(255,255,255,.08); }
}
@media(max-width:900px) {
  .portfolio-overview-head { align-items:flex-start; }
  .portfolio-value-chart { height:330px; }
  .portfolio-transaction-head { display:none; }
  .portfolio-transaction-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 14px; padding:11px; }
  .portfolio-transaction-row>* { min-width:0; overflow-wrap:anywhere; }
  .portfolio-transaction-row>*::before { content:attr(data-label); display:block; margin-bottom:3px; color:#8fa4b6; font-size:var(--vasc-font-10); font-weight:500; text-transform:uppercase; }
  .portfolio-transaction-row strong { text-align:left; }
}
@media(max-width:560px) {
  .portfolio-overview { border-radius:13px; }
  .portfolio-overview-head { padding:14px; flex-direction:column; }
  .portfolio-overview-head h2 { font-size:var(--vasc-font-16); }
  .portfolio-kpi-grid { padding:9px; }
  .portfolio-live-summary { margin:0 9px 9px; }
  .portfolio-live-summary>header { align-items:flex-start; flex-direction:column; }
  .portfolio-live-kpi-grid section+section { border-left:0; border-top:1px solid rgba(255,255,255,.08); }
  .portfolio-alerts { margin:0 9px 9px; }
  .portfolio-all-clear { margin:0 9px 9px; }
  .portfolio-overview-grid { padding:0 9px 9px; }
  .portfolio-assets-card { margin:0 9px 9px; }
  .portfolio-decision-wide { margin:0 9px 9px; }
  .portfolio-value-chart { height:410px; }
  .portfolio-chart-controls { align-items:stretch; }
  .portfolio-chart-switch { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portfolio-chart-ranges { width:100%; display:grid; }
  .portfolio-chart-ranges { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portfolio-chart-controls button { white-space:normal; }
  .portfolio-decision-card>summary { align-items:flex-start; flex-direction:column; }
  .portfolio-transaction-toolbar { align-items:stretch; flex-direction:column; }
  .portfolio-transaction-toolbar select { width:100%; }
  .portfolio-transaction-row { grid-template-columns:1fr; }
  .portfolio-kpi-grid strong { font-size:var(--vasc-font-14); }
}
@container (max-width:1000px) {
  .portfolio-assets-table .table-head { display:none; }
  .portfolio-assets-table .table-row { min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:12px; }
  .portfolio-assets-table .table-row>span:first-child { grid-column:1/-1; padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.08); }
  .portfolio-assets-table .table-row>:not(:first-child) { min-width:0; overflow-wrap:anywhere; }
  .portfolio-assets-table .table-row>:nth-child(n+2)::before { display:block; margin-bottom:3px; color:#96aabc; font-size:var(--vasc-font-10); font-weight:500; text-transform:uppercase; }
  .portfolio-assets-table .table-row>:nth-child(2)::before { content:"Anteile"; }
  .portfolio-assets-table .table-row>:nth-child(3)::before { content:"Score"; }
  .portfolio-assets-table .table-row>:nth-child(4)::before { content:"Gewicht"; }
  .portfolio-assets-table .table-row>:nth-child(5)::before { content:"Portfoliowert"; }
  .portfolio-assets-table .table-row>:nth-child(6)::before { content:"Reserve"; }
  .portfolio-assets-table .table-row>:nth-child(7)::before { content:"Zone"; }
  .portfolio-assets-table .table-row>:nth-child(8)::before { content:"Letzte Transaktion"; }
  .portfolio-assets-table .portfolio-reserve-row { grid-template-columns:1fr; }
  .portfolio-reserve-row>strong { grid-column:1; justify-self:start; }
  .portfolio-assets-table .portfolio-reserve-row>strong::before { content:"EUR-Reserve"; }
}
@container (max-width:520px) {
  .portfolio-assets-table .table-row { grid-template-columns:1fr; }
  .portfolio-assets-table .table-row>span:first-child { grid-column:1; }
}
.portfolio-planner-head { display: flex; flex-wrap: wrap; }
.portfolio-planner-head h2 { font-size: var(--vasc-font-14); }
.portfolio-progress-host { flex: 1 1 340px; }
.portfolio-progress { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.portfolio-progress li { display: flex; flex-wrap: wrap; white-space: normal; overflow-wrap: anywhere; font-size: var(--vasc-font-12); }
.portfolio-progress li span { display: grid; width: 22px; }
.portfolio-progress li::after { display: none; }
.portfolio-planner-content { container: planner / inline-size; }
.portfolio-step-card { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)); }
.portfolio-step-card>* { min-width: 0; overflow-wrap: anywhere; }
.portfolio-step-copy span { display: block; }
.portfolio-step-copy strong { display: block; }
.portfolio-step-copy small { display: block; }
.portfolio-step-copy span { font-size: var(--vasc-font-12); }
.portfolio-step-copy small { font-size: var(--vasc-font-12); }
.portfolio-step-copy strong { font-size: var(--vasc-font-14); }
.portfolio-step-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; grid-column: 1/-1; }
.portfolio-action { max-width: 100%; white-space: normal; }
.portfolio-mode-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,145px),1fr)); }
.portfolio-money-field input { min-width: 0; }
.portfolio-input-field input { min-width: 0; }
.asset-row-shell { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 5px; }
.portfolio-asset-control { display: flex; align-items: center; gap: 3px; padding-right: 3px; }
.portfolio-asset-check { width: 28px; height: 28px; }
.portfolio-asset-control input { height: 30px; }
.portfolio-saved-card { display: grid; grid-template-columns: minmax(0,1fr); align-items: center; gap: 13px; padding: 12px 13px; border: 1px solid rgba(49,240,138,.22); border-radius: 11px; }
.portfolio-saved-card>* { min-width: 0; overflow-wrap: anywhere; }
.portfolio-saved-state { display: flex; align-items: center; gap: 6px; color: #31f08a; font-size: var(--vasc-font-12); font-weight: 700; text-transform: uppercase; letter-spacing: .065em; }
.portfolio-saved-state i { flex: 0 0 8px; height: 8px; border-radius: 50%; background: #31f08a; box-shadow: 0 0 9px rgba(49,240,138,.68); }
.portfolio-saved-main strong { display: block; }
.portfolio-saved-main small { display: block; }
.portfolio-saved-main strong { color: #fff; font-size: var(--vasc-font-14); font-weight: 550; }
.portfolio-saved-main small { margin-top: 4px; color: rgba(210,221,232,.68); font-size: var(--vasc-font-10); }
.portfolio-saved-facts { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,150px),1fr)); gap: 1px; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; background: rgba(255,255,255,.08); }
.portfolio-saved-facts span { min-width: 0; padding: 9px; background: #051e30; }
.portfolio-saved-facts small { display: block; white-space: normal; overflow-wrap: anywhere; }
.portfolio-saved-facts b { display: block; white-space: normal; overflow-wrap: anywhere; }
.portfolio-saved-facts small { color: rgba(210,221,232,.72); font-size: var(--vasc-font-10); text-transform: uppercase; }
.portfolio-saved-facts b { margin-top: 4px; color: #fff; font-size: var(--vasc-font-12); font-weight: 500; }
.portfolio-saved-actions .portfolio-action { width: 100%; }
.portfolio-suitability-warning { grid-column: 1/-1; padding: 8px 10px; border: 1px solid rgba(255,176,32,.4); border-radius: 7px; background: rgba(255,176,32,.08); color: #ffca72; font-size: var(--vasc-font-12); }
@container planner (min-width:520px) {
  .portfolio-saved-card { grid-template-columns: minmax(0,1fr) minmax(160px,.5fr); }
  .portfolio-saved-state { grid-column: 1/-1; }
  .portfolio-saved-main { grid-column: 1/-1; }
  .portfolio-saved-facts { grid-column: 1/-1; }
}
@container planner (min-width:1100px) {
  .portfolio-saved-card { grid-template-columns: minmax(150px,1fr) minmax(600px,3fr) minmax(165px,.8fr); }
  .portfolio-saved-state { grid-column: 1; grid-row: 1; }
  .portfolio-saved-main { grid-column: 1; grid-row: 2; }
  .portfolio-saved-facts { grid-column: 2; grid-row: 1/3; }
  .portfolio-saved-actions { grid-column: 3; grid-row: 1; }
  .portfolio-edit-select { grid-column: 3; grid-row: 2; }
}
.portfolio-overview-head>* { min-width: 0; overflow-wrap: anywhere; }
.portfolio-kpi-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,210px),1fr)); }
.portfolio-live-kpi-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,200px),1fr)); }
.portfolio-kpi-grid section { min-width: 0; overflow-wrap: anywhere; }
.portfolio-live-kpi-grid section { min-width: 0; overflow-wrap: anywhere; }
.portfolio-live-kpi-grid strong { white-space: normal; }
.portfolio-view-card>header { flex-wrap: wrap; }
.portfolio-view-card>header>* { min-width: 0; overflow-wrap: anywhere; }
.portfolio-transaction-group h4 { flex-wrap: wrap; overflow-wrap: anywhere; }
.portfolio-transaction-toolbar select { min-width: 0; max-width: 100%; }
.portfolio-chart-note { margin: 0; padding: 8px 12px; color: #54c8ff; font-size: var(--vasc-font-12); line-height: 1.4; overflow-wrap: anywhere; }
.portfolio-chart-note:empty { display: none; }

