@font-face{font-family:"Manrope";font-style:normal;font-weight:400 800;font-display:swap;src:url("../fonts/manrope-latin-variable.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/playfair-display-latin-600.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:600;font-display:swap;src:url("../fonts/playfair-display-latin-italic-600.woff2") format("woff2")}

/* =============================================================
   1. Tokens — Glassmorphism Modern, adaptado a inmobiliaria
   ============================================================= */
:root{
  --bg:#f5f3ed;--bg-2:#ece8de;--paper:#fff;--glass:rgba(255,255,255,.72);
  --ink:#17352b;--ink-2:#315046;--muted:#6c7a74;--accent:#bf6f44;--accent-2:#db9b71;
  --forest:#17352b;--forest-2:#21483b;--mint:#cfe3d8;--sand:#e7dcc5;--lavender:#ddd8ea;
  --success:#247a58;--warning:#a86722;--danger:#b4473f;--info:#4a6e93;
  --line:rgba(23,53,43,.12);--line-strong:rgba(23,53,43,.22);
  --shadow:0 18px 60px rgba(31,58,48,.10);--shadow-lg:0 34px 100px rgba(31,58,48,.18);
  --radius-sm:12px;--radius:20px;--radius-lg:30px;--radius-xl:42px;
  --sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --display:"Playfair Display",Georgia,serif;
  --ease-out:cubic-bezier(.16,1,.3,1);--ease-soft:cubic-bezier(.25,.46,.45,.94);
  --sidebar:270px;
}

/* Proyectos conectados al inventario */
.projects-public{padding-top:6.7rem;background:var(--bg)}
.projects-intro{padding-bottom:1rem}.projects-intro h1{font:600 clamp(2.5rem,6vw,5rem)/1.1 var(--display);max-width:13ch;margin:.5rem 0 1rem}.projects-intro>p:last-child{max-width:64ch;color:var(--muted)}
.projects-list{padding-top:1rem}.project-cards{display:grid;gap:1.3rem}.project-card{background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);display:grid}.project-card>a img{width:100%;height:260px;object-fit:cover}.project-card>div{padding:1.6rem;display:grid;align-content:center;gap:.75rem}.project-card h2{font:600 2rem var(--display)}.project-card p:not(.eyebrow){color:var(--muted)}.project-card-facts{display:flex;flex-wrap:wrap;gap:.8rem}.project-card-facts span{font-size:.74rem;border:1px solid var(--line);border-radius:12px;padding:.55rem .8rem}.project-disclaimer{font-size:.68rem;color:var(--muted);line-height:1.5;margin-top:.75rem}
.project-hero{position:relative;margin:0 5vw;border-radius:30px;min-height:390px;overflow:hidden;display:grid;align-items:end;background:var(--forest);color:#fff}.project-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.58}.project-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,39,29,.92),transparent 80%)}.project-hero>div{position:relative;z-index:1;padding:2rem;max-width:780px}.project-hero a{color:#fff;font-size:.74rem}.project-hero h1{font:600 clamp(2.5rem,6vw,5rem)/1.1 var(--display);margin:.5rem 0}.project-hero p{max-width:65ch}.project-hero-stats{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem}.project-hero-stats span{display:grid;min-width:105px;padding:.65rem .9rem;border-radius:12px;background:#ffffff2a;font-size:.65rem}.project-hero-stats b{font-size:1.3rem}
.project-section-title{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:1.3rem}.project-section-title h2{font:600 clamp(2rem,4vw,3.4rem) var(--display);margin:.3rem 0}.project-section-title p:last-child{color:var(--muted)}.map-legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.68rem}.map-legend span{display:flex;align-items:center;gap:.35rem}.map-legend span:before{content:"";width:12px;height:12px;background:var(--success);border-radius:3px}.map-legend .is-reserved:before{background:#d29a30}.map-legend .is-sold:before{background:#b4473f}
.project-explorer-grid{display:grid;gap:1rem;align-items:start}.project-plan-wrap{background:#fff;border:1px solid var(--line);padding:.5rem;border-radius:22px;overflow:hidden}.project-plan{width:100%;height:auto;aspect-ratio:1.25;display:block;background:#d5dfd8;border-radius:16px}.project-polygon{fill:rgba(36,122,88,.38);stroke:#fff;stroke-width:.38;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .2s}.project-polygon.status-reserved,.project-polygon.status-negotiation,.project-polygon.status-inactive{fill:rgba(210,154,48,.52)}.project-polygon.status-sold{fill:rgba(180,71,63,.62)}.project-plan a:hover .project-polygon,.project-plan a.is-selected .project-polygon{fill:rgba(36,122,88,.76);stroke:#fff;stroke-width:1}.project-plan a:focus-visible .project-polygon{stroke:#fff;stroke-width:1.5}.project-plan-empty{min-height:280px;display:grid;place-content:center;text-align:center;gap:.5rem;padding:1.5rem;color:var(--muted);background:linear-gradient(135deg,#e6ece5,#f6f1e5);border-radius:16px}.project-plan-empty strong{color:var(--ink)}
.project-explorer-grid{display:grid;gap:1rem;align-items:start}.project-plan-wrap{background:#fff;border:1px solid var(--line);padding:.5rem;border-radius:22px;overflow:hidden}.project-plan-container{position:relative}.project-plan-container>img{display:block;width:100%;height:auto;border-radius:16px}.project-plan{position:absolute;inset:0;width:100%;height:100%;display:block}.project-polygon{fill:rgba(36,122,88,.38);stroke:#fff;stroke-width:.38;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .2s}.project-polygon.status-reserved,.project-polygon.status-negotiation,.project-polygon.status-inactive{fill:rgba(210,154,48,.52)}.project-polygon.status-sold{fill:rgba(180,71,63,.62)}.project-plan a:hover .project-polygon,.project-plan a.is-selected .project-polygon{fill:rgba(36,122,88,.76);stroke:#fff;stroke-width:1}.project-plan a:focus-visible .project-polygon{stroke:#fff;stroke-width:1.5}.project-plan-empty{min-height:280px;display:grid;place-content:center;text-align:center;gap:.5rem;padding:1.5rem;color:var(--muted);background:linear-gradient(135deg,#e6ece5,#f6f1e5);border-radius:16px}.project-plan-empty strong{color:var(--ink)}
.project-quote{background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.4rem;display:grid;gap:.7rem;box-shadow:var(--shadow)}.project-quote h3{font:600 1.6rem var(--display)}.project-quote>p:not(.eyebrow){color:var(--muted);font-size:.75rem}.quote-amount{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:.9rem}.quote-amount strong{font-size:1.3rem}.project-quote label{display:grid;gap:.25rem;font-size:.72rem;font-weight:700}.project-quote label span{float:right;color:var(--accent)}.project-quote input[type=range]{width:100%;accent-color:var(--forest)}.quote-results{display:grid;gap:.55rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.8rem 0}.quote-results>div{display:flex;justify-content:space-between;gap:.5rem;font-size:.72rem}.quote-results strong{font-size:1rem;color:var(--success)}.project-quote>small{font-size:.62rem;color:var(--muted)}
.project-lot-grid{display:grid;gap:.6rem;margin-top:1.3rem}.project-lot-row{background:#fff;border:1px solid var(--line);border-radius:14px;padding:.8rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:.8rem}.project-lot-row>div{display:grid;gap:.2rem}.project-lot-row strong{font-size:.85rem}.project-lot-row span,.project-lot-row small{font-size:.64rem;color:var(--muted)}.project-lot-row b{font-size:.82rem}.project-lot-row button{background:var(--forest);color:#fff;border:0;border-radius:8px;padding:.45rem .7rem;cursor:pointer;font:700 .66rem var(--sans)}.project-lot-row button.is-selected{background:var(--accent)}.project-tour{background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.project-tour h2{font:600 2.4rem var(--display)}.project-tour p{max-width:54ch}
.project-admin-grid{display:grid;gap:.7rem;margin-bottom:1rem}.project-admin-card{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.project-admin-card h3{font-size:1rem}.project-admin-card p{font-size:.65rem;color:var(--muted)}.project-admin-actions{display:flex;gap:.4rem;flex-wrap:wrap}.project-lot-admin{margin-top:1rem}.project-lot-admin>p{font-size:.68rem;color:var(--muted);margin:.8rem 0}.project-lot-form{display:flex;gap:.5rem;align-items:end;flex-wrap:wrap}.project-lot-form label{min-width:160px;flex:1}.project-lot-form input,.project-lot-form select{width:100%;min-height:38px}.project-lot-form input[name=polygon_points]{min-width:250px}.project-lot-list{display:grid;margin-top:1rem}.project-lot-list article{padding:.7rem 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.project-lot-list article>div{min-width:170px;flex:1}.project-lot-list small{display:block;color:var(--muted)}
.project-plan-editor{display:grid;gap:1rem;align-items:start;margin:1rem 0}.project-plan-editor-canvas{position:relative;max-width:750px;cursor:crosshair}.project-plan-editor-canvas img{display:block;width:100%;height:auto;border-radius:14px}.project-plan-editor-canvas svg{position:absolute;inset:0;width:100%;height:100%}.project-plan-editor-canvas polygon{fill:rgba(36,122,88,.42);stroke:#fff;stroke-width:.5;vector-effect:non-scaling-stroke}.project-plan-editor-canvas circle{fill:#fff;stroke:var(--forest);stroke-width:.3}.project-plan-editor>div:last-child p{font-size:.68rem;color:var(--muted);margin:.35rem 0}
.project-import{margin-top:1.2rem;padding:1rem;background:#f4f6f2;border-radius:14px}.project-import summary{cursor:pointer;font-weight:800}.project-import p,.project-import a{font-size:.68rem}.project-import p{margin:.6rem 0;color:var(--muted)}.project-import form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.7rem}
@media(min-width:800px){.project-card{grid-template-columns:42% 1fr}.project-card>a img{height:100%;min-height:290px}.project-explorer-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr)}.project-lot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* =============================================================
   2. Reset & base
   ============================================================= */
*,*::before,*::after{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip;scroll-padding-top:90px}
body{min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg,video{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}h1,h2,h3,h4{line-height:1.08;letter-spacing:-.035em;text-wrap:balance}p{text-wrap:pretty}ul{padding:0;list-style:none}code{font-family:"SFMono-Regular",Consolas,monospace;font-size:.86em}::selection{background:var(--accent);color:#fff}
:focus-visible{outline:3px solid rgba(191,111,68,.5);outline-offset:3px;border-radius:6px}

/* =============================================================
   3. Utilities and shared components
   ============================================================= */
.skip-link{position:fixed;top:-100px;left:1rem;z-index:9999;padding:.7rem 1rem;background:#fff;color:var(--ink);border-radius:10px;box-shadow:var(--shadow)}.skip-link:focus{top:1rem}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:800;color:var(--accent)}
.eyebrow span{display:inline-block;width:18px;height:1px;background:currentColor;vertical-align:middle;margin-right:8px}
.glass-card{background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.75);box-shadow:var(--shadow)}
@supports(backdrop-filter:blur(20px)){.glass-card{background:var(--glass);backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%)}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.8rem 1.2rem;border-radius:999px;font-weight:800;font-size:.86rem;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),background .35s,color .35s,border-color .35s;position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.3),transparent 75%);transform:translateX(-120%);transition:transform .75s var(--ease-out)}
@media(hover:hover){.btn:hover{transform:translateY(-2px)}.btn:hover::after{transform:translateX(120%)}}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 12px 28px rgba(191,111,68,.28)}.btn-primary:hover{background:#a95f39;box-shadow:0 18px 34px rgba(191,111,68,.35)}
.btn-dark{background:var(--forest);color:#fff;box-shadow:0 12px 30px rgba(23,53,43,.2)}.btn-dark:hover{background:#0f2b22}
.btn-outline{border:1px solid var(--line-strong);background:transparent}.btn-outline:hover{background:#fff}
.btn-ghost-light{border:1px solid rgba(23,53,43,.25);background:rgba(255,255,255,.38);color:var(--ink)}
.btn-sm{min-height:38px;padding:.55rem .9rem;font-size:.75rem}.btn-wide{width:100%}
  .text-link,.back-link{display:inline-flex;align-items:center;gap:.4rem;font-weight:800;color:var(--accent);font-size:.82rem}.back-link{color:var(--ink-2)}.password-recovery-link{justify-self:end;margin-top:-.35rem;color:var(--accent);font-size:.78rem;font-weight:800}.password-recovery-link:hover{text-decoration:underline}
.password-input-wrap{position:relative;display:block}.password-input-wrap input{padding-right:5.4rem}.password-visibility{position:absolute;right:.55rem;top:50%;transform:translateY(-50%);padding:.38rem .55rem;border-radius:8px;color:var(--accent);font-size:.68rem;font-weight:850}.password-visibility:hover{background:rgba(191,111,68,.09)}.password-visibility:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.alert{padding:.85rem 1rem;border-radius:14px;margin-bottom:1rem;font-weight:650}.alert-success{background:#e2f2e9;color:#155d42}.alert-danger{background:#fae5e2;color:#8c312b}.alert-warning{background:#fff0d8;color:#895819}.alert-info{background:#e5edf6;color:#315c86}
.status-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:.28rem .58rem;border-radius:999px;font-size:.64rem;font-weight:800;letter-spacing:.035em;background:#e8ebe9;color:#59645f;white-space:nowrap}.status-badge.success{background:#dff1e8;color:#176447}.status-badge.warning{background:#fff0d8;color:#8d5716}.status-badge.danger{background:#f9e2e0;color:#9b342e}.status-badge.neutral{background:#e8ebe9;color:#59645f}
.avatar{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(145deg,var(--mint),#f4ead7);color:var(--forest);font-size:.7rem;font-weight:900;flex:none}.avatar-lg{width:64px;height:64px;font-size:1rem}
.panel{background:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.9);border-radius:var(--radius);box-shadow:0 12px 45px rgba(31,58,48,.055);padding:1.15rem}
@supports(backdrop-filter:blur(16px)){.panel{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}}
.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-header h2,.panel-header h3{font-size:1.12rem;margin-top:.2rem}.panel-header>a,.panel-header>span,.panel-header .text-button{font-size:.72rem;color:var(--accent);font-weight:800}
.empty-inline{padding:1.4rem;border:1px dashed var(--line-strong);border-radius:14px;color:var(--muted);text-align:center}.empty-state{min-height:50vh;display:grid;place-content:center;text-align:center;gap:1rem}.public-empty{padding:12rem 5vw 7rem}
.tag-row{display:flex;flex-wrap:wrap;gap:.4rem}.tag-row span{padding:.35rem .65rem;border-radius:999px;background:#edf0ed;font-size:.68rem;font-weight:750;color:var(--ink-2)}
.legal-note{padding:.8rem;border-radius:12px;background:#f8f1e5;border-left:3px solid var(--warning);font-size:.76rem;color:#73572f;margin-bottom:1rem}
.text-button{color:var(--accent);font-weight:800}

/* Forms */
label{display:grid;gap:.36rem;color:var(--ink-2);font-size:.72rem;font-weight:750}
input,select,textarea{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.76);border-radius:11px;padding:.72rem .78rem;min-height:44px;outline:none;transition:border-color .25s,box-shadow .25s,background .25s}
textarea{resize:vertical;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(191,111,68,.11);background:#fff}input::placeholder,textarea::placeholder{color:#98a19d}
.form-grid{display:grid;gap:.8rem;min-width:0}.form-grid>*{min-width:0}.field-wide{grid-column:1/-1}.checkbox{display:flex;grid-template-columns:18px 1fr;align-items:flex-start;gap:.55rem;font-weight:550}.checkbox input{width:18px;min-height:18px;height:18px;margin-top:2px;accent-color:var(--accent)}
.form-panel{display:grid;gap:1rem}.form-panel form,.form-panel>form{display:grid;gap:.82rem}.form-panel header p:not(.eyebrow){color:var(--muted);font-size:.8rem;margin-top:.35rem}.form-panel h2,.form-panel h3{margin-top:.2rem}.create-panel{margin-top:1rem}.create-panel>form{margin-top:1rem}
.responsive-table{width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.responsive-table table{width:100%;border-collapse:collapse;min-width:840px}.responsive-table th{text-align:left;padding:.7rem .75rem;color:var(--muted);font-size:.63rem;text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid var(--line)}.responsive-table td{padding:.82rem .75rem;border-bottom:1px solid rgba(23,53,43,.07);vertical-align:middle;font-size:.76rem}.responsive-table tr:last-child td{border-bottom:0}.responsive-table td>small,.responsive-table td span>small,.responsive-table td strong+small{display:block;color:var(--muted);font-size:.65rem;margin-top:.15rem}.table-person{display:flex;align-items:center;gap:.6rem;min-width:150px}.table-person strong{display:block;color:var(--ink)}

/* =============================================================
   4. Brand and public navigation
   ============================================================= */
.brand{display:flex;align-items:center;gap:.7rem}.brand>span:last-child{display:grid;line-height:1.05}.brand strong{font-size:.82rem;letter-spacing:-.02em}.brand small{font-size:.56rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:.18rem}.brand-light{color:#fff}.brand-light small{color:rgba(255,255,255,.6)}
.brand-mark{width:36px;height:36px;position:relative;border-radius:11px;background:var(--forest);display:inline-block;overflow:hidden;box-shadow:0 8px 20px rgba(23,53,43,.2);flex:none}.brand-mark i,.brand-mark b{position:absolute;bottom:7px;width:8px;background:#fff;border-radius:2px 2px 0 0;transform:skewY(-25deg)}.brand-mark i{height:14px;left:9px}.brand-mark b{height:22px;right:9px;background:var(--accent)}.brand-light .brand-mark{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18)}
.public-nav{position:fixed;z-index:80;left:3vw;right:3vw;top:.8rem;height:68px;display:flex;align-items:center;justify-content:space-between;padding:.65rem .75rem .65rem .9rem;border-radius:20px;background:rgba(248,247,242,.74);border:1px solid rgba(255,255,255,.8);box-shadow:0 10px 40px rgba(23,53,43,.06);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:background .35s,box-shadow .35s,transform .35s}.public-nav.is-scrolled{background:rgba(255,255,255,.92);box-shadow:0 14px 42px rgba(23,53,43,.12)}
.nav-toggle{padding:.55rem .8rem;border-radius:999px;background:var(--forest);color:#fff;font-size:.72rem;font-weight:800}.public-links{position:absolute;top:calc(100% + .5rem);left:0;right:0;padding:1rem;display:none;gap:.6rem;background:#fff;border-radius:18px;box-shadow:var(--shadow)}.public-links.is-open{display:grid}.public-links a{padding:.55rem .7rem;font-size:.78rem;font-weight:700;position:relative}.public-links a:not(.btn)::after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:.3rem;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease-out)}.public-links a:hover::after{transform:scaleX(1);transform-origin:left}.public-links .btn{padding:.7rem 1rem}.nav-portal{color:var(--accent)}

/* =============================================================
   5. Public site
   ============================================================= */
.public-body{background:linear-gradient(180deg,#f7f5ef,#f2eee6 48%,#f7f5ef)}
.hero-public{min-height:100vh;min-height:100svh;padding:8.5rem 5vw 4rem;position:relative;display:grid;align-items:center;gap:2.5rem;isolation:isolate;overflow:clip}
.hero-mesh{position:absolute;inset:-20%;z-index:-2;background:radial-gradient(circle at 16% 20%,rgba(207,227,216,.95),transparent 34%),radial-gradient(circle at 80% 15%,rgba(221,216,234,.9),transparent 31%),radial-gradient(circle at 70% 80%,rgba(231,220,197,.95),transparent 30%),#f7f5ef;filter:blur(30px) saturate(115%);animation:meshDrift 28s ease-in-out infinite alternate}
@keyframes meshDrift{to{transform:scale(1.08) translate3d(2%,-2%,0) rotate(4deg)}}
.hero-copy{max-width:680px}.hero-copy h1{font-size:clamp(2.8rem,10vw,6.7rem);letter-spacing:-.06em;line-height:.94;margin:.75rem 0 1.2rem;max-width:12ch}.hero-copy h1 em{font-family:var(--display);font-weight:600;color:var(--accent);letter-spacing:-.035em}.hero-copy>p:not(.eyebrow){font-size:clamp(1rem,2vw,1.25rem);color:var(--ink-2);max-width:54ch}.hero-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem}.hero-trust{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.hero-trust span{display:grid;padding-right:1rem;border-right:1px solid var(--line)}.hero-trust strong{font-size:1rem}.hero-trust span{font-size:.65rem;color:var(--muted)}
.hero-visual{position:relative;min-height:420px;max-width:640px;width:100%;justify-self:end}.hero-visual>img{width:88%;height:390px;object-fit:cover;border-radius:34% 66% 52% 48%/45% 35% 65% 55%;margin-left:auto;box-shadow:var(--shadow-lg);filter:saturate(.88) contrast(1.03)}
.floating-property,.floating-note{position:absolute;border-radius:18px;padding:.85rem;display:grid}.floating-property{left:0;bottom:2rem;min-width:170px}.floating-property strong{font-size:.9rem;margin-top:.4rem}.floating-property small{font-size:.65rem;color:var(--muted)}.floating-property b{font-size:.86rem;color:var(--accent);margin-top:.4rem}.live-pill{width:max-content;border-radius:999px;padding:.2rem .45rem;font-size:.55rem;font-weight:900;background:#daf1e6;color:var(--success)}
.floating-note{right:0;top:1rem;grid-template-columns:32px 1fr;gap:.55rem;max-width:210px}.floating-note>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:var(--forest);font-weight:900}.floating-note strong,.floating-note small{display:block}.floating-note strong{font-size:.72rem}.floating-note small{font-size:.58rem;color:var(--muted);margin-top:.15rem}
.search-panel{position:relative;z-index:3;margin:-1.7rem 4vw 0;background:rgba(255,255,255,.9);border:1px solid #fff;border-radius:24px;padding:1rem;box-shadow:var(--shadow)}.search-panel form{display:grid;gap:.75rem}.search-panel label{padding:.25rem .5rem}.search-panel input,.search-panel select{border:0;background:transparent;padding:.25rem 0;min-height:32px;border-radius:0}.search-panel .btn{align-self:center}
.public-section{padding:5rem 5vw}.section-heading{display:grid;gap:1rem;margin-bottom:2rem}.section-heading h2{font-size:clamp(2rem,6vw,4rem);margin-top:.5rem;max-width:12ch}.section-heading>p{max-width:54ch;color:var(--muted)}
.property-grid{display:grid;gap:1.1rem}.property-card{background:#fff;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.8);box-shadow:0 10px 35px rgba(23,53,43,.07);transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out)}
@media(hover:hover){.property-card:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(23,53,43,.14)}.property-card:hover .property-image img{transform:scale(1.055)}}
.property-image{height:240px;position:relative;overflow:hidden;display:block}.property-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out);filter:saturate(.82)}.property-code,.featured-pill{position:absolute;top:.8rem;padding:.3rem .55rem;border-radius:999px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);font-size:.58rem;font-weight:900}.property-code{left:.8rem}.featured-pill{right:.8rem;color:var(--accent)}
.property-content{padding:1.05rem}.property-location{font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:850}.property-content h3{font-size:1.1rem;margin:.45rem 0}.property-content>p:not(.property-location){font-size:.75rem;color:var(--muted);min-height:2.4em}.property-specs{display:flex;gap:.7rem;padding:1rem 0;border-bottom:1px solid var(--line);font-size:.64rem;font-weight:750;color:var(--ink-2)}.property-price{display:flex;align-items:center;justify-content:space-between;padding-top:.9rem}.property-price strong{font-size:1.05rem}.property-price a{font-size:.68rem;font-weight:850;color:var(--accent)}
.process-section{background:var(--forest);color:#fff;position:relative;overflow:clip}.process-section::before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;right:-200px;top:-180px;background:rgba(191,111,68,.18);filter:blur(20px)}.process-section .section-heading>p{color:rgba(255,255,255,.6)}.process-grid{display:grid;gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-radius:24px;overflow:hidden}.process-grid article{background:rgba(23,53,43,.95);padding:1.5rem;min-height:210px}.process-grid span{font-size:.65rem;color:var(--accent-2);font-weight:900}.process-grid h3{margin:2rem 0 .65rem;font-size:1.15rem}.process-grid p{font-size:.76rem;color:rgba(255,255,255,.62)}
.about-section{display:grid;gap:2rem;align-items:center}.about-visual{position:relative}.about-visual img{width:100%;height:480px;object-fit:cover;border-radius:var(--radius-xl);filter:saturate(.78)}.about-visual>div{position:absolute;left:1rem;right:1rem;bottom:1rem;border-radius:16px;padding:.9rem 1rem;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);display:flex;justify-content:space-between;gap:1rem}.about-visual strong{font-size:.8rem}.about-visual span{font-size:.68rem;color:var(--muted)}.about-copy h2{font-size:clamp(2.1rem,6vw,4.2rem);margin:.6rem 0 1.1rem}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:.92rem}.check-list{display:grid;gap:.7rem;margin-top:1.4rem}.check-list li{display:flex;gap:.6rem;font-weight:700;font-size:.78rem}.check-list li::before{content:"✓";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--mint);font-size:.66rem;flex:none}
.lead-section,.detail-lead-section{margin:2rem 3vw 5rem;padding:2.2rem 1.2rem;border-radius:30px;background:linear-gradient(145deg,#dce9e1,#e9e3d5 55%,#dfd9ea);display:grid;gap:2rem;position:relative;overflow:hidden}.lead-section::after,.detail-lead-section::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-100px;bottom:-170px;background:rgba(191,111,68,.22);filter:blur(30px)}.lead-section>div:first-child,.detail-lead-section>div:first-child{position:relative;z-index:1}.lead-section h2,.detail-lead-section h2{font-size:clamp(2.2rem,7vw,4.8rem);max-width:12ch;margin:.65rem 0 1rem}.lead-section>div>p:not(.eyebrow),.detail-lead-section>div>p:not(.eyebrow){color:var(--ink-2);max-width:48ch}.lead-side-card{margin-top:1.5rem;display:grid;padding:1rem;border-top:1px solid var(--line);max-width:280px}.lead-side-card span,.lead-side-card small{font-size:.65rem;color:var(--muted)}.lead-side-card strong{font-size:1.4rem}.lead-form{border-radius:22px;padding:1.15rem;display:grid;gap:.85rem;position:relative;z-index:2}
.public-footer{background:var(--forest);color:#fff;padding:3rem 5vw;display:grid;gap:2rem}.public-footer>div{display:grid;align-content:start;gap:.5rem}.public-footer>div:first-child p{color:rgba(255,255,255,.55);font-size:.75rem;max-width:36ch}.public-footer>div>span{font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-2);font-weight:850}.public-footer>div>a:not(.brand){font-size:.75rem;color:rgba(255,255,255,.72)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:1.2rem;grid-column:1/-1;color:rgba(255,255,255,.46);font-size:.65rem}

/* Public detail */
.property-detail-page{padding-top:6.5rem}.property-detail-hero{padding:1rem 5vw 4rem;display:grid;gap:2rem;align-items:center}.detail-image{position:relative}.detail-image img{width:100%;height:430px;object-fit:cover;border-radius:34px;filter:saturate(.82)}.detail-image .status-badge{position:absolute;top:1rem;left:1rem}.detail-summary .back-link{margin-bottom:1.5rem}.detail-summary h1{font-size:clamp(2.5rem,7vw,5rem);margin:.55rem 0 1rem}.detail-lede{font-size:1rem;color:var(--muted)}.detail-price{display:grid;margin:1.3rem 0}.detail-price strong{font-size:1.8rem}.detail-price small{color:var(--muted)}.detail-specs{display:flex;flex-wrap:wrap;gap:.6rem}.detail-specs span{display:grid;min-width:86px;padding:.65rem;border:1px solid var(--line);border-radius:12px;font-size:.62rem;color:var(--muted)}.detail-specs b{font-size:.92rem;color:var(--ink)}.detail-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}.advisor-line{font-size:.7rem;color:var(--muted);margin-top:1rem}.detail-body{display:grid;gap:2rem}.detail-body h2{font-size:clamp(2rem,5vw,3.6rem);margin:.5rem 0 1rem}.detail-body>div>p:not(.eyebrow){color:var(--muted)}.feature-list{display:grid;margin-top:1.5rem;border-top:1px solid var(--line)}.feature-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line);font-size:.74rem}.feature-list dt{color:var(--muted)}.feature-list dd{font-weight:750}.location-card{background:#fff;border-radius:24px;padding:1rem;box-shadow:var(--shadow);align-self:start}.location-card>span{font-size:.62rem;color:var(--muted)}.location-card>strong{display:block;margin:.3rem 0}.location-card>p{font-size:.7rem;color:var(--muted)}.map-placeholder{height:230px;border-radius:16px;margin-top:1rem;background:radial-gradient(circle at 45% 42%,rgba(191,111,68,.23),transparent 2%),linear-gradient(40deg,transparent 46%,rgba(23,53,43,.11) 47%,transparent 49%),linear-gradient(-30deg,transparent 42%,rgba(23,53,43,.08) 43%,transparent 45%),#e5eadf;display:grid;place-items:center;position:relative;overflow:hidden}.map-placeholder i{width:24px;height:24px;background:var(--accent);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.map-placeholder b{position:absolute;bottom:1rem;background:#fff;padding:.3rem .6rem;border-radius:999px;font-size:.64rem}.detail-lead-section{margin-top:0}.property-grid.compact .property-content>p{min-height:0}
.reservation-page{padding:7rem 4vw 4rem}.reservation-card{max-width:1050px;margin:auto;background:#fff;border-radius:30px;overflow:hidden;box-shadow:var(--shadow-lg);display:grid}.reservation-property{background:var(--forest);color:#fff;padding:1rem 1rem 2rem}.reservation-property img{height:300px;width:100%;object-fit:cover;border-radius:22px;margin-bottom:1.2rem}.reservation-property h1{font-size:2.4rem;margin:.4rem 0}.reservation-property h2{font-size:1rem;color:rgba(255,255,255,.72);margin-bottom:.6rem}.reservation-property>strong{font-size:1.5rem;color:var(--accent-2)}.reservation-property>p:last-child{font-size:.74rem;color:rgba(255,255,255,.6);margin-top:1rem}.reservation-form-wrap{padding:1.2rem;display:grid;align-content:center}.success-state{text-align:center;display:grid;justify-items:center;gap:.8rem}.success-state>span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--mint);font-size:1.4rem}.success-state p{color:var(--muted);max-width:50ch}.credits-page{padding:8rem 5vw 6rem;max-width:1000px;margin:auto}.credits-page h1{font-size:clamp(2.6rem,8vw,5rem);margin:.5rem 0}.credits-page>p{color:var(--muted)}.credits-page ul{margin-top:2rem;display:grid;gap:.6rem}.credits-page li{padding:1rem;background:#fff;border-radius:14px;font-size:.74rem}.credits-page li a{color:var(--accent);font-weight:750}

/* =============================================================
   6. Auth screens
   ============================================================= */
.auth-body{background:#eef1eb}.auth-shell{min-height:100vh;min-height:100svh;display:grid}.auth-visual{background:var(--forest);color:#fff;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;gap:3rem;min-height:46vh;position:relative;overflow:hidden}.auth-visual::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-180px;top:-170px;background:linear-gradient(145deg,rgba(191,111,68,.55),rgba(207,227,216,.05));filter:blur(18px)}.auth-visual>div:not(.auth-metrics,.portal-trust){position:relative}.auth-visual h1{font-size:clamp(2.5rem,7vw,5rem);max-width:10ch;margin:.6rem 0}.auth-visual h1 em{font-family:var(--display);color:var(--accent-2)}.auth-visual>div>p:not(.eyebrow){color:rgba(255,255,255,.62);max-width:48ch}.auth-metrics{display:flex;gap:1rem;position:relative}.auth-metrics span{display:grid;padding-right:1rem;border-right:1px solid rgba(255,255,255,.15);font-size:.6rem;color:rgba(255,255,255,.55)}.auth-metrics b{font-size:1rem;color:#fff}.auth-form-section{padding:2rem 1rem;display:grid;place-items:center}.auth-form{width:min(100%,420px);display:grid;gap:1rem}.auth-form h2{font-size:2rem;margin:.3rem 0}.auth-form>div>p:not(.eyebrow){color:var(--muted);font-size:.8rem}.demo-access{font-size:.7rem;background:#f5eee3;border-radius:12px;padding:.7rem}.demo-access summary{cursor:pointer;font-weight:800}.demo-access p{margin-top:.5rem}.demo-access small{color:var(--danger)}.portal-trust{display:grid;gap:.4rem;font-size:.7rem;color:rgba(255,255,255,.67)}

/* =============================================================
   7. Admin layout
   ============================================================= */
.admin-body{background:#eef0eb}.sidebar{position:fixed;z-index:100;left:0;top:0;bottom:0;width:var(--sidebar);background:var(--forest);color:#fff;padding:1rem;display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .4s var(--ease-out);box-shadow:18px 0 60px rgba(23,53,43,.15)}.sidebar.is-open{transform:none}.sidebar-brand{display:grid;justify-items:start;gap:.5rem;padding:.35rem .3rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-brand-logo{width:100%;display:flex;justify-content:center;align-items:center;padding:.4rem .6rem;background:#fff;border:1px solid rgba(255,255,255,.68);border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.1)}.sidebar-brand-logo img{display:block;width:min(100%,180px);height:auto;max-height:48px;object-fit:contain}.sidebar-brand>small{padding-left:.12rem;font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.62)}.sidebar-nav{display:grid;gap:.28rem;margin-top:1.2rem}.sidebar-nav a{display:flex;align-items:center;gap:.75rem;padding:.72rem .75rem;border-radius:12px;color:rgba(255,255,255,.62);font-size:.72rem;font-weight:700;transition:background .25s,color .25s,transform .25s}.sidebar-nav svg{width:18px;height:18px}.sidebar-nav a.is-active{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 3px 0 var(--accent-2)}@media(hover:hover){.sidebar-nav a:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateX(2px)}}
.sidebar-foot{margin-top:auto;padding:.8rem;border:1px solid rgba(255,255,255,.1);border-radius:12px;display:flex;align-items:center;gap:.6rem}.online-dot{width:9px;height:9px;border-radius:50%;background:#65d39e;box-shadow:0 0 0 5px rgba(101,211,158,.12)}.sidebar-foot div{display:grid}.sidebar-foot strong{font-size:.65rem}.sidebar-foot small{font-size:.55rem;color:rgba(255,255,255,.48)}
.admin-shell{min-height:100vh}.admin-topbar{min-height:82px;padding:.8rem 1rem;display:flex;align-items:center;gap:.7rem;border-bottom:1px solid rgba(23,53,43,.08);background:rgba(238,240,235,.88);backdrop-filter:blur(16px);position:sticky;top:0;z-index:60}.admin-topbar h1{font-size:1.2rem;margin-top:.1rem}.sidebar-toggle{width:38px;height:38px;border-radius:10px;background:var(--forest);color:#fff}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:.4rem}.icon-button{width:38px;height:38px;border-radius:50%;background:#fff;display:grid;place-items:center;position:relative}.icon-button b{position:absolute;right:-2px;top:-2px;min-width:16px;height:16px;border-radius:9px;background:var(--accent);color:#fff;font-size:.52rem;display:grid;place-items:center}.user-chip{display:none;align-items:center;gap:.5rem;padding:.25rem .55rem .25rem .25rem;border-radius:999px;background:rgba(255,255,255,.75)}.user-chip>span:last-child{display:grid}.user-chip strong{font-size:.65rem}.user-chip small{font-size:.55rem;color:var(--muted)}.logout-link{font-size:.65rem;font-weight:800;color:var(--danger)}
.admin-main{padding:1rem;min-height:calc(100vh - 120px)}.admin-footer{display:flex;justify-content:space-between;gap:1rem;padding:1rem;color:var(--muted);font-size:.58rem}
.dashboard-welcome{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.dashboard-welcome h2{font-size:clamp(1.6rem,5vw,2.5rem);margin:.2rem 0}.dashboard-welcome>div>p:not(.eyebrow){color:var(--muted)}.dashboard-quick{display:flex;gap:.5rem}
.kpi-grid{display:grid;gap:.65rem}.kpi-card{background:#fff;border-radius:16px;padding:1rem;box-shadow:0 8px 28px rgba(23,53,43,.05);border:1px solid rgba(255,255,255,.8);transition:transform .3s var(--ease-out),box-shadow .3s}.kpi-card>div{display:flex;justify-content:space-between;font-size:.7rem;color:var(--muted);font-weight:750}.kpi-card i{font-style:normal;color:var(--accent)}.kpi-card>strong{display:block;font-size:1.75rem;margin:.4rem 0}.kpi-card>small{font-size:.6rem;color:var(--muted)}@media(hover:hover){.kpi-card:hover{transform:translateY(-4px);box-shadow:0 17px 38px rgba(23,53,43,.1)}}
.metric-strip{display:grid;margin:1rem 0;background:var(--forest);border-radius:18px;overflow:hidden}.metric-strip a{padding:1rem;color:#fff;display:grid;border-bottom:1px solid rgba(255,255,255,.1)}.metric-strip span,.metric-strip small{font-size:.57rem;color:rgba(255,255,255,.53)}.metric-strip strong{font-size:1.1rem;color:var(--accent-2)}
.dashboard-grid{display:grid;gap:1rem;margin-bottom:1rem}.funnel{display:grid;gap:.7rem}.funnel a{display:grid;grid-template-columns:90px 1fr 28px;align-items:center;gap:.5rem;font-size:.65rem}.funnel i{height:8px;background:#edf0ed;border-radius:99px;overflow:hidden}.funnel i b{display:block;width:var(--funnel-width);height:100%;background:linear-gradient(90deg,var(--forest),var(--accent));border-radius:99px}.funnel strong{text-align:right}.source-bars,.report-bars{display:grid;gap:.7rem}.source-bars>div{display:grid;grid-template-columns:90px 1fr 24px;gap:.5rem;align-items:center;font-size:.65rem}.source-bars i,.report-bars i{height:7px;background:#edf0ed;border-radius:99px;overflow:hidden}.source-bars i b,.report-bars i b{display:block;height:100%;background:var(--accent);border-radius:99px}
.stack-list,.timeline-list,.forum-mini,.property-alert-list{display:grid}.stack-list>a{display:grid;grid-template-columns:38px 1fr auto;gap:.6rem;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--line)}.stack-list>a:last-child{border-bottom:0}.stack-list strong,.stack-list small{display:block}.stack-list strong{font-size:.73rem}.stack-list small{font-size:.6rem;color:var(--muted)}.score{font-size:.75rem;color:var(--accent);text-align:center}.score small{font-size:.48rem;text-transform:uppercase}
.timeline-list article{display:grid;grid-template-columns:44px 1fr auto;gap:.6rem;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--line)}.timeline-list time{width:42px;height:46px;border-radius:10px;background:#edf1ec;display:grid;place-content:center;text-align:center;line-height:1}.timeline-list time strong{font-size:.9rem}.timeline-list time small{font-size:.5rem;color:var(--muted)}.timeline-list article>div strong,.timeline-list article>div small{display:block}.timeline-list article>div strong{font-size:.7rem}.timeline-list article>div small{font-size:.58rem;color:var(--muted)}
.forum-mini a{display:grid;grid-template-columns:6px 1fr auto;gap:.65rem;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--line)}.forum-mini a>span{height:32px;border-radius:99px;background:var(--cat)}.forum-mini small,.forum-mini strong{display:block}.forum-mini small{font-size:.55rem;color:var(--muted)}.forum-mini strong{font-size:.7rem}.forum-mini b{font-size:.75rem;text-align:center}.forum-mini b small{font-size:.45rem}.property-alert-list a{display:grid;grid-template-columns:1fr auto 68px;gap:.6rem;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--line)}.property-alert-list strong,.property-alert-list small{display:block}.property-alert-list strong{font-size:.72rem}.property-alert-list small{font-size:.56rem;color:var(--muted)}.property-alert-list b{font-size:.85rem}.property-alert-list b small{font-size:.45rem}.property-alert-list>a>span:last-child{font-size:.56rem;color:var(--muted);text-align:right}

/* CRM and tools */
.toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.7rem;margin-bottom:1rem}.toolbar form{display:flex;flex-wrap:wrap;gap:.5rem}.toolbar input,.toolbar select{min-height:38px;padding:.55rem .7rem}.search-box{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:.4rem;background:#fff;padding-left:.7rem;border-radius:11px}.search-box input{border:0;background:transparent;min-width:210px}.segmented{display:flex;flex-wrap:wrap;background:rgba(255,255,255,.7);padding:.28rem;border-radius:12px}.segmented a{padding:.5rem .75rem;border-radius:9px;font-size:.62rem;font-weight:750}.segmented a.is-active{background:var(--forest);color:#fff}
.pipeline-summary{display:flex;gap:.55rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:.5rem}.pipeline-summary a{min-width:118px;background:#fff;border-radius:14px;padding:.75rem;border:1px solid transparent;display:grid}.pipeline-summary a.is-active{border-color:var(--accent)}.pipeline-summary span{font-size:.58rem;color:var(--muted)}.pipeline-summary strong{font-size:1.2rem}.table-panel{padding:.5rem}.score-ring{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--score)*1%),#e5e9e5 0);position:relative;font-weight:850;font-size:.65rem}.score-ring::before{content:"";position:absolute;inset:4px;border-radius:50%;background:#fff}.score-ring{isolation:isolate}.score-ring::after{content:attr(style);display:none}.score-ring{color:var(--ink)}.score-ring>*{position:relative}.score-ring{box-shadow:inset 0 0 0 4px #fff}
.detail-workspace{display:grid;gap:1rem;margin-top:1rem}.detail-main,.detail-sidebar{display:grid;gap:1rem;align-content:start}.client-header{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;background:var(--forest);color:#fff;padding:1.15rem;border-radius:20px}.client-header>div:nth-child(2){flex:1}.client-header h2{font-size:1.45rem}.client-header>div>p:not(.eyebrow){font-size:.68rem;color:rgba(255,255,255,.6)}.client-header>div:last-child{display:grid;justify-items:end;gap:.4rem}.client-score{color:var(--accent-2)}.client-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}.client-facts div{background:#fff;padding:.75rem;display:grid}.client-facts span{font-size:.55rem;color:var(--muted)}.client-facts strong{font-size:.7rem}
.match-grid{display:grid;gap:.7rem}.match-grid article{display:grid;grid-template-columns:78px 1fr;gap:.7rem;align-items:center;background:#f7f8f5;border-radius:12px;padding:.5rem}.match-grid img{width:78px;height:64px;object-fit:cover;border-radius:9px}.match-grid div{display:grid}.match-grid strong{font-size:.68rem}.match-grid small{font-size:.58rem;color:var(--muted)}.match-score{font-size:.52rem;color:var(--success);font-weight:850}.inline-entry{display:grid;gap:.5rem;margin-bottom:1rem}.inline-entry input,.inline-entry select{min-height:38px}.activity-timeline{display:grid}.activity-timeline article{display:grid;grid-template-columns:30px 1fr;gap:.65rem;position:relative;padding-bottom:1rem}.activity-timeline article::before{content:"";position:absolute;left:14px;top:30px;bottom:0;width:1px;background:var(--line)}.activity-timeline article>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#edf1ec;font-size:.6rem;font-weight:850}.activity-timeline small,.activity-timeline strong{display:block}.activity-timeline small{font-size:.55rem;color:var(--muted)}.activity-timeline strong{font-size:.7rem}.activity-timeline p{font-size:.67rem;color:var(--ink-2)}.quick-links{display:grid;gap:.6rem}.quick-links>a{display:flex;justify-content:space-between;padding:.65rem 0;border-top:1px solid var(--line);font-size:.7rem;font-weight:750}.quick-links>a span{color:var(--accent)}

/* Inventory */
.inventory-grid{display:grid;gap:.85rem}.inventory-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 28px rgba(23,53,43,.06)}.inventory-image{height:190px;position:relative;display:block;overflow:hidden}.inventory-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:transform .6s var(--ease-out)}.inventory-image .status-badge{position:absolute;left:.7rem;top:.7rem}.inventory-card>div{padding:.85rem}.inventory-card h3{font-size:.93rem;margin:.25rem 0}.inventory-price{font-size:.85rem;color:var(--accent)}.inventory-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:.75rem 0;border-radius:10px;overflow:hidden}.inventory-stats span{display:grid;background:#f7f8f5;padding:.45rem;text-align:center;font-size:.5rem;color:var(--muted)}.inventory-stats b{font-size:.72rem;color:var(--ink)}
.property-workspace{margin-top:1rem}.property-overview{background:var(--forest);color:#fff;border-radius:22px;padding:1rem;display:grid;gap:1rem;align-items:center}.property-overview>img{width:100%;height:240px;object-fit:cover;border-radius:16px}.property-overview h2{font-size:1.7rem}.property-overview>div>p:not(.eyebrow){font-size:.72rem;color:rgba(255,255,255,.58);margin:.5rem 0}.property-overview>div>strong{font-size:1.2rem;color:var(--accent-2)}.property-overview .tag-row{margin-top:.8rem}.property-overview .tag-row span{background:rgba(255,255,255,.1);color:rgba(255,255,255,.75)}.property-columns{display:grid;gap:1rem;margin-top:1rem}.property-columns>div{display:grid;gap:1rem;align-content:start}.document-list{display:grid}.document-list article{display:grid;grid-template-columns:38px 1fr auto;gap:.6rem;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--line)}.document-list article>a{grid-column:2;color:var(--accent);font-size:.6rem;font-weight:800}.document-icon{width:36px;height:40px;border-radius:7px;background:#f3e5df;color:var(--accent);display:grid;place-items:center;font-size:.52rem;font-weight:900}.document-list strong,.document-list small{display:block}.document-list strong{font-size:.68rem}.document-list small{font-size:.55rem;color:var(--muted)}.upload-form{display:grid;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.alert-list{display:grid;gap:.6rem}.alert-list article{display:grid;grid-template-columns:28px 1fr auto;gap:.6rem;padding:.7rem;border-radius:12px;background:#f7f8f5}.alert-list article>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#fff;font-weight:900}.alert-list strong{font-size:.67rem}.alert-list p,.alert-list small{font-size:.56rem;color:var(--muted)}.alert-severity-critical{border-left:3px solid var(--danger)}.alert-severity-warning{border-left:3px solid var(--warning)}.alert-severity-info{border-left:3px solid var(--info)}

/* Commercial and finance */
.commercial-overview,.finance-summary,.report-kpis{display:grid;gap:.65rem;margin-bottom:1rem}.commercial-overview article,.finance-summary article,.report-kpis article{padding:1rem;background:#fff;border-radius:15px;display:grid}.commercial-overview span,.finance-summary span,.report-kpis span{font-size:.6rem;color:var(--muted)}.commercial-overview strong,.finance-summary strong,.report-kpis strong{font-size:1.45rem}.commercial-overview small,.finance-summary small,.report-kpis small{font-size:.56rem;color:var(--muted)}
.calendar-list{display:grid}.calendar-row{display:grid;grid-template-columns:46px 1fr;gap:.7rem;padding:.8rem 0;border-bottom:1px solid var(--line);align-items:center}.calendar-row time{width:44px;height:48px;border-radius:10px;background:#edf1ec;display:grid;place-content:center;text-align:center;line-height:1}.calendar-row time strong{font-size:1rem}.calendar-row time small{font-size:.5rem;color:var(--muted)}.calendar-row h4{font-size:.76rem;margin:.3rem 0}.calendar-row p{font-size:.6rem;color:var(--muted)}.complete-visit-form{grid-column:1/-1;display:grid;gap:.4rem}.complete-visit-form select,.complete-visit-form input{min-height:36px}.calendar-feedback{grid-column:1/-1;font-size:.62rem;color:var(--muted)}.admin-two-col{display:grid;gap:1rem;margin:1rem 0}.danger-zone-soft{border:1px solid rgba(180,71,63,.18)}
.plan-grid{display:grid;gap:.65rem}.plan-grid article{padding:.8rem;border:1px solid var(--line);border-radius:13px}.plan-grid article>div:first-child{display:grid}.plan-grid strong{font-size:.7rem}.plan-grid small{font-size:.55rem;color:var(--muted)}.plan-progress{margin-top:.6rem}.plan-progress i{display:block;height:7px;background:#e7ebe7;border-radius:99px;overflow:hidden}.plan-progress i b{display:block;height:100%;background:var(--success)}.plan-progress span{font-size:.58rem;color:var(--muted)}.payment-inline{display:flex;gap:.35rem;min-width:310px}.payment-inline input,.payment-inline select{min-height:36px;padding:.4rem}.installment-preview{max-height:210px;overflow:auto;border-radius:12px;background:#f5f7f4;padding:.7rem}.installment-preview table{width:100%;border-collapse:collapse;font-size:.6rem}.installment-preview td{padding:.35rem;border-bottom:1px solid var(--line)}.contract-preview{margin-bottom:1rem}.contract-preview>header{display:flex;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.contract-preview>article{max-width:760px;margin:1rem auto;padding:2rem;background:#fff;border:1px solid var(--line);font-family:Georgia,serif;color:#222}.contract-preview>article h1{text-align:center;font-size:1.4rem;margin-bottom:1rem}.contract-preview>article p{margin-bottom:.8rem}.contract-preview>footer{font-size:.6rem;color:var(--muted)}

/* Operations */
.integration-strip{display:flex;gap:.6rem;overflow-x:auto;margin-bottom:1rem;padding-bottom:.3rem}.integration-strip article{min-width:150px;background:#fff;padding:.65rem;border-radius:12px;display:flex;align-items:center;gap:.55rem}.integration-dot{width:9px;height:9px;border-radius:50%;background:#c6cbc8;box-shadow:0 0 0 5px rgba(198,203,200,.2)}.integration-dot.is-on{background:#4ac58c;box-shadow:0 0 0 5px rgba(74,197,140,.15)}.integration-strip strong,.integration-strip small{display:block}.integration-strip strong{font-size:.66rem}.integration-strip small{font-size:.52rem;color:var(--muted)}
.ai-grid{display:grid;gap:1rem;margin-bottom:1rem}.ai-assistant{background:linear-gradient(145deg,#f0f5f0,#eee8df 60%,#e6e1ee)}.ai-assistant>header{display:flex;justify-content:space-between;gap:1rem}.ai-assistant>header>div{display:flex;gap:.7rem}.ai-orb{width:42px;height:42px;border-radius:14px;background:var(--forest);color:var(--accent-2);display:grid;place-items:center;font-size:1.1rem;box-shadow:0 10px 30px rgba(23,53,43,.22)}.ai-assistant h2{font-size:1.5rem}.ai-suggestions{display:flex;flex-wrap:wrap;gap:.35rem;margin:1rem 0}.ai-suggestions button{padding:.4rem .6rem;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid rgba(23,53,43,.1);font-size:.58rem;font-weight:750}.ai-form{display:grid;gap:.6rem}.ai-response{margin-top:.8rem;padding:.85rem;background:rgba(255,255,255,.72);border-radius:13px;display:grid;grid-template-columns:26px 1fr;gap:.6rem}.ai-response>span{color:var(--accent);font-size:1rem}.ai-response strong{font-size:.7rem}.ai-response p{font-size:.64rem;color:var(--muted);white-space:pre-wrap}.marketing-ai{display:grid;align-content:start}.marketing-ai>p{font-size:.72rem;color:var(--muted);margin-bottom:.8rem}.marketing-ai form{display:flex;gap:.5rem}.marketing-ai select{min-width:0}.copy-output{margin-top:.8rem;padding:.8rem;border-radius:12px;background:var(--forest);color:#eaf0ec;white-space:pre-wrap;max-height:370px;overflow:auto;font:11px/1.6 Consolas,monospace}.marketing-ai>small{font-size:.55rem;color:var(--muted);margin-top:.5rem}
.sequence-grid{display:grid;gap:.65rem}.sequence-grid article{display:grid;grid-template-columns:1fr auto auto;gap:.7rem;align-items:center;padding:.8rem;border:1px solid var(--line);border-radius:12px}.sequence-grid article>div:first-child{display:grid}.sequence-grid strong{font-size:.68rem}.sequence-grid small{font-size:.52rem;color:var(--muted)}.sequence-grid article>div:not(:first-child){display:grid;text-align:center}.sequence-grid article>p{grid-column:1/-1;font-size:.58rem;color:var(--muted)}.automation-flow{display:flex;align-items:center;gap:.35rem;overflow-x:auto;padding-top:1rem}.automation-flow>span{min-width:90px;padding:.6rem;border-radius:10px;background:#f2f4f1;font-size:.58rem;font-weight:850;display:grid}.automation-flow small{color:var(--muted);font-weight:550}.automation-flow i{color:var(--accent);font-style:normal}.job-list,.notification-list{display:grid;max-height:520px;overflow:auto}.job-list article{display:grid;grid-template-columns:34px 1fr auto;gap:.6rem;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--line)}.job-channel{width:32px;height:32px;border-radius:9px;background:#edf1ec;display:grid;place-items:center;font-size:.55rem;font-weight:850}.job-list strong,.job-list small{display:block}.job-list strong{font-size:.66rem}.job-list small{font-size:.52rem;color:var(--muted)}.job-list p{font-size:.52rem;color:var(--danger)}.notification-list a{display:grid;grid-template-columns:7px 1fr;gap:.6rem;padding:.65rem;border-bottom:1px solid var(--line)}.notification-list a>span{width:7px;height:7px;border-radius:50%;background:#c6cbc8;margin-top:6px}.notification-list a.is-unread>span{background:var(--accent)}.notification-list strong{font-size:.67rem}.notification-list p,.notification-list small{font-size:.55rem;color:var(--muted)}.ai-history details{padding:.7rem 0;border-bottom:1px solid var(--line)}.ai-history summary{display:flex;justify-content:space-between;gap:1rem;cursor:pointer;font-size:.67rem;font-weight:750}.ai-history summary small{color:var(--muted);font-weight:500}.ai-history p{font-size:.63rem;color:var(--muted);margin-top:.5rem}

/* Forum */
.forum-hero{background:linear-gradient(135deg,var(--forest),#285647);color:#fff;border-radius:20px;padding:1.2rem;display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.forum-hero h2{font-size:2rem;margin:.3rem 0}.forum-hero>div>p:not(.eyebrow){font-size:.7rem;color:rgba(255,255,255,.58)}.forum-layout{display:grid;gap:1rem}.forum-categories{display:flex;gap:.4rem;overflow-x:auto}.forum-categories>strong{display:none}.forum-categories a{min-width:max-content;padding:.6rem .7rem;border-radius:10px;background:#fff;display:flex;align-items:center;gap:.4rem;font-size:.62rem;font-weight:750}.forum-categories a>span{width:7px;height:7px;border-radius:50%;background:var(--cat)}.forum-categories a b{color:var(--muted)}.forum-categories a.is-active{background:var(--forest);color:#fff}.thread-list{display:grid;gap:.55rem}.thread-list>a{display:grid;grid-template-columns:7px 1fr auto auto;gap:.7rem;align-items:center;background:#fff;border-radius:14px;padding:.85rem}.thread-cat{height:50px;border-radius:99px;background:var(--cat)}.thread-list p{display:flex;gap:.4rem;font-size:.54rem;color:var(--muted)}.thread-list p b{color:var(--accent)}.thread-list h3{font-size:.82rem;margin:.2rem 0}.thread-list small{font-size:.53rem;color:var(--muted)}.thread-replies{display:grid;text-align:center}.thread-replies b{font-size:.8rem}.thread-replies small{font-size:.48rem}.thread-list>a>i{font-style:normal;color:var(--accent)}.forum-thread-detail{background:#fff;border-radius:18px;padding:1rem}.forum-thread-detail>header{display:grid;grid-template-columns:7px 1fr;gap:.7rem;margin:1rem 0}.forum-thread-detail>header>span{border-radius:99px;background:var(--cat)}.forum-thread-detail h2{font-size:1.6rem}.forum-thread-detail>header small{font-size:.58rem;color:var(--muted)}.thread-original,.forum-posts article{display:grid;grid-template-columns:38px 1fr;gap:.7rem;padding:1rem 0;border-top:1px solid var(--line)}.thread-original p,.forum-posts p{font-size:.72rem;color:var(--ink-2)}.forum-posts header{display:flex;justify-content:space-between;gap:1rem}.forum-posts strong{font-size:.68rem}.forum-posts small{font-size:.52rem;color:var(--muted)}.reply-form{display:grid;gap:.6rem;margin-top:1rem}

/* Reports/settings */
.report-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;margin-bottom:1rem}.report-toolbar form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:end}.report-toolbar input{min-height:38px}.export-menu{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.6rem}.export-menu a{padding:.4rem .6rem;border-radius:9px;background:#fff;font-weight:750;color:var(--accent)}.report-value-banner{background:var(--forest);color:#fff;border-radius:20px;padding:1.2rem;display:grid;gap:1rem;margin-bottom:1rem}.report-value-banner h2{font-size:2.2rem;color:var(--accent-2)}.report-value-banner p{font-size:.65rem;color:rgba(255,255,255,.55)}.report-value-banner>div:not(:first-child){display:grid;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.1)}.report-value-banner span{font-size:.6rem;color:rgba(255,255,255,.5)}.report-bars article{display:grid;grid-template-columns:1fr 1fr auto;gap:.6rem;align-items:center}.report-bars article>div{display:grid}.report-bars strong{font-size:.65rem}.report-bars span{font-size:.53rem;color:var(--muted)}.report-bars>article>span b{color:var(--accent)}.aging-chart{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.aging-chart article{padding:.7rem;border-radius:11px;background:#f2f4f1;display:grid}.aging-chart span{font-size:.55rem;color:var(--muted)}.aging-chart strong{font-size:.83rem}.aging-chart .current{background:#e1f0e8}.aging-chart .critical{background:#f7e1df}
.settings-layout{display:grid;gap:1rem;min-width:0}.settings-nav{display:flex;gap:.4rem;overflow-x:auto}.settings-nav a{min-width:max-content;padding:.55rem .75rem;background:#fff;border-radius:10px;font-size:.62rem;font-weight:750}.settings-content,.settings-content>*{min-width:0}.settings-content{display:grid;gap:1rem}.integration-settings{display:grid;gap:.5rem;margin:1rem 0}.integration-settings article{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:.6rem;align-items:center;padding:.7rem;border:1px solid var(--line);border-radius:11px}.integration-settings strong,.integration-settings small{display:block}.integration-settings strong{font-size:.65rem;overflow-wrap:anywhere}.integration-settings small{font-size:.53rem;color:var(--muted)}.integration-settings code{font-size:.56rem}.password-form{max-width:430px}.security-checks{display:grid;gap:.5rem;margin-top:1rem}.security-checks article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:.6rem;padding:.65rem;border-radius:11px;background:#f2f5f1}.security-checks article>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#d9eee4;color:var(--success)}.security-checks article.is-warning{background:#fff0dc}.security-checks article.is-warning>span{background:#f6d8a5;color:var(--warning)}.security-checks strong,.security-checks small{display:block}.security-checks strong{font-size:.65rem}.security-checks small{font-size:.54rem;color:var(--muted)}.audit-list{display:grid}.audit-list article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:.6rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.audit-list article>span{width:32px;height:32px;border-radius:9px;background:#edf1ec;display:grid;place-items:center;font-size:.52rem;font-weight:850}.audit-list strong,.audit-list small{display:block}.audit-list strong{font-size:.64rem}.audit-list small{font-size:.52rem;color:var(--muted);overflow-wrap:anywhere}.deployment-card{background:var(--forest);color:#fff;border-radius:18px;padding:1rem;display:grid;gap:1rem;min-width:0}.deployment-card h2{font-size:1.5rem}.deployment-card p{font-size:.65rem;color:rgba(255,255,255,.58)}.deployment-card>div:last-child{display:grid;grid-template-columns:100px minmax(0,1fr);gap:.5rem;font-size:.6rem}.deployment-card span{color:rgba(255,255,255,.5)}.deployment-card code{color:var(--accent-2);overflow-wrap:anywhere}

/* =============================================================
   8. Portal
   ============================================================= */
.portal-body{background:#eef1eb}.portal-nav{min-height:72px;padding:.7rem 4vw;display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);position:sticky;top:0;z-index:40;border-bottom:1px solid var(--line)}.portal-nav>div{display:flex;align-items:center;gap:.5rem}.portal-nav>div>span:nth-child(2){display:none}.portal-nav>div>a{font-size:.65rem;color:var(--danger);font-weight:800}.portal-main{padding:1.2rem 4vw 4rem;max-width:1400px;margin:auto}.portal-welcome{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem}.portal-welcome h1{font-size:clamp(2rem,7vw,3.7rem)}.portal-welcome>div>p:not(.eyebrow){color:var(--muted)}.advisor-card{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;background:#fff;border-radius:14px}.advisor-card div{display:grid}.advisor-card small,.advisor-card span{font-size:.55rem;color:var(--muted)}.advisor-card strong{font-size:.68rem}.portal-progress{margin-bottom:1rem}.portal-progress>header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}.portal-progress>header>div:last-child{display:grid}.portal-progress>header small{font-size:.55rem;color:var(--muted)}.portal-progress>header strong{font-size:.68rem}.progress-track{display:flex;overflow-x:auto;padding-top:1rem;gap:0}.progress-track>span{min-width:80px;display:grid;justify-items:center;position:relative}.progress-track>span::before{content:"";position:absolute;top:13px;left:-50%;width:100%;height:2px;background:#d9ddda}.progress-track>span:first-child::before{display:none}.progress-track i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e0e4e1;font-style:normal;font-size:.55rem;font-weight:850;position:relative;z-index:1}.progress-track small{font-size:.5rem;color:var(--muted);margin-top:.35rem}.progress-track .is-done i{background:var(--forest);color:#fff}.progress-track .is-done::before{background:var(--forest)}.portal-section{margin:1rem 0}.portal-property-grid{display:grid;gap:.7rem}.portal-property-grid article{background:#fff;border-radius:16px;overflow:hidden}.portal-property-grid img{width:100%;height:190px;object-fit:cover}.portal-property-grid article>div{padding:.8rem}.portal-property-grid span{font-size:.53rem;color:var(--success);font-weight:850}.portal-property-grid h3{font-size:.84rem;margin:.2rem 0}.portal-property-grid p,.portal-property-grid a{font-size:.58rem;color:var(--muted)}.portal-property-grid a{color:var(--accent);font-weight:800}.portal-two-col{display:grid;gap:1rem}.portal-list{display:grid}.portal-list article{display:grid;grid-template-columns:44px 1fr auto;gap:.6rem;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--line)}.portal-list time{width:42px;height:46px;border-radius:10px;background:#edf1ec;display:grid;place-content:center;text-align:center;line-height:1}.portal-list time strong{font-size:.85rem}.portal-list time small{font-size:.5rem;color:var(--muted)}.portal-list strong,.portal-list small{display:block}.portal-list strong{font-size:.66rem}.portal-list small{font-size:.53rem;color:var(--muted)}.portal-list.simple article{grid-template-columns:1fr auto auto}.portal-list.simple article>span:not(.status-badge){font-size:.62rem;font-weight:750}.portal-contracts{display:grid;gap:.7rem}.portal-contracts>article{background:#fff;border-radius:14px;padding:.8rem}.portal-contracts>article>header{display:flex;justify-content:space-between;gap:1rem}.portal-contracts header span:not(.status-badge){font-size:.52rem;color:var(--accent);font-weight:850}.portal-contracts h3{font-size:.78rem}.portal-contracts header small{font-size:.52rem;color:var(--muted)}.portal-contracts details{margin-top:.7rem;border-top:1px solid var(--line);padding-top:.6rem}.portal-contracts summary{cursor:pointer;font-size:.62rem;font-weight:800}.contract-content{padding:1.2rem;margin:.7rem 0;background:#fbfaf7;border:1px solid var(--line);font:13px/1.6 Georgia,serif}.contract-content h1{font-size:1.15rem;text-align:center;margin-bottom:.8rem}.sign-form{display:grid;gap:.7rem}.signature-evidence{display:grid;padding:.7rem;background:#e5f1ea;border-radius:10px}.signature-evidence strong{font-size:.64rem;color:var(--success)}.signature-evidence small{font-size:.48rem;overflow-wrap:anywhere}.portal-payments article{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--line)}.portal-payments strong,.portal-payments small{display:block}.portal-payments strong{font-size:.64rem}.portal-payments small{font-size:.52rem;color:var(--muted)}.portal-payments>article>span:not(.status-badge){font-size:.62rem;font-weight:750}.portal-payments form{grid-column:1/-1;display:flex;gap:.5rem}.portal-payments input{min-height:36px}.post-sale-track{display:grid;gap:.5rem}.post-sale-track article{display:grid;grid-template-columns:30px 1fr;gap:.6rem;align-items:center;padding:.6rem;border-radius:10px;background:#f2f4f1}.post-sale-track article>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff}.post-sale-track strong,.post-sale-track small{display:block}.post-sale-track strong{font-size:.66rem}.post-sale-track small{font-size:.52rem;color:var(--muted)}.post-sale-track article.is-done{background:#e4f0e9}.portal-footer{padding:1rem 4vw;background:var(--forest);color:rgba(255,255,255,.6);display:flex;justify-content:space-between;gap:1rem;font-size:.55rem}

/* =============================================================
   9. Effects and responsive layouts
   ============================================================= */
[data-reveal]{opacity:1;transform:none}.has-js [data-reveal].reveal-prep{opacity:0;transform:translateY(22px)}.has-js [data-reveal].is-revealed{opacity:1;transform:none;transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal[data-split]{opacity:1;transform:none}

@media(min-width:540px){
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid{grid-template-columns:repeat(2,1fr)}.metric-strip{grid-template-columns:repeat(2,1fr)}.metric-strip a:nth-last-child(-n+2){border-bottom:0}.metric-strip a:nth-child(odd){border-right:1px solid rgba(255,255,255,.1)}
  .property-grid,.inventory-grid,.portal-property-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.commercial-overview,.finance-summary,.report-kpis{grid-template-columns:repeat(2,1fr)}.user-chip{display:flex}.client-facts{grid-template-columns:repeat(3,1fr)}.property-overview{grid-template-columns:220px 1fr}.property-overview>img{height:190px}.inline-entry{grid-template-columns:120px 1fr 1.4fr auto}.complete-visit-form{grid-template-columns:90px 1fr auto}.calendar-row{grid-template-columns:46px 1fr minmax(260px,.7fr)}.calendar-feedback{grid-column:auto}.auth-form-section{padding:3rem}
}
@media(min-width:720px){
  .public-nav{left:4vw;right:4vw}.hero-public{padding-inline:7vw}.hero-visual{min-height:520px}.hero-visual>img{height:490px}.search-panel{margin-inline:7vw;padding:1.1rem}.search-panel form{grid-template-columns:repeat(3,1fr) auto;align-items:end}.search-panel label{border-right:1px solid var(--line)}.public-section{padding:6rem 7vw}.property-grid{grid-template-columns:repeat(3,1fr)}.property-image{height:260px}.section-heading{grid-template-columns:1.2fr .8fr;align-items:end}.process-grid{grid-template-columns:repeat(4,1fr)}.about-section{grid-template-columns:1fr 1fr}.lead-section,.detail-lead-section{margin-inline:5vw;padding:3rem}.lead-section{grid-template-columns:.85fr 1.15fr;align-items:center}.public-footer{grid-template-columns:1.4fr .7fr .7fr}.property-detail-hero{grid-template-columns:1.1fr .9fr;padding-inline:7vw}.detail-image img{height:590px}.detail-body{grid-template-columns:1.2fr .8fr}.detail-lead-section{grid-template-columns:.8fr 1.2fr;align-items:center}.reservation-card{grid-template-columns:1fr 1fr}.reservation-property{padding:1.2rem 1.2rem 2rem}.reservation-form-wrap{padding:2.5rem}.auth-metrics{gap:2rem}.portal-property-grid{grid-template-columns:repeat(3,1fr)}.portal-two-col{grid-template-columns:repeat(2,1fr)}.report-value-banner{grid-template-columns:1.5fr .75fr .75fr;align-items:end}.report-value-banner>div:not(:first-child){border-top:0;border-left:1px solid rgba(255,255,255,.1);padding:0 0 0 1rem}.aging-chart{grid-template-columns:repeat(4,1fr)}
  .kpi-grid{grid-template-columns:repeat(3,1fr)}.commercial-overview,.finance-summary{grid-template-columns:repeat(4,1fr)}.report-kpis{grid-template-columns:repeat(5,1fr)}.ai-grid{grid-template-columns:1.3fr .7fr}.sequence-grid{grid-template-columns:repeat(3,1fr)}.sequence-grid article{grid-template-columns:1fr auto auto}.forum-posts article,.thread-original{grid-template-columns:46px 1fr}.portal-nav>div>span:nth-child(2){display:grid}.portal-nav>div>span:nth-child(2) strong,.portal-nav>div>span:nth-child(2) small{display:block}.portal-nav>div>span:nth-child(2) strong{font-size:.62rem}.portal-nav>div>span:nth-child(2) small{font-size:.5rem;color:var(--muted)}
}
@media(min-width:960px){
  .public-nav{height:74px;padding-inline:1.1rem}.nav-toggle{display:none}.public-links{position:static;display:flex;align-items:center;padding:0;background:transparent;border-radius:0;box-shadow:none}.public-links a{font-size:.72rem}.hero-public{grid-template-columns:1.05fr .95fr;padding-top:8rem}.hero-copy h1{font-size:clamp(4.4rem,7vw,7rem)}.hero-visual>img{width:90%}.floating-property{left:-1rem}.floating-note{right:-1rem}.property-grid.compact{grid-template-columns:repeat(3,1fr)}
  .auth-shell{grid-template-columns:1.08fr .92fr}.auth-visual{min-height:100vh;padding:2.2rem 3rem}.auth-form-section{padding:4rem}.auth-visual h1{font-size:clamp(4rem,6vw,6.2rem)}
  .sidebar{transform:none}.admin-shell{margin-left:var(--sidebar)}.sidebar-toggle{display:none}.admin-topbar{padding:1rem 1.5rem}.admin-main{padding:1.2rem 1.5rem}.admin-footer{padding-inline:1.5rem}.kpi-grid{grid-template-columns:repeat(5,1fr)}.metric-strip{grid-template-columns:repeat(4,1fr)}.metric-strip a{border-bottom:0;border-right:1px solid rgba(255,255,255,.1)}.metric-strip a:last-child{border-right:0}.dashboard-grid{grid-template-columns:1.35fr .65fr}.dashboard-grid-lists{grid-template-columns:1fr 1fr}.detail-workspace{grid-template-columns:minmax(0,1fr) 340px}.detail-sidebar{position:sticky;top:100px}.inventory-grid{grid-template-columns:repeat(3,1fr)}.property-columns{grid-template-columns:minmax(0,1fr) 360px}.property-columns>aside{position:sticky;top:100px;align-self:start}.admin-two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-layout{grid-template-columns:180px minmax(0,1fr)}.settings-nav{display:grid;align-content:start;position:sticky;top:100px}.settings-nav a{background:transparent;border-bottom:1px solid var(--line);border-radius:0}.forum-layout{grid-template-columns:190px minmax(0,1fr)}.forum-categories{display:grid;align-content:start;overflow:visible}.forum-categories>strong{display:block;margin-bottom:.4rem}.forum-categories a{min-width:0}.forum-content{min-width:0}.inline-entry{grid-template-columns:120px 1fr 1.5fr auto}.form-grid.cols-3{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:1280px){
  .admin-main{padding:1.6rem 2rem}.admin-topbar{padding-inline:2rem}.inventory-grid{grid-template-columns:repeat(4,1fr)}.kpi-card{padding:1.15rem}.kpi-card>strong{font-size:2rem}.panel{padding:1.3rem}.client-facts{grid-template-columns:repeat(6,1fr)}.search-panel{margin-inline:10vw}.public-section{padding-inline:9vw}.lead-section,.detail-lead-section{margin-inline:7vw}.public-footer{padding-inline:9vw}.hero-public{padding-inline:9vw}.property-detail-hero{padding-inline:9vw}
}
@media(prefers-reduced-motion:reduce){.hero-mesh{animation:none}.btn::after{display:none}}
.property-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.8rem}.property-photo-grid figure{margin:0;overflow:hidden;border-radius:16px;background:#e9ede8}.property-photo-grid img{display:block;width:100%;height:190px;object-fit:cover;transition:transform .35s ease}.property-photo-grid figure:hover img{transform:scale(1.035)}.property-photo-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.7rem}.property-photo-admin-card{min-width:0;border:1px solid var(--line);border-radius:14px;padding:.5rem;background:#fff}.property-photo-admin-card>img{display:block;width:100%;height:120px;object-fit:cover;border-radius:10px}.property-photo-admin-card>div{display:flex;gap:.5rem;justify-content:space-between;align-items:center;padding:.55rem .1rem .1rem}.property-photo-admin-card strong{font-size:.62rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.property-photo-admin-card .btn{white-space:nowrap}.property-photo-gallery{padding-top:2rem}
.photo-fallback-note{margin:.65rem .25rem 0;color:var(--muted);font-size:.72rem;line-height:1.45}
