/* Magnet Media Finanzen 2026 — lokaler, rückwärtskompatibler Ausbau */
.mm-finance-head {
  gap:18px;
  align-items:flex-start;
}
.mm-finance-head-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
}
.mm-finance-export {
  background:var(--card) !important;
  color:var(--ink) !important;
  border:1px solid var(--line) !important;
}
.mm-finance-shell { display:grid; gap:16px; min-width:0; max-width:100%; }
.mm-finance-shell > * { min-width:0; max-width:100%; }
.mm-finance-tabs {
  display:flex;
  gap:6px;
  padding:5px;
  overflow-x:auto;
  scrollbar-width:none;
  border:1px solid var(--line);
  border-radius:17px;
  background:rgba(255,255,255,.58);
  box-shadow:var(--sh-sm);
  width:100%;
  max-width:100%;
}
.mm-finance-tabs::-webkit-scrollbar { display:none; }
.mm-finance-tab {
  min-height:42px;
  padding:9px 16px;
  flex:0 0 auto;
  border:0;
  border-radius:12px;
  background:transparent;
  color:var(--ink-soft);
  font:600 13px/1.2 var(--font);
  cursor:pointer;
}
.mm-finance-tab:hover { background:var(--field); color:var(--ink); }
.mm-finance-tab.active { background:var(--ink); color:#fff; box-shadow:0 6px 16px rgba(35,40,28,.15); }

.mm-finance-banner {
  display:flex;
  align-items:flex-start;
  gap:11px;
  padding:13px 15px;
  border:1px solid #D8DACD;
  border-radius:15px;
  background:#F8F9F4;
  color:var(--ink-soft);
  font-size:12.5px;
  line-height:1.5;
}
.mm-finance-banner::before {
  content:'';
  width:9px;
  height:9px;
  margin-top:4px;
  flex:0 0 auto;
  border-radius:50%;
  background:#8B907D;
  box-shadow:0 0 0 4px rgba(139,144,125,.13);
}
.mm-finance-banner strong { color:var(--ink); }
.mm-finance-banner.connected { border-color:#BCE0CC; background:#F0F8F3; }
.mm-finance-banner.connected::before { background:#216E45; box-shadow:0 0 0 4px rgba(33,110,69,.12); }
.mm-finance-banner.preview { border-color:#E9D6A8; background:#FFF9EC; }
.mm-finance-banner.preview::before { background:#B56F11; box-shadow:0 0 0 4px rgba(181,111,17,.12); }

.mm-finance-primary {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.mm-money-card {
  min-width:0;
  min-height:126px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:18px;
  overflow:hidden;
  position:relative;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--card);
  box-shadow:var(--sh-sm);
}
.mm-money-card.hero { background:var(--ink); border-color:var(--ink); color:#fff; }
.mm-money-card.lime { background:var(--lime); border-color:rgba(79,83,32,.16); color:var(--lime-ink); }
.mm-money-card.warn { background:#FFF7E7; border-color:#F0D8A8; }
.mm-money-card .mm-card-label { color:var(--muted); font-size:11.5px; line-height:1.35; }
.mm-money-card.hero .mm-card-label { color:rgba(255,255,255,.64); }
.mm-money-card.lime .mm-card-label { color:rgba(73,78,31,.7); }
.mm-money-card .mm-card-value {
  margin-top:12px;
  overflow-wrap:anywhere;
  color:inherit;
  font-family:var(--font-display);
  font-size:29px;
  font-weight:350;
  letter-spacing:-.035em;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.mm-money-card .mm-card-meta { margin-top:8px; color:var(--muted); font-size:10.5px; line-height:1.35; }
.mm-money-card.hero .mm-card-meta { color:rgba(255,255,255,.54); }
.mm-money-card.lime .mm-card-meta { color:rgba(73,78,31,.64); }

.mm-finance-secondary {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.mm-mini-metric {
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:15px;
  background:rgba(255,255,255,.66);
}
.mm-mini-metric b { display:block; color:var(--ink); font-size:16px; font-variant-numeric:tabular-nums; }
.mm-mini-metric span { display:block; margin-top:3px; color:var(--muted); font-size:10.5px; line-height:1.3; }

.mm-finance-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr); gap:14px; align-items:start; }
.mm-finance-panel {
  min-width:0;
  padding:19px 20px;
  border:1px solid var(--line);
  border-radius:19px;
  background:var(--card);
  box-shadow:var(--sh-sm);
}
.mm-finance-panel-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:15px;
}
.mm-finance-panel h2 { color:var(--ink); font-size:15.5px; font-weight:700; letter-spacing:-.01em; }
.mm-finance-panel p { margin-top:3px; color:var(--muted); font-size:11.5px; line-height:1.45; }
.mm-panel-link {
  padding:5px 0;
  border:0;
  background:transparent;
  color:var(--ink2);
  font:650 11.5px/1.2 var(--font);
  cursor:pointer;
  white-space:nowrap;
}
.mm-panel-link:hover { color:var(--ink); }

.mm-month-list { display:grid; gap:10px; }
.mm-month-row { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:10px; align-items:center; }
.mm-month-label { color:var(--muted); font-size:11px; }
.mm-month-track { height:9px; overflow:hidden; border-radius:99px; background:var(--field); }
.mm-month-fill { height:100%; min-width:2px; border-radius:99px; background:linear-gradient(90deg,var(--ink),#68705A); }
.mm-month-fill.negative { background:linear-gradient(90deg,#B42318,#E1776E); }
.mm-month-value { min-width:88px; color:var(--ink); text-align:right; font-size:11.5px; font-weight:650; font-variant-numeric:tabular-nums; }

.mm-source-list { display:grid; gap:8px; }
.mm-source-item {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:11px 0;
  border-top:1px solid var(--line-soft);
}
.mm-source-item:first-child { padding-top:0; border-top:0; }
.mm-source-title { display:flex; gap:7px; align-items:center; flex-wrap:wrap; color:var(--ink); font-size:12.5px; font-weight:650; }
.mm-source-meta { margin-top:3px; color:var(--muted); font-size:10.5px; line-height:1.4; }
.mm-source-amount { color:var(--ink); font-size:13.5px; font-weight:750; font-variant-numeric:tabular-nums; white-space:nowrap; }
.mm-source-amount.unit-magnet_media { color:#30352A; }
.mm-source-amount.unit-bueroflink { color:#B42318; }
.mm-source-amount.unit-arc_app { color:#4E3FB6; }
.mm-source-amount.unit-mein_zuhause { color:#216E45; }

.mm-finance-empty {
  padding:28px 18px;
  border:1px dashed var(--line);
  border-radius:15px;
  color:var(--muted);
  text-align:center;
  font-size:12.5px;
  line-height:1.5;
}
.mm-finance-table-wrap { overflow:auto; border:1px solid var(--line); border-radius:17px; background:var(--card); }
.mm-finance-table { width:100%; min-width:760px; border-collapse:collapse; }
.mm-finance-table th {
  padding:11px 13px;
  border-bottom:1px solid var(--line);
  background:#F5F6F1;
  color:var(--muted);
  text-align:left;
  font-size:10.5px;
  font-weight:750;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.mm-finance-table td { padding:13px; border-bottom:1px solid var(--line-soft); color:var(--ink-soft); font-size:12px; line-height:1.4; vertical-align:top; }
.mm-finance-table tbody tr:last-child td { border-bottom:0; }
.mm-finance-table tbody tr:hover { background:#FAFBF7; }
.mm-finance-table .money { color:var(--ink); text-align:right; font-weight:750; white-space:nowrap; font-variant-numeric:tabular-nums; }
.mm-finance-table .money.unit-magnet_media { color:#30352A; }
.mm-finance-table .money.unit-bueroflink { color:#B42318; }
.mm-finance-table .money.unit-arc_app { color:#4E3FB6; }
.mm-finance-table .money.unit-mein_zuhause { color:#216E45; }
.mm-finance-table .muted { color:var(--muted); font-size:10.5px; }
.mm-finance-table .danger { color:#B42318; }
.mm-status-pill {
  display:inline-flex;
  align-items:center;
  min-height:23px;
  padding:3px 8px;
  border-radius:99px;
  background:var(--field);
  color:var(--ink-soft);
  font-size:9.5px;
  font-weight:750;
  white-space:nowrap;
}
.mm-status-pill.ok { background:#EAF6EF; color:#216E45; }
.mm-status-pill.warn { background:#FFF2D8; color:#8A5A12; }
.mm-status-pill.cancel { background:#FEECEC; color:#B42318; }

.mm-expense-layout { display:grid; grid-template-columns:minmax(420px,.9fr) minmax(0,1.1fr); gap:14px; align-items:start; }
.mm-expense-form { display:grid; gap:14px; scroll-margin-top:132px; }
.mm-mobile-income-list { display:none; }
.mm-mobile-income-card {
  display:grid;
  gap:11px;
  padding:15px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--card);
}
.mm-mobile-income-head,
.mm-mobile-income-foot {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.mm-mobile-income-card strong { color:var(--ink); font-size:13px; line-height:1.35; }
.mm-mobile-income-card .muted { color:var(--muted); font-size:10.5px; line-height:1.45; overflow-wrap:anywhere; }
.mm-mobile-income-description { color:var(--ink-soft); font-size:11.5px; line-height:1.45; }
.mm-mobile-income-amount {
  color:var(--ink);
  font-size:17px;
  font-weight:780;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.mm-mobile-income-amount.unit-magnet_media { color:#30352A; }
.mm-mobile-income-amount.unit-bueroflink { color:#B42318; }
.mm-mobile-income-amount.unit-arc_app { color:#4E3FB6; }
.mm-mobile-income-amount.unit-mein_zuhause { color:#216E45; }
.mm-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.mm-form-field { display:grid; gap:6px; min-width:0; }
.mm-form-field.wide { grid-column:1/-1; }
.mm-form-field > span { color:var(--ink-soft); font-size:11px; font-weight:700; }
.mm-form-field input,
.mm-form-field select,
.mm-form-field textarea {
  width:100%;
  min-height:43px;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:11px;
  outline:0;
  background:#FAFBF7;
  color:var(--ink);
  font:500 13px/1.35 var(--font);
}
.mm-form-field textarea { min-height:76px; resize:vertical; }
.mm-form-field input:focus,
.mm-form-field select:focus,
.mm-form-field textarea:focus { border-color:#747A65; box-shadow:0 0 0 3px rgba(223,243,92,.36); }
.mm-form-checks { display:grid; gap:8px; }
.mm-form-check {
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#FAFBF7;
  color:var(--ink-soft);
  font-size:11.5px;
  line-height:1.4;
}
.mm-form-check input { width:17px; height:17px; margin-top:0; accent-color:var(--ink); flex:0 0 auto; }
.mm-form-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.mm-form-note { color:var(--muted); font-size:10.5px; line-height:1.45; }

.mm-euer-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.mm-euer-card { padding:17px; border:1px solid var(--line); border-radius:17px; background:var(--card); }
.mm-euer-card.result { background:var(--ink); border-color:var(--ink); color:#fff; }
.mm-euer-card span { display:block; color:var(--muted); font-size:11px; }
.mm-euer-card.result span { color:rgba(255,255,255,.62); }
.mm-euer-card b { display:block; margin-top:9px; color:inherit; font-family:var(--font-display); font-size:28px; font-weight:350; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.mm-euer-card small { display:block; margin-top:7px; color:var(--muted); font-size:10px; line-height:1.4; }
.mm-euer-card.result small { color:rgba(255,255,255,.55); }

.mm-tax-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:14px; align-items:start; }
.mm-tax-limits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.mm-tax-limit {
  padding:16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#FAFBF7;
}
.mm-tax-limit h3 { color:var(--ink); font-size:13px; }
.mm-tax-limit .mm-limit-value { margin:10px 0 8px; color:var(--ink); font-family:var(--font-display); font-size:22px; font-variant-numeric:tabular-nums; }
.mm-limit-track { height:8px; overflow:hidden; border-radius:99px; background:#E7E9DF; }
.mm-limit-fill { height:100%; min-width:2px; border-radius:99px; background:#7C826C; }
.mm-limit-fill.near { background:#C17A18; }
.mm-limit-fill.over { background:#B42318; }
.mm-tax-limit p { margin-top:8px; font-size:10.5px; }
.mm-tax-limit.foundation { grid-column:1/-1; }

.mm-tax-checklist { display:grid; gap:8px; }
.mm-tax-check {
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:11px;
  border:1px solid var(--line-soft);
  border-radius:12px;
  background:#FAFBF7;
  color:var(--ink-soft);
  font-size:11.5px;
  line-height:1.4;
}
.mm-tax-check input { width:18px; height:18px; flex:0 0 auto; accent-color:var(--ink); }
.mm-tax-progress { margin-top:13px; color:var(--muted); font-size:10.5px; }
.mm-tax-progress b { color:var(--ink); }
.mm-tax-actions { display:flex; gap:8px; margin-top:14px; flex-wrap:wrap; }

@media (max-width:980px) {
  .mm-finance-primary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mm-finance-secondary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mm-finance-grid,
  .mm-expense-layout,
  .mm-tax-grid { grid-template-columns:1fr; }
}

@media (max-width:760px) {
  .mm-finance-head { flex-direction:column; width:100%; }
  .mm-finance-head > div:first-child { width:100%; }
  .mm-finance-head-actions {
    width:100%;
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:8px !important;
  }
  .mm-finance-head-actions .aus-year { grid-column:1/-1; width:100%; min-width:0; min-height:46px; }
  .mm-finance-head-actions .toolbar-btn { width:100%; min-width:0; padding-left:10px; padding-right:10px; }
  .mm-finance-shell { gap:12px; }
  .mm-finance-banner { display:block; overflow-wrap:anywhere; }
  .mm-finance-banner::before { display:inline-block; margin-right:8px; vertical-align:top; }
  .mm-finance-tabs {
    position:sticky;
    top:72px;
    z-index:54;
    margin:0 -1px;
    background:rgba(246,247,242,.97);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    scroll-margin-top:72px;
  }
  .mm-finance-tab { min-height:44px; padding:9px 7px; font-size:11.5px; }
  .mm-money-card { min-height:112px; padding:15px; border-radius:18px; box-shadow:none; }
  .mm-money-card .mm-card-value { font-size:24px; }
  .mm-finance-banner { border-radius:14px; }
  .mm-finance-panel { padding:16px; border-radius:18px; box-shadow:none; }
  .mm-month-row { grid-template-columns:32px minmax(0,1fr) auto; gap:7px; }
  .mm-month-value { min-width:74px; font-size:10.5px; }
  .mm-form-grid { grid-template-columns:1fr; }
  .mm-form-field.wide { grid-column:auto; }
  .mm-euer-cards { grid-template-columns:1fr; }
  .mm-euer-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:4px 12px; }
  .mm-euer-card b { grid-column:2; grid-row:1/3; margin:0; font-size:24px; }
  .mm-euer-card small { margin:0; }
  .mm-tax-limits { grid-template-columns:1fr; }
  .mm-tax-limit.foundation { grid-column:auto; }
  .mm-income-table { display:none; }
  .mm-mobile-income-list { display:grid; gap:9px; }
}

@media (max-width:390px) {
  .mm-finance-primary { gap:8px; }
  .mm-money-card { min-height:106px; padding:13px; }
  .mm-money-card .mm-card-value { font-size:21px; }
  .mm-finance-secondary { grid-template-columns:1fr 1fr; gap:7px; }
  .mm-mini-metric { padding:11px; }
}
