:root {
  --ink: #10261f;
  --ink-2: #1d3b31;
  --gold: #c6934a;
  --cream: #f5f2eb;
  --paper: #ffffff;
  --line: #dfe5e1;
  --muted: #68766f;
  --primary: #10261f;
  --primary-foreground: #fff;
  --background: #f6f8f7;
  --foreground: #10261f;
  --card: #fff;
  --card-foreground: #10261f;
  --popover: #fff;
  --popover-foreground: #10261f;
  --secondary: #edf2ef;
  --secondary-foreground: #10261f;
  --muted-foreground: #68766f;
  --accent: #eef3f0;
  --accent-foreground: #10261f;
  --destructive: #b42318;
  --border: #dfe5e1;
  --input: #dfe5e1;
  --ring: #c6934a;
  --radius: .75rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--background); color: var(--ink); font-family: "Aptos", "Segoe UI", Arial, sans-serif; font-size: 16px; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
.site-root { min-height: 100vh; }

.brand { display:flex; align-items:center; gap:.72rem; color:var(--ink); }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; color:var(--gold); border:1px solid #cbd6d1; border-radius:50%; }
.brand > span:last-child { display:flex; flex-direction:column; letter-spacing:.16em; line-height:1.1; }
.brand strong { font-family:Georgia, serif; font-size:1.18rem; font-weight:500; }
.brand small { font-size:.55rem; letter-spacing:.2em; margin-top:.3rem; color:#718078; }

.portal-switcher { position:fixed; right:22px; bottom:22px; z-index:80; filter:drop-shadow(0 14px 25px #06150f2b); }
.portal-switcher > button { min-width:228px; border:1px solid #ffffff26; border-radius:14px; color:white; background:#10261ff0; backdrop-filter:blur(16px); padding:.75rem .9rem; display:flex; align-items:center; gap:.72rem; text-align:left; }
.portal-switcher button > span:nth-child(2) { display:flex; flex:1; flex-direction:column; }
.portal-switcher small { font-size:.68rem; color:#b7c3be; line-height:1.25; }
.portal-switcher strong { font-size:.86rem; font-weight:600; }
.switcher-dot { width:8px; height:8px; background:#6bd69d; border-radius:50%; box-shadow:0 0 0 4px #6bd69d20; }
.portal-menu { position:absolute; bottom:calc(100% + 8px); right:0; width:228px; padding:.35rem; border-radius:14px; background:white; border:1px solid var(--line); box-shadow:0 18px 50px #0b231a21; }
.portal-menu button { width:100%; border:0; background:transparent; display:flex; align-items:center; justify-content:space-between; color:var(--ink); padding:.7rem .75rem; border-radius:9px; }
.portal-menu button.active { background:#edf3f0; }
.portal-menu button span { font-size:.83rem; font-weight:600; }
.portal-menu button small { color:#84918b; }

.public-site { background:#fff; min-height:100vh; }
.public-header { height:84px; padding:0 clamp(1.2rem,5vw,5.5rem); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; background:#fff; }
.public-header nav { display:flex; gap:2rem; }
.public-header nav a { color:#44524c; text-decoration:none; font-size:.88rem; font-weight:600; }
.header-actions { display:flex; justify-content:flex-end; align-items:center; gap:1.2rem; }
.text-button { border:0; background:transparent; display:flex; gap:.45rem; align-items:center; color:var(--ink); font-size:.86rem; font-weight:600; }
.round-button { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; border:1px solid #d9e0dc; background:#fff; color:var(--ink); }

.hero { position:relative; min-height:620px; height:calc(100vh - 84px); max-height:780px; margin:0 1rem; border-radius:8px; overflow:hidden; }
.hero > img { width:100%; height:100%; object-fit:cover; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,#07140eae 0%,#07140e3d 48%,transparent 78%),linear-gradient(0deg,#07140e52 0%,transparent 45%); }
.hero-copy { position:absolute; left:clamp(1.5rem,7vw,7.2rem); top:20%; color:white; max-width:650px; }
.hero-badge { background:#ffffff17; color:#fff; border:1px solid #ffffff4f; border-radius:40px; letter-spacing:.1em; font-size:.68rem; padding:.48rem .75rem; backdrop-filter:blur(8px); }
.hero h1 { font-family:Georgia, serif; font-weight:400; font-size:clamp(3rem,5.8vw,5.7rem); line-height:.98; letter-spacing:-.045em; margin:1.35rem 0 1.15rem; }
.hero-copy p { max-width:500px; font-size:1.08rem; line-height:1.6; color:#edf4f0; }
.search-panel { position:absolute; left:50%; bottom:34px; transform:translateX(-50%); width:min(1080px,calc(100% - 3rem)); background:#fffffff5; backdrop-filter:blur(14px); border-radius:15px; padding:.85rem 1rem 1rem; box-shadow:0 20px 60px #07140e47; }
.operation-tabs { display:flex; gap:.3rem; border-bottom:1px solid #dfe5e1; padding:0 .3rem .6rem; }
.operation-tabs button { border:0; background:transparent; color:#76827c; font-weight:600; padding:.48rem .9rem; border-radius:8px; font-size:.88rem; }
.operation-tabs button.active { color:var(--ink); background:#e9efec; }
.search-row { display:grid; grid-template-columns:1.55fr 1fr auto; gap:1rem; padding-top:.9rem; align-items:end; }
.search-row label { display:flex; flex-direction:column; padding:0 .8rem; }
.search-row label small { color:#839089; font-size:.62rem; letter-spacing:.11em; font-weight:700; margin-bottom:.35rem; }
.search-row label span { display:flex; align-items:center; gap:.4rem; color:var(--ink); }
.search-row input { border:0!important; box-shadow:none!important; padding:0; font-size:.96rem; height:30px; background:transparent; }
.select-label { border-left:1px solid #dfe5e1; }
.select-label > span { justify-content:space-between; min-height:30px; font-size:.92rem; }
.search-button { height:50px; border-radius:10px; padding:0 1.6rem; background:var(--ink); }

.property-section { max-width:1240px; margin:auto; padding:5.2rem 2rem 4.5rem; }
.section-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:2rem; }
.eyebrow { color:var(--gold); font-size:.68rem; font-weight:800; letter-spacing:.14em; }
.section-heading h2, .welcome h1 { font-family:Georgia,serif; font-weight:400; font-size:clamp(2rem,3.2vw,3.15rem); margin:.45rem 0 0; letter-spacing:-.03em; }
.section-heading > button, .section-title button { border:0; background:transparent; color:var(--ink); display:flex; align-items:center; gap:.45rem; font-size:.85rem; font-weight:700; }
.property-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.property-card { border:1px solid #e2e7e4; background:white; border-radius:13px; overflow:hidden; transition:.25s ease; cursor:pointer; }
.property-card:hover { transform:translateY(-5px); box-shadow:0 20px 38px #0c2a1d14; }
.property-image { height:240px; position:relative; overflow:hidden; background-size:cover; background-position:center; }
.property-image > img { width:100%; height:100%; object-fit:cover; }
.property-image-1 { background:linear-gradient(135deg,#d7d0c2 0%,#8ea5a5 52%,#e5dccb 52%,#b8a98f 100%); }
.property-image-2 { background:linear-gradient(145deg,#344a42 0%,#6d8277 40%,#c89d63 40%,#e6d5b8 100%); }
.property-image:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#0c21184f,transparent 48%); }
.property-tag { position:absolute; z-index:2; left:14px; top:14px; background:white; color:var(--ink); padding:.4rem .68rem; border-radius:6px; font-size:.7rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.property-image button { position:absolute; z-index:2; right:14px; top:14px; width:34px; height:34px; border-radius:50%; border:0; background:#ffffffea; color:var(--ink); font-size:1.2rem; }
.property-body { padding:1.25rem 1.25rem 1.35rem; }
.property-body > small { color:#8a968f; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }
.property-body h3 { font-family:Georgia,serif; font-size:1.25rem; font-weight:500; margin:.55rem 0 .55rem; }
.property-body p { display:flex; align-items:center; gap:.35rem; color:#718078; font-size:.82rem; margin:0 0 1.25rem; }
.property-meta { border-top:1px solid #e7ebe9; padding-top:1rem; display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.property-meta strong { font-size:.98rem; }
.property-meta span { display:flex; align-items:center; gap:.3rem; color:#7a8781; font-size:.75rem; }
.empty-state { min-height:220px; display:grid; place-items:center; align-content:center; color:#76847d; gap:.6rem; border:1px dashed #cbd6d1; border-radius:14px; }
.empty-state h3 { margin:0; }
.empty-state button { border:0; background:transparent; color:var(--gold); font-weight:700; }
.trust-strip { background:var(--ink); color:white; display:grid; grid-template-columns:repeat(3,1fr) 1.65fr; padding:2.4rem max(2rem,calc((100vw - 1180px)/2)); gap:2.2rem; }
.trust-strip > div { display:flex; flex-direction:column; justify-content:center; border-right:1px solid #ffffff24; }
.trust-strip strong { font-family:Georgia,serif; color:#e9c889; font-size:2rem; font-weight:400; }
.trust-strip span { color:#c2cec9; font-size:.8rem; }
.trust-cta { border:0!important; flex-direction:row!important; align-items:center; justify-content:space-between!important; }
.trust-cta button { border:1px solid #ffffff42; color:white; background:transparent; border-radius:8px; padding:.75rem 1rem; display:flex; gap:.4rem; align-items:center; }

.modal-backdrop { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:1rem; background:#07140ec9; backdrop-filter:blur(8px); }
.property-modal { position:relative; background:#fff; width:min(540px,100%); border-radius:18px; overflow:hidden; padding:0 1.7rem 1.7rem; box-shadow:0 30px 90px #0005; }
.property-modal > img { width:calc(100% + 3.4rem); height:260px; object-fit:cover; margin:0 -1.7rem 1.4rem; }
.property-modal h2 { font-family:Georgia,serif; font-size:1.7rem; margin:.8rem 0 .6rem; }
.property-modal p { color:var(--muted); line-height:1.55; }
.property-modal .modal-close { position:absolute; right:14px; top:14px; z-index:2; background:#fff; border:0; border-radius:50%; width:38px; height:38px; display:grid; place-items:center; }
.property-modal .bg-primary { background:var(--ink); }

.app-shell { min-height:100vh; display:grid; grid-template-columns:228px 1fr; background:#f5f7f6; }
.sidebar { background:#0d241c; color:white; padding:1.5rem 1rem; display:flex; flex-direction:column; min-height:100vh; }
.sidebar .brand { color:#fff; padding:0 .55rem 1.55rem; }
.sidebar .brand-mark { border-color:#ffffff2e; }
.tenant-chip { display:flex; align-items:center; gap:.65rem; padding:.72rem; border:1px solid #ffffff18; background:#ffffff0b; border-radius:10px; margin-bottom:1.4rem; }
.tenant-chip > span { width:31px; height:31px; display:grid; place-items:center; background:#d3a459; color:#10261f; border-radius:8px; font-weight:800; }
.tenant-chip > div { flex:1; display:flex; flex-direction:column; }
.tenant-chip strong { font-size:.84rem; }
.tenant-chip small { font-size:.68rem; color:#9eaea7; }
.sidebar nav { display:flex; flex-direction:column; gap:.25rem; }
.sidebar-nav { overflow-y:auto; scrollbar-width:thin; padding-right:.15rem; margin-right:-.15rem; }
.sidebar nav button, .sidebar-bottom > button { display:flex; align-items:center; gap:.75rem; border:0; background:transparent; color:#a9b8b2; padding:.72rem .8rem; border-radius:8px; text-align:left; font-size:.84rem; }
.sidebar nav button.active { background:#ffffff12; color:#fff; }
.sidebar-bottom { margin-top:auto; border-top:1px solid #ffffff17; padding-top:1rem; }
.sidebar-bottom > button { color:#e6c78e; width:100%; }
.user-mini { display:flex; align-items:center; gap:.65rem; padding:.85rem .65rem 0; }
.user-mini > span, .avatar { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#d6ad6c; color:#10261f; font-size:.72rem; font-weight:800; }
.user-mini div { display:flex; flex-direction:column; }
.user-mini strong { font-size:.75rem; }
.user-mini small { font-size:.63rem; color:#96a69f; }
.workspace { min-width:0; }
.workspace-header { height:68px; display:flex; align-items:center; justify-content:space-between; padding:0 2.2rem; background:#fff; border-bottom:1px solid #e2e7e4; }
.workspace-header > div { display:flex; align-items:center; gap:.7rem; }
.workspace-header small { color:#849189; font-size:.68rem; letter-spacing:.09em; }
.icon-btn { width:36px; height:36px; border:0; background:transparent; display:grid; place-items:center; border-radius:8px; color:#66766e; }
.notification { font-size:1.4rem; }
.mobile-brand { display:none; }
.content { width:min(1200px,calc(100% - 4.5rem)); margin:0 auto; padding:2.8rem 0 4.5rem; }
.welcome { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:2rem; }
.welcome h1 { margin:.35rem 0 .35rem; font-size:2.5rem; }
.welcome p { margin:0; color:#6f7d76; font-size:.9rem; }
.welcome > .bg-primary { background:var(--ink); }
.outline-button { height:42px; border:1px solid #d7dfdb; color:var(--ink); background:#fff; border-radius:8px; padding:0 1rem; display:flex; align-items:center; gap:.5rem; font-weight:600; font-size:.82rem; }

.tenant-grid { display:grid; grid-template-columns:1.35fr .9fr; gap:1.2rem; margin-bottom:1.2rem; }
.rent-card, .contract-card, .activity-card, .metric-card, .chart-card, .alerts-card, .operations-card, .ai-panel, .day-panel { background:#fff; border:1px solid #dfe5e1; border-radius:13px; }
.rent-card { padding:1.55rem; }
.rent-top { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.8rem; }
.icon-tile { width:44px; height:44px; display:grid; place-items:center; border-radius:10px; background:#eef4f1; color:var(--ink); }
.rent-top small, .rent-amount small { display:block; color:#89958f; font-size:.63rem; letter-spacing:.08em; }
.rent-top h2 { font-family:Georgia,serif; font-size:1.25rem; font-weight:500; margin:.2rem 0 0; }
.pending { background:#fff2d8; color:#9a681f; border:0; }
.paid { background:#dff4e8; color:#1d7446; border:0; }
.rent-amount { display:grid; grid-template-columns:1.4fr 1fr; gap:1rem; margin:1.5rem 0 1rem; padding:1.3rem 0; border-top:1px solid #e5eae7; border-bottom:1px solid #e5eae7; }
.rent-amount strong { display:block; margin-top:.35rem; font-family:Georgia,serif; font-size:1.65rem; font-weight:500; }
.rent-amount > div:last-child strong { font-family:inherit; font-size:1rem; }
.rent-detail { display:flex; flex-direction:column; gap:.55rem; margin-bottom:1.25rem; }
.rent-detail span { display:flex; justify-content:space-between; color:#6f7e76; font-size:.8rem; }
.rent-card > button { width:100%; background:var(--ink); }
.contract-card { padding:1.4rem; }
.section-title { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.section-title h3 { margin:0; font-family:Georgia,serif; font-size:1.12rem; font-weight:500; }
.section-title p { margin:.25rem 0 0; color:#85918b; font-size:.73rem; }
.contract-house { display:flex; gap:.8rem; margin:1.35rem 0; padding-bottom:1.2rem; border-bottom:1px solid #e5eae7; }
.mini-house { width:72px; height:62px; border-radius:8px; background:linear-gradient(145deg,#394f46 0 48%,#c9a368 49% 100%); }
.contract-house > div:last-child { display:flex; flex-direction:column; }
.contract-house strong { font-size:.85rem; margin-bottom:.2rem; }
.contract-house span, .contract-house small { color:#78857f; font-size:.71rem; }
.contract-card dl { margin:0; }
.contract-card dl div { display:flex; justify-content:space-between; padding:.46rem 0; font-size:.76rem; }
.contract-card dt { color:#7b8982; }
.contract-card dd { margin:0; font-weight:600; }
.activity-card, .operations-card { padding:1.4rem; }
.activity-row { display:grid; grid-template-columns:48px 1fr auto; gap:.8rem; align-items:center; padding:1rem 0; border-top:1px solid #e7ebe9; }
.activity-card .section-title { padding-bottom:1rem; }
.date-box { width:46px; height:42px; background:#f0f4f2; border-radius:7px; display:grid; place-items:center; text-align:center; font-size:.67rem; font-weight:700; color:#526159; }
.activity-row div { display:flex; flex-direction:column; gap:.2rem; }
.activity-row strong { font-size:.79rem; }
.activity-row small { color:#87938d; font-size:.68rem; }

.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.metric-card { padding:1.2rem; display:flex; justify-content:space-between; }
.metric-card > div { display:flex; flex-direction:column; }
.metric-card small { color:#79877f; font-size:.7rem; }
.metric-card strong { font-family:Georgia,serif; font-size:1.7rem; font-weight:500; margin:.5rem 0 .25rem; }
.metric-card div span { color:#278258; font-size:.68rem; }
.metric-icon { width:36px; height:36px; background:#eff4f2; border-radius:9px; display:grid; place-items:center; }
.metric-icon svg { width:18px; }
.admin-grid { display:grid; grid-template-columns:1.4fr .8fr; gap:1rem; margin:1rem 0; }
.chart-card, .alerts-card { padding:1.4rem; min-height:320px; }
.section-title select { border:1px solid #dce3df; border-radius:7px; padding:.42rem .7rem; background:white; color:var(--ink); }
.chart-value { display:flex; align-items:center; gap:.7rem; margin-top:1.5rem; }
.chart-value strong { font-family:Georgia,serif; font-size:1.55rem; font-weight:500; }
.chart-value span { display:flex; gap:.25rem; align-items:center; font-size:.7rem; color:#278258; background:#e7f5ed; border-radius:20px; padding:.3rem .55rem; }
.bars { height:180px; display:grid; grid-template-columns:repeat(6,1fr); gap:1rem; align-items:end; border-bottom:1px solid #dfe5e1; margin-top:1.25rem; }
.bars div { height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:.5rem; }
.bars span { width:65%; background:#bbd1c7; border-radius:6px 6px 0 0; }
.bars div:last-child span { background:var(--ink); }
.bars small { color:#7f8c85; font-size:.65rem; padding-bottom:.35rem; }
.alerts-card .section-title { padding-bottom:1rem; }
.alert-row { display:grid; grid-template-columns:auto 1fr auto; gap:.8rem; align-items:center; padding:1rem 0; border-top:1px solid #e7ebe9; }
.alert-dot { width:8px; height:8px; border-radius:50%; }
.alert-dot.high { background:#db564b; }.alert-dot.medium { background:#dca74b; }.alert-dot.low { background:#4f8ac8; }
.alert-row div { display:flex; flex-direction:column; gap:.2rem; }
.alert-row strong { font-size:.78rem; }.alert-row small { font-size:.68rem; color:#839089; }
.full-link { width:100%; border:0; background:#eef3f0; color:var(--ink); border-radius:7px; padding:.65rem; font-size:.72rem; font-weight:700; margin-top:.5rem; }
.table-wrap { overflow:auto; margin-top:1rem; }
table { width:100%; border-collapse:collapse; white-space:nowrap; }
th { text-align:left; color:#85918b; font-size:.64rem; letter-spacing:.06em; font-weight:700; padding:.65rem .8rem; background:#f4f7f5; }
td { font-size:.73rem; padding:.8rem; border-bottom:1px solid #e8ecea; }

.mcp-status { display:flex; align-items:center; gap:.5rem; font-size:.72rem; color:#39785c; background:#e8f4ed; padding:.58rem .8rem; border-radius:22px; }
.mcp-status span { width:7px; height:7px; background:#38a16d; border-radius:50%; }
.sales-grid { display:grid; grid-template-columns:1.45fr .75fr; gap:1rem; }
.ai-panel { min-height:590px; display:flex; flex-direction:column; overflow:hidden; }
.ai-header { display:flex; align-items:center; gap:.8rem; padding:1.15rem 1.3rem; border-bottom:1px solid #e5eae7; }
.ai-orb { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; color:#e4bf79; background:var(--ink); }
.ai-header > div { display:flex; flex:1; flex-direction:column; }
.ai-header strong { font-size:.88rem; }.ai-header small { color:#85918b; font-size:.68rem; }
.ai-header button { border:0; background:transparent; }
.chat-area { flex:1; padding:1.4rem; background:linear-gradient(180deg,#f8faf9,#fff); }
.chat-message { display:flex; gap:.55rem; align-items:flex-start; margin-bottom:1rem; }
.chat-message > span { width:30px; height:30px; display:grid; place-items:center; border-radius:8px; background:var(--ink); color:#e5c27e; flex:0 0 auto; }
.chat-message p { max-width:78%; margin:0; padding:.78rem .9rem; background:#edf2f0; border-radius:4px 12px 12px 12px; color:#31443b; font-size:.8rem; line-height:1.5; }
.chat-message.user { justify-content:flex-end; }
.chat-message.user p { color:white; background:var(--ink); border-radius:12px 4px 12px 12px; }
.quick-prompts { display:flex; flex-wrap:wrap; gap:.45rem; padding-left:38px; }
.quick-prompts button { border:1px solid #dce3df; background:white; color:#43544c; border-radius:20px; padding:.52rem .7rem; font-size:.7rem; }
.chat-input { display:flex; gap:.5rem; padding:.9rem 1rem .45rem; border-top:1px solid #e5eae7; }
.chat-input input { height:46px; background:#f5f7f6; }
.chat-input button { width:46px; border:0; border-radius:9px; background:var(--ink); color:white; display:grid; place-items:center; }
.ai-note { text-align:center; color:#96a19c; font-size:.61rem; padding:.4rem 1rem .9rem; }
.day-panel { padding:1.3rem; }
.day-panel .section-title > span { color:#8c9892; font-size:.66rem; letter-spacing:.1em; }
.day-kpi { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin:1.1rem 0 1.4rem; }
.day-kpi div { background:#eff3f1; border-radius:9px; padding:.8rem; display:flex; flex-direction:column; }
.day-kpi strong { font-family:Georgia,serif; font-size:1.5rem; font-weight:500; }
.day-kpi small { color:#74827b; font-size:.63rem; }
.day-panel h4 { color:#8a9690; font-size:.62rem; letter-spacing:.1em; margin:1.25rem 0 .65rem; }
.visit-card { background:var(--ink); color:white; border-radius:11px; padding:1rem; display:flex; flex-direction:column; }
.visit-card > span { color:#e2bd79; font-size:.7rem; }
.visit-card strong { margin:.45rem 0 .2rem; font-size:.86rem; }.visit-card small { color:#b7c5bf; font-size:.7rem; }
.visit-card p { display:flex; gap:.3rem; align-items:center; font-size:.68rem; color:#b7c5bf; }
.visit-card button { border:0; border-top:1px solid #ffffff25; padding:.75rem 0 0; margin-top:.3rem; background:transparent; color:#e7c585; display:flex; align-items:center; justify-content:space-between; font-size:.7rem; }
.task-row { display:flex; gap:.65rem; padding:.7rem 0; border-top:1px solid #e7ebe9; }
.task-row span { display:flex; flex:1; justify-content:space-between; font-size:.74rem; }
.task-row small { color:#9a4b41; font-size:.62rem; }

.module-content { max-width:1320px; }
.module-actions { display:flex; gap:.65rem; align-items:center; }
.module-actions > .bg-primary, .module-content .welcome > .bg-primary { background:var(--ink); }
.inline-notice { display:flex; align-items:center; gap:.5rem; color:#1c6f45; background:#e5f4eb; border:1px solid #c7e8d4; border-radius:9px; padding:.72rem .9rem; margin:-.8rem 0 1rem; font-size:.8rem; }
.module-metrics { margin-bottom:1rem; }
.module-table { min-height:390px; }
.table-tools { display:flex; align-items:center; gap:.5rem; }
.table-tools > button { display:flex; align-items:center; gap:.35rem; border:1px solid #dce3df; background:white; border-radius:7px; padding:.45rem .65rem; color:#53625a; font-size:.7rem; }
.table-tools label { display:flex; align-items:center; gap:.35rem; border:1px solid #dce3df; background:#f8faf9; border-radius:7px; padding:.35rem .55rem; }
.table-tools input { width:150px; border:0; outline:0; background:transparent; font-size:.7rem; }
.saas-grid { display:grid; gap:.65rem; }
.tenant-card { display:grid; grid-template-columns:auto minmax(180px,1.4fr) .6fr .7fr .5fr auto; align-items:center; gap:1rem; padding:1rem 1.15rem; background:white; border:1px solid var(--line); border-radius:11px; }
.tenant-logo { width:40px; height:40px; display:grid; place-items:center; color:white; background:var(--ink); border-radius:10px; font-family:Georgia,serif; }
.tenant-card > div:nth-child(2) { display:flex; flex-direction:column; }
.tenant-card strong { font-size:.82rem; }.tenant-card small,.tenant-card > span { color:#7b8882; font-size:.7rem; }
.tenant-card b { font-size:.65rem; padding:.3rem .5rem; border-radius:20px; width:max-content; }
.tenant-card b.ok { color:#24754b; background:#e3f3e9; }.tenant-card b.trial { color:#94601b; background:#fff0d5; }
.tenant-card > button { border:0; background:transparent; color:var(--ink); display:flex; align-items:center; gap:.4rem; font-size:.72rem; font-weight:700; }
.settings-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:1rem; align-items:start; }
.settings-card { background:white; border:1px solid var(--line); border-radius:13px; padding:1.35rem; }
.settings-title { display:flex; gap:.8rem; align-items:center; padding-bottom:1rem; border-bottom:1px solid #e7ebe9; margin-bottom:1.1rem; }
.settings-title > span { width:40px; height:40px; display:grid; place-items:center; background:#edf3f0; border-radius:9px; }
.settings-title svg { width:19px; }
.settings-title h3 { font-family:Georgia,serif; font-size:1.08rem; font-weight:500; margin:0; }
.settings-title p { color:#829089; font-size:.7rem; margin:.2rem 0 0; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-grid label,.embed-card > label { display:flex; flex-direction:column; gap:.4rem; color:#617068; font-size:.72rem; font-weight:600; }
.form-grid input { height:42px; background:#fafbfa; }
.color-field { position:relative; display:flex; align-items:center; }
.color-field span { position:absolute; left:11px; width:20px; height:20px; background:var(--ink); border-radius:5px; z-index:2; }
.color-field input { padding-left:40px; }
.embed-card { grid-row:span 2; }
.embed-preview { height:92px; display:flex; align-items:center; justify-content:space-between; padding:1rem; border-radius:10px; color:white; background:linear-gradient(135deg,#0e271e,#244b3c); margin-bottom:1rem; }
.embed-preview > div { display:flex; flex-direction:column; }
.embed-preview strong { font-family:Georgia,serif; letter-spacing:.15em; }.embed-preview small { color:#b8cac2; font-size:.65rem; margin-top:.3rem; }
.embed-preview .bg-primary { background:#ffffff16; border:1px solid #ffffff28; color:#dfbf82; }
.embed-card textarea { width:100%; min-height:108px; resize:none; border:1px solid #dce3df; background:#f6f8f7; color:#415048; border-radius:8px; padding:.8rem; font:12px/1.5 ui-monospace,monospace; }
.embed-actions { display:flex; justify-content:space-between; align-items:center; margin-top:.8rem; }
.embed-actions > .bg-primary { background:var(--ink); }
.security-note { display:block; color:#89958f; font-size:.65rem; line-height:1.45; margin-top:.8rem; }
.integrations-card { grid-column:1; }
.integration-row { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.7rem; padding:.7rem 0; border-top:1px solid #e8ecea; }
.integration-row:first-of-type { border-top:0; }
.integration-row > span { width:31px; height:31px; display:grid; place-items:center; background:#eef3f0; border-radius:8px; font-weight:700; }
.integration-row > div { display:flex; flex-direction:column; }
.integration-row strong { font-size:.76rem; }.integration-row small { color:#84918a; font-size:.65rem; }

@media (max-width: 900px) {
  .public-header { grid-template-columns:1fr auto; padding:0 1.4rem; }
  .public-header nav, .text-button { display:none; }
  .hero { height:720px; min-height:0; }
  .hero-copy { top:14%; }
  .search-panel { bottom:20px; }
  .search-row { grid-template-columns:1fr; }
  .select-label { border-left:0; border-top:1px solid #dfe5e1; padding-top:.7rem!important; }
  .property-grid { grid-template-columns:1fr 1fr; }
  .trust-strip { grid-template-columns:1fr 1fr; }
  .trust-strip > div { border:0; }
  .app-shell { grid-template-columns:76px 1fr; }
  .sidebar { padding:1.3rem .7rem; }
  .sidebar .brand > span:last-child, .tenant-chip div, .tenant-chip svg, .sidebar nav span, .sidebar-bottom > button, .user-mini div { display:none; }
  .sidebar .brand { justify-content:center; padding-left:0; padding-right:0; }
  .tenant-chip { justify-content:center; padding:.5rem; }
  .sidebar nav button { justify-content:center; }
  .sidebar-bottom { display:flex; justify-content:center; }
  .user-mini { padding:.7rem 0 0; }
  .metric-grid { grid-template-columns:1fr 1fr; }
  .admin-grid, .sales-grid { grid-template-columns:1fr; }
  .settings-grid { grid-template-columns:1fr; }
  .embed-card,.integrations-card { grid-row:auto; grid-column:auto; }
  .tenant-card { grid-template-columns:auto 1fr auto; }
  .tenant-card > span,.tenant-card > b { display:none; }
}

@media (max-width: 640px) {
  .portal-switcher { right:12px; bottom:12px; }
  .portal-switcher > button { min-width:200px; }
  .hero { margin:0; border-radius:0; height:690px; }
  .hero-copy { left:1.4rem; right:1.4rem; }
  .hero h1 { font-size:2.9rem; }
  .hero-copy p { font-size:.94rem; }
  .search-panel { width:calc(100% - 1.4rem); padding:.7rem; }
  .search-row { gap:.7rem; }
  .property-section { padding:3.7rem 1rem; }
  .property-grid { grid-template-columns:1fr; }
  .section-heading { align-items:start; }
  .section-heading > button { margin-top:.4rem; }
  .trust-strip { grid-template-columns:1fr; padding:2rem 1.4rem 5.5rem; }
  .trust-cta { align-items:flex-start!important; gap:1rem; }
  .app-shell { display:block; }
  .sidebar { display:none; }
  .workspace-header { padding:0 1rem; }
  .workspace-header > div:first-child > small { display:none; }
  .mobile-brand { display:block; }
  .content { width:calc(100% - 2rem); padding-top:1.8rem; }
  .welcome { align-items:flex-start; flex-direction:column; }
  .welcome h1 { font-size:2rem; }
  .tenant-grid, .admin-grid, .sales-grid { grid-template-columns:1fr; }
  .metric-grid { grid-template-columns:1fr; }
  .rent-top { grid-template-columns:auto 1fr; }
  .rent-top .pending, .rent-top .paid { grid-column:1/-1; width:max-content; }
  .rent-amount { grid-template-columns:1fr; }
  .contract-card dl div { flex-direction:column; gap:.2rem; }
  .bars { gap:.35rem; }
  .operations-card { padding:1rem; }
  .activity-card { padding:1rem; }
  .module-actions { width:100%; justify-content:space-between; }
  .table-tools { display:none; }
  .form-grid { grid-template-columns:1fr; }
  .tenant-card { grid-template-columns:auto 1fr; }
  .tenant-card > .badge,.tenant-card > button { display:none; }
}
