@import url('/assets/contracts.css?v=20260809-business-account1');

:root {
    color-scheme: light;
    --ink: #14231d;
    --muted: #64716b;
    --paper: #f5f7f2;
    --surface: #ffffff;
    --line: #dfe5dd;
    --accent: #19a974;
    --accent-dark: #087a54;
    --accent-soft: #dff7eb;
    --navy: #10251d;
    --danger: #b63838;
    --danger-soft: #fff0f0;
    --shadow: 0 24px 80px rgba(18, 45, 35, 0.12);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Passkeys and account security */
.passkey-auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 15% 10%,rgba(26,174,119,.12),transparent 34%),#f3f6f1}
.passkey-auth-card{width:min(100%,520px);padding:38px;border:1px solid #dce5de;border-radius:28px;background:#fff;box-shadow:0 24px 70px rgba(13,43,31,.12)}
.passkey-auth-card h1,.security-card h2,.recovery-code-card h2{margin:8px 0 10px;color:#10271e}
.passkey-auth-card>p:not(.eyebrow):not(.passkey-message){color:#66766f;line-height:1.55}
.passkey-hero-icon{display:grid;place-items:center;width:62px;height:62px;margin:28px 0 18px;border-radius:20px;background:#0d2c21;color:#fff;font-size:30px;font-weight:900}
.passkey-message{margin:14px 0;padding:11px 13px;border-radius:10px;background:#eaf8f1;color:#087c58}
.passkey-message--error{background:#fff0f0;color:#a63434}
.passkey-recovery{margin-top:22px;padding-top:18px;border-top:1px solid #e4ebe6}
.passkey-recovery summary{cursor:pointer;color:#53655d;font-weight:800}
.passkey-recovery form{display:grid;gap:12px;margin-top:15px}
.passkey-recovery label,.security-card label{display:grid;gap:7px;color:#50625a;font-weight:800}
.passkey-recovery input,.security-card input{width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #cedbd3;border-radius:11px;background:#fff;font:inherit}
.passkey-cancel{margin-top:20px;text-align:center}
.passkey-cancel button{border:0;background:none;color:#718078;text-decoration:underline;cursor:pointer}
.security-setup-page{max-width:1040px}
.security-page,.security-setup-page{padding-bottom:70px}
.security-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:20px;margin:25px 0}
.security-card,.recovery-code-card{padding:27px;border:1px solid #dbe4dd;border-radius:22px;background:#fff;box-shadow:0 14px 42px rgba(14,44,32,.06)}
.security-card--register{background:linear-gradient(145deg,#fff 55%,#eaf8f1)}
.security-card p:not(.eyebrow),.recovery-code-card p{color:#697970;line-height:1.55}
.security-card form{margin-top:18px}
.security-card .passkey-hero-icon{margin-top:0}
.security-credentials{margin-top:30px}
.recovery-code-card{margin:22px 0;border-color:#9edbc1;background:#f2fbf7}
.recovery-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:20px 0}
.recovery-code-grid code{padding:10px 12px;border:1px solid #cee8dc;border-radius:9px;background:#fff;color:#173c2e;font-size:13px;text-align:center;word-break:break-all}
@media(max-width:760px){
    .passkey-auth-shell{padding:14px}
    .passkey-auth-card{padding:25px;border-radius:22px}
    .security-grid{grid-template-columns:1fr}
    .recovery-code-grid{grid-template-columns:1fr}
}
@media print{
    .topbar,.app-primary-sidebar,.security-grid,.security-credentials,.passkey-cancel{display:none!important}
    .recovery-code-card{box-shadow:none;border:1px solid #bbb}
}

* { box-sizing: border-box; }

body {
    margin: 0;
    min-height: 100vh;
    background: var(--paper);
    color: var(--ink);
}

button, input { font: inherit; }
a { color: inherit; text-decoration: none; }

.brand {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.brand--small { font-size: 1.05rem; }

.brand__mark {
    display: block;
    width: 2.6rem;
    height: 2.6rem;
    flex: 0 0 auto;
    border-radius: 0.7rem;
    box-shadow: 0 10px 24px rgba(25, 169, 116, 0.24);
}

.brand--small .brand__mark { width: 2.2rem; height: 2.2rem; }

.auth-page {
    background:
        radial-gradient(circle at 10% 10%, rgba(25, 169, 116, 0.18), transparent 30rem),
        var(--navy);
}

.auth-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(22rem, 0.9fr);
    min-height: 100vh;
}

.auth-intro {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(2rem, 7vw, 7rem);
    color: white;
}

.auth-intro h1 {
    max-width: 10ch;
    margin: 0 0 1.5rem;
    font-size: clamp(3.3rem, 7vw, 7rem);
    line-height: 0.94;
    letter-spacing: -0.07em;
}

.auth-intro p:not(.eyebrow) {
    max-width: 36rem;
    color: rgba(255, 255, 255, 0.68);
    font-size: 1.1rem;
    line-height: 1.7;
}

.login-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2rem;
    margin: 1.25rem;
    padding: clamp(2rem, 6vw, 5.5rem);
    border-radius: 2rem;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.login-card h2 { margin: 0; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -0.05em; }
.eyebrow { margin: 0 0 0.65rem; color: var(--accent-dark); font-size: 0.76rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }

.login-form { display: grid; gap: 1.25rem; }
.login-form label { display: grid; gap: 0.5rem; color: var(--muted); font-size: 0.88rem; font-weight: 700; }
.login-form input {
    width: 100%;
    padding: 0.95rem 1rem;
    border: 1px solid var(--line);
    border-radius: 0.85rem;
    outline: none;
    background: #fbfcfa;
    color: var(--ink);
    transition: border-color 160ms, box-shadow 160ms;
}
.login-form input:focus { border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); }
.login-form .remember-login { display:flex; flex-direction:row; align-items:flex-start; gap:.75rem; cursor:pointer; }
.login-form .remember-login input { width:1.1rem; height:1.1rem; margin:.15rem 0 0; padding:0; accent-color:var(--accent); box-shadow:none; }
.remember-login > span { display:grid; gap:.18rem; color:var(--ink); }
.remember-login small { color:var(--muted); font-weight:400; }

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.7rem;
    padding: 0.7rem 1.1rem;
    border: 0;
    border-radius: 0.8rem;
    cursor: pointer;
    font-weight: 750;
}
.button--primary { margin-top: 0.5rem; background: var(--accent); color: white; }
.button--primary:hover { background: var(--accent-dark); }
.button--quiet { min-height: auto; background: transparent; color: var(--muted); }
.button--quiet:hover { background: var(--paper); color: var(--ink); }

.alert { padding: 0.9rem 1rem; border: 1px solid #f2cccc; border-radius: 0.8rem; background: var(--danger-soft); color: var(--danger); font-size: 0.9rem; }

.info-page {
    background:
        radial-gradient(circle at 8% 0, rgba(25, 169, 116, 0.13), transparent 28rem),
        var(--paper);
}
.info-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 5rem;
    padding: 0 5vw;
    border-bottom: 1px solid rgba(223, 229, 221, 0.82);
    background: rgba(255, 255, 255, 0.78);
    backdrop-filter: blur(16px);
}
.info-shell { width: min(52rem, 90vw); margin: 0 auto; padding: clamp(3rem, 8vw, 6rem) 0; }
.info-hero { margin-bottom: 2rem; }
.info-hero h1 { margin: 0; font-size: clamp(3rem, 8vw, 5.6rem); line-height: 0.95; letter-spacing: -0.065em; }
.info-hero > p:last-child { max-width: 39rem; margin: 1.2rem 0 0; color: var(--muted); font-size: 1.05rem; line-height: 1.65; }
.info-card { padding: clamp(1.5rem, 5vw, 3.5rem); border: 1px solid var(--line); border-radius: 1.7rem; background: rgba(255, 255, 255, 0.94); box-shadow: var(--shadow); }
.info-card section + section { margin-top: 2.2rem; padding-top: 2.2rem; border-top: 1px solid var(--line); }
.info-card h2 { margin: 0 0 0.75rem; font-size: 1.15rem; letter-spacing: -0.025em; }
.info-card p,.info-card li { color: var(--muted); line-height: 1.7; }
.info-card p { margin: 0.55rem 0; }
.info-card ul { margin: 0.7rem 0 0; padding-left: 1.25rem; }
.info-card a { color: var(--accent-dark); font-weight: 750; }
.info-card__footer { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2.5rem; padding-top: 1.3rem; border-top: 1px solid var(--line); color: var(--muted); font-size: 0.78rem; }

.open-banking-hero { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:1.4rem; align-items:center; padding:clamp(1.4rem,4vw,2.4rem); border:1px solid rgba(25,169,116,.25); border-radius:1.6rem; background:linear-gradient(135deg,#fff 0%,#e9faf2 100%); box-shadow:0 18px 50px rgba(18,45,35,.08); }
.open-banking-hero__mark { display:grid; width:4.4rem; height:4.4rem; place-items:center; border-radius:1.25rem; background:var(--navy); color:#fff; font-size:1.15rem; font-weight:900; letter-spacing:-.06em; }
.open-banking-hero h2 { margin:0; font-size:clamp(1.5rem,3vw,2.2rem); letter-spacing:-.04em; }
.open-banking-hero p:not(.eyebrow) { max-width:44rem; margin:.5rem 0 1rem; color:var(--muted); line-height:1.55; }
.open-banking-heading { margin-top:3.5rem; }
.open-banking-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr)); gap:1rem; }
.open-banking-account { padding:1.4rem; border:1px solid var(--line); border-radius:1.25rem; background:var(--surface); box-shadow:0 12px 34px rgba(18,45,35,.05); }
.open-banking-account__top { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.open-banking-account__state { color:var(--accent-dark); font-size:.72rem; font-weight:850; }
.open-banking-account h3 { margin:1rem 0 .25rem; font-size:1.3rem; letter-spacing:-.03em; }
.open-banking-account > p { margin:0 0 1.2rem; color:var(--muted); }
.open-banking-account form { display:grid; gap:.7rem; margin-top:1.2rem; }
.open-banking-account label { display:grid; gap:.4rem; color:var(--muted); font-size:.75rem; font-weight:800; }
.open-banking-account input { width:100%; padding:.78rem .85rem; border:1px solid var(--line); border-radius:.75rem; background:#fbfcfa; color:var(--ink); font:inherit; }
.open-banking-connect-form { display:grid; min-width:min(22rem,100%); gap:.7rem; }
.open-banking-connect-form label { display:grid; gap:.4rem; color:var(--muted); font-size:.75rem; font-weight:800; }
.open-banking-connect-form select { width:100%; min-width:0; padding:.82rem .9rem; border:1px solid var(--line); border-radius:.8rem; background:var(--surface); color:var(--ink); font:inherit; }
.open-banking-connections { display:grid; gap:1.35rem; }
.open-banking-connection { padding:clamp(1.15rem,3vw,1.8rem); border:1px solid var(--line); border-radius:1.5rem; background:linear-gradient(145deg,#fff 0%,#f8fbf8 100%); box-shadow:0 14px 42px rgba(18,45,35,.05); }
.open-banking-connection__heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }
.open-banking-connection__heading h2 { margin:.1rem 0 .65rem; font-size:clamp(1.55rem,3vw,2.25rem); letter-spacing:-.04em; }
.open-banking-connection__heading form { flex:0 0 auto; }

.topbar {
    position: sticky;
    z-index: 90;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 4.8rem;
    padding: 0 5vw;
    border-bottom: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(16px);
}

.account { display: flex; align-items: center; gap: 1rem; color: var(--muted); font-size: 0.88rem; }
.page { width: min(74rem, 90vw); margin: 0 auto; padding: clamp(3rem, 7vw, 6rem) 0; }
.app-shell { display:grid; grid-template-columns:clamp(14rem,16vw,16.5rem) minmax(0,1fr); min-height:calc(100vh - 4.8rem); }
.app-shell__content { min-width:0; }
.app-primary-sidebar { position:sticky; z-index:30; top:4.8rem; display:flex; height:calc(100vh - 4.8rem); align-self:start; flex-direction:column; gap:1.4rem; padding:1.6rem 1rem; overflow-y:auto; overscroll-behavior:contain; border-right:1px solid var(--line); background:linear-gradient(180deg,#fff 0%,#f6faf7 100%); scrollbar-color:#b8c8bf transparent; scrollbar-width:thin; }
.app-primary-sidebar::-webkit-scrollbar { width:.45rem; }
.app-primary-sidebar::-webkit-scrollbar-thumb { border-radius:999px; background:#b8c8bf; }
.app-primary-sidebar__heading { display:flex; align-items:center; gap:.75rem; padding:.25rem .45rem .8rem; }
.app-primary-sidebar__heading .eyebrow { margin:0 0 .1rem; font-size:.58rem; }
.app-primary-sidebar__heading strong { font-size:1rem; letter-spacing:-.025em; }
.app-primary-sidebar__mark { display:grid; width:2.35rem; height:2.35rem; flex:0 0 auto; place-items:center; border-radius:.75rem; background:var(--accent); color:#fff; font-weight:950; box-shadow:0 8px 22px rgba(25,169,116,.18); }
.app-primary-nav { display:grid; gap:.38rem; }
.app-primary-nav__item { display:grid; grid-template-columns:1.8rem minmax(0,1fr) auto; align-items:center; gap:.65rem; min-height:3.25rem; padding:.65rem .75rem; border:1px solid transparent; border-radius:.85rem; color:var(--muted); transition:background 140ms,border-color 140ms,color 140ms,transform 140ms; }
.app-primary-nav__item > span { display:grid; width:1.75rem; height:1.75rem; place-items:center; border-radius:.55rem; background:var(--paper); color:var(--accent-dark); font-size:.8rem; font-weight:900; }
.app-primary-nav__item strong { font-size:.78rem; line-height:1.25; }
.app-primary-nav__item > b { color:#a3ada8; font-size:1.1rem; }
.app-primary-nav__item:hover { border-color:#cfe3d7; background:#fff; color:var(--ink); transform:translateX(.12rem); }
.app-primary-nav__item--active { border-color:#a9dbc0; background:var(--accent-soft); color:var(--accent-dark); box-shadow:0 8px 24px rgba(25,169,116,.08); }
.app-primary-nav__item--active > span { background:var(--accent); color:#fff; }
.app-primary-sidebar__account { display:grid; gap:.35rem; margin-top:auto; padding:.85rem .75rem .25rem; border-top:1px solid var(--line); }
.app-primary-sidebar__account small { overflow:hidden; color:var(--muted); font-size:.65rem; text-overflow:ellipsis; white-space:nowrap; }
.app-primary-sidebar__account form { margin:0; }
.app-primary-sidebar__account button { padding:0; border:0; background:none; color:var(--accent-dark); font:inherit; font-size:.7rem; font-weight:850; cursor:pointer; }
.has-app-sidebar .transaction-sticky-header { left:calc(clamp(14rem,16vw,16.5rem) + clamp(15rem,20vw,19rem)); }
.admin-center-shell { display:grid; grid-template-columns:clamp(13.5rem,17vw,16.5rem) minmax(0,1fr); min-height:calc(100vh - 4.8rem); }
.admin-center-sidebar { position:sticky; z-index:20; top:4.8rem; display:flex; height:calc(100vh - 4.8rem); align-self:start; flex-direction:column; gap:1.4rem; padding:1.6rem 1rem; overflow-y:auto; border-right:1px solid var(--line); background:linear-gradient(180deg,#fff 0%,#f8fbf8 100%); }
.admin-center-sidebar__heading { display:flex; align-items:center; gap:.75rem; padding:.25rem .4rem .8rem; }
.admin-center-sidebar__heading .eyebrow { margin:0 0 .1rem; font-size:.58rem; }
.admin-center-sidebar__heading strong { font-size:1rem; letter-spacing:-.025em; }
.admin-center-sidebar__mark { display:grid; width:2.35rem; height:2.35rem; flex:0 0 auto; place-items:center; border-radius:.75rem; background:var(--navy); color:#fff; font-weight:900; }
.admin-center-nav { display:grid; gap:.38rem; }
.admin-center-nav__item { display:grid; grid-template-columns:1.8rem minmax(0,1fr) auto; align-items:center; gap:.65rem; min-height:3.25rem; padding:.65rem .75rem; border:1px solid transparent; border-radius:.85rem; color:var(--muted); transition:background 140ms,border-color 140ms,color 140ms,transform 140ms; }
.admin-center-nav__item > span { display:grid; width:1.75rem; height:1.75rem; place-items:center; border-radius:.55rem; background:var(--paper); color:var(--accent-dark); font-size:.78rem; font-weight:900; }
.admin-center-nav__item strong { font-size:.76rem; line-height:1.25; }
.admin-center-nav__item > b { color:#a3ada8; font-size:1.1rem; }
.admin-center-nav__item:hover { border-color:#cfe3d7; background:#fff; color:var(--ink); transform:translateX(.12rem); }
.admin-center-nav__item--active { border-color:#a9dbc0; background:var(--accent-soft); color:var(--accent-dark); box-shadow:0 8px 24px rgba(25,169,116,.08); }
.admin-center-nav__item--active > span { background:var(--accent); color:#fff; }
.admin-center-sidebar__back { margin-top:auto; padding:.7rem .75rem; color:var(--muted); font-size:.7rem; font-weight:800; }
.admin-center-sidebar__back:hover { color:var(--accent-dark); }
.admin-center-content { min-width:0; }
.admin-center-content > .page { width:min(74rem,calc(100% - 4rem)); }
.admin-center-content--wide { min-width:0; }
.mail-status-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin-bottom:1.5rem; }
.mail-status-card { display:grid; gap:.35rem; padding:1.2rem; border:1px solid var(--line); border-radius:1rem; background:var(--surface); }
.mail-status-card span { color:var(--muted); font-size:.67rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mail-status-card strong { overflow-wrap:anywhere; font-size:.92rem; }
.mail-action-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1.5rem 0; }
.mail-action-card { display:flex; min-height:13rem; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:1.5rem; padding:1.4rem; border:1px solid var(--line); border-radius:1.2rem; background:linear-gradient(145deg,#fff,#f8fbf8); box-shadow:0 10px 30px rgba(18,45,35,.045); }
.mail-action-card__head { display:grid; gap:.45rem; }
.mail-action-card__head > span { display:grid; width:2.5rem; height:2.5rem; margin-bottom:.35rem; place-items:center; border-radius:.8rem; background:var(--navy); color:#fff; font-size:1rem; font-weight:900; }
.mail-action-card h2 { margin:0; font-size:1.15rem; letter-spacing:-.03em; }
.mail-action-card p { margin:0; color:var(--muted); font-size:.8rem; line-height:1.5; }
.mail-action-card form,.mail-action-card .button { width:100%; margin:0; }
.mail-provider-card { margin:1.5rem 0; padding:1.5rem; border:1px solid #badfca; border-radius:1.35rem; background:linear-gradient(145deg,#fff 0%,#f1faf5 100%); box-shadow:0 16px 42px rgba(18,45,35,.06); scroll-margin-top:6rem; }
.mail-provider-card__intro { display:flex; align-items:flex-start; justify-content:space-between; gap:1.5rem; }
.mail-provider-card__intro h2 { margin:.25rem 0 .45rem; font-size:1.45rem; letter-spacing:-.035em; }
.mail-provider-card__intro p:not(.eyebrow) { max-width:43rem; margin:0; color:var(--muted); font-size:.82rem; line-height:1.55; }
.mail-provider-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; margin:1.4rem 0; padding:0; list-style:none; counter-reset:none; }
.mail-provider-steps li { display:flex; min-width:0; gap:.7rem; padding:.9rem; border:1px solid rgba(16,37,29,.08); border-radius:.9rem; background:rgba(255,255,255,.8); }
.mail-provider-steps li > span { display:grid; width:1.7rem; height:1.7rem; flex:0 0 auto; place-items:center; border-radius:.55rem; background:var(--accent); color:#fff; font-size:.7rem; font-weight:900; }
.mail-provider-steps li div { display:grid; gap:.25rem; min-width:0; }
.mail-provider-steps strong { font-size:.75rem; line-height:1.3; }
.mail-provider-steps small { color:var(--muted); font-size:.66rem; line-height:1.45; }
.mail-provider-card__actions { display:flex; flex-wrap:wrap; gap:.7rem; }
.mail-provider-card .info-box + .mail-provider-card__actions { margin-top:1.35rem; }
.mail-provider-card__actions form { margin:0; }
.mail-provider-card__actions .button { margin:0; }
.mail-provider-card__note { margin:1rem 0 0; color:var(--muted); font-size:.7rem; }
.hero { margin-bottom: 4.5rem; }
.hero h1 { margin: 0; font-size: clamp(3rem, 7vw, 6rem); line-height: 1; letter-spacing: -0.065em; }
.hero > p:last-child { max-width: 37rem; color: var(--muted); font-size: 1.12rem; }
.dashboard-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(19rem,25rem); gap:clamp(2rem,6vw,5rem); align-items:center; margin-bottom:4.5rem; }
.dashboard-intro .hero { margin:0; }
.weather-goodie { position:relative; overflow:hidden; padding:1.2rem; border:1px solid var(--line); border-radius:1.25rem; background:rgba(255,255,255,.72); box-shadow:0 12px 34px rgba(18,45,35,.045); }
.weather-goodie::after { position:absolute; right:-3rem; bottom:-4rem; width:9rem; height:9rem; border-radius:50%; background:var(--accent-soft); content:""; opacity:.55; pointer-events:none; }
.weather-goodie__top { position:relative; z-index:1; display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.weather-goodie__top h2 { margin:0; font-size:1.15rem; letter-spacing:-.03em; }
.weather-goodie__top .eyebrow { margin-bottom:.3rem; font-size:.61rem; }
.weather-goodie__current-icon { display:grid; width:2.45rem; height:2.45rem; place-items:center; border-radius:.8rem; background:var(--paper); color:var(--accent-dark); font-size:1.35rem; }
.weather-goodie__empty { position:relative; z-index:1; }
.weather-goodie__empty p { margin:.85rem 0; color:var(--muted); font-size:.78rem; line-height:1.45; }
.weather-location-button,.weather-goodie__footer button { padding:0; border:0; background:transparent; color:var(--accent-dark); cursor:pointer; font:inherit; font-size:.72rem; font-weight:800; }
.weather-current { position:relative; z-index:1; display:flex; align-items:baseline; gap:.6rem; margin:.75rem 0 .2rem; }
.weather-current strong { font-size:2rem; letter-spacing:-.06em; }
.weather-current span { color:var(--muted); font-size:.78rem; }
.weather-next-hour { position:relative; z-index:1; margin:.45rem 0 .7rem; padding:.42rem .55rem; border-left:2px solid #b9c9c1; border-radius:0 .45rem .45rem 0; background:rgba(245,247,242,.72); color:#718079; font-size:.64rem; line-height:1.4; }
.weather-change { position:relative; z-index:1; min-height:1.1rem; margin:.2rem 0 .9rem; color:var(--ink); font-size:.74rem; font-weight:700; }
.weather-forecast { position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,1fr); gap:.35rem; }
.weather-day { display:grid; justify-items:center; gap:.15rem; padding:.45rem .2rem; border-radius:.7rem; background:rgba(245,247,242,.8); }
.weather-day span { color:var(--muted); font-size:.59rem; font-weight:800; text-transform:uppercase; }
.weather-day b { color:var(--accent-dark); font-size:1rem; }
.weather-day small { font-size:.62rem; font-weight:700; }
.weather-goodie__footer { position:relative; z-index:1; display:flex; justify-content:space-between; gap:.7rem; margin-top:.7rem; color:var(--muted); }
.weather-goodie__footer small { font-size:.57rem; }
.weather-goodie__footer button { color:var(--muted); font-size:.58rem; }
.weather-goodie__error { position:relative; z-index:1; margin:.7rem 0 0; color:var(--muted); font-size:.72rem; line-height:1.4; }
.weather-goodie--loading { opacity:.7; }
.section-heading { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.3rem; }
.section-heading h2 { margin: 0; font-size: 1.3rem; letter-spacing: -0.025em; }
.status-pill { padding: 0.3rem 0.65rem; border-radius: 999px; background: var(--accent-soft); color: var(--accent-dark); font-size: 0.72rem; font-weight: 800; text-transform: uppercase; }
.status-pill--success { background: var(--accent-soft); color: var(--accent-dark); }
.status-pill--warning { background: #fff4d6; color: #8a6400; }
.status-pill--danger { background: #fff0f0; color: var(--danger); }
.automation-failure-count { color: var(--danger); font-weight: 900; }
.tile-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
.app-tile { position: relative; display: grid; min-height: 18rem; align-content: space-between; padding: 1.5rem; border: 1px solid var(--line); border-radius: 1.4rem; background: var(--surface); box-shadow: 0 12px 36px rgba(18, 45, 35, 0.05); }
.app-tile__icon { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: 1rem; background: var(--navy); color: white; font-size: 1.4rem; }
.app-tile h3 { margin: 0 0 0.55rem; font-size: 1.25rem; }
.app-tile p { margin: 0; color: var(--muted); line-height: 1.55; }
.app-tile__state { position: absolute; top: 1.5rem; right: 1.5rem; color: var(--muted); font-size: 0.76rem; font-weight: 700; }
.app-tile--active { transition: transform 160ms, border-color 160ms, box-shadow 160ms; }
.app-tile--active:hover { transform: translateY(-3px); border-color: var(--accent); box-shadow: 0 18px 44px rgba(18,45,35,.1); }
.account-radar-tile { grid-column:1/-1; min-height:18rem; align-content:start; gap:1rem; }
.account-radar-tile__head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1rem; }
.account-radar-tile__head h3 { margin:0; }
.account-radar-tile__head .eyebrow { margin-bottom:.25rem; }
.account-radar-count { display:grid; min-width:2rem; height:2rem; padding:0 .55rem; place-items:center; border-radius:999px; background:var(--danger-soft); color:var(--danger); font-size:.78rem; font-weight:900; }
.account-radar-count--clear { background:var(--accent-soft); color:var(--accent-dark); }
.account-radar-list { display:grid; gap:.38rem; }
.account-radar-item { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.35rem; padding:.25rem .35rem .25rem .65rem; border-radius:.75rem; background:var(--paper); transition:background 140ms,transform 140ms; }
.account-radar-item:hover { background:var(--accent-soft); transform:translateX(.15rem); }
.account-radar-item__link { display:grid; grid-template-columns:1.7rem minmax(0,1fr) auto; align-items:center; min-width:0; gap:.65rem; padding:.3rem 0; color:inherit; text-decoration:none; }
.account-radar-item__link > span:first-child { display:grid; width:1.45rem; height:1.45rem; place-items:center; border-radius:.45rem; font-size:.72rem; font-weight:950; }
.account-radar-item--danger .account-radar-item__link > span:first-child { background:#ffe1e1; color:var(--danger); }
.account-radar-item--warning .account-radar-item__link > span:first-child { background:#fff1c9; color:#7a5600; }
.account-radar-item__link > span:nth-child(2) { display:grid; min-width:0; gap:.08rem; }
.account-radar-item strong { overflow:hidden; font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }
.account-radar-item small { overflow:hidden; color:var(--muted); font-size:.65rem; text-overflow:ellipsis; white-space:nowrap; }
.account-radar-item__meta { display:flex; align-items:center; gap:.65rem; }
.account-radar-item__meta > b { color:var(--muted); font-size:.75rem; }
.account-radar-item__amount { padding:.3rem .48rem; border-radius:.5rem; background:#fff; font-size:.7rem!important; white-space:nowrap; }
.account-radar-item__amount--positive { color:var(--accent-dark); }
.account-radar-item__amount--negative { color:var(--danger); }
.account-radar-item__dismiss { margin:0; }
.account-radar-item__dismiss button { display:inline-flex; align-items:center; gap:.28rem; padding:.42rem .55rem; border:1px solid #d9e3dc; border-radius:.58rem; background:#fff; color:var(--muted); font:inherit; font-size:.62rem; font-weight:800; cursor:pointer; transition:border-color 140ms,color 140ms,background 140ms; }
.account-radar-item__dismiss button:hover,.account-radar-item__dismiss button:focus-visible { border-color:var(--accent); background:var(--accent-soft); color:var(--accent-dark); outline:0; }
.account-radar-empty { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:.2rem .7rem; padding:1.1rem; border-radius:.9rem; background:var(--accent-soft); color:var(--accent-dark); }
.account-radar-empty > span { grid-row:1/3; display:grid; width:2rem; height:2rem; place-items:center; border-radius:50%; background:#fff; font-weight:900; }
.account-radar-empty small { color:var(--muted); }
.account-radar-more { color:var(--muted); font-size:.68rem; font-weight:700; }
.balance-forecast-tile { grid-column:1/-1; min-height:0; align-content:start; gap:1rem; background:linear-gradient(145deg,#fff 0%,#f4faf6 100%); }
.balance-forecast-tile__head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1rem; }
.balance-forecast-tile__head h3 { margin:0; }
.balance-forecast-tile__head .eyebrow { margin-bottom:.25rem; }
.balance-forecast-tile__head > a { color:var(--accent-dark); font-size:.7rem; font-weight:850; }
.balance-forecast-list { display:grid; gap:.42rem; }
.balance-forecast-row { display:grid; grid-template-columns:1.7rem minmax(10rem,1.4fr) minmax(8rem,.7fr) minmax(8rem,.7fr); align-items:center; gap:.75rem; padding:.72rem .8rem; border:1px solid transparent; border-radius:.85rem; background:rgba(255,255,255,.82); transition:transform 140ms,border-color 140ms; }
.balance-forecast-row:hover { transform:translateX(.15rem); border-color:#b8d7c6; }
.balance-forecast-row__state { display:grid; width:1.5rem; height:1.5rem; place-items:center; border-radius:.5rem; background:var(--accent-soft); color:var(--accent-dark); font-size:.72rem; font-weight:900; }
.balance-forecast-row--risk .balance-forecast-row__state { background:#fff1c9; color:#7a5600; }
.balance-forecast-row--danger .balance-forecast-row__state { background:#ffe1e1; color:var(--danger); }
.balance-forecast-row > span:not(.balance-forecast-row__state) { display:grid; min-width:0; gap:.1rem; }
.balance-forecast-row > span:nth-child(n+3) { text-align:right; }
.balance-forecast-row strong { overflow:hidden; font-size:.75rem; text-overflow:ellipsis; white-space:nowrap; }
.balance-forecast-row small { color:var(--muted); font-size:.62rem; }
.balance-forecast-row--risk > span:nth-child(3) strong,.balance-forecast-row--danger > span:nth-child(3) strong { color:var(--danger); }
.balance-forecast-empty { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:.18rem .7rem; padding:1rem; border-radius:.9rem; background:rgba(255,255,255,.72); }
.balance-forecast-empty > span { grid-row:1/3; display:grid; width:2rem; height:2rem; place-items:center; border-radius:50%; background:var(--accent-soft); color:var(--accent-dark); font-weight:900; }
.balance-forecast-empty strong { font-size:.8rem; }
.balance-forecast-empty small { color:var(--muted); font-size:.68rem; }
.dashboard-insight-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(19rem,.85fr); gap:1.1rem; margin-top:1.1rem; align-items:start; }
.dashboard-data-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:1.4rem; background:var(--surface); box-shadow:0 14px 40px rgba(18,45,35,.055); }
.dashboard-data-card__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1.35rem 1.45rem 1.05rem; }
.dashboard-data-card__heading .eyebrow { margin-bottom:.25rem; }
.dashboard-data-card__heading h3 { margin:0; font-size:1.35rem; letter-spacing:-.035em; }
.dashboard-data-card__heading > a { flex:0 0 auto; color:var(--accent-dark); font-size:.7rem; font-weight:850; }
.dashboard-transaction-list { border-top:1px solid var(--line); }
.dashboard-transaction-list__head,.dashboard-transaction-row { display:grid; grid-template-columns:5.4rem minmax(7.5rem,.8fr) minmax(10rem,1.25fr) auto; gap:.75rem; align-items:center; }
.dashboard-transaction-list__head { padding:.65rem 1.15rem; background:var(--paper); color:var(--muted); font-size:.58rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.dashboard-transaction-list__head span:last-child { text-align:right; }
.dashboard-transaction-row { min-height:3rem; padding:.42rem .95rem; border-top:1px solid #edf0ed; transition:background 130ms; }
.dashboard-transaction-row:first-of-type { border-top:0; }
.dashboard-transaction-row:hover { background:var(--accent-soft); }
.dashboard-transaction-row time { color:var(--muted); font-size:.67rem; font-weight:750; }
.dashboard-transaction-row__account { overflow:hidden; color:var(--accent-dark); font-size:.67rem; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-transaction-row > strong { overflow:hidden; font-size:.74rem; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-transaction-row > b { padding-left:.5rem; font-size:.76rem; text-align:right; white-space:nowrap; }
.dashboard-transaction-row > b.amount-positive { color:var(--accent-dark); }
.dashboard-data-empty { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.18rem .75rem; align-items:center; margin:0 1.25rem 1.25rem; padding:1.2rem; border-radius:1rem; background:var(--paper); }
.dashboard-data-empty > span { grid-row:1/3; display:grid; width:2.15rem; height:2.15rem; place-items:center; border-radius:.7rem; background:var(--accent-soft); color:var(--accent-dark); font-weight:900; }
.dashboard-data-empty strong { font-size:.8rem; }
.dashboard-data-empty small { color:var(--muted); font-size:.68rem; line-height:1.4; }
.dashboard-balance-groups { display:grid; gap:.55rem; padding:0 1.1rem 1.15rem; }
.dashboard-balance-group { overflow:hidden; border:1px solid var(--line); border-radius:.95rem; background:#fbfcfa; }
.dashboard-balance-group > summary { display:grid; grid-template-columns:minmax(0,1fr) auto 1.2rem; gap:.75rem; align-items:center; padding:.9rem 1rem; cursor:pointer; list-style:none; }
.dashboard-balance-group > summary::-webkit-details-marker { display:none; }
.dashboard-balance-group > summary > span,.dashboard-balance-subgroups span { display:grid; min-width:0; gap:.14rem; }
.dashboard-balance-group > summary strong { overflow:hidden; font-size:.78rem; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-balance-group > summary small,.dashboard-balance-subgroups small { color:var(--muted); font-size:.61rem; }
.dashboard-balance-group > summary > b { color:var(--accent-dark); font-size:.78rem; white-space:nowrap; }
.dashboard-balance-group > summary > i { color:var(--muted); font-size:.85rem; font-style:normal; transition:transform 150ms; }
.dashboard-balance-group[open] > summary > i { transform:rotate(180deg); }
.dashboard-balance-subgroups { display:grid; padding:.25rem .85rem .75rem; border-top:1px solid var(--line); background:#fff; }
.dashboard-balance-subgroup { border-bottom:1px solid #edf0ed; }
.dashboard-balance-subgroup:last-child { border-bottom:0; }
.dashboard-balance-subgroup > summary { display:grid; grid-template-columns:minmax(0,1fr) auto 1rem; gap:.65rem; align-items:center; padding:.72rem .2rem; cursor:pointer; list-style:none; }
.dashboard-balance-subgroup > summary::-webkit-details-marker { display:none; }
.dashboard-balance-subgroup > summary strong { font-size:.7rem; }
.dashboard-balance-subgroup > summary b { font-size:.72rem; white-space:nowrap; }
.dashboard-balance-subgroup > summary i { color:var(--muted); font-size:.72rem; font-style:normal; transition:transform 150ms; }
.dashboard-balance-subgroup[open] > summary i { transform:rotate(180deg); }
.dashboard-balance-accounts { display:grid; gap:.3rem; padding:0 0 .65rem .65rem; }
.dashboard-balance-accounts a { display:grid; grid-template-columns:minmax(0,1fr) auto 1rem; gap:.6rem; align-items:center; min-height:2.55rem; padding:.48rem .6rem; border-radius:.65rem; background:var(--paper); transition:background 130ms,transform 130ms; }
.dashboard-balance-accounts a:hover { background:var(--accent-soft); transform:translateX(.1rem); }
.dashboard-balance-accounts a span { overflow:hidden; color:var(--ink); font-size:.67rem; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-balance-accounts a span small { display:block; margin-top:.15rem; overflow:hidden; color:var(--muted); font-size:.57rem; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-balance-accounts a span small.dashboard-account-performance--positive { color:var(--accent-dark); }
.dashboard-balance-accounts a span small.dashboard-account-performance--negative { color:var(--danger); }
.dashboard-balance-accounts a span small.dashboard-account-annualized { color:#8a9691; font-size:.53rem; font-weight:700; }
.dashboard-balance-accounts a span small.dashboard-account-maturity { color:#7a5600; font-size:.55rem; font-weight:800; }
.dashboard-balance-accounts a span small.dashboard-account-interest { color:#6c756f; font-size:.55rem; font-weight:700; }
.dashboard-balance-accounts a b { font-size:.68rem; white-space:nowrap; }
.dashboard-balance-accounts a span.dashboard-account-current-value,
.dashboard-wealth-segment > div a > span.dashboard-account-current-value { display:grid; justify-items:end; gap:.08rem; overflow:visible; text-align:right; }
.dashboard-balance-accounts a span.dashboard-account-current-value b,
.dashboard-wealth-segment > div a > span.dashboard-account-current-value b { color:var(--ink); font-size:.68rem; white-space:nowrap; }
.dashboard-balance-accounts a span.dashboard-account-current-value small,
.dashboard-wealth-segment > div a > span.dashboard-account-current-value small { margin:0; color:#86918c; font-size:.5rem; font-weight:700; letter-spacing:0; white-space:nowrap; }
.dashboard-balance-accounts a i { color:var(--accent-dark); font-size:.68rem; font-style:normal; }
.dashboard-loan-monitor { grid-column:1/-1; }
.dashboard-loan-monitor .dashboard-data-card__heading > div > small { display:block; margin-top:.3rem; color:var(--muted); font-size:.66rem; }
.dashboard-loan-summary { display:grid; grid-template-columns:1.2fr repeat(3,minmax(0,1fr)); gap:.65rem; padding:0 1.15rem 1rem; }
.dashboard-loan-summary > div { display:grid; min-width:0; gap:.15rem; padding:.85rem .95rem; border:1px solid var(--line); border-radius:.9rem; background:var(--paper); }
.dashboard-loan-summary > div > span { color:var(--muted); font-size:.58rem; font-weight:850; letter-spacing:.055em; text-transform:uppercase; }
.dashboard-loan-summary > div > strong { overflow:hidden; font-size:1rem; letter-spacing:-.025em; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-loan-summary > div > small { color:var(--muted); font-size:.58rem; }
.dashboard-loan-summary__net--positive { border-color:#b9dfcd!important; background:linear-gradient(135deg,#edf9f3,#f8fbf9)!important; }
.dashboard-loan-summary__net--positive strong { color:var(--accent-dark); }
.dashboard-loan-summary__net--negative { border-color:#efcece!important; background:linear-gradient(135deg,#fff0f0,#fffafa)!important; }
.dashboard-loan-summary__net--negative strong { color:var(--danger); }
.dashboard-loan-list { border-top:1px solid var(--line); }
.dashboard-loan-row { display:grid; grid-template-columns:2rem minmax(12rem,1.25fr) minmax(9rem,.7fr) minmax(8rem,auto) 1rem; gap:.8rem; align-items:center; min-height:3.75rem; padding:.55rem 1.1rem; border-top:1px solid #edf0ed; transition:background 130ms; }
.dashboard-loan-row:first-child { border-top:0; }
.dashboard-loan-row:hover { background:var(--accent-soft); }
.dashboard-loan-row__type { display:grid; width:1.75rem; height:1.75rem; place-items:center; border-radius:.55rem; background:#e5f7ee; color:var(--accent-dark); font-size:.8rem; font-weight:950; }
.dashboard-loan-row--borrowed .dashboard-loan-row__type { background:#fdecec; color:#b63838; }
.dashboard-loan-row__identity { display:grid; min-width:0; gap:.12rem; }
.dashboard-loan-row__identity strong,.dashboard-loan-row__identity small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-loan-row__identity strong { font-size:.75rem; }
.dashboard-loan-row__identity small,.dashboard-loan-row__amount small,.dashboard-loan-row__progress small { color:var(--muted); font-size:.59rem; }
.dashboard-loan-row__progress { display:grid; gap:.22rem; }
.dashboard-loan-row__progress > i { display:block; height:.32rem; overflow:hidden; border-radius:999px; background:#e6ebe7; }
.dashboard-loan-row__progress > i > b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--accent-dark),var(--accent)); }
.dashboard-loan-row--borrowed .dashboard-loan-row__progress > i > b { background:linear-gradient(90deg,#9f3434,#dd6a63); }
.dashboard-loan-row__amount { display:grid; justify-items:end; gap:.1rem; text-align:right; }
.dashboard-loan-row__amount strong { font-size:.78rem; white-space:nowrap; }
.dashboard-loan-row__arrow { color:var(--muted); font-size:.72rem; }
.dashboard-loan-more { display:block; padding:.8rem 1.15rem 1rem; border-top:1px solid var(--line); color:var(--accent-dark); font-size:.66rem; font-weight:850; text-align:center; }
.dashboard-performance-card { grid-column:1/-1; }
.dashboard-performance-card__heading { align-items:center; }
.dashboard-performance-card__heading > div:first-child > small { display:block; margin-top:.3rem; color:var(--muted); font-size:.66rem; }
.dashboard-performance-trends{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.55rem}.dashboard-performance-trend{display:flex;align-items:center;gap:.3rem;padding:.26rem .4rem;border:1px solid #e4eae6;border-radius:.55rem;background:#f7f9f7}.dashboard-performance-trend>i{display:grid;width:1.15rem;height:1.15rem;place-items:center;border-radius:.38rem;font-size:.74rem;font-style:normal;font-weight:950}.dashboard-performance-trend>span{display:grid;gap:.01rem}.dashboard-performance-trend small{color:var(--muted);font-size:.43rem;font-weight:800;letter-spacing:.035em;line-height:1.1;text-transform:uppercase}.dashboard-performance-trend b{font-size:.5rem;line-height:1.1;white-space:nowrap}.dashboard-performance-trend--up{border-color:#cae8d8;background:#f1faf5;color:var(--accent-dark)}.dashboard-performance-trend--up>i{background:#d9f3e5}.dashboard-performance-trend--sideways{border-color:#eedfae;background:#fffaf0;color:#8b6b0b}.dashboard-performance-trend--sideways>i{background:#fff0bd}.dashboard-performance-trend--down{border-color:#efd0d0;background:#fff5f5;color:var(--danger)}.dashboard-performance-trend--down>i{background:#ffe2e2}.dashboard-performance-trend--unknown{color:#7a8780}.dashboard-performance-trend--unknown>i{background:#e9eeea}
.dashboard-performance-summaries { margin-left:auto; }
.dashboard-performance-summary { display:grid; min-width:12.5rem; grid-template-columns:minmax(0,1fr) auto; gap:.12rem .65rem; padding:.72rem .9rem; border:1px solid #dce5df; border-radius:.85rem; background:linear-gradient(135deg,#f8faf8,#f1f5f2); box-shadow:0 8px 24px rgba(18,45,35,.07); }
.dashboard-performance-summary[hidden] { display:none!important; }
.dashboard-performance-summary > small { grid-column:1/-1; color:var(--muted); font-size:.54rem; font-weight:850; letter-spacing:.045em; text-transform:uppercase; }
.dashboard-performance-summary > strong { font-size:1.2rem; font-variant-numeric:tabular-nums; letter-spacing:-.035em; white-space:nowrap; }
.dashboard-performance-summary > span { align-self:end; padding-bottom:.08rem; color:var(--muted); font-size:.65rem; font-variant-numeric:tabular-nums; font-weight:850; white-space:nowrap; }
.dashboard-performance-summary > em { grid-column:1/-1; color:var(--ink); font-size:.58rem; font-style:normal; font-weight:400; letter-spacing:0; white-space:nowrap; }
.dashboard-performance-summary--positive { border-color:#bfe5d3; background:linear-gradient(135deg,#f2fbf6,#e4f7ed); }
.dashboard-performance-summary--positive > strong,.dashboard-performance-summary--positive > span { color:var(--accent-dark); }
.dashboard-performance-summary--negative { border-color:#efd0d0; background:linear-gradient(135deg,#fff8f8,#ffeded); }
.dashboard-performance-summary--negative > strong,.dashboard-performance-summary--negative > span { color:var(--danger); }
.dashboard-performance-controls { display:grid; justify-items:end; gap:.4rem; }
.dashboard-performance-toggle { display:flex; gap:.25rem; padding:.25rem; border:1px solid var(--line); border-radius:.75rem; background:var(--paper); }
.dashboard-performance-toggle button { min-height:2.15rem; padding:.42rem .72rem; border:0; border-radius:.55rem; background:transparent; color:var(--muted); font-size:.67rem; font-weight:850; cursor:pointer; transition:background 130ms,color 130ms,box-shadow 130ms; }
.dashboard-performance-toggle--period button { min-height:1.9rem; padding:.35rem .62rem; font-size:.62rem; }
.dashboard-performance-toggle button:hover { color:var(--accent-dark); }
.dashboard-performance-toggle button.is-active { background:#fff; color:var(--accent-dark); box-shadow:0 4px 14px rgba(18,45,35,.08); }
.dashboard-performance-view { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); }
.dashboard-performance-view[hidden] { display:none!important; }
.dashboard-performance-column { min-width:0; padding:1.1rem 1.25rem 1.25rem; }
.dashboard-performance-column + .dashboard-performance-column { border-left:1px solid var(--line); }
.dashboard-performance-column > header { display:grid; grid-template-columns:1.7rem auto minmax(0,1fr) auto; align-items:center; gap:.55rem; margin-bottom:.7rem; }
.dashboard-performance-column > header > span { display:grid; width:1.65rem; height:1.65rem; place-items:center; border-radius:.5rem; font-size:.76rem; font-weight:950; }
.dashboard-performance-column > header > strong { font-size:.78rem; }
.dashboard-performance-column > header > b { color:var(--muted); font-size:.62rem; font-variant-numeric:tabular-nums; font-weight:750; white-space:nowrap; }
.dashboard-performance-column > header > small { color:var(--muted); font-size:.6rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.dashboard-performance-column--winners > header > span { background:var(--accent-soft); color:var(--accent-dark); }
.dashboard-performance-column--losers > header > span { background:var(--danger-soft); color:var(--danger); }
.dashboard-performance-list { display:grid; gap:.4rem; }
.dashboard-performance-row { display:grid; grid-template-columns:1.65rem minmax(0,1fr) auto .8rem; align-items:center; gap:.65rem; min-height:3.7rem; padding:.55rem .65rem; border:1px solid #edf0ed; border-radius:.75rem; background:#fbfcfa; transition:background 130ms,border-color 130ms,transform 130ms; }
.dashboard-performance-row:hover { border-color:#c7ddcf; background:var(--accent-soft); transform:translateX(.1rem); }
.dashboard-performance-rank { display:grid; width:1.55rem; height:1.55rem; place-items:center; border-radius:50%; background:#fff; color:var(--muted); font-size:.65rem; font-weight:900; box-shadow:0 2px 8px rgba(18,45,35,.08); }
.dashboard-performance-row > span:nth-child(2) { display:grid; min-width:0; gap:.12rem; }
.dashboard-performance-row > span:nth-child(2) strong { overflow:hidden; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-performance-row > span:nth-child(2) small { overflow:hidden; color:var(--muted); font-size:.59rem; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-performance-values { display:grid; justify-items:end; gap:.08rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.dashboard-performance-values > b { font-size:.76rem; }
.dashboard-performance-values > small { color:var(--muted); font-size:.58rem; font-weight:750; }
.dashboard-performance-column--winners .dashboard-performance-values > b { color:var(--accent-dark); }
.dashboard-performance-column--losers .dashboard-performance-values > b { color:var(--danger); }
.dashboard-performance-row > i { color:var(--muted); font-size:.68rem; font-style:normal; }
.dashboard-performance-empty { padding:1rem; border-radius:.75rem; background:var(--paper); color:var(--muted); font-size:.68rem; text-align:center; }
.dashboard-income-performance{margin-top:1.1rem}.dashboard-income-performance .dashboard-data-card__heading>div:first-child>small{display:block;max-width:40rem;margin-top:.3rem;color:var(--muted);font-size:.66rem;line-height:1.45}.dashboard-income-performance__total{display:grid;justify-items:end;gap:.08rem;min-width:13rem;padding:.72rem .9rem;border:1px solid #bfe5d3;border-radius:.85rem;background:linear-gradient(135deg,#f2fbf6,#e4f7ed);text-align:right}.dashboard-income-performance__total small{color:var(--muted);font-size:.54rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase}.dashboard-income-performance__total strong{color:var(--accent-dark);font-size:1.2rem;letter-spacing:-.035em}.dashboard-income-performance__total span{color:var(--muted);font-size:.56rem}.dashboard-income-performance__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;padding:0 1.15rem 1rem}.dashboard-income-performance__metrics>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.08rem .55rem;align-items:center;padding:.85rem .9rem;border:1px solid var(--line);border-radius:.9rem;background:var(--paper)}.dashboard-income-performance__metrics>div>span{grid-row:1/4;display:grid;width:1.8rem;height:1.8rem;place-items:center;border-radius:.55rem;background:var(--accent-soft);color:var(--accent-dark);font-size:.76rem;font-weight:950}.dashboard-income-performance__metrics small{color:var(--muted);font-size:.55rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase}.dashboard-income-performance__metrics strong{color:var(--accent-dark);font-size:.88rem}.dashboard-income-performance__metrics em{overflow:hidden;color:var(--muted);font-size:.55rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.dashboard-income-performance__positions{border-top:1px solid var(--line)}.dashboard-income-performance__positions>header{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 1.15rem;background:#fbfcfa}.dashboard-income-performance__positions>header strong{font-size:.67rem}.dashboard-income-performance__positions>header small{color:var(--muted);font-size:.58rem}.dashboard-income-performance__positions>a{display:grid;grid-template-columns:minmax(0,1fr) auto 1rem;gap:.7rem;align-items:center;padding:.58rem 1.15rem;border-top:1px solid #edf0ed}.dashboard-income-performance__positions>a:hover{background:var(--accent-soft)}.dashboard-income-performance__positions>a>span{display:grid;min-width:0;gap:.08rem}.dashboard-income-performance__positions>a strong{overflow:hidden;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.dashboard-income-performance__positions>a small{color:var(--muted);font-size:.57rem}.dashboard-income-performance__positions>a>b{color:var(--accent-dark);font-size:.72rem}.dashboard-income-performance__positions>a>i{color:var(--muted);font-size:.68rem;font-style:normal}.dashboard-income-performance__empty{display:flex;align-items:center;gap:.7rem;margin:0 1.15rem 1.1rem;padding:.85rem;border-radius:.8rem;background:var(--paper)}.dashboard-income-performance__empty>span{display:grid;width:2rem;height:2rem;place-items:center;border-radius:.6rem;background:var(--accent-soft);color:var(--accent-dark)}.dashboard-income-performance__empty p{display:grid;gap:.1rem;margin:0}.dashboard-income-performance__empty strong{font-size:.7rem}.dashboard-income-performance__empty small{color:var(--muted);font-size:.59rem}
.dashboard-income-performance__metric-button{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr);gap:.08rem .55rem;align-items:center;padding:.85rem .9rem;border:1px solid var(--line);border-radius:.9rem;background:var(--paper);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color 130ms,background 130ms,transform 130ms}.dashboard-income-performance__metric-button:hover{border-color:#aed9c3;background:var(--accent-soft);transform:translateY(-1px)}.dashboard-income-performance__metric-button>span{grid-row:1/4;display:grid;width:1.8rem;height:1.8rem;place-items:center;border-radius:.55rem;background:var(--accent-soft);color:var(--accent-dark);font-size:.76rem;font-weight:950}.dashboard-income-performance__metric-button small{color:var(--muted);font-size:.55rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase}.dashboard-income-performance__metric-button strong{color:var(--accent-dark);font-size:.88rem}.dashboard-income-performance__metric-button em{overflow:hidden;color:var(--muted);font-size:.55rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.dashboard-interest-dialog{width:min(60rem,calc(100% - 2rem));max-height:calc(100vh - 2rem);padding:0;overflow:auto;border:0;border-radius:1.2rem;background:var(--surface);box-shadow:0 28px 80px rgba(8,31,23,.28)}.dashboard-interest-dialog::backdrop{background:rgba(15,35,28,.46);backdrop-filter:blur(3px)}.dashboard-interest-dialog__heading{position:sticky;z-index:2;top:0;display:flex;justify-content:space-between;gap:1rem;padding:1.25rem 1.35rem;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96)}.dashboard-interest-dialog__heading h2{margin:.15rem 0;font-size:1.4rem}.dashboard-interest-dialog__heading small{color:var(--muted);font-size:.65rem}.dashboard-interest-dialog__heading>button{display:grid;width:2rem;height:2rem;place-items:center;border:0;border-radius:.6rem;background:var(--paper);color:var(--muted);font-size:1.2rem;cursor:pointer}.dashboard-interest-dialog__summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;padding:1rem 1.2rem}.dashboard-interest-dialog__summary>span{display:grid;gap:.12rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:.8rem;background:var(--paper)}.dashboard-interest-dialog__summary small{color:var(--muted);font-size:.57rem;font-weight:850;text-transform:uppercase}.dashboard-interest-dialog__summary strong{color:var(--accent-dark);font-size:.9rem}.dashboard-interest-dialog__table-wrap{padding:0 1.2rem 1.2rem;overflow-x:auto}.dashboard-interest-dialog table{width:100%;border-collapse:collapse;font-size:.68rem}.dashboard-interest-dialog th,.dashboard-interest-dialog td{padding:.65rem .7rem;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.dashboard-interest-dialog th:first-child,.dashboard-interest-dialog td:first-child{text-align:left}.dashboard-interest-dialog thead th{color:var(--muted);font-size:.56rem;letter-spacing:.04em;text-transform:uppercase}.dashboard-interest-dialog tbody a{color:var(--accent-dark);font-weight:800}.dashboard-interest-dialog tbody td:last-child strong,.dashboard-interest-dialog tfoot th:last-child{color:var(--accent-dark)}
.dashboard-wealth-card { margin-top:1.1rem; }
.dashboard-income-situation { margin-top:1.1rem; }
.dashboard-income-situation .dashboard-data-card__heading > div > small { display:block; max-width:46rem; margin-top:.3rem; color:var(--muted); font-size:.66rem; line-height:1.45; }
.dashboard-income-situation__metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; padding:0 1.15rem 1rem; }
.dashboard-income-situation__metrics > button { display:grid; width:100%; min-width:0; grid-template-columns:auto minmax(0,1fr); gap:.08rem .6rem; align-items:center; padding:.8rem .9rem; border:1px solid var(--line); border-radius:.9rem; background:var(--paper); color:inherit; font:inherit; text-align:left; cursor:pointer; transition:border-color 130ms,background 130ms,transform 130ms; }
.dashboard-income-situation__metrics > button:hover,.dashboard-income-situation__metrics > button:focus-visible { border-color:#aed9c3; background:var(--accent-soft); transform:translateY(-1px); outline:none; }
.dashboard-income-situation__metrics > button > span { grid-row:1/4; display:grid; width:1.8rem; height:1.8rem; place-items:center; border-radius:.55rem; background:var(--accent-soft); color:var(--accent-dark); font-size:.75rem; font-weight:950; }
.dashboard-income-situation__metrics small { color:var(--muted); font-size:.55rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.dashboard-income-situation__metrics strong { color:var(--accent-dark); font-size:.95rem; letter-spacing:-.02em; }
.dashboard-income-situation__metrics em { overflow:hidden; color:var(--muted); font-size:.55rem; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-income-situation__metrics .dashboard-income-situation__result--negative { border-color:#efd1ca; background:#fff8f5; }
.dashboard-income-situation__metrics .dashboard-income-situation__result--negative > span,.dashboard-income-situation__metrics .dashboard-income-situation__result--negative > strong { color:var(--danger); }
.dashboard-income-situation__metrics .dashboard-income-situation__result--positive { border-color:#bfe5d3; background:#f3faf6; }
.dashboard-income-situation-groups{display:grid;gap:.55rem;padding:0 1.2rem 1.2rem}.dashboard-income-situation-groups>details{overflow:hidden;border:1px solid var(--line);border-radius:.85rem;background:#fff}.dashboard-income-situation-groups>details>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 1rem;gap:.8rem;align-items:center;padding:.78rem .9rem;list-style:none;cursor:pointer}.dashboard-income-situation-groups>details>summary::-webkit-details-marker{display:none}.dashboard-income-situation-groups>details>summary>span{display:grid;min-width:0;gap:.12rem}.dashboard-income-situation-groups>details>summary strong{font-size:.76rem}.dashboard-income-situation-groups>details>summary small{color:var(--muted);font-size:.57rem}.dashboard-income-situation-groups>details>summary b{color:var(--accent-dark);font-size:.76rem;white-space:nowrap}.dashboard-income-situation-groups>details>summary i{color:var(--muted);font-size:1rem;font-style:normal;transition:transform 130ms}.dashboard-income-situation-groups>details[open]>summary{background:var(--paper)}.dashboard-income-situation-groups>details[open]>summary i{transform:rotate(90deg)}.dashboard-income-situation-groups>details .dashboard-interest-dialog__table-wrap{padding:0;border-top:1px solid var(--line)}.dashboard-income-situation-groups>details table th,.dashboard-income-situation-groups>details table td{padding:.62rem .9rem}.dashboard-income-situation-groups__empty{margin:0;padding:1rem;border-radius:.8rem;background:var(--paper);color:var(--muted);font-size:.68rem;text-align:center}.dashboard-income-situation-group-sets{display:grid;gap:1rem;padding-bottom:1.2rem}.dashboard-income-situation-group-sets>section>h3{margin:0;padding:.15rem 1.2rem .55rem;color:var(--muted);font-size:.62rem;letter-spacing:.055em;text-transform:uppercase}.dashboard-income-situation-group-sets .dashboard-income-situation-groups{padding-bottom:0}
.dashboard-monthly-expenses { margin-top:1.1rem; }
.dashboard-monthly-expenses .dashboard-data-card__heading > div > small { display:block; max-width:46rem; margin-top:.3rem; color:var(--muted); font-size:.66rem; line-height:1.45; }
.dashboard-monthly-expenses .dashboard-data-card__heading > a { color:var(--accent-dark); font-size:.64rem; font-weight:850; white-space:nowrap; }
.dashboard-monthly-expenses__summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; padding:1rem 1.15rem .8rem; border-top:1px solid var(--line); }
.dashboard-monthly-expenses__summary > button { display:grid; gap:.16rem; min-width:0; padding:.85rem .95rem; border:1px solid var(--line); border-radius:.85rem; background:var(--paper); color:inherit; font:inherit; text-align:left; cursor:pointer; transition:border-color 130ms,background 130ms,transform 130ms; }
.dashboard-monthly-expenses__summary > button:hover,.dashboard-monthly-expenses__summary > button:focus-visible { border-color:#aed9c3; background:var(--accent-soft); transform:translateY(-1px); outline:none; }
.dashboard-monthly-expenses__summary small { color:var(--muted); font-size:.56rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.dashboard-monthly-expenses__summary strong { font-size:1rem; letter-spacing:-.025em; }
.dashboard-monthly-expenses__summary em { color:var(--muted); font-size:.58rem; font-style:normal; }
.dashboard-monthly-expenses__summary > .dashboard-monthly-expenses__retirement { border-color:#d8cce7; background:#faf7fd; }
.dashboard-monthly-expenses__retirement strong { color:#755797; }
.dashboard-monthly-expenses__summary > .dashboard-monthly-expenses__insurance { border-color:#cdd8ec; background:#f6f8fc; }
.dashboard-monthly-expenses__insurance strong { color:#5673aa; }
.dashboard-monthly-expenses__split { display:flex; height:.32rem; margin:0 1.15rem 1rem; overflow:hidden; border-radius:999px; background:#e5eae7; }
.dashboard-monthly-expenses__split i { flex:0 0 auto; min-width:0; background:#8565a6; }
.dashboard-monthly-expenses__split u { flex:0 0 auto; min-width:0; background:#6f8bc4; text-decoration:none; }
.dashboard-monthly-expenses__split b { flex:1; background:#aab6b0; }
.dashboard-monthly-expenses__categories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; padding:0 1.15rem 1rem; }
.dashboard-monthly-expenses__categories > article { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.65rem; min-width:0; padding:.72rem .78rem; border:1px solid var(--line); border-radius:.8rem; background:#fff; }
.dashboard-monthly-expenses__categories > article > span { display:grid; width:1.8rem; height:1.8rem; place-items:center; border-radius:.55rem; background:color-mix(in srgb,var(--expense-color) 13%,white); color:var(--expense-color); font-size:.72rem; font-weight:950; }
.dashboard-monthly-expenses__categories > article > div { display:grid; min-width:0; gap:.08rem; }
.dashboard-monthly-expenses__categories strong { overflow:hidden; font-size:.67rem; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-monthly-expenses__categories small { color:var(--muted); font-size:.55rem; }
.dashboard-monthly-expenses__categories > article > b { font-size:.7rem; white-space:nowrap; }
.dashboard-monthly-expenses__categories > article > em { position:absolute; top:.28rem; right:.4rem; color:rgba(117,87,151,.14); font-size:.54rem; font-style:normal; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.dashboard-monthly-expenses__note { margin:0; padding:.7rem 1.15rem 1rem; border-top:1px solid var(--line); color:var(--muted); font-size:.58rem; line-height:1.5; }
.dashboard-wealth-card .dashboard-data-card__heading > div > small { display:block; max-width:42rem; margin-top:.3rem; color:var(--muted); font-size:.66rem; line-height:1.45; }
.dashboard-wealth-heading-actions { display:grid; justify-items:end; gap:.55rem; }
.dashboard-wealth-heading-actions > a { color:var(--accent-dark); font-size:.64rem; font-weight:850; }
.dashboard-wealth-toggle { flex-wrap:wrap; justify-content:flex-end; }
.dashboard-wealth-toggle button { min-height:1.9rem; padding:.35rem .58rem; font-size:.6rem; }
.dashboard-wealth-country-filter,.dashboard-wealth-country-display { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.28rem; }
.dashboard-wealth-country-filter[hidden],.dashboard-wealth-country-display[hidden] { display:none!important; }
.dashboard-wealth-country-filter button,.dashboard-wealth-country-display button { min-height:1.45rem; padding:.22rem .45rem; border:1px solid #dce5df; border-radius:999px; background:#f7f9f7; color:var(--muted); font:inherit; font-size:.51rem; font-weight:800; cursor:pointer; }
.dashboard-wealth-country-filter button.is-active,.dashboard-wealth-country-display button.is-active { border-color:#acd9c6; background:#eaf7f1; color:var(--accent-dark); }
.dashboard-wealth-content[hidden],.dashboard-wealth-assessment[hidden] { display:none!important; }
.dashboard-wealth-visual[hidden],.dashboard-wealth-legend[hidden],.dashboard-wealth-map[hidden] { display:none!important; }
.dashboard-wealth-content { display:grid; grid-template-columns:minmax(18rem,.8fr) minmax(24rem,1.2fr); gap:clamp(1.5rem,4vw,3.5rem); align-items:center; padding:1.2rem 1.45rem 1.55rem; border-top:1px solid var(--line); }
.dashboard-wealth-visual { display:grid; justify-items:center; gap:1rem; }
.dashboard-wealth-chart { --wealth-label-radius:8.6rem; position:relative; display:grid; width:min(22rem,85%); aspect-ratio:1; place-items:center; border-radius:50%; background:var(--wealth-chart); box-shadow:0 18px 40px rgba(18,45,35,.12); }
.dashboard-wealth-chart::after { position:absolute; width:60%; aspect-ratio:1; border-radius:50%; background:var(--surface); box-shadow:inset 0 0 0 1px rgba(18,45,35,.06),0 6px 22px rgba(18,45,35,.08); content:""; }
.dashboard-wealth-chart > div { position:relative; z-index:1; display:grid; width:54%; justify-items:center; gap:.22rem; text-align:center; }
.dashboard-wealth-chart small { color:var(--muted); font-size:.62rem; font-weight:850; letter-spacing:.055em; text-transform:uppercase; }
.dashboard-wealth-chart strong { font-size:clamp(1.15rem,2.3vw,1.75rem); letter-spacing:-.045em; white-space:nowrap; }
.dashboard-wealth-chart span { color:var(--muted); font-size:.62rem; }
.dashboard-wealth-chart__label { position:absolute; z-index:2; top:50%; left:50%; display:grid; min-width:2.85rem; gap:.08rem; padding:.24rem .38rem .2rem; border:1px solid rgba(255,255,255,.72); border-radius:.62rem; background:rgba(255,255,255,.92); box-shadow:0 2px 8px rgba(9,35,27,.14); color:#17362b; font-variant-numeric:tabular-nums; line-height:1; text-align:center; white-space:nowrap; transform:translate(-50%,-50%) rotate(var(--label-angle)) translateY(calc(-1 * var(--wealth-label-radius))) rotate(calc(-1 * var(--label-angle))); }
.dashboard-wealth-chart__label > span { font-size:.56rem; font-weight:900; }
.dashboard-wealth-chart__label > small { color:#607169; font-size:.43rem; font-weight:850; letter-spacing:.025em; text-transform:uppercase; }
.dashboard-wealth-history { width:min(22rem,85%); margin:-.15rem 0 0; }
.dashboard-wealth-history svg { display:block; width:100%; height:1.65cm; max-height:2cm; overflow:visible; }
.dashboard-wealth-history__baseline { stroke:#dfe7e2; stroke-width:1; }
.dashboard-wealth-history__line { fill:none; stroke:#319875; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.6; vector-effect:non-scaling-stroke; }
.dashboard-wealth-history figcaption { display:flex; justify-content:space-between; margin-top:.12rem; color:var(--muted); font-size:.52rem; font-variant-numeric:tabular-nums; }
.dashboard-wealth-history figcaption b { font-size:.54rem; }
.dashboard-wealth-totals { display:flex; flex-wrap:wrap; justify-content:center; gap:.55rem 1.2rem; }
.dashboard-wealth-totals > span { display:grid; justify-items:center; gap:.1rem; }
.dashboard-wealth-totals small { color:var(--muted); font-size:.58rem; }
.dashboard-wealth-totals strong { font-size:.72rem; }
.dashboard-wealth-map { grid-column:1/-1; display:grid; gap:.65rem; width:100%; }
.dashboard-wealth-map__canvas { position:relative; width:min(100%,72rem); aspect-ratio:2/1; margin:0 auto; }
.dashboard-wealth-map__canvas > img { display:block; width:100%; height:100%; }
.dashboard-wealth-map__bubble { position:absolute; z-index:2; top:var(--bubble-y); left:var(--bubble-x); display:block; width:var(--bubble-size); height:var(--bubble-size); outline:0; transform:translate(-50%,-50%); }
.dashboard-wealth-map__bubble > i { display:block; width:100%; height:100%; border:2px solid rgba(255,255,255,.9); border-radius:50%; background:color-mix(in srgb,var(--bubble-color) 68%,transparent); box-shadow:0 3px 13px color-mix(in srgb,var(--bubble-color) 28%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--bubble-color) 72%,#fff); transition:transform 150ms,background 150ms; }
.dashboard-wealth-map__bubble > b { position:absolute; z-index:4; bottom:calc(100% + .38rem); left:50%; display:grid; min-width:9.5rem; gap:.12rem; padding:.48rem .58rem; border:1px solid rgba(255,255,255,.88); border-radius:.62rem; background:rgba(17,52,40,.94); box-shadow:0 8px 24px rgba(7,31,23,.2); color:#fff; font-size:.58rem; line-height:1.25; text-align:center; pointer-events:none; opacity:0; transform:translate(-50%,.25rem); transition:opacity 130ms,transform 130ms; }
.dashboard-wealth-map__bubble > b strong { color:#fff; font-size:.64rem; }
.dashboard-wealth-map__bubble > b span { color:rgba(255,255,255,.76); font-size:.56rem; white-space:nowrap; }
.dashboard-wealth-map__bubble:hover,.dashboard-wealth-map__bubble:focus { z-index:5; }
.dashboard-wealth-map__bubble:hover > i,.dashboard-wealth-map__bubble:focus > i { background:color-mix(in srgb,var(--bubble-color) 84%,transparent); transform:scale(1.08); }
.dashboard-wealth-map__bubble:hover > b,.dashboard-wealth-map__bubble:focus > b { opacity:1; transform:translate(-50%,0); }
.dashboard-wealth-map__footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.45rem 1rem; color:var(--muted); font-size:.56rem; }
.dashboard-wealth-map__footer > span { display:flex; align-items:center; gap:.35rem; }
.dashboard-wealth-map__footer i { width:.7rem; height:.7rem; border:2px solid #fff; border-radius:50%; background:rgba(28,171,120,.58); box-shadow:0 0 0 1px #acd9c6; }
.dashboard-wealth-legend { display:grid; gap:.42rem; }
.dashboard-wealth-segment { overflow:hidden; border:1px solid var(--line); border-radius:.85rem; background:#fbfcfa; }
.dashboard-wealth-segment > summary { display:grid; grid-template-columns:.7rem minmax(0,1fr) auto 3.5rem 1rem; gap:.65rem; align-items:center; min-height:3.7rem; padding:.62rem .8rem; cursor:pointer; list-style:none; }
.dashboard-wealth-segment > summary::-webkit-details-marker { display:none; }
.dashboard-wealth-segment > summary > i { width:.68rem; height:.68rem; border-radius:50%; background:var(--segment-color); box-shadow:0 0 0 4px color-mix(in srgb,var(--segment-color) 16%,transparent); }
.dashboard-wealth-segment > summary > span { display:grid; min-width:0; gap:.08rem; }
.dashboard-wealth-segment > summary strong { overflow:hidden; font-size:.73rem; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-wealth-segment > summary small { color:var(--muted); font-size:.58rem; }
.dashboard-wealth-segment > summary > b { font-size:.72rem; white-space:nowrap; }
.dashboard-wealth-segment > summary > em { color:var(--muted); font-size:.65rem; font-style:normal; font-weight:800; text-align:right; }
.dashboard-wealth-segment > summary > u { color:var(--muted); font-size:.72rem; text-decoration:none; transition:transform 150ms; }
.dashboard-wealth-segment[open] > summary > u { transform:rotate(180deg); }
.dashboard-wealth-segment > div { display:grid; gap:.25rem; padding:.2rem .65rem .65rem 1.95rem; border-top:1px solid var(--line); background:#fff; }
.dashboard-wealth-segment > div a { display:grid; grid-template-columns:minmax(0,1fr) auto .8rem; gap:.6rem; align-items:center; min-height:2.35rem; padding:.4rem .55rem; border-radius:.58rem; background:var(--paper); }
.dashboard-wealth-segment > div a > span small { display:block; margin-top:.15rem; color:var(--muted); font-size:.57rem; font-weight:750; }
.dashboard-wealth-segment > div a > span small.dashboard-account-performance--positive { color:var(--accent-dark); }
.dashboard-wealth-segment > div a > span small.dashboard-account-performance--negative { color:var(--danger); }
.dashboard-wealth-segment > div a > span small.dashboard-account-annualized { color:#8a9691; font-size:.53rem; font-weight:700; }
.dashboard-wealth-segment > div a > span small.dashboard-account-maturity { color:#7a5600; font-size:.55rem; font-weight:800; }
.dashboard-wealth-segment > div a > span small.dashboard-account-interest { color:#6c756f; font-size:.55rem; font-weight:700; }
.dashboard-wealth-segment > div a > span small.dashboard-account-loan-valuation { color:#936226; font-size:.55rem; font-weight:750; }
.field-with-suffix { display:flex; align-items:center; overflow:hidden; border:1px solid var(--line); border-radius:.75rem; background:#fbfcfa; transition:border-color .2s,box-shadow .2s; }
.admin-form .field-with-suffix input { min-width:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.field-with-suffix em { flex:0 0 auto; padding:0 .9rem; color:var(--muted); font-size:.8rem; font-style:normal; font-weight:800; }
.field-with-suffix:focus-within { border-color:var(--accent); box-shadow:0 0 0 4px var(--accent-soft); }
.admin-form .field-with-suffix input:focus { box-shadow:none; }
.dashboard-wealth-segment > div a:hover { background:var(--accent-soft); }
.dashboard-wealth-segment > div span { overflow:hidden; font-size:.66rem; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-wealth-segment > div b { font-size:.66rem; white-space:nowrap; }
.dashboard-wealth-segment > div i { color:var(--accent-dark); font-size:.65rem; font-style:normal; }
.dashboard-wealth-assessment { display:grid; grid-template-columns:2.35rem minmax(0,1fr); gap:.85rem; margin:0 1.45rem 1.25rem; padding:1rem 1.1rem; border:1px solid #cfe2d8; border-radius:1rem; background:linear-gradient(135deg,#f7fbf8,#eef7f2); }
.dashboard-wealth-assessment__icon { display:grid; width:2.25rem; height:2.25rem; place-items:center; border-radius:.7rem; background:#dff4e9; color:var(--accent-dark); font-size:.9rem; font-weight:900; }
.dashboard-wealth-assessment > div { display:grid; min-width:0; gap:.24rem; }
.dashboard-wealth-assessment > div > small { color:var(--accent-dark); font-size:.58rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.dashboard-wealth-assessment > div > strong { font-size:.84rem; }
.dashboard-wealth-assessment p { max-width:70rem; margin:.08rem 0 .2rem; color:var(--muted); font-size:.69rem; line-height:1.5; }
.dashboard-wealth-assessment em { margin-top:.18rem; color:#8a9691; font-size:.56rem; font-style:normal; }
.dashboard-wealth-assessment__keywords { display:flex; flex-wrap:wrap; gap:.35rem; }
.dashboard-wealth-assessment__keywords span { padding:.27rem .5rem; border-radius:999px; background:#fff; color:var(--accent-dark); font-size:.59rem; font-weight:850; box-shadow:0 1px 5px rgba(18,45,35,.06); }
.dashboard-wealth-assessment--attention { border-color:#efd4ad; background:linear-gradient(135deg,#fffaf1,#fff4e2); }
.dashboard-wealth-assessment--attention .dashboard-wealth-assessment__icon { background:#ffebc9; color:#93620a; }
.dashboard-wealth-assessment--focus { border-color:#d8dec2; background:linear-gradient(135deg,#fbfcf5,#f4f7e9); }
.dashboard-wealth-assessment--focus .dashboard-wealth-assessment__icon { background:#edf2d6; color:#65721f; }
.dashboard-wealth-note { margin:0; padding:.75rem 1.45rem 1.15rem; border-top:1px solid var(--line); color:var(--muted); font-size:.64rem; }
.manual-account-page { max-width:76rem; }
.manual-account-heading { align-items:center; }
.manual-account-hero { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(14rem,.65fr); gap:1rem; margin-bottom:1.25rem; }
.manual-account-hero--performance { grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(12rem,.7fr)); }
.manual-account-hero > div { display:grid; gap:.25rem; padding:1.35rem 1.45rem; border:1px solid var(--line); border-radius:1.15rem; background:#fff; box-shadow:0 14px 38px rgba(18,45,35,.07); }
.manual-account-hero > div:first-child { color:#fff; background:linear-gradient(135deg,#0b3829,#157c58); }
.manual-account-hero small { color:var(--muted); font-size:.64rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.manual-account-hero > div:first-child small,.manual-account-hero > div:first-child span { color:rgba(255,255,255,.72); }
.manual-account-hero strong { font-size:clamp(1.45rem,4vw,2.4rem); letter-spacing:-.035em; }
.manual-account-hero > div:first-child strong { color:#fff; }
.manual-account-hero > div:first-child .manual-account-interest-forecast { color:rgba(255,255,255,.78); font-size:.66rem; font-style:normal; font-weight:750; }
.manual-account-hero span { color:var(--muted); font-size:.68rem; }
.manual-account-performance b { width:max-content; padding:.26rem .48rem; border-radius:99rem; font-size:.72rem; }
.manual-account-performance em { color:var(--muted); font-size:.62rem; font-style:normal; font-weight:750; }
.manual-account-performance--positive strong { color:var(--accent-dark); }
.manual-account-performance--positive b { background:var(--accent-soft); color:var(--accent-dark); }
.manual-account-performance--negative strong { color:var(--danger); }
.manual-account-performance--negative b { background:#fde9e9; color:var(--danger); }
.manual-account-performance--missing strong { color:var(--muted); }
.manual-account-entry-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-bottom:1.25rem; }
.manual-account-entry-grid:has(.manual-account-deposit-panel) { grid-template-columns:repeat(3,minmax(0,1fr)); }
.manual-account-panel,.manual-account-history { padding:1.25rem; border:1px solid var(--line); border-radius:1.15rem; background:#fff; box-shadow:0 14px 38px rgba(18,45,35,.07); }
.manual-account-panel .section-heading,.manual-account-history .section-heading { margin-bottom:1rem; }
.manual-account-panel .section-heading h2,.manual-account-history .section-heading h2 { margin:.15rem 0 0; font-size:1.25rem; }
.manual-account-panel > p { margin:0 0 1rem; color:var(--muted); font-size:.7rem; line-height:1.55; }
.manual-account-panel .admin-form { gap:1rem; }
.manual-account-dropzone { position:relative; display:grid; min-height:9rem; place-items:center; align-content:center; gap:.25rem; padding:1rem; border:1.5px dashed #a8cdbd; border-radius:.95rem; background:var(--accent-soft); color:var(--accent-dark); text-align:center; cursor:pointer; }
.manual-account-dropzone > span { font-size:1.4rem; }
.manual-account-dropzone > small { color:var(--muted); font-size:.62rem; }
.manual-account-dropzone input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.manual-account-table-wrap { overflow:auto; border:1px solid var(--line); border-radius:.9rem; }
.manual-account-table-wrap table { width:100%; border-collapse:collapse; }
.manual-account-table-wrap th,.manual-account-table-wrap td { padding:.75rem .85rem; border-bottom:1px solid var(--line); font-size:.68rem; text-align:left; }
.manual-account-table-wrap th { color:var(--muted); font-size:.59rem; letter-spacing:.055em; text-transform:uppercase; }
.manual-account-table-wrap tr:last-child td { border-bottom:0; }
.manual-account-table-wrap .amount-cell { font-weight:850; text-align:right; white-space:nowrap; }
.manual-provider-card { border-color:#cde3d9; background:linear-gradient(135deg,#f7fbf8,#eef8f3); }
.page--admin, .page--form { max-width: 68rem; }
.admin-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.admin-heading h1 { margin:0; font-size:clamp(2.4rem,6vw,4.5rem); letter-spacing:-.06em; }
.admin-heading p:last-child { color:var(--muted); }
.alert--success { border-color:#bfe8d3; background:var(--accent-soft); color:var(--accent-dark); }
.contract-heading-actions { display:flex; align-items:center; gap:.65rem; }
.contract-heading-actions .button { margin:0; }
.contract-import-page { max-width:1180px; }
.contract-import-panel { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:2rem; margin:1rem 0; padding:1.35rem 1.5rem; border:1px solid var(--line); border-radius:1rem; background:var(--surface); }
.contract-import-panel h2 { margin:.5rem 0 .25rem; font-size:1.15rem; }
.contract-import-panel p { max-width:48rem; margin:0; color:var(--muted); }
.contract-import-panel .button { margin:0; white-space:nowrap; }
.contract-import-upload { display:flex; align-items:flex-end; gap:.65rem; }
.contract-import-upload label span { display:block; margin-bottom:.35rem; color:var(--muted); font-size:.68rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.contract-import-upload input[type=file] { max-width:22rem; padding:.65rem; border:1px solid var(--line); border-radius:.7rem; background:var(--paper); }
.contract-import-preview { margin-top:1.5rem; padding:1.5rem; border:1px solid var(--line); border-radius:1rem; background:var(--surface); }
.contract-import-table-wrap { overflow:auto; margin-top:1rem; border:1px solid var(--line); border-radius:.8rem; }
.contract-import-table { width:100%; border-collapse:collapse; }
.contract-import-table th,.contract-import-table td { padding:.8rem; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.contract-import-table th { color:var(--muted); font-size:.65rem; letter-spacing:.06em; text-transform:uppercase; }
.contract-import-table tr:last-child td { border-bottom:0; }
.contract-import-table td ul { margin:0; padding-left:1rem; color:var(--danger); }
.contract-import-row--error td { background:#fff8f7; }
@media(max-width:760px){.contract-heading-actions,.contract-import-upload{align-items:stretch;flex-direction:column}.contract-import-panel{grid-template-columns:1fr}.contract-import-panel .button,.contract-import-upload .button{width:100%}}
.dashboard-pension-monitor { margin-top:1rem; }
.dashboard-quick-nav { display:flex; align-items:center; gap:.8rem; margin:-.35rem 0 1rem; padding:.42rem .55rem; overflow:hidden; border:1px solid rgba(125,145,135,.18); border-radius:.8rem; background:rgba(255,255,255,.42); color:#7d8a84; }
.dashboard-quick-nav>span { flex:0 0 auto; padding-left:.2rem; font-size:.52rem; font-weight:850; letter-spacing:.065em; text-transform:uppercase; }
.dashboard-quick-nav>div { display:flex; min-width:0; gap:.18rem; overflow-x:auto; scrollbar-width:none; }
.dashboard-quick-nav>div::-webkit-scrollbar { display:none; }
.dashboard-quick-nav a { flex:0 0 auto; padding:.28rem .44rem; border-radius:.46rem; font-size:.56rem; font-weight:720; white-space:nowrap; transition:background .15s,color .15s; }
.dashboard-quick-nav a:hover,.dashboard-quick-nav a:focus-visible { background:rgba(25,169,116,.08); color:var(--accent-dark); }
.dashboard-compact-trends{display:flex;align-items:center;gap:.7rem;margin:0 0 1rem;padding:.34rem .48rem;border:1px solid rgba(125,145,135,.22);border-radius:.78rem;background:rgba(255,255,255,.66);box-shadow:0 5px 18px rgba(18,45,35,.035)}.dashboard-compact-trends__head{display:flex;flex:0 0 auto;align-items:center;gap:.45rem}.dashboard-compact-trends__head>span{color:var(--muted);font-size:.5rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.dashboard-compact-trends__head>div{display:flex;gap:.12rem;padding:.12rem;border-radius:.5rem;background:var(--paper)}.dashboard-compact-trends__head button{padding:.22rem .36rem;border:0;border-radius:.38rem;background:transparent;color:var(--muted);font:inherit;font-size:.5rem;font-weight:750;cursor:pointer;white-space:nowrap}.dashboard-compact-trends__head button.is-active{background:#fff;color:var(--ink);box-shadow:0 1px 5px rgba(18,45,35,.08)}.dashboard-compact-trends__items{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:.2rem;margin-left:auto}.dashboard-compact-trends__items>a{display:flex;align-items:center;gap:.3rem;padding:.12rem .3rem;border-radius:.5rem;color:var(--ink);white-space:nowrap}.dashboard-compact-trends__items>a:hover{background:var(--paper)}.dashboard-compact-trends__items small{font-size:.52rem;font-weight:650}.dashboard-compact-trend{display:grid;width:1.38rem;height:1.38rem;place-items:center;border-radius:.46rem}.dashboard-compact-trend[hidden]{display:none!important}.dashboard-compact-trend i{font-size:.78rem;font-style:normal;font-weight:950;line-height:1}.dashboard-compact-trend--up{background:#dff7eb;color:#087a54}.dashboard-compact-trend--sideways{background:#fff2c7;color:#9a6b00}.dashboard-compact-trend--down{background:#ffeded;color:#b63838}.dashboard-compact-trend--unknown{background:#eef1ee;color:#7b8781}
#account-radar,#balance-forecast,#latest-transactions,#account-values,#metallperformance,#depotperformance,#kryptoperformance,#zins-dividendenperformance,#income-situation,#monthly-expenses,#wealth-structure,#pension-monitor,#loan-monitor,#excluded-wealth-positions { scroll-margin-top:6rem; }
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media(max-width:760px){.dashboard-quick-nav{align-items:flex-start;flex-direction:column;gap:.25rem}.dashboard-quick-nav>div{width:100%}.dashboard-compact-trends{align-items:flex-start;flex-direction:column;gap:.28rem}.dashboard-compact-trends__items{width:100%;justify-content:flex-start;overflow-x:auto}.dashboard-compact-trends__head{width:100%;justify-content:space-between}}
.dashboard-pension-monitor__summary { display:flex; flex-wrap:wrap; gap:1.8rem; padding:.8rem 1rem .3rem; }
.dashboard-pension-monitor__summary span { display:grid; gap:.1rem; }
.dashboard-pension-monitor__summary button { display:grid; gap:.1rem; padding:.38rem .5rem; border:1px solid transparent; border-radius:.62rem; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.dashboard-pension-monitor__summary button:hover,.dashboard-pension-monitor__summary button:focus-visible { border-color:#c8dfd5; background:#f4faf7; }
.dashboard-pension-monitor__summary button em { color:var(--accent-dark); font-size:.53rem; font-style:normal; font-weight:800; }
.dashboard-pension-monitor__summary small { color:var(--muted); font-size:.58rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.dashboard-pension-monitor__summary strong,.dashboard-pension-monitor__summary button strong { font-size:1rem; letter-spacing:-.025em; }
.dashboard-pension-monitor__chart { margin:.25rem 1rem .75rem; }
.dashboard-pension-monitor__chart svg { display:block; width:100%; height:1.65cm; max-height:2cm; overflow:visible; }
.dashboard-pension-monitor__baseline { stroke:#e1e8e4; stroke-width:1; }
.dashboard-pension-monitor__line { fill:none; stroke:#659b87; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.5; vector-effect:non-scaling-stroke; }
.dashboard-pension-monitor__chart figcaption { display:flex; justify-content:space-between; gap:.5rem; margin-top:.12rem; color:var(--muted); font-size:.52rem; }
.dashboard-pension-monitor__chart figcaption span { display:grid; gap:.08rem; }
.dashboard-pension-monitor__chart figcaption button { display:grid; gap:.08rem; padding:.2rem .28rem; border:1px solid transparent; border-radius:.45rem; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.dashboard-pension-monitor__chart figcaption button:hover,.dashboard-pension-monitor__chart figcaption button:focus-visible { border-color:#d2e2db; background:#f6faf8; }
.dashboard-pension-monitor__chart figcaption button:last-child { text-align:right; }
.dashboard-pension-monitor__chart figcaption b { color:var(--ink); font-size:.55rem; }
.dashboard-pension-monitor__note { margin:.3rem 1rem .8rem; color:var(--muted); font-size:.58rem; }
.dashboard-pension-dialog__empty { margin:0; padding:1rem 1.3rem; color:var(--muted); font-size:.7rem; }
.dashboard-excluded-wealth { margin-top:1rem; }
.dashboard-excluded-wealth__heading-total { display:grid; justify-items:end; gap:.12rem; text-align:right; }
.dashboard-excluded-wealth__heading-total small { color:var(--muted); font-size:.63rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.dashboard-excluded-wealth__heading-total strong { font-size:1.3rem; letter-spacing:-.03em; }
.dashboard-excluded-wealth__heading-total span { color:var(--muted); font-size:.68rem; }
.dashboard-excluded-wealth__heading-total a { margin-top:.3rem; }
.dashboard-excluded-wealth__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin-top:1rem; }
.dashboard-excluded-wealth__list>a { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:.8rem; padding:.9rem 1rem; border:1px solid var(--line); border-radius:.85rem; color:var(--ink); text-decoration:none; transition:border-color .18s ease,background .18s ease; }
.dashboard-excluded-wealth__list>a:hover { border-color:#9fd9c3; background:#f8fcfa; }
.dashboard-excluded-wealth__icon { display:grid; width:1.8rem; height:1.8rem; place-items:center; border-radius:50%; background:var(--paper); color:var(--muted); font-weight:900; }
.dashboard-excluded-wealth__list span strong,.dashboard-excluded-wealth__list span small { display:block; }
.dashboard-excluded-wealth__list span small { margin-top:.18rem; color:var(--muted); font-size:.69rem; }
.dashboard-excluded-wealth__value { text-align:right; white-space:nowrap; }
.dashboard-excluded-wealth__list>a>i { color:var(--accent); font-style:normal; font-weight:900; }
.dashboard-excluded-wealth__empty { display:flex; align-items:center; gap:.75rem; margin-top:1rem; padding:1rem; border-radius:.85rem; background:var(--paper); }
.dashboard-excluded-wealth__empty>span { color:var(--accent); font-size:1.2rem; font-weight:900; }
.dashboard-excluded-wealth__empty small { margin-left:auto; color:var(--muted); }
@media(max-width:760px){.dashboard-excluded-wealth__heading-total{justify-items:start;text-align:left}.dashboard-excluded-wealth__list{grid-template-columns:1fr}.dashboard-excluded-wealth__empty{align-items:flex-start;flex-direction:column}.dashboard-excluded-wealth__empty small{margin-left:0}.dashboard-excluded-wealth__list>a{grid-template-columns:auto minmax(0,1fr) auto}.dashboard-excluded-wealth__value{grid-column:2;text-align:left}.dashboard-excluded-wealth__list>a>i{grid-column:3;grid-row:1/3}}
.alert--warning { border-color:#ead79d; background:#fff7df; color:#805f00; }
.empty-state { display:grid; justify-items:center; padding:5rem 2rem; border:1px dashed var(--line); border-radius:1.5rem; background:var(--surface); text-align:center; }
.empty-state h2 { margin:1.2rem 0 .2rem; }
.empty-state p { max-width:34rem; margin-bottom:1.5rem; color:var(--muted); }
.account-list { display:grid; gap:.8rem; }
.account-list-group-heading { display:flex; align-items:center; gap:.55rem; margin-top:1rem; padding:.35rem .25rem 0; color:var(--accent-dark); font-size:.78rem; letter-spacing:.04em; text-transform:uppercase; }
.account-list-group-heading:first-child { margin-top:0; }
.account-list-group-heading span { font-size:1rem; }
.account-list-main-group { display:flex; align-items:center; gap:.65rem; margin:1.65rem 0 .15rem; padding:.65rem .35rem .45rem; border-bottom:2px solid rgba(22,174,120,.2); color:var(--accent-dark); font-size:1.08rem; letter-spacing:-.015em; }
.account-list-main-group:first-child { margin-top:0; }
.account-list-main-group span { display:grid; width:1.7rem; height:1.7rem; place-items:center; border-radius:.55rem; background:var(--accent-soft); color:var(--accent-dark); font-size:.88rem; }
.account-list-subgroup { display:flex; align-items:center; gap:.45rem; margin:.8rem 0 -.15rem; padding:0 .55rem; color:#84918b; font-size:.68rem; letter-spacing:.09em; text-transform:uppercase; }
.account-list-subgroup span { color:var(--accent); font-size:.9rem; }
.account-row { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1.3rem 1.5rem; border:1px solid var(--line); border-radius:1.1rem; background:var(--surface); }
.account-row h2 { margin:.6rem 0 .2rem; }
.account-row p { margin:0; color:var(--muted); }
.row-actions, .form-actions { display:flex; align-items:center; gap:.65rem; }
.button--secondary { border:1px solid var(--line); background:var(--surface); color:var(--ink); }
.button--with-count { gap:.45rem; }
.button-count { display:inline-grid; min-width:1.35rem; height:1.35rem; padding:0 .35rem; place-items:center; border-radius:999px; background:var(--accent); color:#fff; font-size:.67rem; font-weight:900; line-height:1; }
.button--danger { background:#fff0f0; color:var(--danger); }
.group-create-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,.8fr); gap:2rem; align-items:end; margin-bottom:1.2rem; padding:1.5rem; border:1px solid var(--line); border-radius:1.2rem; background:linear-gradient(135deg,var(--surface),var(--accent-soft)); }
.group-create-panel h2 { margin:.2rem 0; }
.group-create-panel p:last-child { margin:.4rem 0 0; color:var(--muted); }
.group-create-panel form,.group-create-panel label { display:grid; gap:.5rem; }
.account-group-list { display:grid; gap:1rem; }
.account-group-card { overflow:hidden; border:1px solid var(--line); border-radius:1.2rem; background:var(--surface); box-shadow:0 12px 34px rgba(18,45,35,.05); }
.account-group-card__heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.2rem 1.4rem; border-bottom:1px solid var(--line); background:#fbfcfa; }
.account-group-card__heading > div { display:flex; align-items:center; gap:.8rem; min-width:0; }
.group-inline-form { display:flex; align-items:center; gap:.5rem; min-width:0; }
.group-inline-form input { min-width:12rem; font-size:1rem; font-weight:800; }
.account-subgroup-list { display:grid; gap:.65rem; padding:1rem 1.4rem 1.4rem; }
.account-subgroup-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem; border:1px solid var(--line); border-radius:.9rem; }
.account-subgroup-row > div { display:flex; align-items:center; gap:.7rem; min-width:0; }
.account-subgroup-icon { color:var(--accent); font-size:1.4rem; font-weight:900; }
.account-subgroup-create { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:.8rem; padding:1rem; border:1px dashed var(--line); border-radius:.9rem; background:var(--paper); }
.account-subgroup-create label { display:grid; gap:.4rem; }
.group-sort-toolbar { position:sticky; z-index:5; top:5.3rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:1rem 0; padding:.85rem 1rem; border:1px solid var(--line); border-radius:1rem; background:rgba(255,255,255,.94); box-shadow:0 10px 28px rgba(18,45,35,.07); backdrop-filter:blur(14px); }
.group-sort-toolbar > div { display:grid; gap:.15rem; }
.group-sort-toolbar span { color:var(--muted); font-size:.72rem; }
.group-sort-toolbar span[data-state="pending"] { color:#8a6400; font-weight:800; }
.group-sort-toolbar span[data-state="saved"] { color:var(--accent-dark); font-weight:800; }
.group-sort-toolbar span[data-state="error"] { color:var(--danger); font-weight:800; }
.group-sort-toolbar .button:disabled { opacity:.42; cursor:default; }
.group-sort-handle { display:grid; width:2rem; height:2rem; flex:0 0 auto; place-items:center; padding:0; border:0; border-radius:.55rem; background:var(--paper); color:#839089; cursor:grab; font-size:1.15rem; line-height:1; touch-action:none; user-select:none; }
.group-sort-handle:hover { background:var(--accent-soft); color:var(--accent-dark); }
.group-sort-handle:active { cursor:grabbing; }
.account-group-card.is-sorting,.account-subgroup-row.is-sorting { opacity:.55; outline:2px dashed var(--accent); outline-offset:2px; }
.account-group-card,.account-subgroup-row { transition:transform 140ms,opacity 140ms; }
.admin-form { display:grid; gap:1rem; }
.admin-form fieldset { margin:0; padding:1.5rem; border:1px solid var(--line); border-radius:1.2rem; background:var(--surface); }
.admin-form legend { padding:0 .5rem; font-weight:800; }
.admin-form label { display:grid; gap:.45rem; color:var(--muted); font-size:.86rem; font-weight:700; }
.admin-form input, .admin-form textarea { width:100%; padding:.85rem .95rem; border:1px solid var(--line); border-radius:.75rem; outline:none; background:#fbfcfa; color:var(--ink); }
.admin-form select { width:100%; padding:.85rem .95rem; border:1px solid var(--line); border-radius:.75rem; background:#fbfcfa; color:var(--ink); }
.admin-form input:focus, .admin-form textarea:focus, .admin-form select:focus { border-color:var(--accent); box-shadow:0 0 0 4px var(--accent-soft); outline:none; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.form-grid__wide { grid-column:1/-1; }
.fints-autofill { display:grid; grid-template-columns:2.3rem minmax(0,1fr); gap:.9rem; align-items:start; padding:1rem; border:1px solid var(--line); border-radius:.9rem; background:#f7faf7; transition:border-color 160ms,background 160ms; }
.fints-autofill__icon { display:grid; width:2.3rem; height:2.3rem; place-items:center; border-radius:.75rem; background:var(--navy); color:#fff; font-weight:900; }
.fints-autofill strong { display:block; margin-bottom:.2rem; font-size:.82rem; }
.fints-autofill p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.5; }
.fints-autofill[data-state="loading"] { border-color:#b9d3c5; background:#f2f8f4; }
.fints-autofill[data-state="loading"] .fints-autofill__icon { animation:sync-pulse 1.5s infinite; background:var(--accent); }
.fints-autofill[data-state="success"] { border-color:#9cd8b9; background:var(--accent-soft); }
.fints-autofill[data-state="success"] .fints-autofill__icon { background:var(--accent); }
.fints-autofill[data-state="warning"] { border-color:#ead69b; background:#fff9e8; }
.fints-autofill[data-state="warning"] .fints-autofill__icon { background:#9a7311; }
.fints-autofill__choices { display:flex; align-items:center; gap:.65rem; margin-top:.75rem; }
.fints-autofill__choices select { flex:1; }
.fints-autofill__choices .button { flex:0 0 auto; margin:0; }
.field-hint { margin-top:0; color:var(--muted); font-size:.88rem; }
.form-actions { justify-content:flex-end; margin:1rem 0 1.25rem; }
.check-list { overflow:hidden; border:1px solid var(--line); border-radius:1.2rem; background:var(--surface); }
.check-row { display:flex; align-items:center; gap:1rem; padding:1rem 1.25rem; border-bottom:1px solid var(--line); }
.check-row:last-child { border-bottom:0; }
.check-row > div { display:flex; flex:1; justify-content:space-between; gap:1rem; }
.check-row span:last-child { color:var(--muted); }
.check-icon { display:grid; width:1.8rem; height:1.8rem; place-items:center; border-radius:50%; font-weight:800; }
.check-icon--ok { background:var(--accent-soft); color:var(--accent-dark); }
.check-icon--pending { background:#fff4d6; color:#8a6400; }
.integration-panel { margin-top:2rem; padding:1.5rem; border:1px solid var(--line); border-radius:1.2rem; background:var(--surface); }
.integration-panel > h2 { margin-top:0; }
.info-box { margin-top:1rem; padding:1.1rem 1.25rem; border-radius:1rem; background:#eaf1ff; color:#27456f; }
.info-box p { margin:.3rem 0 0; line-height:1.5; }
.metal-rate-panel{display:grid;gap:1.1rem;margin:1.5rem 0;padding:1.35rem 1.45rem;border:1px solid #cfe1d8;border-radius:1.25rem;background:linear-gradient(135deg,#fff 0%,#f2f8f5 100%);scroll-margin-top:6rem}
.metal-rate-panel__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.metal-rate-panel__heading h2{margin:.2rem 0 .3rem;font-size:1.25rem}
.metal-rate-panel__heading p:not(.eyebrow){margin:0;color:var(--muted);font-size:.78rem}
.metal-rate-panel__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}
.metal-rate-panel__metrics>div{display:grid;gap:.25rem;padding:.8rem .9rem;border:1px solid rgba(16,37,29,.08);border-radius:.85rem;background:rgba(255,255,255,.76)}
.metal-rate-panel__metrics span{color:var(--muted);font-size:.62rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.metal-rate-panel__metrics strong{font-size:.82rem}
.metal-rate-panel__metrics small{color:var(--muted);font-size:.66rem;line-height:1.35}
.metal-rate-panel__note{margin:0;color:var(--muted);font-size:.72rem}
.metal-rate-panel__actions,.metal-rate-panel__actions form{margin:0}
.asset-auto-rate{display:block;margin-top:.6rem;color:var(--accent-dark);font-size:.63rem;font-weight:750}
.automation-component-results{display:grid;gap:.55rem;margin-top:.8rem}
.automation-component-result{display:grid;grid-template-columns:1.8rem minmax(0,1fr);gap:.7rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:.85rem;background:#f8faf7}
.automation-component-result__icon{display:grid;width:1.8rem;height:1.8rem;place-items:center;border-radius:.55rem;background:#e8f7f0;color:#087a55;font-size:.72rem;font-weight:900}
.automation-component-result__heading{display:flex;align-items:center;justify-content:space-between;gap:.7rem}
.automation-component-result__heading strong{font-size:.76rem}
.automation-component-result__heading span{color:#087a55;font-size:.6rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.automation-component-result p{margin:.25rem 0 0!important;color:var(--muted);font-size:.68rem;line-height:1.45}
.automation-component-result--warning{border-color:#ead59e;background:#fffaf0}
.automation-component-result--warning .automation-component-result__icon{background:#fff0c7;color:#8a6400}
.automation-component-result--warning .automation-component-result__heading span{color:#8a6400}
.automation-component-result--failed{border-color:#efc7c7;background:#fff5f5}
.automation-component-result--failed .automation-component-result__icon{background:#fde1e1;color:#b63838}
.automation-component-result--failed .automation-component-result__heading span{color:#b63838}
.metal-alert-settings{margin:1.5rem 0 2rem;scroll-margin-top:6rem}
.metal-alert-settings .alert-tile-account{margin-top:.8rem}
.alert-config-tile--metal{background:linear-gradient(145deg,#fff,#faf8f1)}
.alert-config-tile--metal.alert-config-tile--active{border-color:#d9c98d;box-shadow:0 12px 32px rgba(105,82,16,.08)}
.alert-config-tile--metal .app-tile__icon{background:#f5edcf;color:#7b6415;font-size:.72rem;letter-spacing:-.03em}
.metal-alert-settings__latest{display:block;margin-top:.8rem;color:var(--muted);font-size:.66rem;font-weight:700}
.switch-label { align-content:end; }
.switch-label input { width:1.1rem; height:1.1rem; box-shadow:none; }
.switch-label { display:flex !important; flex-direction:row; align-items:center; padding:.8rem 0; }
.admin-form small { color:var(--muted); font-weight:400; }
.report-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.report-option { display:flex !important; flex-direction:row; align-items:flex-start; gap:.8rem !important; padding:1rem; border:1px solid var(--line); border-radius:.9rem; background:#fbfcfa; cursor:pointer; }
.report-option:has(input:checked) { border-color:var(--accent); background:var(--accent-soft); }
.report-option input { width:1.1rem; height:1.1rem; margin:.15rem 0 0; box-shadow:none !important; accent-color:var(--accent); }
.report-option span { display:grid; gap:.25rem; color:var(--ink); }
.report-option small { line-height:1.4; }
.report-recipients { display:grid; gap:1rem; }
.report-recipient-row { padding:1rem; border:1px solid var(--line); border-radius:1rem; background:#fbfcfa; }
.report-recipient-row__heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.8rem; }
.report-recipient-remove { padding:0; border:0; background:transparent; color:var(--danger); font:inherit; font-size:.82rem; font-weight:700; cursor:pointer; }
.report-recipient-frequencies { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; margin-top:.8rem; }
.report-recipient-frequencies label { display:flex; flex-direction:row; align-items:flex-start; gap:.6rem; padding:.75rem; border:1px solid var(--line); border-radius:.8rem; background:#fff; cursor:pointer; }
.report-recipient-frequencies label:has(input:checked) { border-color:var(--accent); background:var(--accent-soft); }
.report-recipient-frequencies input { width:1rem; height:1rem; margin:.15rem 0 0; box-shadow:none !important; accent-color:var(--accent); }
.report-recipient-frequencies span { display:grid; gap:.15rem; }
.report-recipient-frequencies small { line-height:1.3; }
.report-recipient-add { margin-top:1rem; }
.account-access-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.account-wealth-option { align-self:end; min-height:4.65rem; }
.report-badges { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.7rem; }
.report-badges span { padding:.25rem .55rem; border-radius:999px; background:var(--accent-soft); color:var(--accent-dark); font-size:.7rem; font-weight:800; }
.report-badges .report-badge--muted { background:var(--paper); color:var(--muted); }
.report-badges .report-badge--warning { background:#fff4d6; color:#8a6400; }
.tan-options { display:grid; gap:.75rem; }
.tan-option { display:flex !important; flex-direction:row; align-items:flex-start; gap:.85rem !important; padding:1rem; border:1px solid var(--line); border-radius:.9rem; background:#fbfcfa; }
.tan-option:has(input:checked) { border-color:var(--accent); background:var(--accent-soft); }
.tan-option > input { width:1.1rem; height:1.1rem; margin:.2rem 0 0; box-shadow:none; accent-color:var(--accent); }
.tan-option > span { display:grid; flex:1; gap:.35rem; color:var(--ink); }
.auth-request-card { padding:1.6rem; border:1px solid var(--line); border-radius:1.2rem; background:var(--surface); }
.auth-request-card h2 { margin:1.2rem 0 .4rem; font-size:1.8rem; }
.auth-challenge { padding:1rem; border-radius:.8rem; background:var(--paper); line-height:1.55; }
.auth-challenge-visual {
    margin:1.2rem 0;
    padding:1.25rem;
    border:1px solid var(--line);
    border-radius:1rem;
    background:#fff;
    text-align:center;
}
.auth-challenge-visual img {
    display:block;
    width:auto;
    max-width:min(100%, 440px);
    max-height:360px;
    margin:0 auto;
    object-fit:contain;
}
.auth-challenge-visual figcaption {
    margin-top:.85rem;
    color:var(--muted);
    font-size:.9rem;
    line-height:1.45;
}
.auth-challenge-visual--photo img {
    image-rendering:auto;
}

.account-management-nav__type {
    color:var(--accent-dark);
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.account-nav__count--depot {
    color:var(--accent-dark);
    background:#e1f6ec;
}
.depot-content {
    min-width:0;
}
.depot-heading {
    align-items:flex-start;
}
.depot-auth-action {
    margin:1rem 0 1.5rem;
}
.depot-summary {
    display:grid;
    grid-template-columns:minmax(300px,1.8fr) repeat(2,minmax(170px,.7fr));
    gap:1rem;
    margin:1.5rem 0;
}
.depot-summary > article:not(.balance-card) {
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:150px;
    padding:1.3rem;
    border:1px solid var(--line);
    border-radius:1.1rem;
    background:#fff;
}
.depot-summary > article:not(.balance-card) > span {
    color:var(--muted);
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.depot-summary > article:not(.balance-card) > strong {
    margin-top:.45rem;
    color:var(--ink);
    font-size:1.65rem;
}
.depot-summary > article:not(.balance-card) > small {
    margin-top:.4rem;
    color:var(--muted);
}
.depot-total-performance {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:.15rem .8rem;
    width:100%;
    margin-top:1rem;
    padding:.75rem .85rem;
    border:1px solid rgba(255,255,255,.13);
    border-radius:.75rem;
    background:rgba(255,255,255,.08);
}
.depot-total-performance > span {
    grid-column:1/-1;
    color:rgba(255,255,255,.68)!important;
    font-size:.62rem!important;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.depot-total-performance > strong {
    margin:0!important;
    font-size:clamp(1.2rem,2vw,1.65rem)!important;
    letter-spacing:-.035em!important;
}
.depot-total-performance > b {
    padding:.28rem .48rem;
    border-radius:99rem;
    font-size:.78rem;
    line-height:1;
}
.depot-total-performance > em {
    grid-column:1/-1;
    margin-top:.15rem;
    color:rgba(255,255,255,.78);
    font-size:.67rem;
    font-style:normal;
    font-weight:800;
}
.depot-total-performance > small {
    grid-column:1/-1;
    color:rgba(255,255,255,.62)!important;
    font-size:.65rem!important;
}
.depot-total-performance--positive > strong {
    color:#8ff0bd!important;
}
.depot-total-performance--positive > b {
    background:rgba(91,224,151,.16);
    color:#a9f5cc;
}
.depot-total-performance--negative > strong {
    color:#ff9f9f!important;
}
.depot-total-performance--negative > b {
    background:rgba(255,112,112,.16);
    color:#ffc0c0;
}
.depot-total-performance--missing > strong {
    color:rgba(255,255,255,.7)!important;
}
.depot-history-section {
    margin:1.75rem 0;
    padding:1.35rem;
    border:1px solid var(--line);
    border-radius:1.25rem;
    background:rgba(255,255,255,.72);
    box-shadow:0 1rem 2.5rem rgba(17,50,37,.05);
}
.depot-history-heading {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1.1rem;
}
.depot-history-heading h3 {
    margin:.2rem 0 .25rem;
    font-size:clamp(1.35rem,2.3vw,2rem);
    letter-spacing:-.035em;
}
.depot-history-heading p {
    margin:0;
    color:var(--muted);
}
.depot-history-heading__count {
    flex:0 0 auto;
    padding:.42rem .7rem;
    border-radius:99rem;
    background:var(--accent-soft);
    color:var(--accent-dark);
    font-size:.72rem;
    font-weight:850;
}
.depot-history-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
}
.depot-chart-card {
    min-width:0;
    padding:1.15rem;
    border:1px solid var(--line);
    border-radius:1rem;
    background:#fff;
}
.depot-chart-card__head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    min-height:2.9rem;
}
.depot-chart-card__head > div:first-child > span,
.depot-chart-card__head label > span {
    display:block;
    margin-bottom:.2rem;
    color:var(--muted);
    font-size:.62rem;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.depot-chart-card__head > div:first-child > strong {
    display:block;
    overflow:hidden;
    max-width:17rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.depot-chart-card__head--position {
    align-items:flex-end;
}
.depot-chart-card__head label {
    min-width:0;
    flex:1;
}
.depot-chart-card__head select {
    width:100%;
    padding:.55rem 2.1rem .55rem .65rem;
    border:1px solid var(--line);
    border-radius:.65rem;
    outline:none;
    background:#f8faf7;
    color:var(--ink);
    font:inherit;
    font-size:.78rem;
    font-weight:750;
}
.depot-chart-card__head select:focus {
    border-color:var(--accent);
    box-shadow:0 0 0 .18rem var(--accent-soft);
}
.depot-chart-periods,
.depot-chart-metrics {
    display:inline-flex;
    flex:0 0 auto;
    padding:.2rem;
    border:1px solid var(--line);
    border-radius:.65rem;
    background:#f3f6f1;
}
.depot-chart-periods--position {
    width:max-content;
    margin:.75rem 0 0 auto;
}
.depot-chart-periods button,
.depot-chart-metrics button {
    padding:.42rem .56rem;
    border:0;
    border-radius:.48rem;
    background:transparent;
    color:var(--muted);
    font:inherit;
    font-size:.65rem;
    font-weight:850;
    cursor:pointer;
}
.depot-chart-periods button.is-active,
.depot-chart-metrics button.is-active {
    background:#fff;
    color:var(--accent-dark);
    box-shadow:0 .15rem .45rem rgba(17,50,37,.09);
}
.depot-chart-summary {
    display:flex;
    align-items:baseline;
    gap:.65rem;
    margin:1.15rem 0 .35rem;
}
.depot-chart-summary strong {
    font-size:clamp(1.3rem,2.5vw,1.85rem);
    letter-spacing:-.035em;
    font-variant-numeric:tabular-nums;
}
.depot-chart-summary span {
    color:var(--muted);
    font-size:.75rem;
    font-weight:800;
}
.depot-chart-summary span.is-positive {
    color:var(--accent-dark);
}
.depot-chart-summary span.is-negative {
    color:var(--danger);
}
.depot-chart-canvas {
    position:relative;
    min-height:13.5rem;
    touch-action:pan-y;
}
.depot-chart-canvas svg {
    display:block;
    width:100%;
    height:auto;
    overflow:visible;
}
.depot-chart-gridline {
    stroke:#e8ede8;
    stroke-width:1;
}
.depot-chart-axis-label {
    fill:#87938d;
    font-family:inherit;
    font-size:10px;
}
.depot-chart-line,
.depot-chart-area {
    pointer-events:none;
}
.depot-chart-focus-line {
    stroke:#87938d;
    stroke-width:1;
    stroke-dasharray:3 4;
    pointer-events:none;
}
.depot-chart-focus-dot {
    pointer-events:none;
}
.depot-chart-tooltip {
    pointer-events:none;
}
.depot-chart-tooltip[hidden],
.depot-chart-focus-line[hidden],
.depot-chart-focus-dot[hidden] {
    display:none;
}
.depot-chart-tooltip rect {
    fill:#102b21;
    filter:drop-shadow(0 .25rem .45rem rgba(0,0,0,.18));
}
.depot-chart-tooltip text {
    fill:#c5d4cd;
    font-family:inherit;
    font-size:11px;
}
.depot-chart-tooltip .depot-chart-tooltip__value {
    fill:#fff;
    font-size:14px;
    font-weight:800;
}
.depot-chart-empty {
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    margin:0;
    padding:1rem;
    border-radius:.8rem;
    background:#f6f8f5;
    color:var(--muted);
    font-size:.78rem;
    text-align:center;
}
.depot-chart-empty[hidden] { display:none!important; }
.depot-chart-range {
    display:flex;
    justify-content:space-between;
    margin-top:-.25rem;
    padding-left:3.25rem;
    color:var(--muted);
    font-size:.65rem;
}
.depot-history-note {
    margin:1rem 0 0;
    color:var(--muted);
    font-size:.7rem;
    line-height:1.5;
}
.depot-table-tools {
    display:flex;
    justify-content:flex-end;
    margin:1.25rem 0 .7rem;
}
.depot-table-tools form {
    display:grid;
    gap:.35rem;
    width:min(27rem,100%);
    padding:.65rem .75rem;
    border:1px solid var(--line);
    border-radius:.8rem;
    background:rgba(255,255,255,.72);
}
.depot-table-tools label {
    color:var(--muted);
    font-size:.62rem;
    font-weight:850;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.depot-table-tools form > div {
    display:flex;
    align-items:center;
    gap:.4rem;
}
.depot-table-tools form > div > span {
    color:var(--accent-dark);
    font-size:1.1rem;
}
.depot-table-tools input[type="search"] {
    width:100%;
    min-width:0;
    padding:.55rem .65rem;
    border:1px solid var(--line);
    border-radius:.55rem;
    outline:none;
    background:#fff;
    color:var(--ink);
}
.depot-table-tools input[type="search"]:focus {
    border-color:var(--accent);
    box-shadow:0 0 0 .18rem var(--accent-soft);
}
.depot-table-tools select {
    min-width:11rem;
    padding:.55rem .7rem;
    border:1px solid var(--line);
    border-radius:.55rem;
    background:#fff;
    color:var(--ink);
}
.depot-table-tools .button {
    flex:0 0 auto;
    margin:0;
    padding:.55rem .7rem;
    font-size:.68rem;
}
.depot-table-tools form > small {
    color:var(--muted);
    font-size:.65rem;
}
.depot-table-wrap {
    overflow:auto;
    border:1px solid var(--line);
    border-radius:1.1rem;
    background:#fff;
}
.depot-table {
    width:100%;
    min-width:68rem;
    border-collapse:collapse;
}
.depot-table th,
.depot-table td {
    padding:1rem 1.1rem;
    border-bottom:1px solid var(--line);
    text-align:left;
    vertical-align:top;
}
.depot-table th {
    color:var(--muted);
    font-size:.72rem;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.depot-table tr:last-child td {
    border-bottom:0;
}
.depot-table tr[id^="depot-position-"] { scroll-margin-top:6.25rem; }
.depot-table tr[id^="depot-position-"]:target td { background:#f2faf6; }
.depot-position-links{display:flex!important;align-items:center;flex-wrap:wrap;gap:.2rem .65rem;margin:.18rem 0 .12rem}.depot-position-chart-link{display:inline-flex!important;align-items:center;gap:.2rem;color:var(--accent-dark);font-size:.58rem;font-weight:700;text-decoration:none}.depot-position-chart-link:hover{text-decoration:underline}.depot-position-comdirect-link{color:#405d50}.depot-chart-card#depot-position-chart{scroll-margin-top:6.25rem}
.depot-current-price-entry{margin-top:.16rem;color:var(--muted);font-size:.58rem;font-weight:500;white-space:nowrap}
.depot-chart-position-link{display:inline-flex;flex:0 0 auto;align-items:center;min-height:2rem;padding:.2rem .48rem;border:1px solid #cfe1d8;border-radius:.55rem;background:#f5faf7;color:var(--accent-dark);font-size:.6rem;font-weight:750;white-space:nowrap}.depot-chart-position-link:hover{border-color:#9dceb5;background:var(--accent-soft)}
.depot-table td strong,
.depot-table td span,
.depot-table td small {
    display:block;
}
.depot-classification { margin-top:.38rem; }
.depot-classification b {
    display:inline-flex;
    padding:.15rem .42rem;
    border-radius:999px;
    background:var(--accent-soft);
    color:var(--accent-dark);
    font-size:.58rem;
    font-weight:850;
}
.depot-classification small { margin-top:.2rem!important; font-size:.62rem; }
.depot-table td small {
    margin-top:.3rem;
    color:var(--muted);
}
.depot-table .amount-cell {
    text-align:right;
    white-space:nowrap;
}
.transaction-portfolio-overview {
    margin-top:1.35rem;
}
.transaction-portfolio-summary {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(20rem,32rem);
    align-items:stretch;
    gap:1rem;
    margin-bottom:1rem;
}
.transaction-portfolio-summary > div {
    align-self:center;
    padding:.75rem .25rem;
}
.transaction-portfolio-summary h3 {
    margin:.2rem 0;
    font-size:clamp(1.5rem,3vw,2.25rem);
}
.transaction-portfolio-summary p:last-child {
    margin:0;
    color:var(--muted);
}
.transaction-portfolio-summary .balance-card {
    min-height:0;
}
.transaction-portfolio-table .depot-table {
    min-width:54rem;
}
.depot-cell-stack {
    display:grid;
    justify-items:end;
    gap:.25rem;
}
.depot-acquisition-cell {
    min-width:10.5rem;
}
.depot-acquisition-price {
    font-weight:400;
}
.depot-manual-badge {
    display:inline-flex!important;
    width:max-content;
    padding:.15rem .4rem;
    border-radius:99rem;
    background:#e2f5ec;
    color:var(--accent-dark)!important;
    font-size:.62rem!important;
    font-weight:850;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.depot-performance strong {
    font-variant-numeric:tabular-nums;
}
.depot-performance--positive strong,
.depot-performance--positive small {
    color:var(--accent-dark)!important;
}
.depot-performance--negative strong,
.depot-performance--negative small {
    color:var(--danger)!important;
}
.depot-price-editor {
    width:100%;
    margin-top:.2rem;
    text-align:left;
    white-space:normal;
}
.depot-price-editor > summary {
    color:var(--accent-dark);
    font-size:.7rem;
    font-weight:800;
    cursor:pointer;
    list-style:none;
    text-align:right;
}
.depot-price-editor > summary::-webkit-details-marker {
    display:none;
}
.depot-price-editor > summary::before {
    content:'✎ ';
}
.depot-price-editor[open] {
    margin-top:.55rem;
    padding:.65rem;
    border:1px solid var(--line);
    border-radius:.7rem;
    background:#f7faf7;
}
.depot-price-editor[open] > summary {
    margin-bottom:.55rem;
}
.depot-price-editor form {
    display:grid;
    gap:.45rem;
}
.depot-price-editor form + form {
    margin-top:.45rem;
}
.depot-price-editor label {
    display:grid;
    gap:.3rem;
}
.depot-price-editor label span {
    color:var(--muted);
    font-size:.65rem;
    font-weight:750;
}
.depot-price-editor input {
    width:100%;
    min-width:7.5rem;
    padding:.55rem .6rem;
    border:1px solid var(--line);
    border-radius:.55rem;
    background:#fff;
    color:var(--ink);
    font:inherit;
    text-align:right;
}
.depot-price-editor .button {
    width:100%;
    margin:0;
    padding:.5rem .65rem;
    font-size:.7rem;
}
.depot-price-reset {
    padding:.2rem 0;
    border:0;
    background:transparent;
    color:var(--danger);
    font-size:.66rem;
    font-weight:750;
    cursor:pointer;
    text-align:left;
}

@media (max-width: 980px) {
    .depot-summary {
        grid-template-columns:1fr 1fr;
    }
    .depot-summary .balance-card {
        grid-column:1/-1;
    }
    .depot-history-grid {
        grid-template-columns:1fr;
    }
}

@media (max-width: 700px) {
    .depot-summary {
        grid-template-columns:1fr;
    }
    .depot-summary .balance-card {
        grid-column:auto;
    }
    .depot-history-section {
        margin:1.2rem 0;
        padding:.85rem;
    }
    .depot-history-heading {
        display:block;
    }
    .depot-history-heading__count {
        display:inline-flex;
        margin-top:.7rem;
    }
    .depot-chart-card {
        padding:.85rem;
    }
    .depot-chart-card__head {
        align-items:stretch;
        flex-direction:column;
    }
    .depot-chart-card__head--position {
        align-items:stretch;
    }
    .depot-chart-card__head > div:first-child > strong {
        max-width:none;
    }
    .depot-chart-periods,
    .depot-chart-metrics {
        display:grid;
        grid-template-columns:repeat(3,1fr);
        width:100%;
    }
    .depot-chart-metrics {
        grid-template-columns:repeat(2,1fr);
    }
    .depot-chart-periods--position {
        margin:.7rem 0 0;
    }
    .depot-chart-summary {
        align-items:flex-start;
        flex-direction:column;
        gap:.15rem;
    }
    .depot-chart-canvas {
        min-height:10rem;
    }
    .depot-chart-range {
        padding-left:2.5rem;
    }
    .depot-table-wrap {
        overflow:visible;
        border:0;
        background:transparent;
    }
    .transaction-portfolio-summary {
        grid-template-columns:1fr;
    }
    .transaction-portfolio-summary > div {
        padding:.25rem 0;
    }
    .depot-table-tools {
        justify-content:stretch;
    }
    .depot-table-tools form {
        width:100%;
    }
    .depot-table-tools form > div {
        flex-wrap:wrap;
    }
    .depot-table-tools form > div > span {
        display:none;
    }
    .depot-table-tools input[type="search"] {
        flex:1 0 100%;
    }
    .depot-table-tools .button {
        flex:1;
        text-align:center;
    }
    .depot-table thead {
        display:none;
    }
    .depot-table,
    .depot-table tbody,
    .depot-table tr,
    .depot-table td {
        display:block;
        width:100%;
        min-width:0;
    }
    .depot-table tr {
        margin-bottom:.8rem;
        padding:.9rem 1rem;
        border:1px solid var(--line);
        border-radius:1rem;
        background:#fff;
    }
    .depot-table td {
        display:grid;
        grid-template-columns:7rem 1fr;
        gap:.8rem;
        padding:.45rem 0;
        border:0;
        text-align:right;
        white-space:normal;
    }
    .depot-table td::before {
        content:attr(data-label);
        color:var(--muted);
        font-size:.7rem;
        font-weight:800;
        letter-spacing:.06em;
        text-align:left;
        text-transform:uppercase;
    }
    .depot-table td:first-child {
        display:block;
        padding-bottom:.8rem;
        text-align:left;
    }
    .depot-table td:first-child::before {
        display:none;
    }
    .depot-cell-stack {
        justify-items:end;
    }
    .depot-price-editor {
        max-width:15rem;
        margin-left:auto;
    }
}
.security-note { margin:1.4rem 0 0; color:var(--muted); font-size:.8rem; }
.period-picker, .matched-payment { margin-bottom:1rem; padding:1.2rem; border:1px solid var(--line); border-radius:1rem; background:var(--surface); }
.period-picker form { display:flex; align-items:end; gap:.8rem; }
.period-picker label, .match-note { display:grid; flex:1; gap:.4rem; color:var(--muted); font-size:.82rem; font-weight:700; }
.period-picker input, .match-note input { width:100%; padding:.75rem .9rem; border:1px solid var(--line); border-radius:.7rem; background:#fbfcfa; }
.matched-payment { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; border-color:#bfe8d3; background:var(--accent-soft); }
.matched-payment h2 { margin:.8rem 0 .3rem; }
.matched-payment p { margin:0; line-height:1.5; }
.manual-match-form { margin-top:1rem; }
.manual-match-form > .form-actions { margin-bottom:1.6rem; }
.transaction-choice-list { display:grid; gap:.55rem; }
.transaction-choice-list--nested { margin-top:.7rem; }
.transaction-choice-more { padding:.75rem; border:1px dashed #c8d3cd; border-radius:.9rem; background:#f7f9f6; }
.transaction-choice-more > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.25rem .35rem; color:var(--accent-dark); font-weight:850; cursor:pointer; list-style:none; }
.transaction-choice-more > summary::-webkit-details-marker { display:none; }
.transaction-choice-more > summary::after { content:'＋'; flex:0 0 auto; font-size:1.1rem; }
.transaction-choice-more[open] > summary::after { content:'−'; }
.transaction-choice-more > summary small { margin-left:auto; color:var(--muted); font-size:.72rem; font-weight:700; }
.match-filter-empty { margin:.9rem 0 .55rem; padding:.85rem 1rem; border-radius:.8rem; background:#f4f6f3; color:var(--muted); font-size:.82rem; }
.transaction-choice { display:grid; grid-template-columns:auto 6rem minmax(0,1fr) auto; align-items:start; gap:1rem; padding:1rem; border:1px solid var(--line); border-radius:.9rem; background:var(--surface); cursor:pointer; }
.transaction-choice:has(input:checked) { border-color:var(--accent); background:var(--accent-soft); }
.transaction-choice input { margin-top:.2rem; accent-color:var(--accent); }
.transaction-choice__date-block { display:grid; align-content:start; gap:.45rem; }
.transaction-choice__date { color:var(--muted); font-size:.82rem; }
.transaction-choice__details { display:grid; gap:.25rem; min-width:0; }
.transaction-choice__details small { overflow:hidden; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }
.transaction-choice__details em { color:var(--muted); font-size:.72rem; }
.transaction-choice__details .match-hint { color:var(--accent-dark); font-weight:800; }
.transaction-choice .match-score { display:flex; align-items:baseline; width:max-content; gap:.25rem; padding:.3rem .5rem; border-radius:.55rem; font-style:normal; font-weight:800; }
.transaction-choice .match-score strong { font-size:1.05rem; line-height:1; }
.transaction-choice .match-score span { font-size:.64rem; text-transform:uppercase; letter-spacing:.06em; }
.transaction-choice .match-score--strong { background:#e4f7ed; color:var(--accent-dark); }
.transaction-choice .match-score--medium { background:#fff2cc; color:#8a6100; }
.transaction-choice .match-score--weak { background:#ffe4e4; color:#a43737; }
.match-reasons { display:flex; flex-wrap:wrap; gap:.3rem; margin-top:.1rem; }
.match-reason { padding:.18rem .42rem; border-radius:999px; font-size:.68rem; font-weight:750; line-height:1.35; }
.match-reason--success { background:#e4f7ed; color:#087a54; }
.match-reason--warning { background:#fff2cc; color:#7a5600; }
.match-reason--danger { background:#ffe4e4; color:#a12f2f; }
.transaction-choice__details .test-hint { width:max-content; padding:.2rem .45rem; border-radius:999px; background:#fff1c9; color:#7a5600; font-weight:800; }
.transaction-choice__amount { white-space:nowrap; color:var(--accent-dark); }
.transaction-choice--assigned { opacity:.55; cursor:not-allowed; }
.match-note { margin:1rem 0; }
.lab-picker { display:flex; align-items:end; gap:1rem; padding:1.2rem; border:1px solid var(--line); border-radius:1rem; background:var(--surface); }
.lab-picker label { display:grid; flex:1; gap:.4rem; color:var(--muted); font-size:.82rem; font-weight:700; }
.lab-picker select { width:100%; padding:.8rem .9rem; border:1px solid var(--line); border-radius:.7rem; background:#fbfcfa; }
.lab-test-create { display:flex; align-items:center; gap:1rem; margin-top:.8rem; padding:1rem 1.2rem; border:1px dashed var(--accent); border-radius:1rem; background:var(--accent-soft); }
.lab-test-create small { color:var(--accent-dark); }
.lab-legend { display:flex; flex-wrap:wrap; gap:.7rem; margin:1rem 0; }
.lab-legend span { padding:.5rem .75rem; border-radius:999px; background:var(--surface); color:var(--muted); font-size:.78rem; }
.lab-results { display:grid; gap:.8rem; }
.lab-result { display:grid; grid-template-columns:6rem minmax(0,1fr); gap:1.2rem; padding:1.3rem; border:1px solid var(--line); border-radius:1rem; background:var(--surface); }
.lab-result__score { display:grid; align-content:center; justify-items:center; min-height:6rem; border-radius:.9rem; background:var(--accent-soft); color:var(--accent-dark); }
.lab-result__score strong { font-size:2rem; }
.lab-result__score span { font-size:.7rem; font-weight:800; text-transform:uppercase; }
.lab-result h2 { margin:.7rem 0 .2rem; }
.lab-result p { margin:.2rem 0 1rem; color:var(--muted); }
.lab-result dl { display:grid; gap:.4rem; margin:0; }
.lab-result dl div { display:grid; grid-template-columns:6rem 1fr; gap:.8rem; }
.lab-result dt { color:var(--muted); }
.lab-result dd { margin:0; overflow-wrap:anywhere; }
.lab-live-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin:1rem 0; }
.lab-live-summary div { display:grid; gap:.35rem; min-width:0; padding:1rem 1.1rem; border:1px solid var(--line); border-radius:1rem; background:var(--surface); }
.lab-live-summary span { color:var(--muted); font-size:.68rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.lab-live-summary strong { overflow-wrap:anywhere; font-size:1.25rem; letter-spacing:-.035em; }
.lab-result--live { position:relative; overflow:hidden; }
.lab-result--live::before { position:absolute; top:0; bottom:0; left:0; width:.22rem; background:#cbd5cf; content:""; }
.lab-result--candidate::before { background:var(--accent); }
.lab-result__top,.lab-result__footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.lab-result__top small { color:var(--muted); font-size:.72rem; }
.lab-result__footer { margin-top:1rem; padding-top:.9rem; border-top:1px solid var(--line); }
.lab-result__footer .button { margin:0; }
.expectation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.expectation-card { padding:1.4rem; border:1px solid var(--line); border-radius:1.2rem; background:var(--surface); }
.expectation-card--inactive { opacity:.62; }
.expectation-card__top { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.expectation-card h2 { margin:1rem 0 .25rem; }
.expectation-card > p { margin-top:0; color:var(--muted); }
.expectation-card dl { display:grid; gap:.7rem; margin:1.4rem 0; padding:1rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.expectation-card dl > div { display:flex; justify-content:space-between; gap:1rem; }
.expectation-card dt { color:var(--muted); }
.expectation-card dd { margin:0; text-align:right; }
.transactions-shell { display:grid; grid-template-columns:clamp(15rem,20vw,19rem) minmax(0,1fr); min-height:calc(100vh - 4.8rem); }
.account-management-shell { display:grid; grid-template-columns:clamp(15rem,20vw,19rem) minmax(0,1fr); min-height:calc(100vh - 4.8rem); }
.account-management-content { min-width:0; padding:clamp(2rem,4vw,4rem); background:linear-gradient(145deg,#f8fbf8 0%,#f4f7f4 100%); }
.account-management-page { width:min(76rem,100%); margin:0 auto; }
.account-management-page--form { width:min(70rem,100%); }
.account-management-form-page { width:100%; margin:0; padding:0 0 4rem; }
.account-management-heading { margin-bottom:2rem; }
.account-management-sidebar .sidebar-heading h1 { margin-bottom:1.25rem; }
.account-management-sidebar__empty { margin:0 .5rem; color:var(--muted); font-size:.75rem; line-height:1.5; }
.account-management-nav__status { display:flex; align-items:center; gap:.35rem; margin-top:.2rem; font-size:.61rem !important; font-weight:750; }
.account-management-nav__status::before { width:.42rem; height:.42rem; flex:0 0 auto; border-radius:50%; content:""; }
.account-management-nav__status--ready { color:var(--accent-dark) !important; }
.account-management-nav__status--ready::before { background:var(--accent); }
.account-management-nav__status--warning { color:#9a6915 !important; }
.account-management-nav__status--warning::before { background:#d39a22; }
.account-management-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(10rem,1fr)); gap:.85rem; margin:0 0 3rem; }
.account-management-stats article { display:grid; gap:.32rem; min-height:9.5rem; align-content:end; padding:1.25rem; border:1px solid var(--line); border-radius:1.15rem; background:rgba(255,255,255,.9); box-shadow:0 12px 32px rgba(18,45,35,.045); }
.account-management-stats span { color:var(--muted); font-size:.65rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.account-management-stats strong { color:var(--accent-dark); font-size:2.4rem; line-height:1; letter-spacing:-.055em; }
.account-management-stats small { color:var(--muted); font-size:.68rem; line-height:1.4; }
.account-management-stat--warning { border-color:#e8cf9d !important; background:#fffaf0 !important; }
.account-management-stat--warning strong { color:#a96e0b; }
.account-management-tools-heading { margin-bottom:1rem; }
.account-management-tools { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.account-management-tools > a { display:grid; grid-template-columns:2.6rem minmax(0,1fr) auto; gap:.85rem; align-items:center; min-height:7.2rem; padding:1.15rem; border:1px solid var(--line); border-radius:1.1rem; background:var(--surface); box-shadow:0 12px 34px rgba(18,45,35,.045); transition:transform 150ms,border-color 150ms,box-shadow 150ms; }
.account-management-tools > a:hover { border-color:#acd8be; box-shadow:0 16px 38px rgba(18,45,35,.08); transform:translateY(-2px); }
.account-management-tools > a > span { display:grid; width:2.6rem; height:2.6rem; place-items:center; border-radius:.8rem; background:var(--navy); color:#fff; font-weight:900; }
.account-management-tools div { display:grid; gap:.25rem; }
.account-management-tools strong { font-size:.83rem; }
.account-management-tools small { color:var(--muted); font-size:.67rem; line-height:1.4; }
.account-management-tools b { color:var(--accent-dark); font-size:1.25rem; }
.account-management-hint { display:flex; gap:1rem; align-items:center; margin-top:2rem; padding:1.2rem 1.35rem; border:1px dashed #b8d7c5; border-radius:1.1rem; background:rgba(233,250,242,.72); }
.account-management-hint > span { color:var(--accent-dark); font-size:1.6rem; }
.account-management-hint strong { font-size:.82rem; }
.account-management-hint p { margin:.25rem 0 0; color:var(--muted); font-size:.72rem; line-height:1.5; }
.account-management-pending { margin-bottom:1.5rem; }
.account-management-subnav { display:flex; flex-wrap:wrap; gap:.6rem; margin:-.25rem 0 2rem; padding:.65rem; border:1px solid var(--line); border-radius:1rem; background:var(--surface); box-shadow:0 10px 28px rgba(18,45,35,.04); }
.account-management-subnav a { display:flex; align-items:center; gap:.45rem; min-height:2.65rem; padding:.55rem .72rem; border-radius:.7rem; color:var(--muted); }
.account-management-subnav a:hover,.account-management-subnav__active { background:var(--accent-soft); color:var(--accent-dark) !important; }
.account-management-subnav span { display:grid; width:1.5rem; height:1.5rem; place-items:center; border-radius:.45rem; background:var(--paper); color:var(--accent-dark); font-size:.7rem; font-weight:900; }
.account-management-subnav strong { font-size:.7rem; }
.account-management-subnav b { display:grid; min-width:1.35rem; height:1.35rem; padding:0 .25rem; place-items:center; border-radius:999px; background:var(--accent); color:#fff; font-size:.62rem; }
.account-sidebar { position:sticky; top:4.8rem; align-self:start; height:calc(100vh - 4.8rem); padding:2rem 1rem; overflow-y:auto; overscroll-behavior:contain; border-right:1px solid var(--line); background:var(--surface); scrollbar-color:#b8c8bf transparent; scrollbar-width:thin; }
.account-sidebar::-webkit-scrollbar { width:.45rem; }
.account-sidebar::-webkit-scrollbar-track { background:transparent; }
.account-sidebar::-webkit-scrollbar-thumb { border-radius:999px; background:#b8c8bf; }
.sidebar-heading { padding:0 .5rem 1.4rem; }
.sidebar-heading h1 { margin:0 0 1.5rem; font-size:2.2rem; letter-spacing:-.05em; }
.button--full { width:100%; }
.account-nav { display:grid; gap:.35rem; }
.account-nav__main-group { display:flex; align-items:center; gap:.5rem; margin:1.25rem .65rem .25rem; padding-top:1rem; border-top:1px solid var(--line); color:var(--accent-dark); font-size:.94rem; font-weight:900; letter-spacing:-.01em; line-height:1.2; }
.account-nav__main-group::before { width:.3rem; height:1.05rem; flex:0 0 auto; border-radius:999px; background:var(--accent); content:""; }
.account-nav__main-group>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-nav__main-group>small{margin-left:auto;color:#85938c;font-size:.49rem;font-weight:800;letter-spacing:.015em;white-space:nowrap}.account-nav__main-group>small.amount-negative{color:var(--danger)}
.account-nav__main-group:first-child { margin-top:0; padding-top:0; border-top:0; }
.account-nav__subgroup { display:flex; align-items:center; gap:.45rem; margin:.35rem .85rem 0; color:#94a09a; font-size:.58rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.account-nav__subgroup > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-nav__subgroup > small { margin-left:auto; color:#8d9993; font-size:.49rem; font-weight:400; letter-spacing:0; text-transform:none; white-space:nowrap; }
.account-nav__subgroup > small.amount-negative { color:var(--danger); }
.account-nav__item { position:relative; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1rem .9rem 1.15rem; overflow:hidden; border-radius:.8rem; }
.account-nav__item::before { position:absolute; top:.7rem; bottom:.7rem; left:.25rem; width:.2rem; border-radius:999px; background:#cbd3ce; content:""; opacity:.5; }
.account-nav__item--balance-safe::before { background:#2da979; opacity:.48; }
.account-nav__item--balance-warning::before { background:#d39a22; opacity:.78; }
.account-nav__item--balance-danger::before { background:#c94747; opacity:.9; }
.account-nav__item:hover { background:var(--paper); }
.account-nav__item:focus-visible { outline:3px solid rgba(25,169,116,.28); outline-offset:2px; }
.account-nav__item--active { background:var(--accent-soft); color:var(--accent-dark); }
.account-nav__item span:first-child { display:grid; gap:.2rem; }
.account-nav__item small { color:var(--muted); }
.account-nav__item .account-nav__balance { margin-top:.12rem; font-size:.67rem; line-height:1.2; }
.account-nav__balance b { color:var(--text); font-size:.72rem; font-weight:800; }
.account-nav__item--active .account-nav__balance b { color:var(--accent-dark); }
.account-nav__balance b.amount-negative { color:var(--danger); }
.account-nav__count { display:grid; min-width:1.7rem; height:1.7rem; padding:0 .35rem; place-items:center; border-radius:999px; background:var(--paper); font-size:.72rem; font-weight:800; }
.account-nav__count--new { background:#2563eb; color:#fff; }
.account-nav__count--active-rules { background:var(--accent-soft); color:var(--accent-dark); }
.transaction-date-with-state { display:inline-flex; align-items:center; gap:.45rem; }
.new-transaction-dot { display:inline-block; width:.55rem; height:.55rem; flex:0 0 auto; border-radius:999px; background:#2563eb; box-shadow:0 0 0 3px #dbeafe; }
.whitelist-check { display:inline-grid; width:.92rem; height:.92rem; flex:0 0 auto; place-items:center; border:1px solid #cad3ce; border-radius:.28rem; background:#f0f3f1; color:#78837e; font-size:.55rem; font-weight:950; line-height:1; }
.whitelist-check--unknown { border-color:#efb8b8; background:#fff0f0; color:#b63838; }
.whitelist-check--allowed_once { border-color:#b7cbee; background:#edf4ff; color:#285da8; }
.whitelist-check--allowed_three_months { border-color:#e6c986; background:#fff7df; color:#8a6415; }
.whitelist-check--allowed_year { border-color:#9bd5b7; background:#e4f7ed; color:#087a54; }
.whitelist-check[role="button"] { cursor:pointer; transition:transform 150ms ease,box-shadow 150ms ease; }
.whitelist-check[role="button"]:hover,.whitelist-check[role="button"]:focus-visible { outline:0; box-shadow:0 0 0 3px rgba(25,169,116,.18); transform:scale(1.12); }
.whitelist-decision-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:.7rem; }
.whitelist-decision-actions .button { margin:0; }
.whitelist-review-page { max-width:64rem; }
.whitelist-review-shell { padding:clamp(2rem,5vw,4rem); }
.whitelist-review-card { width:min(48rem,100%); margin:1.5rem auto; overflow:hidden; border:1px solid var(--line); border-radius:1.35rem; background:var(--surface); box-shadow:0 18px 50px rgba(18,45,35,.08); text-align:left; }
.whitelist-review-card header { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.4rem 1.6rem; border-bottom:1px solid var(--line); background:#fafcf9; }
.whitelist-review-card header > div { display:grid; gap:.25rem; }
.whitelist-review-card header span { color:var(--muted); font-size:.68rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.whitelist-review-card header strong { font-size:1.2rem; letter-spacing:-.025em; }
.whitelist-review-card header > b { flex:0 0 auto; font-size:1.25rem; letter-spacing:-.03em; }
.whitelist-review-card dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; }
.whitelist-review-card dl > div { min-width:0; padding:1rem 1.6rem; border-bottom:1px solid var(--line); }
.whitelist-review-card dl > div:nth-child(odd):not(.whitelist-review-card__wide) { border-right:1px solid var(--line); }
.whitelist-review-card dl > div:last-child { border-bottom:0; }
.whitelist-review-card__wide { grid-column:1/-1; }
.whitelist-review-card dt { margin-bottom:.3rem; color:var(--muted); font-size:.65rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.whitelist-review-card dd { margin:0; overflow-wrap:anywhere; font-size:.85rem; line-height:1.5; }
.whitelist-batch-page { max-width:70rem; }
.whitelist-batch-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:2rem; margin-bottom:1.5rem; }
.whitelist-batch-heading h1 { margin:.35rem 0 .65rem; font-size:clamp(2rem,5vw,3.5rem); line-height:1.02; letter-spacing:-.055em; }
.whitelist-batch-heading > div > p:last-child { max-width:48rem; margin:0; color:var(--muted); line-height:1.6; }
.whitelist-batch-heading > .status-pill { flex:0 0 auto; margin-top:.4rem; }
.whitelist-batch-list { display:grid; gap:1rem; }
.whitelist-batch-card { overflow:hidden; border:1px solid var(--line); border-radius:1.25rem; background:var(--surface); box-shadow:0 14px 38px rgba(18,45,35,.055); }
.whitelist-batch-card > header { display:grid; grid-template-columns:2.4rem minmax(0,1fr) auto; align-items:center; gap:1rem; padding:1.25rem 1.4rem; background:linear-gradient(135deg,#fbfcfa,#f5f9f6); }
.whitelist-batch-card__number { display:grid; width:2.25rem; height:2.25rem; place-items:center; border-radius:.75rem; background:var(--navy); color:#fff; font-size:.78rem; font-weight:900; }
.whitelist-batch-card__identity { min-width:0; }
.whitelist-batch-card__identity > span { color:var(--muted); font-size:.67rem; font-weight:800; letter-spacing:.045em; text-transform:uppercase; }
.whitelist-batch-card__identity h2 { margin:.2rem 0 .1rem; overflow-wrap:anywhere; font-size:1.15rem; letter-spacing:-.025em; }
.whitelist-batch-card__identity p { margin:0; color:var(--muted); font-size:.76rem; overflow-wrap:anywhere; }
.whitelist-batch-card > header > strong { font-size:1.2rem; white-space:nowrap; }
.whitelist-batch-card__purpose { padding:1rem 1.4rem; border-top:1px solid var(--line); }
.whitelist-batch-card__purpose span { color:var(--muted); font-size:.65rem; font-weight:850; letter-spacing:.055em; text-transform:uppercase; }
.whitelist-batch-card__purpose p { margin:.35rem 0 0; font-size:.84rem; line-height:1.55; overflow-wrap:anywhere; }
.whitelist-batch-details { border-top:1px solid var(--line); }
.whitelist-batch-details summary { padding:.85rem 1.4rem; color:var(--accent-dark); cursor:pointer; font-size:.76rem; font-weight:850; list-style:none; }
.whitelist-batch-details summary::-webkit-details-marker { display:none; }
.whitelist-batch-details summary::before { content:'＋'; display:inline-block; width:1.2rem; }
.whitelist-batch-details[open] summary::before { content:'−'; }
.whitelist-batch-details dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; padding:0 1.4rem 1rem; }
.whitelist-batch-details dl > div { min-width:0; padding:.75rem; border:1px solid var(--line); background:#fbfcfa; }
.whitelist-batch-details dt { margin-bottom:.25rem; color:var(--muted); font-size:.62rem; font-weight:850; text-transform:uppercase; }
.whitelist-batch-details dd { margin:0; font-size:.78rem; line-height:1.45; overflow-wrap:anywhere; }
.whitelist-batch-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; padding:1rem 1.4rem 1.3rem; border-top:1px solid var(--line); }
.whitelist-batch-actions .button { margin:0; text-align:center; }
.whitelist-batch-complete { margin-top:1rem; }
.transactions-content { min-width:0; padding:clamp(2rem,5vw,4.5rem); scroll-margin-top:9rem; }
.transaction-sticky-header { position:fixed; z-index:80; top:4.8rem; right:0; left:clamp(15rem,20vw,19rem); display:flex; align-items:center; gap:1rem; min-height:3.65rem; padding:.5rem clamp(1rem,4vw,3rem); border-bottom:1px solid rgba(16,37,29,.1); background:rgba(255,255,255,.94); box-shadow:0 10px 30px rgba(16,37,29,.1); backdrop-filter:blur(18px); opacity:0; pointer-events:none; transform:translateY(-115%); transition:opacity 180ms ease,transform 220ms ease; }
.transaction-sticky-header.is-visible { opacity:1; pointer-events:auto; transform:translateY(0); }
.transaction-sticky-header__account { display:grid; min-width:0; line-height:1.15; }
.transaction-sticky-header__account span { overflow:hidden; color:var(--muted); font-size:.62rem; font-weight:800; letter-spacing:.08em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.transaction-sticky-header__account strong { overflow:hidden; margin-top:.2rem; font-size:.96rem; text-overflow:ellipsis; white-space:nowrap; }
.transaction-sticky-header__switch { display:none; min-width:0; }
.transaction-sticky-header__search,.transaction-sticky-header__master-data { display:flex; align-items:center; gap:.35rem; flex:0 0 auto; padding:.45rem .65rem; border:1px solid var(--line); border-radius:.65rem; background:#fff; color:var(--accent-dark); font-size:.72rem; font-weight:850; }
.transaction-sticky-header__search:hover,.transaction-sticky-header__master-data:hover { border-color:var(--accent); background:var(--accent-soft); }
.transaction-sticky-header__search span,.transaction-sticky-header__master-data span { font-size:1.2rem; line-height:1; }
.transaction-sticky-header__balance { display:grid; margin-left:auto; text-align:right; line-height:1.1; white-space:nowrap; }
.transaction-sticky-header__balance span { color:var(--muted); font-size:.62rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.transaction-sticky-header__balance strong { margin-top:.2rem; color:var(--accent-dark); font-size:1.05rem; letter-spacing:-.025em; }
.transaction-sticky-header__balance strong.amount-negative { color:var(--danger); }
.transaction-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; }
.transaction-heading h2 { margin:0; font-size:clamp(2.3rem,5vw,4.2rem); letter-spacing:-.06em; }
.transaction-heading p:last-child { color:var(--muted); }
.transaction-heading__actions { display:flex; align-items:flex-end; gap:1rem; }
.transaction-heading__actions form { flex:0 0 auto; }
.transaction-heading__actions .button { margin:0; }
.balance-card { display:grid; min-width:18rem; gap:.2rem; padding:1.2rem 1.4rem; border:1px solid #9edabf; border-radius:1.2rem; background:linear-gradient(135deg,var(--surface),var(--accent-soft)); box-shadow:0 14px 38px rgba(25,169,116,.1); }
.balance-card span { color:var(--accent-dark); font-size:.7rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.balance-card strong { margin:.15rem 0; font-size:clamp(1.65rem,3vw,2.25rem); line-height:1; letter-spacing:-.045em; }
.balance-card small { color:var(--muted); font-size:.7rem; }
.sync-strip { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem; margin:1.5rem 0; padding:1rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--muted); font-size:.85rem; }
.transaction-tools { display:grid; grid-template-columns:minmax(0,1fr) minmax(25rem,31rem); gap:1.25rem; align-items:stretch; margin:1.5rem 0; }
.transaction-search { display:grid; align-content:center; gap:.55rem; margin:0; padding:1.15rem; border:1px solid var(--line); border-radius:1rem; background:var(--surface); }
#transaction-search { scroll-margin-top:9rem; }
.transaction-search > label { font-size:.74rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.transaction-search__field { display:flex; align-items:center; gap:.65rem; }
.transaction-search__field > span { color:var(--accent-dark); font-size:1.5rem; line-height:1; }
.transaction-search input[type="search"] { width:100%; min-width:8rem; padding:.8rem 1rem; border:1px solid var(--line); border-radius:.75rem; outline:none; background:#fbfcfa; color:var(--ink); }
.transaction-search input[type="search"]:focus { border-color:var(--accent); box-shadow:0 0 0 .2rem var(--accent-soft); }
.transaction-search .button { flex:0 0 auto; margin:0; }
.transaction-search > p { margin:0; color:var(--muted); font-size:.75rem; }
.transaction-portfolio-search { margin:1.25rem 0; }
.transaction-search__options { display:flex; align-items:center; gap:.6rem; margin-top:.15rem; }
.transaction-search__options a { display:inline-flex; align-items:center; gap:.3rem; color:var(--accent-dark); font-size:.76rem; font-weight:800; }
.transaction-search__options a.is-active { color:var(--accent); }
.transaction-search__options small { color:var(--muted); font-size:.7rem; }
.balance-card--prominent { position:relative; min-width:0; justify-content:center; padding:1.35rem 1.7rem; border:0; border-radius:1rem; background:radial-gradient(circle at 92% 8%,rgba(111,225,171,.35),transparent 12rem),linear-gradient(135deg,#0d2d22,#14573f); box-shadow:0 18px 42px rgba(12,55,39,.2); color:#fff; }
.balance-card--prominent::after { position:absolute; inset:.4rem; border:1px solid rgba(255,255,255,.12); border-radius:.75rem; content:""; pointer-events:none; }
.balance-card--prominent span { position:relative; z-index:1; color:#9fe2c3; font-size:.73rem; }
.balance-card--prominent strong { position:relative; z-index:1; margin:.2rem 0 .3rem; color:#fff; font-size:clamp(2.55rem,4vw,3.65rem); letter-spacing:-.06em; }
.balance-card--prominent small { position:relative; z-index:1; color:rgba(255,255,255,.68); font-size:.75rem; }
.balance-card--prominent .balance-card-interest-forecast { position:relative; z-index:1; color:rgba(255,255,255,.76); font-size:.7rem; font-style:normal; font-weight:750; }
.balance-card--prominent.balance-card--warning { background:radial-gradient(circle at 92% 8%,rgba(255,238,153,.34),transparent 12rem),linear-gradient(135deg,#5d430b,#a66d08); box-shadow:0 18px 42px rgba(133,88,7,.24); }
.balance-card--prominent.balance-card--warning span { color:#ffe69b; }
.balance-card--prominent.balance-card--danger { background:radial-gradient(circle at 92% 8%,rgba(255,169,169,.28),transparent 12rem),linear-gradient(135deg,#541b1b,#a83232); box-shadow:0 18px 42px rgba(133,28,28,.27); }
.balance-card--prominent.balance-card--danger span { color:#ffc1c1; }
.empty-state--compact { margin-top:1.5rem; padding:3.5rem 2rem; }
.transaction-table-wrap { overflow:auto; margin-top:1.5rem; border:1px solid var(--line); border-radius:1rem; background:var(--surface); }
#first-transaction { scroll-margin-top:9rem; }
.transaction-table { width:100%; border-collapse:collapse; }
.transaction-table th, .transaction-table td { padding:1rem; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.transaction-table th { color:var(--muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; }
.sort-link { display:inline-flex; align-items:center; color:var(--muted); transition:color 140ms; }
.sort-link:hover,.sort-link--active { color:var(--accent-dark); }
.sort-link--active { font-weight:900; }
.transaction-table td small { display:block; max-width:38rem; margin-top:.25rem; color:var(--muted); }
.transaction-table td .transaction-counterparty-account { margin-top:.45rem; color:var(--ink); font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size:.7rem; overflow-wrap:anywhere; }
.transaction-counterparty-account span { display:inline-block; margin-right:.4rem; color:var(--muted); font-family:inherit; font-size:.6rem; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.transaction-counterparty-account em { color:var(--muted); font-family:var(--font,inherit); font-style:normal; }
.transaction-table tr:last-child td { border-bottom:0; }
.transaction-table .js-transaction-row { cursor:pointer; }
.transaction-table .js-transaction-row:hover td { background:#fbfdfb; }
.transaction-table .js-transaction-row:focus-visible { outline:3px solid rgba(25,169,116,.28); outline-offset:-3px; }
.transaction-detail-toggle { display:flex !important; align-items:center; gap:.25rem; width:max-content; color:var(--accent-dark) !important; font-size:.64rem !important; font-weight:850; }
.transaction-detail-toggle span { display:inline-block; font-size:.9rem; transition:transform 160ms ease; }
.js-transaction-row[aria-expanded="true"] .transaction-detail-toggle span { transform:rotate(180deg); }
.transaction-table .amount-cell { text-align:right; white-space:nowrap; font-weight:800; }
.transaction-details-row[hidden] { display:none !important; }
.transaction-details-row td { padding:.25rem 1rem 1.2rem; background:#f7faf7; }
.transaction-details-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(13rem,1fr)); gap:.65rem 1rem; margin:0; padding:1rem; border:1px solid var(--line); border-radius:.8rem; background:var(--surface); }
.transaction-details-grid > div { min-width:0; }
.transaction-details-grid dt { color:var(--muted); font-size:.64rem; font-weight:850; letter-spacing:.055em; text-transform:uppercase; }
.transaction-details-grid dd { overflow-wrap:anywhere; margin:.16rem 0 0; color:var(--ink); font-size:.78rem; line-height:1.35; }
.transaction-details-empty { margin:0; padding:.8rem 1rem; border-radius:.7rem; background:var(--paper); color:var(--muted); font-size:.75rem; }
.amount-positive { color:var(--accent-dark); }
.amount-negative { color:var(--ink); }
.transaction-portfolio-table td.amount-negative,
.transaction-portfolio-table td.amount-negative strong {
    color:var(--danger)!important;
}
.transaction-row--test { background:#fffbec; }
.test-badge { display:inline-block; padding:.18rem .4rem; border-radius:999px; background:#ffe9a8; color:#765200; font-size:.65rem; font-weight:800; }
.transaction-row--matched { background:#f6fcf8; }
.transaction-row--unmatched { background:#fffdf5; }
.assignment-status { display:inline-flex; align-items:center; gap:.35rem; width:max-content; padding:.28rem .55rem; border-radius:999px; font-size:.72rem; font-weight:800; line-height:1.2; white-space:nowrap; }
.assignment-status--matched { color:#12613a; background:#dff5e8; }
.assignment-status--open { color:#7a5500; background:#fff0bd; }
.assignment-status--irrelevant { color:#68716d; background:#edf1ef; }
.inline-delete { margin-top:.4rem; }
.inline-delete button { padding:0; border:0; background:transparent; color:var(--danger); font-size:.72rem; font-weight:800; cursor:pointer; }
.mail-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; overflow:hidden; margin-bottom:1.5rem; border:1px solid var(--line); border-radius:1rem; background:var(--line); }
.mail-meta > div { display:grid; gap:.35rem; padding:1rem; background:var(--surface); }
.mail-meta span { color:var(--muted); font-size:.78rem; }
.mail-meta strong { overflow-wrap:anywhere; font-size:.9rem; }
.mail-preview-card { padding:1.2rem; border:1px solid var(--line); border-radius:1.2rem; background:var(--surface); }
.report-preview-card { margin-top:2rem; }
.account-alert-entry { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-bottom:2rem; padding:1.5rem; border:1px solid var(--line); border-radius:1.2rem; background:linear-gradient(135deg,var(--surface),var(--accent-soft)); }
.account-alert-entry h2 { margin:.2rem 0; }
.account-alert-entry p:last-child { max-width:48rem; margin-bottom:0; color:var(--muted); }
.alert-control-page { max-width:90rem; }
.alert-control-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(20rem,.7fr); gap:3rem; overflow:hidden; margin-bottom:1.75rem; padding:clamp(2rem,5vw,4.3rem); border-radius:2rem; background:radial-gradient(circle at 88% 8%,rgba(87,224,164,.24),transparent 31%),linear-gradient(135deg,#0d211a,#173c2f); color:#fff; box-shadow:0 24px 70px rgba(12,42,31,.18); }
.alert-control-hero::after { content:""; position:absolute; right:-5rem; bottom:-8rem; width:23rem; height:23rem; border:1px solid rgba(255,255,255,.08); border-radius:50%; box-shadow:0 0 0 3rem rgba(255,255,255,.025),0 0 0 7rem rgba(255,255,255,.018); }
.alert-control-hero__copy { position:relative; z-index:1; min-width:0; }
.alert-control-kicker { display:flex; align-items:center; gap:.55rem; color:#a8c7bb; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.alert-control-kicker span { width:.55rem; height:.55rem; border-radius:50%; background:#36d390; box-shadow:0 0 0 .3rem rgba(54,211,144,.13); }
.alert-control-hero h1 { max-width:48rem; margin:1.1rem 0; font-size:clamp(2.35rem,4.2vw,4.2rem); line-height:.98; letter-spacing:-.065em; }
.alert-control-hero__copy > p { max-width:42rem; margin:0; color:#b8cec5; font-size:1rem; line-height:1.65; }
.alert-control-stats { position:relative; z-index:1; display:grid; align-content:center; grid-template-columns:repeat(3,1fr); overflow:hidden; align-self:center; border:1px solid rgba(255,255,255,.11); border-radius:1.2rem; background:rgba(255,255,255,.06); backdrop-filter:blur(12px); }
.alert-control-stats div { display:grid; gap:.25rem; padding:1.3rem 1rem; border-right:1px solid rgba(255,255,255,.1); text-align:center; }
.alert-control-stats div:last-child { border-right:0; }
.alert-control-stats strong { font-size:1.65rem; }
.alert-control-stats span { color:#a8c7bb; font-size:.67rem; font-weight:700; text-transform:uppercase; }
.alert-rule-list { display:grid; gap:1.5rem; }
.alert-rule-card { overflow:hidden; border:1px solid #dce5df; border-radius:1.5rem; background:var(--surface); box-shadow:0 10px 38px rgba(18,45,35,.065); }
.alert-account-head { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1.5rem 1.7rem; border-bottom:1px solid var(--line); background:linear-gradient(115deg,#fff 40%,#f2f8f4); }
.alert-account-identity { display:flex; align-items:center; gap:1rem; }
.alert-account-mark { display:grid; flex:0 0 auto; width:3.4rem; height:3.4rem; place-items:center; border-radius:1rem; background:#122b22; color:#4cdda0; font-size:1.65rem; box-shadow:0 8px 22px rgba(18,43,34,.18); }
.alert-account-status { display:flex; align-items:center; gap:.4rem; color:var(--muted); font-size:.68rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.alert-account-status span { width:.45rem; height:.45rem; border-radius:50%; background:#b7c1bc; }
.alert-account-status span.is-active { background:#20b879; box-shadow:0 0 0 .22rem rgba(32,184,121,.12); }
.alert-account-head h2 { margin:.3rem 0 .12rem; font-size:1.55rem; letter-spacing:-.035em; }
.alert-account-head p { margin:0; color:var(--muted); font-size:.82rem; }
.balance-panel { display:grid; min-width:12rem; gap:.08rem; padding-left:1.5rem; border-left:1px solid var(--line); text-align:right; }
.balance-panel > span { color:var(--muted); font-size:.68rem; font-weight:700; text-transform:uppercase; }
.balance-panel strong { font-size:1.45rem; letter-spacing:-.04em; }
.balance-panel strong small { color:var(--muted); font-size:.68rem; letter-spacing:0; }
.balance-panel em { color:var(--muted); font-size:.67rem; font-style:normal; }
.balance-panel .balance-panel__empty { color:#819088; font-size:1rem; }
.alert-rule-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; padding:1.4rem; }
.alert-rule { position:relative; display:flex; min-height:18rem; flex-direction:column; justify-content:space-between; gap:1.25rem; overflow:hidden; padding:1.3rem; border:1px solid var(--line); border-radius:1.15rem; background:#f9fbf9; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.alert-rule:hover { transform:translateY(-2px); border-color:#cbdad1; box-shadow:0 12px 28px rgba(17,57,41,.08); }
.alert-rule::after { content:""; position:absolute; top:-3rem; right:-3rem; width:8rem; height:8rem; border-radius:50%; opacity:.38; }
.alert-rule--balance::after { background:#d6f5e5; }
.alert-rule--movement::after { background:#e3e5ff; }
.alert-rule--foreign::after { background:#d8f1f5; }
.alert-rule__top { position:relative; z-index:1; display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.alert-rule-icon { display:grid; width:2.8rem; height:2.8rem; place-items:center; border-radius:.85rem; font-size:1.25rem; font-weight:800; }
.alert-rule--balance .alert-rule-icon { background:#dff5e8; color:#087a54; }
.alert-rule--movement .alert-rule-icon { background:#e7e8ff; color:#4a51a8; }
.alert-rule--foreign .alert-rule-icon { background:#def3f5; color:#267985; }
.alert-rule__eyebrow { margin:0 0 .38rem; color:#809087; font-size:.65rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.alert-rule h3 { margin:0 0 .55rem; font-size:1.25rem; letter-spacing:-.035em; }
.alert-rule > div:nth-child(2) > p:last-child { margin:0; color:var(--muted); font-size:.82rem; line-height:1.55; }
.toggle-switch { display:flex; align-items:center; gap:.4rem; cursor:pointer; }
.toggle-switch input { position:absolute; opacity:0; pointer-events:none; }
.toggle-switch span { position:relative; width:2.45rem; height:1.35rem; border-radius:999px; background:#d3dbd7; transition:.2s ease; }
.toggle-switch span::after { content:""; position:absolute; top:.18rem; left:.18rem; width:.99rem; height:.99rem; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.2); transition:.2s ease; }
.toggle-switch input:checked + span { background:#19a974; }
.toggle-switch input:checked + span::after { transform:translateX(1.08rem); }
.toggle-switch input:focus-visible + span { outline:3px solid rgba(25,169,116,.25); outline-offset:2px; }
.toggle-switch em { min-width:2rem; color:var(--muted); font-size:.68rem; font-style:normal; font-weight:800; }
.threshold-field { display:grid; gap:.38rem; }
.threshold-field > span { color:var(--muted); font-size:.67rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.threshold-field > div { display:flex; align-items:center; overflow:hidden; border:1px solid #d9e2dd; border-radius:.78rem; background:#fff; box-shadow:inset 0 1px 2px rgba(18,45,35,.03); }
.threshold-field input { min-width:0; padding:.82rem; border:0; background:transparent; font-size:1.02rem; font-weight:800; }
.threshold-field input:focus { outline:0; }
.threshold-field > div:focus-within { border-color:#19a974; box-shadow:0 0 0 3px rgba(25,169,116,.1); }
.threshold-field em { padding:0 .8rem; color:var(--muted); font-size:.72rem; font-style:normal; font-weight:800; }
.alert-card-footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.5rem; border-top:1px solid var(--line); background:#fbfcfb; }
.alert-card-footer p { margin:0; color:var(--muted); font-size:.75rem; }
.alert-card-footer p span { color:#17a56f; font-weight:900; }
.alert-control-note { display:flex; align-items:flex-start; gap:.9rem; margin-top:1.5rem; padding:1.2rem 1.4rem; border:1px solid #dce5df; border-radius:1rem; background:#f5f8f5; color:var(--muted); }
.alert-control-note > div { display:grid; flex:0 0 auto; width:1.7rem; height:1.7rem; place-items:center; border-radius:50%; background:#dcebe3; color:#176b49; font-weight:900; }
.alert-control-note p { margin:0; font-size:.78rem; line-height:1.5; }
.alert-control-note strong { color:var(--ink); }
.alert-accounts-shell { display:grid; grid-template-columns:clamp(15rem,20vw,19rem) minmax(0,1fr); min-height:calc(100vh - 4.8rem); }
.alert-settings-content { min-width:0; padding:clamp(2rem,5vw,4.5rem); scroll-margin-top:5.5rem; }
.alert-settings-page { width:min(74rem,100%); margin:0 auto; }
.alert-settings-hero { margin-bottom:4.5rem; }
.alert-settings-hero h1 { margin:0; font-size:clamp(3.2rem,7vw,6rem); line-height:1; letter-spacing:-.065em; }
.alert-settings-hero > p:nth-child(3) { max-width:42rem; color:var(--muted); font-size:1.1rem; line-height:1.65; }
.alert-settings-summary { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.6rem; }
.alert-settings-summary span { padding:.48rem .72rem; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.55); color:var(--muted); font-size:.72rem; }
.alert-settings-summary strong { color:var(--ink); }
.alert-settings-hero__bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; max-width:52rem; margin-top:1.6rem; }
.alert-settings-hero__bottom .alert-settings-summary { margin-top:0; }
.alert-settings-hero__bottom form { flex:0 0 auto; }
.alert-settings-hero__bottom .button { gap:.45rem; background:var(--surface); box-shadow:0 8px 24px rgba(18,45,35,.05); }
.alert-settings-heading { margin-bottom:1rem; }
.alert-settings-list { display:grid; gap:1.15rem; }
.alert-settings-card { overflow:hidden; border:1px solid var(--line); border-radius:1.4rem; background:var(--surface); box-shadow:0 12px 36px rgba(18,45,35,.05); }
.alert-settings-card__head { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1.5rem; }
.alert-settings-account { display:flex; align-items:center; gap:1rem; }
.alert-settings-account .app-tile__icon { flex:0 0 auto; }
.alert-settings-account__meta { margin-bottom:.3rem; color:var(--accent-dark); font-size:.67rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.alert-settings-account h2 { margin:0 0 .2rem; font-size:1.45rem; letter-spacing:-.035em; }
.alert-settings-account p { margin:0; color:var(--muted); font-size:.82rem; }
.alert-settings-balance { display:grid; gap:.12rem; text-align:right; }
.alert-settings-balance span { color:var(--muted); font-size:.67rem; font-weight:700; text-transform:uppercase; }
.alert-settings-balance strong { font-size:1.05rem; }
.alert-settings-balance small { color:var(--muted); font-size:.68rem; }
.alert-settings-rules { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.alert-settings-rule { display:grid; grid-template-columns:2.7rem minmax(0,1fr) 12rem 5rem; align-items:center; gap:1rem; padding:1.15rem 1.5rem; border-bottom:1px solid var(--line); transition:background 160ms; }
.alert-settings-rule:last-child { border-bottom:0; }
.alert-settings-rule:hover { background:#fafcf9; }
.alert-settings-rule__icon { display:grid; width:2.55rem; height:2.55rem; place-items:center; border-radius:.8rem; background:var(--navy); color:#fff; font-size:1.05rem; }
.alert-settings-rule__copy h3 { margin:0 0 .25rem; font-size:.98rem; }
.alert-settings-rule__copy p { margin:0; color:var(--muted); font-size:.77rem; line-height:1.45; }
.alert-settings-amount { display:grid; gap:.32rem; }
.alert-settings-amount > span { color:var(--muted); font-size:.65rem; font-weight:800; text-transform:uppercase; }
.alert-settings-amount > div { display:flex; align-items:center; overflow:hidden; border:1px solid var(--line); border-radius:.72rem; background:#fbfcfa; }
.alert-settings-amount input { min-width:0; width:100%; padding:.7rem .75rem; border:0; outline:0; background:transparent; font-weight:750; }
.alert-settings-amount em { padding-right:.7rem; color:var(--muted); font-size:.68rem; font-style:normal; font-weight:800; }
.alert-settings-amount > div:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.depot-value-threshold-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }
.depot-value-threshold-grid .alert-settings-amount { grid-column:auto; }
.alert-settings-rule .toggle-switch { justify-self:end; }
.alert-settings-card__footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.5rem; }
.alert-settings-card__footer p { margin:0; color:var(--muted); font-size:.75rem; }
.alert-settings-card__footer .button { margin:0; }
.alert-settings-note { display:flex; gap:1rem; margin-top:1.25rem; padding:1rem 1.2rem; border-radius:1rem; background:#ecefe9; color:var(--muted); font-size:.76rem; }
.alert-settings-note strong { color:var(--ink); }
.alert-settings-note p { margin:0; }
.alert-tile-account { display:grid; gap:1rem; margin-bottom:2.8rem; }
.alert-tile-account__head { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:.25rem 0; }
.alert-config-tile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem; }
.alert-config-tile { display:flex; min-height:22rem; flex-direction:column; justify-content:space-between; gap:2.5rem; padding:1.5rem; border:1px solid var(--line); border-radius:1.4rem; background:var(--surface); box-shadow:0 12px 36px rgba(18,45,35,.05); transition:transform 160ms,border-color 160ms,box-shadow 160ms; }
.alert-config-tile:hover { transform:translateY(-3px); border-color:#b8d7c6; box-shadow:0 18px 44px rgba(18,45,35,.1); }
.alert-config-tile--active { border-color:#8fd5b2; box-shadow:0 14px 40px rgba(25,169,116,.11); }
.alert-config-tile__top { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.alert-config-tile__content { display:grid; gap:.65rem; }
.alert-config-tile__content > .eyebrow { margin:0; font-size:.67rem; }
.alert-config-tile h3 { margin:0; font-size:1.25rem; letter-spacing:-.035em; }
.alert-config-tile__content > p:not(.eyebrow) { min-height:3.8rem; margin:0 0 .5rem; color:var(--muted); font-size:.84rem; line-height:1.55; }
.alert-config-tile--forecast { background:linear-gradient(145deg,#fff 0%,#f4faf6 100%); }
.alert-config-tile--depot { background:linear-gradient(145deg,#fff 0%,#f5f9ff 100%); }
.alert-config-tile--depot .app-tile__icon { background:#e8f0ff; color:#285b91; }
.alert-config-tile--depot.alert-config-tile--active { border-color:#8fc4ce; box-shadow:0 14px 40px rgba(36,112,127,.11); }
@media(max-width:760px){.depot-value-threshold-grid{grid-template-columns:1fr}}

/* Darlehen */
.loan-overview-content,.loan-detail-page { padding-bottom:4rem; }
.loan-summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1rem; margin:0 0 1.5rem; }
.loan-summary-grid article,.loan-summary-card { display:grid; gap:.45rem; padding:1.35rem 1.5rem; border:1px solid var(--line); border-radius:1.25rem; background:#fff; box-shadow:0 10px 30px rgba(18,45,35,.05); }
.loan-summary-card { color:inherit; text-decoration:none; }
.loan-summary-card--filter { position:relative; transition:border-color 150ms,box-shadow 150ms,transform 150ms; }
.loan-summary-card--filter::after { content:'→'; position:absolute; right:1rem; top:.85rem; color:var(--muted); font-size:.8rem; }
.loan-summary-card--filter:hover { border-color:#9bcdb6; box-shadow:0 14px 36px rgba(18,86,60,.1); transform:translateY(-1px); }
.loan-summary-card--active { border-color:var(--accent)!important; box-shadow:0 0 0 2px rgba(24,172,118,.13),0 14px 36px rgba(18,86,60,.1)!important; }
.loan-summary-card--active::after { content:'×'; color:var(--accent-dark); }
.loan-summary-card--filter.loan-summary-grid__liability:hover { border-color:#e4a8a8; }
.loan-summary-card--active.loan-summary-grid__liability { border-color:#d36a6a!important; box-shadow:0 0 0 2px rgba(197,60,60,.1),0 14px 36px rgba(130,36,36,.08)!important; }
.loan-summary-card--active.loan-summary-grid__liability::after { color:#a53636; }
.loan-summary-grid span { color:var(--muted); font-size:.7rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.loan-summary-grid strong { font-size:1.65rem; letter-spacing:-.04em; }
.loan-summary-grid article small { color:var(--muted); font-size:.72rem; line-height:1.35; }
.loan-summary-grid__repaid { background:linear-gradient(145deg,#fff,#effaf5)!important; }
.loan-summary-grid__repaid strong { color:var(--accent-dark); }
.loan-summary-grid__waived { background:linear-gradient(145deg,#fff,#fff8e8)!important; }
.loan-summary-grid__waived strong { color:#8a6200; }
.loan-summary-grid__liability { background:linear-gradient(145deg,#fff,#fff1f1)!important; }
.loan-summary-grid__liability strong { color:#b53232; }
.loan-summary-grid__increased { background:linear-gradient(145deg,#fff,#eef5ff)!important; }
.loan-summary-grid__increased strong { color:#275f9c; }
.loan-summary-grid__net { border-width:1.5px!important; }
.loan-summary-grid__net--positive { background:linear-gradient(145deg,#fff,#edf9f3)!important; }
.loan-summary-grid__net--positive strong { color:var(--accent-dark); }
.loan-summary-grid__net--negative { background:linear-gradient(145deg,#fff,#fff0f0)!important; }
.loan-summary-grid__net--negative strong { color:#b53232; }
.loan-summary-grid__net--neutral { background:linear-gradient(145deg,#fff,#f2f4f2)!important; }
.loan-summary-grid__net--neutral strong { color:var(--muted); }
.loan-summary-grid__open { background:linear-gradient(145deg,#123a2e,#0d281f)!important; color:#fff; }
.loan-summary-grid__open span { color:#a9c3b9; }
.loan-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem; }
.loan-card { display:flex; flex-direction:column; gap:.8rem; padding:1.5rem; border:1px solid var(--line); border-radius:1.4rem; background:#fff; box-shadow:0 12px 36px rgba(18,45,35,.06); }
.loan-card--inactive { opacity:.68; }
.loan-card__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.loan-card__heading h2 { min-width:0; margin:0; }
.loan-card__open { display:grid; flex:0 0 auto; justify-items:end; gap:.05rem; text-align:right; }
.loan-card__open span { color:var(--muted); font-size:.62rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.loan-card__open strong { color:var(--accent-dark); font-size:1.25rem; line-height:1.1; white-space:nowrap; }
.loan-card__open--borrowed strong { color:#b53232; }
.status-pill--credit { background:#fdeaea; color:#a53636; }
.loan-card__top { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.loan-card__top small,.loan-card > p { color:var(--muted); }
.loan-card h2 { font-size:1.35rem; }
.loan-card > p { margin:0; font-size:.84rem; }
.loan-progress { height:.55rem; overflow:hidden; border-radius:999px; background:#e8ede8; }
.loan-progress span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--accent),#65cc9f); }
.loan-progress--large { height:.75rem; margin-top:1rem; }
.loan-progress-label { margin:.55rem 0 2rem; color:var(--muted); font-size:.78rem; text-align:right; }
.loan-card__amounts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.loan-card__amounts div { display:grid; gap:.2rem; padding:.8rem; border-radius:.8rem; background:#f4f7f3; }
.loan-card__amounts div:last-child { grid-column:1/-1; }
.loan-card__amounts span { color:var(--muted); font-size:.65rem; text-transform:uppercase; }
.loan-detail-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; padding:2rem 0; }
.loan-detail-hero h1 { margin:.25rem 0; font-size:clamp(2.2rem,5vw,4.4rem); letter-spacing:-.065em; }
.loan-detail-hero p { margin:0; color:var(--muted); }
.loan-detail-hero__actions { display:flex; gap:.7rem; flex-wrap:wrap; }
.loan-section { margin-top:2rem; padding:1.5rem; border:1px solid var(--line); border-radius:1.4rem; background:#fff; box-shadow:0 12px 36px rgba(18,45,35,.05); scroll-margin-top:6rem; }
.loan-repayment-list,.loan-incoming-list { display:grid; gap:.7rem; }
.loan-repayment-history,.loan-incoming-history { margin-top:.8rem; }
.loan-repayment-history > summary,.loan-incoming-history > summary { display:flex; align-items:center; justify-content:center; min-height:2.8rem; padding:.65rem 1rem; border:1px solid var(--line); border-radius:.9rem; background:#f7f9f6; color:var(--accent-dark); font-size:.74rem; font-weight:850; list-style:none; cursor:pointer; transition:border-color 150ms,background 150ms; }
.loan-repayment-history > summary:hover,.loan-incoming-history > summary:hover { border-color:#a9d4c1; background:#f0f8f4; }
.loan-repayment-history > summary::-webkit-details-marker,.loan-incoming-history > summary::-webkit-details-marker { display:none; }
.loan-repayment-history > summary::before,.loan-incoming-history > summary::before { content:'＋'; margin-right:.45rem; font-size:.95rem; line-height:1; }
.loan-repayment-history[open] > summary::before,.loan-incoming-history[open] > summary::before { content:'−'; }
.loan-repayment-history__hide { display:none; }
.loan-repayment-history[open] .loan-repayment-history__show,.loan-incoming-history[open] .loan-repayment-history__show { display:none; }
.loan-repayment-history[open] .loan-repayment-history__hide,.loan-incoming-history[open] .loan-repayment-history__hide { display:inline; }
.loan-repayment-list--older,.loan-incoming-list--older { margin-top:.7rem; }
.loan-repayment-list article,.loan-incoming-list article { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; padding:1rem; border-radius:1rem; background:#f5f7f3; }
.loan-repayment-list article > div:first-child,.loan-incoming-list article > div:first-child { display:grid; min-width:0; gap:.15rem; }
.loan-repayment-list span,.loan-incoming-list span { color:var(--muted); font-size:.7rem; }
.loan-repayment-list small,.loan-incoming-list small { overflow:hidden; color:var(--muted); font-size:.75rem; text-overflow:ellipsis; white-space:nowrap; }
.loan-repayment-list em { color:var(--accent-dark); font-size:.72rem; font-style:normal; }
.loan-repayment-list__waiver { background:#fff8e8!important; }
.loan-repayment-list__waiver .loan-repayment-list__amount > strong { color:#8a6200; }
.loan-repayment-list__amount { display:grid; flex:0 0 auto; justify-items:end; gap:.2rem; }
.loan-repayment-list__amount > strong { color:var(--accent-dark); font-size:1.05rem; }
.loan-repayment-list__amount > strong.loan-repayment-list__amount--credit-repayment { color:#087a54; }
.loan-repayment-list__amount > strong.loan-repayment-list__amount--credit-increase { color:#c43c3c; }
.loan-repayment-list__amount a,.loan-repayment-list__amount button { border:0; background:none; color:var(--muted); font-size:.7rem; text-decoration:underline; cursor:pointer; }
.loan-incoming-list form { display:grid; grid-template-columns:8.5rem minmax(8rem,12rem) auto; align-items:end; gap:.6rem; }
.loan-incoming-list form label { display:grid; gap:.25rem; }
.loan-incoming-list form label > div { display:flex; align-items:center; overflow:hidden; border:1px solid var(--line); border-radius:.7rem; background:#fff; }
.loan-incoming-list form input { min-width:0; padding:.65rem; border:1px solid var(--line); border-radius:.7rem; }
.loan-incoming-list form label input { width:100%; border:0; }
.loan-incoming-list form em { padding-right:.55rem; color:var(--muted); font-size:.7rem; font-style:normal; }
.loan-incoming-list__likely { border:1px solid #a8dfc7; background:linear-gradient(135deg,#effbf5,#f7fbf8)!important; box-shadow:0 8px 24px rgba(17,128,87,.08); }
.loan-match-hint { display:flex; flex-wrap:wrap; gap:.25rem .5rem; margin-bottom:.15rem; color:#386c58!important; font-size:.65rem!important; white-space:normal!important; }
.loan-match-hint b { color:var(--accent-dark); }
.loan-danger-zone { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:2rem; padding:1.2rem 1.4rem; border:1px solid #f1d2d2; border-radius:1.1rem; background:#fff8f8; }
.loan-danger-zone p { margin:.25rem 0 0; color:var(--muted); font-size:.78rem; }
.loan-assignment-badge { display:grid; grid-template-columns:auto 1fr; gap:.05rem .35rem; margin-top:.45rem; color:var(--accent-dark); font-size:.7rem; text-decoration:none; }
.loan-assignment-badge span { grid-row:1/3; }
.loan-assignment-badge small { color:var(--muted); }
.loan-assignment-link { display:inline-block; margin-top:.45rem; color:var(--accent-dark); font-size:.7rem; font-weight:750; text-decoration:none; }
.loan-other-account-badge { display:inline-block; margin-left:.3rem; padding:.14rem .42rem; border-radius:999px; background:#fff0c8; color:#765400; font-size:.6rem; line-height:1; text-transform:uppercase; }
.loan-balance-effect { display:inline-block; margin-left:.3rem; padding:.14rem .42rem; border-radius:999px; font-size:.6rem; line-height:1; text-transform:uppercase; }
.loan-balance-effect--reduce { background:#def6e9; color:#087a54; }
.loan-balance-effect--increase { background:#e8f1ff; color:#275f9c; }
.loan-manual-entry { background:linear-gradient(145deg,#fff,#f7faf8); }
.loan-manual-entry__form { margin-top:1rem; }
.loan-manual-entry__form .form-actions { margin-top:1rem; }

@media (max-width:900px) {
    .loan-summary-grid,.loan-card-grid { grid-template-columns:1fr; }
    .loan-card__amounts { grid-template-columns:1fr; }
    .loan-card__amounts div:last-child { grid-column:auto; }
    .loan-detail-hero { align-items:flex-start; flex-direction:column; }
    .loan-repayment-list article,.loan-incoming-list article { align-items:stretch; flex-direction:column; }
    .loan-repayment-list__amount { grid-template-columns:1fr auto auto; align-items:center; justify-items:start; }
    .loan-incoming-list form { grid-template-columns:1fr; }
    .loan-danger-zone { align-items:stretch; flex-direction:column; }
}
@media (max-width:560px) {
    .loan-card__heading { align-items:flex-end; }
    .loan-card__heading h2 { font-size:1.12rem; }
    .loan-card__open strong { font-size:1.05rem; }
}

/* Immobilien */
.property-overview-page,.property-detail-page { padding-bottom:4rem; }
.property-summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:1rem; margin:0 0 1.5rem; }
.property-summary-grid article { display:grid; gap:.35rem; min-width:0; padding:1.3rem 1.4rem; border:1px solid var(--line); border-radius:1.2rem; background:#fff; box-shadow:0 10px 30px rgba(18,45,35,.05); }
.property-summary-grid article > span { color:var(--muted); font-size:.67rem; font-weight:850; letter-spacing:.055em; text-transform:uppercase; }
.property-summary-grid article > strong { overflow-wrap:anywhere; font-size:1.55rem; letter-spacing:-.04em; }
.property-summary-grid article > small { color:var(--muted); font-size:.68rem; }
.property-summary-grid__value { background:linear-gradient(145deg,#123a2e,#0d281f)!important; color:#fff; }
.property-summary-grid__value > span,.property-summary-grid__value > small { color:#adc7bd!important; }
.property-summary-grid__income { background:linear-gradient(145deg,#fff,#effaf5)!important; }
.property-summary-grid__income strong { color:#087a54; }
.property-summary-grid__expense { background:linear-gradient(145deg,#fff,#fff3f0)!important; }
.property-summary-grid__expense strong { color:#b74838; }
.property-summary-grid__net--positive { background:linear-gradient(145deg,#fff,#edf9f3)!important; }
.property-summary-grid__net--positive strong { color:#087a54; }
.property-summary-grid__net--negative { background:linear-gradient(145deg,#fff,#fff0f0)!important; }
.property-summary-grid__net--negative strong { color:#c43c3c; }
.property-summary-grid__yield { background:linear-gradient(145deg,#fff,#eef5ff)!important; }
.property-summary-grid__yield strong { color:#275f9c; }
.property-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem; }
.property-card { display:flex; flex-direction:column; gap:1rem; min-width:0; padding:1.5rem; border:1px solid var(--line); border-radius:1.4rem; background:#fff; box-shadow:0 12px 36px rgba(18,45,35,.06); }
.property-card--inactive { opacity:.65; }
.property-card__intro { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; min-height:4.7rem; }
.property-card__intro > p { flex:1; min-width:0; margin:0; color:var(--muted); font-size:.78rem; line-height:1.55; }
.property-card__image { position:relative; display:block; flex:0 0 8rem; width:8rem; height:4.7rem; margin-left:auto; overflow:hidden; border:1px solid var(--line); border-radius:.7rem; background:#eef3ef; }
.property-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.property-card__image:hover img { transform:scale(1.025); }
.property-card__image span { position:absolute; right:.35rem; bottom:.35rem; display:grid; min-width:1.35rem; height:1.35rem; padding:0 .3rem; place-items:center; border-radius:999px; background:rgba(9,35,27,.78); color:#fff; font-size:.58rem; font-weight:850; backdrop-filter:blur(5px); }
.property-card__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1.2rem; }
.property-card__heading h2 { margin:.45rem 0 0; font-size:1.35rem; letter-spacing:-.035em; }
.property-card__value { display:grid; flex:0 0 auto; justify-items:end; gap:.15rem; text-align:right; }
.property-card__value span { color:var(--muted); font-size:.62rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.property-card__value strong { color:var(--accent-dark); font-size:1.2rem; white-space:nowrap; }
.status-pill--owner-occupied { background:#eaf1fb; color:#315f91; }
.property-card__metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.property-card__metrics > div { display:grid; gap:.2rem; min-width:0; padding:.75rem; border-radius:.8rem; background:#f5f7f4; }
.property-card__metrics span { color:var(--muted); font-size:.62rem; font-weight:800; text-transform:uppercase; }
.property-card__metrics strong { overflow-wrap:anywhere; font-size:.92rem; }
.property-card__footer { display:grid; gap:.8rem; margin-top:auto; padding-top:.2rem; border-top:1px solid var(--line); }
.property-card__footer > small { padding-top:.75rem; color:var(--muted); font-size:.68rem; }
.property-detail-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; padding:2rem 0; }
.property-detail-hero h1 { margin:.25rem 0; font-size:clamp(2.2rem,5vw,4.4rem); letter-spacing:-.065em; }
.property-detail-hero p { margin:.25rem 0 0; color:var(--muted); line-height:1.55; }
.property-detail-hero__actions { display:flex; flex-wrap:wrap; gap:.7rem; }
.property-view-switch { display:inline-grid; grid-template-columns:repeat(2,auto); align-items:center; gap:.25rem; padding:.28rem; border:1px solid var(--line); border-radius:.85rem; background:#eef3ef; }
.property-view-switch a { min-width:5.4rem; padding:.62rem .8rem; border-radius:.62rem; color:var(--muted); font-size:.72rem; font-weight:850; text-align:center; text-decoration:none; }
.property-view-switch a:hover { color:var(--accent-dark); }
.property-view-switch__active { background:#fff; color:var(--accent-dark)!important; box-shadow:0 2px 8px rgba(18,45,35,.09); }
.property-gallery { display:grid; grid-template-columns:2fr repeat(2,minmax(0,1fr)); grid-auto-rows:8rem; gap:.7rem; margin:0 0 1.5rem; }
.property-gallery a { position:relative; display:block; min-width:0; overflow:hidden; border-radius:1rem; background:#e8eeea; }
.property-gallery__primary { grid-row:span 2; }
.property-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.property-gallery a:hover img { transform:scale(1.025); }
.property-gallery span { position:absolute; left:.7rem; bottom:.7rem; padding:.3rem .55rem; border-radius:999px; background:rgba(9,35,27,.78); color:#fff; font-size:.62rem; font-weight:850; backdrop-filter:blur(5px); }
.property-image-upload-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.property-image-upload-grid label { min-width:0; }
.property-image-upload-grid small,.property-image-upload-note,.form-help { color:var(--muted); font-size:.7rem; line-height:1.45; }
.property-image-upload-note { margin:.75rem 0 0; }
.property-image-manager { margin-top:1.5rem; padding:1.4rem; border:1px solid var(--line); border-radius:1.3rem; background:#fff; }
.property-image-manager h2 { margin:.2rem 0; }
.property-image-manager > div:first-child > p:not(.eyebrow) { margin:.2rem 0 1rem; color:var(--muted); font-size:.78rem; }
.property-image-manager__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:.8rem; }
.property-image-manager__grid article { position:relative; overflow:hidden; padding:.45rem; border:1px solid var(--line); border-radius:1rem; background:#f6f8f5; }
.property-image-manager__item--primary { border-color:#72cfa5!important; box-shadow:0 0 0 2px #d8f3e6; }
.property-image-manager__grid img { width:100%; height:8rem; object-fit:cover; border-radius:.7rem; background:#e7ece8; }
.property-image-manager__grid article > span { position:absolute; top:.8rem; left:.8rem; padding:.25rem .45rem; border-radius:999px; background:#0a7755; color:#fff; font-size:.58rem; font-weight:850; }
.property-image-manager__grid form { display:flex; gap:.4rem; padding-top:.45rem; }
.property-image-manager__grid .button { flex:1; min-height:2rem; margin:0; padding:.42rem .55rem; font-size:.64rem; }
.property-document-section { margin-top:2rem; padding:1.5rem; border:1px solid var(--line); border-radius:1.4rem; background:#fff; box-shadow:0 12px 36px rgba(18,45,35,.05); scroll-margin-top:6rem; }
.property-document-section .section-heading { align-items:flex-start; }
.property-document-section .section-heading p:not(.eyebrow) { max-width:46rem; margin:.3rem 0 0; color:var(--muted); font-size:.78rem; line-height:1.5; }
.property-document-count { flex:0 0 auto; padding:.4rem .65rem; border-radius:999px; background:var(--accent-soft); color:var(--accent-dark); font-size:.68rem; font-weight:850; }
.property-document-upload { display:grid; grid-template-columns:1.2fr 1fr .7fr 1fr auto; align-items:end; gap:.7rem; margin:1.2rem 0; padding:1rem; border:1px solid #cfe2d8; border-radius:1rem; background:linear-gradient(145deg,#f8fbf9,#f1f7f4); }
.property-document-upload label { display:grid; min-width:0; gap:.35rem; }
.property-document-upload label > span,.property-document-tools label > span { color:var(--muted); font-size:.63rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.property-document-upload input,.property-document-tools input { min-width:0; width:100%; padding:.68rem .75rem; border:1px solid var(--line); border-radius:.72rem; outline:0; background:#fff; color:var(--ink); font:inherit; font-size:.75rem; }
.property-document-upload input:focus,.property-document-tools input:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.file-drop-zone { position:relative; display:grid!important; align-content:center!important; justify-items:center; gap:.35rem!important; min-height:9rem; padding:1rem!important; overflow:hidden; border:1.5px dashed #a9cabb!important; border-radius:1rem!important; background:#f7faf8!important; text-align:center; cursor:pointer; transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease; }
.file-drop-zone:hover,.file-drop-zone--dragover { border-color:var(--accent)!important; background:#edf9f3!important; box-shadow:0 0 0 4px rgba(25,174,119,.1); }
.file-drop-zone--dragover { transform:translateY(-2px); }
.file-drop-zone--selected { border-style:solid!important; border-color:#72cfa5!important; }
.file-drop-zone input[type="file"] { position:absolute; width:1px!important; height:1px; padding:0!important; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0!important; }
.file-drop-zone__icon { display:grid; width:2.15rem; height:2.15rem; place-items:center; border-radius:.72rem; background:#dff4e9; color:var(--accent-dark)!important; font-size:1.15rem!important; font-weight:900!important; }
.file-drop-zone strong { font-size:.78rem; }
.file-drop-zone small { color:var(--muted); font-size:.65rem; line-height:1.4; }
.file-drop-zone__selection { display:block; max-width:100%; overflow:hidden; padding:.25rem .48rem; border-radius:999px; background:#e9eeea; color:var(--muted)!important; font-size:.6rem!important; font-weight:750!important; text-overflow:ellipsis; white-space:nowrap; text-transform:none!important; letter-spacing:0!important; }
.file-drop-zone--selected .file-drop-zone__selection { background:#d7f2e5; color:#087653!important; }
.file-drop-zone--compact { min-height:6.7rem; padding:.65rem!important; }
.file-drop-zone--compact .file-drop-zone__icon { width:1.7rem; height:1.7rem; font-size:.9rem!important; }
.file-drop-zone--compact strong { font-size:.7rem; }
.file-drop-zone--compact small { font-size:.58rem; }
.property-document-upload .button { min-height:2.65rem; margin:0; white-space:nowrap; }
.property-document-upload > small { grid-column:1/-1; color:var(--muted); font-size:.65rem; line-height:1.45; }
.property-document-tools { display:flex; align-items:end; gap:.6rem; margin:1rem 0; }
.property-document-tools label { display:grid; width:min(25rem,100%); gap:.35rem; }
.property-document-tools .button { min-height:2.55rem; margin:0; }
.property-document-tools > a { align-self:center; margin-top:1rem; color:var(--muted); font-size:.7rem; font-weight:750; }
.property-document-list { overflow:hidden; border:1px solid var(--line); border-radius:1rem; }
.property-document-list__head,.property-document-list article { display:grid; grid-template-columns:7rem minmax(12rem,1.35fr) minmax(9rem,1fr) 5rem 10rem; align-items:center; gap:.8rem; padding:.8rem 1rem; }
.property-document-list__head { background:#f2f5f2; color:var(--muted); font-size:.62rem; font-weight:850; letter-spacing:.045em; text-transform:uppercase; }
.property-document-list__head a { color:var(--accent-dark); text-decoration:none; }
.property-document-list article { border-top:1px solid var(--line); font-size:.75rem; }
.property-document-list article:hover { background:#fbfcfa; }
.property-document-list time { color:var(--muted); font-variant-numeric:tabular-nums; }
.property-document-list__name { display:grid; min-width:0; gap:.15rem; }
.property-document-list__name strong,.property-document-list__name small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.property-document-list__name small { color:var(--muted); font-size:.64rem; }
.property-document-type { justify-self:start; max-width:100%; overflow:hidden; padding:.28rem .48rem; border-radius:999px; background:#edf4f0; color:#345b4d; font-size:.65rem; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.property-document-file { display:grid; gap:.1rem; }
.property-document-file b { color:var(--accent-dark); font-size:.66rem; }
.property-document-file small { color:var(--muted); font-size:.6rem; }
.property-document-actions { display:flex; align-items:center; justify-content:flex-end; gap:.55rem; }
.property-document-actions a,.property-document-actions button { border:0; padding:0; background:none; color:var(--accent-dark); font:inherit; font-size:.66rem; font-weight:750; text-decoration:underline; cursor:pointer; }
.property-document-actions form { margin:0; }
.property-document-actions button { color:#a83b35; }
.tangible-assets-page { padding-bottom:4rem; }
.file-drop-zone--compact { min-height:7.1rem!important; padding:.8rem!important; }
.file-drop-zone--compact strong { font-size:.76rem; }
.tangible-image-upload { grid-template-columns:1.3fr 1fr 1fr auto; }
.tangible-image-upload .switch-label { align-self:center; margin-bottom:.55rem; }
.tangible-image-upload + .property-image-manager__grid { margin-top:1.2rem; }
.asset-performance { font-size:.65rem!important; font-weight:850; letter-spacing:0!important; text-transform:none!important; }
.asset-performance--positive,.property-summary-grid__value > .asset-performance--positive { color:#59d59e!important; }
.property-card .asset-performance--positive { color:#087a54!important; }
.asset-performance--negative,.property-summary-grid__value > .asset-performance--negative { color:#ff9d92!important; }
.property-card .asset-performance--negative { color:#c43c3c!important; }
.asset-performance--neutral,.property-summary-grid__value > .asset-performance--neutral { color:#adc7bd!important; }
.property-document-section > p { color:var(--muted); font-size:.8rem; line-height:1.6; }
.property-cashflow-section { margin-top:2rem; padding:1.5rem; border:1px solid var(--line); border-radius:1.4rem; background:#fff; box-shadow:0 12px 36px rgba(18,45,35,.05); scroll-margin-top:6rem; }
.property-cashflow-section .section-heading { align-items:flex-start; }
.property-cashflow-section .section-heading p:not(.eyebrow) { max-width:46rem; margin:.3rem 0 0; color:var(--muted); font-size:.78rem; line-height:1.5; }
.property-cashflow-list { display:grid; gap:.7rem; }
.property-cashflow-list article { display:flex; align-items:center; justify-content:space-between; gap:1.2rem; padding:1rem; border:1px solid transparent; border-radius:1rem; background:#f5f7f3; }
.property-cashflow-list__income { border-color:#c9eadb!important; background:#f2faf6!important; }
.property-cashflow-list__expense { border-color:#f0d5ce!important; background:#fff7f4!important; }
.property-cashflow-list article > div:first-child { display:grid; min-width:0; gap:.18rem; }
.property-cashflow-list article > div:first-child span { color:var(--muted); font-size:.65rem; font-weight:800; text-transform:uppercase; }
.property-cashflow-list article > div:first-child small { overflow:hidden; color:var(--muted); font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.property-cashflow-list article > div:first-child em { color:var(--accent-dark); font-size:.7rem; font-style:normal; }
.property-cashflow-list__amount { display:grid; flex:0 0 auto; justify-items:end; gap:.22rem; }
.property-cashflow-list__amount > strong { font-size:1rem; }
.property-cashflow-list__income .property-cashflow-list__amount > strong { color:#087a54; }
.property-cashflow-list__expense .property-cashflow-list__amount > strong { color:#c43c3c; }
.property-cashflow-list__amount > small { color:var(--muted); font-size:.68rem; }
.property-cashflow-list__amount > div { display:flex; align-items:center; gap:.5rem; }
.property-cashflow-list__amount a,.property-cashflow-list__amount button { border:0; padding:0; background:none; color:var(--muted); font-size:.68rem; text-decoration:underline; cursor:pointer; }
.property-cashflow-list__amount form { margin:0; }

@media (max-width:900px) {
    .property-card-grid { grid-template-columns:1fr; }
    .property-detail-hero { align-items:flex-start; flex-direction:column; }
    .property-cashflow-list article { align-items:stretch; flex-direction:column; }
    .property-cashflow-list__amount { grid-template-columns:1fr auto; align-items:center; justify-items:start; }
    .property-cashflow-list__amount > div { grid-column:1/-1; }
    .property-gallery { grid-template-columns:2fr 1fr; }
    .property-image-upload-grid { grid-template-columns:1fr; }
    .property-document-upload { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .tangible-image-upload { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .property-document-upload .button { width:100%; }
    .property-document-list__head { display:none; }
    .property-document-list { display:grid; gap:.65rem; overflow:visible; border:0; border-radius:0; }
    .property-document-list article { grid-template-columns:7rem minmax(0,1fr) auto; gap:.6rem; border:1px solid var(--line); border-radius:.9rem; }
    .property-document-list article:first-of-type { border-top:1px solid var(--line); }
    .property-document-type { grid-column:2; }
    .property-document-file { grid-column:1; grid-row:2; }
    .property-document-actions { grid-column:3; grid-row:1/3; flex-direction:column; align-items:flex-end; }
}
@media (max-width:560px) {
    .property-card { padding:1.1rem; }
    .property-card__heading { align-items:flex-start; flex-direction:column; }
    .property-card__value { justify-items:start; text-align:left; }
    .property-card__metrics { grid-template-columns:1fr; }
    .property-summary-grid { grid-template-columns:1fr; }
    .property-cashflow-section { padding:1rem; }
    .property-card__image { width:7rem; height:4.1rem; }
    .property-card__intro { min-height:4.1rem; }
    .property-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:7rem; }
    .property-gallery__primary { grid-column:1/-1; grid-row:auto; height:12rem; }
    .property-image-manager { padding:1rem; }
    .property-document-section { padding:1rem; }
    .property-document-section .section-heading { flex-direction:column; }
    .property-document-upload { grid-template-columns:1fr; }
    .tangible-image-upload { grid-template-columns:1fr; }
    .property-document-upload > small { grid-column:1; }
    .property-document-tools { align-items:stretch; flex-wrap:wrap; }
    .property-document-tools label { width:100%; }
    .property-document-tools .button { flex:1; }
    .property-document-list article { grid-template-columns:1fr auto; align-items:start; }
    .property-document-list time { grid-column:1; }
    .property-document-list__name { grid-column:1; }
    .property-document-type { grid-column:1; }
    .property-document-file { grid-column:2; grid-row:1; justify-items:end; }
    .property-document-actions { grid-column:2; grid-row:2/4; }
}
.forecast-config-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.forecast-config-row label { display:grid; gap:.32rem; }
.forecast-config-row label > span { color:var(--muted); font-size:.65rem; font-weight:800; text-transform:uppercase; }
.forecast-config-row select { min-width:0; width:100%; padding:.72rem .75rem; border:1px solid var(--line); border-radius:.72rem; outline:0; background:#fff; color:var(--ink); font:inherit; font-size:.78rem; font-weight:750; }
.forecast-config-row select:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.forecast-mail-toggle { display:flex; align-items:flex-start; gap:.65rem; margin-top:.2rem; padding:.75rem; border:1px solid var(--line); border-radius:.8rem; background:rgba(255,255,255,.76); cursor:pointer; }
.forecast-mail-toggle:has(input:checked) { border-color:#8fd5b2; background:var(--accent-soft); }
.forecast-mail-toggle input { width:1rem; height:1rem; margin:.15rem 0 0; box-shadow:none!important; accent-color:var(--accent); }
.forecast-mail-toggle span { display:grid; gap:.12rem; }
.forecast-mail-toggle strong { font-size:.78rem; }
.forecast-mail-toggle small { color:var(--muted); font-size:.67rem; line-height:1.35; }
.alert-tile-account__footer { display:flex; align-items:center; justify-content:flex-end; gap:1.2rem; }
.alert-tile-account__footer p { margin:0 auto 0 0; color:var(--muted); font-size:.75rem; }
.alert-tile-account__footer .button { margin:0; }
.report-preview-card .section-heading > div h2 { margin:.25rem 0; }
.mail-preview { width:100%; min-height:900px; border:0; border-radius:.8rem; background:#f3f6f1; }
.cron-card { padding:1.5rem; border:1px solid var(--line); border-radius:1.2rem; background:var(--surface); }
.cron-card h2 { margin-top:0; }
.cron-card > p { margin-bottom:0; color:var(--muted); font-size:.85rem; }
.cron-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid var(--line); border-radius:.8rem; background:var(--line); }
.cron-grid > div { display:grid; gap:.35rem; padding:1rem; background:#fbfcfa; }
.cron-grid__wide { grid-column:1/-1; }
.cron-grid span { color:var(--muted); font-size:.78rem; }
.cron-grid code { overflow:auto; padding:.8rem; border-radius:.5rem; background:var(--navy); color:#dff7eb; white-space:nowrap; }
.automation-schedule-section { margin-top:2rem; scroll-margin-top:6rem; }
.automation-schedule-section .section-heading { justify-content:space-between; }
.automation-schedule-section .section-heading > div { display:grid; gap:.18rem; }
.automation-schedule-section .section-heading .eyebrow { margin:0; }
.automation-schedule-create { display:grid; grid-template-columns:minmax(14rem,1.3fr) minmax(10rem,1fr) 9rem auto; align-items:end; gap:.8rem; margin-bottom:1rem; padding:1.15rem; border:1px dashed #a8cdb8; border-radius:1.1rem; background:linear-gradient(135deg,#f9fcfa,var(--accent-soft)); }
.automation-schedule-create > div { display:flex; align-items:center; gap:.75rem; align-self:center; }
.automation-schedule-create > div > div { display:grid; gap:.15rem; }
.automation-schedule-create small { color:var(--muted); font-size:.72rem; }
.automation-schedule-create__icon { display:grid; width:2.4rem; height:2.4rem; flex:0 0 auto; place-items:center; border-radius:.75rem; background:var(--accent); color:#fff; font-size:1.15rem; font-weight:900; }
.automation-schedule-create label,.automation-schedule-form label { display:grid; gap:.35rem; color:var(--muted); font-size:.72rem; font-weight:800; }
.automation-schedule-create input,.automation-schedule-form input { min-width:0; width:100%; padding:.72rem .8rem; border:1px solid var(--line); border-radius:.72rem; outline:0; background:#fff; color:var(--ink); font:inherit; }
.automation-schedule-create input:focus,.automation-schedule-form input:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.automation-schedule-list { display:grid; gap:.75rem; }
.automation-schedule-row { display:grid; grid-template-columns:6.4rem minmax(0,1fr) auto auto; align-items:center; gap:1rem; padding:1rem 1.1rem; border:1px solid var(--line); border-radius:1.1rem; background:var(--surface); box-shadow:0 10px 28px rgba(18,45,35,.04); }
.automation-schedule-row--paused { opacity:.72; background:#fafbfa; }
.automation-schedule-time { display:flex; align-items:baseline; gap:.25rem; padding:.75rem; border-radius:.85rem; background:var(--navy); color:#fff; }
.automation-schedule-time span { font-size:1.45rem; font-weight:900; letter-spacing:-.045em; }
.automation-schedule-time small { color:#b9cec4; font-size:.62rem; font-weight:800; text-transform:uppercase; }
.automation-schedule-form { display:grid; grid-template-columns:minmax(10rem,1.25fr) 8rem minmax(11rem,1fr) auto; align-items:end; gap:.75rem; min-width:0; }
.automation-schedule-toggle { display:flex!important; align-items:center; gap:.65rem!important; min-height:2.65rem; padding:.5rem .65rem; border:1px solid var(--line); border-radius:.72rem; background:#fbfcfa; cursor:pointer; }
.automation-schedule-toggle:has(input:checked) { border-color:#9bd5b6; background:var(--accent-soft); }
.automation-schedule-toggle input { width:1rem; height:1rem; padding:0; box-shadow:none!important; accent-color:var(--accent); }
.automation-schedule-toggle > span { display:grid; gap:.05rem; color:var(--ink); }
.automation-schedule-toggle small { color:var(--muted); font-size:.61rem; font-weight:500; }
.automation-schedule-meta { display:grid; min-width:8.7rem; justify-items:start; gap:.35rem; }
.automation-schedule-meta small { color:var(--muted); font-size:.65rem; white-space:nowrap; }
.run-history { margin-top:2rem; }
.automation-run-copy { flex:1; min-width:0; }
.automation-run-details { margin-top:.9rem; }
.automation-run-details summary { color:var(--danger); cursor:pointer; font-weight:850; list-style:none; width:max-content; max-width:100%; }
.automation-run-details summary::-webkit-details-marker { display:none; }
.automation-run-details summary::before { content:'›'; display:inline-block; margin-right:.45rem; transition:transform .18s ease; }
.automation-run-details[open] summary::before { transform:rotate(90deg); }
.automation-run-detail-list { display:grid; gap:.55rem; margin-top:.75rem; }
.automation-run-detail { align-items:flex-start; background:#fff8f7; border:1px solid #f4c8c3; border-radius:.8rem; display:flex; gap:.7rem; padding:.75rem .85rem; }
.automation-run-detail--warning { background:#fffaf0; border-color:#f0d698; }
.automation-run-detail__icon { align-items:center; background:var(--danger); border-radius:50%; color:#fff; display:inline-flex; flex:0 0 1.35rem; font-size:.85rem; font-weight:900; height:1.35rem; justify-content:center; margin-top:.08rem; }
.automation-run-detail--warning .automation-run-detail__icon { background:#bf7b00; }
.automation-run-detail strong { display:block; font-size:.92rem; }
.automation-run-detail p { color:#714942; font-size:.85rem; margin:.15rem 0 0; overflow-wrap:anywhere; }
.automation-run-detail--warning p { color:#745819; }
.automation-run-details-missing { color:var(--muted); font-size:.82rem; font-style:italic; margin-top:.65rem !important; }
.help-link { color:var(--muted); font-size:.85rem; }
.help-link a { color:var(--accent-dark); font-weight:700; }

.sync-is-running,.sync-confirm-is-open { overflow:hidden; }
.sync-confirm[hidden] { display:none; }
.sync-confirm { position:fixed; z-index:950; inset:0; display:grid; place-items:center; padding:1rem; }
.sync-confirm__backdrop { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; background:rgba(9,28,21,.68); backdrop-filter:blur(7px); cursor:default; }
.sync-confirm__dialog { position:relative; width:min(31rem,100%); overflow:hidden; padding:2rem; border:1px solid rgba(255,255,255,.65); border-radius:1.55rem; background:var(--surface); box-shadow:0 30px 90px rgba(0,0,0,.3); animation:sync-confirm-in 180ms ease-out; }
.sync-confirm__dialog::before { position:absolute; top:0; right:0; left:0; height:.32rem; background:linear-gradient(90deg,var(--accent-dark),var(--accent),#82e1b2); content:""; }
.sync-confirm__icon { display:grid; width:3.25rem; height:3.25rem; margin-bottom:1.35rem; place-items:center; border-radius:1rem; background:var(--accent-soft); color:var(--accent-dark); font-size:1.7rem; font-weight:900; }
.sync-confirm__dialog .eyebrow { margin-bottom:.35rem; }
.sync-confirm__dialog h2 { margin:.25rem 0 .75rem; font-size:clamp(1.75rem,5vw,2.35rem); line-height:1.05; letter-spacing:-.05em; }
.sync-confirm__dialog > p:not(.eyebrow) { margin:0; color:var(--muted); line-height:1.6; }
.sync-confirm__note { display:flex; align-items:flex-start; gap:.7rem; margin-top:1.35rem; padding:1rem; border-radius:.9rem; background:#f2f6f3; }
.sync-confirm__note > span { display:grid; width:1.4rem; height:1.4rem; flex:0 0 auto; place-items:center; border-radius:50%; background:#dbe9e1; color:var(--accent-dark); font-size:.72rem; font-weight:900; }
.sync-confirm__note p { margin:0; color:var(--muted); font-size:.76rem; line-height:1.5; }
.sync-confirm__actions { display:grid; grid-template-columns:1fr 1.35fr; gap:.75rem; margin-top:1.5rem; }
.sync-confirm__actions .button { width:100%; margin:0; }
.whitelist-action-form { display:grid; gap:.75rem; margin-top:1.25rem; }
.whitelist-action-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }
.whitelist-action-form .button { width:100%; margin:0; }
.whitelist-action-remove[hidden] { display:none; }
@keyframes sync-confirm-in { from { opacity:0; transform:translateY(.6rem) scale(.98); } to { opacity:1; transform:none; } }
.sync-progress[hidden] { display:none; }
.sync-progress { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; padding:1rem; }
.sync-progress__backdrop { position:absolute; inset:0; background:rgba(9,28,21,.7); backdrop-filter:blur(8px); }
.sync-progress__panel { position:relative; width:min(38rem,100%); overflow:hidden; padding:2rem; border:1px solid rgba(255,255,255,.5); border-radius:1.6rem; background:var(--surface); box-shadow:0 32px 100px rgba(0,0,0,.3); }
.sync-progress__panel::before { position:absolute; top:0; right:0; left:0; height:.35rem; background:linear-gradient(90deg,var(--accent),#8ce2b8); content:""; }
.sync-progress__brand { display:flex; align-items:center; gap:.6rem; margin-bottom:2rem; color:var(--accent-dark); font-size:.78rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.sync-progress__brand img { width:2rem; height:2rem; border-radius:.55rem; }
.sync-progress__panel .eyebrow { margin-bottom:.35rem; }
.sync-progress__panel h2 { margin:.2rem 0 1.7rem; font-size:clamp(1.8rem,5vw,2.7rem); line-height:1; letter-spacing:-.055em; }
.sync-progress__meter { height:.65rem; overflow:hidden; border-radius:999px; background:#e8eee9; }
.sync-progress__bar { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--accent-dark),var(--accent),#68d7a4); box-shadow:0 0 20px rgba(25,169,116,.42); transition:width 320ms ease; }
.sync-progress__percent { margin-top:.55rem; color:var(--accent-dark); font-size:.78rem; font-weight:900; text-align:right; }
.sync-progress__current { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.9rem; align-items:start; margin:1.3rem 0; padding:1rem; border-radius:1rem; background:var(--accent-soft); }
.sync-progress__current strong { display:block; font-size:.95rem; }
.sync-progress__current p { margin:.25rem 0 0; color:var(--muted); font-size:.8rem; line-height:1.45; }
.sync-progress__pulse { width:.75rem; height:.75rem; margin-top:.2rem; border-radius:50%; background:var(--accent); box-shadow:0 0 0 0 rgba(25,169,116,.5); animation:sync-pulse 1.5s infinite; }
.sync-progress__steps { display:grid; gap:.55rem; max-height:12.5rem; margin:0; padding:0; overflow:auto; list-style:none; }
.sync-progress__steps li { display:grid; grid-template-columns:1.15rem minmax(0,1fr); gap:.7rem; align-items:start; color:var(--ink); }
.sync-progress__steps li > span { width:.7rem; height:.7rem; margin-top:.25rem; border:2px solid var(--accent); border-radius:50%; background:var(--surface); }
.sync-progress__steps strong,.sync-progress__steps small { display:block; }
.sync-progress__steps strong { font-size:.78rem; }
.sync-progress__steps small { margin-top:.1rem; color:var(--muted); font-size:.7rem; line-height:1.35; }
.sync-progress__steps .sync-progress__step--done > span { border-color:var(--accent); background:var(--accent); box-shadow:inset 0 0 0 2px var(--surface); }
.sync-progress__hint { margin:1.5rem 0 0; color:var(--muted); font-size:.72rem; text-align:center; }
.sync-progress--success .sync-progress__pulse { animation:none; background:var(--accent); box-shadow:0 0 0 .25rem var(--accent-soft); }
.sync-progress--warning .sync-progress__panel::before,.sync-progress--warning .sync-progress__bar { background:#d6a51d; }
.sync-progress--warning .sync-progress__current { background:#fff7df; }
.sync-progress--warning .sync-progress__pulse { animation:none; background:#d6a51d; box-shadow:0 0 0 .25rem #fff1bd; }
.sync-progress--error .sync-progress__panel::before,.sync-progress--error .sync-progress__bar { background:var(--danger); }
.sync-progress--error .sync-progress__current { background:var(--danger-soft); }
.sync-progress--error .sync-progress__pulse { animation:none; background:var(--danger); box-shadow:none; }
@keyframes sync-pulse { 70% { box-shadow:0 0 0 .55rem rgba(25,169,116,0); } 100% { box-shadow:0 0 0 0 rgba(25,169,116,0); } }

@media (max-width: 1100px) {
    .dashboard-insight-grid { grid-template-columns:1fr; }
    .dashboard-income-performance__metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dashboard-loan-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dashboard-performance-card__heading { flex-wrap:wrap; }
    .dashboard-performance-summaries { order:3; width:100%; margin-left:0; }
    .dashboard-performance-summary { width:100%; box-sizing:border-box; }
    .dashboard-wealth-content { grid-template-columns:1fr; }
    .dashboard-wealth-chart { --wealth-label-radius:7.8rem; width:min(20rem,72%); }
    .mail-action-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .account-management-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .account-management-tools { grid-template-columns:1fr; }
    .transactions-content { padding:2.25rem clamp(1.25rem,3vw,2rem); }
    .transaction-heading { align-items:stretch; flex-direction:column; gap:1.25rem; }
    .transaction-heading h2 { max-width:14ch; font-size:clamp(2.35rem,7vw,3.6rem); overflow-wrap:anywhere; }
    .transaction-heading__actions { align-items:stretch; flex-wrap:wrap; }
    .transaction-heading__actions form { flex:1 1 13rem; }
    .transaction-heading__actions .button { width:100%; }
    .transaction-tools { grid-template-columns:1fr; }
    .transaction-search__field { flex-wrap:wrap; }
    .transaction-search input[type="search"] { flex:1 1 15rem; min-width:0; }
    .transaction-search__options { align-items:flex-start; flex-wrap:wrap; }
    .balance-card--prominent { min-height:10rem; }
    .sync-strip { gap:.7rem 1rem; }
    .alert-control-hero { grid-template-columns:1fr; gap:2rem; }
    .alert-control-stats { max-width:34rem; }
    .alert-rule-grid { grid-template-columns:1fr; }
    .alert-rule { min-height:15rem; }
    .alert-config-tile-grid { grid-template-columns:1fr; }
    .alert-config-tile { min-height:17rem; }
}

@media (max-width: 800px) {
    body { overflow-x:hidden; }
    .manual-account-hero,.manual-account-entry-grid { grid-template-columns:1fr; }
    .manual-account-panel,.manual-account-history { padding:1rem; }
    .manual-account-table-wrap th:nth-child(2),.manual-account-table-wrap td:nth-child(2) { display:none; }
    .topbar { min-height:4.25rem; gap:.5rem; padding:0 .85rem; }
    .topbar .brand { gap:.5rem; font-size:.95rem; }
    .topbar .brand__mark { width:2rem; height:2rem; border-radius:.6rem; }
    .topbar .account { gap:.15rem; }
    .topbar .button--quiet { padding:.55rem .6rem; font-size:.76rem; }
    .page,.alert-settings-page { width:calc(100% - 2rem); max-width:none; padding:2rem 0 3.5rem; }
    .app-shell { grid-template-columns:1fr; min-height:0; }
    .app-primary-sidebar { position:sticky; top:4.25rem; display:block; width:100%; height:auto; padding:.65rem .85rem; overflow-x:auto; overflow-y:hidden; border-right:0; border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); backdrop-filter:blur(14px); }
    .app-primary-sidebar__heading,.app-primary-sidebar__account { display:none; }
    .app-primary-nav { display:flex; width:max-content; gap:.4rem; }
    .app-primary-nav__item { display:flex; min-height:2.5rem; padding:.45rem .65rem; white-space:nowrap; }
    .app-primary-nav__item > span { width:1.45rem; height:1.45rem; }
    .app-primary-nav__item > b { display:none; }
    .has-app-sidebar .transaction-sticky-header { top:7.4rem; left:0; }
    .admin-center-shell { grid-template-columns:1fr; min-height:0; }
    .admin-center-sidebar { position:sticky; top:4.25rem; display:block; width:100%; height:auto; padding:.65rem .85rem; overflow-x:auto; overflow-y:hidden; border-right:0; border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); backdrop-filter:blur(14px); }
    .app-shell__content .admin-center-sidebar { top:7.4rem; }
    .admin-center-sidebar__heading,.admin-center-sidebar__back { display:none; }
    .admin-center-nav { display:flex; width:max-content; gap:.4rem; }
    .admin-center-nav__item { display:flex; min-height:2.5rem; padding:.45rem .65rem; white-space:nowrap; }
    .admin-center-nav__item > span { width:1.45rem; height:1.45rem; }
    .admin-center-nav__item > b { display:none; }
    .admin-center-content > .page { width:calc(100% - 2rem); }
    .balance-forecast-tile__head { grid-template-columns:auto minmax(0,1fr); }
    .balance-forecast-tile__head > a { grid-column:2; }
    .balance-forecast-row { grid-template-columns:1.7rem minmax(0,1fr) auto auto; }
    .mail-status-grid,.mail-action-grid { grid-template-columns:1fr; }
    .mail-provider-card__intro { display:grid; gap:.8rem; }
    .mail-provider-steps { grid-template-columns:1fr; }
    .auth-shell { grid-template-columns: 1fr; }
    .auth-intro { min-height: 38vh; gap: 4rem; padding: 2rem; }
    .auth-intro h1 { font-size: clamp(3rem, 15vw, 5rem); }
    .login-card { margin: 0; border-radius: 2rem 2rem 0 0; padding: 2rem; }
    .tile-grid { grid-template-columns: 1fr; }
    .app-tile { min-height: 14rem; }
    .account-radar-tile { grid-column:auto; }
    .dashboard-intro { grid-template-columns:1fr; gap:1.5rem; margin-bottom:3rem; }
    .weather-goodie { display:none; }
    .dashboard-data-card__heading { padding:1.15rem; }
    .dashboard-loan-monitor .dashboard-data-card__heading { align-items:flex-start; flex-direction:column; }
    .dashboard-loan-summary { grid-template-columns:1fr 1fr; padding:0 .85rem .85rem; }
    .dashboard-loan-summary > div { padding:.72rem; }
    .dashboard-loan-row { grid-template-columns:1.75rem minmax(0,1fr) auto; gap:.55rem; min-height:4.5rem; padding:.65rem .85rem; }
    .dashboard-loan-row__progress { grid-column:2; grid-row:2; }
    .dashboard-loan-row__amount { grid-column:3; grid-row:1/3; }
    .dashboard-loan-row__arrow { display:none; }
    .dashboard-performance-card__heading { align-items:stretch; flex-direction:column; }
    .dashboard-income-performance .dashboard-data-card__heading { align-items:stretch; flex-direction:column; }
    .dashboard-income-performance__total { justify-items:start; min-width:0; text-align:left; }
    .dashboard-income-performance__metrics { grid-template-columns:1fr; padding:0 .85rem .85rem; }
    .dashboard-interest-dialog__summary { grid-template-columns:1fr; padding:.85rem; }
    .dashboard-interest-dialog__table-wrap { padding:0 .85rem .85rem; }
    .dashboard-performance-summaries { width:100%; margin-left:0; }
    .dashboard-performance-summary { width:100%; min-width:0; box-sizing:border-box; }
    .dashboard-performance-controls { justify-items:stretch; width:100%; }
    .dashboard-performance-toggle { width:100%; }
    .dashboard-performance-toggle button { flex:1; }
    .dashboard-performance-view { grid-template-columns:1fr; }
    .dashboard-wealth-card .dashboard-data-card__heading { align-items:flex-start; flex-direction:column; }
    .dashboard-wealth-heading-actions { width:100%; justify-items:stretch; }
    .dashboard-wealth-toggle { display:grid; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); }
    .dashboard-wealth-toggle button { min-width:0; padding:.35rem .3rem; white-space:normal; }
    .dashboard-wealth-heading-actions > a { justify-self:end; }
    .dashboard-wealth-content { gap:1.35rem; padding:1rem; }
    .dashboard-wealth-chart { --wealth-label-radius:6.55rem; width:min(17rem,82%); }
    .dashboard-wealth-chart strong { font-size:1.15rem; }
    .dashboard-wealth-segment > summary { grid-template-columns:.65rem minmax(0,1fr) auto 1rem; gap:.48rem; }
    .dashboard-wealth-segment > summary > em { grid-column:3; grid-row:2; font-size:.58rem; }
    .dashboard-wealth-segment > summary > u { grid-column:4; grid-row:1/3; }
    .dashboard-wealth-segment > div { padding-left:.8rem; }
    .dashboard-wealth-assessment { grid-template-columns:1fr; margin:0 1rem 1rem; }
    .dashboard-performance-column + .dashboard-performance-column { border-top:1px solid var(--line); border-left:0; }
    .dashboard-transaction-list__head { display:none; }
    .dashboard-transaction-row { grid-template-columns:minmax(0,1fr) auto; gap:.08rem .75rem; min-height:3.9rem; padding:.52rem .85rem; }
    .dashboard-transaction-row__account { grid-column:1; grid-row:1; }
    .dashboard-transaction-row > strong { grid-column:1; grid-row:2; }
    .dashboard-transaction-row time { grid-column:1; grid-row:3; }
    .dashboard-transaction-row > b { grid-column:2; grid-row:1/4; align-self:center; }
    .open-banking-hero { grid-template-columns:1fr; align-items:stretch; }
    .open-banking-hero form,.open-banking-hero .button { width:100%; }
    .open-banking-hero__mark { width:3.7rem; height:3.7rem; }
    .open-banking-connect-form { min-width:0; }
    .open-banking-connection__heading { align-items:stretch; flex-direction:column; }
    .open-banking-connection__heading form,.open-banking-connection__heading .button { width:100%; }
    .account > span { display: none; }
    .admin-heading, .account-row { align-items:stretch; flex-direction:column; }
    .admin-heading { gap:1.25rem; margin-bottom:1.5rem; }
    .admin-heading h1 { overflow-wrap:anywhere; font-size:clamp(2.2rem,12vw,3.2rem); line-height:.98; }
    .admin-heading p:last-child { margin-bottom:0; line-height:1.5; }
    .admin-heading > .button,.admin-heading > form,.admin-heading > .row-actions { width:100%; }
    .admin-heading > .button { margin:0; }
    .row-actions { flex-wrap:wrap; justify-content:flex-start; width:100%; }
    .row-actions > .button,.row-actions > form { flex:1 1 9rem; }
    .row-actions > form .button { width:100%; }
    .account-row { gap:1.25rem; padding:1.15rem; }
    .account-row > div:first-child { min-width:0; }
    .account-row h2,.account-row p,.account-row strong { overflow-wrap:anywhere; }
    .account-row .row-actions .button { width:100%; }
    .section-heading { flex-wrap:wrap; align-items:flex-start; }
    .empty-state { padding:3rem 1.1rem; }
    .button { white-space:normal; text-align:center; }
    .form-grid { grid-template-columns:1fr; }
    .admin-form fieldset { min-width:0; padding:1.1rem; }
    .admin-form input,.admin-form textarea,.admin-form select { min-width:0; }
    .form-actions { align-items:stretch; flex-direction:column-reverse; }
    .form-actions .button,.form-actions form { width:100%; }
    .fints-autofill__choices { align-items:stretch; flex-direction:column; }
    .fints-autofill__choices .button { width:100%; }
    .report-options { grid-template-columns:1fr; }
    .report-recipient-frequencies { grid-template-columns:1fr; }
    .account-access-grid { grid-template-columns:1fr; }
    .matched-payment, .period-picker form { align-items:stretch; flex-direction:column; }
    .matched-payment { padding:1rem; }
    .transaction-choice { grid-template-columns:auto minmax(0,1fr); gap:.6rem; padding:.85rem; }
    .transaction-choice__date-block,.transaction-choice__details { grid-column:2; }
    .transaction-choice__amount { grid-column:2; justify-self:start; }
    .transaction-choice__details small { white-space:normal; overflow-wrap:anywhere; }
    .transaction-choice-more > summary { align-items:flex-start; flex-direction:column; gap:.2rem; padding-right:2rem; position:relative; }
    .transaction-choice-more > summary::after { position:absolute; top:.2rem; right:.2rem; }
    .transaction-choice-more > summary small { margin-left:0; }
    .lab-picker { align-items:stretch; flex-direction:column; }
    .lab-test-create { align-items:stretch; flex-direction:column; }
    .lab-result { grid-template-columns:1fr; }
    .lab-live-summary { grid-template-columns:1fr; }
    .lab-result__top,.lab-result__footer { align-items:stretch; flex-direction:column; }
    .lab-result__footer .button { width:100%; }
    .lab-results { gap:.8rem; }
    .form-grid__wide { grid-column:auto; }
    .expectation-grid { grid-template-columns:1fr; }
    .expectation-card { min-width:0; padding:1.1rem; }
    .expectation-card__top { align-items:flex-start; flex-wrap:wrap; }
    .expectation-card h2 { overflow-wrap:anywhere; }
    .expectation-card > p { line-height:1.45; }
    .expectation-card dl > div { display:grid; gap:.22rem; }
    .expectation-card dd { overflow-wrap:anywhere; text-align:left; }
    .expectation-card .row-actions { display:grid; grid-template-columns:1fr 1fr; }
    .expectation-card .row-actions > :first-child { grid-column:1/-1; }
    .expectation-card .row-actions > form,.expectation-card .row-actions .button { width:100%; }
    .check-row { align-items:flex-start; padding:.9rem; }
    .check-row > div { align-items:flex-start; flex-direction:column; }
    .check-row span:last-child { overflow-wrap:anywhere; }
    .integration-panel { padding:1.1rem; }
    .transactions-shell,.account-management-shell { grid-template-columns:1fr; }
    .account-management-content { padding:2rem 1rem 3.5rem; }
    .account-management-stats { grid-template-columns:1fr 1fr; }
    .account-management-stats article { min-height:7.5rem; }
    .account-management-subnav { flex-wrap:nowrap; overflow-x:auto; }
    .transaction-sticky-header { top:4.25rem; left:0; min-height:3.5rem; padding:.5rem .85rem; }
    .transaction-sticky-header__account span { font-size:.57rem; }
    .transaction-sticky-header__account { display:none; }
    .transaction-sticky-header__switch { display:grid; flex:1; gap:.12rem; }
    .transaction-sticky-header__switch span { color:var(--muted); font-size:.56rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
    .transaction-sticky-header__switch select { width:100%; min-width:0; padding:.3rem 1.6rem .3rem .45rem; border:1px solid var(--line); border-radius:.5rem; background:#fff; color:var(--ink); font-size:.8rem; font-weight:800; }
    .transaction-sticky-header__search,.transaction-sticky-header__master-data { width:2.25rem; height:2.25rem; justify-content:center; padding:0; border-radius:.65rem; }
    .transaction-sticky-header__search b,.transaction-sticky-header__master-data b { display:none; }
    .transaction-sticky-header__balance span { font-size:.57rem; }
    .transaction-sticky-header__balance strong { font-size:.9rem; }
    .account-sidebar { position:static; height:auto; overflow:visible; border-right:0; border-bottom:1px solid var(--line); }
    .account-nav { grid-template-columns:repeat(auto-fit,minmax(12rem,1fr)); }
    .account-nav__main-group,.account-nav__subgroup { grid-column:1/-1; }
    .alert-accounts-shell { grid-template-columns:1fr; }
    .alert-settings-content { padding:2rem 1rem 3.5rem; scroll-margin-top:4.5rem; }
    .alert-settings-content .alert-settings-page { width:100%; padding:0; }
    .transaction-heading { align-items:stretch; flex-direction:column; }
    .transaction-heading__actions { align-items:stretch; flex-direction:column; }
    .balance-card { min-width:0; }
    .transaction-heading__actions .button { width:100%; }
    .transaction-tools { grid-template-columns:1fr; }
    .transaction-search__field { align-items:stretch; flex-wrap:wrap; }
    .transaction-search__field > span { display:none; }
    .transaction-search input[type="search"] { flex:1 0 100%; }
    .transaction-search .button { flex:1; text-align:center; }
    .transactions-content { padding:2rem 1rem; }
    .transaction-table-wrap { overflow:visible; border:0; border-radius:0; background:transparent; }
    .transaction-table { display:block; }
    .transaction-table thead { display:none; }
    .transaction-table tbody { display:grid; gap:.85rem; }
    .transaction-table tbody > tr:not(.transaction-details-row) { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; overflow:hidden; border:1px solid var(--line); border-radius:.85rem; background:var(--surface); box-shadow:0 6px 18px rgba(16,37,29,.045); }
    .transaction-table tbody > tr:not(.transaction-details-row) > td { display:block; min-width:0; padding:.72rem .7rem; border:0; }
    .transaction-table tbody > tr:not(.transaction-details-row) > td::before { display:block; margin-bottom:.25rem; color:var(--muted); content:attr(data-label); font-size:.58rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
    .transaction-table tbody > tr:not(.transaction-details-row) > td:nth-child(1) { grid-column:1; grid-row:1; padding-right:.25rem; white-space:nowrap; }
    .transaction-table tbody > tr:not(.transaction-details-row) > td:nth-child(2) { grid-column:2; grid-row:1; overflow:hidden; }
    .transaction-table tbody > tr:not(.transaction-details-row) > td:nth-child(5) { grid-column:3; grid-row:1; padding-left:.25rem; text-align:right; }
    .transaction-table tbody > tr:not(.transaction-details-row) > td:nth-child(1)::before,
    .transaction-table tbody > tr:not(.transaction-details-row) > td:nth-child(2)::before,
    .transaction-table tbody > tr:not(.transaction-details-row) > td:nth-child(5)::before { display:none; }
    .transaction-table tbody > tr:not(.transaction-details-row) > td:nth-child(2) strong { display:block; overflow:hidden; font-size:.88rem; text-overflow:ellipsis; white-space:nowrap; }
    .transaction-table tbody > tr:not(.transaction-details-row) > td:nth-child(2) > small { display:none; }
    .transaction-table tbody > tr:not(.transaction-details-row) > td:nth-child(3),
    .transaction-table tbody > tr:not(.transaction-details-row) > td:nth-child(4) { display:none; }
    .transaction-table tbody > tr[aria-expanded="true"]:not(.transaction-details-row) > td:nth-child(2) > small { display:block; margin-top:.35rem; }
    .transaction-table tbody > tr[aria-expanded="true"]:not(.transaction-details-row) > td:nth-child(3),
    .transaction-table tbody > tr[aria-expanded="true"]:not(.transaction-details-row) > td:nth-child(4) { display:block; grid-column:1/-1; border-top:1px solid var(--line); }
    .transaction-table tbody > tr[aria-expanded="true"]:not(.transaction-details-row) > td:nth-child(3) { grid-row:2; }
    .transaction-table tbody > tr[aria-expanded="true"]:not(.transaction-details-row) > td:nth-child(4) { grid-row:3; }
    .transaction-table .amount-cell { font-size:.9rem; }
    .transaction-table .transaction-date-with-state { font-size:.76rem; }
    .transaction-table .transaction-detail-toggle { display:inline-flex !important; margin:0 0 0 .18rem; vertical-align:middle; }
    .transaction-table .transaction-detail-toggle b { display:none; }
    .transaction-table .transaction-detail-toggle span { font-size:.8rem; }
    .transaction-table tbody > tr[aria-expanded="true"] .transaction-detail-toggle span { transform:rotate(180deg); }
    .transaction-table td small { max-width:none; line-height:1.45; white-space:normal; }
    .transaction-details-row { display:block; margin-top:-.85rem; }
    .transaction-details-row td { display:block; width:100%; padding:.7rem; border:1px solid var(--line); border-top:0; border-radius:0 0 1rem 1rem; }
    .transaction-details-grid { grid-template-columns:1fr; }
    .mail-meta { grid-template-columns:1fr; }
    .mail-preview-card { padding:.7rem; }
    .account-alert-entry { align-items:stretch; flex-direction:column; }
    .alert-control-hero { grid-template-columns:1fr; gap:2rem; border-radius:1.4rem; }
    .alert-control-stats { max-width:32rem; }
    .alert-rule-grid { grid-template-columns:1fr; }
    .alert-account-head,.alert-card-footer { align-items:stretch; flex-direction:column; }
    .balance-panel { padding:1rem 0 0; border-top:1px solid var(--line); border-left:0; text-align:left; }
    .alert-settings-hero { margin-bottom:3rem; }
    .alert-settings-hero__bottom { align-items:flex-start; flex-direction:column; }
    .alert-settings-card__head,.alert-settings-card__footer { align-items:stretch; flex-direction:column; }
    .alert-settings-balance { padding-top:1rem; border-top:1px solid var(--line); text-align:left; }
    .alert-settings-rule { grid-template-columns:2.7rem minmax(0,1fr) 4.5rem; }
    .alert-settings-amount { grid-column:2/4; }
    .alert-settings-rule .toggle-switch { grid-column:3; grid-row:1; }
    .alert-settings-note { flex-direction:column; gap:.35rem; }
    .alert-tile-account__head,.alert-tile-account__footer { align-items:stretch; flex-direction:column; }
    .alert-tile-account__footer p { margin:0; }
    .mail-preview { min-height:720px; }
    .cron-grid { grid-template-columns:1fr; }
    .cron-grid__wide { grid-column:auto; }
    .cron-card { padding:1rem; }
    .cron-grid code { width:100%; max-width:calc(100vw - 4.2rem); white-space:pre-wrap; overflow-wrap:anywhere; }
    .automation-schedule-create { grid-template-columns:1fr; align-items:stretch; }
    .automation-schedule-row { grid-template-columns:1fr; align-items:stretch; }
    .automation-schedule-time { width:max-content; }
    .automation-schedule-form { grid-template-columns:1fr; align-items:stretch; }
    .automation-schedule-meta { min-width:0; }
    .automation-schedule-row > form:last-child .button { width:100%; }
    .run-history .account-row { align-items:flex-start; }
    .period-picker { padding:1rem; }
    .auth-request-card { padding:1.1rem; }
    .auth-challenge { overflow-wrap:anywhere; }
    .report-preview-card .section-heading { align-items:stretch; flex-direction:column; }
    .sync-progress__panel { padding:1.4rem; border-radius:1.25rem; }
    .sync-progress__brand { margin-bottom:1.2rem; }
    .sync-confirm__dialog { padding:1.4rem; border-radius:1.25rem; }
    .sync-confirm__actions { grid-template-columns:1fr; }
    .whitelist-action-options { grid-template-columns:1fr; }
    .whitelist-decision-actions { align-items:stretch; flex-direction:column; width:100%; }
    .whitelist-decision-actions .button { width:100%; }
    .whitelist-review-shell { padding:1.4rem .85rem; }
    .whitelist-review-card header { align-items:flex-start; flex-direction:column; padding:1.1rem; }
    .whitelist-review-card dl { grid-template-columns:1fr; }
    .whitelist-review-card dl > div,.whitelist-review-card__wide { grid-column:1; padding:.9rem 1.1rem; border-right:0!important; }
    .whitelist-batch-heading { flex-direction:column; gap:1rem; }
    .whitelist-batch-card > header { grid-template-columns:2.2rem minmax(0,1fr); align-items:start; padding:1rem; }
    .whitelist-batch-card > header > strong { grid-column:2; font-size:1.05rem; }
    .whitelist-batch-card__purpose,.whitelist-batch-details summary { padding-right:1rem; padding-left:1rem; }
    .whitelist-batch-details dl { grid-template-columns:1fr; padding:0 1rem .9rem; }
    .whitelist-batch-actions { grid-template-columns:1fr; padding:1rem; }
    .group-create-panel { grid-template-columns:1fr; gap:1.2rem; padding:1.1rem; }
    .account-group-card__heading,.account-subgroup-row { align-items:stretch; flex-direction:column; }
    .account-group-card__heading > div,.account-subgroup-row > div { align-items:stretch; flex-direction:column; }
    .group-inline-form { align-items:stretch; flex-direction:column; width:100%; }
    .group-inline-form input { min-width:0; width:100%; }
    .account-subgroup-create { grid-template-columns:1fr; }
    .group-sort-toolbar { top:4.75rem; align-items:stretch; flex-direction:column; }
    .group-sort-toolbar .button { width:100%; }
}

@media (max-width: 430px) {
    .topbar .brand span { display:none; }
    .topbar .account { margin-left:auto; }
    .topbar > .button--quiet { margin-left:auto; }
    .expectation-card .row-actions { grid-template-columns:1fr; }
    .expectation-card .row-actions > :first-child { grid-column:auto; }
    .alert-control-stats { grid-template-columns:1fr; }
    .alert-control-stats div { border-right:0; border-bottom:1px solid rgba(255,255,255,.1); }
    .alert-control-stats div:last-child { border-bottom:0; }
    .forecast-config-row { grid-template-columns:1fr; }
    .balance-forecast-row { grid-template-columns:1.5rem minmax(0,1fr); }
    .balance-forecast-row > span:nth-child(3),
    .balance-forecast-row > span:nth-child(4) { grid-column:2; text-align:left; }
    .account-radar-item { grid-template-columns:1fr; padding:.35rem .45rem; }
    .account-radar-item__link { grid-template-columns:1.7rem minmax(0,1fr); }
    .account-radar-item__meta { grid-column:2; justify-content:space-between; }
    .account-radar-item__dismiss { justify-self:end; }
}

/* Isolierter Web-Abruf */
.provider-fields[hidden] { display:none!important; }
.web-scraping-provider-card {
    display:flex;
    align-items:flex-start;
    gap:1rem;
    margin-bottom:1.25rem;
    padding:1rem 1.1rem;
    border:1px solid #cfe9dc;
    border-radius:1.15rem;
    background:linear-gradient(135deg,#f5fbf7,#edf7f2);
}
.web-scraping-provider-card > span {
    display:grid;
    flex:0 0 2.8rem;
    width:2.8rem;
    height:2.8rem;
    place-items:center;
    border-radius:.9rem;
    color:#fff;
    background:#0f7e5c;
    font-size:1.4rem;
}
.web-scraping-provider-card p { margin:.25rem 0 0; color:var(--muted); }
.web-scraping-page { max-width:1380px; }
.web-scraping-guardrails {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.85rem;
    margin:1.5rem 0;
}
.web-scraping-guardrails article {
    display:flex;
    gap:.9rem;
    min-width:0;
    padding:1rem;
    border:1px solid var(--line);
    border-radius:1.1rem;
    background:rgba(255,255,255,.72);
}
.web-scraping-guardrails article > span {
    display:grid;
    flex:0 0 2.2rem;
    width:2.2rem;
    height:2.2rem;
    place-items:center;
    border-radius:50%;
    color:#087653;
    background:#def5e9;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.06em;
}
.web-scraping-guardrails p { margin:.2rem 0 0; color:var(--muted); font-size:.88rem; line-height:1.4; }
.web-scraping-grid {
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:1rem;
}
.web-scraping-grid .admin-card { margin:0; }
.web-scraping-action-card { display:flex; flex-direction:column; align-items:flex-start; }
.web-scraping-action-card form { margin-top:auto; padding-top:1rem; }
.web-scraping-action-card label { display:grid; gap:.4rem; margin-bottom:.7rem; }
.web-scraping-action-card--attention {
    border-color:#eccb72;
    background:linear-gradient(145deg,#fffdf7,#fff7dd);
}
.web-scraping-result-card { grid-column:2; grid-row:1 / span 2; }
.web-scraping-metrics {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.65rem;
    margin-top:1rem;
}
.web-scraping-metrics > div {
    min-width:0;
    padding:.9rem;
    border-radius:1rem;
    background:var(--surface-soft);
}
.web-scraping-metrics span,.web-scraping-metrics strong { display:block; }
.web-scraping-metrics span { margin-bottom:.35rem; color:var(--muted); font-size:.74rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.web-scraping-metrics strong { font-size:1.15rem; overflow-wrap:anywhere; }
.web-scraping-preview { margin-top:1rem; border-top:1px solid var(--line); }
.web-scraping-preview summary { padding:1rem 0; color:var(--green); font-weight:800; cursor:pointer; }
.web-scraping-preview__list { display:grid; gap:.4rem; }
.web-scraping-preview__list > div,.web-scraping-runs > div {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:.75rem .85rem;
    border-radius:.85rem;
    background:var(--surface-soft);
}
.web-scraping-preview__list span,.web-scraping-preview__list small,
.web-scraping-runs span,.web-scraping-runs small { display:block; }
.web-scraping-preview__list small,.web-scraping-runs small { margin-top:.18rem; color:var(--muted); }
.web-scraping-progress {
    margin:1rem 0;
    padding:1.2rem;
    border:1px solid #bfe5d4;
    border-radius:1.2rem;
    background:#f3fbf7;
}
.web-scraping-progress__heading { display:flex; align-items:center; gap:.9rem; }
.web-scraping-progress__heading > div { flex:1; }
.web-scraping-progress__heading p { margin:.15rem 0 0; color:var(--muted); }
.web-scraping-progress__pulse {
    width:.8rem;
    height:.8rem;
    border-radius:50%;
    background:#16ad78;
    box-shadow:0 0 0 0 rgba(22,173,120,.4);
    animation:web-scraping-pulse 1.6s infinite;
}
.web-scraping-progress__track { height:.55rem; margin-top:1rem; overflow:hidden; border-radius:999px; background:#dce9e2; }
.web-scraping-progress__track span { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#0f7657,#22b17c); transition:width .25s ease; }
.web-scraping-progress[data-state="error"] {
    border-color:#efb7b7;
    color:#7f1d1d;
    background:#fff3f3;
}
.web-scraping-progress[data-state="error"] .web-scraping-progress__pulse {
    background:#d64545;
    box-shadow:0 0 0 0 rgba(214,69,69,.4);
    animation-name:web-scraping-error-pulse;
}
.web-scraping-progress[data-state="error"] .web-scraping-progress__track { background:#f3d7d7; }
.web-scraping-progress[data-state="error"] .web-scraping-progress__track span {
    background:linear-gradient(90deg,#b92f2f,#e65c5c);
}
.web-scraping-progress[data-state="error"] .web-scraping-progress__heading p { color:#9f3b3b; }
.web-scraping-sources,.web-scraping-runs { margin-top:1rem; }
.web-scraping-sources ul { display:grid; gap:.45rem; padding-left:1.15rem; }
.web-scraping-sources code { overflow-wrap:anywhere; }
.web-scraping-runs > div { margin-top:.45rem; }
.web-scraping-sync-form { margin-top:.65rem!important; padding-top:0!important; }
@media (max-width:560px) {
    .dashboard-loan-summary { grid-template-columns:1fr; }
    .dashboard-loan-row { grid-template-columns:1.75rem minmax(0,1fr); }
    .dashboard-loan-row__amount { grid-column:2; grid-row:3; justify-items:start; text-align:left; }
    .dashboard-loan-row__progress { grid-column:2; grid-row:2; }
}
@keyframes web-scraping-pulse {
    70% { box-shadow:0 0 0 .65rem rgba(22,173,120,0); }
    100% { box-shadow:0 0 0 0 rgba(22,173,120,0); }
}
@keyframes web-scraping-error-pulse {
    70% { box-shadow:0 0 0 .65rem rgba(214,69,69,0); }
    100% { box-shadow:0 0 0 0 rgba(214,69,69,0); }
}
@media (max-width: 900px) {
    .web-scraping-guardrails,.web-scraping-grid { grid-template-columns:1fr; }
    .web-scraping-result-card { grid-column:auto; grid-row:auto; }
}
@media (max-width: 560px) {
    .web-scraping-guardrails { gap:.55rem; }
    .web-scraping-metrics { grid-template-columns:1fr; }
    .web-scraping-preview__list > div,.web-scraping-runs > div { align-items:flex-start; flex-direction:column; }
    .web-scraping-progress__heading { align-items:flex-start; }
    .metal-rate-panel{padding:1rem}
    .metal-rate-panel__heading{display:grid}
    .metal-rate-panel__metrics{grid-template-columns:1fr 1fr}
}
.crypto-coin-lookup__input{display:flex;gap:.65rem;align-items:stretch}.crypto-coin-lookup__input input{min-width:0;flex:1}.crypto-coin-lookup__input .button{flex:0 0 auto;white-space:nowrap}.crypto-coin-lookup__status{display:block;margin-top:.7rem;padding:.72rem .85rem;border:1px solid #dfe7df;border-radius:12px;background:#f5f8f4;color:#637269;font-size:.88rem;font-weight:700;line-height:1.35}.crypto-coin-lookup__status[data-state="checking"]{border-color:#c8d8ef;background:#f0f5fc;color:#355a83}.crypto-coin-lookup__status[data-state="success"]{border-color:#b9e7d2;background:#eaf9f1;color:#087d59}.crypto-coin-lookup__status[data-state="error"]{border-color:#f0c5c5;background:#fff0f0;color:#b52f35}@media(max-width:620px){.crypto-coin-lookup__input{flex-direction:column}.crypto-coin-lookup__input .button{width:100%}}
.crypto-coin-search{position:relative}.crypto-coin-search>input{padding-left:1rem;background:#fff}.crypto-coin-search__results{display:grid;max-height:23rem;margin-top:.55rem;overflow:auto;border:1px solid #dce6df;border-radius:14px;background:#fff;box-shadow:0 16px 38px rgba(17,43,33,.13)}.crypto-coin-search__result{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:.72rem .85rem;border:0;border-bottom:1px solid #edf1ee;background:#fff;color:#17261f;text-align:left;cursor:pointer}.crypto-coin-search__result:last-child{border-bottom:0}.crypto-coin-search__result:hover,.crypto-coin-search__result:focus-visible{outline:0;background:var(--accent-soft)}.crypto-coin-search__result>span{display:grid;min-width:0;gap:.12rem}.crypto-coin-search__result strong{overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.crypto-coin-search__result small{overflow:hidden;color:var(--muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.crypto-coin-search__result em{color:var(--muted);font-size:.65rem;font-style:normal;font-weight:800;white-space:nowrap}.crypto-coin-search__message{padding:.85rem;color:var(--muted);font-size:.75rem;font-weight:700}.crypto-coin-search__message--loading{color:#355a83}.crypto-coin-search__message--error{color:var(--danger)}
.crypto-unvalued{border-color:#efc9c9;background:#fff7f7}.crypto-unvalued__list{display:grid;gap:.55rem;margin-top:.8rem}.crypto-unvalued__list a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.72rem .8rem;border:1px solid #efd5d5;border-radius:12px;background:#fff;color:#17261f;text-decoration:none}.crypto-unvalued__list span{display:grid;gap:.12rem}.crypto-unvalued__list small{color:#7d6868}.crypto-unvalued__list em{color:#b52f35;font-style:normal;font-weight:800;white-space:nowrap}
.dashboard-income-performance__metrics>div,.dashboard-income-performance__metric-button{position:relative;overflow:hidden;padding-top:1.35rem}.dashboard-income-performance__yield{position:absolute;z-index:2;top:.38rem;right:.58rem;padding:.08rem .28rem;border-radius:.3rem;background:rgba(245,250,247,.9);color:rgba(12,92,65,.68);font-size:.64rem;font-weight:850;letter-spacing:0;line-height:1.15;pointer-events:none;white-space:nowrap}.dashboard-income-performance__metrics>div>*:not(.dashboard-income-performance__yield),.dashboard-income-performance__metric-button>*:not(.dashboard-income-performance__yield){position:relative;z-index:1}
@media(max-width:760px){.dashboard-income-situation__metrics,.dashboard-monthly-expenses__summary{grid-template-columns:1fr}.dashboard-monthly-expenses__categories{grid-template-columns:1fr}.dashboard-monthly-expenses .dashboard-data-card__heading{align-items:flex-start;flex-direction:column}.dashboard-monthly-expenses__categories>article{grid-template-columns:auto minmax(0,1fr) auto}}
.dashboard-performance-column__open{display:grid;width:100%;grid-template-columns:1.7rem auto minmax(0,1fr) auto;align-items:center;gap:.55rem;margin:0 0 .7rem;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dashboard-performance-column__open:hover>small,.dashboard-performance-column__open:focus-visible>small{color:var(--accent-dark)}.dashboard-performance-column__open:focus-visible{outline:2px solid #8fd0af;outline-offset:.3rem;border-radius:.4rem}.dashboard-performance-column__open>span{display:grid;width:1.65rem;height:1.65rem;place-items:center;border-radius:.5rem;font-size:.76rem;font-weight:950}.dashboard-performance-column__open>strong{font-size:.78rem}.dashboard-performance-column__open>b{color:var(--muted);font-size:.62rem;font-variant-numeric:tabular-nums;font-weight:750;white-space:nowrap}.dashboard-performance-column__open>small{color:var(--muted);font-size:.6rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}.dashboard-performance-column--winners .dashboard-performance-column__open>span{background:var(--accent-soft);color:var(--accent-dark)}.dashboard-performance-column--losers .dashboard-performance-column__open>span{background:var(--danger-soft);color:var(--danger)}.dashboard-performance-ranking-dialog__empty{margin:0;padding:1.2rem;border-radius:.75rem;background:var(--paper);color:var(--muted);font-size:.7rem;text-align:center}.dashboard-performance-ranking-dialog--losers .dashboard-interest-dialog__summary>span:last-child strong,.dashboard-performance-ranking-dialog--losers tbody td:last-child strong{color:var(--danger)}
.transaction-portfolio-position-link{display:inline-flex;max-width:100%;align-items:center;gap:.38rem;color:var(--accent-dark);text-decoration:none}.transaction-portfolio-position-link strong{overflow:hidden;text-overflow:ellipsis}.transaction-portfolio-position-link i{color:var(--muted);font-size:.68rem;font-style:normal;transition:transform 130ms,color 130ms}.transaction-portfolio-position-link:hover i,.transaction-portfolio-position-link:focus-visible i{color:var(--accent-dark);transform:translateX(.12rem)}
.depot-classification-auto{display:grid!important;width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1fr);gap:.7rem;box-sizing:border-box;margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--line)}.depot-classification-auto small{min-width:0;color:var(--muted);font-size:.58rem;line-height:1.35;overflow-wrap:anywhere}.depot-classification-auto .button{width:100%;max-width:100%;min-width:0;box-sizing:border-box;white-space:normal}.depot-classification-auto .button:disabled{cursor:not-allowed;opacity:.5}
.dashboard-income-situation-groups>details>summary small{line-height:1.35;overflow-wrap:anywhere}
@media(max-width:800px){.depot-table tr[id^="depot-position-"]{scroll-margin-top:9rem}}
@media(max-width:800px){.depot-chart-card#depot-position-chart{scroll-margin-top:9rem}}
.dashboard-compact-trends{box-sizing:border-box;display:grid;grid-template-columns:auto minmax(0,1fr);width:100%;min-height:4.35rem;align-items:center;gap:1.15rem;padding:.62rem .82rem;border-color:#cfe1d8;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(242,248,245,.92));box-shadow:0 8px 24px rgba(18,45,35,.065)}.dashboard-compact-trends__head{display:grid;align-items:start;justify-items:start;gap:.32rem}.dashboard-compact-trends__head>span{font-size:.64rem;color:var(--ink)}.dashboard-compact-trends__head>div{gap:.16rem}.dashboard-compact-trends__head button{padding:.28rem .46rem;font-size:.56rem}.dashboard-compact-trends__items{display:grid;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin-left:0}.dashboard-compact-trends__items>a{justify-content:center;gap:.5rem;min-width:0;padding:.32rem .48rem;border-left:1px solid rgba(125,145,135,.18);border-radius:.6rem}.dashboard-compact-trends__items>a:first-child{border-left:0}.dashboard-compact-trends__items small{overflow:hidden;font-size:.65rem;font-weight:760;text-overflow:ellipsis}.dashboard-compact-trend{width:2.05rem;height:2.05rem;flex:0 0 2.05rem;border-radius:.62rem}.dashboard-compact-trend i{font-size:1.12rem}
@media(max-width:800px){.dashboard-compact-trends{display:grid;grid-template-columns:1fr;gap:.55rem}.dashboard-compact-trends__head{display:flex;width:100%;align-items:center;justify-content:space-between}.dashboard-compact-trends__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.dashboard-compact-trends__items>a{border-left:0;background:rgba(255,255,255,.58)}}
.dashboard-compact-trend{display:flex;width:auto;min-width:2.05rem;box-sizing:border-box;flex:0 0 auto;align-items:center;justify-content:center;gap:.24rem;padding:0 .34rem}.dashboard-compact-trend em{color:var(--ink);font-size:.5rem;font-style:normal;font-weight:400;line-height:1;white-space:nowrap}
.dashboard-business-widget{margin-top:1.1rem;border-color:#c9ddd5;background:linear-gradient(145deg,#fff,#f5faf7)}.dashboard-business-widget__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;padding:0 1.15rem 1rem}.dashboard-business-widget__metrics>button{display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr);gap:.08rem .58rem;align-items:center;padding:.72rem .82rem;border:1px solid var(--line);border-radius:.85rem;background:#f7faf8;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform 130ms,border-color 130ms,background 130ms}.dashboard-business-widget__metrics>button:hover,.dashboard-business-widget__metrics>button:focus-visible{border-color:#9bcbb6;background:#edf8f2;outline:0;transform:translateY(-1px)}.dashboard-business-widget__metrics>button>span{grid-row:1/4;display:grid;width:1.65rem;height:1.65rem;place-items:center;border-radius:.5rem;background:var(--accent-soft);color:var(--accent-dark);font-size:.72rem;font-weight:950}.dashboard-business-widget__metrics small{color:var(--muted);font-size:.55rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.dashboard-business-widget__metrics strong{color:var(--accent-dark);font-size:.92rem}.dashboard-business-widget__metrics em{overflow:hidden;color:var(--muted);font-size:.54rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.dashboard-business-widget__expense>span,.dashboard-business-widget__expense>strong,.dashboard-business-widget__result--negative>span,.dashboard-business-widget__result--negative>strong{color:var(--danger)!important}.dashboard-business-widget__expense>span,.dashboard-business-widget__result--negative>span{background:var(--danger-soft)!important}.dashboard-business-widget__result--positive{border-color:#bfe5d3!important;background:#f3faf6!important}.dashboard-business-dialog__companies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:0 1.2rem 1rem}.dashboard-business-dialog__companies>a{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.72rem .82rem;border:1px solid var(--line);border-radius:.8rem;background:var(--paper);color:inherit;text-decoration:none}.dashboard-business-dialog__companies>a span{display:grid;gap:.12rem}.dashboard-business-dialog__companies strong{font-size:.72rem}.dashboard-business-dialog__companies small{color:var(--muted);font-size:.56rem}.dashboard-business-dialog__companies b{color:var(--accent-dark);font-size:.72rem;white-space:nowrap}.dashboard-business-dialog .dashboard-income-situation-groups__empty{margin:0 1.2rem 1.2rem}.dashboard-business-dialog td:first-child{min-width:15rem}.dashboard-business-dialog td:last-child,.dashboard-business-dialog th:last-child{text-align:right;white-space:nowrap}
@media(max-width:760px){.dashboard-business-widget__metrics,.dashboard-business-dialog__companies{grid-template-columns:1fr}.dashboard-business-widget .dashboard-data-card__heading{align-items:flex-start;flex-direction:column}}
.dashboard-business-widget__actions{display:flex;align-items:center;gap:.75rem}.dashboard-business-widget__actions form{margin:0}.dashboard-business-widget__actions label{display:flex;align-items:center;gap:.35rem}.dashboard-business-widget__actions label span{color:var(--muted);font-size:.58rem;font-weight:800;text-transform:uppercase}.dashboard-business-widget__actions select{min-height:2rem;padding:.3rem 1.7rem .3rem .55rem;border:1px solid var(--line);border-radius:.55rem;background:#fff;color:var(--ink);font:inherit;font-size:.66rem;font-weight:800}.dashboard-business-widget__actions>a{color:var(--accent-dark);font-size:.65rem;font-weight:800;text-decoration:none;white-space:nowrap}@media(max-width:760px){.dashboard-business-widget__actions{width:100%;justify-content:space-between}}
.dashboard-business-widget{scroll-margin-top:7rem}
