:root { color-scheme: light; --ink:#142235; --muted:#68778a; --navy:#17324d; --blue:#2367a6; --line:#d5dee6; --paper:rgba(255,255,255,.86); --paper-soft:rgba(248,250,251,.78); --bg:#eaf0f4; --green:#13705b; --content-max:2400px; --page-gutter:clamp(14px,1.6vw,32px); }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.skip-link { position:fixed; top:8px; left:8px; z-index:1000; padding:10px 14px; border-radius:8px; background:#fff; color:#17324d; font-weight:750; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); outline:3px solid #4ca3dd; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
body::before { content:""; position:fixed; inset:96px 0 0; z-index:0; pointer-events:none; background:url("branding/THOR127_GERMAN_COMPANY.svg") center 72px/min(1100px,92vw) auto no-repeat; opacity:.07; }
body > .topbar,body > .shell { position:relative; z-index:1; }
a { color:var(--blue); text-decoration:none; }
.topbar { min-height:96px; padding:0 max(var(--page-gutter),calc((100vw - var(--content-max))/2 + var(--page-gutter))); display:flex; align-items:center; justify-content:space-between; background:#03070b; color:#fff; }
.topbar a { color:#fff; }
.brand { display:block; flex:0 0 auto; width:220px; height:94px; }
.brand img { display:block; width:100%; height:100%; object-fit:contain; }
.topbar nav { display:flex; align-items:center; gap:6px; font-size:14px; }
.topbar nav a,.topbar nav .nav-logout-button { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:7px 10px; border-radius:8px; color:inherit; font:inherit; white-space:nowrap; }
.topbar nav a:hover,.topbar nav a:focus-visible,.topbar nav .nav-logout-button:hover,.topbar nav .nav-logout-button:focus-visible { background:#ffffff14; }
.topbar nav a.active { background:#ffffff22; font-weight:750; }
.topbar nav .owner-location-link { border:1px solid #ffffff25; }
.nav-logout-form { margin:0; }
.topbar nav .nav-logout-button { appearance:none; -webkit-appearance:none; background:transparent; color:#fff; }
.shell { width:100%; max-width:var(--content-max); margin:0 auto; padding:32px var(--page-gutter) 64px; }
.messages { display:grid; gap:10px; margin-bottom:20px; }
.message { margin:0; padding:12px 15px; border:1px solid #b8d8cf; border-radius:10px; background:#eaf6f2; color:#195d4d; }
.message.info { border-color:#bfd3e4; background:#edf5fb; color:#285b84; }
.message.error { border-color:#e5bdc1; background:#fff0f1; color:#922e38; }
.preview-notice { margin-bottom:22px; padding:11px 14px; display:flex; gap:10px; flex-wrap:wrap; border:1px solid #b8d8cf; border-radius:10px; background:#eaf6f2; color:#195d4d; }
.preview-notice span { color:#477166; }
.page-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.page-heading h1 { margin:2px 0 3px; font-size:34px; line-height:1.1; letter-spacing:-.04em; }
.page-heading p { margin:0; color:var(--muted); }
.eyebrow { color:var(--green)!important; font-weight:700; text-transform:uppercase; letter-spacing:.1em; font-size:12px; }
.primary { background:var(--blue); color:#fff; padding:11px 16px; border:0; border-radius:10px; font:700 15px/1.4 inherit; cursor:pointer; box-shadow:0 6px 18px #2367a625; }
.primary:disabled { opacity:.48; cursor:not-allowed; box-shadow:none; }
.secondary { display:inline-flex; align-items:center; justify-content:center; padding:10px 15px; border:1px solid #c7d2dc; border-radius:10px; background:#fff; color:var(--navy); font-weight:700; }
.button-reset { border:0; cursor:pointer; font:inherit; }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.metrics article,.panel { background:var(--paper); border:1px solid var(--line); border-radius:14px; box-shadow:0 5px 18px #18334d12; }
.metrics article { padding:20px; min-height:134px; display:flex; flex-direction:column; }
.metrics span,.metrics small { color:var(--muted); }
.metrics strong { margin:9px 0 4px; font-size:28px; line-height:1; letter-spacing:-.03em; }
.quick-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin:18px 0 28px; }
.quick-actions a { padding:13px 16px; text-align:center; background:#e7eef5; color:var(--navy); border-radius:10px; font-weight:700; }
.quick-actions button { border:0; cursor:pointer; padding:13px 16px; text-align:center; background:#e7eef5; color:var(--navy); border-radius:10px; font-family:inherit; font-size:15px; font-weight:700; line-height:1.5; }
.quick-actions button:hover,.quick-actions button:focus-visible { background:#d9e6f1; outline:2px solid transparent; }
.two-column { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.panel { overflow:hidden; }
.panel-title { display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--line); }
.panel-title h2 { margin:0; font-size:18px; }
.panel-title a { font-size:13px; font-weight:700; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; }
th,td { padding:12px 20px; text-align:left; white-space:nowrap; border-bottom:1px solid #edf1f4; }
th { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
td:last-child,th:last-child { text-align:right; }
.empty { text-align:center!important; color:var(--muted); padding:30px; }
.debt { color:#a12b35; font-weight:750; }
.portfolio-panel { margin-top:18px; }
.property-grid { padding:16px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.property-grid article { display:flex; flex-direction:column; gap:5px; padding:15px; background:#f5f8fa; border:1px solid var(--line); border-radius:10px; }
.property-grid span,.property-grid small { color:var(--muted); }
.compact-heading { align-items:center; }
.record-form { max-width:880px; margin:0 auto; padding:24px; overflow:visible; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 20px; }
.form-field { display:flex; flex-direction:column; gap:6px; }
.form-field label { color:var(--navy); font-weight:700; }
.form-field label span,.field-error { color:#a12b35; }
.form-field input:not([type="checkbox"]),.form-field select,.form-field textarea { width:100%; min-height:44px; padding:10px 12px; border:1px solid #c6d1dc; border-radius:9px; background:#fff; color:var(--ink); font:inherit; }
.form-field textarea { min-height:100px; resize:vertical; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { outline:3px solid #2367a620; border-color:var(--blue); }
.form-field small { color:var(--muted); }
.checkbox-field { flex-direction:row; flex-wrap:wrap; align-items:center; }
.checkbox-field input { order:-1; width:18px; height:18px; }
.form-errors,.field-error { margin:0; font-size:13px; }
.form-errors { margin-bottom:18px; padding:12px 15px; border-radius:9px; background:#fff0f1; color:#922e38; }
.form-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:26px; padding-top:20px; border-top:1px solid var(--line); }
.records-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.record-list { max-height:440px; overflow:auto; }
.record-list > a { display:flex; flex-direction:column; gap:3px; padding:13px 20px; border-bottom:1px solid #edf1f4; color:var(--ink); }
.record-list > a:hover { background:#f6f9fb; }
.record-list span { color:var(--muted); font-size:13px; }
.paste-panel { display:grid; grid-template-columns:minmax(220px,1fr) minmax(320px,2fr) auto; align-items:center; gap:18px; padding:20px; margin-bottom:18px; }
.paste-panel h2 { margin:0 0 5px; font-size:18px; }
.paste-panel p { margin:0; color:var(--muted); }
.paste-panel textarea { width:100%; padding:10px 12px; border:1px solid #c6d1dc; border-radius:9px; resize:vertical; font:14px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace; }
.bulk-errors { margin-bottom:18px; }
.financial-warning { display:flex; gap:8px 18px; align-items:center; flex-wrap:wrap; margin:0 0 18px; padding:14px 18px; border:2px solid #b42318; border-radius:10px; background:#fff1f0; color:#7a271a; box-shadow:0 4px 14px rgba(180,35,24,.12); }
.financial-warning strong { font-size:15px; letter-spacing:.02em; }
.financial-warning span { font-weight:600; }
.bulk-errors ul { margin:8px 0 0; padding-left:20px; }
.bulk-grid-panel { overflow:hidden; }
.bulk-grid-panel .panel-title small { color:var(--muted); }
.quick-entry-actions { display:flex; align-items:center; gap:8px; }
.quick-entry-actions .primary,.quick-entry-actions .secondary { min-height:38px; padding:8px 12px; font-size:13px; box-shadow:none; }
.bulk-grid-wrap { overflow:auto; }
.bulk-grid { min-width:1340px; }
.bulk-grid th,.bulk-grid td { padding:8px; }
.bulk-grid th:first-child,.bulk-grid td:first-child { padding-left:16px; }
.bulk-grid input,.bulk-grid select { width:100%; min-width:120px; padding:9px 10px; border:1px solid #cbd5df; border-radius:7px; background:#fff; color:var(--ink); font:inherit; }
.bulk-grid td:nth-child(2) input { min-width:220px; }
.bulk-grid td:nth-child(5) select,.bulk-grid td:nth-child(6) select { min-width:175px; }
.bulk-grid td:nth-child(7) input { min-width:160px; }
.bulk-grid .remove-row { width:34px; height:34px; border:0; border-radius:7px; background:#fff0f1; color:#9b3039; cursor:pointer; font-size:20px; }
.bulk-save-bar { position:sticky; bottom:0; display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:18px; padding:14px 18px; border:1px solid #cdd8e2; border-radius:12px; background:#ffffffee; box-shadow:0 8px 30px #17324d20; backdrop-filter:blur(8px); }
.bulk-save-bar span { color:var(--muted); }
.movement-summary { margin-top:24px; padding:0; }
.movement-summary-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; padding:14px 16px; border-bottom:1px solid var(--line); }
.movement-summary-heading h2 { margin:0; font-size:20px; }
.movement-summary-heading p { margin:2px 0 0; color:var(--muted); font-size:13px; }
.summary-period-actions { display:flex; flex-wrap:wrap; gap:7px; }
.period-button { display:inline-flex; align-items:center; min-height:36px; padding:7px 11px; border:1px solid #c6d1dc; border-radius:7px; background:#fff; color:var(--navy); cursor:pointer; font:700 13px/1.3 inherit; }
.period-button:hover,.period-button:focus-visible { border-color:#91a8bc; background:#f1f5f8; }
.period-button.active { border-color:var(--blue); background:var(--blue); color:#fff; }
.custom-period-form { display:none; align-items:end; gap:8px; padding:10px 16px; border-bottom:1px solid var(--line); background:#f8fafb; }
.custom-period-form.open { display:flex; }
.custom-period-form label { display:grid; gap:3px; }
.custom-period-form label span,.ledger-filters label span { color:var(--muted); font-size:10px; font-weight:750; text-transform:uppercase; letter-spacing:.05em; }
.custom-period-form input { min-height:36px; padding:6px 8px; border:1px solid #c6d1dc; border-radius:7px; background:#fff; color:var(--ink); font:13px/1.3 inherit; }
.custom-period-form .secondary { min-height:36px; padding:7px 11px; font-size:13px; }
.summary-period-error { margin:0; padding:9px 16px; border-bottom:1px solid #e5bdc1; background:#fff0f1; color:#922e38; font-size:13px; }
.movement-summary-table { min-width:820px; table-layout:fixed; }
.movement-summary-table th,.movement-summary-table td { width:16.666%; padding:10px 12px; text-align:right; border-right:1px solid #d8e0e7; }
.movement-summary-table th:first-child,.movement-summary-table td:first-child { text-align:left; }
.movement-summary-table tbody td { background:var(--paper-soft); font-size:17px; }
.transaction-ledger-panel { margin-top:24px; }
.ledger-filters { display:grid; grid-template-columns:minmax(180px,1.5fr) repeat(4,minmax(125px,1fr)) auto auto; align-items:end; gap:8px; padding:10px 12px; border-bottom:1px solid var(--line); background:var(--paper-soft); }
.ledger-filters label { display:grid; gap:3px; min-width:0; }
.ledger-filters input,.ledger-filters select { width:100%; min-width:0; min-height:36px; padding:6px 8px; border:1px solid #c6d1dc; border-radius:7px; background:#fff; color:var(--ink); font:13px/1.3 inherit; }
.ledger-filters .secondary { min-height:36px; padding:7px 10px; font-size:13px; }
.ledger-filters .quiet-link { align-self:center; white-space:nowrap; font-size:12px; }
.transaction-ledger { table-layout:fixed; }
.transaction-ledger thead th { position:sticky; top:0; z-index:2; background:rgba(255,255,255,.9); box-shadow:0 1px 0 var(--line); }
.transaction-ledger td,.transaction-ledger th { padding:10px 12px; vertical-align:top; overflow-wrap:anywhere; }
.transaction-ledger th[data-column] { padding-right:17px; }
.column-resizer { position:absolute; top:0; right:0; z-index:4; width:7px; height:100%; cursor:col-resize; touch-action:none; }
.column-resizer::after { content:""; position:absolute; top:18%; bottom:18%; right:0; width:1px; background:#c9d3dc; }
.column-resizer:hover::after { width:2px; background:var(--blue); }
.column-resizer:focus-visible { outline:2px solid var(--blue); outline-offset:-2px; }
.ledger-nowrap { white-space:nowrap; overflow-wrap:normal!important; }
.ledger-wrapped-cell { white-space:normal; }
.ledger-wrapped-cell > span { display:-webkit-box; overflow:hidden; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3; }
.ledger-bulk-actions { display:flex; align-items:center; justify-content:flex-end; gap:12px; padding:9px 12px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.78); }
.ledger-bulk-actions span { color:var(--muted); font-size:13px; }
.ledger-bulk-actions .danger-button,.ledger-bulk-actions .secondary { min-height:34px; padding:7px 11px; font-size:13px; }
.ledger-bulk-actions .danger-button:disabled { opacity:.45; cursor:not-allowed; }
.transaction-ledger .ledger-select-cell { width:42px; min-width:42px; padding:8px; text-align:center; }
.transaction-ledger .ledger-select-cell input { width:18px; height:18px; margin:0; accent-color:var(--blue); cursor:pointer; }
.transaction-ledger tr.movement-selected td { background:#eef6fb; }
.ledger-pagination { display:grid; grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr); align-items:center; gap:12px; padding:12px 16px; border-top:1px solid var(--line); background:var(--paper-soft); font-size:13px; font-weight:700; }
.ledger-pagination > a:last-child,.ledger-pagination > span:last-child { justify-self:end; }
.ledger-pagination > a:first-child,.ledger-pagination > span:first-child,.ledger-pagination > a:last-child,.ledger-pagination > span:last-child { width:132px; }
.ledger-pagination a,.ledger-pagination .current,.ledger-pagination .disabled,.ledger-pagination .ellipsis { display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:6px 10px; border:1px solid #c6d1dc; border-radius:7px; background:#fff; }
.ledger-pagination .current { border-color:var(--blue); background:var(--blue); color:#fff; }
.ledger-pagination .disabled { color:#9aa5b1; background:#eef2f5; }
.ledger-pagination .ellipsis { border-color:transparent; background:transparent; }
.ledger-page-numbers { display:flex; align-items:center; justify-content:center; gap:5px; }
.transaction-amount { font-weight:800; font-variant-numeric:tabular-nums; }
.transaction-amount.incoming { color:#13705b; }
.transaction-amount.outgoing { color:#a12b35; }
.transaction-type { display:inline-block; padding:4px 8px; border-radius:999px; background:#edf2f6; font-size:12px; font-weight:750; }
.transaction-type.incoming { background:#e8f5f0; color:#13705b; }
.transaction-type.outgoing { background:#fff0f1; color:#922e38; }
.bulk-grid td.field-inactive { background:#eef2f5; }
.bulk-grid td.field-inactive input,.bulk-grid td.field-inactive select { color:#8a96a3; background:#eef2f5; cursor:not-allowed; }
dialog { width:min(92vw,460px); border:0; border-radius:16px; padding:0; color:var(--ink); box-shadow:0 24px 80px #13253850; }
dialog::backdrop { background:#10253a99; backdrop-filter:blur(2px); }
dialog form { padding:22px; }
.dialog-title { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.dialog-title h2 { margin:0; }
.dialog-title button { border:0; background:transparent; cursor:pointer; color:var(--muted); font-size:28px; }
dialog label { display:grid; gap:6px; margin:13px 0; color:var(--muted); font-weight:650; }
dialog input,dialog select { width:100%; padding:11px 12px; border:1px solid #cbd5df; border-radius:9px; background:#fff; color:var(--ink); font:inherit; }
.allocation-note { padding:10px 12px; border-radius:9px; background:#f1f5f8; color:var(--muted); font-size:13px; }
.dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }
.dialog-actions button { border:0; border-radius:9px; padding:10px 15px; cursor:pointer; font:700 14px/1.4 inherit; }
.page-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.page-head h1 { margin:2px 0 6px; font-size:34px; line-height:1.1; letter-spacing:-.04em; }
.page-head p { margin:0; color:var(--muted); }
.panel { margin-bottom:18px; padding:20px; }
.panel.table-panel { padding:0; }
.table-panel > h2,.table-panel > .panel-heading { margin:0; padding:18px 20px; border-bottom:1px solid var(--line); }
.panel h2 { margin-top:0; }
.narrow-panel { max-width:720px; }
.stack-form { display:grid; gap:16px; }
.stack-form label,.inline-form label,.mapping-grid label { display:grid; gap:6px; color:var(--navy); font-weight:700; }
.stack-form input,.inline-form input,.inline-form select,.mapping-grid select,.import-table select { min-height:42px; padding:9px 11px; border:1px solid #c6d1dc; border-radius:8px; background:#fff; color:var(--ink); font:inherit; }
.inline-form { display:flex; align-items:end; flex-wrap:wrap; gap:14px; }
.mapping-grid { display:grid; grid-template-columns:repeat(2,minmax(220px,1fr)); gap:16px; }
.form-action { display:flex; align-items:end; }
.privacy-note,.muted { color:var(--muted); }
.privacy-note { margin-bottom:0; padding:12px; border-radius:9px; background:#eef6f3; }
.error-box { margin-bottom:18px; padding:16px 20px; border:1px solid #e5bdc1; border-radius:12px; background:#fff0f1; color:#922e38; }
.error-box h2 { margin:0; font-size:18px; }
.error-box ul { margin-bottom:0; }
.table-scroll { max-width:100%; overflow:auto; overscroll-behavior-inline:contain; }
.data-table { min-width:900px; }
.data-table.compact td,.data-table.compact th { padding:8px 12px; }
.data-table td:last-child,.data-table th:last-child { text-align:left; }
.link-list { margin-bottom:0; }
.summary-cards { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin-bottom:18px; }
.summary-cards article { padding:15px; border:1px solid var(--line); border-radius:12px; background:var(--paper); }
.summary-cards span { display:block; color:var(--muted); font-size:12px; }
.summary-cards strong { font-size:24px; }
.owner-location-heading { align-items:center; margin-bottom:18px; }
.owner-heading-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px; }
.owner-period-controls { display:grid; justify-items:end; gap:6px; max-width:min(100%,950px); }
.owner-year-selector { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:6px; padding:4px; border:1px solid var(--line); border-radius:11px; background:var(--paper); }
.owner-year-selector > span { margin-right:2px; color:var(--muted); font-size:13px; font-weight:750; }
.owner-year-selector .period-button { padding:7px 11px; text-align:center; white-space:normal; }
.owner-custom-period-form { justify-self:end; padding:10px; border:1px solid var(--line); border-radius:10px; background:var(--paper-soft); }
.owner-period-error { justify-self:stretch; padding:9px 12px; border:1px solid #e5bdc1; border-radius:9px; }
.owner-section-nav { position:sticky; top:8px; z-index:5; display:flex; align-items:center; gap:6px; margin-bottom:18px; padding:7px; overflow-x:auto; border:1px solid #cbd7e0; border-radius:12px; background:rgba(245,248,250,.94); box-shadow:0 5px 16px #18334d14; backdrop-filter:blur(10px); }
.owner-section-nav a { flex:0 0 auto; padding:7px 12px; border-radius:8px; color:var(--navy); font-size:13px; font-weight:750; }
.owner-section-nav a:hover,.owner-section-nav a:focus-visible { background:#dfeaf2; }
.owner-summary-panel,.tenant-debt-panel,.tenant-movement-panel,.owner-portfolio-panel,.owner-section { scroll-margin-top:72px; }
.owner-summary-panel { margin-bottom:18px; }
.owner-summary-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; padding:18px 20px 12px; }
.owner-summary-heading h2,.owner-summary-heading p { margin:0; }
.owner-summary-heading > p { color:var(--muted); font-size:13px; font-weight:700; }
.owner-key-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; padding:0 20px 16px; }
.owner-key-metrics-period { grid-template-columns:repeat(4,minmax(0,1fr)); }
.owner-key-card { min-width:0; padding:14px; border:1px solid var(--line); border-top:4px solid #aebdca; border-radius:11px; background:rgba(255,255,255,.72); }
.owner-key-card.key-primary { border-top-color:var(--blue); }
.owner-key-card.key-positive { border-top-color:var(--green); }
.owner-key-card.key-warning { border-top-color:#c78a15; background:#fffcf3; }
.owner-key-card.key-danger { border-top-color:#b33b46; background:#fff7f7; }
.owner-key-card span { display:block; min-height:39px; color:var(--muted); font-size:12px; font-weight:650; }
.owner-key-card strong { display:block; margin:5px 0 3px; overflow-wrap:anywhere; font-size:24px; line-height:1.1; font-variant-numeric:tabular-nums; }
.owner-key-card.key-warning strong { color:#8a5a00; }
.owner-key-card.key-danger strong { color:#9e3039; }
.owner-key-card small { display:block; min-height:32px; color:var(--muted); font-size:11px; white-space:normal; }
.owner-summary-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); margin:0; padding:14px 20px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--paper-soft); }
.owner-summary-facts div { min-width:0; padding:5px 14px; border-right:1px solid var(--line); }
.owner-summary-facts div:last-child { border-right:0; }
.owner-summary-facts dt { color:var(--muted); font-size:11px; font-weight:700; }
.owner-summary-facts dd { margin:3px 0 0; overflow-wrap:anywhere; font-size:17px; font-weight:800; font-variant-numeric:tabular-nums; }
.owner-method-note > summary { padding:11px 20px; cursor:pointer; color:var(--blue); font-size:13px; font-weight:750; }
.owner-method-note p { margin:0; padding:0 20px 14px; color:var(--muted); font-size:13px; }
.owner-overview { margin:0; }
.owner-profile { display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; margin:0; }
.owner-profile div { min-width:0; }
.owner-profile dt { color:var(--muted); font-size:12px; font-weight:700; }
.owner-profile dd { margin:3px 0 0; overflow-wrap:anywhere; font-weight:700; }
.owner-profile-wide { grid-column:1/-1; }
.owner-accounting-note { margin:-4px 0 16px; padding:10px 12px; border-radius:9px; background:var(--paper-soft); color:var(--muted); font-size:13px; }
.owner-balance { padding-top:12px; border-top:1px solid var(--line); }
.owner-balance dd { color:var(--navy); font-size:24px; }
.owner-data-table { min-width:1050px; }
.owner-data-table th,.owner-data-table td { padding:10px 12px; vertical-align:top; }
.owner-section { margin-bottom:18px; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:var(--paper); box-shadow:0 5px 18px #18334d12; }
.owner-section summary { padding:17px 20px; cursor:pointer; color:var(--navy); font-size:18px; font-weight:800; }
.owner-section summary span { margin-left:6px; padding:2px 8px; border-radius:999px; background:#e7eef5; font-size:12px; }
.owner-section[open] summary { border-bottom:1px solid var(--line); }
.owner-section-note { margin:0; padding:12px 20px; border-bottom:1px solid var(--line); color:var(--muted); background:var(--paper-soft); }
.tenant-debt-panel,.tenant-movement-panel { margin-bottom:18px; }
.tenant-debt-heading { padding:18px 20px; border-bottom:1px solid var(--line); }
.tenant-debt-heading > div { max-width:720px; }
.tenant-debt-controls { display:flex; flex-wrap:wrap; gap:8px; }
.tenant-debt-totals { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:10px 20px; border-bottom:1px solid var(--line); background:var(--paper-soft); }
.tenant-debt-totals > span { min-width:0; padding:3px 14px; border-right:1px solid var(--line); }
.tenant-debt-totals > span:last-child { border-right:0; }
.tenant-debt-totals small,.tenant-debt-main-row small { display:block; color:var(--muted); font-size:11px; }
.tenant-debt-totals strong { display:block; overflow-wrap:anywhere; font-size:17px; font-variant-numeric:tabular-nums; }
.tenant-debt-table { min-width:1050px; table-layout:fixed; }
.tenant-debt-table th { overflow-wrap:anywhere; white-space:normal; line-height:1.25; }
.tenant-debt-table th:nth-child(1) { width:15%; }
.tenant-debt-table th:nth-child(2) { width:14%; }
.tenant-debt-table th:nth-child(3),.tenant-debt-table th:nth-child(4) { width:11%; }
.tenant-debt-table th:nth-child(5),.tenant-debt-table th:nth-child(6),.tenant-debt-table th:nth-child(7),.tenant-debt-table th:nth-child(8) { width:9%; }
.tenant-debt-table th:nth-child(9) { width:13%; }
.tenant-debt-table th,.tenant-debt-table td { padding:10px 12px; vertical-align:top; }
.tenant-debt-main-row td:first-child,.tenant-property-cell { white-space:normal; overflow-wrap:anywhere; }
.tenant-debt-main-row.debt-row-overdue { background:#fff8f8; }
.tenant-debt-main-row.debt-row-pending { background:#fffdf4; }
.tenant-debt-main-row.debt-row-credit { background:#f3f9ff; }
.tenant-debt-detail-row > td { padding:0 12px 12px; border-bottom:1px solid var(--line); background:#f8fafb; }
.tenant-debt-details { border:1px solid #dfe6ec; border-radius:9px; background:#fff; }
.tenant-debt-details > summary { padding:9px 12px; cursor:pointer; color:var(--blue); font-size:13px; font-weight:750; }
.tenant-debt-details[open] > summary { border-bottom:1px solid #e5ebef; }
.tenant-debt-breakdown { min-width:850px; }
.tenant-movement-totals { grid-template-columns:repeat(5,minmax(0,1fr)); }
.tenant-movement-table { min-width:1040px; table-layout:fixed; }
.tenant-movement-table th { overflow-wrap:anywhere; white-space:normal; line-height:1.25; }
.tenant-movement-table th:nth-child(1) { width:16%; }
.tenant-movement-table th:nth-child(2) { width:18%; }
.tenant-movement-table th:nth-child(3) { width:8%; }
.tenant-movement-table th:nth-child(4),.tenant-movement-table th:nth-child(5) { width:11%; }
.tenant-movement-table th:nth-child(6),.tenant-movement-table th:nth-child(7),.tenant-movement-table th:nth-child(8) { width:12%; }
.tenant-movement-table th,.tenant-movement-table td { padding:10px 12px; vertical-align:top; }
.tenant-movement-main-row { background:#f8fbfd; }
.tenant-movement-main-row td:first-child { white-space:normal; overflow-wrap:anywhere; }
.tenant-movement-details small { display:block; color:var(--muted); font-size:11px; }
.debt-status { display:inline-block; padding:3px 6px; border-radius:999px; font-size:11px; font-weight:750; white-space:nowrap; }
.debt-status-overdue { background:#fbe3e5; color:#922e38; }
.debt-status-pending { background:#fff0c7; color:#7a5400; }
.debt-status-credit { background:#dfeefa; color:#245d88; }
.debt-status-current,.debt-status-paid { background:#e4f2ed; color:#14634f; }
.owner-portfolio-panel { margin-bottom:18px; }
.owner-portfolio-heading { padding:18px 20px; border-bottom:1px solid var(--line); }
.owner-subsection { border-bottom:1px solid var(--line); }
.owner-subsection:last-child { border-bottom:0; }
.owner-subsection > summary { padding:14px 20px; cursor:pointer; color:var(--navy); font-size:16px; font-weight:800; }
.owner-subsection > summary span { margin-left:6px; padding:2px 8px; border-radius:999px; background:#e7eef5; font-size:11px; }
.owner-subsection[open] > summary { border-bottom:1px solid var(--line); background:var(--paper-soft); }
.owner-info-content { padding:18px; }
.owner-info-card { min-width:0; padding:18px; border:1px solid var(--line); border-radius:11px; background:var(--paper-soft); }
.owner-info-card h2 { margin:0 0 14px; font-size:18px; }
.panel-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.panel-heading h2,.panel-heading p { margin:0; }
.panel-heading p { color:var(--muted); }
.import-table { min-width:1180px; }
.import-table td { white-space:normal; vertical-align:top; }
.bank-source-detail { min-width:220px; max-width:380px; white-space:normal; overflow-wrap:anywhere; line-height:1.35; }
.import-table select { min-width:210px; }
.import-selection-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.import-selection-actions .secondary { padding:8px 11px; font-size:13px; }
.import-group-list { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0; padding:14px 20px; border-bottom:1px solid var(--line); background:#f7faf9; }
.import-group-list > strong { margin-right:4px; }
.import-group-list > small { flex-basis:100%; color:var(--muted); }
.status-pill { display:inline-block; padding:4px 8px; border-radius:999px; background:#edf2f6; font-size:12px; font-weight:750; }
.status-ready,.status-imported { color:#14634f; }
.status-needs_mapping { color:#8a5a00; }
.status-duplicate,.status-invalid { color:#922e38; }
tr.status-duplicate,tr.status-invalid { background:#fff8f8; }
tr.status-needs_mapping { background:#fffbef; }
.button-link { display:inline-flex; padding:10px 14px; border:1px solid #c7d2dc; border-radius:9px; background:#fff; font-weight:700; }
.button-link.primary { border-color:var(--blue); background:var(--blue); color:#fff; }
.search-selection-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding:12px 18px; border-top:1px solid var(--line); background:#f3f7fa; }
.search-selection-toolbar p { margin:0; color:var(--navy); }
.danger-zone { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:24px; padding:18px 20px; border:1px solid #e5bdc1; border-radius:12px; background:#fff5f5; }
.danger-zone h2,.danger-zone p { margin:0; }
.danger-button { border:1px solid #b33b46; border-radius:9px; padding:10px 14px; background:#fff; color:#922e38; font-weight:750; cursor:pointer; }
.quiet-link { opacity:.72; }
.simple-hero { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:24px; }
.simple-hero h1 { margin:2px 0 5px; font-size:36px; line-height:1.1; letter-spacing:-.04em; }
.simple-hero p { margin:0; color:var(--muted); }
.large-action { min-width:210px; text-align:center; }
.task-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:18px; }
.task-cards a { display:grid; grid-template-columns:42px 1fr; column-gap:12px; padding:20px; border:1px solid var(--line); border-radius:14px; background:var(--paper); color:var(--ink); box-shadow:0 5px 18px #18334d12; }
.task-cards a:hover { border-color:#aebfce; box-shadow:0 8px 24px #18334d12; }
.task-cards strong,.task-cards small { grid-column:2; }
.task-cards strong { font-size:17px; }
.task-cards small { margin-top:3px; color:var(--muted); }
.task-icon { grid-row:1/3; display:grid; place-items:center; width:42px; height:42px; border-radius:10px; background:#e7eef5; color:var(--navy); font-size:20px; font-weight:800; }
.simple-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:18px; }
.simple-metrics article { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:15px 18px; border:1px solid var(--line); border-radius:12px; background:var(--paper); }
.simple-metrics span { color:var(--muted); }
.simple-metrics strong { font-size:20px; }
.simple-sections { margin-bottom:18px; }
.flush-panel { padding:0; }
.flush-panel .panel-title { padding:16px 18px; }
.simple-counts { display:grid; grid-template-columns:repeat(3,1fr); padding:22px; }
.simple-counts div { display:flex; flex-direction:column; align-items:center; }
.simple-counts strong { font-size:27px; }
.simple-counts span { color:var(--muted); font-size:13px; }
.heading-actions { display:flex; gap:12px; }
.portfolio-table { min-width:1200px; }
.portfolio-table td { padding:10px 12px; }
.portfolio-table-panel { padding:0; }
.financial-portfolio-table { min-width:1750px; }
.financial-portfolio-table td { vertical-align:top; }
.financial-portfolio-table small { color:var(--muted); }
.unit-workspace-link { font-weight:800; }
.financial-row-overdue { background:#fff8f8; }
.financial-row-pending { background:#fffdf4; }
.financial-row-credit { background:#f3f9ff; }
.financial-year-selector { display:flex; flex-wrap:wrap; gap:8px; margin:-8px 0 18px; }
.financial-year-selector a { padding:7px 11px; border:1px solid #c6d1dc; border-radius:8px; background:#fff; color:var(--navy); font-size:13px; font-weight:750; }
.financial-year-selector a.active { border-color:var(--blue); background:var(--blue); color:#fff; }
.unit-financial-metrics { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.unit-financial-metrics article { min-width:0; padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--paper); box-shadow:0 5px 18px #18334d12; }
.unit-financial-metrics span,.unit-financial-metrics small { display:block; color:var(--muted); }
.unit-financial-metrics strong { display:block; margin:7px 0 4px; font-size:23px; line-height:1; }
.unit-current-lease-panel,.unit-workspace-panel { margin-bottom:18px; }
.unit-current-lease-panel .panel-heading,.unit-workspace-panel .panel-heading { padding:16px 18px; border-bottom:1px solid var(--line); }
.unit-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; padding:16px 18px; }
.unit-facts > div { min-width:0; padding:12px; border:1px solid var(--line); border-radius:9px; background:var(--paper-soft); }
.unit-facts span { display:block; margin-bottom:4px; color:var(--muted); font-size:12px; }
.unit-facts strong { overflow-wrap:anywhere; }
.unit-payments-table,.unit-charges-table { min-width:1350px; }
.unit-description-cell { max-width:300px; white-space:normal; overflow-wrap:anywhere; }
.allocation-details summary { color:var(--blue); cursor:pointer; font-weight:700; }
.allocation-details small { display:block; margin-top:4px; }
.unit-record-details { margin-bottom:18px; }
.secondary-data { margin-top:18px; border:1px solid var(--line); border-radius:12px; background:var(--paper); }
.secondary-data summary,.paste-details summary { padding:14px 18px; cursor:pointer; color:var(--navy); font-weight:700; }
.secondary-actions { display:flex; flex-wrap:wrap; gap:12px; padding:0 18px 18px; }
.secondary-actions a { padding:9px 12px; border-radius:8px; background:#edf2f6; font-weight:650; }
.settings-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.invoice-privacy-notice { border-left:4px solid #258064; background:#f4fbf8; }
.invoice-status { display:inline-block; padding:4px 8px; border-radius:999px; font-size:11px; font-weight:800; white-space:nowrap; background:#e8edf2; color:#34495e; }
.invoice-status-needs_review,.invoice-status-needs_ocr { background:#fff0d5; color:#855500; }
.invoice-status-ready_to_match { background:#dfeefa; color:#245d88; }
.invoice-status-matched { background:#dcefe8; color:#14634f; }
.invoice-review-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr); gap:18px; align-items:start; }
.invoice-document-panel,.invoice-review-form { min-width:0; }
.invoice-pdf-frame { width:100%; min-height:760px; border:1px solid var(--line); border-radius:10px; background:#f7f8fa; }
.invoice-extracted-details summary { cursor:pointer; font-weight:800; }
.invoice-extracted-details pre { max-height:420px; overflow:auto; padding:14px; border-radius:9px; background:#f5f7f9; white-space:pre-wrap; overflow-wrap:anywhere; }
.invoice-match-table { min-width:1280px; }
.invoice-match-actions { display:flex; gap:6px; flex-wrap:wrap; }
.settings-card { display:flex; flex-direction:column; gap:12px; }
.settings-card h2,.settings-card p { margin:0; }
.settings-card p { color:var(--muted); min-height:48px; }
.settings-card a { padding:10px 12px; border-radius:8px; background:#edf2f6; font-weight:700; }
.data-quality-heading { align-items:center; }
.quality-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.quality-card { min-width:0; padding:16px; border:1px solid var(--line); border-top:4px solid #9aabba; border-radius:12px; background:var(--paper); box-shadow:0 5px 18px #18334d12; }
.quality-card span,.quality-card small { display:block; color:var(--muted); }
.quality-card span { font-size:12px; font-weight:750; }
.quality-card strong { display:block; margin:6px 0 4px; font-size:28px; }
.quality-card small { font-size:11px; }
.quality-card-critical { border-top-color:#b33b46; }
.quality-card-critical strong { color:#922e38; }
.quality-card-attention { border-top-color:#cf8e17; }
.quality-card-attention strong { color:#7a5400; }
.quality-card-review { border-top-color:#3977a6; }
.quality-card-review strong { color:#245d88; }
.quality-clear { margin-bottom:16px; padding:18px 20px; border:1px solid #bad8cc; border-radius:12px; background:#f0f8f5; }
.quality-clear h2,.quality-clear p { margin:0; }
.quality-clear p { margin-top:4px; color:var(--muted); }
.quality-nav { position:sticky; top:8px; z-index:5; display:flex; gap:7px; margin-bottom:16px; padding:7px; overflow-x:auto; border:1px solid #cbd7e0; border-radius:12px; background:rgba(245,248,250,.94); box-shadow:0 5px 16px #18334d14; backdrop-filter:blur(10px); }
.quality-nav a { flex:0 0 auto; padding:7px 10px; border-radius:8px; color:var(--navy); font-size:13px; font-weight:750; }
.quality-nav a:hover,.quality-nav a:focus-visible { background:#dfeaf2; }
.quality-nav span { display:inline-block; margin-left:4px; padding:1px 6px; border-radius:999px; background:#e2eaf0; font-size:11px; }
.quality-section { margin-bottom:16px; padding:0; overflow:hidden; scroll-margin-top:72px; }
.quality-section-heading { padding:16px 18px; border-bottom:1px solid var(--line); }
.quality-section-count { display:grid; place-items:center; min-width:38px; min-height:38px; border-radius:999px; background:#e7eef5; color:var(--navy); font-weight:800; }
.quality-table { min-width:1100px; }
.quality-table th,.quality-table td { padding:10px 12px; vertical-align:top; white-space:normal; }
.quality-table th:nth-child(1) { width:110px; }
.quality-table th:nth-child(2) { width:230px; }
.quality-table th:nth-child(3) { width:260px; }
.quality-table th:nth-child(5) { width:160px; }
.quality-row-critical { background:#fff8f8; }
.quality-row-attention { background:#fffdf4; }
.quality-row-review { background:#f6faff; }
.quality-severity { display:inline-block; padding:3px 7px; border-radius:999px; font-size:11px; font-weight:800; white-space:nowrap; }
.quality-severity-critical { background:#fbe3e5; color:#922e38; }
.quality-severity-attention { background:#fff0c7; color:#7a5400; }
.quality-severity-review { background:#dfeefa; color:#245d88; }
.quality-empty { margin:0; padding:18px; color:#14634f; font-weight:750; }
.quality-method { margin-top:18px; }
.quality-method h2,.quality-method p { margin:0; }
.quality-method p { margin-top:7px; color:var(--muted); }
.date-review-card-proposed { border-top-color:#b24b30; }
.date-review-card-proposed strong { color:#92381f; }
.date-review-card-correct { border-top-color:#258064; }
.date-review-card-correct strong { color:#14634f; }
.date-review-guard,.date-review-notice { margin-bottom:16px; padding:14px 16px; border:1px solid #e0c98d; border-radius:12px; background:#fffaf0; }
.date-review-guard { display:flex; gap:8px; align-items:baseline; }
.date-review-guard span,.date-review-notice p { color:var(--muted); }
.date-review-notice p { margin:0; }
.date-review-notice p + p { margin-top:5px; }
.date-review-table { min-width:1380px; }
.date-review-table th,.date-review-table td { padding:10px 12px; vertical-align:top; white-space:normal; }
.date-review-table th:nth-child(1) { width:165px; }
.date-review-table th:nth-child(2) { width:190px; }
.date-review-table th:nth-child(3) { width:175px; }
.date-review-table th:nth-child(4),.date-review-table th:nth-child(5) { width:125px; }
.date-review-table th:nth-child(6) { width:145px; }
.date-review-table th:nth-child(8) { width:130px; }
.date-review-row-proposed { background:#fff8f5; }
.date-review-row-review { background:#f6faff; }
.date-review-row-correct { background:#f4fbf8; }
.date-review-status { display:inline-block; padding:4px 8px; border-radius:999px; font-size:11px; font-weight:800; white-space:nowrap; }
.date-review-status-proposed { background:#f9dfd5; color:#92381f; }
.date-review-status-review { background:#dfeefa; color:#245d88; }
.date-review-status-correct { background:#dcefe8; color:#14634f; }
.quality-nav a.active { background:#d7e6f0; }
.balance-entry { display:grid; grid-template-columns:1.05fr repeat(3,1fr) 1fr 1.4fr auto; gap:0; padding:0; overflow:hidden; }
.balance-field { display:flex; flex-direction:column; gap:5px; padding:10px; border-right:1px solid var(--line); }
.balance-field label { color:var(--muted); font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.05em; }
.balance-field input { width:100%; min-width:0; min-height:42px; padding:8px 9px; border:1px solid #c6d1dc; border-radius:7px; font:inherit; }
.balance-field .field-error { max-width:150px; }
.balance-total { justify-content:center; background:#f2f6f8; }
.balance-total output { font-size:20px; font-weight:800; color:var(--navy); }
.balance-submit { display:flex; align-items:end; padding:10px; }
.balance-submit button { min-height:42px; white-space:nowrap; }
.balance-history td,.balance-history th { padding:10px 14px; }
.balance-row-actions { display:flex; align-items:center; gap:10px; white-space:nowrap; }
.balance-row-actions form { margin:0; }
.balance-row-actions .danger-button { padding:6px 9px; font-size:13px; }
@media (max-width:950px) { .balance-entry { grid-template-columns:1fr 1fr; } .balance-field { border-bottom:1px solid var(--line); } .balance-submit { align-items:center; } }
.paste-details { margin-bottom:18px; border:1px solid var(--line); border-radius:12px; background:var(--paper); }
.paste-details[open] summary { border-bottom:1px solid var(--line); }
.paste-details .paste-panel { margin:0; border:0; border-radius:0; box-shadow:none; }
.bulk-grid { width:100%; min-width:1485px; table-layout:fixed; border:1px solid #cbd5df; font-size:13px; }
.bulk-grid th { padding:7px 5px; white-space:normal; background:#eef2f5; border-right:1px solid #d8e0e7; line-height:1.25; }
.bulk-grid td { padding:0; border-right:1px solid #d8e0e7; }
.bulk-grid input,.bulk-grid select { min-width:0!important; min-height:42px; padding:7px 6px; border:0; border-radius:0; font-size:13px; }
.bulk-grid input { overflow:hidden; }
.bulk-grid input:focus,.bulk-grid select:focus { position:relative; z-index:1; outline:2px solid var(--blue); outline-offset:-2px; }
.quick-col-date { width:125px; }
.quick-col-description { width:220px; }
.quick-col-amount { width:90px; }
.quick-col-kind { width:210px; }
.quick-col-tenant { width:145px; }
.quick-col-owner { width:160px; }
.quick-col-bank { width:130px; }
.quick-col-category { width:125px; }
.quick-col-document { width:140px; }
.quick-col-tax { width:100px; }
.quick-col-remove { width:40px; }
.bulk-grid-wrap { overflow-x:auto; }
@media (max-width:1500px) { .topbar { align-items:flex-start; padding-top:8px; padding-bottom:8px; } .topbar nav { flex:1 1 auto; flex-wrap:wrap; justify-content:flex-end; gap:6px 10px; } }
@media (max-width:1050px) { .owner-key-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); } .ledger-filters { grid-template-columns:repeat(3,minmax(150px,1fr)); } }
@media (max-width:1200px) { .unit-financial-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:1100px) { .quality-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:850px) { .metrics { grid-template-columns:1fr 1fr; } .two-column,.records-grid { grid-template-columns:1fr; } .property-grid { grid-template-columns:1fr; } .owner-section-nav { position:static; } }
@media (max-width:900px) { .summary-cards { grid-template-columns:repeat(3,1fr); } .tenant-debt-totals { grid-template-columns:repeat(2,1fr); } .tenant-debt-totals > span:nth-child(2) { border-right:0; } .mapping-grid { grid-template-columns:1fr; } .page-head,.panel-heading,.danger-zone,.owner-summary-heading { align-items:flex-start; flex-direction:column; } }
@media (max-width:900px) { .paste-panel { grid-template-columns:1fr; align-items:stretch; } .paste-panel .secondary { justify-self:start; } .bulk-grid-wrap { overflow-x:auto; } .bulk-grid { min-width:1485px; } .movement-summary-heading { align-items:stretch; flex-direction:column; } }
@media (max-width:1000px) { .invoice-review-layout { grid-template-columns:1fr; } .invoice-pdf-frame { min-height:560px; } }
@media (max-width:850px) { .task-cards,.settings-grid { grid-template-columns:1fr; } .simple-hero { align-items:flex-start; flex-direction:column; } .simple-metrics { grid-template-columns:1fr; } .brand { width:175px; height:82px; } .topbar nav { gap:8px 12px; } }
@media (max-width:650px) { .form-grid { grid-template-columns:1fr; } .tenant-debt-table { min-width:0; table-layout:auto; } .tenant-debt-table > thead { display:none; } .tenant-debt-table > tbody { display:block; } .tenant-debt-table > tbody > .tenant-debt-main-row { display:grid; grid-template-columns:1fr 1fr; padding:10px; } .tenant-debt-table > tbody > .tenant-debt-main-row > td { display:block; min-width:0; padding:7px 8px; white-space:normal; border:0; } .tenant-debt-table > tbody > .tenant-debt-main-row > td:nth-child(1),.tenant-debt-table > tbody > .tenant-debt-main-row > td:nth-child(2),.tenant-debt-table > tbody > .tenant-debt-main-row > td:nth-child(9) { grid-column:1/-1; } .tenant-debt-main-row > td::before { content:attr(data-label); display:block; margin-bottom:2px; color:var(--muted); font-size:10px; font-weight:750; text-transform:uppercase; letter-spacing:.05em; } .tenant-debt-detail-row { display:block; } .tenant-debt-detail-row > td { display:block; padding:0 10px 10px; } }
@media (max-width:650px) { .tenant-movement-table { min-width:0; table-layout:auto; } .tenant-movement-table > thead { display:none; } .tenant-movement-table > tbody { display:block; } .tenant-movement-table > tbody > .tenant-movement-main-row { display:grid; grid-template-columns:1fr 1fr; padding:10px; } .tenant-movement-table > tbody > .tenant-movement-main-row > td { display:block; min-width:0; padding:7px 8px; white-space:normal; border:0; } .tenant-movement-table > tbody > .tenant-movement-main-row > td:nth-child(1),.tenant-movement-table > tbody > .tenant-movement-main-row > td:nth-child(2) { grid-column:1/-1; } .tenant-movement-main-row > td::before { content:attr(data-label); display:block; margin-bottom:2px; color:var(--muted); font-size:10px; font-weight:750; text-transform:uppercase; letter-spacing:.05em; } }
@media (max-width:560px) { .topbar { align-items:center; } .topbar nav .mobile-optional { display:none; } .brand { width:145px; height:72px; } .shell { padding-top:22px; } .page-heading { align-items:start; flex-direction:column; } .page-heading h1,.simple-hero h1 { font-size:29px; } .page-heading .primary,.large-action { width:100%; text-align:center; } .heading-actions,.owner-heading-actions { width:100%; } .heading-actions a { flex:1; } .owner-heading-actions { align-items:stretch; flex-direction:column; } .owner-heading-actions .secondary { width:100%; } .owner-period-controls { width:100%; justify-items:stretch; } .owner-year-selector { display:grid; grid-template-columns:1fr 1fr; justify-content:center; } .owner-year-selector > span,.owner-custom-period-button,.owner-all-period-button { grid-column:1/-1; } .owner-custom-period-form { justify-self:stretch; } .financial-year-selector { justify-content:center; } .owner-section-nav { display:grid; grid-template-columns:repeat(3,1fr); overflow:visible; } .owner-section-nav a { padding:7px 4px; text-align:center; } .owner-key-metrics,.tenant-debt-totals,.metrics,.quick-actions,.unit-financial-metrics { grid-template-columns:1fr; } .tenant-debt-totals > span { padding:7px 4px; border-right:0; border-bottom:1px solid var(--line); } .tenant-debt-totals > span:last-child { border-bottom:0; } .owner-summary-heading,.owner-key-metrics,.owner-summary-facts { padding-left:14px; padding-right:14px; } .owner-key-card span,.owner-key-card small { min-height:0; } .metrics article { min-height:118px; padding:16px; } .metrics strong { font-size:23px; } .quick-actions a,.quick-actions button { padding:12px 8px; font-size:13px; } .dialog-actions .primary { width:auto; } .record-form { padding:18px; } .form-actions { flex-direction:column-reverse; } .form-actions a,.form-actions button { width:100%; } .bulk-save-bar { position:static; flex-direction:column; align-items:stretch; } .bulk-save-bar .primary { width:100%; } .summary-period-actions { display:grid; grid-template-columns:1fr 1fr; } .period-button { justify-content:center; } .custom-period-form { align-items:stretch; flex-direction:column; } .custom-period-form input { width:100%; } .ledger-filters { grid-template-columns:1fr; } .quick-entry-actions { width:100%; } .quick-entry-actions button { flex:1; } .ledger-pagination { grid-template-columns:1fr 1fr; } .ledger-page-numbers { grid-column:1/-1; grid-row:1; flex-wrap:wrap; } .owner-profile { grid-template-columns:1fr; } .owner-profile-wide { grid-column:auto; } }
@media (max-width:650px) { .quality-summary { grid-template-columns:1fr; } .quality-nav { position:static; } }
