/* Zenith v1.0.0. Shared presentation tokens; Bootstrap remains the component framework. */
:root {
    --z-bg: #101217;
    --z-sidebar: #13161c;
    --z-panel: #181b22;
    --z-panel-soft: #20242e;
    --z-border: #2d323e;
    --z-text: #eff1f5;
    --z-muted: #a5adbd;
    --z-accent: #acb9ff;
    --z-success: #89d9b5;
    --z-warning: #f1bb72;
    --z-danger: #ff949e;
    --z-space-1: 4px;
    --z-space-2: 8px;
    --z-space-3: 12px;
    --z-space-4: 16px;
    --z-space-5: 24px;
    --z-space-6: 32px;
    --z-space-7: 40px;
    --z-space-8: 48px;
    --z-radius-control: 8px;
    --z-radius-panel: 12px;
    --z-radius-hero: 16px;
    --z-type-meta: 12px;
    --z-type-small: 13px;
    --z-type-body: 14px;
    --z-type-title: 16px;
    --z-gutter: 40px;
    --z-sidebar-width: 244px;
    --bs-body-bg: var(--z-bg);
    --bs-body-color: var(--z-text);
    --bs-secondary-color: var(--z-muted);
    --bs-border-color: var(--z-border);
    color-scheme: dark;
}
[data-bs-theme="light"] {
    --z-bg: #f5f6fa;
    --z-sidebar: #ffffff;
    --z-panel: #ffffff;
    --z-panel-soft: #edf0f7;
    --z-border: #d6dce8;
    --z-text: #252b3b;
    --z-muted: #58647a;
    --z-accent: #475bb1;
    --z-success: #26724e;
    --z-warning: #8b5c13;
    --z-danger: #b32539;
    color-scheme: light;
}
body { font-size: var(--z-type-body); line-height: 1.6; letter-spacing: 0; }
h1, h2, h3 { line-height: 1.25; font-weight: 600; }
h1 { letter-spacing: -.035em; }
p { max-width: 75ch; }
.text-secondary, .field-hint, .text-muted { color: var(--z-muted) !important; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 10px 16px; border-radius: var(--z-radius-control); font-size: var(--z-type-small); line-height: 1.5; font-weight: 600; }
.btn-sm { min-height: 36px; padding: 7px 12px; }
.btn-primary { --bs-btn-bg: #acb9ff; --bs-btn-border-color: #acb9ff; --bs-btn-color: #17203e; --bs-btn-hover-bg: #c1cbff; --bs-btn-hover-border-color: #c1cbff; --bs-btn-hover-color: #17203e; }
.btn-outline-secondary { --bs-btn-color: var(--z-text); --bs-btn-border-color: var(--z-border); --bs-btn-hover-color: var(--z-text); --bs-btn-hover-bg: var(--z-panel-soft); }
.btn:disabled { cursor: not-allowed; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--z-accent); outline-offset: 4px; }
.icon-button { width: 44px; min-width: 44px; height: 44px; padding: 10px; border-radius: 9px; font-size: 18px; }
.icon-button:hover { color: var(--z-text); background: var(--z-panel-soft); }
.sidebar { --bs-offcanvas-width: var(--z-sidebar-width); width: var(--z-sidebar-width); padding: 28px 18px 20px; overflow-y: auto; }
.brand { padding: 0 10px; gap: 12px; font-size: 20px; letter-spacing: .13em; }
.brand-logo { width: 44px; height: 44px; background: transparent; }
.brand small { font-size: 9px; line-height: 1.7; letter-spacing: .17em; }
.workspace-label { margin: 44px 14px 16px; font-size: 11px; letter-spacing: .08em; text-transform: none; }
.nav-link { position: relative; min-height: 48px; padding: 12px 14px; font-size: 14px; line-height: 1.5; gap: 12px; }
.nav-link .bi { font-size: 18px; }
.nav-link:hover { color: var(--z-text); background: var(--z-panel-soft); }
.nav-link.active { color: var(--z-accent); background: #a3b4ff14; }
.nav-link.active:before { position: absolute; left: 0; content: ""; height: 18px; width: 3px; border-radius: 3px; background: var(--z-accent); }
.nav-tag { font-size: 10px; letter-spacing: 0; padding: 2px 6px; font-weight: 400; }
.sidebar-bottom { padding-top: 32px; }
.local-card { padding: 16px 12px; margin-bottom: 16px; }
.local-card strong { font-size: 12px; }
.local-card small { font-size: 11px; margin-left: 12px; line-height: 1.6; }
.sidebar-version { padding: 20px 10px 0; font-size: 10px; letter-spacing: 0; }
.sidebar-close { position: absolute; top: 20px; right: 10px; }
.main-column { margin-left: var(--z-sidebar-width); }
.topbar { height: 76px; padding: 0 var(--z-gutter); position: sticky; top: 0; z-index: 1030; background: var(--z-bg); }
.breadcrumb-label { font-size: 13px; }
.breadcrumb-label span { margin: 0 12px; }
.topbar-actions { gap: 12px; }
.connection-button { min-height: 44px; padding: 8px; font-size: 12px; gap: 8px; }
.status-dot { background: var(--z-success); width: 6px; height: 6px; }
.warning-dot { background: var(--z-warning); }
.muted-dot { background: var(--z-muted); }
.profile-button { min-height: 44px; gap: 10px; font-size: 13px; }
.avatar { width: 36px; height: 36px; }
.profile-name { max-width: 160px; }
.workspace { padding: 28px var(--z-gutter) 32px; max-width: 1536px; }
.bootstrap-notice { padding: 10px 14px; font-size: 12px; margin-bottom: 28px; gap: 8px; }
.bootstrap-notice a { font-size: 12px; }
.page-heading { margin-bottom: 24px; gap: 20px; }
.page-heading h1 { font-size: clamp(28px, 2.4vw, 34px); margin: 7px 0 9px; }
.page-heading p { font-size: 14px; line-height: 1.6; }
.eyebrow { font-size: 12px; letter-spacing: .055em; font-weight: 500; }
.date-label { font-size: 12px; gap: 9px; }
.welcome-panel { min-height: 300px; padding: 32px; border-radius: var(--z-radius-hero); }
.welcome-copy { max-width: 54%; }
.welcome-copy h2 { font-size: clamp(32px, 3vw, 40px); margin: 15px 0; line-height: 1.17; font-weight: 500; overflow-wrap: anywhere; }
.welcome-copy p { font-size: 14px; line-height: 1.7; margin-bottom: 22px; }
.welcome-copy .btn { font-size: 13px; }
.pill { font-size: 12px; letter-spacing: 0; gap: 8px; }
.orbital-art { width: 350px; flex-basis: 350px; height: 250px; margin: 0 24px 0 0; }
.orbit-label { font-size: 12px; padding: 11px 14px; border-radius: 9px; }
.label-finance { left: 0; top: 20px; }
.label-ai { top: 115px; right: -8px; }
.label-life { bottom: -4px; left: 16px; }
.orbit-core img { width: 116px; height: 116px; background: transparent; }
.dashboard-quick-actions { margin-top: 24px; }
.quick-actions-heading { margin-bottom: 12px; }
.quick-actions-heading h2 { font-size: 15px; font-weight: 500; }
.subtle-label { font-size: 12px; line-height: 1.5; }
.quick-action-buttons { gap: 12px; }
.quick-action-buttons .btn { min-height: 60px; justify-content: flex-start; padding: 12px 16px; font-size: 13px; opacity: 1; background: transparent; border-style: dashed; font-weight: 500; }
.quick-action-buttons .btn>span { font-size: 10px; }
.quick-action-buttons .bi { font-size: 17px; }
.section-heading { margin: 28px 0 16px; }
.section-heading h2, .panel-heading h2, .settings-panel h2 { font-size: 16px; letter-spacing: -.015em; }
.metric-card, .surface-panel, .quick-card { border-radius: var(--z-radius-panel); }
.metric-card { padding: 22px; min-height: 158px; }
.metric-top { font-size: 13px; gap: 10px; }
.metric-value { font-size: 32px; margin: 12px 0; line-height: 1.25; font-variant-numeric: tabular-nums; }
.metric-value small { font-size: 11px; margin-left: 12px; }
.metric-caption { font-size: 12px; line-height: 1.5; }
.panel-heading { padding: 22px 24px; align-items: flex-start; }
.panel-heading p { font-size: 13px; line-height: 1.6; margin-top: 6px; }
.text-link { font-size: 12px; display: inline-flex; gap: 7px; align-items: center; min-height: 32px; }
.text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.text-link .bi { margin-left: 0; }
.empty-transactions { min-height: 290px; padding: 32px 24px; }
.empty-icon { width: 46px; height: 46px; margin-bottom: 16px; }
.empty-transactions h3 { font-size: 17px; margin-bottom: 10px; }
.empty-transactions p { font-size: 13px; line-height: 1.7; margin-bottom: 16px; }
.quiet-pill { font-size: 10px; line-height: 1.5; font-weight: 400; letter-spacing: .03em; }
.tifa-card { padding: 24px; }
.tifa-icon { width: 42px; height: 42px; font-size: 20px; margin-bottom: 22px; }
.tifa-card .eyebrow { font-size: 11px; letter-spacing: .04em; }
.tifa-card h2 { font-size: 28px; margin: 13px 0; line-height: 1.22; font-weight: 500; }
.tifa-card p { font-size: 13px; max-width: 34ch; margin-bottom: 14px; }
.tifa-footnote { font-size: 11px; line-height: 1.6; margin-top: 22px; padding-top: 16px; }
.quick-card { padding: 22px; gap: 16px; }
.quick-icon { width: 40px; height: 40px; font-size: 17px; }
.quick-card h3 { font-size: 14px; margin-bottom: 5px; }
.quick-card p { font-size: 12px; line-height: 1.6; }
.workspace-footer { max-width: 1536px; margin: 0 auto; padding: 0 var(--z-gutter) 24px; font-size: 10px; gap: 16px; }
.footer-version { margin-left: 8px; padding-left: 10px; border-left: 1px solid var(--z-border); white-space: nowrap; }
.finance-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.finance-form{padding:24px;margin-bottom:24px}.finance-form h2{font-size:20px;margin:0 0 12px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.panel-title h2{margin:0}.finance-filters{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr 1.2fr auto;gap:12px;align-items:end;padding:24px}.finance-filters>div{min-width:0}.filter-options{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:0 24px 20px;font-size:13px}.transaction-row{display:flex;align-items:center;gap:16px;padding:20px 24px;border-bottom:1px solid var(--z-border);min-width:0}.transaction-row:last-child{border-bottom:0}.transaction-main{flex:1;min-width:0}.transaction-main h3{font-size:14px;margin:0 0 6px;overflow-wrap:anywhere}.transaction-main p{font-size:12px;color:var(--z-muted);margin:0;overflow-wrap:anywhere}.transaction-amount{font-size:17px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.transaction-amount small{display:block;color:var(--z-muted);font-size:11px;margin-top:3px}.transaction-amount.income{color:var(--z-success)}.transaction-actions{display:flex;gap:6px;flex-wrap:wrap}.voided{opacity:.7}.pagination-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;border-top:1px solid var(--z-border);font-size:12px;color:var(--z-muted)}.account-card{padding:24px}.account-card h2{font-size:20px;margin:20px 0 5px}.account-balance{font-size:28px;font-variant-numeric:tabular-nums}.account-balance small{font-size:12px;margin-left:10px;color:var(--z-muted)}.draft-consent{padding:16px;margin-top:20px;background:var(--z-bg);border:1px solid var(--z-border);border-radius:8px}.draft-consent small{display:block;color:var(--z-muted);font-size:12px;margin-top:8px}.draft-row{display:flex;gap:12px;align-items:center;padding:20px 0;border-bottom:1px solid var(--z-border)}.draft-row>div{flex:1;min-width:0}.draft-row strong{overflow-wrap:anywhere}.draft-row p,.draft-row small{color:var(--z-muted);font-size:12px;margin:5px 0}.audit-entry{border-bottom:1px solid var(--z-border);padding:16px 0}.audit-entry summary{cursor:pointer}.audit-entry pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:320px;overflow:auto}.receipt-capture{padding:20px;border:1px dashed var(--z-border);border-radius:12px;margin-bottom:20px}.receipt-capture h3{font-size:16px}.file-button{position:relative;overflow:hidden;cursor:pointer}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.attachment-row{display:flex;align-items:center;gap:12px;border:1px solid var(--z-border);padding:12px;border-radius:8px;margin-bottom:10px}.attachment-row>div{flex:1;min-width:0}.attachment-row strong{font-size:13px;overflow-wrap:anywhere}.attachment-row small{display:block;color:var(--z-muted);font-size:11px;margin-top:4px}.receipt-preview{display:block;max-width:100%;max-height:650px;object-fit:contain;margin:0 auto}.ocr-state{padding:16px;border:1px solid var(--z-border);border-radius:8px;font-size:13px}.offline-access{margin-bottom:24px}.sync-notice{padding:10px 0;color:var(--z-muted);font-size:12px}.snapshot-currency{display:flex;gap:12px;align-items:center}.snapshot-currency select{min-height:36px;padding:5px 30px 5px 10px;font-size:12px;width:auto}.quick-action-buttons a{border-style:solid!important;background:var(--z-panel)!important;color:var(--z-text)!important}.quick-action-buttons a:hover{border-color:var(--z-accent)!important}.receipt-editor fieldset:disabled{opacity:.75}
@media(max-width:1199px){.finance-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.transaction-row{flex-wrap:wrap}.transaction-actions{margin-left:56px;width:calc(100% - 56px)}}
@media(max-width:575px){.finance-form{padding:20px}.finance-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px}.finance-filters>div:first-child{grid-column:1/-1}.filter-options{padding:0 20px 16px}.transaction-row{padding:18px 20px;gap:12px}.transaction-row>.quick-icon{display:none}.transaction-main{flex-basis:50%}.transaction-amount{font-size:15px}.transaction-actions{margin-left:0;width:100%}.pagination-bar{padding:16px 20px;flex-wrap:wrap}.draft-row,.attachment-row{flex-wrap:wrap}.draft-row>div{flex-basis:100%}.attachment-row>div{flex-basis:calc(100% - 36px)}.snapshot-currency{gap:8px}.snapshot-currency .subtle-label{font-size:10px}.panel-title{align-items:flex-start}.receipt-capture{padding:16px}}
.profile-menu { top: 65px; right: var(--z-gutter); border-radius: 12px; }
.profile-menu-heading { padding: 12px; }
.profile-menu a, .profile-menu>button { min-height: 46px; font-size: 14px; }
.profile-menu .bi { font-size: 18px; }
.topbar-popover p { font-size: 13px; }
.settings-panel { padding: 28px; }
.settings-panel p, .feature-empty p { font-size: 14px; }
.form-label, .profile-panel .form-label { font-size: 13px; font-weight: 500; margin-bottom: 8px; }
.form-control, .form-select { min-height: 46px; border-radius: 8px; font-size: 14px; background: var(--z-panel-soft); border-color: var(--z-border); color: var(--z-text); }
.form-control:focus, .form-select:focus { color: var(--z-text); background: var(--z-panel-soft); border-color: var(--z-accent); box-shadow: 0 0 0 3px #acb9ff20; }
.form-control::placeholder { color: var(--z-muted); opacity: .8; }
.form-control[readonly] { border-color: var(--z-border); background: var(--z-bg); }
.field-hint { font-size: 12px; line-height: 1.6; }
.required, .validation-message, .validation-errors { color: var(--z-danger); }
.validation-errors { padding: 12px 16px 12px 32px; font-size: 13px; }
.form-control.invalid { border-color: var(--z-danger); }
.form-check-label { font-size: 13px; line-height: 1.6; }
.form-actions { gap: 12px; margin-top: 28px; }
.profile-heading { gap: 16px; margin-bottom: 28px; padding-bottom: 24px; }
.profile-heading h2 { font-size: 22px; }
.profile-heading p { font-size: 13px; }
.profile-avatar { width: 56px; height: 56px; font-size: 19px; }
.profile-panel .text-secondary { font-size: 13px; }
.profile-settings-link { margin-bottom: 24px; }
.alert { border-radius: 10px; padding: 16px; font-size: 14px; line-height: 1.6; }
.empty-panel { padding: 72px 24px; }
.empty-panel p { font-size: 14px; }
.feature-empty { padding: 64px 32px; }
.feature-tags span { font-size: 12px; padding: 8px 12px; }
.table { --bs-table-bg: transparent; --bs-table-color: var(--z-text); --bs-table-border-color: var(--z-border); font-size: 14px; }
.table>:not(caption)>*>* { padding: 14px 16px; }
.table thead th { color: var(--z-muted); font-size: 12px; font-weight: 500; white-space: nowrap; }
.table .numeric { font-variant-numeric: tabular-nums; text-align: right; }
.login-story-copy h1 { font-weight: 400; }
.login-form>p { font-size: 14px; }
.login-note { font-size: 12px; line-height: 1.6; }
.login-form .eyebrow { font-size: 11px; }
.login-page .brand { padding: 0; }
.login-form h2 { margin-bottom: 12px; }
.login-page{grid-template-rows:1fr auto}.login-footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;padding:16px 32px;border-top:1px solid var(--z-border);font-size:11px;color:var(--z-muted);background:var(--z-bg)}
@media(min-width:1600px) { .welcome-panel { min-height: 320px; } .orbital-art { margin-right: 64px; } }
@media(max-width:1199px) {
    :root { --z-gutter: 28px; --z-sidebar-width: 224px; }
    .sidebar { width: var(--z-sidebar-width); }
    .brand { padding: 0 6px; gap: 9px; font-size: 18px; }
    .brand small { font-size: 8px; }
    .brand-logo { width: 40px; height: 40px; }
    .topbar-actions { gap: 6px; }
    .profile-name { max-width: 110px; }
    .orbital-art { flex-basis: 265px; width: 265px; margin-right: 0; }
    .orbit-three { width: 300px; height: 300px; }
    .label-finance { left: -12px; }
    .label-ai { right: -12px; }
    .welcome-copy { max-width: 57%; }
    .welcome-copy h2 { font-size: 34px; }
    .tifa-card p { max-width: 65ch; }
    .tifa-card h2 br { display: none; }
    .quick-action-buttons .btn>span { width: 100%; margin-left: 25px; }
}
@media(max-width:991px) {
    :root { --z-gutter: 24px; --z-sidebar-width: 244px; }
    .main-column { margin-left: 0; }
    .sidebar { padding-top: 28px; max-width: calc(100vw - 40px); }
    .sidebar .brand { max-width: 180px; gap: 8px; }
    .sidebar .brand-logo { width: 36px; height: 36px; }
    .sidebar .brand { font-size: 17px; }
    .sidebar .brand small { font-size: 8px; }
    .topbar { height: 68px; gap: 12px; }
    .topbar-actions { gap: 8px; }
    .workspace { padding-top: 24px; }
    .bootstrap-notice { margin-bottom: 24px; font-size: 11px; }
    .bootstrap-notice a { font-size: 11px; }
    .welcome-panel { padding: 28px; min-height: 300px; }
    .welcome-copy { max-width: 55%; }
    .welcome-copy h2 { font-size: 36px; }
    .orbital-art { margin-right: 12px; flex-basis: 285px; }
    .profile-menu { top: 60px; }
    .quick-action-buttons .btn { font-size: 13px; }
    .tifa-card h2 { font-size: 28px; }
}
@media(max-width:767px) {
    .breadcrumb-label { display: none; }
    .date-label { font-size: 12px; }
    .page-heading { align-items: flex-start; gap: 16px; }
    .page-heading h1 { font-size: 29px; }
    .welcome-panel { padding: 28px; }
    .orbital-art { flex-basis: 190px; width: 190px; opacity: .55; margin-right: -45px; }
    .orbit-label { font-size: 11px; }
    .label-finance { left: -20px; top: 15px; }
    .label-ai { right: -25px; }
    .label-life { left: -16px; }
    .welcome-copy { max-width: 68%; }
    .welcome-copy h2 { font-size: 34px; }
    .quick-card { min-height: 112px; }
}
@media(max-width:575px) {
    :root { --z-gutter: 16px; }
    .topbar { padding: 0 12px; height: 64px; gap: 4px; }
    .topbar-actions { gap: 2px; }
    .icon-button { min-width: 40px; width: 40px; height: 44px; }
    .connection-button { font-size: 11px; gap: 6px; padding: 8px 4px; max-width: none; }
    .profile-button { padding: 0 4px; gap: 5px; }
    .profile-button>.bi { display: none; }
    .avatar { width: 34px; height: 34px; }
    .workspace { padding-top: 20px; }
    .bootstrap-notice { font-size: 11px; padding: 10px 12px; flex-wrap: wrap; margin-bottom: 24px; }
    .bootstrap-notice a { margin-left: 20px; }
    .page-heading { flex-direction: column; gap: 12px; margin-bottom: 20px; }
    .page-heading h1 { font-size: 28px; line-height: 1.2; }
    .page-heading p { font-size: 13px; max-width: 45ch; }
    .eyebrow { font-size: 11px; }
    .welcome-panel { min-height: 300px; padding: 24px; }
    .welcome-copy { max-width: 100%; }
    .welcome-copy h2 { font-size: 34px; max-width: 11ch; }
    .welcome-copy p { font-size: 13px; max-width: 30ch; }
    .welcome-copy .btn { font-size: 12px; padding: 10px 12px; }
    .orbital-art { position: absolute; right: -170px; opacity: .13; width: 300px; pointer-events: none; }
    .dashboard-quick-actions { margin-top: 24px; }
    .quick-actions-heading h2 { font-size: 15px; }
    .quick-action-buttons { grid-template-columns: 1fr; gap: 8px; }
    .quick-action-buttons .btn { min-height: 48px; padding: 10px 14px; font-size: 13px; }
    .quick-action-buttons .btn>span { width: auto; margin-left: auto; font-size: 10px; }
    .section-heading { margin-top: 28px; gap: 10px; }
    .section-heading h2 { font-size: 16px; }
    .section-heading .subtle-label { font-size: 11px; text-align: right; }
    .metric-card { padding: 18px 14px; min-height: 154px; }
    .metric-top { font-size: 12px; align-items: flex-start; min-height: 36px; line-height: 1.45; }
    .metric-top .bi { font-size: 15px; }
    .metric-value { font-size: 28px; margin: 8px 0 10px; }
    .metric-caption { font-size: 11px; line-height: 1.5; }
    .metric-value small { font-size: 10px; }
    .panel-heading { padding: 20px; gap: 12px; }
    .panel-heading h2 { font-size: 16px; }
    .panel-heading p { font-size: 12px; }
    .panel-heading>.text-link { font-size: 11px; }
    .empty-transactions { padding: 28px 20px; min-height: 280px; }
    .empty-transactions p { font-size: 13px; }
    .quiet-pill { font-size: 10px; }
    .tifa-card, .settings-panel { padding: 22px; }
    .tifa-card h2 { font-size: 28px; }
    .tifa-card .eyebrow { font-size: 11px; }
    .tifa-card p { font-size: 13px; }
    .tifa-footnote { font-size: 11px; }
    .quick-card { padding: 20px; gap: 14px; }
    .quick-card h3 { font-size: 14px; }
    .quick-card p { font-size: 12px; }
    .quick-card .quiet-pill { display: none; }
    .workspace-footer { flex-direction: column; gap: 4px; font-size: 10px; padding-bottom: 24px; }
    .profile-menu { top: 58px; right: 12px; }
    .profile-heading { flex-wrap: wrap; gap: 14px; }
    .profile-heading .btn { margin-left: 0 !important; }
    .profile-heading h2 { font-size: 21px; }
    .profile-settings-link { flex-direction: column; align-items: flex-start; }
    .form-actions .btn { flex: 1 1 auto; }
    .feature-empty { padding: 40px 24px; }
    .feature-empty h2 { font-size: 26px; }
    .feature-empty p { font-size: 14px; }
    .login-form-panel { padding: 36px 24px; }
    .login-story { padding: 24px; }
    .login-form h2 { font-size: 32px; }
    .login-note { font-size: 11px; }
    .login-footer{flex-direction:column;gap:6px;padding:16px 24px}
}
@media(max-width:359px) {
    .topbar-actions { gap: 0; }
    .topbar .icon-button { min-width: 36px; width: 36px; padding: 8px; }
    .connection-button { font-size: 10px; }
    .welcome-copy h2 { font-size: 30px; }
    .welcome-copy .btn { font-size: 11px; }
    .metric-card { padding: 16px 12px; }
    .metric-top { font-size: 11px; }
    .panel-heading { flex-wrap: wrap; }
}
@media(prefers-reduced-motion:reduce) { *, *:before, *:after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

/* Shared list controls: retain the active theme and allow labels/actions to wrap. */
.list-toolbar { display:grid; grid-template-columns:minmax(200px,2fr) repeat(4,minmax(110px,1fr)) auto; gap:16px; align-items:end; margin-bottom:16px; }
.list-toolbar>div { min-width:0; }
.list-reset .btn { white-space:nowrap; }
.list-summary { color:var(--z-muted); font-size:13px; margin:0 0 16px; }
.list-row-actions { display:flex; flex-wrap:wrap; gap:8px; }
.list-empty { padding:24px 0; }
.list-empty h3 { font-size:17px; }
.list-empty p { color:var(--z-muted); margin-bottom:0; }
.category-table { position:relative; }
.category-table table { min-width:640px; }
.category-table th:first-child { width:44%; overflow-wrap:anywhere; }
.category-table:focus-visible { outline:2px solid var(--z-accent); outline-offset:4px; }
.wishlist-cover { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:8px; background:var(--z-panel-soft); }
.wishlist-viewer { display:block; max-width:100%; max-height:70vh; object-fit:contain; }
.account-card>.d-flex { flex-wrap:wrap; }
@media(max-width:1199px) {
  .list-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .list-toolbar .list-search { grid-column:1/-1; }
}
@media(max-width:575px) {
  .list-toolbar { grid-template-columns:minmax(0,1fr); gap:12px; }
  .list-reset .btn { width:100%; }
  .draft-row { flex-wrap:wrap; }
  .draft-row>div:first-child { flex-basis:100%; }
  .draft-row>.d-flex { flex-wrap:wrap; }
  .panel-title { flex-wrap:wrap; }
}

@media print {
  @page { size: A4 landscape; margin: 12mm; }
  body.printing-report { background: white!important; color: #111!important; }
  .printing-report .sidebar,.printing-report .topbar,.printing-report .report-controls,.printing-report .bootstrap-notice,.printing-report .sync-notice,.printing-report .workspace-footer { display:none!important; }
  .printing-report .main-column { margin:0!important; width:100%!important; }
  .printing-report .workspace { padding:0!important; }
  .printing-report .surface-panel { background:white!important; border:0!important; box-shadow:none!important; color:#111!important; }
  .printing-report table { --bs-table-bg:white; --bs-table-color:#111; color:#111!important; font-size:10pt; }
  .printing-report .table-responsive { overflow:visible!important; }
  .printing-report tr { break-inside:avoid; }
  .printing-report thead { display:table-header-group; }
  .printing-report .field-hint,.printing-report p,.printing-report small { color:#333!important; }
}
