:root {
  --navy-950: #08111f;
  --navy-900: #0f172a;
  --navy-800: #17233a;
  --blue-600: #2563eb;
  --blue-500: #3b82f6;
  --blue-50: #eff6ff;
  --slate-900: #0f172a;
  --slate-700: #334155;
  --slate-600: #475569;
  --slate-500: #64748b;
  --slate-400: #94a3b8;
  --slate-300: #cbd5e1;
  --slate-200: #e2e8f0;
  --slate-100: #f1f5f9;
  --slate-50: #f8fafc;
  --white: #ffffff;
  --green-700: #15803d;
  --green-100: #dcfce7;
  --amber-700: #a16207;
  --amber-100: #fef3c7;
  --red-700: #b91c1c;
  --red-100: #fee2e2;
  --purple-700: #7e22ce;
  --purple-100: #f3e8ff;
  --cyan-700: #0e7490;
  --cyan-100: #cffafe;
  --radius-sm: 8px;
  --radius: 12px;
  --radius-lg: 18px;
  --shadow: 0 12px 35px rgba(15, 23, 42, .07);
  --sidebar-width: 264px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
.ui-icon { width:1em; height:1em; display:block; flex:0 0 auto; overflow:visible; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--slate-900); background: #f5f7fb; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: var(--sidebar-width); background: linear-gradient(180deg, var(--navy-950), var(--navy-900)); color: #dbe5f5; display: flex; flex-direction: column; z-index: 50; }
.brand { min-height: 82px; padding: 18px 18px 14px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid rgba(255,255,255,.08); }
.brand-mark { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; color: white; font-weight: 800; letter-spacing: -.04em; background: linear-gradient(135deg, #2563eb, #22c55e); box-shadow: 0 10px 24px rgba(37,99,235,.3); }
.brand-copy { min-width: 0; display: grid; }
.brand-copy strong { color: white; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.brand-copy span, .sidebar-user span { color: #8fa3bd; font-size: 12px; }
.sidebar-close { display: none; margin-left: auto; color: white; }
.navigation { padding: 14px 12px; overflow-y: auto; flex: 1; }
.nav-label { padding: 14px 12px 7px; color: #70849d; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.nav-link { display: flex; align-items: center; gap: 11px; padding: 10px 12px; margin: 2px 0; border-radius: 10px; color: #b9c7d9; font-size: 14px; font-weight: 600; transition: .16s ease; }
.nav-link:hover { color: white; background: rgba(255,255,255,.06); }
.nav-link.active { color: white; background: linear-gradient(90deg, rgba(37,99,235,.95), rgba(59,130,246,.7)); box-shadow: 0 8px 20px rgba(37,99,235,.2); }
.nav-icon { width: 24px; height: 24px; display: grid; place-items: center; font-size: 17px; }
.nav-icon .ui-icon { width:18px; height:18px; }
.global-search > span { width:18px; height:18px; display:grid; place-items:center; color:var(--slate-500); }
.global-search .ui-icon { width:16px; height:16px; }
.icon-button .ui-icon { width:19px; height:19px; }
.sidebar-user > a .ui-icon { width:17px; height:17px; }
.sidebar-user { padding: 14px 16px; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 10px; border-top: 1px solid rgba(255,255,255,.08); }
.sidebar-user div:nth-child(2) { min-width: 0; display: grid; }
.sidebar-user strong { color: white; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.avatar { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: #20304b; color: white; font-weight: 800; }
.sidebar-overlay { display: none; }

.main-area { min-width: 0; margin-left: var(--sidebar-width); min-height: 100vh; display: flex; flex-direction: column; }
.topbar { height: 72px; position: sticky; top: 0; z-index: 35; display: flex; align-items: center; gap: 18px; padding: 0 28px; background: rgba(255,255,255,.92); backdrop-filter: blur(14px); border-bottom: 1px solid var(--slate-200); }
.icon-button { width: 40px; height: 40px; border: 0; border-radius: 11px; display: inline-grid; place-items: center; background: transparent; color: var(--slate-600); font-size: 20px; }
.icon-button:hover { background: var(--slate-100); color: var(--slate-900); }
.menu-button { display: none; }
.global-search { width: min(620px, 60vw); display: flex; align-items: center; gap: 10px; padding: 0 12px; height: 42px; border: 1px solid var(--slate-200); border-radius: 12px; background: var(--slate-50); }
.global-search input { border: 0; outline: none; background: transparent; flex: 1; min-width: 0; color: var(--slate-900); }
.global-search kbd { padding: 1px 7px; border: 1px solid var(--slate-200); border-radius: 6px; color: var(--slate-500); background: white; font-size: 12px; }
.topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.notification-button { position: relative; }
.notification-button span { position: absolute; top: 2px; right: 2px; min-width: 17px; height: 17px; padding: 0 4px; display: grid; place-items: center; border-radius: 10px; background: #ef4444; color: white; border: 2px solid white; font-size: 9px; font-weight: 800; }
.top-user { display: grid; min-width: 120px; }
.top-user strong { font-size: 13px; }
.top-user span { color: var(--slate-500); font-size: 11px; }

.content { width: 100%; max-width: 1680px; margin: 0 auto; padding: 28px; flex: 1; }
.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.page-heading h1 { margin: 0; font-size: clamp(24px, 2vw, 31px); letter-spacing: -.035em; }
.page-heading p { margin: 5px 0 0; color: var(--slate-500); max-width: 750px; }
.page-actions { display: flex; gap: 9px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }

.btn { min-height: 40px; padding: 9px 15px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border-radius: 10px; border: 1px solid transparent; font-weight: 750; font-size: 13px; transition: .15s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--blue-600); color: white; box-shadow: 0 8px 18px rgba(37,99,235,.18); }
.btn-primary:hover { background: #1d4ed8; }
.btn-secondary { background: white; color: var(--slate-700); border-color: var(--slate-200); }
.btn-secondary:hover { border-color: var(--slate-300); background: var(--slate-50); }
.btn-danger { background: #dc2626; color: white; }
.btn-success { background: #15803d; color: white; }
.btn-sm { min-height: 33px; padding: 6px 10px; font-size: 12px; }
.btn-icon { width: 36px; min-height: 36px; padding: 0; }

.grid { display: grid; gap: 18px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.span-2 { grid-column: span 2; }
.span-3 { grid-column: span 3; }

.card { background: white; border: 1px solid var(--slate-200); border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.card-header { padding: 19px 20px 15px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--slate-100); }
.card-header h2, .card-header h3 { margin: 0; font-size: 16px; letter-spacing: -.02em; }
.card-header p { margin: 3px 0 0; color: var(--slate-500); font-size: 13px; }
.card-body { padding: 20px; }
.card-footer { padding: 14px 20px; border-top: 1px solid var(--slate-100); background: var(--slate-50); border-radius: 0 0 var(--radius-lg) var(--radius-lg); }

.metric-card { min-height: 142px; padding: 18px; display: flex; flex-direction: column; justify-content: space-between; background: white; border: 1px solid var(--slate-200); border-radius: 16px; box-shadow: 0 8px 25px rgba(15,23,42,.05); }
.metric-top { display: flex; justify-content: space-between; gap: 10px; color: var(--slate-500); font-size: 12px; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.metric-icon { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--blue-50); color: var(--blue-600); font-size: 16px; }
.metric-icon.pkr-icon,.quick-action-icon.pkr-icon { font-size:7px; font-weight:900; letter-spacing:-.02em; }
.metric-value { margin-top: 13px; font-size: clamp(23px, 2vw, 31px); font-weight: 850; letter-spacing: -.045em; }
.metric-meta { margin-top: 5px; color: var(--slate-500); font-size: 12px; }
.metric-positive { color: var(--green-700); }
.metric-negative { color: var(--red-700); }

.alert { margin-bottom: 16px; padding: 12px 14px; border-radius: 11px; display: flex; align-items: center; justify-content: space-between; gap: 14px; font-size: 13px; font-weight: 650; }
.alert button { border: 0; background: transparent; font-size: 18px; }
.alert-success { color: var(--green-700); background: var(--green-100); }
.alert-warning { color: var(--amber-700); background: var(--amber-100); }
.alert-danger, .alert-error { color: var(--red-700); background: var(--red-100); }
.alert-info { color: var(--cyan-700); background: var(--cyan-100); }

.badge { display: inline-flex; align-items: center; min-height: 25px; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.badge-success { color: var(--green-700); background: var(--green-100); }
.badge-warning { color: var(--amber-700); background: var(--amber-100); }
.badge-danger { color: var(--red-700); background: var(--red-100); }
.badge-info { color: var(--cyan-700); background: var(--cyan-100); }
.badge-purple { color: var(--purple-700); background: var(--purple-100); }
.badge-neutral { color: var(--slate-600); background: var(--slate-100); }

.toolbar { margin-bottom: 16px; padding: 14px; display: flex; align-items: end; gap: 10px; flex-wrap: wrap; background: white; border: 1px solid var(--slate-200); border-radius: 14px; }
.toolbar .field { min-width: 145px; flex: 1 1 145px; }
.toolbar .field-search { flex-basis: 260px; }
.field { display: grid; gap: 6px; }
.field label { color: var(--slate-600); font-size: 12px; font-weight: 750; }
.field .hint { margin: 0; color: var(--slate-500); font-size: 11px; }
.input, .select, .textarea { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid var(--slate-300); border-radius: 10px; outline: none; background: white; color: var(--slate-900); transition: .15s ease; }
.textarea { min-height: 100px; resize: vertical; }
.input:focus, .select:focus, .textarea:focus { border-color: var(--blue-500); box-shadow: 0 0 0 3px rgba(59,130,246,.12); }
.input[readonly], .input:disabled { background: var(--slate-100); color: var(--slate-500); }
.form-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; }
.col-12 { grid-column: span 12; }.col-8 { grid-column: span 8; }.col-6 { grid-column: span 6; }.col-5 { grid-column: span 5; }.col-4 { grid-column: span 4; }.col-3 { grid-column: span 3; }.col-2 { grid-column: span 2; }
.form-section { margin-bottom: 18px; }
.form-section-title { margin: 0 0 12px; font-size: 14px; }
.form-actions { display: flex; justify-content: flex-end; gap: 9px; padding-top: 18px; border-top: 1px solid var(--slate-100); }
.required::after { content: " *"; color: #dc2626; }

.table-wrap { overflow: auto; }
.table { width: 100%; border-collapse: collapse; min-width: 760px; }
.table-compact, .dashboard-side-stack .table, .card .table-compact { min-width: 0 !important; }
.table th { padding: 11px 14px; text-align: left; color: var(--slate-500); background: var(--slate-50); border-bottom: 1px solid var(--slate-200); font-size: 10px; text-transform: uppercase; letter-spacing: .07em; white-space: nowrap; }
.table td { padding: 13px 14px; border-bottom: 1px solid var(--slate-100); vertical-align: middle; font-size: 13px; }
.table tbody tr:hover { background: #fbfdff; }
.table tbody tr:last-child td { border-bottom: 0; }
.table .primary { display: grid; gap: 2px; }
.table .primary strong { font-size: 13px; }
.table .primary span { color: var(--slate-500); font-size: 11px; }
.text-right { text-align: right !important; }
.text-muted { color: var(--slate-500); }
.text-danger { color: var(--red-700); }
.text-success { color: var(--green-700); }
.amount { font-variant-numeric: tabular-nums; white-space: nowrap; font-weight: 750; }
.row-actions { display: flex; gap: 6px; justify-content: flex-end; }
.empty-state { padding: 45px 20px; text-align: center; color: var(--slate-500); }
.empty-state strong { display: block; margin-bottom: 5px; color: var(--slate-700); font-size: 16px; }

.pagination { display: flex; gap: 5px; justify-content: flex-end; margin-top: 15px; }
.page-link { min-width: 34px; height: 34px; padding: 0 9px; display: grid; place-items: center; border: 1px solid var(--slate-200); border-radius: 9px; background: white; color: var(--slate-600); font-size: 12px; font-weight: 700; }
.page-link.active { border-color: var(--blue-600); background: var(--blue-600); color: white; }

.detail-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 18px; }
.info-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.info-item { min-width: 0; }
.info-item span { display: block; color: var(--slate-500); font-size: 11px; text-transform: uppercase; letter-spacing: .05em; font-weight: 750; }
.info-item strong { display: block; margin-top: 3px; font-size: 13px; overflow-wrap: anywhere; }
.summary-box { padding: 16px; border-radius: 13px; background: var(--slate-50); border: 1px solid var(--slate-200); }
.summary-row { padding: 8px 0; display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px dashed var(--slate-200); font-size: 13px; }
.summary-row:last-child { border: 0; }
.summary-row.total { font-size: 15px; font-weight: 850; }
.account-summary-group + .account-summary-group { margin-top: 18px; }
.account-summary-label { display:block; margin-bottom:4px; color:var(--slate-900); font-size:12px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.account-summary-total { margin-top:18px; padding:16px; display:grid; grid-template-columns:1fr auto; gap:4px 12px; border-radius:12px; background:linear-gradient(135deg,#eff6ff,#eef2ff); border:1px solid #bfdbfe; color:var(--slate-900); }
.account-summary-total span,.account-summary-total strong { font-size:15px; font-weight:850; }
.account-summary-total small { grid-column:1/-1; color:var(--slate-500); }
.account-breakdown,.account-tools { margin-top:12px; border-top:1px solid var(--slate-200); }
.account-breakdown summary,.account-tools summary { padding:13px 2px 2px; cursor:pointer; color:var(--primary); font-size:12px; font-weight:800; }
.account-breakdown-body,.account-tools > .grid { margin-top:10px; }
.tenant-profile-layout + aside.grid { display:none !important; }
.connected-meter-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.connected-meter-card { min-width:0; padding:14px; display:grid; gap:5px; text-align:left; border:1px solid var(--slate-200); border-radius:12px; background:#fff; color:var(--slate-900); cursor:pointer; }
.connected-meter-card:hover { border-color:var(--primary); box-shadow:0 8px 20px rgba(37,99,235,.1); transform:translateY(-1px); }
.connected-meter-card span { color:var(--primary); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.connected-meter-card strong { font-size:14px; }
.connected-meter-card small { color:var(--slate-500); line-height:1.45; }
.connected-meter-card b { margin-top:4px; color:var(--primary); font-size:11px; }
.connected-meter-card.is-complete { background:var(--slate-50); opacity:.72; cursor:default; }
@media(max-width:900px){.connected-meter-list{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.connected-meter-list{grid-template-columns:1fr;}}

.tabs { display: flex; gap: 5px; padding: 5px; background: var(--slate-100); border-radius: 11px; overflow-x: auto; }
.tab-button { padding: 8px 12px; border: 0; border-radius: 8px; background: transparent; color: var(--slate-600); font-size: 12px; font-weight: 750; white-space: nowrap; }
.tab-button.active { background: white; color: var(--slate-900); box-shadow: 0 3px 8px rgba(15,23,42,.08); }
.tab-panel { margin-top: 16px; }

.attention-list { display: grid; }
.attention-item { padding: 14px 0; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 11px; border-bottom: 1px solid var(--slate-100); }
.attention-item:last-child { border: 0; }
.attention-icon { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: var(--slate-100); }
.attention-item strong { display: block; font-size: 13px; }
.attention-item p { margin: 2px 0 0; color: var(--slate-500); font-size: 12px; }
.progress { height: 9px; overflow: hidden; border-radius: 999px; background: var(--slate-100); }
.progress > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue-600), #22c55e); }
.unit-status-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 9px; }
.unit-chip { padding: 11px; border: 1px solid var(--slate-200); border-radius: 11px; background: white; }
.unit-chip strong { display: block; font-size: 12px; }
.unit-chip span { font-size: 10px; color: var(--slate-500); }

.kpi-split { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.donut { --value: 50; width: 120px; aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--blue-600) calc(var(--value) * 1%), var(--slate-100) 0); position: relative; }
.donut::before { content: ''; width: 82px; aspect-ratio: 1; border-radius: 50%; background: white; position: absolute; }
.donut strong { position: relative; z-index: 1; font-size: 23px; }
.mini-bars { min-height: 180px; display: flex; align-items: flex-end; gap: 10px; padding-top: 20px; }
.mini-bar { flex: 1; min-width: 20px; display: grid; align-items: end; gap: 7px; text-align: center; color: var(--slate-500); font-size: 10px; }
.mini-bar span { display: block; min-height: 3px; border-radius: 7px 7px 2px 2px; background: linear-gradient(180deg, #3b82f6, #2563eb); }

.login-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at top left, rgba(37,99,235,.28), transparent 35%), linear-gradient(135deg, #08111f, #17233a); }
.login-shell { width: min(980px, 100%); min-height: 600px; display: grid; grid-template-columns: 1.1fr .9fr; overflow: hidden; border-radius: 24px; background: white; box-shadow: 0 30px 90px rgba(0,0,0,.28); }
.login-visual { padding: 48px; display: flex; flex-direction: column; justify-content: space-between; color: white; background: linear-gradient(145deg, #0f172a, #1e3a8a); }
.login-visual h1 { max-width: 450px; margin: 30px 0 12px; font-size: clamp(36px, 5vw, 56px); line-height: 1.03; letter-spacing: -.055em; }
.login-visual p { max-width: 470px; color: #c7d8f2; }
.login-features { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.login-feature { padding: 13px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.05); font-size: 12px; }
.login-panel { padding: 58px 48px; display: flex; flex-direction: column; justify-content: center; }
.login-panel h2 { margin: 0 0 5px; font-size: 28px; letter-spacing: -.04em; }
.login-panel > p { margin: 0 0 28px; color: var(--slate-500); }
.login-note { margin-top: 18px; padding: 12px; border-radius: 10px; background: var(--slate-50); color: var(--slate-600); font-size: 12px; }

.app-footer { padding: 18px 28px; display: flex; justify-content: space-between; gap: 20px; color: var(--slate-500); border-top: 1px solid var(--slate-200); font-size: 11px; }

@media (max-width: 1250px) {
  .grid-6 { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .grid-4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .unit-status-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 980px) {
  .sidebar { transform: translateX(-100%); transition: transform .2s ease; }
  .main-area { margin-left: 0; }
  .menu-button, .sidebar-close { display: inline-grid; }
  .sidebar-open .sidebar { transform: translateX(0); }
  .sidebar-open .sidebar-overlay { display: block; position: fixed; inset: 0; z-index: 45; background: rgba(2,6,23,.55); }
  .global-search { width: min(520px, 62vw); }
  .detail-grid { grid-template-columns: 1fr; }
  .grid-3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .login-shell { grid-template-columns: 1fr; }
  .login-visual { display: none; }
}
@media (max-width: 700px) {
  .topbar { height: 64px; padding: 0 14px; gap: 8px; }
  .menu-button { flex: 0 0 40px; }
  .global-search { width: 0; min-width: 0; flex: 1 1 0; overflow: hidden; }
  .global-search > span { flex: 0 0 18px; }
  .topbar-actions { min-width: 0; margin-left: 0; flex: 0 0 auto; gap: 6px; }
  .global-search kbd, .top-user { display: none; }
  .content { padding: 18px 14px; }
  .page-heading { flex-direction: column; align-items: stretch; }
  .page-actions { justify-content: flex-start; }
  .grid-6, .grid-4, .grid-3, .grid-2 { grid-template-columns: 1fr; }
  .span-2, .span-3 { grid-column: auto; }
  .form-grid { grid-template-columns: 1fr; }
  .col-12, .col-8, .col-6, .col-5, .col-4, .col-3, .col-2 { grid-column: auto; }
  .info-list { grid-template-columns: 1fr; }
  .unit-status-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .card-header, .card-body { padding: 16px; }
  .app-footer { flex-direction: column; padding: 15px; }
  .login-panel { padding: 35px 24px; }
}
@media (max-width: 480px) {
  .topbar { padding-inline: 8px; gap: 6px; }
  .topbar .icon-button { width: 38px; height: 38px; }
  .menu-button { flex-basis: 38px; }
  .global-search { height: 40px; padding-inline: 10px; gap: 8px; }
  .global-search input { width: 100%; font-size: 13px; text-overflow: ellipsis; }
  .readable-toggle { display: none; }
}
@media print {
  .sidebar, .topbar, .page-actions, .toolbar, .app-footer, .no-print { display: none !important; }
  .main-area { margin: 0; }
  .content { max-width: none; padding: 0; }
  .card { box-shadow: none; break-inside: avoid; }
  body { background: white; }
}

/* 2026 operational UX additions */
.nav-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.nav-count { margin-left: auto; min-width: 22px; height: 20px; padding: 0 6px; display: inline-grid; place-items: center; border-radius: 999px; color: white; background: #dc2626; font-size: 10px; font-weight: 850; }
.notification-menu { position: relative; }
.notification-popover { position: absolute; top: calc(100% + 10px); right: 0; width: min(390px, calc(100vw - 28px)); border: 1px solid var(--slate-200); border-radius: 16px; background: white; box-shadow: 0 24px 70px rgba(15,23,42,.18); overflow: hidden; z-index: 80; }
.notification-popover-head { padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--slate-100); }
.notification-popover-head div { display: grid; }
.notification-popover-head small { color: var(--slate-500); font-size: 11px; }
.notification-popover-head a { color: var(--blue-600); font-size: 12px; font-weight: 750; }
.notification-popover-list { max-height: 430px; overflow: auto; }
.popover-notice { padding: 13px 15px; display: grid; grid-template-columns: 9px 1fr; gap: 10px; border-bottom: 1px solid var(--slate-100); }
.popover-notice:hover { background: var(--slate-50); }
.popover-notice.unread { background: #f7faff; }
.popover-notice span:nth-child(2) { min-width: 0; display: grid; }
.popover-notice strong { font-size: 12px; }
.popover-notice small { margin-top: 2px; color: var(--slate-600); font-size: 11px; line-height: 1.4; }
.popover-notice em { margin-top: 5px; color: var(--slate-400); font-size: 10px; font-style: normal; }
.notice-dot { width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: var(--slate-300); }
.notice-dot.priority-high, .notice-dot.priority-urgent { background: #ef4444; }
.notice-dot.priority-normal { background: #f59e0b; }
.notice-dot.priority-low { background: #3b82f6; }
.popover-empty { padding: 34px 18px; color: var(--slate-500); text-align: center; font-size: 12px; }

.quick-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.quick-action { min-height: 92px; padding: 15px; display: flex; align-items: center; gap: 12px; border: 1px solid var(--slate-200); border-radius: 14px; background: white; transition: .15s ease; }
.quick-action:hover { border-color: #bfdbfe; box-shadow: 0 10px 25px rgba(37,99,235,.09); transform: translateY(-1px); }
.quick-action-icon { width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; border-radius: 13px; color: var(--blue-600); background: var(--blue-50); font-size: 19px; }
.quick-action strong { display: block; font-size: 13px; }
.quick-action span { display: block; margin-top: 2px; color: var(--slate-500); font-size: 11px; }

.section-tabs { margin-bottom: 18px; display: flex; gap: 8px; overflow-x: auto; }
.section-tab { padding: 9px 13px; border: 1px solid var(--slate-200); border-radius: 10px; background: white; color: var(--slate-600); font-size: 12px; font-weight: 750; white-space: nowrap; }
.section-tab.active { color: white; border-color: var(--blue-600); background: var(--blue-600); }

.settings-shell { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: 18px; align-items: start; }
.settings-nav { position: sticky; top: 92px; padding: 8px; }
.settings-link { width: 100%; padding: 10px 11px; display: flex; align-items: center; gap: 9px; border: 0; border-radius: 9px; background: transparent; color: var(--slate-600); font-size: 12px; font-weight: 750; text-align: left; }
.settings-link:hover { background: var(--slate-100); }
.settings-link.active { color: var(--blue-600); background: var(--blue-50); }
.settings-panel[hidden] { display: none; }
.setting-toggle { padding: 13px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--slate-100); }
.setting-toggle:last-child { border-bottom: 0; }
.setting-toggle div { min-width: 0; }
.setting-toggle strong { display: block; font-size: 13px; }
.setting-toggle span { display: block; margin-top: 2px; color: var(--slate-500); font-size: 11px; }
.switch { width: 44px; height: 24px; position: relative; display: inline-block; flex: 0 0 44px; }
.switch input { opacity: 0; width: 0; height: 0; }
.switch span { position: absolute; inset: 0; border-radius: 999px; background: var(--slate-300); transition: .2s; }
.switch span::after { content: ''; position: absolute; width: 18px; height: 18px; left: 3px; top: 3px; border-radius: 50%; background: white; transition: .2s; box-shadow: 0 2px 7px rgba(15,23,42,.2); }
.switch input:checked + span { background: var(--blue-600); }
.switch input:checked + span::after { transform: translateX(20px); }

.report-categories { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.report-category { min-height: 130px; padding: 17px; border: 1px solid var(--slate-200); border-radius: 15px; background: white; }
.report-category .metric-icon { margin-bottom: 12px; }
.report-category h3 { margin: 0; font-size: 14px; }
.report-category p { margin: 5px 0 12px; color: var(--slate-500); font-size: 11px; }
.report-links { display: grid; gap: 6px; }
.report-links a { color: var(--blue-600); font-size: 11px; font-weight: 750; }
.chart-card { min-height: 270px; }
.bar-chart { min-height: 190px; padding: 12px 4px 0; display: flex; align-items: flex-end; gap: 13px; }
.bar-group { min-width: 34px; flex: 1; display: grid; grid-template-columns: repeat(2, minmax(8px,1fr)); align-items: end; gap: 4px; text-align: center; }
.bar { min-height: 3px; border-radius: 7px 7px 2px 2px; background: var(--blue-500); }
.bar.expense { background: #f59e0b; }
.bar-group label { grid-column: 1 / -1; color: var(--slate-500); font-size: 10px; }
.chart-legend { display: flex; gap: 16px; flex-wrap: wrap; color: var(--slate-500); font-size: 11px; }
.legend-dot { width: 8px; height: 8px; display: inline-block; margin-right: 5px; border-radius: 50%; background: var(--blue-500); }
.legend-dot.expense { background: #f59e0b; }

.backup-health { display: grid; grid-template-columns: 80px 1fr; gap: 15px; align-items: center; }
.health-ring { width: 76px; height: 76px; display: grid; place-items: center; border: 8px solid var(--green-100); border-top-color: var(--green-700); border-radius: 50%; color: var(--green-700); font-size: 20px; font-weight: 850; }
.file-drop { padding: 22px; border: 1px dashed var(--slate-300); border-radius: 13px; background: var(--slate-50); text-align: center; }
.file-drop input { width: 100%; }

.notification-row { display: grid; grid-template-columns: 12px 1fr auto; gap: 13px; align-items: start; padding: 16px 18px; border-bottom: 1px solid var(--slate-100); }
.notification-row.unread { background: #f8fbff; }
.notification-row h3 { margin: 0; font-size: 13px; }
.notification-row p { margin: 3px 0 7px; color: var(--slate-600); font-size: 12px; }
.notification-meta { display: flex; gap: 9px; flex-wrap: wrap; color: var(--slate-400); font-size: 10px; }
.notification-actions { display: flex; gap: 6px; }

.timeline { position: relative; display: grid; gap: 0; }
.timeline-item { position: relative; padding: 0 0 18px 27px; }
.timeline-item::before { content: ''; position: absolute; left: 6px; top: 14px; bottom: -4px; width: 1px; background: var(--slate-200); }
.timeline-item:last-child::before { display: none; }
.timeline-item::after { content: ''; position: absolute; left: 1px; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--blue-600); box-shadow: 0 0 0 4px var(--blue-50); }
.timeline-item strong { display: block; font-size: 12px; }
.timeline-item p { margin: 3px 0; color: var(--slate-600); font-size: 11px; }
.timeline-item small { color: var(--slate-400); font-size: 10px; }

.status-stack { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.badge-outline-danger { color: var(--red-700); border: 1px solid #fecaca; background: white; }
.badge-outline-warning { color: var(--amber-700); border: 1px solid #fde68a; background: white; }
.badge-outline-info { color: var(--cyan-700); border: 1px solid #a5f3fc; background: white; }

.density-compact .table td { padding-top: 9px; padding-bottom: 9px; }
.appearance-dark { color-scheme: dark; }
.appearance-dark body, body.appearance-dark { background: #0b1220; color: #e5edf8; }
.appearance-dark .main-area, .appearance-dark .content { color: #e5edf8; }
.appearance-dark .topbar, .appearance-dark .card, .appearance-dark .metric-card, .appearance-dark .toolbar, .appearance-dark .quick-action, .appearance-dark .report-category, .appearance-dark .notification-popover { background: #111c2e; border-color: #25334a; }
.appearance-dark .page-heading p, .appearance-dark .metric-meta, .appearance-dark .card-header p, .appearance-dark .text-muted, .appearance-dark .table .primary span { color: #93a4bc; }
.appearance-dark .table th, .appearance-dark .summary-box, .appearance-dark .global-search, .appearance-dark .input, .appearance-dark .select, .appearance-dark .textarea { background: #0c1728; color: #e5edf8; border-color: #2b3a53; }
.appearance-dark .table td, .appearance-dark .card-header, .appearance-dark .card-footer { border-color: #223149; }
.appearance-dark .donut::before { background: #111c2e; }

@media (max-width: 1100px) {
  .quick-actions, .report-categories { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .settings-shell { grid-template-columns: 1fr; }
  .settings-nav { position: static; display: flex; gap: 5px; overflow-x: auto; }
  .settings-link { width: auto; white-space: nowrap; }
}
@media (max-width: 700px) {
  .quick-actions, .report-categories { grid-template-columns: 1fr; }
  .notification-popover { position: fixed; top: 62px; right: 10px; left: 10px; width: auto; }
  .notification-row { grid-template-columns: 10px 1fr; }
  .notification-actions { grid-column: 2; justify-content: flex-start; }
}

@media (prefers-color-scheme: dark) {
  body.appearance-system { background: #0b1220; color: #e5edf8; }
  .appearance-system .main-area, .appearance-system .content { color: #e5edf8; }
  .appearance-system .topbar, .appearance-system .card, .appearance-system .metric-card, .appearance-system .toolbar,
  .appearance-system .quick-action, .appearance-system .report-category, .appearance-system .notification-popover { background: #111c2e; border-color: #25334a; }
  .appearance-system .page-heading p, .appearance-system .metric-meta, .appearance-system .card-header p,
  .appearance-system .text-muted, .appearance-system .table .primary span { color: #93a4bc; }
  .appearance-system .table th, .appearance-system .summary-box, .appearance-system .global-search,
  .appearance-system .input, .appearance-system .select, .appearance-system .textarea { background: #0c1728; color: #e5edf8; border-color: #2b3a53; }
  .appearance-system .table td, .appearance-system .card-header, .appearance-system .card-footer { border-color: #223149; }
  .appearance-system .donut::before { background: #111c2e; }
}

.bar-chart .bar { transform-origin: bottom; transform: scaleY(.04); opacity: .55; transition: transform .7s cubic-bezier(.2,.8,.2,1), opacity .45s ease, filter .18s ease; }
.bar-chart.chart-visible .bar { transform: scaleY(1); opacity: 1; }
.bar-chart .bar:hover { filter: brightness(1.08); }
@media (prefers-reduced-motion: reduce) {
  .bar-chart .bar { transform: none; opacity: 1; transition: none; }
}

/* Modern operations dashboard */
.dashboard-quick-actions { margin-bottom: 18px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.dashboard-quick-action { min-width: 0; padding: 12px 14px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 11px; border: 1px solid var(--slate-200); border-radius: 14px; background: white; transition: .18s ease; }
.dashboard-quick-action:hover { border-color: #bfdbfe; box-shadow: 0 10px 25px rgba(37,99,235,.08); transform: translateY(-2px); }
.dashboard-quick-action.primary { color: white; border-color: var(--blue-600); background: linear-gradient(135deg,var(--blue-600),#1d4ed8); box-shadow: 0 10px 25px rgba(37,99,235,.2); }
.dashboard-action-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: var(--blue-600); background: var(--blue-50); font-size: 17px; font-weight: 800; }
.dashboard-action-icon .ui-icon { width:18px; height:18px; }
.dashboard-quick-action.primary .dashboard-action-icon { color: white; background: rgba(255,255,255,.15); }
.dashboard-quick-action span:nth-child(2) { min-width: 0; }
.dashboard-quick-action strong,.dashboard-quick-action small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.dashboard-quick-action strong { font-size: 13px; }
.dashboard-quick-action small { margin-top: 1px; color: var(--slate-500); font-size: 10px; }
.dashboard-quick-action.primary small { color: #dbeafe; }
.dashboard-quick-action b { color: var(--slate-400); font-size: 16px; }
.dashboard-quick-action b .ui-icon { width:15px; height:15px; }
.dashboard-quick-action.primary b { color: white; }

.dashboard-metrics { margin-bottom: 18px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.dashboard-metric { min-width: 0; min-height: 156px; padding: 18px; position: relative; overflow: hidden; border: 1px solid var(--slate-200); border-radius: 17px; background: white; box-shadow: 0 8px 25px rgba(15,23,42,.045); transition: .18s ease; }
.dashboard-metric::before { content:''; position:absolute; inset:0 auto 0 0; width:4px; background:var(--blue-600); }
.dashboard-metric:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.dashboard-metric.income::before { background:#16a34a; }.dashboard-metric.danger::before { background:#ef4444; }.dashboard-metric.occupancy::before { background:#2563eb; }.dashboard-metric.expense::before { background:#8b5cf6; }
.dashboard-metric-head { display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--slate-500); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.055em; }
.dashboard-metric-head i { width:32px; height:32px; display:grid; place-items:center; border-radius:10px; background:var(--slate-100); color:var(--slate-700); font-size:14px; font-style:normal; }
.dashboard-metric-head i { font-size:0; }
.dashboard-metric-head i::before,.attention-icon::before { content:''; width:17px; height:17px; display:block; background:currentColor; mask-repeat:no-repeat; mask-position:center; mask-size:contain; }
.dashboard-metric.income .dashboard-metric-head i::before,.attention-money::before { mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16M4 10h16M5 6c8 0 8 8 0 8h3l9 7'/%3E%3C/svg%3E"); }
.dashboard-metric.income .dashboard-metric-head i::before,.attention-money::before { content:'PKR'; width:auto; height:auto; mask-image:none; background:none; color:currentColor; font-size:7px; font-weight:900; letter-spacing:-.02em; }
.dashboard-metric.danger .dashboard-metric-head i::before { mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.7 2.4 18a2 2 0 0 0 1.75 3h15.7a2 2 0 0 0 1.75-3L13.7 3.7a2 2 0 0 0-3.4 0zM12 9v4M12 17h.01'/%3E%3C/svg%3E"); }
.dashboard-metric.occupancy .dashboard-metric-head i::before { mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M8 7h2m4 0h2M8 11h2m4 0h2M8 15h2m4 0h2M9 21v-3h6v3'/%3E%3C/svg%3E"); }
.dashboard-metric.expense .dashboard-metric-head i::before { mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M9 5h10v10'/%3E%3C/svg%3E"); }
.dashboard-metric > strong { margin-top:14px; display:block; overflow:hidden; text-overflow:ellipsis; font-size:clamp(23px,2vw,30px); line-height:1.1; letter-spacing:-.045em; }
.dashboard-metric-foot { margin-top:9px; display:flex; align-items:center; gap:7px; color:var(--slate-600); font-size:11px; }
.dashboard-metric-foot span { font-weight:800; }.dashboard-metric-foot small { color:var(--slate-500); }
.trend-positive { color:var(--green-700); }.trend-danger { color:var(--red-700); }
.metric-sparkline { height:30px; margin-top:8px; color:#22c55e; }
.metric-sparkline svg { width:100%; height:100%; overflow:visible; }
.metric-sparkline path { fill:none; stroke:currentColor; stroke-width:2; vector-effect:non-scaling-stroke; }
.metric-sparkline .spark-area { fill:currentColor; stroke:none; opacity:.08; }
.dashboard-metric.danger .metric-sparkline { color:#ef4444; }
.metric-progress-chart { height:7px; margin-top:22px; overflow:hidden; border-radius:999px; background:var(--slate-100); }
.metric-progress-chart span { height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,#2563eb,#60a5fa); }
.metric-mini-bars { height:31px; margin-top:7px; display:flex; align-items:flex-end; gap:4px; }
.metric-mini-bars i { flex:1; border-radius:3px 3px 1px 1px; background:linear-gradient(180deg,#a78bfa,#7c3aed); opacity:.8; }
.metric-mini-bars i.is-negative { background:linear-gradient(180deg,#fda4af,#e11d48); }
.metric-sparkline.is-empty path:not(.spark-area),.metric-mini-bars.is-empty i { opacity:.18; }
.metric-sparkline.is-empty .spark-area { opacity:.035; }

.dashboard-main-grid { margin-bottom:18px; display:grid; grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr); gap:18px; align-items:start; }
.dashboard-side-stack { display:grid; gap:18px; }
.section-eyebrow { margin-bottom:3px; color:var(--blue-600); font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.12em; }
.section-count { margin-left:5px; min-width:25px; height:25px; padding:0 7px; display:inline-grid; place-items:center; vertical-align:middle; border-radius:999px; color:var(--red-700); background:var(--red-100); font-size:11px; }
.card-link { color:var(--blue-600); font-size:11px; font-weight:800; white-space:nowrap; }
.dashboard-attention .card-body { padding-top:4px; padding-bottom:4px; }
.dashboard-attention .attention-item { padding:13px 0; transition:.15s ease; }
.dashboard-attention .attention-item:hover { padding-left:6px; }
.attention-money { color:var(--red-700); background:var(--red-100); }.attention-lease { color:var(--amber-700); background:var(--amber-100); }.attention-repair { color:var(--purple-700); background:var(--purple-100); }
.attention-icon { font-size:0; }
.attention-lease::before { mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8zM14 2v6h6M8 13h8M8 17h6'/%3E%3C/svg%3E"); }
.attention-repair::before { mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5-5L7 4 4 1a4 4 0 0 0 5 5l9 9a2.1 2.1 0 0 1-3 3l-9-9'/%3E%3C/svg%3E"); }
.dashboard-attention-summary { padding:0; display:grid; grid-template-columns:repeat(3,1fr); background:var(--slate-50); }
.dashboard-attention-summary a { padding:12px; display:flex; align-items:center; justify-content:center; gap:7px; border-right:1px solid var(--slate-200); font-size:11px; }
.dashboard-attention-summary a:last-child { border:0; }.dashboard-attention-summary strong { font-size:16px; }.dashboard-attention-summary span { color:var(--slate-500); }
.collection-card .kpi-split { justify-content:flex-start; }.collection-card .donut { width:108px; flex:0 0 108px; }.collection-card .donut::before { width:76px; }.collection-card .donut strong { font-size:20px; }
.collection-stat { margin:5px 0 13px; }.collection-stat span,.collection-stat strong { display:block; }.collection-stat span { color:var(--slate-500); font-size:10px; }.collection-stat strong { margin-top:2px; font-size:15px; }
.deposit-line { margin-top:17px; padding-top:14px; display:flex; justify-content:space-between; gap:10px; border-top:1px solid var(--slate-100); font-size:11px; }.deposit-line span { color:var(--slate-500); }
.vacancy-card { padding:18px 20px; display:flex; align-items:center; justify-content:space-between; gap:14px; background:linear-gradient(135deg,#eff6ff,#f8fafc); }.vacancy-card h2 { margin:0; font-size:18px; }.vacancy-card p { margin:3px 0 0; color:var(--slate-500); font-size:11px; }

.stock-list { display: grid; }
.stock-row { padding: 10px 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--slate-100); }
.stock-row:last-child { border-bottom: 0; }
.stock-info { min-width: 0; display: grid; }
.stock-info strong { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.stock-info small { color: var(--slate-500); font-size: 11px; }
.stock-val { display: flex; align-items: center; gap: 8px; font-variant-numeric: tabular-nums; }
.stock-val strong { font-size: 13px; }

.dashboard-bottom-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr); gap:18px; align-items:stretch; }
.dashboard-bottom-grid > .card { min-width:0; height:100%; }
.cash-chart-card,.unit-overview-card { display:flex; flex-direction:column; }
.cash-chart-card .card-body,.unit-overview-card .card-body { flex:1; }
.dashboard-bars { height:205px; display:flex; align-items:flex-end; gap:12px; border-bottom:1px solid var(--slate-200); background:repeating-linear-gradient(to bottom,var(--slate-100) 0,var(--slate-100) 1px,transparent 1px,transparent 50px); }
.dashboard-bar-group { height:100%; min-width:30px; flex:1; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:8px; }
.dashboard-bar-values { height:170px; display:flex; align-items:flex-end; justify-content:center; gap:5px; }
.dashboard-bar-values span,.dashboard-bar-values i { width:15px; max-width:2.2vw; min-height:4px; display:block; border-radius:5px 5px 1px 1px; background:linear-gradient(180deg,#60a5fa,#2563eb); }
.dashboard-bar-values i { background:linear-gradient(180deg,#fbbf24,#f59e0b); }
.dashboard-bar-group b { padding-bottom:7px; color:var(--slate-500); font-size:10px; font-weight:700; }
.cash-summary { margin-top:16px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.cash-summary div { padding:11px; border-radius:11px; background:var(--slate-50); }.cash-summary span,.cash-summary strong { display:block; }.cash-summary span { color:var(--slate-500); font-size:9px; text-transform:uppercase; letter-spacing:.04em; }.cash-summary strong { margin-top:3px; font-size:13px; }
.unit-overview-card .unit-status-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.unit-chip { position:relative; min-height:70px; padding:11px; transition:.15s ease; }.unit-chip[hidden] { display:none; }.unit-chip:hover { border-color:#bfdbfe; box-shadow:0 7px 17px rgba(37,99,235,.08); transform:translateY(-1px); }.unit-chip div { display:flex; align-items:center; justify-content:space-between; gap:6px; }.unit-chip strong { font-size:12px; }.unit-chip span,.unit-chip small { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }.unit-chip span { margin-top:6px; color:var(--slate-700); font-size:10px; font-weight:700; }.unit-chip small { margin-top:2px; color:var(--slate-400); font-size:9px; }.unit-dot { width:7px; height:7px; border-radius:50%; background:var(--slate-400); }.unit-occupied .unit-dot { background:#22c55e; }.unit-vacant .unit-dot { background:#3b82f6; }.unit-maintenance .unit-dot,.unit-notice .unit-dot { background:#f59e0b; }
.unit-pagination { min-height:51px; padding:9px 14px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.unit-pagination > span { color:var(--slate-500); font-size:10px; }
.unit-pagination > div,.unit-pagination [data-page-buttons] { display:flex; align-items:center; gap:4px; }
.unit-pagination button { width:29px; height:29px; padding:0; display:grid; place-items:center; border:1px solid var(--slate-200); border-radius:8px; color:var(--slate-600); background:white; font-size:10px; font-weight:800; }
.unit-pagination button:hover:not(:disabled),.unit-pagination button.active { color:white; border-color:var(--blue-600); background:var(--blue-600); }
.unit-pagination button:disabled { opacity:.4; cursor:not-allowed; }

.appearance-dark .dashboard-quick-action,.appearance-dark .dashboard-metric { background:#111c2e; border-color:#25334a; }.appearance-dark .dashboard-quick-action small,.appearance-dark .dashboard-metric-foot small { color:#93a4bc; }.appearance-dark .vacancy-card,.appearance-dark .cash-summary div { background:#0c1728; }.appearance-dark .dashboard-bars { border-color:#25334a; background:repeating-linear-gradient(to bottom,#25334a 0,#25334a 1px,transparent 1px,transparent 50px); }
@media (prefers-color-scheme:dark) { .appearance-system .dashboard-quick-action,.appearance-system .dashboard-metric { background:#111c2e; border-color:#25334a; }.appearance-system .vacancy-card,.appearance-system .cash-summary div { background:#0c1728; } }
@media (max-width:1250px) { .dashboard-quick-actions,.dashboard-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:1050px) { .dashboard-bottom-grid { grid-template-columns:1fr; } }
@media (max-width:900px) { .dashboard-main-grid { grid-template-columns:1fr; } }
@media (max-width:700px) { .dashboard-quick-actions,.dashboard-metrics { grid-template-columns:1fr; }.dashboard-metric { min-height:170px; }.dashboard-attention .attention-item { grid-template-columns:38px minmax(0,1fr); }.dashboard-attention .attention-item > :last-child { grid-column:2; justify-self:start; }.dashboard-attention-summary a { display:grid; text-align:center; gap:0; }.vacancy-card { align-items:flex-start; flex-direction:column; }.cash-summary { grid-template-columns:1fr; }.unit-overview-card .unit-status-grid { grid-template-columns:1fr; }.unit-pagination { align-items:flex-start; flex-direction:column; } }

/* Global loading and professional motion */
.global-loader { position:fixed; inset:0; z-index:9999; display:grid; place-items:center; padding:24px; visibility:hidden; opacity:0; pointer-events:none; background:rgba(248,250,252,.88); backdrop-filter:blur(10px); transition:opacity .28s ease,visibility .28s ease; }
.global-loader.is-active { visibility:visible; opacity:1; pointer-events:all; }
.global-loader.is-leaving { opacity:0; pointer-events:none; }
.global-loader-panel { width:min(330px,100%); padding:22px; display:grid; grid-template-columns:48px 1fr; align-items:center; gap:14px; border:1px solid rgba(226,232,240,.9); border-radius:20px; background:rgba(255,255,255,.96); box-shadow:0 30px 80px rgba(15,23,42,.16); transform:translateY(8px) scale(.98); transition:transform .3s cubic-bezier(.2,.8,.2,1); }
.global-loader.is-active .global-loader-panel { transform:translateY(0) scale(1); }
.loader-brand { width:48px; height:48px; position:relative; display:grid; place-items:center; border-radius:15px; color:white; background:linear-gradient(135deg,var(--blue-600),#22c55e); box-shadow:0 10px 24px rgba(37,99,235,.24); }
.loader-brand::after { content:''; position:absolute; inset:-5px; border:2px solid transparent; border-top-color:var(--blue-600); border-right-color:#22c55e; border-radius:19px; animation:loader-spin .9s linear infinite; }
.loader-brand span { font-size:13px; font-weight:900; letter-spacing:-.04em; }
.loader-copy { min-width:0; display:grid; }.loader-copy strong { font-size:13px; }.loader-copy span { margin-top:2px; color:var(--slate-500); font-size:11px; }
.loader-track { grid-column:1/-1; height:4px; overflow:hidden; border-radius:999px; background:var(--slate-100); }
.loader-track i { width:42%; height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,var(--blue-600),#22c55e); animation:loader-track 1.15s cubic-bezier(.65,0,.35,1) infinite; }
@keyframes loader-spin { to { transform:rotate(360deg); } }
@keyframes loader-track { 0% { transform:translateX(-120%); } 50% { width:62%; } 100% { transform:translateX(260%); width:42%; } }

@keyframes content-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes chart-rise { from { transform:scaleY(.08); opacity:.25; } to { transform:scaleY(1); opacity:1; } }
@keyframes line-draw { from { stroke-dashoffset:180; opacity:.2; } to { stroke-dashoffset:0; opacity:1; } }
.content > * { animation:content-enter .48s both cubic-bezier(.2,.8,.2,1); }
.content > :nth-child(2) { animation-delay:.045s; }.content > :nth-child(3) { animation-delay:.09s; }.content > :nth-child(4) { animation-delay:.135s; }.content > :nth-child(5) { animation-delay:.18s; }.content > :nth-child(n+6) { animation-delay:.22s; }
.card,.metric-card,.dashboard-metric,.quick-action,.dashboard-quick-action { transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,border-color .22s ease,background-color .22s ease; }
.card:hover { box-shadow:0 18px 44px rgba(15,23,42,.09); }
.nav-link .nav-icon { transition:transform .2s ease; }.nav-link:hover .nav-icon { transform:translateX(2px) scale(1.06); }
.btn { transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease; }.btn:active { transform:translateY(0) scale(.98); }
.dashboard-bar-values span,.dashboard-bar-values i,.metric-mini-bars i { transform-origin:bottom; animation:chart-rise .65s both cubic-bezier(.2,.8,.2,1); }
.dashboard-bar-group:nth-child(2) span,.dashboard-bar-group:nth-child(2) i { animation-delay:.05s; }.dashboard-bar-group:nth-child(3) span,.dashboard-bar-group:nth-child(3) i { animation-delay:.1s; }.dashboard-bar-group:nth-child(4) span,.dashboard-bar-group:nth-child(4) i { animation-delay:.15s; }.dashboard-bar-group:nth-child(5) span,.dashboard-bar-group:nth-child(5) i { animation-delay:.2s; }.dashboard-bar-group:nth-child(6) span,.dashboard-bar-group:nth-child(6) i { animation-delay:.25s; }
.metric-sparkline path:not(.spark-area) { stroke-dasharray:180; stroke-dashoffset:180; animation:line-draw .9s .25s forwards ease; }
.metric-progress-chart span { transform-origin:left; animation:chart-rise .75s .15s both cubic-bezier(.2,.8,.2,1); }
.notification-popover:not([hidden]) { transform-origin:top right; animation:content-enter .2s both ease; }
.unit-chip:not([hidden]) { animation:content-enter .28s both ease; }
.appearance-dark .global-loader { background:rgba(8,17,31,.88); }.appearance-dark .global-loader-panel { color:#e5edf8; border-color:#25334a; background:#111c2e; }
@media (prefers-color-scheme:dark) { .appearance-system .global-loader { background:rgba(8,17,31,.88); }.appearance-system .global-loader-panel { color:#e5edf8; border-color:#25334a; background:#111c2e; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } .content > * { opacity:1; transform:none; } }

/* Viewport chart motion and analytical tooltips */
.motion-chart:not(.is-in-view) .dashboard-bar-values span,
.motion-chart:not(.is-in-view) .dashboard-bar-values i,
.motion-chart:not(.is-in-view) .metric-mini-bars i { animation:none; transform:scaleY(.06); opacity:.18; }
.motion-chart:not(.is-in-view) .metric-sparkline path:not(.spark-area) { animation:none; stroke-dashoffset:180; opacity:.15; }
.motion-chart:not(.is-in-view) .metric-sparkline .spark-area { opacity:0; }
.motion-chart:not(.is-in-view) .metric-progress-chart span { animation:none; transform:scaleX(.02); opacity:.2; }
.donut.motion-chart { transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .45s ease,filter .2s ease; }
.donut.motion-chart:not(.is-in-view) { transform:scale(.78) rotate(-12deg); opacity:.15; }
.donut.motion-chart.is-in-view { transform:scale(1) rotate(0); opacity:1; }
[data-chart-tooltip]:not(.dashboard-metric) { cursor:help; }
.dashboard-bar-group { border-radius:8px; outline:none; transition:background-color .18s ease,transform .18s ease; }
.dashboard-bar-group:hover,.dashboard-bar-group:focus-visible { background:linear-gradient(180deg,transparent,rgba(37,99,235,.055)); transform:translateY(-2px); }
.dashboard-bar-group:focus-visible { box-shadow:inset 0 0 0 2px rgba(37,99,235,.35); }
.dashboard-bar-values span,.dashboard-bar-values i { transition:filter .18s ease,opacity .18s ease,transform .18s ease; }
.dashboard-bars:has(.dashboard-bar-group:hover) .dashboard-bar-group:not(:hover) .dashboard-bar-values,
.dashboard-bars:has(.dashboard-bar-group:focus-visible) .dashboard-bar-group:not(:focus-visible) .dashboard-bar-values { opacity:.42; }
.dashboard-bar-group:hover .dashboard-bar-values span,.dashboard-bar-group:hover .dashboard-bar-values i,
.dashboard-bar-group:focus-visible .dashboard-bar-values span,.dashboard-bar-group:focus-visible .dashboard-bar-values i { filter:saturate(1.15) brightness(1.04); }
.chart-tooltip { min-width:190px; max-width:min(280px,calc(100vw - 24px)); padding:11px 13px; position:fixed; z-index:10020; visibility:hidden; opacity:0; pointer-events:none; border:1px solid rgba(255,255,255,.1); border-radius:11px; color:white; background:rgba(8,17,31,.94); box-shadow:0 14px 38px rgba(15,23,42,.26); backdrop-filter:blur(9px); transform:translateY(5px) scale(.97); transition:opacity .16s ease,transform .16s ease,visibility .16s ease; }
.chart-tooltip.is-visible { visibility:visible; opacity:1; transform:translateY(0) scale(1); }
.chart-tooltip::after { content:''; width:8px; height:8px; position:absolute; left:calc(50% - 4px); bottom:-4px; background:inherit; transform:rotate(45deg); }
.chart-tooltip strong,.chart-tooltip span { display:block; }.chart-tooltip strong { color:white; font-size:11px; letter-spacing:.01em; }.chart-tooltip span { margin-top:3px; color:#cbd5e1; font-size:10px; line-height:1.45; }
.appearance-dark .chart-tooltip { border-color:#334155; background:rgba(2,6,23,.96); }
@media (hover:none) { [data-chart-tooltip]:not(.dashboard-metric) { cursor:pointer; } }
@media (prefers-reduced-motion:reduce) { .motion-chart:not(.is-in-view) .dashboard-bar-values span,.motion-chart:not(.is-in-view) .dashboard-bar-values i,.motion-chart:not(.is-in-view) .metric-mini-bars i,.motion-chart:not(.is-in-view) .metric-progress-chart span { transform:none; opacity:1; } .donut.motion-chart:not(.is-in-view) { transform:none; opacity:1; } }

/* Premium adaptive sidebar */
.sidebar { width:252px; overflow:visible; background:radial-gradient(circle at 20% 0,rgba(37,99,235,.16),transparent 24%),linear-gradient(180deg,#081424 0%,#091527 54%,#07111f 100%); border-right:1px solid rgba(148,163,184,.1); box-shadow:12px 0 38px rgba(2,6,23,.08); transition:width .28s cubic-bezier(.2,.8,.2,1),transform .22s ease; }
.main-area { margin-left:252px; transition:margin-left .28s cubic-bezier(.2,.8,.2,1); }
.brand { min-height:82px; padding:16px 14px; position:relative; gap:11px; background:linear-gradient(180deg,rgba(255,255,255,.025),transparent); }
.brand-mark { width:40px; height:40px; flex:0 0 40px; border-radius:12px; font-size:13px; box-shadow:0 10px 28px rgba(37,99,235,.28),inset 0 1px 0 rgba(255,255,255,.25); }
.brand-copy strong { font-size:13px; letter-spacing:-.01em; }.brand-copy span { margin-top:1px; color:#7890ad; font-size:10px; }
.sidebar-collapse { width:28px; height:28px; margin-left:auto; flex:0 0 28px; display:grid; place-items:center; border:1px solid rgba(148,163,184,.13); border-radius:9px; color:#8095af; background:rgba(255,255,255,.035); transition:color .18s ease,background .18s ease,transform .28s ease; }
.sidebar .sidebar-close { display:none; }
.sidebar-collapse:hover { color:white; background:rgba(255,255,255,.09); }.sidebar-collapse .ui-icon { width:14px; height:14px; transform:rotate(180deg); }
.navigation { padding:12px 10px 18px; scrollbar-width:thin; scrollbar-color:rgba(148,163,184,.28) transparent; }
.navigation::-webkit-scrollbar { width:5px; }.navigation::-webkit-scrollbar-thumb { border-radius:99px; background:rgba(148,163,184,.25); }.navigation::-webkit-scrollbar-track { background:transparent; }
.nav-label { margin:9px 8px 5px; padding:7px 2px 5px; display:flex; align-items:center; gap:8px; color:#66809f; font-size:9px; letter-spacing:.14em; }
.nav-label::after { content:''; height:1px; flex:1; background:linear-gradient(90deg,rgba(148,163,184,.15),transparent); }
.nav-link { min-height:42px; margin:2px 0; padding:9px 11px; position:relative; gap:11px; border:1px solid transparent; border-radius:11px; color:#aebed1; font-size:12px; font-weight:650; }
.nav-link::before { content:''; width:3px; height:18px; position:absolute; left:0; top:50%; border-radius:0 5px 5px 0; background:#60a5fa; opacity:0; transform:translateY(-50%) scaleY(.4); transition:.2s ease; }
.nav-link:hover { color:#f8fbff; border-color:rgba(148,163,184,.08); background:rgba(255,255,255,.045); transform:translateX(2px); }
.nav-link.active { color:white; border-color:rgba(96,165,250,.18); background:linear-gradient(100deg,rgba(37,99,235,.92),rgba(37,99,235,.62)); box-shadow:0 9px 24px rgba(37,99,235,.2),inset 0 1px 0 rgba(255,255,255,.12); }
.nav-link.active::before { opacity:1; transform:translateY(-50%) scaleY(1); }.nav-link.active .nav-icon { color:white; }
.nav-icon { width:22px; height:22px; flex:0 0 22px; color:#8fa8c5; }.nav-icon .ui-icon { width:17px; height:17px; stroke-width:1.9; }
.sidebar-user { min-height:72px; padding:12px 13px; grid-template-columns:40px minmax(0,1fr) 32px; border-top:1px solid rgba(148,163,184,.12); background:rgba(2,8,23,.34); backdrop-filter:blur(12px); }
.sidebar-user .avatar { width:40px; height:40px; position:relative; background:linear-gradient(145deg,#1e3a5f,#18263d); box-shadow:inset 0 0 0 1px rgba(255,255,255,.07); }
.sidebar-user .avatar span { font-size:12px; }.sidebar-user .avatar i { width:9px; height:9px; position:absolute; right:0; bottom:1px; border:2px solid #0a1526; border-radius:50%; background:#22c55e; }
.sidebar-user-copy { min-width:0; display:grid; }.sidebar-user-copy strong { color:white; font-size:11px; }.sidebar-user-copy span { color:#7187a2; font-size:9px; }
.sidebar-signout { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; color:#8196af; transition:.18s ease; }.sidebar-signout:hover { color:#fecaca; background:rgba(239,68,68,.1); }.sidebar-signout .ui-icon { width:16px; height:16px; }
.sidebar-tooltip { padding:7px 9px; position:fixed; z-index:200; visibility:hidden; opacity:0; pointer-events:none; border:1px solid rgba(255,255,255,.1); border-radius:8px; color:white; background:#111c2e; box-shadow:0 10px 28px rgba(2,6,23,.28); font-size:10px; font-weight:700; transform:translateX(-4px); transition:.15s ease; }.sidebar-tooltip.is-visible { visibility:visible; opacity:1; transform:translateX(0); }
@media (min-width:981px) {
  body.sidebar-collapsed .sidebar { width:76px; }
  body.sidebar-collapsed .main-area { margin-left:76px; }
  body.sidebar-collapsed .brand { justify-content:center; padding-inline:10px; }
  body.sidebar-collapsed .brand-copy,body.sidebar-collapsed .nav-text,body.sidebar-collapsed .nav-count,body.sidebar-collapsed .sidebar-user-copy,body.sidebar-collapsed .sidebar-signout { width:0; display:none; opacity:0; }
  body.sidebar-collapsed .sidebar-collapse { position:absolute; right:-13px; bottom:-14px; z-index:2; color:#9fb3ca; background:#111f33; box-shadow:0 5px 16px rgba(2,6,23,.3); }
  body.sidebar-collapsed .sidebar-collapse .ui-icon { transform:rotate(0); }
  body.sidebar-collapsed .navigation { padding-inline:10px; }
  body.sidebar-collapsed .nav-label { height:20px; margin:10px 0 5px; padding:0; justify-content:center; color:transparent; font-size:0; }
  body.sidebar-collapsed .nav-label::after { width:20px; max-width:20px; flex:0 0 20px; background:rgba(148,163,184,.18); }
  body.sidebar-collapsed .nav-link { width:46px; min-height:44px; margin:3px auto; padding:0; justify-content:center; transform:none; }
  body.sidebar-collapsed .nav-link::before { left:-1px; }
  body.sidebar-collapsed .nav-icon { width:24px; height:24px; }
  body.sidebar-collapsed .sidebar-user { grid-template-columns:40px; justify-content:center; padding-inline:10px; }
}
@media (max-width:980px) { .sidebar { width:264px; }.main-area { margin-left:0; }.sidebar-collapse { display:none; }.sidebar .sidebar-close { display:inline-grid; margin-left:auto; } }

/* Today's Work command center */
.today-command { margin-bottom:14px; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; overflow:hidden; position:relative; border:1px solid #dbe7f5; border-radius:20px; background:radial-gradient(circle at 85% 10%,rgba(59,130,246,.14),transparent 30%),linear-gradient(135deg,#fff,#f7faff); box-shadow:0 12px 35px rgba(15,23,42,.055); }
.today-command::after { content:''; width:170px; height:170px; position:absolute; right:-70px; bottom:-120px; border:24px solid rgba(37,99,235,.06); border-radius:50%; }
.today-command-copy { position:relative; z-index:1; }.today-kicker { display:flex; align-items:center; gap:7px; color:var(--blue-600); font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.13em; }.today-kicker i { width:7px; height:7px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 5px rgba(34,197,94,.1); }.today-command h2 { margin:7px 0 3px; font-size:22px; letter-spacing:-.035em; }.today-command p { margin:0; color:var(--slate-500); font-size:12px; }
.today-command-stats { min-width:420px; position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid rgba(226,232,240,.9); border-radius:15px; background:rgba(255,255,255,.76); backdrop-filter:blur(8px); }.today-command-stats div { padding:13px 15px; border-right:1px solid var(--slate-200); }.today-command-stats div:last-child { border:0; }.today-command-stats strong,.today-command-stats span { display:block; }.today-command-stats strong { font-size:17px; letter-spacing:-.03em; }.today-command-stats span { margin-top:2px; color:var(--slate-500); font-size:9px; text-transform:uppercase; letter-spacing:.05em; }.today-command-stats .urgent strong { color:var(--red-700); }
.today-action-dock { margin-bottom:18px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; }.today-action { min-width:0; padding:11px 12px; display:flex; align-items:center; gap:10px; border:1px solid var(--slate-200); border-radius:13px; background:white; transition:.18s ease; }.today-action:hover { border-color:#bfdbfe; box-shadow:0 9px 22px rgba(37,99,235,.08); transform:translateY(-2px); }.today-action > i { width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; border-radius:10px; color:var(--blue-600); background:var(--blue-50); font-style:normal; }.today-action > i .ui-icon { width:17px; height:17px; }.today-action.primary { color:white; border-color:var(--blue-600); background:linear-gradient(135deg,var(--blue-600),#1d4ed8); }.today-action.primary > i { color:white; background:rgba(255,255,255,.14); }.today-action span { min-width:0; }.today-action strong,.today-action small { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }.today-action strong { font-size:11px; }.today-action small { margin-top:1px; color:var(--slate-500); font-size:9px; }.today-action.primary small { color:#dbeafe; }
.today-layout { margin-bottom:18px; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr); gap:18px; align-items:start; }.today-workspace { min-width:0; overflow:hidden; }.today-workspace-head { padding:19px 20px 16px; display:flex; align-items:center; justify-content:space-between; gap:15px; border-bottom:1px solid var(--slate-100); }.today-workspace-head h2 { margin:0; font-size:17px; }.today-workspace-head p { margin:3px 0 0; color:var(--slate-500); font-size:11px; }.today-workspace-head .btn .ui-icon { width:14px; height:14px; }
.today-tabs { padding:10px 14px; display:flex; gap:6px; overflow-x:auto; border-bottom:1px solid var(--slate-100); background:var(--slate-50); scrollbar-width:none; }.today-tabs::-webkit-scrollbar { display:none; }.today-tabs button { min-height:32px; padding:6px 9px; display:flex; align-items:center; gap:7px; border:1px solid transparent; border-radius:9px; color:var(--slate-600); background:transparent; font-size:10px; font-weight:800; white-space:nowrap; }.today-tabs button b { min-width:18px; height:18px; padding:0 5px; display:grid; place-items:center; border-radius:999px; color:var(--slate-500); background:var(--slate-200); font-size:8px; }.today-tabs button:hover { color:var(--slate-900); background:white; }.today-tabs button.active { color:white; background:var(--blue-600); box-shadow:0 5px 13px rgba(37,99,235,.18); }.today-tabs button.active b { color:var(--blue-600); background:white; }
.today-task-list { padding:4px 18px; }.today-task { min-width:0; padding:14px 0; display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:12px; position:relative; border-bottom:1px solid var(--slate-100); animation:content-enter .3s both ease; }.today-task:last-child { border:0; }.today-task[hidden] { display:none; }.today-task::before { content:''; width:3px; height:25px; position:absolute; left:-18px; top:50%; border-radius:0 3px 3px 0; background:var(--slate-300); transform:translateY(-50%); }.today-task.priority-urgent::before { background:#ef4444; }.today-task.priority-high::before { background:#f59e0b; }.today-task:hover { background:linear-gradient(90deg,transparent,#f8fbff,transparent); }.today-task-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:var(--blue-600); background:var(--blue-50); }.priority-urgent .today-task-icon { color:var(--red-700); background:var(--red-100); }.priority-high .today-task-icon { color:var(--amber-700); background:var(--amber-100); }.today-task-icon .ui-icon { width:18px; height:18px; }.today-task-copy { min-width:0; }.today-task-copy > div { display:flex; gap:5px; align-items:center; }.task-category,.task-priority { padding:2px 6px; border-radius:999px; color:var(--slate-500); background:var(--slate-100); font-size:7px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }.priority-urgent .task-priority { color:var(--red-700); background:var(--red-100); }.priority-high .task-priority { color:var(--amber-700); background:var(--amber-100); }.today-task h3 { margin:5px 0 2px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:12px; }.today-task p { margin:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:var(--slate-500); font-size:9px; }.today-task-actions { display:flex; align-items:center; gap:6px; }.today-task-actions .btn .ui-icon { width:12px; height:12px; }.task-icon-button { width:32px; height:32px; display:grid; place-items:center; border:1px solid var(--slate-200); border-radius:9px; color:var(--slate-600); background:white; transition:.15s ease; }.task-icon-button:hover { color:var(--blue-600); border-color:#bfdbfe; background:var(--blue-50); }.task-icon-button .ui-icon { width:14px; height:14px; }
.today-pagination { min-height:52px; padding:10px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--slate-100); background:var(--slate-50); }.today-pagination > span { color:var(--slate-500); font-size:9px; }.today-pagination > div,.today-pagination [data-work-pages] { display:flex; gap:4px; }.today-pagination button { width:29px; height:29px; display:grid; place-items:center; border:1px solid var(--slate-200); border-radius:8px; color:var(--slate-600); background:white; font-size:9px; font-weight:800; }.today-pagination button.active,.today-pagination button:hover:not(:disabled) { color:white; border-color:var(--blue-600); background:var(--blue-600); }.today-pagination button:disabled { opacity:.38; cursor:not-allowed; }
.today-empty { padding:54px 20px; text-align:center; }.today-empty > span { width:52px; height:52px; margin:0 auto 12px; display:grid; place-items:center; border-radius:16px; color:var(--green-700); background:var(--green-100); }.today-empty .ui-icon { width:23px; height:23px; }.today-empty strong { display:block; font-size:14px; }.today-empty p { max-width:380px; margin:4px auto 0; color:var(--slate-500); font-size:11px; }
.today-rail { display:grid; gap:18px; }.today-progress-visual { display:flex; align-items:center; gap:17px; }.today-progress-card .donut { width:100px; flex:0 0 100px; }.today-progress-card .donut::before { width:72px; }.today-progress-card .donut strong { font-size:19px; }.today-progress-visual > div:last-child strong,.today-progress-visual > div:last-child span,.today-progress-visual > div:last-child small { display:block; }.today-progress-visual > div:last-child strong { font-size:13px; }.today-progress-visual > div:last-child span { color:var(--slate-500); font-size:10px; }.today-progress-visual > div:last-child small { margin-top:8px; font-size:9px; font-weight:800; }.today-progress-rows { margin-top:17px; padding-top:10px; border-top:1px solid var(--slate-100); }.today-progress-rows div { padding:6px 0; display:flex; justify-content:space-between; gap:10px; color:var(--slate-500); font-size:10px; }.today-progress-rows strong { color:var(--slate-900); }
.today-timeline { display:grid; }.today-timeline-item { padding:0 0 16px 19px; position:relative; }.today-timeline-item:last-child { padding-bottom:0; }.today-timeline-item::before { content:''; width:1px; position:absolute; left:4px; top:10px; bottom:-2px; background:var(--slate-200); }.today-timeline-item:last-child::before { display:none; }.today-timeline-item > i { width:9px; height:9px; position:absolute; left:0; top:3px; border:2px solid white; border-radius:50%; background:var(--blue-600); box-shadow:0 0 0 3px var(--blue-50); }.today-timeline-item strong,.today-timeline-item span { display:block; }.today-timeline-item strong { font-size:10px; line-height:1.4; }.today-timeline-item span { margin-top:2px; color:var(--slate-400); font-size:8px; }
.today-secondary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.today-followup-row { padding:12px 0; display:grid; grid-template-columns:36px minmax(0,1fr) auto auto; align-items:center; gap:10px; border-bottom:1px solid var(--slate-100); }.today-followup-row:last-child { border:0; }.today-avatar { width:36px; height:36px; display:grid; place-items:center; border-radius:11px; color:var(--blue-600); background:var(--blue-50); font-size:10px; font-weight:900; }.today-followup-row div:nth-child(2) strong,.today-followup-row div:nth-child(2) span { display:block; }.today-followup-row div:nth-child(2) strong { font-size:11px; }.today-followup-row div:nth-child(2) span { margin-top:2px; color:var(--slate-500); font-size:9px; }.today-followup-row > b { color:var(--red-700); font-size:11px; white-space:nowrap; }.today-followup-row > div:last-child { display:flex; gap:5px; }
.today-decision-row { padding:10px 0; display:grid; grid-template-columns:46px minmax(0,1fr) 18px; align-items:center; gap:11px; border-bottom:1px solid var(--slate-100); }.today-decision-row:last-child { border:0; }.decision-days { width:46px; height:46px; display:grid; align-content:center; text-align:center; border-radius:12px; color:var(--amber-700); background:var(--amber-100); }.decision-days.urgent { color:var(--red-700); background:var(--red-100); }.decision-days strong,.decision-days span { display:block; line-height:1; }.decision-days strong { font-size:15px; }.decision-days span { margin-top:3px; font-size:7px; text-transform:uppercase; }.today-decision-row > div:nth-child(2) strong,.today-decision-row > div:nth-child(2) span { display:block; }.today-decision-row > div:nth-child(2) strong { font-size:11px; }.today-decision-row > div:nth-child(2) span { margin-top:2px; color:var(--slate-500); font-size:9px; }.today-decision-row > .ui-icon { width:15px; height:15px; color:var(--slate-400); }
.today-mini-empty { padding:25px 10px; color:var(--slate-500); text-align:center; font-size:10px; }
.focus-modal[hidden] { display:none; }.focus-modal { position:fixed; inset:0; z-index:500; display:grid; place-items:center; padding:20px; }.focus-backdrop { position:absolute; inset:0; background:rgba(2,6,23,.7); backdrop-filter:blur(8px); animation:fade-in .2s both; }.focus-panel { width:min(500px,100%); min-height:410px; padding:30px; position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.12); border-radius:24px; color:white; background:radial-gradient(circle at 80% 0,rgba(37,99,235,.28),transparent 35%),linear-gradient(145deg,#101d31,#07111f); box-shadow:0 35px 100px rgba(2,6,23,.5); text-align:center; animation:focus-enter .3s both cubic-bezier(.2,.8,.2,1); }.focus-close { width:36px; height:36px; position:absolute; right:16px; top:16px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.1); border-radius:10px; color:#94a3b8; background:rgba(255,255,255,.04); }.focus-close .ui-icon { width:16px; height:16px; }.focus-kicker { color:#60a5fa; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.14em; }.focus-step { width:100%; margin:13px 0 24px; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:10px; }.focus-step > span { color:#94a3b8; font-size:9px; }.focus-step > div { height:4px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.09); }.focus-step i { height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,#3b82f6,#22c55e); transition:width .25s ease; }.focus-icon { width:58px; height:58px; display:grid; place-items:center; border-radius:18px; color:#93c5fd; background:rgba(59,130,246,.14); box-shadow:inset 0 0 0 1px rgba(96,165,250,.12); }.focus-icon .ui-icon { width:25px; height:25px; }.focus-panel h2 { max-width:400px; margin:17px 0 7px; font-size:22px; letter-spacing:-.035em; }.focus-panel > p { max-width:410px; margin:0; color:#9fb0c6; font-size:11px; }.focus-actions { margin-top:26px; display:flex; gap:8px; }.focus-actions .btn .ui-icon { width:13px; height:13px; }.focus-panel > small { margin-top:17px; color:#64748b; font-size:8px; }.focus-panel.is-switching .focus-icon,.focus-panel.is-switching h2,.focus-panel.is-switching > p { animation:content-enter .25s both; }
@keyframes fade-in { from { opacity:0; } to { opacity:1; } } @keyframes focus-enter { from { opacity:0; transform:translateY(18px) scale(.97); } to { opacity:1; transform:none; } }
.appearance-dark .today-command,.appearance-dark .today-action { color:#e5edf8; border-color:#25334a; background:#111c2e; }.appearance-dark .today-command-stats { border-color:#25334a; background:rgba(12,23,40,.8); }.appearance-dark .today-tabs,.appearance-dark .today-pagination { background:#0c1728; }.appearance-dark .today-task:hover { background:#0c1728; }.appearance-dark .today-progress-rows strong { color:#e5edf8; }

/* Application confirmation — replaces native browser confirms for in-app actions. */
.plaza-confirm[hidden]{display:none}.plaza-confirm{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px}.plaza-confirm-backdrop{position:absolute;inset:0;background:rgba(6,18,35,.58);backdrop-filter:blur(5px);animation:fade-in .18s both}.plaza-confirm-panel{width:min(470px,100%);position:relative;z-index:1;display:grid;grid-template-columns:54px minmax(0,1fr);gap:17px;padding:25px;border:1px solid #dce5f0;border-radius:20px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.27);animation:focus-enter .22s both cubic-bezier(.2,.8,.2,1)}.plaza-confirm-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;color:#2563eb;background:#eaf2ff}.plaza-confirm-icon .ui-icon{width:25px;height:25px}.plaza-confirm.is-danger .plaza-confirm-icon{color:#b45309;background:#fff3d6}.plaza-confirm-copy{min-width:0}.plaza-confirm-kicker{display:block;margin:1px 0 6px;color:#2563eb;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.plaza-confirm.is-danger .plaza-confirm-kicker{color:#b45309}.plaza-confirm-copy h2{margin:0;color:#101b31;font-size:19px;line-height:1.25;letter-spacing:-.025em}.plaza-confirm-copy p{margin:8px 0 0;color:#62718a;font-size:11px;line-height:1.65}.plaza-confirm-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;margin-top:5px;padding-top:17px;border-top:1px solid #edf1f6}.plaza-confirm-actions .btn{min-width:122px;justify-content:center}.has-confirm-open{overflow:hidden}.appearance-dark .plaza-confirm-panel{color:#e5edf8;border-color:#293850;background:#111c2e}.appearance-dark .plaza-confirm-copy h2{color:#f2f6fc}.appearance-dark .plaza-confirm-copy p{color:#9fb0c6}.appearance-dark .plaza-confirm-actions{border-color:#293850}
@media(max-width:520px){.plaza-confirm{align-items:end;padding:12px}.plaza-confirm-panel{grid-template-columns:45px minmax(0,1fr);gap:13px;padding:19px;border-radius:18px}.plaza-confirm-icon{width:45px;height:45px;border-radius:13px}.plaza-confirm-actions{display:grid;grid-template-columns:1fr}.plaza-confirm-actions .btn{width:100%}}
@media (max-width:1200px) { .today-command { align-items:flex-start; flex-direction:column; }.today-command-stats { width:100%; min-width:0; }.today-action-dock { grid-template-columns:repeat(3,minmax(0,1fr)); }.today-layout { grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr); } }
@media (max-width:900px) { .today-layout,.today-secondary-grid { grid-template-columns:1fr; }.today-rail { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .today-command { padding:18px; }.today-command-stats { grid-template-columns:repeat(2,1fr); }.today-command-stats div:nth-child(2) { border-right:0; }.today-command-stats div:nth-child(-n+2) { border-bottom:1px solid var(--slate-200); }.today-action-dock { grid-template-columns:1fr 1fr; }.today-workspace-head { align-items:flex-start; flex-direction:column; }.today-task { grid-template-columns:38px minmax(0,1fr); }.today-task-actions { grid-column:2; }.today-task-actions .btn { flex:1; }.today-pagination { align-items:flex-start; flex-direction:column; }.today-rail { grid-template-columns:1fr; }.today-followup-row { grid-template-columns:36px minmax(0,1fr) auto; }.today-followup-row > div:last-child { grid-column:2; }.focus-panel { min-height:390px; padding:26px 20px; }.focus-actions { width:100%; flex-direction:column-reverse; }.focus-actions .btn { width:100%; } }

/* Refined task filter rail */
.today-tabs { margin:10px 14px 12px; padding:5px; gap:4px; position:relative; border:1px solid var(--slate-200); border-radius:14px; background:#f4f7fb; box-shadow:inset 0 1px 2px rgba(15,23,42,.035); }
.today-tabs button { min-height:38px; padding:7px 10px; position:relative; gap:7px; border:1px solid transparent; border-radius:10px; color:var(--slate-600); background:transparent; font-size:10px; transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.today-tabs button::before { content:''; width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:#94a3b8; box-shadow:0 0 0 3px rgba(148,163,184,.1); transition:transform .18s ease,box-shadow .18s ease; }
.today-tabs button[data-work-filter="all"]::before { background:var(--blue-600); }.today-tabs button[data-work-filter="urgent"]::before { background:#ef4444; }.today-tabs button[data-work-filter="finance"]::before { background:#16a34a; }.today-tabs button[data-work-filter="agreements"]::before { background:#8b5cf6; }.today-tabs button[data-work-filter="maintenance"]::before { background:#f59e0b; }.today-tabs button[data-work-filter="leasing"]::before { background:#06b6d4; }.today-tabs button[data-work-filter="utilities"]::before { background:#6366f1; }
.today-tabs button b { min-width:20px; height:20px; padding:0 6px; color:var(--slate-500); background:#e5eaf1; font-size:8px; transition:.18s ease; }
.today-tabs button:hover { color:var(--slate-900); border-color:#e2e8f0; background:rgba(255,255,255,.72); transform:translateY(-1px); }
.today-tabs button:hover::before { transform:scale(1.15); }
.today-tabs button.active { color:var(--blue-600); border-color:#d5e3ff; background:white; box-shadow:0 5px 15px rgba(15,23,42,.08),inset 0 -2px 0 var(--blue-600); transform:none; }
.today-tabs button.active::before { box-shadow:0 0 0 4px rgba(37,99,235,.1); }
.today-tabs button.active b { color:white; background:var(--blue-600); }
.appearance-dark .today-tabs { border-color:#25334a; background:#0c1728; }.appearance-dark .today-tabs button:hover,.appearance-dark .today-tabs button.active { color:#bfdbfe; border-color:#334766; background:#17243a; }.appearance-dark .today-tabs button b { background:#25334a; }.appearance-dark .today-tabs button.active b { color:white; background:var(--blue-600); }
@media (max-width:700px) { .today-tabs { margin-inline:10px; }.today-tabs button { min-height:36px; padding-inline:9px; } }

/* Premium units workspace */
.units-hero { margin-bottom:14px; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; overflow:hidden; position:relative; border:1px solid #dbe7f5; border-radius:20px; background:radial-gradient(circle at 85% 0,rgba(37,99,235,.15),transparent 31%),linear-gradient(135deg,#fff,#f7faff); box-shadow:0 12px 35px rgba(15,23,42,.055); }.units-hero::after { content:''; width:180px; height:180px; position:absolute; right:-80px; bottom:-130px; border:25px solid rgba(37,99,235,.055); border-radius:50%; }.units-hero > div:first-child { position:relative; z-index:1; }.units-hero-kicker { display:flex; align-items:center; gap:7px; color:var(--blue-600); font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.13em; }.units-hero-kicker i { width:7px; height:7px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 5px rgba(34,197,94,.1); }.units-hero h2 { margin:7px 0 3px; font-size:22px; letter-spacing:-.035em; }.units-hero p { margin:0; color:var(--slate-500); font-size:11px; }.units-occupancy { min-width:260px; position:relative; z-index:1; display:flex; align-items:center; gap:15px; }.units-occupancy .donut { width:86px; flex:0 0 86px; }.units-occupancy .donut::before { width:62px; }.units-occupancy .donut strong { font-size:16px; }.units-occupancy > div:last-child strong,.units-occupancy > div:last-child span,.units-occupancy > div:last-child a { display:block; }.units-occupancy > div:last-child strong { font-size:13px; }.units-occupancy > div:last-child span { color:var(--slate-500); font-size:9px; }.units-occupancy > div:last-child a { margin-top:7px; color:var(--blue-600); font-size:9px; font-weight:800; }
.units-metrics { margin-bottom:14px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }.units-metrics article { min-width:0; padding:15px; display:flex; align-items:center; gap:12px; border:1px solid var(--slate-200); border-radius:15px; background:white; box-shadow:0 7px 20px rgba(15,23,42,.04); }.units-metrics article > i { width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; border-radius:12px; font-style:normal; }.units-metrics article > i .ui-icon { width:19px; height:19px; }.metric-blue { color:#2563eb; background:#dbeafe; }.metric-green { color:#15803d; background:#dcfce7; }.metric-amber { color:#a16207; background:#fef3c7; }.metric-red { color:#b91c1c; background:#fee2e2; }.units-metrics article div { min-width:0; }.units-metrics span,.units-metrics strong,.units-metrics small { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }.units-metrics span { color:var(--slate-500); font-size:8px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }.units-metrics strong { margin-top:3px; font-size:17px; letter-spacing:-.03em; }.units-metrics small { margin-top:2px; color:var(--slate-400); font-size:8px; }
.units-floor-rail { margin-bottom:14px; padding:5px; display:flex; gap:5px; overflow-x:auto; border:1px solid var(--slate-200); border-radius:15px; background:#f4f7fb; scrollbar-width:none; }.units-floor-rail::-webkit-scrollbar { display:none; }.units-floor-rail button { min-width:150px; padding:9px 11px; display:flex; align-items:center; gap:9px; border:1px solid transparent; border-radius:11px; color:var(--slate-600); background:transparent; text-align:left; transition:.18s ease; }.units-floor-rail button > span { width:32px; height:32px; flex:0 0 32px; display:grid; place-items:center; border-radius:9px; color:var(--slate-500); background:#e8edf4; }.units-floor-rail button .ui-icon { width:15px; height:15px; }.units-floor-rail button strong,.units-floor-rail button small { display:block; }.units-floor-rail button strong { font-size:10px; }.units-floor-rail button small { margin-top:2px; color:var(--slate-500); font-size:8px; }.units-floor-rail button:hover { background:rgba(255,255,255,.75); }.units-floor-rail button.active { color:var(--blue-600); border-color:#d5e3ff; background:white; box-shadow:0 5px 15px rgba(15,23,42,.07),inset 0 -2px 0 var(--blue-600); }.units-floor-rail button.active > span { color:white; background:var(--blue-600); }
.units-workspace { overflow:hidden; }.units-toolbar { padding:13px 15px; display:grid; grid-template-columns:minmax(230px,1.4fr) repeat(4,minmax(120px,.7fr)) auto; gap:8px; align-items:center; border-bottom:1px solid var(--slate-100); }.units-search { min-height:40px; padding:0 10px; display:flex; align-items:center; gap:8px; border:1px solid var(--slate-200); border-radius:10px; background:var(--slate-50); }.units-search > span { color:var(--slate-500); }.units-search .ui-icon { width:15px; height:15px; }.units-search input { min-width:0; flex:1; border:0; outline:0; color:var(--slate-900); background:transparent; font-size:10px; }.units-search kbd { padding:1px 6px; border:1px solid var(--slate-200); border-radius:5px; color:var(--slate-400); background:white; font-size:9px; }.units-toolbar select { width:100%; min-height:40px; padding:0 28px 0 9px; border:1px solid var(--slate-200); border-radius:10px; outline:0; color:var(--slate-600); background:white; font-size:9px; }.units-clear { min-height:40px; padding:0 11px; display:flex; align-items:center; gap:5px; border:1px solid var(--slate-200); border-radius:10px; color:var(--slate-500); background:white; font-size:9px; font-weight:800; }.units-clear:hover { color:var(--red-700); border-color:#fecaca; background:#fff7f7; }.units-clear .ui-icon { width:13px; height:13px; }
.units-viewbar { padding:12px 15px; display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid var(--slate-100); background:#fbfcfe; }.units-viewbar > div:first-child strong,.units-viewbar > div:first-child span { display:block; }.units-viewbar > div:first-child strong { font-size:12px; }.units-viewbar > div:first-child span { margin-top:2px; color:var(--slate-500); font-size:8px; }.units-view-switch { padding:3px; display:flex; gap:2px; border:1px solid var(--slate-200); border-radius:10px; background:var(--slate-100); }.units-view-switch button { min-height:30px; padding:5px 8px; display:flex; align-items:center; gap:5px; border:0; border-radius:7px; color:var(--slate-500); background:transparent; font-size:8px; font-weight:800; }.units-view-switch .ui-icon { width:13px; height:13px; }.units-view-switch button.active { color:var(--blue-600); background:white; box-shadow:0 3px 8px rgba(15,23,42,.08); }
.units-grid-view { padding:15px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; }.unit-directory-card { min-width:0; padding:14px; position:relative; overflow:hidden; border:1px solid var(--slate-200); border-radius:15px; background:white; transition:.2s ease; animation:content-enter .3s both ease; }.unit-directory-card[hidden] { display:none; }.unit-directory-card::before { content:''; width:3px; position:absolute; inset:0 auto 0 0; background:#94a3b8; }.unit-directory-card.status-occupied::before { background:#22c55e; }.unit-directory-card.status-vacant::before { background:#3b82f6; }.unit-directory-card.status-notice::before,.unit-directory-card.status-maintenance::before,.unit-directory-card.status-renovation::before { background:#f59e0b; }.unit-directory-card.status-blocked::before { background:#ef4444; }.unit-directory-card:hover { border-color:#bfdbfe; box-shadow:0 13px 30px rgba(37,99,235,.09); transform:translateY(-3px); }.unit-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }.unit-card-head > div > span { color:var(--slate-400); font-size:8px; text-transform:uppercase; letter-spacing:.05em; }.unit-card-head h3 { margin:2px 0 0; font-size:17px; letter-spacing:-.03em; }.unit-status-label { padding:4px 7px; display:flex; align-items:center; gap:5px; border-radius:999px; color:var(--slate-600); background:var(--slate-100); font-size:7px; font-weight:850; text-transform:uppercase; }.unit-status-label i { width:6px; height:6px; border-radius:50%; background:#94a3b8; }.status-occupied .unit-status-label i { background:#22c55e; }.status-vacant .unit-status-label i { background:#3b82f6; }.status-notice .unit-status-label i,.status-maintenance .unit-status-label i,.status-renovation .unit-status-label i { background:#f59e0b; }.unit-card-tenant { margin-top:13px; padding:10px; display:flex; align-items:center; gap:9px; border-radius:11px; background:var(--slate-50); }.unit-tenant-avatar { width:32px; height:32px; flex:0 0 32px; display:grid; place-items:center; border-radius:10px; color:var(--blue-600); background:var(--blue-50); font-size:9px; font-weight:900; }.unit-tenant-avatar .ui-icon { width:15px; height:15px; }.unit-card-tenant > div:last-child { min-width:0; }.unit-card-tenant strong,.unit-card-tenant span { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }.unit-card-tenant strong { font-size:9px; }.unit-card-tenant span { margin-top:2px; color:var(--slate-400); font-size:7px; }.unit-card-finance { padding:12px 0; display:grid; grid-template-columns:1fr 1fr; gap:8px; border-bottom:1px solid var(--slate-100); }.unit-card-finance div:last-child { padding-left:9px; border-left:1px solid var(--slate-100); }.unit-card-finance span,.unit-card-finance strong { display:block; }.unit-card-finance span { color:var(--slate-400); font-size:7px; text-transform:uppercase; }.unit-card-finance strong { margin-top:3px; font-size:10px; }.unit-card-meta { min-height:38px; padding:9px 0; display:flex; gap:7px; flex-wrap:wrap; }.unit-card-meta span { display:flex; align-items:center; gap:3px; color:var(--slate-500); font-size:7px; }.unit-card-meta span.attention { color:var(--amber-700); font-weight:800; }.unit-card-meta .ui-icon { width:10px; height:10px; }.unit-preview-trigger { width:100%; min-height:32px; display:flex; align-items:center; justify-content:center; gap:5px; border:1px solid var(--slate-200); border-radius:9px; color:var(--slate-600); background:white; font-size:8px; font-weight:800; }.unit-preview-trigger:hover { color:var(--blue-600); border-color:#bfdbfe; background:var(--blue-50); }.unit-preview-trigger .ui-icon { width:11px; height:11px; }
.units-grid-view[hidden],.units-table-view[hidden],.units-map-view[hidden],.units-pagination[hidden] { display:none; }.units-table-view tr[hidden] { display:none; }.units-map-view { padding:15px; }.floor-map-group { margin-bottom:15px; }.floor-map-group:last-child { margin:0; }.floor-map-group[hidden] { display:none; }.floor-map-head { margin-bottom:8px; display:flex; align-items:center; gap:10px; }.floor-map-head > div strong,.floor-map-head > div span { display:block; }.floor-map-head strong { font-size:11px; }.floor-map-head span { color:var(--slate-500); font-size:8px; }.floor-map-head > i { height:1px; flex:1; background:linear-gradient(90deg,var(--slate-200),transparent); }.floor-map-units { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }.floor-unit { min-width:0; min-height:82px; padding:10px; position:relative; overflow:hidden; border:1px solid var(--slate-200); border-radius:12px; background:white; transition:.18s ease; }.floor-unit[hidden] { display:none; }.floor-unit::before { content:''; height:3px; position:absolute; inset:0 0 auto; background:#94a3b8; }.floor-unit.status-occupied::before { background:#22c55e; }.floor-unit.status-vacant::before { background:#3b82f6; }.floor-unit.status-maintenance::before,.floor-unit.status-notice::before { background:#f59e0b; }.floor-unit:hover { border-color:#bfdbfe; box-shadow:0 8px 20px rgba(37,99,235,.08); transform:translateY(-2px); }.floor-unit > span { display:flex; align-items:center; gap:4px; color:var(--slate-400); font-size:6px; text-transform:uppercase; }.floor-unit > span i { width:5px; height:5px; border-radius:50%; background:currentColor; }.floor-unit strong,.floor-unit small { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }.floor-unit strong { margin-top:8px; font-size:12px; }.floor-unit small { margin-top:2px; color:var(--slate-500); font-size:7px; }
.units-no-results { padding:55px 20px; text-align:center; }.units-no-results .ui-icon { width:28px; height:28px; margin:0 auto 10px; color:var(--slate-300); }.units-no-results strong,.units-no-results span { display:block; }.units-no-results strong { font-size:13px; }.units-no-results span { margin-top:3px; color:var(--slate-500); font-size:9px; }.units-pagination { min-height:54px; padding:10px 15px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--slate-100); background:var(--slate-50); }.units-pagination > span { color:var(--slate-500); font-size:9px; }.units-pagination > div,.units-pagination [data-unit-pages] { display:flex; align-items:center; gap:4px; }.units-pagination label { margin-right:7px; color:var(--slate-500); font-size:8px; }.units-pagination select { min-height:29px; margin-left:4px; border:1px solid var(--slate-200); border-radius:7px; background:white; font-size:8px; }.units-pagination button { width:29px; height:29px; display:grid; place-items:center; border:1px solid var(--slate-200); border-radius:8px; color:var(--slate-600); background:white; font-size:8px; font-weight:800; }.units-pagination button.active,.units-pagination button:hover:not(:disabled) { color:white; border-color:var(--blue-600); background:var(--blue-600); }.units-pagination button:disabled { opacity:.4; }
.unit-drawer[hidden] { display:none; }.unit-drawer { position:fixed; inset:0; z-index:400; }.unit-drawer-backdrop { position:absolute; inset:0; background:rgba(2,6,23,.58); backdrop-filter:blur(5px); animation:fade-in .2s both; }.unit-drawer > aside { width:min(430px,100%); height:100%; margin-left:auto; position:relative; z-index:1; display:flex; flex-direction:column; background:white; box-shadow:-30px 0 90px rgba(2,6,23,.25); animation:drawer-enter .28s both cubic-bezier(.2,.8,.2,1); }.unit-drawer-head { padding:22px; display:flex; align-items:flex-start; justify-content:space-between; gap:15px; border-bottom:1px solid var(--slate-100); background:linear-gradient(145deg,#f8fbff,#fff); }.unit-drawer-head span { color:var(--blue-600); font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }.unit-drawer-head h2 { margin:4px 0 2px; font-size:24px; letter-spacing:-.04em; }.unit-drawer-head p { margin:0; color:var(--slate-500); font-size:9px; }.unit-drawer-head button { width:35px; height:35px; display:grid; place-items:center; border:1px solid var(--slate-200); border-radius:10px; color:var(--slate-500); background:white; }.unit-drawer-head button .ui-icon { width:15px; height:15px; }.unit-drawer-body { padding:20px 22px; flex:1; overflow:auto; }.drawer-status { width:max-content; padding:5px 9px; border-radius:999px; color:var(--blue-600); background:var(--blue-50); font-size:8px; font-weight:900; text-transform:uppercase; }.unit-drawer-body > section { margin-top:20px; padding-bottom:17px; border-bottom:1px solid var(--slate-100); }.unit-drawer-body > section span,.unit-drawer-body > section strong { display:block; }.unit-drawer-body > section span,.drawer-finance span,.drawer-info span { color:var(--slate-500); font-size:8px; text-transform:uppercase; letter-spacing:.05em; }.unit-drawer-body > section strong { margin-top:4px; font-size:16px; }.drawer-finance { padding:17px 0; display:grid; grid-template-columns:1fr 1fr; gap:10px; border-bottom:1px solid var(--slate-100); }.drawer-finance div:last-child { padding-left:13px; border-left:1px solid var(--slate-100); }.drawer-finance span,.drawer-finance strong { display:block; }.drawer-finance strong { margin-top:4px; font-size:14px; }.drawer-info { padding:9px 0; }.drawer-info > div { padding:10px 0; display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:9px; }.drawer-info > div > .ui-icon { width:16px; height:16px; color:var(--blue-600); }.drawer-info strong { font-size:10px; }.drawer-note { margin-top:12px; padding:13px; border:1px solid #dbeafe; border-radius:12px; background:#f5f9ff; }.drawer-note strong { color:var(--blue-600); font-size:9px; }.drawer-note p { margin:3px 0 0; color:var(--slate-500); font-size:8px; line-height:1.5; }.unit-drawer-actions { padding:15px 22px; display:flex; gap:8px; border-top:1px solid var(--slate-100); }.unit-drawer-actions .btn { flex:1; }.unit-drawer-actions .ui-icon { width:13px; height:13px; } @keyframes drawer-enter { from { transform:translateX(100%); } to { transform:none; } }
.appearance-dark .units-hero,.appearance-dark .units-metrics article,.appearance-dark .units-floor-rail button.active,.appearance-dark .unit-directory-card,.appearance-dark .floor-unit { color:#e5edf8; border-color:#25334a; background:#111c2e; }.appearance-dark .units-floor-rail,.appearance-dark .units-viewbar,.appearance-dark .units-pagination,.appearance-dark .unit-card-tenant { background:#0c1728; }.appearance-dark .units-toolbar select,.appearance-dark .units-search,.appearance-dark .units-clear { color:#dbe5f5; border-color:#25334a; background:#0c1728; }.appearance-dark .unit-drawer > aside { color:#e5edf8; background:#111c2e; }.appearance-dark .unit-drawer-head { border-color:#25334a; background:#0c1728; }
@media (max-width:1280px) { .units-toolbar { grid-template-columns:minmax(220px,1.3fr) repeat(2,minmax(130px,.7fr)) auto; }.units-grid-view { grid-template-columns:repeat(3,minmax(0,1fr)); }.floor-map-units { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:950px) { .units-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.units-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }.units-search { grid-column:span 2; }.units-grid-view { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .units-hero { padding:18px; align-items:flex-start; flex-direction:column; }.units-occupancy { min-width:0; }.units-metrics { grid-template-columns:1fr; }.units-toolbar { grid-template-columns:1fr; }.units-search { grid-column:auto; }.units-viewbar { align-items:flex-start; flex-direction:column; }.units-view-switch { width:100%; }.units-view-switch button { flex:1; justify-content:center; }.units-grid-view { grid-template-columns:1fr; padding:11px; }.floor-map-units { grid-template-columns:repeat(2,minmax(0,1fr)); }.units-pagination { align-items:flex-start; flex-direction:column; }.unit-drawer-actions { flex-direction:column; } }

/* Readable unit filters and floor navigation */
.units-floor-rail { padding:7px; gap:7px; }.units-floor-rail button { min-width:178px; min-height:54px; padding:10px 12px; }.units-floor-rail button > span { width:36px; height:36px; flex-basis:36px; }.units-floor-rail button .ui-icon { width:17px; height:17px; }.units-floor-rail button strong { font-size:12px; line-height:1.25; }.units-floor-rail button small { margin-top:3px; color:var(--slate-500); font-size:10px; line-height:1.25; }
.units-toolbar { gap:10px; }.units-search,.units-toolbar select,.units-clear { min-height:46px; }.units-search { padding-inline:12px; }.units-search input { font-size:12px; }.units-search .ui-icon { width:17px; height:17px; }.units-toolbar select { padding-left:11px; color:var(--slate-700); font-size:11px; font-weight:600; }.units-clear { padding-inline:13px; font-size:11px; }.units-viewbar > div:first-child strong { font-size:13px; }.units-viewbar > div:first-child span { font-size:10px; }.units-view-switch button { min-height:34px; font-size:10px; }

/* Premium unit create/edit form */
.unit-form-layout { display:grid; grid-template-columns:minmax(0,1fr) 285px; gap:18px; align-items:start; }.unit-form-card { overflow:hidden; }.unit-form-intro { padding:22px 24px; display:flex; align-items:center; gap:14px; border-bottom:1px solid var(--slate-100); background:radial-gradient(circle at 90% 0,rgba(37,99,235,.1),transparent 28%),linear-gradient(135deg,#fff,#f8fbff); }.unit-form-intro-icon { width:50px; height:50px; flex:0 0 50px; display:grid; place-items:center; border-radius:15px; color:white; background:linear-gradient(145deg,var(--blue-600),#1d4ed8); box-shadow:0 10px 24px rgba(37,99,235,.22); }.unit-form-intro-icon .ui-icon { width:23px; height:23px; }.unit-form-intro > div:last-child > span { color:var(--blue-600); font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }.unit-form-intro h2 { margin:4px 0 2px; font-size:18px; letter-spacing:-.025em; }.unit-form-intro p { margin:0; color:var(--slate-500); font-size:11px; }
.unit-form-section { padding:22px 24px; border-bottom:1px solid var(--slate-100); }.unit-form-section-head { margin-bottom:18px; display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:11px; }.unit-form-section-head > span { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:var(--blue-600); background:var(--blue-50); }.unit-form-section-head > span .ui-icon { width:17px; height:17px; }.unit-form-section-head h3 { margin:0; font-size:14px; }.unit-form-section-head p { margin:2px 0 0; color:var(--slate-500); font-size:10px; }.unit-form-section-head > b { color:#d7e0eb; font-size:22px; font-weight:900; letter-spacing:-.04em; }
.unit-form-card .form-grid { gap:16px; }.unit-form-card .field { gap:7px; align-content:start; grid-auto-rows:max-content; }.unit-identity-grid .field { grid-template-rows:16px 46px minmax(25px,auto); }.unit-identity-grid .field > .input,.unit-identity-grid .field > .select { height:46px; }.unit-form-card .field label { color:var(--slate-700); font-size:11px; font-weight:800; }.unit-form-card .field .hint { margin:0; color:var(--slate-400); font-size:9px; line-height:1.35; }.unit-form-card .input,.unit-form-card .select,.unit-form-card .textarea { min-height:46px; border-color:#cbd7e5; border-radius:11px; font-size:12px; background:#fff; }.unit-form-card .input::placeholder,.unit-form-card .textarea::placeholder { color:#9baabc; }.unit-form-card .input:hover,.unit-form-card .select:hover,.unit-form-card .textarea:hover { border-color:#aebfd3; }.unit-form-card .input:focus,.unit-form-card .select:focus,.unit-form-card .textarea:focus { border-color:var(--blue-500); box-shadow:0 0 0 4px rgba(59,130,246,.1); }.unit-form-card .textarea { min-height:105px; }
.unit-input-prefix,.unit-input-suffix { position:relative; }.unit-input-prefix > span,.unit-input-suffix > span { position:absolute; top:50%; z-index:1; color:var(--slate-500); font-size:9px; font-weight:850; transform:translateY(-50%); }.unit-input-prefix > span { left:12px; }.unit-input-prefix .input { padding-left:46px; }.unit-input-suffix > span { right:12px; }.unit-input-suffix .input { padding-right:46px; }
.unit-form-actions { padding:15px 24px; position:sticky; bottom:0; z-index:5; display:flex; align-items:center; justify-content:flex-end; gap:8px; border-top:1px solid var(--slate-100); background:rgba(255,255,255,.92); backdrop-filter:blur(12px); }.unit-form-actions .btn .ui-icon { width:14px; height:14px; }
.unit-form-rail { position:sticky; top:92px; display:grid; gap:14px; }.unit-form-preview { overflow:hidden; border-color:#cbd9ea; box-shadow:0 18px 45px rgba(20,44,82,.1); }.unit-preview-visual { min-height:190px; padding:18px; position:relative; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; color:white; background:radial-gradient(circle at 92% 6%,rgba(96,165,250,.45),transparent 31%),radial-gradient(circle at 8% 100%,rgba(37,99,235,.3),transparent 34%),linear-gradient(145deg,#17345e,#071525 78%); }.unit-preview-visual::after { content:""; position:absolute; right:-25px; bottom:-50px; width:150px; height:150px; border:1px solid rgba(255,255,255,.08); border-radius:42px; transform:rotate(24deg); }.unit-preview-top { position:absolute; top:15px; left:17px; right:17px; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:8px; }.unit-preview-top > span { color:#a9ccff; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.11em; }.unit-preview-top > b { max-width:95px; padding:5px 8px; overflow:hidden; color:#d9fbe8; border:1px solid rgba(134,239,172,.22); border-radius:999px; background:rgba(22,163,74,.18); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.unit-preview-building { width:38px; height:38px; margin-bottom:14px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.13); border-radius:12px; color:#bfdbfe; background:rgba(255,255,255,.08); backdrop-filter:blur(8px); }.unit-preview-building .ui-icon { width:18px; height:18px; }.unit-preview-visual > strong { position:relative; z-index:1; font-size:26px; letter-spacing:-.045em; }.unit-preview-visual > small { margin-top:3px; position:relative; z-index:1; color:#b7c7dc; font-size:10px; }.unit-preview-location { margin-top:12px; position:relative; z-index:1; display:flex; align-items:center; gap:7px; color:#d7e7fb; font-size:8px; font-weight:700; }.unit-preview-location i { width:3px; height:3px; border-radius:50%; background:#60a5fa; }.unit-preview-profile,.unit-preview-finance { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--slate-100); }.unit-preview-profile > div,.unit-preview-finance > div { min-width:0; padding:12px 14px; }.unit-preview-profile > div:first-child,.unit-preview-finance > div:first-child { border-right:1px solid var(--slate-100); }.unit-preview-profile span,.unit-preview-profile strong,.unit-preview-finance span,.unit-preview-finance strong { display:block; }.unit-preview-profile span,.unit-preview-finance span { color:var(--slate-500); font-size:7px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }.unit-preview-profile strong,.unit-preview-finance strong { margin-top:4px; overflow:hidden; color:var(--slate-800); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.unit-preview-finance strong { color:var(--blue-700); }.unit-preview-readiness { padding:14px; }.unit-preview-readiness-head { display:flex; align-items:center; justify-content:space-between; }.unit-preview-readiness-head span { color:var(--slate-600); font-size:8px; font-weight:800; }.unit-preview-readiness-head strong { color:var(--blue-700); font-size:9px; }.unit-preview-progress { height:5px; margin-top:8px; overflow:hidden; border-radius:999px; background:var(--slate-100); }.unit-preview-progress i { width:0; height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,#2563eb,#4f46e5); transition:width .35s cubic-bezier(.2,.8,.2,1); }.unit-preview-meters { margin-top:12px; display:flex; flex-wrap:wrap; gap:5px; }.unit-preview-meters span { padding:5px 7px; display:inline-flex; align-items:center; gap:4px; color:var(--slate-400); border:1px solid var(--slate-200); border-radius:7px; background:var(--slate-50); font-size:7px; font-weight:750; transition:.25s ease; }.unit-preview-meters span.is-ready { color:#15803d; border-color:#bbf7d0; background:#f0fdf4; }.unit-preview-meters .ui-icon { width:9px; height:9px; }
.unit-form-guidance .card-header { padding:16px; }.unit-form-guidance .card-header h3 { font-size:13px; }.unit-form-guidance .card-body { padding:8px 16px 13px; }.unit-form-guidance .card-body > div { padding:10px 0; display:grid; grid-template-columns:32px 1fr; align-items:center; gap:9px; border-bottom:1px solid var(--slate-100); }.unit-form-guidance .card-body > div:last-child { border:0; }.unit-form-guidance .card-body i { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; color:var(--blue-600); background:var(--blue-50); font-style:normal; }.unit-form-guidance .ui-icon { width:14px; height:14px; }.unit-form-guidance strong,.unit-form-guidance small { display:block; }.unit-form-guidance strong { font-size:9px; }.unit-form-guidance small { margin-top:2px; color:var(--slate-500); font-size:8px; line-height:1.35; }
.unit-form-help { padding:14px; display:grid; grid-template-columns:34px 1fr; gap:10px; border:1px solid #dbeafe; border-radius:14px; background:#f5f9ff; }.unit-form-help > span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--blue-600); background:#dbeafe; }.unit-form-help .ui-icon { width:15px; height:15px; }.unit-form-help strong { font-size:10px; }.unit-form-help p { margin:3px 0 7px; color:var(--slate-500); font-size:8px; line-height:1.45; }.unit-form-help a { color:var(--blue-600); font-size:8px; font-weight:850; }
.appearance-dark .unit-form-intro,.appearance-dark .unit-form-actions { background:#111c2e; }.appearance-dark .unit-form-card .input,.appearance-dark .unit-form-card .select,.appearance-dark .unit-form-card .textarea { color:#e5edf8; border-color:#33445e; background:#0c1728; }.appearance-dark .unit-form-help { border-color:#253f64; background:#0c1728; }
.appearance-dark .unit-preview-profile,.appearance-dark .unit-preview-finance { border-color:#25344a; }.appearance-dark .unit-preview-profile > div:first-child,.appearance-dark .unit-preview-finance > div:first-child { border-color:#25344a; }.appearance-dark .unit-preview-profile strong,.appearance-dark .unit-preview-finance strong { color:#e5edf8; }
@media (max-width:1100px) { .unit-form-layout { grid-template-columns:1fr; }.unit-form-rail { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }.unit-form-help { align-content:center; } }
@media (max-width:700px) { .unit-form-intro { padding:18px; align-items:flex-start; }.unit-form-section { padding:18px; }.unit-form-section-head { align-items:start; }.unit-form-section-head > b { display:none; }.unit-form-actions { padding:13px 18px; }.unit-form-actions .btn { flex:1; }.unit-form-rail { grid-template-columns:1fr; } }

/* Full-page premium authentication */
.login-page { min-height:100vh; padding:0; display:block; overflow-x:hidden; color:#111c32; background:#fff; }
.login-shell { width:100%; min-height:100vh; display:grid; grid-template-columns:minmax(480px,1.05fr) minmax(440px,.95fr); overflow:visible; border-radius:0; background:#fff; box-shadow:none; }
.login-visual { min-height:100vh; padding:42px clamp(38px,5vw,78px) 32px; position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; color:#fff; background:linear-gradient(145deg,#071426 0%,#0c2344 53%,#153f80 100%); }
.login-visual::before { content:""; position:absolute; inset:0; z-index:-2; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:56px 56px; mask-image:linear-gradient(to bottom,black,transparent 88%); }
.login-visual::after { content:""; position:absolute; width:480px; height:480px; right:-260px; top:17%; z-index:-1; border:1px solid rgba(255,255,255,.08); border-radius:120px; transform:rotate(32deg); }
.login-orb { position:absolute; z-index:-1; border-radius:50%; filter:blur(2px); animation:login-float 8s ease-in-out infinite; }.login-orb-one { width:260px; height:260px; right:10%; top:-140px; background:rgba(55,122,255,.22); }.login-orb-two { width:180px; height:180px; left:-90px; bottom:15%; background:rgba(45,212,191,.12); animation-delay:-3s; }
.login-brand,.login-mobile-brand { display:flex; align-items:center; gap:12px; }.login-brand .brand-mark,.login-mobile-brand .brand-mark { width:43px; height:43px; border-radius:13px; box-shadow:0 14px 35px rgba(5,16,35,.25); }.login-brand strong,.login-brand span { display:block; }.login-brand strong { max-width:260px; overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }.login-brand span { margin-top:3px; color:#9fb4d1; font-size:9px; letter-spacing:.025em; }
.login-visual-copy { max-width:620px; margin:clamp(48px,9vh,100px) 0 28px; }.login-eyebrow { display:inline-flex; align-items:center; gap:8px; color:#a9c8f6; font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.13em; }.login-eyebrow i { width:7px; height:7px; border:2px solid #60a5fa; border-radius:50%; box-shadow:0 0 0 5px rgba(96,165,250,.11); }.login-visual h1 { max-width:610px; margin:18px 0 18px; font-size:clamp(42px,4.6vw,68px); line-height:.99; letter-spacing:-.058em; }.login-visual-copy p { max-width:570px; margin:0; color:#b7c8df; font-size:clamp(13px,1.15vw,16px); line-height:1.7; }
.login-command-card { max-width:650px; padding:19px; position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:20px; background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.045)); box-shadow:0 24px 70px rgba(0,8,22,.24); backdrop-filter:blur(16px); }.login-command-head { display:flex; align-items:center; justify-content:space-between; }.login-command-head span,.login-command-head strong { display:block; }.login-command-head span { color:#91acd0; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }.login-command-head strong { margin-top:3px; font-size:12px; }.login-command-head b { padding:6px 9px; display:flex; align-items:center; gap:6px; border:1px solid rgba(74,222,128,.17); border-radius:999px; color:#a7f3d0; background:rgba(22,163,74,.13); font-size:8px; }.login-command-head b i,.login-system-status i { width:6px; height:6px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 4px rgba(34,197,94,.12); animation:login-pulse 2.2s ease-in-out infinite; }
.login-command-metrics { margin-top:18px; display:grid; grid-template-columns:repeat(3,1fr); }.login-command-metrics article { padding:7px 16px; border-left:1px solid rgba(255,255,255,.1); }.login-command-metrics article:first-child { padding-left:0; border:0; }.login-command-metrics span,.login-command-metrics strong,.login-command-metrics small { display:block; }.login-command-metrics span { color:#8fa9ca; font-size:8px; }.login-command-metrics strong { margin-top:7px; font-size:25px; letter-spacing:-.05em; }.login-command-metrics small { margin-top:2px; color:#8199b8; font-size:7px; }
.login-command-flow { margin-top:17px; padding-top:13px; display:flex; gap:17px; border-top:1px solid rgba(255,255,255,.09); }.login-command-flow span { display:flex; align-items:center; gap:6px; color:#a9bad1; font-size:8px; }.login-command-flow i { width:6px; height:6px; border-radius:50%; }.login-command-flow .is-blue { background:#60a5fa; }.login-command-flow .is-green { background:#34d399; }.login-command-flow .is-amber { background:#fbbf24; }
.login-visual-footer { margin-top:28px; display:flex; align-items:center; gap:9px; color:#748cab; font-size:8px; }
.login-panel { min-height:100vh; padding:38px clamp(42px,7vw,105px) 26px; position:relative; display:flex; flex-direction:column; justify-content:center; background:radial-gradient(circle at 100% 0,rgba(219,234,254,.45),transparent 25%),#fff; }
.login-form-wrap { width:100%; max-width:440px; margin:auto; animation:login-enter .65s cubic-bezier(.2,.8,.2,1) both; }.login-mobile-brand { display:none; }.login-welcome > span { color:#2563eb; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }.login-welcome h2 { margin:9px 0 6px; font-size:clamp(32px,3vw,42px); letter-spacing:-.052em; }.login-welcome p { margin:0 0 30px; color:#64748b; font-size:13px; }
.login-form { display:grid; gap:18px; }.login-form .field { gap:8px; align-content:start; }.login-form label { color:#344257; font-size:10px; font-weight:800; }.login-label-row { display:flex; align-items:center; justify-content:space-between; }.login-label-row > span { color:#d97706; font-size:8px; font-weight:800; }.login-control { position:relative; }.login-control > svg { width:17px; height:17px; position:absolute; left:14px; top:50%; z-index:1; color:#71839c; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; transform:translateY(-50%); }.login-control .input { width:100%; min-height:52px; padding:0 48px 0 43px; border:1px solid #cfdae8; border-radius:13px; color:#172033; font-size:12px; background:#f9fbfe; transition:border-color .2s,box-shadow .2s,background .2s; }.login-control .input:hover { border-color:#aebed2; }.login-control .input:focus { border-color:#3b82f6; background:#fff; box-shadow:0 0 0 4px rgba(59,130,246,.11); }
.login-password-toggle { width:38px; height:38px; padding:0; position:absolute; right:7px; top:7px; display:grid; place-items:center; border:0; border-radius:9px; color:#64748b; background:transparent; cursor:pointer; transition:.2s; }.login-password-toggle:hover { color:#1d4ed8; background:#edf4ff; }.login-password-toggle svg { width:17px; height:17px; grid-area:1/1; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }.login-password-toggle .eye-closed,.login-password-toggle[aria-pressed="true"] .eye-open { display:none; }.login-password-toggle[aria-pressed="true"] .eye-closed { display:block; }
.login-remember { width:max-content; max-width:100%; display:grid; grid-template-columns:20px 1fr; align-items:start; gap:10px; cursor:pointer; }.login-remember > input { width:1px; height:1px; position:absolute; opacity:0; }.login-remember > span:first-of-type { width:20px; height:20px; display:grid; place-items:center; border:1.5px solid #bdcadd; border-radius:6px; background:#fff; transition:.2s; }.login-remember > span:first-of-type svg { width:13px; height:13px; fill:none; stroke:#fff; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; opacity:0; transform:scale(.65); transition:.2s; }.login-remember input:checked + span { border-color:#2563eb; background:#2563eb; box-shadow:0 4px 12px rgba(37,99,235,.22); }.login-remember input:checked + span svg { opacity:1; transform:scale(1); }.login-remember input:focus-visible + span { outline:3px solid rgba(59,130,246,.22); }.login-remember strong,.login-remember small { display:block; }.login-remember strong { font-size:10px; }.login-remember small { margin-top:2px; color:#8492a6; font-size:8px; font-weight:500; }
.login-submit { min-height:52px; padding:0 17px; position:relative; display:flex; align-items:center; justify-content:center; gap:10px; overflow:hidden; border:0; border-radius:13px; color:#fff; background:linear-gradient(135deg,#2563eb,#1d4ed8 58%,#4338ca); box-shadow:0 13px 28px rgba(37,99,235,.24); font:800 11px inherit; cursor:pointer; transition:transform .2s,box-shadow .2s; }.login-submit::before { content:""; width:80px; height:160%; position:absolute; left:-120px; top:-30%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent); transform:rotate(15deg); transition:left .55s; }.login-submit:hover { transform:translateY(-2px); box-shadow:0 17px 34px rgba(37,99,235,.3); }.login-submit:hover::before { left:110%; }.login-submit > span,.login-submit > svg { position:relative; }.login-submit > svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s; }.login-submit:hover > svg { transform:translateX(3px); }.login-submit > i { width:17px; height:17px; display:none; border:2px solid rgba(255,255,255,.35); border-top-color:#fff; border-radius:50%; animation:login-spin .75s linear infinite; }.login-submit.is-loading > svg { display:none; }.login-submit.is-loading > i { display:block; }.login-submit:disabled { cursor:wait; opacity:.88; transform:none; }
.login-security { margin-top:27px; padding:13px 14px; display:grid; grid-template-columns:30px 1fr; align-items:center; gap:10px; border:1px solid #e7edf5; border-radius:12px; background:#fafcff; }.login-security > svg { width:20px; height:20px; color:#16a34a; justify-self:center; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }.login-security strong,.login-security small { display:block; }.login-security strong { color:#39475b; font-size:9px; }.login-security small { margin-top:2px; color:#8a98aa; font-size:8px; }
.login-panel-footer { width:100%; margin-top:auto; display:flex; align-items:center; justify-content:space-between; color:#94a3b8; font-size:8px; }.login-system-status { display:flex; align-items:center; gap:7px; color:#64748b; }.login-system-status i { width:5px; height:5px; }
@keyframes login-enter { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } } @keyframes login-float { 50% { transform:translateY(18px) scale(1.05); } } @keyframes login-pulse { 50% { opacity:.55; } } @keyframes login-spin { to { transform:rotate(360deg); } }
@media (max-width:980px) { .login-shell { grid-template-columns:minmax(380px,.9fr) minmax(420px,1.1fr); }.login-visual { padding:34px; }.login-visual h1 { font-size:43px; }.login-command-metrics article { padding-inline:10px; } }
@media (max-width:760px) { .login-page { background:#fff; }.login-shell { min-height:100svh; display:block; }.login-visual { display:none; }.login-panel { min-height:100svh; padding:25px 22px 20px; }.login-form-wrap { max-width:470px; }.login-mobile-brand { margin-bottom:clamp(55px,11vh,100px); display:flex; }.login-mobile-brand strong { max-width:260px; overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.login-welcome h2 { font-size:34px; }.login-panel-footer { margin-top:45px; } }
@media (max-width:420px) { .login-panel { padding-inline:17px; }.login-mobile-brand { margin-bottom:55px; }.login-welcome p { margin-bottom:25px; }.login-panel-footer > span:first-child { display:none; }.login-panel-footer { justify-content:center; } }
@media (prefers-reduced-motion:reduce) { .login-form-wrap,.login-orb,.login-command-head b i,.login-system-status i,.login-submit > i { animation:none; }.login-submit,.login-submit::before,.login-submit > svg { transition:none; } }

/* Authentication viewport fitting: laptop, tablet and short landscape screens */
@media (min-width:841px) and (max-height:760px) {
  .login-visual { padding:25px clamp(30px,5vw,68px) 20px; }
  .login-brand .brand-mark { width:39px; height:39px; }
  .login-visual-copy { margin:25px 0 20px; }
  .login-visual h1 { max-width:560px; margin:12px 0; font-size:clamp(38px,4.1vw,56px); }
  .login-visual-copy p { max-width:540px; font-size:12px; line-height:1.55; }
  .login-command-card { padding:14px 16px; border-radius:17px; }
  .login-command-metrics { margin-top:11px; }
  .login-command-metrics article { padding-block:3px; }
  .login-command-metrics strong { margin-top:4px; font-size:21px; }
  .login-command-flow { margin-top:10px; padding-top:9px; }
  .login-visual-footer { margin-top:13px; }
  .login-panel { padding:22px clamp(38px,6vw,86px) 17px; }
  .login-welcome h2 { margin:6px 0 4px; font-size:34px; }
  .login-welcome p { margin-bottom:20px; }
  .login-form { gap:13px; }
  .login-control .input { min-height:48px; }
  .login-password-toggle { top:5px; }
  .login-submit { min-height:49px; }
  .login-security { margin-top:18px; padding-block:10px; }
}
@media (min-width:841px) and (max-height:580px) {
  .login-visual-copy { margin:18px 0; }
  .login-visual h1 { max-width:590px; font-size:38px; }
  .login-command-card { display:none; }
  .login-visual-footer { margin-top:auto; }
  .login-security { display:none; }
  .login-panel-footer { margin-top:16px; }
}
@media (max-width:840px) {
  .login-page { background:#fff; }
  .login-shell { min-height:100svh; display:block; }
  .login-visual { display:none; }
  .login-panel { min-height:100svh; padding:25px clamp(22px,7vw,58px) 20px; }
  .login-form-wrap { max-width:470px; }
  .login-mobile-brand { margin-bottom:clamp(42px,9vh,82px); display:flex; }
  .login-mobile-brand strong { max-width:290px; overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
  .login-welcome h2 { font-size:34px; }
  .login-panel-footer { margin-top:40px; }
}
@media (max-width:840px) and (max-height:680px) {
  .login-panel { padding-top:18px; }
  .login-mobile-brand { margin-bottom:25px; }
  .login-welcome h2 { margin-block:5px; font-size:29px; }
  .login-welcome p { margin-bottom:18px; }
  .login-form { gap:12px; }
  .login-control .input { min-height:47px; }
  .login-password-toggle { top:5px; }
  .login-submit { min-height:48px; }
  .login-security { margin-top:14px; padding-block:9px; }
  .login-panel-footer { margin-top:22px; }
}

/* Unified product architecture — directories, profiles, forms and operations */
:root { --surface:#fff; --canvas:#f4f7fb; --line:#dfe7f1; --ink:#111b30; --muted:#65758b; --soft-blue:#f3f7ff; --focus:0 0 0 4px rgba(59,130,246,.12); }
body:not(.login-page) { color:var(--ink); background:radial-gradient(circle at 86% 0,rgba(219,234,254,.42),transparent 22%),var(--canvas); }
body:not(.login-page) { --module-accent:var(--blue-600); }
.module-tenants { --module-accent:#059669 !important; }.module-agreements { --module-accent:#4f46e5 !important; }.module-leasing { --module-accent:#7c3aed !important; }
.module-billing { --module-accent:#0284c7 !important; }.module-expenses { --module-accent:#dc2626 !important; }.module-utilities { --module-accent:#0891b2 !important; }
.module-maintenance { --module-accent:#d97706 !important; }.module-vendors { --module-accent:#0f766e !important; }.module-reports { --module-accent:#4338ca !important; }
.module-users,.module-settings,.module-backups,.module-activity { --module-accent:#475569 !important; }
.content { padding:26px clamp(18px,2.2vw,34px) 34px; }
.page-heading { min-height:72px; margin-bottom:20px; align-items:center; }
.page-heading > div:first-child { min-width:0; }
.page-context { margin-bottom:5px; display:flex; align-items:center; gap:7px; color:var(--module-accent); font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.page-context::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; box-shadow:0 0 0 5px color-mix(in srgb,var(--module-accent) 10%,transparent); }
.page-heading h1 { font-size:clamp(25px,2.15vw,34px); line-height:1.12; letter-spacing:-.045em; }
.page-heading p { margin-top:6px; color:var(--muted); font-size:12px; line-height:1.55; }
.page-actions .btn { min-height:42px; border-radius:11px; }
.page-actions .btn-primary { box-shadow:0 10px 24px rgba(37,99,235,.2); }
.card { border-color:var(--line); box-shadow:0 10px 35px rgba(18,38,68,.055); transition:border-color .2s,box-shadow .2s,transform .2s; }
.card-header { min-height:66px; padding:18px 20px; }
.card-header h2,.card-header h3 { color:#172136; font-size:15px; }
.card-header p { max-width:700px; color:var(--muted); font-size:11px; line-height:1.5; }
.card-link { color:var(--blue-600); font-size:10px; font-weight:850; }
.metric-card { min-height:132px; padding:17px; position:relative; overflow:hidden; border-color:var(--line); box-shadow:0 9px 28px rgba(17,40,75,.045); transition:.22s cubic-bezier(.2,.8,.2,1); }
.metric-card::before { content:""; width:3px; position:absolute; inset:0 auto 0 0; border-radius:3px; background:var(--module-accent); opacity:.82; }
.metric-card:hover { border-color:#c8d8ed; box-shadow:0 16px 38px rgba(17,40,75,.09); transform:translateY(-3px); }
.metric-top { align-items:flex-start; color:#64748b; font-size:9px; font-weight:900; letter-spacing:.07em; }
.metric-icon { width:37px; height:37px; border-radius:11px; color:var(--module-accent); background:color-mix(in srgb,var(--module-accent) 9%,white); font-size:14px; }
.metric-icon .ui-icon { width:17px; height:17px; }
.metric-value { margin-top:10px; color:#111b30; font-size:clamp(22px,2vw,29px); line-height:1.15; }
.metric-meta { color:#718197; font-size:9px; line-height:1.45; }
.toolbar { margin-bottom:16px; padding:12px; position:relative; align-items:flex-end; gap:9px; border-color:var(--line); border-radius:15px; box-shadow:0 8px 24px rgba(20,43,76,.035); }
.toolbar::before { content:"Filters"; position:absolute; top:-8px; left:16px; padding:0 6px; color:#8290a3; background:var(--surface); font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.toolbar .field label { color:#66758a; font-size:9px; text-transform:none; }
.toolbar .input,.toolbar .select { min-height:42px; border-color:#d5dfeb; font-size:10px; background:#fbfcfe; }
.toolbar .btn { min-height:42px; }
.field { align-content:start; }
.field label { color:#48586d; font-size:10px; font-weight:800; }
.input,.select,.textarea { border-color:#ccd8e6; border-radius:11px; font-size:12px; background:#fff; }
.input:hover,.select:hover,.textarea:hover { border-color:#aebfd2; }
.input:focus,.select:focus,.textarea:focus { border-color:#3b82f6; box-shadow:var(--focus); }
.form-actions { position:sticky; bottom:0; z-index:8; margin:18px -20px -20px; padding:14px 20px; border-color:var(--line); background:rgba(255,255,255,.92); backdrop-filter:blur(14px); }
.page-kind-form > .app-shell .content > .card:not(.unit-form-card),.page-kind-workflow > .app-shell .content > form.card { overflow:hidden; }
.page-kind-form > .app-shell .content > .card > .card-body { padding:22px; }
.table-wrap { scrollbar-width:thin; scrollbar-color:#c4d0df transparent; }
.table { color:#2c394d; }
.table th { height:42px; padding:10px 14px; position:sticky; top:0; z-index:2; color:#69798d; background:#f7f9fc; font-size:8px; font-weight:900; letter-spacing:.085em; }
.table td { height:56px; padding:12px 14px; font-size:11px; }
.table tbody tr { transition:background .16s; }
.table tbody tr:hover { background:#f7faff; }
.table .primary strong { color:#182338; font-size:11px; }
.table .primary span { color:#7a899d; font-size:9px; }
.table .btn-sm { min-height:31px; padding:5px 10px; font-size:9px; }
.row-actions { flex-wrap:wrap; }
.badge { min-height:23px; padding:3px 8px; font-size:8px; letter-spacing:.025em; }
.badge::before { content:""; width:5px; height:5px; flex:0 0 auto; border-radius:50%; background:currentColor; opacity:.72; }
.pagination { align-items:center; flex-wrap:wrap; }
.page-link { border-color:#dbe4ef; font-size:10px; }
.detail-grid { align-items:start; gap:16px; }
.detail-grid > aside { position:sticky; top:92px; }
.info-list { gap:0; border:1px solid var(--line); border-radius:13px; overflow:hidden; }
.info-item { min-height:66px; padding:13px 14px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#fbfcfe; }
.info-item:nth-child(even) { border-right:0; }
.info-item span { color:#7b899b; font-size:8px; }
.info-item strong { margin-top:5px; color:#26344a; font-size:11px; }
.summary-box { border-color:var(--line); background:#f8fafd; }
.summary-row { color:#607086; font-size:10px; }
.summary-row strong { color:#26344a; }
.tabs { padding:5px; border:1px solid #e2e8f0; background:#f3f6fa; }
.tab-button { min-height:34px; font-size:9px; }
.tab-button.active { color:#1d4ed8; box-shadow:0 4px 12px rgba(23,50,86,.08); }
.empty-state { min-height:170px; padding:48px 20px; display:grid; place-content:center; color:#7a899d; }
.empty-state::before { content:""; width:42px; height:42px; margin:0 auto 10px; border:1px solid #dbe5f0; border-radius:13px; background:linear-gradient(135deg,#f8fbff,#edf4ff); box-shadow:inset 0 0 0 8px #fff; }
.empty-state strong { color:#26344a; font-size:13px; }
.alert { border:1px solid currentColor; box-shadow:0 8px 20px rgba(20,42,75,.04); }
.app-footer { margin-top:auto; color:#8090a5; font-size:9px; }
.client-pagination { padding:12px 15px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--line); background:#fafbfd; }
.client-pagination > span { color:#6f7f93; font-size:9px; }
.client-pagination > div { display:flex; align-items:center; gap:5px; }
.client-pagination button { min-width:31px; height:31px; padding:0 8px; border:1px solid #dbe4ef; border-radius:8px; color:#536378; background:#fff; font-size:9px; font-weight:800; }
.client-pagination button:hover:not(:disabled),.client-pagination button.active { color:#fff; border-color:var(--blue-600); background:var(--blue-600); }
.client-pagination button:disabled { opacity:.4; cursor:not-allowed; }
.form-dirty-indicator { padding:6px 9px; position:fixed; right:20px; bottom:20px; z-index:40; display:flex; align-items:center; gap:7px; border:1px solid #fde68a; border-radius:999px; color:#92400e; background:#fffbeb; box-shadow:0 12px 30px rgba(80,55,8,.14); font-size:9px; font-weight:800; animation:motion-enter .25s ease both; }
.form-dirty-indicator::before { content:""; width:6px; height:6px; border-radius:50%; background:#f59e0b; }
.appearance-dark .page-context { color:#73a5ff; }.appearance-dark .card,.appearance-dark .toolbar { border-color:#293950; }.appearance-dark .toolbar::before { background:#111c2e; }

@media (max-width:1180px) {
  .content { padding-inline:22px; }
  .metric-card { min-height:124px; }
  .detail-grid { grid-template-columns:minmax(0,1.6fr) minmax(260px,.85fr); }
}
@media (max-width:980px) {
  .detail-grid { grid-template-columns:1fr; }
  .detail-grid > aside { position:static; }
  .page-heading { min-height:64px; }
}
@media (max-width:820px) {
  .content { padding:17px 13px 28px; }
  .page-heading { margin-bottom:16px; align-items:stretch; }
  .page-heading h1 { font-size:26px; }
  .page-heading p { font-size:11px; }
  .page-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-actions .btn { width:100%; min-width:0; padding-inline:10px; }
  .page-actions .btn:only-child { grid-column:1/-1; }
  .grid { gap:12px; }
  .grid.grid-4,.grid.grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metric-card { min-height:116px; padding:14px; }
  .metric-icon { width:33px; height:33px; }
  .metric-value { font-size:22px; }
  .toolbar { padding:14px 11px 11px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; }
  .toolbar .field { min-width:0; width:100%; }
  .toolbar .field-search { grid-column:1/-1; }
  .toolbar .btn { width:100%; }
  .card-header { min-height:60px; padding:15px; align-items:flex-start; }
  .card-body { padding:15px; }
  .form-actions { margin:16px -15px -15px; padding:12px 15px; }
  .table-wrap:has(.table.is-responsive) { overflow:visible; }
  .table.is-responsive { min-width:0; display:block; }
  .table.is-responsive thead { display:none; }
  .table.is-responsive tbody { padding:8px; display:grid; gap:9px; }
  .table.is-responsive tbody tr { padding:4px 12px; display:block; border:1px solid var(--line); border-radius:13px; background:#fff; box-shadow:0 6px 18px rgba(20,43,76,.035); }
  .table.is-responsive tbody tr:hover { background:#fff; }
  .table.is-responsive tbody tr:has(.empty-state) { padding:0; }
  .table.is-responsive td { width:100%; min-height:39px; height:auto; padding:9px 0; display:grid; grid-template-columns:minmax(88px,.38fr) minmax(0,1fr); align-items:center; gap:12px; border-bottom:1px solid #edf1f6; text-align:right !important; overflow-wrap:anywhere; }
  .table.is-responsive td::before { content:attr(data-label); color:#8290a2; font-size:8px; font-weight:900; text-align:left; text-transform:uppercase; letter-spacing:.06em; }
  .table.is-responsive td:last-child { border:0; }
  .table.is-responsive td[colspan] { display:block; text-align:center !important; }
  .table.is-responsive td[colspan]::before { display:none; }
  .table.is-responsive .primary { justify-items:end; }
  .table.is-responsive .row-actions { justify-content:flex-end; }
  .table.is-responsive .status-stack { align-items:flex-end; }
  .client-pagination { padding:11px 12px; flex-wrap:wrap; }
  .info-list { grid-template-columns:1fr; }
  .info-item,.info-item:nth-child(even) { border-right:0; }
  .form-dirty-indicator { right:12px; bottom:12px; }
}
@media (max-width:480px) {
  .grid.grid-4,.grid.grid-3 { grid-template-columns:1fr; }
  .toolbar { grid-template-columns:1fr; }
  .toolbar .field-search { grid-column:auto; }
  .page-actions { grid-template-columns:1fr; }
  .page-actions .btn { grid-column:auto; }
  .metric-card { min-height:108px; }
  .client-pagination { justify-content:center; }
  .client-pagination > span { width:100%; text-align:center; }
  .app-footer { align-items:center; text-align:center; }
}
@media (pointer:coarse) {
  .btn,.icon-button,.tab-button,.page-link,.client-pagination button { min-height:44px; }
  .input,.select { min-height:46px; }
  .table .btn-sm { min-height:40px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
@media (prefers-contrast:more) {
  :root { --line:#aab7c8; --muted:#475569; }
  .card,.toolbar,.input,.select,.textarea,.btn-secondary { border-width:2px; }
  .text-muted,.metric-meta,.card-header p { color:#475569; }
}

/* Purpose-built premium module experiences */
.page-heading-premium { min-height:106px; padding:18px 20px; position:relative; overflow:hidden; border:1px solid #dce6f2; border-radius:18px; background:radial-gradient(circle at 88% 0,color-mix(in srgb,var(--module-accent) 10%,transparent),transparent 28%),linear-gradient(135deg,#fff,#f9fbff); box-shadow:0 12px 34px rgba(20,43,77,.055); }
.page-heading-premium::after { content:""; width:170px; height:170px; position:absolute; right:-92px; bottom:-125px; border:1px solid color-mix(in srgb,var(--module-accent) 14%,transparent); border-radius:48px; transform:rotate(26deg); }
.page-heading-main { min-width:0; display:grid; grid-template-columns:48px minmax(0,1fr); align-items:center; gap:14px; }
.page-heading-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; color:#fff; background:linear-gradient(145deg,var(--module-accent),color-mix(in srgb,var(--module-accent) 75%,#081a35)); box-shadow:0 12px 25px color-mix(in srgb,var(--module-accent) 24%,transparent); }
.page-heading-icon .ui-icon { width:21px; height:21px; }
.page-heading-meta { display:flex; align-items:center; gap:10px; }
.page-heading-meta .page-context { margin:0; }
.page-mode { padding:4px 7px; border:1px solid color-mix(in srgb,var(--module-accent) 15%,#dbe5f0); border-radius:999px; color:var(--module-accent); background:color-mix(in srgb,var(--module-accent) 5%,white); font-size:7px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.page-heading-premium h1 { margin-top:4px; font-size:clamp(23px,2vw,31px); }
.page-heading-premium p { margin-top:3px; }
.page-heading-premium .page-actions { position:relative; z-index:1; }
.workspace-metrics { margin-bottom:16px !important; }
.premium-directory-workspace { overflow:hidden; border:1px solid #dce6f2; border-radius:18px; background:#fff; box-shadow:0 16px 42px rgba(18,41,75,.065); }
.premium-directory-workspace > .toolbar { margin:0; padding:14px 16px; border:0; border-top:1px solid #edf1f6; border-bottom:1px solid #e4ebf3; border-radius:0; box-shadow:none; }
.premium-directory-workspace > .toolbar::before { display:none; }
.premium-directory-workspace > .card { border:0; border-radius:0; box-shadow:none; }
.premium-directory-workspace > .card .card-header { background:linear-gradient(180deg,#fff,#fbfcfe); }
.premium-directory-workspace > .pagination { margin:0; padding:13px 16px; border-top:1px solid #e6edf5; background:#fafbfd; }
.directory-viewbar { min-height:58px; padding:12px 16px; display:flex; align-items:center; justify-content:space-between; gap:14px; background:linear-gradient(135deg,#fbfdff,#f5f8fd); }
.directory-viewbar > div { display:grid; gap:2px; }
.directory-viewbar strong { color:#26344a; font-size:11px; }
.directory-viewbar span { color:#7c8a9d; font-size:8px; }
.directory-live { padding:6px 9px; display:flex !important; grid-auto-flow:column; align-items:center; gap:6px !important; border:1px solid #dbe7f5; border-radius:999px; color:#52657c !important; background:#fff; font-size:8px !important; font-weight:800; }
.directory-live i { width:6px; height:6px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 4px rgba(34,197,94,.1); }
.smart-form-layout { display:grid; grid-template-columns:minmax(0,1fr) 292px; align-items:start; gap:17px; }
.smart-record-form { min-width:0; overflow:hidden; border-color:#d8e3ef; box-shadow:0 15px 42px rgba(19,42,75,.07); }
.smart-record-form > .card-header { min-height:82px; padding:18px 21px; background:radial-gradient(circle at 90% 0,color-mix(in srgb,var(--module-accent) 10%,transparent),transparent 25%),linear-gradient(135deg,#fff,#f8fbff); }
.smart-record-form > .card-header h2 { font-size:16px; }
.smart-record-form > .card-body { padding:0 !important; }
.smart-record-form .form-grid.is-transformed { display:none; }
.smart-form-sections { display:grid; }
.smart-form-section { padding:20px 21px; display:grid; grid-template-columns:170px minmax(0,1fr); align-items:start; gap:20px; border-bottom:1px solid #e8eef5; }
.smart-section-head { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:start; gap:9px; }
.smart-section-head > span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--module-accent); background:color-mix(in srgb,var(--module-accent) 8%,white); font-size:9px; font-weight:900; }
.smart-section-head strong,.smart-section-head small { display:block; }
.smart-section-head strong { color:#26344a; font-size:10px; }
.smart-section-head small { margin-top:3px; color:#7b899b; font-size:8px; line-height:1.4; }
.smart-section-grid { min-width:0; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:14px; }
.smart-record-form .form-actions { margin:0; padding:14px 21px; }
.smart-form-rail { position:sticky; top:92px; display:grid; gap:13px; }
.smart-live-preview { overflow:hidden; border:1px solid #cedced; border-radius:18px; background:#fff; box-shadow:0 18px 45px rgba(18,42,77,.1); }
.smart-preview-cover { min-height:148px; padding:17px; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; background:radial-gradient(circle at 90% 0,color-mix(in srgb,var(--module-accent) 68%,#fff),transparent 32%),linear-gradient(145deg,#142d51,#081625); }
.smart-preview-cover::after { content:""; width:130px; height:130px; position:absolute; right:-55px; bottom:-85px; border:1px solid rgba(255,255,255,.12); border-radius:38px; transform:rotate(25deg); }
.smart-preview-label { position:absolute; top:15px; left:16px; color:#a9c8f4; font-size:7px; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.smart-preview-icon { width:35px; height:35px; margin-bottom:12px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.13); border-radius:11px; color:#bfdbfe; background:rgba(255,255,255,.08); }
.smart-preview-icon .ui-icon { width:16px; height:16px; }
.smart-preview-cover strong { position:relative; z-index:1; overflow:hidden; font-size:20px; letter-spacing:-.04em; text-overflow:ellipsis; white-space:nowrap; }
.smart-preview-cover small { margin-top:3px; position:relative; z-index:1; overflow:hidden; color:#adbed4; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.smart-preview-fields { display:grid; grid-template-columns:1fr 1fr; }
.smart-preview-field { min-width:0; padding:12px 13px; border-right:1px solid #edf1f6; border-bottom:1px solid #edf1f6; }
.smart-preview-field:nth-child(even) { border-right:0; }
.smart-preview-field span,.smart-preview-field strong { display:block; }
.smart-preview-field span { color:#8290a2; font-size:7px; font-weight:800; text-transform:uppercase; letter-spacing:.045em; }
.smart-preview-field strong { margin-top:4px; overflow:hidden; color:#27354a; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.smart-preview-readiness { padding:13px; }
.smart-preview-readiness > div:first-child { display:flex; align-items:center; justify-content:space-between; color:#65758b; font-size:8px; font-weight:800; }
.smart-preview-readiness b { color:var(--module-accent); }
.smart-preview-track { height:5px; margin-top:8px; overflow:hidden; border-radius:999px; background:#edf2f7; }
.smart-preview-track i { width:0; height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,var(--module-accent),#4f46e5); transition:width .3s ease; }
.smart-form-guidance { padding:14px; display:grid; gap:10px; border:1px solid #dce7f4; border-radius:15px; background:#f8fbff; }
.smart-form-guidance > strong { color:#26344a; font-size:10px; }
.smart-form-guidance span { padding-top:8px; display:grid; grid-template-columns:18px 1fr; gap:7px; border-top:1px solid #e6edf5; color:#69798e; font-size:8px; line-height:1.45; }
.smart-form-guidance i { width:18px; height:18px; display:grid; place-items:center; border-radius:6px; color:#fff; background:var(--module-accent); font-style:normal; font-size:7px; font-weight:900; }
.record-snapshot { margin-bottom:16px; padding:15px 17px; display:grid; grid-template-columns:46px repeat(3,minmax(0,1fr)) auto; align-items:center; gap:15px; border:1px solid #d9e4f0; border-radius:17px; background:linear-gradient(135deg,#fff,#f8fbff); box-shadow:0 12px 32px rgba(20,43,77,.055); }
.record-snapshot-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:13px; color:#fff; background:linear-gradient(145deg,var(--module-accent),color-mix(in srgb,var(--module-accent) 70%,#132d51)); box-shadow:0 10px 22px color-mix(in srgb,var(--module-accent) 20%,transparent); }
.record-snapshot-icon .ui-icon { width:19px; height:19px; }
.record-snapshot-item { min-width:0; padding-left:14px; border-left:1px solid #e3eaf2; }
.record-snapshot-item span,.record-snapshot-item strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.record-snapshot-item span { color:#8290a2; font-size:7px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.record-snapshot-item strong { margin-top:4px; color:#27354a; font-size:10px; }
@media (max-width:1180px) { .smart-form-layout { grid-template-columns:1fr; }.smart-form-rail { position:static; grid-template-columns:1fr 1fr; }.smart-form-section { grid-template-columns:150px minmax(0,1fr); } }
@media (max-width:820px) {
  .page-heading-premium { min-height:0; padding:15px; align-items:stretch; }
  .page-heading-main { grid-template-columns:41px minmax(0,1fr); gap:11px; }
  .page-heading-icon { width:41px; height:41px; border-radius:12px; }
  .page-mode { display:none; }
  .page-heading-premium .page-actions { margin-top:4px; }
  .smart-form-section { padding:17px 15px; grid-template-columns:1fr; gap:13px; }
  .smart-section-head { grid-template-columns:30px minmax(0,1fr); }
  .smart-section-head > span { width:30px; height:30px; }
  .smart-form-rail { grid-template-columns:1fr; }
  .record-snapshot { grid-template-columns:40px repeat(2,minmax(0,1fr)); gap:10px; }
  .record-snapshot-icon { width:40px; height:40px; }
  .record-snapshot-item:nth-of-type(3) { display:none; }
}
@media (max-width:480px) {
  .page-heading-main { align-items:start; }
  .page-heading-premium h1 { font-size:22px; }
  .directory-viewbar { align-items:flex-start; }
  .smart-section-grid { grid-template-columns:1fr; }
  .smart-section-grid > .field { grid-column:auto !important; }
  .record-snapshot { grid-template-columns:38px minmax(0,1fr); }
  .record-snapshot-item { padding-left:10px; }
  .record-snapshot-item:nth-of-type(n+2) { display:none; }
}

/* Tenants — relationship directory, profile and guided form */
.tenant-hero { margin-bottom:14px; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; overflow:hidden; border:1px solid #cfe4dc; border-radius:18px; background:radial-gradient(circle at 88% 10%,rgba(16,185,129,.13),transparent 28%),linear-gradient(135deg,#fff,#f5fcf9); box-shadow:0 12px 35px rgba(13,74,57,.06); }
.tenant-hero-kicker { display:flex; align-items:center; gap:7px; color:#047857; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.11em; }.tenant-hero-kicker i { width:6px; height:6px; border-radius:50%; background:#10b981; box-shadow:0 0 0 5px rgba(16,185,129,.1); }
.tenant-hero h2 { margin:8px 0 4px; font-size:22px; letter-spacing:-.04em; }.tenant-hero p { margin:0; color:#66788b; font-size:10px; }
.tenant-health { min-width:240px; display:flex; align-items:center; gap:12px; }.tenant-health-ring { --value:0; width:76px; aspect-ratio:1; position:relative; display:grid; place-items:center; border-radius:50%; background:conic-gradient(#10b981 calc(var(--value)*1%),#e6f1ed 0); }.tenant-health-ring::before { content:""; width:58px; aspect-ratio:1; position:absolute; border-radius:50%; background:#fff; }.tenant-health-ring strong { position:relative; font-size:14px; }.tenant-health > div:last-child strong,.tenant-health > div:last-child span,.tenant-health > div:last-child small { display:block; }.tenant-health > div:last-child strong { font-size:10px; }.tenant-health > div:last-child span { margin-top:2px; color:#64748b; font-size:9px; }.tenant-health > div:last-child small { margin-top:5px; color:#059669; font-size:7px; font-weight:800; }
.tenant-metrics { margin-bottom:14px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }.tenant-metrics article { min-height:84px; padding:14px; display:grid; grid-template-columns:38px 1fr; align-items:center; gap:11px; border:1px solid #dfe7f0; border-radius:15px; background:#fff; box-shadow:0 8px 24px rgba(20,43,76,.035); }.tenant-metrics article > i { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; font-style:normal; }.tenant-metrics .ui-icon { width:17px; height:17px; }.tenant-metrics .is-blue { color:#2563eb;background:#dbeafe; }.tenant-metrics .is-green { color:#15803d;background:#dcfce7; }.tenant-metrics .is-red { color:#dc2626;background:#fee2e2; }.tenant-metrics .is-purple { color:#7c3aed;background:#ede9fe; }.tenant-metrics span,.tenant-metrics strong,.tenant-metrics small { display:block; }.tenant-metrics span { color:#64748b; font-size:7px; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }.tenant-metrics strong { margin-top:4px; overflow:hidden; font-size:15px; letter-spacing:-.03em; text-overflow:ellipsis; white-space:nowrap; }.tenant-metrics small { margin-top:2px; color:#8a98aa; font-size:7px; }
.tenant-segments { margin-bottom:14px; padding:6px; display:flex; gap:5px; overflow-x:auto; border:1px solid #dce5ef; border-radius:15px; background:#f1f5f9; }.tenant-segments a { min-width:145px; min-height:47px; padding:7px 10px; display:flex; align-items:center; gap:9px; border:1px solid transparent; border-radius:11px; color:#637287; }.tenant-segments a > span { width:31px; height:31px; display:grid; place-items:center; border-radius:9px; background:#e5ebf2; }.tenant-segments .ui-icon { width:14px;height:14px; }.tenant-segments strong,.tenant-segments small { display:block; }.tenant-segments strong { font-size:9px; }.tenant-segments small { color:#8a98aa;font-size:7px; }.tenant-segments a.active { color:#fff;border-color:#047857;background:linear-gradient(135deg,#059669,#047857);box-shadow:0 8px 18px rgba(5,150,105,.2); }.tenant-segments a.active > span { background:rgba(255,255,255,.14); }.tenant-segments a.active small { color:#b7f7df; }
.tenant-workspace { overflow:hidden; }.tenant-toolbar { padding:12px; display:grid; grid-template-columns:minmax(230px,1.5fr) repeat(3,minmax(135px,.7fr)) auto auto; gap:8px; border-bottom:1px solid #e4ebf2; background:#fbfcfe; }.tenant-search { min-height:43px;padding:0 11px;display:flex;align-items:center;gap:8px;border:1px solid #d2deeb;border-radius:11px;background:#fff; }.tenant-search .ui-icon { width:15px;height:15px;color:#64748b; }.tenant-search input { min-width:0;flex:1;border:0;outline:0;font-size:10px; }.tenant-search kbd { padding:2px 6px;border:1px solid #dce4ed;border-radius:5px;color:#8a98aa;background:#f8fafc;font-size:8px; }.tenant-toolbar select { min-width:0;min-height:43px;padding:0 10px;border:1px solid #d2deeb;border-radius:11px;color:#526277;background:#fff;font-size:9px; }.tenant-clear { min-height:43px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #d2deeb;border-radius:11px;color:#637287;background:#fff;font-size:9px;font-weight:800; }.tenant-clear .ui-icon{width:12px;height:12px}
.tenant-viewbar { min-height:56px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e8edf4; }.tenant-viewbar strong,.tenant-viewbar span { display:block; }.tenant-viewbar strong{font-size:10px}.tenant-viewbar span{margin-top:2px;color:#7a899c;font-size:8px}.tenant-view-switch{padding:4px;display:flex;gap:3px;border-radius:10px;background:#f1f5f9}.tenant-view-switch button{min-height:30px;padding:0 9px;display:flex;align-items:center;gap:5px;border:0;border-radius:7px;color:#64748b;background:transparent;font-size:8px;font-weight:800}.tenant-view-switch button.active{color:#047857;background:#fff;box-shadow:0 3px 9px rgba(20,43,76,.09)}.tenant-view-switch .ui-icon{width:12px;height:12px}
.tenant-card-grid { padding:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;background:#f8fafc; }.tenant-directory-card{min-width:0;padding:14px;border:1px solid #dce5ef;border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(20,43,76,.035);transition:.2s}.tenant-directory-card:hover{border-color:#b7d8cb;box-shadow:0 14px 30px rgba(13,74,57,.09);transform:translateY(-2px)}.tenant-card-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px}.tenant-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#047857;background:#d1fae5;font-size:12px;font-weight:900}.tenant-card-head h3{margin:0;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.tenant-card-head p{margin:2px 0 0;overflow:hidden;color:#7b899b;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.tenant-contact-row{margin-top:12px;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:9px;border-radius:11px;background:#f7faf9}.tenant-contact-row>a,.tenant-contact-row>div{min-width:0;display:grid;grid-template-columns:22px 1fr;align-items:center;gap:6px}.tenant-contact-row .ui-icon{width:13px;height:13px;color:#059669}.tenant-contact-row small,.tenant-contact-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-contact-row small{color:#8a98aa;font-size:6px;text-transform:uppercase}.tenant-contact-row strong{margin-top:2px;font-size:8px}.tenant-finance-row{margin-top:10px;display:grid;grid-template-columns:1fr 1fr}.tenant-finance-row>div{padding:3px 10px;border-right:1px solid #e6edf3}.tenant-finance-row>div:first-child{padding-left:0}.tenant-finance-row>div:last-child{border:0}.tenant-finance-row span,.tenant-finance-row strong{display:block}.tenant-finance-row span{color:#8a98aa;font-size:7px}.tenant-finance-row strong{margin-top:3px;font-size:10px}.tenant-card-meta{margin-top:11px;padding-top:9px;display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #edf1f5;color:#758397;font-size:7px}.tenant-card-meta span{display:flex;align-items:center;gap:4px}.tenant-card-meta .ui-icon{width:10px;height:10px}.tenant-card-actions{margin-top:11px;display:grid;grid-template-columns:.6fr 1.4fr;gap:7px}.tenant-card-actions .btn{min-height:34px;font-size:8px}.tenant-empty{grid-column:1/-1;min-height:230px;display:grid;place-content:center;justify-items:center;color:#8492a5}.tenant-empty>.ui-icon{width:28px;height:28px}.tenant-empty strong{margin-top:10px;color:#334155;font-size:11px}.tenant-empty span{margin-top:3px;font-size:8px}.tenant-pagination{padding:0 14px 14px}.tenant-pagination>.pagination{margin-top:12px}
.tenant-form-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;align-items:start;gap:17px}.tenant-form-card{overflow:hidden}.tenant-form-intro{padding:21px;display:grid;grid-template-columns:48px 1fr;align-items:center;gap:13px;border-bottom:1px solid #e6edf4;background:radial-gradient(circle at 90% 0,rgba(16,185,129,.1),transparent 27%),linear-gradient(135deg,#fff,#f8fcfa)}.tenant-form-intro>span{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,#10b981,#047857);box-shadow:0 11px 24px rgba(5,150,105,.22)}.tenant-form-intro .ui-icon{width:21px;height:21px}.tenant-form-intro small{color:#059669;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.tenant-form-intro h2{margin:3px 0 2px;font-size:17px;letter-spacing:-.03em}.tenant-form-intro p{margin:0;color:#718096;font-size:9px}.tenant-form-section{padding:21px;border-bottom:1px solid #e8eef5}.tenant-form-section>header{margin-bottom:16px;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:9px}.tenant-form-section>header>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#047857;background:#dff8ed;font-size:8px;font-weight:900}.tenant-form-section h3{margin:0;font-size:12px}.tenant-form-section header p{margin:2px 0 0;color:#7a899d;font-size:8px}.tenant-form-section .form-grid{gap:14px}.tenant-form-section .field{gap:6px;align-content:start;grid-auto-rows:max-content}.tenant-form-section .field label{font-size:9px}.tenant-form-section .input,.tenant-form-section .select{min-height:45px}.tenant-form-section .hint{margin:0;min-height:22px;font-size:7px;line-height:1.45}.tenant-identity-grid .field,.tenant-contact-grid .field{grid-template-rows:14px 45px minmax(22px,auto)}.tenant-form-actions{padding:14px 21px;position:sticky;bottom:0;z-index:4;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #e6edf4;background:rgba(255,255,255,.93);backdrop-filter:blur(12px)}.tenant-form-rail{position:sticky;top:92px;display:grid;gap:13px}.tenant-live-preview{overflow:hidden;border-color:#cfe1da;box-shadow:0 18px 44px rgba(13,74,57,.1)}.tenant-preview-cover{min-height:175px;padding:16px;display:flex;position:relative;overflow:hidden;flex-direction:column;justify-content:flex-end;color:#fff;background:radial-gradient(circle at 90% 5%,rgba(52,211,153,.4),transparent 31%),linear-gradient(145deg,#123f3a,#071c23)}.tenant-preview-cover>div:first-child{position:absolute;inset:14px 14px auto;display:flex;justify-content:space-between;gap:8px}.tenant-preview-cover>div span{color:#a7f3d0;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.tenant-preview-cover>div b{padding:4px 7px;border-radius:999px;color:#d1fae5;background:rgba(16,185,129,.18);font-size:7px}.tenant-preview-cover>i{width:37px;height:37px;margin-bottom:12px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:11px;color:#a7f3d0;background:rgba(255,255,255,.08);font-style:normal}.tenant-preview-cover>i .ui-icon{width:17px;height:17px}.tenant-preview-cover>strong{font-size:21px;letter-spacing:-.04em}.tenant-preview-cover>small{margin-top:2px;color:#b8ccc9;font-size:9px}.tenant-preview-contact{display:grid;grid-template-columns:1fr 1fr}.tenant-preview-contact>div{padding:11px 13px;border-right:1px solid #edf1f4}.tenant-preview-contact>div:last-child{border:0}.tenant-preview-contact span,.tenant-preview-contact strong{display:block}.tenant-preview-contact span{color:#8492a5;font-size:7px;text-transform:uppercase}.tenant-preview-contact strong{margin-top:3px;overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.tenant-preview-readiness{padding:13px;border-top:1px solid #edf1f4}.tenant-preview-readiness>div:first-child{display:flex;justify-content:space-between;color:#64748b;font-size:8px}.tenant-preview-readiness>div:nth-child(2){height:5px;margin-top:8px;overflow:hidden;border-radius:999px;background:#edf2f4}.tenant-preview-readiness>div i{width:0;height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#10b981,#059669);transition:width .3s}.tenant-preview-readiness p{margin:7px 0 0;color:#8492a5;font-size:7px}.tenant-form-checklist{padding:14px;display:grid;gap:9px;border:1px solid #d9e8e2;border-radius:15px;background:#f7fcfa}.tenant-form-checklist>strong{font-size:9px}.tenant-form-checklist>div{padding-top:8px;display:grid;grid-template-columns:20px 1fr;gap:7px;border-top:1px solid #e4efeb}.tenant-form-checklist i{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;color:#fff;background:#059669;font-size:7px;font-style:normal}.tenant-form-checklist b,.tenant-form-checklist small{display:block}.tenant-form-checklist b{font-size:8px}.tenant-form-checklist small{margin-top:2px;color:#7c8b9d;font-size:7px;line-height:1.4}
.tenant-form-section.is-optional { background:#fbfcfd; }.tenant-form-section.is-optional > header > span { color:#64748b;background:#eef2f6; }.tenant-form-section.is-optional > header::after { content:"Optional for individual tenants"; margin-left:auto;color:#8492a5;font-size:7px;font-weight:800; }
.tenant-profile-hero{margin-bottom:13px;padding:17px 19px;display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(300px,1fr) auto;align-items:center;gap:18px;border:1px solid #cfe3dc;border-radius:18px;background:radial-gradient(circle at 90% 0,rgba(16,185,129,.12),transparent 28%),linear-gradient(135deg,#fff,#f7fcfa);box-shadow:0 12px 34px rgba(13,74,57,.055)}.tenant-profile-identity{min-width:0;display:grid;grid-template-columns:48px 1fr;align-items:center;gap:12px}.tenant-profile-identity>div{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,#10b981,#047857);font-size:15px;font-weight:900}.tenant-profile-identity small,.tenant-profile-identity h2,.tenant-profile-identity p{display:block;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-profile-identity small{color:#059669;font-size:7px;font-weight:850;text-transform:uppercase}.tenant-profile-identity h2{margin-top:3px;font-size:16px}.tenant-profile-identity p{margin-top:2px;color:#718096;font-size:8px}.tenant-profile-contact{display:flex;gap:9px}.tenant-profile-contact a{min-width:0;flex:1;padding:9px;display:grid;grid-template-columns:25px 1fr;align-items:center;gap:7px;border:1px solid #dbe8e3;border-radius:11px;background:#fff}.tenant-profile-contact .ui-icon{width:14px;height:14px;color:#059669}.tenant-profile-contact small,.tenant-profile-contact strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-profile-contact small{color:#8795a6;font-size:6px;text-transform:uppercase}.tenant-profile-contact strong{margin-top:2px;font-size:8px}.tenant-profile-state{display:grid;justify-items:end;gap:5px}.tenant-profile-state span{color:#718096;font-size:7px}.tenant-profile-metrics{margin-bottom:13px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.tenant-profile-metrics article{padding:13px 15px;border:1px solid #dfe7f0;border-radius:14px;background:#fff}.tenant-profile-metrics span,.tenant-profile-metrics strong,.tenant-profile-metrics small{display:block}.tenant-profile-metrics span{color:#718096;font-size:7px;text-transform:uppercase;font-weight:850}.tenant-profile-metrics strong{margin-top:5px;font-size:14px}.tenant-profile-metrics small{margin-top:2px;color:#8795a6;font-size:7px}.tenant-profile-metrics .is-danger{border-color:#fecaca;background:#fffafa}.tenant-profile-metrics .is-success{border-color:#bbf7d0;background:#f9fefa}
@media(max-width:1180px){.tenant-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-toolbar{grid-template-columns:minmax(220px,1.5fr) repeat(2,minmax(130px,.7fr));}.tenant-toolbar .btn,.tenant-clear{width:100%}.tenant-form-layout{grid-template-columns:1fr}.tenant-form-rail{position:static;grid-template-columns:1fr 1fr}.tenant-profile-hero{grid-template-columns:1fr auto}.tenant-profile-contact{grid-column:1/-1;grid-row:2}.tenant-profile-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.tenant-hero{padding:17px;align-items:flex-start;flex-direction:column}.tenant-health{min-width:0}.tenant-metrics{grid-template-columns:repeat(2,1fr)}.tenant-toolbar{grid-template-columns:1fr 1fr}.tenant-search{grid-column:1/-1}.tenant-card-grid{grid-template-columns:1fr}.tenant-form-section{padding:17px 15px}.tenant-form-section .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-form-section .field{grid-column:auto}.tenant-form-section .col-6,.tenant-form-section .col-12{grid-column:1/-1}.tenant-form-rail{grid-template-columns:1fr}.tenant-profile-hero{grid-template-columns:1fr}.tenant-profile-state{justify-items:start}.tenant-profile-contact{grid-column:auto;grid-row:auto}.tenant-profile-layout{grid-template-columns:1fr}}
@media(max-width:520px){.tenant-metrics{grid-template-columns:1fr}.tenant-toolbar{grid-template-columns:1fr}.tenant-search{grid-column:auto}.tenant-viewbar{align-items:flex-start;flex-direction:column}.tenant-view-switch{width:100%}.tenant-view-switch button{flex:1;justify-content:center}.tenant-form-section .form-grid{grid-template-columns:1fr}.tenant-form-section .field,.tenant-form-section .col-6,.tenant-form-section .col-12{grid-column:auto}.tenant-form-actions .btn{flex:1}.tenant-profile-contact{flex-direction:column}.tenant-profile-metrics{grid-template-columns:1fr}.tenant-card-actions{grid-template-columns:1fr}}

/* Today's Work — complete daily operations states */
.today-state-overview{margin:0 0 14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.today-state-card{min-width:0;min-height:92px;padding:14px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;border:1px solid #dce5ef;border-radius:15px;color:#25344a;background:#fff;box-shadow:0 8px 24px rgba(20,43,76,.04);text-align:left;transition:.18s ease}
.today-state-card:hover{border-color:#bcd0e9;box-shadow:0 13px 30px rgba(20,43,76,.09);transform:translateY(-2px)}
.today-state-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#2563eb;background:#eaf2ff}.today-state-card .ui-icon{width:17px;height:17px}
.today-state-card strong,.today-state-card b,.today-state-card small{display:block}.today-state-card strong{font-size:18px;line-height:1}.today-state-card b{margin-top:4px;font-size:10px}.today-state-card small{margin-top:2px;overflow:hidden;color:#7a899d;font-size:7px;text-overflow:ellipsis;white-space:nowrap}
.today-state-card.is-today>span{color:#2563eb;background:#dbeafe}.today-state-card.is-overdue>span{color:#dc2626;background:#fee2e2}.today-state-card.is-review>span{color:#9333ea;background:#f3e8ff}.today-state-card.is-upcoming>span{color:#b45309;background:#fef3c7}
.today-queue-tools{margin:0 14px 10px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,.35fr);gap:8px}
.today-queue-tools label{min-width:0;min-height:40px;padding:0 11px;display:flex;align-items:center;gap:8px;border:1px solid #d7e1ec;border-radius:11px;background:#fff}.today-queue-tools label>span{color:#78879a;font-size:8px;font-weight:800;white-space:nowrap}.today-queue-tools .ui-icon{width:14px;height:14px;color:#64748b}
.today-queue-tools input,.today-queue-tools select{min-width:0;width:100%;height:38px;border:0;outline:0;color:#334155;background:transparent;font:inherit;font-size:9px}
.today-tabs button[data-work-filter="today"]::before{background:#2563eb}.today-tabs button[data-work-filter="overdue"]::before{background:#ef4444}.today-tabs button[data-work-filter="review"]::before{background:#9333ea}.today-tabs button[data-work-filter="upcoming"]::before{background:#f59e0b}
.task-state{padding:2px 6px;border-radius:999px;color:#2563eb;background:#dbeafe;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.state-overdue .task-state{color:#b91c1c;background:#fee2e2}.state-review .task-state{color:#7e22ce;background:#f3e8ff}.state-upcoming .task-state{color:#a16207;background:#fef3c7}
.today-task-actions form{display:flex;align-items:center;gap:5px}
.manual-task-panel{width:min(570px,100%);min-height:0;align-items:stretch;justify-content:flex-start;color:#172033;background:radial-gradient(circle at 90% 0,rgba(37,99,235,.1),transparent 30%),#fff;text-align:left}
.manual-task-panel .focus-kicker{color:#2563eb}.manual-task-panel h2{margin:7px 0 4px}.manual-task-panel>p{color:#64748b}.manual-task-panel form{margin-top:18px}.manual-task-panel .field{margin-bottom:12px}.manual-task-panel .focus-actions{justify-content:flex-end}.manual-task-panel .focus-close{color:#64748b;border-color:#dce5ef;background:#f8fafc}
.appearance-dark .today-state-card,.appearance-dark .today-queue-tools label{color:#e5edf8;border-color:#293850;background:#111c2e}.appearance-dark .today-queue-tools input,.appearance-dark .today-queue-tools select{color:#e5edf8}.appearance-dark .manual-task-panel{color:#e5edf8;border-color:#293850;background:#111c2e}.appearance-dark .manual-task-panel>p{color:#9fb0c6}
@media(max-width:1000px){.today-state-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.today-queue-tools{grid-template-columns:1fr}.today-task-actions form{width:100%;display:grid;grid-template-columns:1fr 1fr}.today-task-actions form .btn{width:100%}}
@media(max-width:520px){.today-state-overview{grid-template-columns:1fr}.today-state-card{min-height:78px}.today-queue-tools{margin-inline:10px}.manual-task-modal{align-items:end;padding:10px}.manual-task-panel{max-height:92vh;overflow-y:auto;padding:24px 17px;border-radius:20px}.manual-task-panel .form-grid{grid-template-columns:1fr}.manual-task-panel .field{grid-column:auto}.manual-task-panel .focus-actions{display:grid;grid-template-columns:1fr}}

/* Business history, ledgers and BUG-003 profile-layout safeguards */
.tenant-profile-layout,
.property-profile-layout,
.detail-grid,
.record-layout,
.command-grid {
  min-width: 0;
}
.tenant-profile-layout > *,
.property-profile-layout > *,
.detail-grid > *,
.record-layout > *,
.command-grid > * {
  min-width: 0;
  max-width: 100%;
}
.tenant-profile-layout .card,
.property-profile-layout .card,
.detail-grid .card {
  overflow: hidden;
}
.tenant-profile-layout .info-list,
.property-profile-layout .info-list,
.module-agreements .info-list {
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.tenant-profile-layout .info-item,
.property-profile-layout .info-item,
.module-agreements .info-item {
  min-width: 0;
  height: auto;
  align-content: start;
}
.tenant-profile-layout .info-item strong,
.property-profile-layout .info-item strong,
.module-agreements .info-item strong,
.summary-row strong,
.document-row > div:nth-child(2) {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.45;
}
.tenant-history-card .card-body { min-width: 0; }
.tenant-history-tabs {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}
.tenant-history-tabs .tab-button {
  flex: 0 0 auto;
  white-space: nowrap;
}
.tenant-proof-timeline details { margin-top: 8px; }
.tenant-proof-timeline .audit-diff-list { padding-top: 8px; }
.period-control-layout { align-items: start; }
.period-control-layout > aside { position: static; }
.period-action-form { margin-top: 18px; display: grid; gap: 12px; }
.period-action-form .btn { justify-self: start; }
.report-table td[data-label="Running Balance"] .amount { font-weight: 850; white-space: nowrap; }

@media (max-width: 980px) {
  .tenant-profile-layout,
  .property-profile-layout,
  .module-agreements .detail-grid,
  .period-control-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .tenant-profile-layout > aside,
  .property-profile-layout > aside,
  .module-agreements .detail-grid > aside {
    position: static;
  }
}
@media (max-width: 700px) {
  .tenant-profile-layout .info-list,
  .property-profile-layout .info-list,
  .module-agreements .info-list {
    grid-template-columns: minmax(0, 1fr);
  }
  .tenant-profile-layout .info-item,
  .tenant-profile-layout .info-item:nth-child(even),
  .property-profile-layout .info-item,
  .property-profile-layout .info-item:nth-child(even),
  .module-agreements .info-item,
  .module-agreements .info-item:nth-child(even) {
    border-right: 0;
  }
  .tenant-history-card > .card-body { padding-inline: 12px; }
  .tenant-history-tabs { margin-inline: -2px; padding-bottom: 4px; }
  .document-row { grid-template-columns: 38px minmax(0, 1fr); }
  .document-row > .row-actions,
  .document-row > .btn { grid-column: 2; justify-self: start; }
  .period-action-form .btn { width: 100%; justify-self: stretch; }
}

/* Hide unstyled dynamic quick-create buttons */
button.quick-create-link, .quick-create-link { display: none !important; }

