: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;
}

* { 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; }

.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; }
.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:span 2; 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:1.7rem minmax(0,1fr) auto; align-items:center; gap:.65rem; padding:.55rem .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 > 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 > span:first-child { background:#ffe1e1; color:var(--danger); }
.account-radar-item--warning > span:first-child { background:#fff1c9; color:#7a5600; }
.account-radar-item > 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 > b { color:var(--muted); font-size:.75rem; }
.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; }
.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); }
.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-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-top:.5rem; }
.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; }
.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; }
.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; }
.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; }
.transaction-choice-list { display:grid; gap:.55rem; }
.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 { 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__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-sidebar { padding:2rem 1rem; border-right:1px solid var(--line); background:var(--surface); }
.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:first-child { margin-top:0; padding-top:0; border-top:0; }
.account-nav__subgroup { margin:.35rem .85rem 0; color:#94a09a; font-size:.58rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.account-nav__item { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1rem; border-radius:.8rem; }
.account-nav__item:hover { background:var(--paper); }
.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; }
.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_year { border-color:#9bd5b7; background:#e4f7ed; color:#087a54; }
.whitelist-decision-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:.7rem; }
.whitelist-decision-actions .button { margin:0; }
.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 { 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 { border-color:var(--accent); background:var(--accent-soft); }
.transaction-sticky-header__search 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-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--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-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-settings-page { width:min(74rem,90vw); }
.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); }
.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(3,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-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; }
.run-history { margin-top:2rem; }
.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; }
@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--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) {
    .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; }
    .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; }
    .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; }
    .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,.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; }
    .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 { grid-template-columns:1fr; }
    .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 { width:2.25rem; height:2.25rem; justify-content:center; padding:0; border-radius:.65rem; }
    .transaction-sticky-header__search b { display:none; }
    .transaction-sticky-header__balance span { font-size:.57rem; }
    .transaction-sticky-header__balance strong { font-size:.9rem; }
    .account-sidebar { 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; }
    .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; }
    .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-decision-actions { align-items:stretch; flex-direction:column; width:100%; }
    .whitelist-decision-actions .button { width:100%; }
    .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; }
}
