html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.listing-card { overflow: hidden; }
.listing-slider { outline-offset: 4px; }
.listing-slider-photos { background: #edf1f4; touch-action: pan-y; }
.listing-slide-image { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: contain; display: block; }
.listing-photo-empty { aspect-ratio: 16 / 10; display: grid; place-items: center; color: #64748b; }
.listing-photo-caption { padding: .65rem 1rem; background: #f8fafc; color: #475569; min-height: 2.6rem; }
.listing-slider-controls { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .65rem 1rem; border-bottom: 1px solid #e2e8f0; }
.listing-slider-controls[hidden] { display: none; }
.listing-slide-details { padding: 1.2rem; }
.listing-slide-price { font-weight: 700; font-size: 1.25rem; margin-bottom: .75rem; }

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* Daily-management screens keep controls and private record text usable on phones. */
.skip-link { position: absolute; left: 1rem; top: -5rem; z-index: 1100; padding: .75rem; background: #fff; color: #123b68; }
.skip-link:focus { top: .5rem; }
main nav[aria-label] { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; }
main nav[aria-label] a { padding: .35rem 0; }
main section, main article, main .border, main dd, main td { overflow-wrap: anywhere; }
.portfolio-search { max-width: 48rem; padding: 1rem; border: 1px solid #d8e1e8; border-radius: .5rem; background: #f8fafc; }
.portfolio-archive { margin-top: .65rem; }
.portfolio-archive summary { cursor: pointer; color: #526171; }
.portfolio-archive p { max-width: 42rem; margin-top: .65rem; }
@media(max-width: 575px) {
 main form .btn { margin-top: .35rem; }
 main .table-responsive { max-width: 100%; }
 main form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), main form select { max-width: 100%; }
 main h1 { font-size: 1.8rem; overflow-wrap: anywhere; }
 .navbar form { margin-top: .5rem; }
}

.context-lease-table { min-width: 44rem; }
/* Shared visual foundation; layout and navigation keep their existing semantics. */
:root { --kr-ink:#0F172A; --kr-muted:#64748B; --kr-primary:#0962F5; --kr-secondary:#247BFF; --kr-accent:#51A4FF; --kr-background:#F8FAFC; --kr-line:#E2E8F0; }
body { margin-bottom:0; min-height:100vh; display:flex; flex-direction:column; background:var(--kr-background); color:var(--kr-ink); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
body > .container { flex:1; }
main { padding-top:1.5rem; padding-bottom:3rem !important; }
h1,h2,h3 { letter-spacing:-.035em; font-weight:700; }
h1 { font-size:clamp(1.9rem,4vw,2.8rem); }
a { color:var(--kr-primary); text-underline-offset:3px; }
.navbar { padding:1rem 0; margin-bottom:0 !important; box-shadow:none; border-color:var(--kr-line) !important; }
.navbar-brand { font-weight:800; letter-spacing:-.045em; font-size:1.45rem; color:var(--kr-primary) !important; margin-right:2rem; }
.navbar .nav-link { font-weight:600; padding:.65rem 1rem !important; border-radius:.65rem; }
.navbar .nav-link:hover { background:#EEF5FF; }
.footer { position:static !important; line-height:normal !important; white-space:normal !important; padding:1.5rem 0; margin-top:2rem; font-size:.875rem; background:white; }
.btn { border-radius:.65rem; font-weight:600; padding:.65rem 1rem; }
.btn-primary { background:var(--kr-primary); border-color:var(--kr-primary); }
.btn-primary:hover,.btn-primary:active { background:#034ED1 !important; border-color:#034ED1 !important; }
.btn-outline-primary { color:var(--kr-primary); border-color:var(--kr-primary); }
.btn-outline-primary:hover { background:var(--kr-primary); border-color:var(--kr-primary); }
.form-control,.form-select { border-color:#CBD5E1; border-radius:.6rem; min-height:2.8rem; }
.form-control:focus,.form-select:focus { border-color:var(--kr-primary); box-shadow:0 0 0 .2rem #51A4FF33; }
.form-label { font-weight:600; }
.table { --bs-table-bg:white; --bs-table-color:var(--kr-ink); --bs-table-border-color:var(--kr-line); }
.table th { background:#F1F5F9; color:#475569; font-size:.85rem; }
.table td,.table th { padding:.9rem; }
.listing-card { border:1px solid var(--kr-line); border-radius:1rem; box-shadow:0 5px 20px #0F172A0A; background:white; }
.workspace-heading,.workspace-section-heading,.workspace-footer-actions { display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.eyebrow { font-size:.7rem; letter-spacing:.15em; font-weight:750; color:var(--kr-primary); margin-bottom:.65rem; }
.page-description { color:var(--kr-muted); margin-bottom:0; }
.role-pill { background:#EEF5FF; color:#0962F5; border:1px solid #BCD8FF; padding:.5rem .85rem; border-radius:2rem; white-space:nowrap; font-size:.85rem; font-weight:650; }
.workspace-hero { background:linear-gradient(115deg,#0F172A 0%,#073B85 100%); color:white; border-radius:1.25rem; padding:2.5rem; margin:2rem 0; display:flex; align-items:center; justify-content:space-between; gap:2rem; overflow:hidden; }
.workspace-hero > div:first-child { max-width:40rem; }
.workspace-hero .eyebrow { color:#51A4FF; }
.workspace-hero h2 { font-size:clamp(1.8rem,3vw,2.5rem); max-width:30rem; }
.workspace-hero p:not(.eyebrow) { color:#CBD5E1; line-height:1.7; }
.workspace-hero .btn { margin-top:.5rem; color:#0962F5; text-align:left; }
.hero-building { flex:0 0 155px; height:170px; position:relative; border:2px solid #51A4FF; border-radius:5px; margin:1rem 1.5rem 0; background:#ffffff08; transform:rotate(-5deg); }
.building-roof { position:absolute; top:-26px; left:-12px; width:175px; height:25px; border:2px solid #51A4FF; border-radius:6px; background:#073B85; }
.building-windows { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; padding:23px 20px; }
.building-windows i { height:23px; border-radius:2px; background:#51A4FF; }
.building-door { width:30px; height:43px; margin:auto; border:2px solid #51A4FF; border-bottom:0; }
.workspace-section-heading { margin:2rem 0 1rem; }
.workspace-section-heading h2 { font-size:1.25rem; margin:0; }
.workspace-section-heading > span { color:var(--kr-muted); font-size:.85rem; }
.workspace-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.three-columns { grid-template-columns:repeat(3,minmax(0,1fr)); }
.workspace-card { display:block; padding:1.5rem; background:white; border:1px solid var(--kr-line); border-radius:1rem; text-decoration:none; color:var(--kr-ink); box-shadow:0 3px 14px #0F172A05; transition:border-color .15s,box-shadow .15s; }
.workspace-card:hover { color:var(--kr-ink); border-color:#247BFF; box-shadow:0 7px 20px #247BFF12; }
.workspace-card:focus-visible { outline:3px solid var(--kr-primary); outline-offset:3px; }
.card-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:.7rem; background:#EEF5FF; color:#0962F5; font-size:1.65rem; margin-bottom:1.25rem; }
.card-icon.blue { background:#E0F2FE; color:#0369A1; }
.workspace-card h3 { font-size:1.1rem; line-height:1.45; }
.workspace-card p { color:var(--kr-muted); font-size:.9rem; line-height:1.65; }
.card-action { color:var(--kr-primary); font-weight:650; font-size:.85rem; }
.workspace-activity { margin-top:2rem; padding:0 1.5rem 1.5rem; border:1px solid var(--kr-line); border-radius:1rem; background:white; }
.activity-list { padding:0; list-style:none; margin-top:1rem; }
.activity-list li { padding:.8rem 0; border-bottom:1px solid var(--kr-line); display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.9rem; }
.activity-list time { color:var(--kr-muted); font-size:.8rem; }
.workspace-footer-actions { margin-top:1.5rem; }
@media(max-width:767px) { .workspace-heading { align-items:flex-start; flex-direction:column; } .workspace-hero { padding:1.5rem; } .hero-building { display:none; } .three-columns { grid-template-columns:1fr; } .workspace-section-heading { align-items:flex-start; flex-direction:column; gap:.35rem; } }
@media(max-width:575px) { .workspace-grid { grid-template-columns:1fr; } .workspace-footer-actions { flex-wrap:wrap; } main { padding-top:1rem; } }
@media(prefers-reduced-motion:reduce) { .workspace-card { transition:none; } }

/* Workspace sidebar and compact, flat dashboard panels. */
.workspace-shell { display:grid; grid-template-columns:235px minmax(0,1fr); gap:2rem; align-items:start; }
.workspace-sidebar { position:sticky; top:1.5rem; padding:1.25rem .85rem; background:white; border:1px solid var(--kr-line); border-radius:8px; }
.sidebar-brand { font-size:.65rem; letter-spacing:.16em; color:var(--kr-secondary); font-weight:750; padding:0 .65rem; }
.sidebar-organization { padding:.6rem .65rem 1.1rem; margin:0; font-size:.9rem; font-weight:650; border-bottom:1px solid var(--kr-line); }
.sidebar-menu { padding-top:1rem; }
.sidebar-link { display:flex; align-items:center; gap:.7rem; color:#475569; padding:.8rem .65rem; border-radius:6px; font-size:.83rem; text-decoration:none; font-weight:550; }
.sidebar-link > span { width:1.2rem; color:var(--kr-secondary); font-size:1.2rem; text-align:center; }
.sidebar-link:hover { background:#F1F5F9; color:var(--kr-ink); }
.sidebar-link.active { background:#EEF5FF; color:var(--kr-primary); box-shadow:inset 3px 0 var(--kr-accent); }
.sidebar-label { margin:1.2rem .65rem .35rem; color:#64748B; letter-spacing:.1em; font-size:.6rem; font-weight:700; }
.sidebar-back { display:block; margin-top:1.5rem; padding:.85rem .65rem 0; border-top:1px solid var(--kr-line); font-size:.8rem; text-decoration:none; }
.sidebar-toggle { display:none; }
.workspace-content { min-width:0; }
.workspace-content h1 { font-size:clamp(1.6rem,2.5vw,2.1rem); }
.workspace-content .workspace-heading { align-items:flex-start; }
.workspace-content .role-pill { font-size:.75rem; padding:.4rem .65rem; }
.workspace-content .workspace-card { padding:1.2rem; border-radius:8px; box-shadow:none; position:relative; }
.workspace-content .workspace-card:hover { box-shadow:none; border-color:var(--kr-secondary); }
.workspace-content .card-icon { display:inline-block; width:auto; height:auto; border-radius:0; background:none; margin-bottom:.5rem; color:var(--kr-secondary); font-size:1.4rem; }
.workspace-content .workspace-card h3 { font-size:.95rem; letter-spacing:-.015em; }
.workspace-content .workspace-card p { font-size:.82rem; }
.workspace-content .three-columns { grid-template-columns:1fr; gap:0; border:1px solid var(--kr-line); border-radius:8px; overflow:hidden; background:white; }
.workspace-content .three-columns .workspace-card { border:0; border-radius:0; border-bottom:1px solid var(--kr-line); padding:1rem 1.2rem 1rem 3.8rem; }
.workspace-content .three-columns .workspace-card:last-child { border-bottom:0; }
.workspace-content .three-columns .workspace-card:hover { background:#F0F9FF; }
.workspace-content .three-columns .card-icon { position:absolute; left:1.2rem; top:1.2rem; }
.workspace-content .three-columns .workspace-card p { margin-bottom:.45rem; }
.workspace-content .workspace-activity { border-radius:8px; }
@media(min-width:992px) { .sidebar-menu.collapse { display:block; } }
@media(max-width:991px) { .workspace-shell { grid-template-columns:1fr; gap:1.25rem; } .workspace-sidebar { position:static; padding:1rem; } .sidebar-brand { display:none; } .sidebar-organization { padding:0 0 .75rem; } .sidebar-toggle { display:flex; justify-content:space-between; width:100%; padding:.75rem 0 0; color:var(--kr-primary); } }

/* Stronger dashboard contrast within the approved teal / blue palette. */
.workspace-sidebar { background:#0F172A; border-color:#0F172A; color:#F8FAFC; }
.sidebar-brand { color:#51A4FF; }
.sidebar-organization { color:#F8FAFC; border-color:#334155; }
.sidebar-link { color:#E2E8F0; }
.sidebar-link > span { color:#9ECDFF; }
.sidebar-link:hover { background:#1E293B; color:white; }
.sidebar-link.active { background:#073B85; color:white; box-shadow:inset 4px 0 #51A4FF; }
.sidebar-label { color:#94A3B8; }
.sidebar-back { color:#9ECDFF; border-color:#334155; }
.sidebar-back:hover { color:white; }
.sidebar-toggle { color:#9ECDFF; }
.sidebar-toggle:hover,.sidebar-toggle:focus { color:white; }
.sidebar-link:focus-visible,.sidebar-back:focus-visible,.sidebar-toggle:focus-visible { outline:3px solid #51A4FF; outline-offset:2px; }
.btn-primary { background:#247BFF; border-color:#247BFF; color:#fff; font-weight:700; }
.btn-primary:hover,.btn-primary:active { background:#1554AE !important; border-color:#1554AE !important; }
.workspace-content .workspace-card { border-color:#CBD5E1; }
.workspace-content .workspace-card h3 { color:#0F172A; font-weight:750; }
.workspace-content .workspace-card:hover { border-color:#247BFF; background:#F0F9FF; }
.workspace-content .card-icon { color:#1554AE; }
.workspace-content .card-action { color:#1554AE; font-weight:750; }
.workspace-content .three-columns { border-color:#CBD5E1; }
.workspace-content .three-columns .workspace-card { border-bottom-color:#CBD5E1; }
.workspace-content .workspace-section-heading h2 { color:#0F172A; }
.workspace-content .role-pill { border-color:#247BFF; color:#034ED1; }

/* Textile-inspired brand lettering: woven diagonals, earth and jewel tones. */
.textile-wordmark { display:inline-block; font-weight:850; font-size:clamp(2.8rem,7vw,4.8rem); letter-spacing:-.055em; line-height:1.2; color:#7C2D12; padding:.1em 0 .15em; }
@supports (background-clip:text) or (-webkit-background-clip:text) {
 .textile-wordmark { background-color:#7C2D12; background-image:repeating-linear-gradient(135deg,transparent 0 10px,#0F172A 10px 13px,transparent 13px 23px),repeating-linear-gradient(45deg,#9A3412 0 22px,#B45309 22px 40px,#0962F5 40px 62px,#9F1239 62px 83px,#073B85 83px 105px); background-clip:text; -webkit-background-clip:text; color:transparent; }
}
@media(forced-colors:active) { .textile-wordmark { background:none; color:CanvasText; } }

.landing-page { background:#0F172A url('/images/nairobi-skyline.png') center center / cover no-repeat; }
.landing-page > .container { padding-top:2.5rem; padding-bottom:2.5rem; }
.landing-page main { background:rgba(248,250,252,.15); backdrop-filter:blur(1px); -webkit-backdrop-filter:blur(1px); border:1px solid rgba(255,255,255,.65); border-radius:12px; padding:2rem !important; max-width:44rem; box-shadow:0 16px 50px #0F172A30; }
.landing-page .footer { margin-top:0; }
@media(max-width:575px) { .landing-page > .container { padding-top:1.25rem; padding-bottom:1.25rem; } .landing-page main { padding:1.25rem !important; } .landing-page .textile-wordmark { font-size:clamp(2rem,10vw,3rem); } }

/* High-visibility lettering over the nearly clear skyline panel. */
.landing-page main { color:#FFFFFF; text-shadow:0 2px 3px #0F172A,0 0 8px #0F172ACC; }
.landing-page main h2 { color:#FFFFFF; font-weight:800; }
.landing-page main > p { color:#FFFFFF; font-weight:650; }
.landing-page main a:not(.btn) { color:#9ECDFF; font-weight:750; text-decoration-thickness:2px; }
.landing-page main a:not(.btn):hover { color:#FFFFFF; }
.landing-page main .form-label { color:#FFFFFF; font-weight:750; }
.landing-page main .textile-wordmark { text-shadow:none; filter:drop-shadow(0 2px 2px #FFFFFFDD); -webkit-text-stroke:.5px #FFFFFF88; }
.landing-page main .form-control,.landing-page main .form-select { text-shadow:none; color:#0F172A; }
.landing-page main .btn { text-shadow:none; }
.landing-page main .text-danger { color:#FFFFFF !important; background:#991B1B; padding:.15rem .4rem; border-radius:4px; text-shadow:none; }
.landing-page main .text-danger:empty { padding:0; }

.property-search-page { background:#0F172A url('/images/kenya-five-cities-v2.png') center top / 100% auto repeat-y; }
.property-search-page > .container { padding-top:2rem; padding-bottom:2rem; }
.property-search-page main > h1,.property-search-page main > p,.property-search-page main > nav { color:#FFFFFF; text-shadow:0 2px 4px #0F172A,0 0 8px #0F172A; }
.property-search-page main > form { background:rgba(248,250,252,.90); border:1px solid #FFFFFFAA; border-radius:12px; padding:1.25rem; margin-left:0; margin-right:0; backdrop-filter:blur(3px); }
.property-search-page .listing-card { background:white; box-shadow:0 8px 24px #0F172A30; }
.property-search-page .footer { margin-top:0; }
.property-search-page main > nav a { color:#9ECDFF; }
@media(max-width:575px) { .property-search-page { background-size:auto 100vh; } .property-search-page main > form { padding:.85rem; } }

/* Later result pages open like a sheet turning into place. */
.listing-page-sheet { position:relative; padding:1.25rem; border:1px solid #FFFFFF70; border-radius:8px; background:rgba(15,23,42,.48); color:white; margin-top:1rem; }
.listing-page-sheet > p { margin-bottom:0; }
.listing-page-sheet .listing-card { color:var(--kr-ink); }
.page-turn-entry { transform-origin:left center; animation:listing-page-turn .7s cubic-bezier(.2,.7,.2,1) both; }
@keyframes listing-page-turn { from { opacity:.25; transform:perspective(1400px) rotateY(-28deg) translateX(24px); box-shadow:25px 8px 35px #0F172A55; } to { opacity:1; transform:perspective(1400px) rotateY(0) translateX(0); box-shadow:none; } }
@media(prefers-reduced-motion:reduce) { .page-turn-entry { animation:none; } }

/* Executive platform dashboard. Scoped to protect marketplace and organization styling. */
.executive-admin { background:#F8FAFC; color:#0F172A; }
.executive-admin > .container { max-width:1600px; }
.admin-shell { display:grid; grid-template-columns:230px minmax(0,1fr); gap:32px; padding:12px 0 40px; }
.admin-rail { background:#061D50; color:#E2E8F0; padding:26px 18px; border-radius:16px; align-self:start; position:sticky; top:20px; }
.admin-brand { display:flex; gap:12px; align-items:center; color:white; font-size:18px; font-weight:750; text-decoration:none; }
.admin-brand:hover { color:#51A4FF; }
.admin-brand small { display:block; font-size:9px; letter-spacing:2px; color:#94A3B8; margin-top:5px; }
.admin-monogram { display:grid; place-items:center; width:42px; height:42px; background:#0962F5; border:1px solid #51A4FF80; border-radius:12px; color:white; }
.admin-nav-label { color:#94A3B8; font-size:10px; letter-spacing:2px; margin:38px 12px 14px; }
.admin-rail nav { display:grid; gap:6px; }
.admin-rail nav a { display:flex; justify-content:space-between; padding:12px; border-radius:8px; text-decoration:none; color:#CBD5E1; font-size:13px; }
.admin-rail nav a:hover,.admin-rail nav a.active { background:#123D7B; color:#9ECDFF; }
.admin-rail nav a.active { box-shadow:inset 3px 0 #51A4FF; }
.admin-rail-note { border-top:1px solid #FFFFFF20; margin-top:48px; padding:24px 10px 0; font-size:12px; }
.admin-rail-note p { color:#94A3B8; font-size:11px; line-height:1.8; margin:10px 0 24px; }
.admin-status-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#51A4FF; margin-right:6px; }
.admin-public-link { color:#9ECDFF; font-size:12px; padding:10px; }
.admin-main { min-width:0; }
.admin-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:10px 0 28px; }
.admin-kicker { color:#0962F5; font-size:10px; font-weight:750; letter-spacing:1.8px; margin:0 0 8px; }
.admin-heading h1 { font-size:34px; letter-spacing:-1.2px; margin:0 0 6px; }
.admin-heading p:last-child { color:#64748B; margin:0; }
.admin-date { text-align:right; font-size:12px; font-weight:600; }
.admin-date span { display:block; color:#64748B; font-weight:400; margin-top:7px; font-size:11px; }
.admin-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.admin-metric { background:white; border:1px solid #E2E8F0; border-radius:12px; padding:22px; }
.admin-metric > span { font-size:12px; font-weight:600; color:#475569; }
.admin-metric strong { display:block; font-size:36px; font-weight:700; line-height:1.2; letter-spacing:-1px; margin:14px 0 12px; }
.admin-metric small { color:#64748B; font-size:10px; }
.admin-metric.featured { background:linear-gradient(125deg,#0962F5,#073B85); border-color:transparent; color:white; box-shadow:0 8px 22px #0962F520; }
.admin-metric.featured > span,.admin-metric.featured small { color:#DFECFF; }
.admin-insights { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr); gap:24px; }
.admin-panel { padding:24px; border:1px solid #E2E8F0; background:white; border-radius:12px; margin-bottom:24px; scroll-margin-top:20px; }
.admin-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.admin-panel h2 { font-size:18px; font-weight:700; letter-spacing:-.3px; margin:0; }
.admin-chip { display:inline-block; background:#F1F5F9; border:1px solid #E2E8F0; border-radius:6px; padding:5px 9px; font-size:10px; color:#475569; white-space:nowrap; }
.admin-chart { height:180px; display:flex; align-items:end; gap:5px; border-bottom:1px solid #CBD5E1; background:repeating-linear-gradient(to top,transparent 0,transparent 44px,#F1F5F9 44px,#F1F5F9 45px); }
.admin-bar-track { flex:1; height:100%; display:flex; align-items:end; min-width:0; }
.admin-bar-track span { display:block; width:100%; background:linear-gradient(#247BFF,#0962F5); border-radius:3px 3px 0 0; }
.admin-chart-axis { display:flex; justify-content:space-between; color:#64748B; font-size:10px; margin-top:10px; }
.admin-daily { margin-top:20px; font-size:12px; }
.admin-daily summary { color:#0962F5; cursor:pointer; font-weight:600; }
.admin-daily .table-responsive { max-height:250px; margin-top:12px; }
.admin-footnote { color:#64748B; font-size:11px; line-height:1.7; margin:16px 0 0; }
.admin-destination { margin:20px 0; }
.admin-destination > div { display:flex; justify-content:space-between; font-size:12px; gap:12px; }
.admin-destination meter { width:100%; height:12px; margin:7px 0; accent-color:#247BFF; }
.admin-destination meter::-webkit-meter-bar { background:#F1F5F9; border:0; }
.admin-destination meter::-webkit-meter-optimum-value { background:#247BFF; }
.admin-destination small { display:block; color:#64748B; font-size:10px; }
.admin-review-banner { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:28px; margin-bottom:24px; border-radius:12px; background:#061D50; color:white; }
.admin-review-banner .admin-kicker { color:#9ECDFF; }
.admin-review-banner h2 { font-size:21px; color:white; margin:0 0 8px; }
.admin-review-banner p:last-child { font-size:12px; color:#CBD5E1; margin:0; max-width:470px; }
.admin-review-banner .btn { background:#51A4FF; color:#061D50; white-space:nowrap; font-size:12px; font-weight:750; padding:12px 16px; border:0; }
.admin-review-banner .btn:hover { background:#BCD8FF; }
.admin-table { font-size:13px; margin-bottom:0; }
.admin-table thead th { background:#F8FAFC; color:#64748B; font-size:10px; text-transform:uppercase; letter-spacing:1px; border-bottom:1px solid #E2E8F0; padding:12px; }
.admin-table td { vertical-align:middle; padding:15px 12px; border-color:#F1F5F9; }
.admin-org-icon { display:inline-grid; place-items:center; background:#EEF5FF; color:#1554AE; width:32px; height:32px; border-radius:8px; margin-right:12px; font-weight:750; }
.admin-pager { border-top:1px solid #E2E8F0; padding-top:18px; margin-top:16px; display:flex; justify-content:space-between; align-items:center; font-size:11px; color:#64748B; gap:12px; }
.admin-pager div { display:flex; gap:18px; }
.admin-timeline article { display:flex; gap:16px; padding:0 0 24px; }
.admin-timeline-dot { flex:0 0 9px; height:9px; background:#247BFF; border:3px solid #DFECFF; box-sizing:content-box; border-radius:50%; margin-top:3px; }
.admin-timeline h3 { font-size:13px; margin:0 0 6px; }
.admin-timeline p { font-size:12px; color:#475569; margin:0 0 8px; white-space:pre-wrap; overflow-wrap:anywhere; }
.admin-timeline time { font-size:10px; color:#64748B; }
.admin-empty { padding:24px; text-align:center; background:#F8FAFC; color:#64748B; font-size:13px; border-radius:8px; }
@media(max-width:1199px) { .admin-shell { grid-template-columns:190px minmax(0,1fr); gap:20px; } .admin-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-insights { grid-template-columns:1fr; gap:0; } .admin-review-banner { align-items:start; flex-direction:column; } }
@media(max-width:767px) { .admin-shell { display:block; } .admin-rail { position:static; margin-bottom:24px; padding:18px; } .admin-rail nav { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:16px; } .admin-nav-label,.admin-rail-note,.admin-public-link { display:none; } .admin-heading { align-items:start; flex-direction:column; } .admin-date { text-align:left; } .admin-metric { padding:16px; } .admin-metric strong { font-size:30px; } .admin-panel { padding:18px; } .admin-panel-heading { flex-wrap:wrap; } .admin-review-banner { padding:20px; } .admin-chart { gap:3px; } .admin-pager { flex-wrap:wrap; } }

.admin-directory > summary { cursor:pointer; list-style:none; margin-bottom:0; }
.admin-directory > summary::-webkit-details-marker { display:none; }
.admin-directory[open] > summary { margin-bottom:24px; }
.admin-directory-arrow { font-size:24px; color:#0962F5; transition:transform .15s; }
.admin-directory[open] .admin-directory-arrow { transform:rotate(180deg); }
.admin-directory > summary:focus-visible { outline:2px solid #247BFF; outline-offset:6px; }

/* Content review workspace */
.moderation-summary { display:grid; grid-template-columns:1fr 1fr 1.5fr; gap:16px; margin-bottom:32px; }
.moderation-summary > * { display:block; padding:22px; border:1px solid #E2E8F0; border-radius:12px; background:white; text-decoration:none; color:#0F172A; }
.moderation-summary > a:hover { border-color:#247BFF; }
.moderation-summary span,.moderation-summary small { display:block; color:#475569; font-size:12px; }
.moderation-summary strong { display:block; font-size:34px; margin:10px 0; color:#0962F5; }
.moderation-summary > div { background:#061D50; color:white; }
.moderation-summary h2 { font-size:18px; color:white; }
.moderation-summary > div p:last-child { color:#CBD5E1; font-size:12px; margin-bottom:0; }
.moderation-summary .admin-kicker { color:#9ECDFF; }
.moderation-review-heading { display:flex; justify-content:space-between; align-items:start; gap:16px; margin-bottom:12px; }
.moderation-review-heading h2,.moderation-review-heading h3 { overflow-wrap:anywhere; margin:0; }
.moderation-meta { color:#64748B; font-size:12px; line-height:1.8; }
.moderation-copy { white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.8; }
.moderation-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0; }
.moderation-gallery figure { margin:0; background:#F8FAFC; border:1px solid #E2E8F0; border-radius:8px; overflow:hidden; }
.moderation-gallery img { display:block; width:100%; height:160px; object-fit:contain; background:#E2E8F0; }
.moderation-gallery figcaption { padding:10px; color:#475569; font-size:12px; overflow-wrap:anywhere; }
.moderation-decision { border-top:1px solid #E2E8F0; padding-top:20px; margin-top:20px; }
.moderation-decision .form-label { font-size:12px; font-weight:650; }
.moderation-decision textarea { min-height:90px; }
.moderation-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.moderation-no-photos { background:#F8FAFC; padding:20px; text-align:center; color:#64748B; font-size:12px; border:1px dashed #CBD5E1; border-radius:8px; }
.moderation-pager { margin-bottom:36px; }
.moderation-page #reviews,.moderation-page #reports { scroll-margin-top:20px; }
@media(max-width:991px) { .moderation-summary { grid-template-columns:1fr 1fr; } .moderation-summary > div { grid-column:1/-1; } .moderation-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:575px) { .moderation-gallery { grid-template-columns:1fr; } .moderation-review-heading { flex-wrap:wrap; } .moderation-summary > * { padding:16px; } }

/* Compact firm approval directory */
.firm-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:end}
.firm-filters>div:first-child{flex:2 1 16rem}
.firm-filters>div{flex:1 1 11rem}
.firm-filters label{display:block;font-weight:600;margin-bottom:.4rem}
.firm-directory{padding:0!important;overflow:hidden}
.firm-row+.firm-row{border-top:1px solid #dbe5ee}
.firm-row>summary{display:flex;align-items:center;gap:.8rem;list-style:none;padding:1rem 1.25rem;cursor:pointer}
.firm-row>summary::-webkit-details-marker{display:none}
.firm-row>summary:hover,.firm-row[open]>summary{background:#EEF5FF}
.firm-row>summary:focus-visible{outline:3px solid #247BFF;outline-offset:-3px}
.firm-row-name{flex:1;min-width:0;overflow-wrap:anywhere;font-weight:650;color:#0f172a}
.firm-test-badge{font-size:.75rem;border:1px solid #cbd5e1;padding:.2rem .5rem;border-radius:4px;color:#475569;white-space:nowrap}
.firm-row-arrow{font-size:1.3rem;transition:transform .15s}
.firm-row[open] .firm-row-arrow{transform:rotate(180deg)}
.firm-row-body{padding:1rem 1.25rem 1.5rem;border-top:1px solid #e2e8f0}
@media(max-width:600px){.firm-row>summary{flex-wrap:wrap;gap:.5rem}.firm-row-name{flex-basis:100%}.firm-row-arrow{margin-left:auto}}

.workspace-subscription{padding:1.4rem;margin:0 0 1.8rem;background:#fff;border:1px solid #cbdde7;border-left:4px solid #247BFF;border-radius:10px}
.subscription-summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.subscription-summary h2{font-size:1.25rem;margin:0}
.subscription-status{font-size:.85rem;font-weight:700;padding:.4rem .7rem;border-radius:6px}
.subscription-status.enabled{color:#034ED1;background:#ccfbf1}
.subscription-status.attention{color:#92400e;background:#fef3c7}
.subscription-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin:1.25rem 0}
.subscription-facts dt{font-size:.8rem;color:#475569;margin-bottom:.35rem}
.subscription-facts dd{font-weight:650;color:#0f172a;margin:0 0 .3rem}
.subscription-facts small,.subscription-clock{color:#475569}
.subscription-review{padding:.7rem .9rem;background:#f8fafc;border-radius:6px;overflow-wrap:anywhere}
.subscription-clock{display:block;margin-top:.75rem;font-size:.75rem}
@media(max-width:700px){.subscription-facts{grid-template-columns:1fr;gap:1rem}.subscription-facts>div+div{border-top:1px solid #e2e8f0;padding-top:.75rem}}

.subscription-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:.8rem;margin:1rem 0}
.subscription-dashboard-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid #dbe5ee;border-radius:8px;color:#0f172a;text-decoration:none;background:#f8fafc}
.subscription-dashboard-item:hover{background:#EEF5FF;border-color:#247BFF;color:#0f172a}
.subscription-dashboard-item:focus-visible{outline:3px solid #247BFF;outline-offset:2px}
.subscription-dashboard-item strong{font-size:1.9rem;line-height:1.1;color:#0962F5}
.subscription-dashboard-item span{font-size:.85rem;font-weight:600}
.subscription-dashboard-item small{color:#475569}

.listing-availability-panel{margin:1rem 0;padding:1rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;color:#0f172a}
.listing-availability-panel p:last-child{margin-bottom:0}
.listing-availability-panel .btn{margin:.25rem .35rem .25rem 0}
