:root { --ink:#1c2330; --muted:#6b7280; --line:#e3e7ed; --surface:#f5f7f9; --white:#fff; --green:#17864b; --green-dark:#11693a; --blue:#2563eb; --amber:#d97706; --red:#dc2626; --sidebar:#202733; }
* { box-sizing:border-box; }
html { min-width:320px; }
body { margin:0; color:var(--ink); background:var(--surface); font-family:"Manrope",Arial,sans-serif; font-size:14px; letter-spacing:0; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; letter-spacing:0; }
button { cursor:pointer; }
svg { width:18px; height:18px; stroke-width:2; }
.sidebar { position:fixed; inset:0 auto 0 0; z-index:20; width:236px; display:flex; flex-direction:column; padding:20px 14px; color:#eef2f7; background:var(--sidebar); }
.brand { height:48px; display:flex; align-items:center; gap:10px; padding:0 8px; font-size:18px; }
.logo-mark { width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; border-radius:7px; color:white; background:var(--green); }
.sidebar nav { display:grid; gap:4px; margin-top:28px; }
.nav-label { padding:0 12px 8px; color:#8e98a7; font-size:10px; font-weight:800; }
.sidebar nav a { min-height:44px; display:flex; align-items:center; gap:11px; padding:0 12px; border-radius:6px; color:#c9d0da; font-weight:600; }
.sidebar nav a:hover,.sidebar nav a.active { color:white; background:#303947; }
.sidebar nav a.active { box-shadow:inset 3px 0 var(--green); }
.sidebar-foot { display:grid; gap:4px; margin-top:auto; padding:14px 12px 2px; border-top:1px solid #35404e; color:#c9d0da; }
.sidebar-foot small { color:#7f8a99; }
.app-shell { min-height:100vh; margin-left:236px; }
.topbar { height:70px; display:flex; align-items:center; justify-content:space-between; padding:0 28px; border-bottom:1px solid var(--line); background:white; }
.topbar > div:first-child { display:grid; gap:2px; }
.topbar > div:first-child span { color:var(--muted); font-size:11px; }
.user-menu { display:flex; align-items:center; gap:9px; }
.user-menu > div { display:grid; gap:1px; }
.user-menu small { color:var(--muted); font-size:10px; }
.user-avatar { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:var(--green-dark); background:#dcfce7; font-weight:800; }
.icon-button { width:36px; height:36px; display:inline-grid; place-items:center; padding:0; border:0; border-radius:5px; color:#64748b; background:transparent; }
.icon-button:hover { color:var(--ink); background:#f1f5f9; }
.icon-button.bordered { border:1px solid var(--line); background:white; }
.icon-button.danger { color:var(--red); }
.theme-toggle { border:1px solid var(--line); background:var(--white); }
.theme-toggle svg { transition:transform .18s ease; }
.theme-toggle:hover svg { transform:rotate(12deg); }
.login-theme-toggle { position:fixed; z-index:5; top:18px; right:18px; }
.messages { padding:12px 28px 0; }
.message { padding:11px 14px; border:1px solid #86efac; border-radius:5px; color:#166534; background:#f0fdf4; }
.message.error { border-color:#fecaca; color:#991b1b; background:#fef2f2; }
.content { padding:26px 28px 50px; }
.page-head { min-height:58px; display:flex; align-items:start; justify-content:space-between; gap:20px; margin-bottom:22px; }
.page-head h1 { margin:0; font-size:25px; line-height:1.25; }
.page-head p { margin:5px 0 0; color:var(--muted); }
.head-actions { display:flex; gap:8px; }
.button { min-height:40px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:8px 14px; border:1px solid transparent; border-radius:5px; font-weight:700; }
.button.primary { color:white; background:var(--green); }
.button.primary:hover { background:var(--green-dark); }
.button.secondary { border-color:var(--line); color:#374151; background:white; }
.button.danger-solid { color:white; background:var(--red); }
.back-link { display:flex; align-items:center; gap:6px; color:var(--green-dark); font-weight:700; }
.metric-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:20px; border:1px solid var(--line); border-radius:7px; background:white; }
.metric-strip.rental-metrics { grid-template-columns:repeat(6,minmax(0,1fr)); }
.metric-strip.dashboard-metrics,.metric-strip.property-metrics { grid-template-columns:repeat(6,minmax(0,1fr)); }
.metric-strip > * { min-width:0; display:grid; gap:6px; padding:18px 20px; border-right:1px solid var(--line); }
.metric-strip > *:last-child { border-right:0; }
.dashboard-metrics > *,.property-metrics > * { padding:16px; }
.metric-strip > * > span:first-child { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:12px; font-weight:700; }
.metric-strip > * > span:first-child > svg { color:var(--green); }
.metric-strip strong { overflow:hidden; font-size:24px; text-overflow:ellipsis; white-space:nowrap; }
.metric-strip .metric-converted { width:max-content; max-width:100%; display:inline-flex; align-items:center; padding:4px 8px; border:1px solid #e2e8f0; border-radius:4px; color:#475569; background:#f8fafc; font-size:12px; font-style:normal; font-weight:800; }
.metric-strip .metric-note { overflow:hidden; color:#64748b; font-size:11px; font-style:normal; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.metric-strip .metric-primary-usd { font-size:27px; }
.metric-strip .metric-info { position:relative; width:17px; height:17px; display:inline-grid; flex:0 0 17px; place-items:center; margin-left:auto; border:1px solid #cbd5e1; border-radius:50%; color:#94a3b8; cursor:help; }
.metric-strip .metric-info svg { width:11px; height:11px; color:currentColor; }
.metric-strip .metric-info::after { content:attr(data-tooltip); position:absolute; z-index:50; right:-8px; bottom:calc(100% + 9px); width:max-content; max-width:230px; padding:8px 10px; border-radius:5px; color:white; background:#1f2937; box-shadow:0 5px 18px rgba(15,23,42,.18); font-size:11px; font-weight:600; line-height:1.4; opacity:0; pointer-events:none; transform:translateY(4px); transition:opacity .15s ease,transform .15s ease; white-space:normal; }
.metric-strip .metric-info:hover::after { opacity:1; transform:translateY(0); }
.metric-strip .metric-gain strong,.metric-strip .metric-gain .metric-note { color:#15803d; }
.metric-strip .metric-gain .metric-converted { border-color:#bbf7d0; color:#166534; background:#f0fdf4; }
.metric-strip .metric-loss strong,.metric-strip .metric-loss .metric-note,.metric-strip .metric-loss > span:first-child > svg { color:#b91c1c; }
.metric-strip .metric-loss .metric-converted { border-color:#fecaca; color:#991b1b; background:#fef2f2; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,.7fr); gap:20px; }
.panel { min-width:0; border:1px solid var(--line); border-radius:7px; background:white; }
.panel-head { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; border-bottom:1px solid var(--line); }
.panel-head h2 { margin:0; font-size:16px; }
.panel-head p { margin:3px 0 0; color:var(--muted); font-size:11px; }
.panel-head > a:not(.icon-button) { display:flex; align-items:center; gap:5px; color:var(--green-dark); font-size:12px; font-weight:700; }
.panel-head > a svg { width:15px; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; }
th { height:43px; padding:0 14px; border-bottom:1px solid var(--line); color:#64748b; background:#fafbfc; font-size:10px; text-align:left; text-transform:uppercase; white-space:nowrap; }
td { height:58px; padding:8px 14px; border-bottom:1px solid #edf0f3; color:#374151; vertical-align:middle; }
tbody tr:last-child td { border-bottom:0; }
tbody tr:hover { background:#fafcfd; }
td span,td small { display:block; }
td small { margin-top:3px; color:#9ca3af; font-size:10px; }
.primary-link { color:#1f2937; font-weight:700; }
.primary-link:hover { color:var(--green-dark); }
.property-location { max-width:100%; display:flex; align-items:center; gap:4px; margin-top:5px; color:#7b8798; line-height:1.35; }
.property-location svg { width:12px; height:12px; flex:0 0 12px; }
.property-location span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.number { text-align:right; }
.actions { width:90px; text-align:right; white-space:nowrap; }
.actions .icon-button { display:inline-grid; }
.property-list-table .property-actions { width:130px; }
.property-actions .icon-button + .icon-button { margin-left:4px; }
.map-action { border-color:#b7dfc6 !important; color:var(--green-dark); background:#f2fbf5 !important; }
.map-action:hover { border-color:#86c89f !important; color:#116b34; background:#e7f8ed !important; }
.status,.priority { display:inline-flex; width:max-content; align-items:center; padding:4px 8px; border-radius:12px; font-size:10px; font-weight:800; }
.status.new,.status.lead { color:#1d4ed8; background:#dbeafe; }
.status.qualification { color:#7c3aed; background:#ede9fe; }
.status.proposal { color:#b45309; background:#fef3c7; }
.status.won,.status.client { color:#15803d; background:#dcfce7; }
.status.lost,.status.inactive { color:#6b7280; background:#e5e7eb; }
.status.available,.status.active { color:#15803d; background:#dcfce7; }
.status.reserved,.status.planned,.status.candidate { color:#b45309; background:#fef3c7; }
.status.rented { color:#1d4ed8; background:#dbeafe; }
.status.cancelled,.status.former,.status.ended { color:#6b7280; background:#e5e7eb; }
.status.owned { color:#15803d; background:#dcfce7; }
.status.for_sale { color:#7c3aed; background:#ede9fe; }
.status.sold { color:#6b7280; background:#e5e7eb; }
.priority.low { color:#64748b; background:#f1f5f9; }
.priority.normal { color:#1d4ed8; background:#dbeafe; }
.priority.high { color:#b91c1c; background:#fee2e2; }
.task-type { display:inline-flex; width:max-content; align-items:center; padding:4px 8px; border-radius:12px; color:#475569; background:#f1f5f9; font-size:10px; font-weight:800; }
.task-type.viewing { color:#1d4ed8; background:#dbeafe; }
.task-type.payment { color:#15803d; background:#dcfce7; }
.task-type.repair { color:#b45309; background:#fef3c7; }
.task-type.documents { color:#7c3aed; background:#ede9fe; }
.task-type.rent { color:#15803d; background:#dcfce7; }
.task-type.sale { color:#be123c; background:#ffe4e6; }
.task-list { display:grid; }
.task-row { min-height:64px; display:grid; grid-template-columns:30px minmax(0,1fr) 42px; gap:7px; align-items:center; padding:9px 14px; border-bottom:1px solid #edf0f3; }
.task-row:last-child { border-bottom:0; }
.task-row form button,.check-button { width:28px; height:28px; display:grid; place-items:center; padding:0; border:0; color:#94a3b8; background:transparent; }
.task-row form button:hover,.check-button:hover { color:var(--green); }
.task-row > div { min-width:0; display:grid; gap:4px; }
.task-row a { overflow:hidden; font-size:12px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.task-row span { color:var(--muted); font-size:10px; }
.task-row time { color:var(--muted); font-size:11px; text-align:right; }
.task-row.overdue time,.date-overdue { color:var(--red); font-weight:800; }
.task-row.reminder { background:#fffbeb; }
.task-row.reminder time { color:var(--amber); font-weight:800; }
.task-count { display:inline-flex; width:max-content; align-items:center; gap:4px; color:var(--amber); font-size:11px; font-weight:800; }
.task-count svg { width:14px; }
.list-panel { overflow:hidden; }
.filter-list-panel { overflow:visible; }
.filters { min-height:65px; display:flex; align-items:center; gap:9px; padding:12px 14px; border-bottom:1px solid var(--line); }
.filters > a { color:var(--green-dark); font-size:12px; font-weight:700; }
.search-field { width:min(420px,100%); height:40px; display:flex; align-items:center; gap:8px; padding:0 11px; border:1px solid #d5dae1; border-radius:5px; background:white; }
.search-field svg { color:#94a3b8; }
.search-field input { width:100%; border:0; outline:0; }
.filters select { height:40px; min-width:160px; padding:0 10px; border:1px solid #d5dae1; border-radius:5px; background:white; }
.multi-filter { position:relative; min-width:190px; }
.multi-filter[open] { z-index:41; }
.multi-filter summary { height:40px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0 10px; border:1px solid #d5dae1; border-radius:5px; color:#374151; background:white; cursor:pointer; list-style:none; }
.multi-filter summary::-webkit-details-marker { display:none; }
.multi-filter summary > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.multi-filter summary svg { width:16px; height:16px; flex:0 0 16px; transition:transform .15s ease; }
.multi-filter[open] summary { border-color:#86c89f; box-shadow:0 0 0 3px rgba(31,157,85,.1); }
.multi-filter[open] summary svg { transform:rotate(180deg); }
.multi-filter-menu { position:absolute; z-index:40; top:46px; left:0; min-width:240px; max-width:calc(100vw - 40px); max-height:min(340px,70vh); overflow-y:auto; padding:6px; border:1px solid var(--line); border-radius:6px; background:white; box-shadow:0 12px 30px rgba(15,23,42,.16); }
.multi-filter-menu label { min-height:36px; display:flex; align-items:center; gap:9px; padding:7px 9px; border-radius:4px; cursor:pointer; }
.multi-filter-menu label:hover { background:#f1f8f4; }
.multi-filter-menu input { width:16px; height:16px; flex:0 0 16px; margin:0; accent-color:var(--green); }
.multi-filter-menu span { color:#374151; font-size:12px; font-weight:600; }
.tabs { display:flex; gap:3px; padding:12px 14px; border-bottom:1px solid var(--line); }
.tabs a { padding:8px 12px; border-radius:5px; color:var(--muted); font-weight:700; }
.tabs a.active { color:var(--green-dark); background:#eaf7ef; }
.task-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); }
.task-toolbar .tabs { border-bottom:0; }
.task-toolbar form { padding-right:14px; }
.task-toolbar select { height:38px; min-width:210px; padding:0 10px; border:1px solid #d5dae1; border-radius:5px; background:white; }
.section-tabs { display:flex; gap:22px; margin:-8px 0 16px; border-bottom:1px solid var(--line); }
.section-tabs a { padding:10px 2px; color:var(--muted); font-weight:700; }
.section-tabs a.active { margin-bottom:-1px; border-bottom:2px solid var(--green); color:var(--green-dark); }
.check { width:46px; text-align:center; }
tr.completed td { color:#9ca3af; }
tr.completed .primary-link { color:#9ca3af; text-decoration:line-through; }
.empty-row,.empty-block { padding:30px!important; color:var(--muted); text-align:center; }
.finance-amount.income,.finance-totals .income,.finance-overview .income { color:#15803d; }
.finance-amount.expense,.finance-totals .expense,.finance-overview .expense { color:#b91c1c; }
.portfolio-panel { margin-top:20px; overflow:hidden; }
.portfolio-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.portfolio-row > a { min-width:0; min-height:82px; display:grid; grid-template-columns:38px minmax(0,1fr) auto auto; align-items:center; gap:12px; padding:14px 18px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.portfolio-row > a:nth-child(3n) { border-right:0; }
.portfolio-row > a:hover { background:#fafcfd; }
.portfolio-row > a > div { min-width:0; display:grid; gap:4px; }
.portfolio-row > a > div strong,.portfolio-row > a > div small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.portfolio-row > a > div small { color:var(--muted); font-size:10px; }
.portfolio-value { min-width:88px; display:grid; gap:3px; text-align:right; }
.portfolio-value strong { font-size:14px; }
.portfolio-value small { color:var(--muted); font-size:10px; }
.property-price-cell { min-width:210px; }
.property-price-cell > strong { font-size:15px; }
.property-price-cell .property-price-uah { color:#64748b; font-size:11px; font-weight:700; }
.property-price-cell .property-purchase-line { margin-top:6px; padding-top:5px; border-top:1px solid #edf0f3; }
.property-icon { width:36px; height:36px; display:grid; place-items:center; border-radius:6px; color:var(--green-dark); background:#eaf7ef; }
.property-head h1 { margin-top:9px; }
.back-link.compact { width:max-content; font-size:11px; }
.map-button { color:var(--green-dark)!important; }
.map-location-warning { display:flex; align-items:flex-start; gap:11px; margin-bottom:14px; padding:12px 15px; border:1px solid #f4d7a5; border-radius:6px; color:#7c4a03; background:#fffaf0; }
.map-location-warning > svg { width:19px; height:19px; flex:0 0 19px; margin-top:1px; }
.map-location-warning div { min-width:0; display:grid; gap:3px; }
.map-location-warning span { color:#805b24; font-size:12px; line-height:1.5; }
.map-location-warning a { color:#8b4b00; font-weight:800; text-decoration:underline; text-underline-offset:2px; }
.property-map-panel { overflow:hidden; }
.property-map-summary { min-height:64px; }
.property-map-summary h2 { margin:0; font-size:16px; }
.property-map-summary p { margin:3px 0 0; color:var(--muted); font-size:11px; }
.map-legend { display:flex; align-items:center; justify-content:flex-end; gap:12px 16px; flex-wrap:wrap; }
.map-legend span { display:inline-flex; align-items:center; gap:6px; color:#536072; font-size:11px; font-weight:700; white-space:nowrap; }
.map-dot { width:9px; height:9px; flex:0 0 9px; border:2px solid white; border-radius:50%; box-shadow:0 0 0 1px rgba(15,23,42,.14); background:#475569; }
.map-dot.owned { background:var(--green); }
.map-dot.rented { background:var(--blue); }
.map-dot.for-sale { background:#7c3aed; }
.map-dot.sold { background:#64748b; }
.property-map-canvas { width:100%; height:min(68vh,720px); min-height:520px; background:#e8edf1; }
.property-map-canvas.leaflet-container { font-family:inherit; }
.property-map-canvas .leaflet-overlay-pane svg { width:auto; height:auto; }
.property-map-canvas .leaflet-control-zoom a { color:#334155; }
.property-map-canvas .leaflet-control-attribution { color:#64748b; font-size:9px; }
.property-map-point { cursor:pointer; filter:drop-shadow(0 2px 3px rgba(15,23,42,.42)); transition:filter .15s ease; }
.property-map-point:hover,.property-map-point:focus { filter:drop-shadow(0 2px 5px rgba(15,23,42,.62)); outline:none; }
.property-map-canvas .leaflet-tooltip { padding:5px 8px; border:0; border-radius:4px; color:#1f2937; box-shadow:0 3px 10px rgba(15,23,42,.2); font-family:inherit; font-size:10px; font-weight:800; }
.property-map-popup { display:grid; gap:5px; padding:2px; color:var(--ink); font-family:inherit; }
.property-map-popup > strong { padding-right:8px; font-size:14px; line-height:1.35; }
.property-map-popup > span { color:#64748b; font-size:11px; line-height:1.45; }
.property-map-popup > small { width:max-content; display:inline-flex; align-items:center; gap:5px; color:#475569; font-size:10px; font-weight:800; }
.property-map-popup > small::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--marker-color); }
.property-map-popup-actions { display:flex; gap:7px; margin-top:5px; padding-top:8px; border-top:1px solid #e5e7eb; }
.property-map-popup-actions a { flex:1; padding:6px 8px; border:1px solid #d7dde5; border-radius:4px; color:#334155; background:white; font-size:10px; font-weight:800; text-align:center; white-space:nowrap; }
.property-map-popup-actions a:last-child { color:#166534; border-color:#b7dfc6; background:#f2fbf5; }
.map-load-error { margin:0; padding:30px; color:var(--muted); text-align:center; }
.object-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin-bottom:14px; border:1px solid var(--line); border-radius:7px; background:white; }
.object-summary > div { min-width:0; display:grid; gap:7px; padding:16px 18px; border-right:1px solid var(--line); }
.object-summary > div:last-child { border-right:0; }
.object-summary > div > span { color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.object-summary > div > strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dual-value { display:grid; gap:3px; }
.dual-value small { color:var(--muted); font-size:10px; font-weight:600; }
.quick-actions { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.quick-actions > a { min-width:190px; flex:1 1 190px; display:flex; align-items:center; gap:10px; padding:11px 14px; border:1px solid var(--line); border-radius:6px; background:white; }
.quick-actions > a:hover { border-color:#b8c5bb; }
.quick-actions > a > svg { color:var(--green); }
.quick-actions > a > span { display:grid; gap:2px; }
.quick-actions strong { font-size:12px; }
.quick-actions small { color:var(--muted); font-size:10px; }
.detail-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.85fr); gap:20px; }
.detail-grid.lower { margin-top:20px; }
.valuation-panel { margin-bottom:20px; }
.valuation-list .file-link { flex:1; }
.valuation-list .file-link time { flex:0 0 66px; }
.finance-totals { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--line); }
.finance-totals.sale-totals { grid-template-columns:repeat(4,1fr); }
.finance-totals > div { display:grid; gap:5px; padding:13px 16px; border-right:1px solid var(--line); }
.finance-totals > div:last-child { border-right:0; }
.finance-totals span { color:var(--muted); font-size:10px; }
.finance-totals small { color:var(--muted); font-size:10px; }
.compact-list { display:grid; }
.compact-list > a,.compact-list > div:not(.empty-block) { min-height:58px; display:flex; align-items:center; gap:10px; padding:9px 14px; border-bottom:1px solid #edf0f3; }
.compact-list > a:last-child,.compact-list > div:last-child { border-bottom:0; }
.compact-list > a:hover { background:#fafcfd; }
.compact-list > a > span,.compact-list .file-link > span { min-width:0; flex:1; display:grid; gap:3px; font-weight:700; }
.compact-list small { color:var(--muted); font-size:10px; font-weight:500; }
.compact-list time { width:66px; color:var(--muted); font-size:10px; }
.compact-list strong { margin-left:auto; white-space:nowrap; }
.files-list > div { justify-content:space-between; }
.file-link { min-width:0; display:flex; align-items:center; gap:9px; }
.file-link > svg { flex:0 0 auto; color:var(--green); }
.row-actions { display:flex; gap:4px; }
.property-notes { margin-top:20px; padding:18px 20px; border-left:3px solid var(--green); background:white; }
.property-notes h2 { margin:0 0 8px; font-size:15px; }
.property-notes p { margin:0; color:#4b5563; line-height:1.65; }
.finance-overview { display:grid; grid-template-columns:1fr 1fr; max-width:600px; margin-bottom:16px; border:1px solid var(--line); border-radius:7px; background:white; }
.finance-overview > div { display:grid; gap:5px; padding:14px 18px; border-right:1px solid var(--line); }
.finance-overview > div:last-child { border-right:0; }
.finance-overview span { color:var(--muted); font-size:11px; }
.finance-overview strong { font-size:20px; }
.finance-filter-panel { margin-bottom:14px; padding:16px; border:1px solid var(--line); border-radius:7px; background:white; }
.finance-period-row { display:flex; align-items:center; gap:16px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.finance-period-row > span { flex:0 0 auto; color:var(--muted); font-size:11px; font-weight:800; text-transform:uppercase; }
.finance-period-options { display:flex; gap:4px; }
.period-option { min-height:34px; padding:6px 11px; border:1px solid transparent; border-radius:4px; color:#475569; background:#f1f5f9; font-size:11px; font-weight:700; }
.period-option:hover { background:#e7ebf0; }
.period-option.active { border-color:#86c9a4; color:#166534; background:#eaf7ef; }
.finance-filter-grid { display:grid; grid-template-columns:minmax(170px,1.3fr) repeat(2,minmax(145px,1fr)) repeat(2,minmax(135px,.8fr)) auto; gap:10px; align-items:end; padding-top:14px; }
.finance-filter-grid > label,.finance-multi-field { min-width:0; display:grid; gap:6px; }
.finance-filter-grid > label > span,.finance-multi-field > span { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; }
.finance-filter-grid > label > input { width:100%; height:40px; padding:0 10px; border:1px solid #d5dae1; border-radius:5px; color:var(--ink); background:white; }
.finance-multi-field .multi-filter { width:100%; min-width:0; }
.finance-filter-actions { display:flex; gap:6px; }
.finance-filter-actions .button { white-space:nowrap; }
.button.ghost { padding-inline:10px; border-color:var(--line); color:#64748b; background:white; }
.finance-filter-error { margin:12px 0 0; color:#b45309; font-size:11px; font-weight:700; }
.finance-period-summary { display:flex; align-items:center; gap:12px; margin-bottom:10px; color:var(--muted); }
.finance-period-summary > span { display:flex; align-items:center; gap:6px; font-size:11px; font-weight:700; }
.finance-period-summary > span svg { width:15px; color:var(--green); }
.finance-period-summary strong { color:#374151; font-size:12px; }
.finance-period-summary small { margin-left:auto; font-size:10px; }
.finance-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:18px; border:1px solid var(--line); border-radius:7px; background:white; }
.finance-stat { min-width:0; display:grid; gap:7px; padding:16px 18px; border-right:1px solid var(--line); }
.finance-stat:last-child { border-right:0; }
.finance-stat > span { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:11px; font-weight:800; }
.finance-stat > span svg { width:16px; color:var(--green); }
.finance-stat > strong { overflow:hidden; font-size:23px; text-overflow:ellipsis; white-space:nowrap; }
.finance-stat > em { width:max-content; max-width:100%; padding:3px 7px; border:1px solid #e2e8f0; border-radius:4px; color:#475569; background:#f8fafc; font-size:11px; font-style:normal; font-weight:800; }
.finance-stat > small { color:var(--muted); font-size:10px; }
.finance-stat.income > strong,.finance-stat.income > span svg,.finance-stat > small.positive { color:#15803d; }
.finance-stat.expense > strong,.finance-stat.expense > span svg,.finance-stat > small.negative { color:#b91c1c; }
.finance-stat > small.neutral { color:#64748b; }
.finance-analytics-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.finance-analysis-panel { overflow:hidden; }
.legend { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:10px; }
.legend i { width:9px; height:9px; border-radius:2px; }
.legend i.income { margin-left:5px; background:#22a35a; }
.legend i.expense { margin-left:7px; background:#e05a5a; }
.finance-breakdown-list { display:grid; }
.finance-breakdown-row { min-height:62px; display:grid; grid-template-columns:minmax(110px,.8fr) minmax(120px,1.2fr) minmax(140px,.8fr); gap:14px; align-items:center; padding:10px 16px; border-bottom:1px solid #edf0f3; }
.finance-breakdown-row:last-child { border-bottom:0; }
.finance-breakdown-row > div:first-child { min-width:0; display:grid; gap:3px; }
.finance-breakdown-row > div:first-child strong { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.finance-breakdown-row > div:first-child small { color:var(--muted); font-size:9px; }
.finance-bars { height:9px; display:flex; overflow:hidden; border-radius:3px; background:#f1f5f9; }
.finance-bars span { min-width:0; height:100%; }
.finance-bars .income { background:#22a35a; }
.finance-bars .expense { background:#e05a5a; }
.finance-breakdown-values { display:grid; grid-template-columns:1fr 1fr; gap:7px; font-size:10px; font-weight:800; text-align:right; white-space:nowrap; }
.finance-breakdown-values .income { color:#15803d; }
.finance-breakdown-values .expense { color:#b91c1c; }
.finance-property-panel,.finance-operations-panel { margin-top:18px; overflow:hidden; }
.data-form { max-width:900px; border:1px solid var(--line); border-radius:7px; background:white; }
.currency-rate-bar { max-width:900px; display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; padding:12px 16px; border:1px solid #bbf7d0; border-radius:7px; color:#166534; background:#f0fdf4; }
.currency-rate-bar span { display:flex; align-items:center; gap:7px; font-weight:700; }
.auto-rate-status { max-width:900px; display:grid; grid-template-columns:38px minmax(210px,1fr) minmax(210px,1fr) auto; align-items:center; gap:14px; margin-bottom:12px; padding:14px 16px; border:1px solid #cbd5e1; border-radius:7px; background:white; }
.auto-rate-status .auto-rate-icon { width:36px; height:36px; display:grid; place-items:center; border-radius:6px; color:#475569; background:#f1f5f9; }
.auto-rate-current,.auto-rate-message { min-width:0; display:grid; gap:3px; }
.auto-rate-current > span { color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.auto-rate-current > strong { font-size:18px; }
.auto-rate-status p,.auto-rate-status small { margin:0; color:var(--muted); font-size:11px; }
.auto-rate-status.error { border-color:#fecaca; background:#fffafa; }
.auto-rate-status.error .auto-rate-icon { color:#b91c1c; background:#fee2e2; }
.auto-rate-status.error small { color:#991b1b; }
.auto-rate-status.success { border-color:#bbf7d0; background:#fbfffc; }
.auto-rate-status.success .auto-rate-icon { color:#15803d; background:#dcfce7; }
.auto-rate-message { padding-left:14px; border-left:1px solid var(--line); }
.auto-rate-status form { margin:0; }
.auto-rate-status form .button { white-space:nowrap; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:22px; }
.form-grid label { display:grid; gap:7px; color:#374151; font-size:12px; font-weight:700; }
.form-grid label.wide { grid-column:1 / -1; }
.form-grid .wide { grid-column:1 / -1; }
.form-grid label b { color:var(--red); }
.form-control { width:100%; min-height:42px; padding:9px 11px; border:1px solid #cfd5dc; border-radius:5px; color:var(--ink); background:white; outline:0; }
.form-control:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(23,134,75,.12); }
textarea.form-control { resize:vertical; }
.field-error { color:var(--red); }
.form-actions { display:flex; justify-content:flex-end; gap:8px; padding:15px 22px; border-top:1px solid var(--line); background:#fafbfc; }
.confirm-box { max-width:480px; display:grid; justify-items:center; gap:10px; margin:70px auto; padding:32px; border:1px solid var(--line); border-radius:7px; background:white; text-align:center; }
.confirm-box > span { width:52px; height:52px; display:grid; place-items:center; border-radius:50%; color:var(--red); background:#fee2e2; }
.confirm-box h1 { margin:7px 0 0; font-size:23px; }
.confirm-box p { margin:0 0 12px; color:var(--muted); }
.confirm-box form { display:flex; gap:8px; }
.login-page { min-height:100vh; display:grid; place-items:center; padding:20px; background:#edf1f5; }
.login-shell { width:min(850px,100%); min-height:480px; display:grid; grid-template-columns:.9fr 1.1fr; overflow:hidden; border:1px solid #dce1e7; border-radius:8px; box-shadow:0 24px 70px rgba(31,41,55,.12); }
.login-brand { display:flex; align-items:flex-end; gap:12px; padding:34px; color:white; background:var(--sidebar); }
.login-brand > div { display:grid; gap:4px; }
.login-brand strong { font-size:21px; }
.login-brand span:last-child { color:#aeb7c4; font-size:12px; }
.login-form { display:grid; align-content:center; gap:17px; padding:48px; background:white; }
.eyebrow { color:var(--green-dark); font-size:10px; font-weight:800; }
.login-form h1 { margin:5px 0 0; font-size:27px; }
.login-form p { margin:6px 0 0; color:var(--muted); }
.login-form label { display:grid; gap:7px; color:#374151; font-size:12px; font-weight:700; }
.login-form input { height:44px; padding:0 12px; border:1px solid #cfd5dc; border-radius:5px; outline:0; }
.login-form input:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(23,134,75,.12); }
.login-form small { color:var(--muted); text-align:center; }
.form-error { padding:10px 12px; border:1px solid #fecaca; border-radius:5px; color:#991b1b; background:#fef2f2; }
@media (max-width:1100px) { .metric-strip,.metric-strip.rental-metrics,.metric-strip.dashboard-metrics,.metric-strip.property-metrics { grid-template-columns:1fr 1fr; } .metric-strip > *,.dashboard-metrics > *:nth-child(-n+3),.property-metrics > *:nth-child(-n+3) { border-bottom:1px solid var(--line); } .dashboard-metrics > *:nth-child(3n),.property-metrics > *:nth-child(3n) { border-right:1px solid var(--line); } .metric-strip > *:nth-child(even) { border-right:0; } .metric-strip > *:last-child,.dashboard-metrics > *:nth-last-child(-n+2),.property-metrics > *:nth-last-child(-n+2) { border-bottom:0; } .dashboard-grid,.detail-grid { grid-template-columns:1fr; } .object-summary { grid-template-columns:repeat(3,1fr); } .object-summary > div { border-bottom:1px solid var(--line); } .portfolio-row { grid-template-columns:repeat(2,1fr); } .portfolio-row > a,.portfolio-row > a:nth-child(3n) { border-right:1px solid var(--line); } .portfolio-row > a:nth-child(2n) { border-right:0; } .finance-filter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .finance-filter-actions { grid-column:1 / -1; } .finance-stat-grid { grid-template-columns:1fr 1fr; } .finance-stat:nth-child(2) { border-right:0; } .finance-stat:nth-child(-n+2) { border-bottom:1px solid var(--line); } .finance-analytics-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .sidebar { position:static; width:100%; height:auto; padding:10px; overflow-x:auto; scrollbar-width:none; } .sidebar::-webkit-scrollbar { display:none; } .brand { display:none; } .sidebar nav { min-width:440px; grid-template-columns:repeat(6,1fr); margin:0; } .nav-label,.sidebar-foot { display:none; } .sidebar nav a { justify-content:center; padding:0 5px; font-size:10px; } .sidebar nav a.active { box-shadow:inset 0 -3px var(--green); } .app-shell { margin-left:0; } .topbar { height:60px; padding:0 14px; } .content { padding:18px 12px 40px; } .messages { padding:10px 12px 0; } .page-head { min-height:auto; } .page-head h1 { font-size:22px; } .form-grid { grid-template-columns:1fr; padding:16px; } .form-grid label.wide,.form-grid .wide { grid-column:1; } .filters { align-items:stretch; flex-wrap:wrap; } .search-field { flex:1 1 100%; } .property-list-table thead { display:none; } .property-list-table,.property-list-table tbody { display:block; width:100%; } .property-list-table .property-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(126px,auto); grid-template-areas:"main price" "type status" "tasks actions"; gap:9px 12px; padding:14px; border-bottom:1px solid var(--line); } .property-list-table .property-row:last-child { border-bottom:0; } .property-list-table .property-row:hover { background:#fafcfd; } .property-list-table .property-row td { width:auto; height:auto; padding:0; border:0; } .property-list-table .property-main { grid-area:main; } .property-list-table .property-type { grid-area:type; color:var(--muted); font-size:11px; } .property-list-table .property-status { grid-area:status; justify-self:end; } .property-list-table .property-tasks { grid-area:tasks; color:var(--muted); } .property-list-table .property-price-cell { grid-area:price; min-width:0; align-self:start; } .property-list-table .property-actions { grid-area:actions; justify-self:end; } .property-list-table .empty-row { display:block; } .object-summary { grid-template-columns:1fr 1fr; } .object-summary > div:nth-child(even) { border-right:0; } .quick-actions { overflow-x:auto; padding-bottom:3px; scrollbar-width:none; } .quick-actions::-webkit-scrollbar { display:none; } .quick-actions > a { flex:0 0 180px; } .finance-totals.sale-totals { grid-template-columns:1fr 1fr; } .task-toolbar { align-items:stretch; flex-direction:column; } .task-toolbar form { padding:0 14px 12px; } .task-toolbar select { width:100%; } .finance-period-row { align-items:flex-start; flex-direction:column; gap:8px; } .finance-period-options { width:100%; flex-wrap:wrap; overflow:visible; padding-bottom:2px; } .period-option { flex:0 0 auto; } .finance-filter-grid { grid-template-columns:1fr 1fr; } .finance-filter-grid > :first-child { grid-column:1 / -1; } .finance-filter-actions { flex-wrap:wrap; } .finance-period-summary { align-items:flex-start; flex-wrap:wrap; } .finance-period-summary small { width:100%; margin-left:0; } .finance-breakdown-row { grid-template-columns:minmax(95px,.7fr) minmax(100px,1fr); } .finance-breakdown-values { grid-column:1 / -1; text-align:left; } .property-map-summary { align-items:flex-start; flex-direction:column; } .map-legend { width:100%; justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; padding-bottom:3px; scrollbar-width:none; } .map-legend::-webkit-scrollbar { display:none; } .property-map-canvas { height:calc(100svh - 245px); min-height:500px; } }
@media (max-width:520px) { .sidebar nav a { gap:5px; flex-direction:column; min-height:52px; } .topbar > div:first-child span,.user-menu > div { display:none; } .metric-strip,.metric-strip.rental-metrics,.metric-strip.dashboard-metrics,.metric-strip.property-metrics { grid-template-columns:1fr; } .metric-strip > *,.dashboard-metrics > *:nth-last-child(-n+2),.property-metrics > *:nth-last-child(-n+2) { border-right:0; border-bottom:1px solid var(--line); } .metric-strip > *:last-child { border-bottom:0; } .page-head { align-items:start; } .page-head p { font-size:12px; } .head-actions { flex-direction:column; } .button { padding-inline:11px; } .filters > select,.filters > .multi-filter { width:100%; flex:1 1 100%; } .filters > .multi-filter .multi-filter-menu { width:100%; min-width:0; } .login-shell { grid-template-columns:1fr; } .login-brand { align-items:center; min-height:110px; padding:22px; } .login-form { padding:28px 22px; } .portfolio-row { grid-template-columns:1fr; } .portfolio-row > a,.portfolio-row > a:nth-child(2n),.portfolio-row > a:nth-child(3n) { border-right:0; } .portfolio-value small { display:none; } .object-summary { grid-template-columns:1fr; } .object-summary > div { border-right:0; } .quick-actions { display:grid; grid-template-columns:1fr 1fr; overflow:visible; padding-bottom:0; } .quick-actions > a { min-width:0; } .quick-actions > a:nth-child(3) { grid-column:1 / -1; } .finance-totals,.finance-totals.sale-totals { grid-template-columns:1fr; } .finance-totals > div { border-right:0; border-bottom:1px solid var(--line); } .finance-totals > div:last-child { border-bottom:0; } .auto-rate-status { grid-template-columns:38px minmax(0,1fr); } .auto-rate-message,.auto-rate-status form { grid-column:1 / -1; padding:10px 0 0; border-top:1px solid var(--line); border-left:0; } .auto-rate-status form .button { width:100%; } .form-actions { flex-wrap:wrap; } .form-actions .button { flex:1 1 auto; } }
@media (max-width:520px) { .finance-filter-grid { grid-template-columns:1fr; } .finance-filter-grid > :first-child,.finance-filter-actions { grid-column:auto; } .finance-multi-field .multi-filter-menu { width:100%; min-width:0; } .finance-filter-actions .button:not(.ghost) { flex:1 1 130px; } .finance-stat-grid { grid-template-columns:1fr; } .finance-stat,.finance-stat:nth-child(2) { border-right:0; border-bottom:1px solid var(--line); } .finance-stat:last-child { border-bottom:0; } .finance-breakdown-row { grid-template-columns:1fr; gap:8px; } .finance-breakdown-values { grid-column:auto; } }

html[data-theme="light"] { color-scheme:light; }
html[data-theme="dark"] {
    color-scheme:dark;
    --ink:#edf2ed;
    --muted:#9da89f;
    --line:#39423b;
    --surface:#151815;
    --white:#202520;
    --green:#42c97b;
    --green-dark:#78dda2;
    --blue:#60a5fa;
    --amber:#fbbf24;
    --red:#f87171;
    --sidebar:#0f120f;
}
html[data-theme="dark"] body { background:var(--surface); }
html[data-theme="dark"] .sidebar { color:#eef4ef; background:var(--sidebar); }
html[data-theme="dark"] .sidebar nav a { color:#bbc5bd; }
html[data-theme="dark"] .sidebar nav a:hover,
html[data-theme="dark"] .sidebar nav a.active { color:white; background:#293029; }
html[data-theme="dark"] .sidebar-foot { border-color:#303830; color:#bbc5bd; }
html[data-theme="dark"] .topbar,
html[data-theme="dark"] .icon-button.bordered,
html[data-theme="dark"] .button.secondary,
html[data-theme="dark"] .metric-strip,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .search-field,
html[data-theme="dark"] .filters select,
html[data-theme="dark"] .multi-filter summary,
html[data-theme="dark"] .multi-filter-menu,
html[data-theme="dark"] .task-toolbar select,
html[data-theme="dark"] .object-summary,
html[data-theme="dark"] .quick-actions > a,
html[data-theme="dark"] .property-notes,
html[data-theme="dark"] .finance-overview,
html[data-theme="dark"] .finance-filter-panel,
html[data-theme="dark"] .finance-filter-grid > label > input,
html[data-theme="dark"] .button.ghost,
html[data-theme="dark"] .finance-stat-grid,
html[data-theme="dark"] .data-form,
html[data-theme="dark"] .auto-rate-status,
html[data-theme="dark"] .form-control,
html[data-theme="dark"] .confirm-box,
html[data-theme="dark"] .login-form,
html[data-theme="dark"] .property-map-popup-actions a { background:var(--white); }
html[data-theme="dark"] .button.secondary,
html[data-theme="dark"] td,
html[data-theme="dark"] .primary-link,
html[data-theme="dark"] .multi-filter summary,
html[data-theme="dark"] .multi-filter-menu span,
html[data-theme="dark"] .finance-period-summary strong,
html[data-theme="dark"] .form-grid label,
html[data-theme="dark"] .login-form label,
html[data-theme="dark"] .property-notes p,
html[data-theme="dark"] .property-map-popup-actions a { color:var(--ink); }
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea { color:var(--ink); }
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color:#778279; opacity:1; }
html[data-theme="dark"] .search-field input { background:transparent; }
html[data-theme="dark"] .icon-button { color:#a6b1a8; }
html[data-theme="dark"] .icon-button:hover { color:var(--ink); background:#2b322c; }
html[data-theme="dark"] .theme-toggle { background:#252b26; }
html[data-theme="dark"] .user-avatar { color:#9aefb9; background:#173c27; }
html[data-theme="dark"] th,
html[data-theme="dark"] .form-actions { background:#1b1f1c; }
html[data-theme="dark"] th,
html[data-theme="dark"] .property-location,
html[data-theme="dark"] .property-price-cell .property-price-uah,
html[data-theme="dark"] .map-legend span { color:#a6b0a8; }
html[data-theme="dark"] td,
html[data-theme="dark"] .task-row,
html[data-theme="dark"] .compact-list > a,
html[data-theme="dark"] .compact-list > div:not(.empty-block),
html[data-theme="dark"] .finance-breakdown-row,
html[data-theme="dark"] .property-price-cell .property-purchase-line { border-color:var(--line); }
html[data-theme="dark"] tbody tr:hover,
html[data-theme="dark"] .portfolio-row > a:hover,
html[data-theme="dark"] .compact-list > a:hover,
html[data-theme="dark"] .property-list-table .property-row:hover { background:#252b27; }
html[data-theme="dark"] .metric-strip .metric-converted,
html[data-theme="dark"] .finance-stat > em { border-color:#465049; color:#d0d8d1; background:#292f2a; }
html[data-theme="dark"] .metric-strip .metric-info { border-color:#58635a; color:#a4afa6; }
html[data-theme="dark"] .metric-strip .metric-note,
html[data-theme="dark"] .finance-stat > small.neutral { color:#a6b0a8; }
html[data-theme="dark"] .metric-strip .metric-gain strong,
html[data-theme="dark"] .metric-strip .metric-gain .metric-note,
html[data-theme="dark"] .finance-amount.income,
html[data-theme="dark"] .finance-totals .income,
html[data-theme="dark"] .finance-overview .income,
html[data-theme="dark"] .finance-stat.income > strong,
html[data-theme="dark"] .finance-stat.income > span svg,
html[data-theme="dark"] .finance-stat > small.positive,
html[data-theme="dark"] .finance-breakdown-values .income { color:#74dfa0; }
html[data-theme="dark"] .metric-strip .metric-gain .metric-converted { border-color:#326b47; color:#a7f3c3; background:#173522; }
html[data-theme="dark"] .metric-strip .metric-loss strong,
html[data-theme="dark"] .metric-strip .metric-loss .metric-note,
html[data-theme="dark"] .metric-strip .metric-loss > span:first-child > svg,
html[data-theme="dark"] .finance-amount.expense,
html[data-theme="dark"] .finance-totals .expense,
html[data-theme="dark"] .finance-overview .expense,
html[data-theme="dark"] .finance-stat.expense > strong,
html[data-theme="dark"] .finance-stat.expense > span svg,
html[data-theme="dark"] .finance-stat > small.negative,
html[data-theme="dark"] .finance-breakdown-values .expense { color:#f59a9a; }
html[data-theme="dark"] .metric-strip .metric-loss .metric-converted { border-color:#754040; color:#fecaca; background:#3a2020; }
html[data-theme="dark"] .message { border-color:#326b47; color:#adf3c7; background:#173522; }
html[data-theme="dark"] .message.error,
html[data-theme="dark"] .form-error { border-color:#754040; color:#fecaca; background:#3a2020; }
html[data-theme="dark"] .map-action,
html[data-theme="dark"] .property-map-popup-actions a:last-child { border-color:#3d7350 !important; color:#9be9b7; background:#183724 !important; }
html[data-theme="dark"] .map-action:hover { border-color:#55a36f !important; color:#b6f3ca; background:#20472f !important; }
html[data-theme="dark"] .status.new,
html[data-theme="dark"] .status.lead,
html[data-theme="dark"] .status.rented,
html[data-theme="dark"] .priority.normal,
html[data-theme="dark"] .task-type.viewing { color:#bfdbfe; background:#1b304d; }
html[data-theme="dark"] .status.qualification,
html[data-theme="dark"] .status.for_sale,
html[data-theme="dark"] .task-type.documents { color:#ddd6fe; background:#30264a; }
html[data-theme="dark"] .status.proposal,
html[data-theme="dark"] .status.reserved,
html[data-theme="dark"] .status.planned,
html[data-theme="dark"] .status.candidate,
html[data-theme="dark"] .task-type.repair { color:#fde68a; background:#3b2d12; }
html[data-theme="dark"] .status.won,
html[data-theme="dark"] .status.client,
html[data-theme="dark"] .status.available,
html[data-theme="dark"] .status.active,
html[data-theme="dark"] .status.owned,
html[data-theme="dark"] .task-type.payment,
html[data-theme="dark"] .task-type.rent { color:#a7f3d0; background:#173823; }
html[data-theme="dark"] .status.lost,
html[data-theme="dark"] .status.inactive,
html[data-theme="dark"] .status.cancelled,
html[data-theme="dark"] .status.former,
html[data-theme="dark"] .status.ended,
html[data-theme="dark"] .status.sold,
html[data-theme="dark"] .priority.low,
html[data-theme="dark"] .task-type { color:#d1d5db; background:#303630; }
html[data-theme="dark"] .priority.high { color:#fecaca; background:#421f1f; }
html[data-theme="dark"] .task-type.sale { color:#fecdd3; background:#461d29; }
html[data-theme="dark"] .task-row.reminder { background:#332a13; }
html[data-theme="dark"] .multi-filter-menu label:hover { background:#27372c; }
html[data-theme="dark"] .tabs a.active,
html[data-theme="dark"] .period-option.active,
html[data-theme="dark"] .property-icon { color:#9ce9b7; background:#183724; }
html[data-theme="dark"] .period-option { color:#c1cac3; background:#292f2a; }
html[data-theme="dark"] .period-option:hover { background:#343c36; }
html[data-theme="dark"] .finance-bars { background:#303630; }
html[data-theme="dark"] .finance-filter-error { color:#f4c76b; }
html[data-theme="dark"] .currency-rate-bar { border-color:#326b47; color:#adf3c7; background:#173522; }
html[data-theme="dark"] .auto-rate-status .auto-rate-icon { color:#bec8c0; background:#303630; }
html[data-theme="dark"] .auto-rate-status.error { border-color:#754040; background:#2d1c1c; }
html[data-theme="dark"] .auto-rate-status.error .auto-rate-icon { color:#fecaca; background:#421f1f; }
html[data-theme="dark"] .auto-rate-status.error small { color:#fecaca; }
html[data-theme="dark"] .auto-rate-status.success { border-color:#326b47; background:#182a1d; }
html[data-theme="dark"] .auto-rate-status.success .auto-rate-icon { color:#a7f3c3; background:#173522; }
html[data-theme="dark"] .confirm-box > span { background:#421f1f; }
html[data-theme="dark"] .login-page { background:#121512; }
html[data-theme="dark"] .login-shell { border-color:#39423b; box-shadow:0 24px 70px rgba(0,0,0,.34); }
html[data-theme="dark"] .map-location-warning { border-color:#705522; color:#fde68a; background:#332a13; }
html[data-theme="dark"] .map-location-warning span,
html[data-theme="dark"] .map-location-warning a { color:#f3d28b; }
html[data-theme="dark"] .map-dot { border-color:#202520; box-shadow:0 0 0 1px rgba(255,255,255,.2); }
html[data-theme="dark"] .property-map-canvas { background:#1b201c; }
html[data-theme="dark"] .property-map-canvas .leaflet-tile-pane { filter:brightness(.58) saturate(.72) contrast(1.18); }
html[data-theme="dark"] .property-map-canvas .leaflet-control-zoom a,
html[data-theme="dark"] .property-map-canvas .leaflet-control-attribution,
html[data-theme="dark"] .property-map-canvas .leaflet-tooltip,
html[data-theme="dark"] .property-map-canvas .leaflet-popup-content-wrapper,
html[data-theme="dark"] .property-map-canvas .leaflet-popup-tip { color:var(--ink); background:#202520; }
html[data-theme="dark"] .property-map-canvas .leaflet-control-zoom a { border-color:#39423b; }
html[data-theme="dark"] .property-map-canvas .leaflet-control-attribution a { color:#8fdfa9; }
html[data-theme="dark"] .property-map-popup > span,
html[data-theme="dark"] .property-map-popup > small { color:#b0bab2; }
html[data-theme="dark"] .property-map-popup-actions { border-color:#39423b; }
