:root{--bg:#f4f2ee;--panel:#fff;--text:#171717;--muted:#6f6f6f;--line:#dedbd5;--orange:#e56f35;--dark:#202020;--green:#1f8a5b;--red:#c94343;--yellow:#d59c20;--radius:8px;--shadow:0 8px 24px rgba(0,0,0,.06)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}.brand{display:flex;align-items:center;gap:10px;color:white;font-weight:900;letter-spacing:.04em;font-size:20px}.brand-dark{color:var(--dark)}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border:3px solid var(--orange);font-weight:900}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{background:#181818;color:#fff;padding:26px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar nav{display:grid;gap:6px;margin-top:35px}.sidebar nav a{padding:11px 12px;color:#d7d7d7;border-left:3px solid transparent}.sidebar nav a:hover{background:#252525;color:white;border-left-color:var(--orange)}.sidebar-footer{margin-top:auto;border-top:1px solid #333;padding-top:16px;display:grid;gap:8px}.link-button{background:none;border:0;color:#bbb;text-align:left;padding:0;cursor:pointer}.main{padding:34px;min-width:0}.public-container{max-width:1180px;margin:auto;padding:34px 20px}.topbar{height:72px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-head h1{font-size:34px;margin:4px 0 6px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:800;color:var(--orange)}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;padding:10px 15px;cursor:pointer;font-weight:700;gap:8px}.btn-primary{background:var(--orange);color:#fff}.btn-dark{background:#222;color:white}.btn-light{background:#eeeae4;color:#222}.btn-danger{background:#f5dddd;color:#a32929}.btn-whatsapp{background:#1fa855;color:white}.btn-block{width:100%}.btn-large{padding:14px 20px;font-size:17px}.note{padding:14px 16px;border-radius:6px;margin:0 0 20px}.note-info{background:#e7f0f6}.note-danger{background:#fde7e7;color:#8d2222}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.stat-card{background:white;padding:22px;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #eee}.stat-card strong{font-size:34px;display:block}.stat-card span{color:var(--muted)}.panel{background:white;border:1px solid #e6e2dc;border-radius:var(--radius);padding:22px;margin-bottom:20px;box-shadow:var(--shadow)}.panel h2{margin-top:0}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head a{color:var(--orange);font-weight:700}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.attention-list{display:grid;gap:10px}.attention-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:6px;background:#fff}.attention-item div{display:grid;gap:3px}.attention-item span,.attention-item small{color:var(--muted)}.dot{width:10px;height:10px;border-radius:50%;background:#aaa}.dot-danger{background:var(--red)}.dot-warning{background:var(--yellow)}.dot-ok{background:var(--green)}.dot-neutral{background:#aaa}.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.property-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.property-card>img{width:100%;height:180px;object-fit:cover}.property-card-body{padding:18px}.property-card-body h2{margin-bottom:5px}.row-between{display:flex;justify-content:space-between;gap:10px}.badge{display:inline-flex;background:#eee9e1;padding:5px 8px;border-radius:4px;font-size:12px;font-weight:800}.badge-ok{background:#dff2e8;color:#1c6b47}.badge-muted{background:#eee;color:#777}.property-hero{background:white;display:grid;grid-template-columns:320px 1fr 180px;gap:24px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px}.property-hero>img{width:100%;height:210px;object-fit:cover}.qr-card{text-align:center;border-left:1px solid var(--line);padding-left:20px}.qr-card img{width:130px;margin:auto}.qr-card strong,.qr-card a{display:block;margin-top:7px}.tabs{display:flex;gap:8px;overflow:auto;padding-bottom:10px;margin-bottom:10px}.tabs a{white-space:nowrap;background:#eae7e1;padding:8px 10px;border-radius:5px;font-size:13px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.detail-grid>div{display:grid;gap:4px;padding:12px;background:#f8f6f2;border-radius:6px}.detail-grid span{font-size:12px;color:var(--muted);text-transform:uppercase}.detail-grid .wide{grid-column:1/-1}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.media-grid img,.media-grid video{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.data-table{display:grid;gap:8px}.data-table>div{display:grid;grid-template-columns:1fr 2fr 1fr 1fr auto;gap:10px;align-items:center;background:white;border:1px solid var(--line);border-radius:6px;padding:12px}.data-table a{color:var(--orange);font-weight:700}.timeline{display:grid;gap:12px}.timeline>div{border-left:3px solid var(--orange);padding-left:14px}.timeline span,.timeline small{color:var(--muted);font-size:12px}.mega-form{display:grid}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid .full{grid-column:1/-1}.stack-form{display:grid;gap:14px}.stack-form label,.form-grid label,.mega-form label{display:grid;gap:6px;font-weight:700;font-size:14px}input,select,textarea{width:100%;border:1px solid #cbc7c0;background:white;border-radius:6px;padding:11px 12px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin:10px 0 30px}.inline-form{display:flex;gap:10px;align-items:center}.inline-form select{max-width:520px}.check{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.check input{width:auto}.cards-list{display:grid;gap:14px}.provider-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;justify-content:space-between;gap:20px}.actions{display:flex;gap:8px;align-items:center}.actions.vertical{flex-direction:column;align-items:stretch}.assignment-box{margin-top:16px;background:#f5f1eb;border-left:4px solid var(--orange);padding:16px;display:grid;gap:5px}.landing-nav{max-width:1200px;margin:auto;padding:22px;display:flex;justify-content:space-between;align-items:center}.hero{max-width:1200px;margin:50px auto;padding:20px;display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}.hero h1{font-size:58px;line-height:1.02;margin:12px 0}.hero p{font-size:20px;color:var(--muted);max-width:700px}.hero-actions{display:flex;gap:10px;margin-top:24px}.hero-card{background:#202020;color:#fff;padding:34px;border-radius:8px;display:grid;gap:10px}.hero-card strong{font-size:26px}.hero-card a{color:#ff9662}.auth-shell,.report-shell{min-height:100vh;display:grid;place-items:center;padding:30px}.auth-card,.report-card{width:min(560px,100%);background:white;border:1px solid var(--line);padding:34px;border-radius:8px;box-shadow:var(--shadow)}.report-card.wide{width:min(850px,100%)}.demo-box,.tenant-preview{background:#f3efe9;padding:14px;border-radius:6px;margin-top:14px}.property-chip{background:#202020;color:#fff;padding:14px;border-radius:6px;margin:16px 0 20px;display:grid;gap:4px}.center-card{min-height:100vh;display:grid;place-items:center;align-content:center;text-align:center;gap:12px;padding:30px}.success-icon{width:70px;height:70px;border-radius:50%;background:#dff2e8;color:#1d7d51;font-size:38px;display:grid;place-items:center}.ticket-number{font-size:42px;font-weight:900;color:var(--orange)}.detail-section{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.qr-large img{width:260px}.alert-card{grid-template-columns:auto 1fr auto}hr{border:0;border-top:1px solid var(--line);margin:18px 0}@media(max-width:1000px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.stats-grid,.property-grid,.two-col,.hero,.property-hero{grid-template-columns:1fr}.qr-card{border-left:0;border-top:1px solid var(--line);padding:16px 0 0}.detail-grid{grid-template-columns:1fr 1fr}.media-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.main{padding:20px}.page-head{flex-direction:column}.stats-grid,.property-grid,.form-grid,.detail-grid,.media-grid{grid-template-columns:1fr}.hero h1{font-size:40px}.sidebar nav{grid-template-columns:1fr}.data-table>div{grid-template-columns:1fr}.attention-item,.alert-card{grid-template-columns:auto 1fr}.inline-form{align-items:stretch;flex-direction:column}.provider-card{flex-direction:column}}


/* =========================================================
   QPROPIEDADES LANDING V2
   Diseño público. Clases aisladas para no alterar Admin/Owner.
   ========================================================= */
.landing-v2{background:#f5f3ef;color:#171717;min-height:100vh;overflow:hidden}
.landing-v2-nav{max-width:1320px;margin:0 auto;height:86px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;background:#fff}
.landing-v2-brand{display:inline-flex;align-items:center;gap:12px;font-weight:950;font-size:25px;letter-spacing:.035em}
.landing-v2-brand-mark{width:38px;height:38px;display:grid;place-items:center;border:2px solid #ee6428;font-weight:950;font-size:22px;background:#fff}
.landing-v2-menu{display:flex;align-items:center;gap:38px;font-size:14px;font-weight:750}
.landing-v2-menu>a:not(.landing-v2-login){padding:12px 0;border-bottom:2px solid transparent}
.landing-v2-menu>a:not(.landing-v2-login):hover{border-bottom-color:#ee6428}
.landing-v2-login{background:#171717;color:#fff;padding:13px 24px;border-radius:3px}
.landing-v2-hero{min-height:610px;display:grid;grid-template-columns:minmax(420px,.86fr) minmax(520px,1.14fr);max-width:1320px;margin:0 auto;background:#f7f5f1}
.landing-v2-hero-copy{padding:72px 40px 62px 48px;display:flex;flex-direction:column;justify-content:center}
.landing-v2-kicker{font-size:12px;font-weight:900;letter-spacing:.14em;color:#ed6228}
.landing-v2-hero h1{font-size:62px;line-height:.98;letter-spacing:-.045em;margin:18px 0 18px;max-width:620px}
.landing-v2-hero h1 em{font-style:normal;color:#e85e25}
.landing-v2-hero-short{font-size:18px;line-height:1.55;color:#4e4e4e;max-width:500px;margin:0}
.landing-v2-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:28px}
.landing-v2-btn{border:0;border-radius:3px;min-height:48px;padding:0 24px;font-size:13px;font-weight:900;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer}
.landing-v2-btn-primary{background:#e95f25;color:#fff}
.landing-v2-btn-primary:hover{background:#d95019}
.landing-v2-btn-outline{background:transparent;border:1px solid #202020;color:#202020}
.landing-v2-btn-outline:hover{background:#fff}
.landing-v2-btn-dark{background:#171717;color:#fff}
.landing-v2-btn-icon{font-size:20px;line-height:1}
.landing-v2-hero-visual{position:relative;min-height:610px;background:#ddd7cf;overflow:hidden}
.landing-v2-house{position:absolute;inset:0}
.landing-v2-house img{width:100%;height:100%;object-fit:cover}
.landing-v2-qr-plaque{position:absolute;right:10%;top:50%;transform:translateY(-50%) rotate(-1deg);width:310px;padding:24px 25px 22px;background:#f5f4f0;border:1px solid rgba(0,0,0,.16);box-shadow:0 20px 38px rgba(0,0,0,.28);display:flex;flex-direction:column;align-items:center}
.landing-v2-qr-plaque:before,.landing-v2-qr-plaque:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#83837f;box-shadow:0 1px 2px #222}
.landing-v2-qr-plaque:before{left:10px;top:10px}.landing-v2-qr-plaque:after{right:10px;bottom:10px}
.landing-v2-plaque-head{width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}
.landing-v2-plaque-logo{font-size:20px;font-weight:950;display:flex;align-items:center;gap:8px}
.landing-v2-plaque-logo b{width:31px;height:31px;border:2px solid #e95f25;display:grid;place-items:center}
.landing-v2-code{background:#e95f25;color:#fff;padding:7px 9px;font-size:12px;font-weight:900}
.landing-v2-qr-plaque>strong{font-size:17px;margin-bottom:5px}
.landing-v2-qr-plaque>span:not(.landing-v2-code){font-size:13px}
.landing-v2-qr-plaque>img{width:156px;height:156px;margin:18px 0 12px}
.landing-v2-plaque-icons{width:180px;display:flex;justify-content:space-between;font-size:24px;border-top:1px solid #c9c6bf;padding-top:12px}
.landing-v2-qr-plaque small{margin-top:10px;font-size:11px}
.landing-v2-flow{background:#fff;padding:55px 28px 58px}
.landing-v2-section-head{text-align:center;max-width:900px;margin:0 auto 36px}
.landing-v2-section-head h2{font-size:28px;letter-spacing:.09em;margin:10px 0 0}
.landing-v2-flow-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr)}
.landing-v2-flow-grid article{display:grid;grid-template-columns:62px 1fr;gap:18px;padding:0 32px;min-height:105px}
.landing-v2-flow-grid article+article{border-left:1px solid #d9d5ce}
.landing-v2-flow-icon{width:56px;height:56px;border:2px solid #ee6428;display:grid;place-items:center;font-weight:950;font-size:16px}
.landing-v2-flow-grid h3{font-size:13px;color:#ed6228;letter-spacing:.04em;margin:8px 0 12px}
.landing-v2-flow-grid p{font-size:14px;line-height:1.55;margin:0;color:#333}
.landing-v2-control{max-width:1320px;margin:0 auto;padding:78px 48px 64px;display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:center;background:#f7f5f1}
.landing-v2-dashboard-mock{height:390px;background:#101010;border:10px solid #202020;border-bottom-width:18px;border-radius:16px 16px 8px 8px;box-shadow:0 22px 35px rgba(0,0,0,.18);display:grid;grid-template-columns:105px 1fr;overflow:hidden;position:relative}
.landing-v2-dashboard-mock:after{content:"";position:absolute;left:15%;right:15%;height:12px;background:#2b2b2b;bottom:-17px;border-radius:0 0 60% 60%}
.landing-v2-mock-sidebar{background:#151515;padding:20px 12px;display:flex;flex-direction:column;gap:18px}
.landing-v2-mini-brand{color:white;font-size:10px;font-weight:900;display:flex;align-items:center;gap:4px}
.landing-v2-mini-brand b{border:1px solid #e95f25;padding:2px 3px}
.landing-v2-mock-sidebar i{height:6px;background:#4c4c4c;width:70%;display:block}
.landing-v2-mock-main{background:#f3f1ed;padding:26px}
.landing-v2-mock-main>strong{font-size:18px}
.landing-v2-mock-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}
.landing-v2-mock-stats div{background:#fff;border:1px solid #e7e3dc;padding:15px 12px;display:flex;flex-direction:column}
.landing-v2-mock-stats b{font-size:26px}.landing-v2-mock-stats span{font-size:9px;color:#6a6a6a}
.landing-v2-mock-panels{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.landing-v2-mock-panels>div{background:#fff;border:1px solid #e7e3dc;padding:14px;display:flex;flex-direction:column;gap:9px}
.landing-v2-mock-panels b{font-size:11px;margin-bottom:4px}
.landing-v2-mock-panels span{font-size:9px;color:#515151}
.landing-v2-mock-panels .danger{color:#b33}.landing-v2-mock-panels .warning{color:#a87908}.landing-v2-mock-panels .ok{color:#187852}
.landing-v2-control-copy h2{font-size:45px;line-height:1.03;letter-spacing:-.04em;margin:12px 0 30px;max-width:450px}
.landing-v2-feature-list{display:grid;gap:18px}
.landing-v2-feature-list>div{display:grid;grid-template-columns:145px 1fr;gap:12px;padding-bottom:15px;border-bottom:1px solid #d9d5ce}
.landing-v2-feature-list b{font-size:13px;color:#ed6228}.landing-v2-feature-list span{font-size:14px;color:#404040}
.landing-v2-strip{background:#171717;color:#fff;padding:29px max(28px,calc((100% - 1180px)/2));display:grid;grid-template-columns:repeat(5,1fr)}
.landing-v2-strip div{display:flex;flex-direction:column;padding:4px 28px;border-left:1px solid #555}
.landing-v2-strip div:first-child{border-left:0}
.landing-v2-strip strong{font-size:32px;line-height:1}.landing-v2-strip span{font-size:10px;font-weight:800;margin-top:7px}
.landing-v2-cta{max-width:1180px;margin:0 auto;padding:58px 30px;display:grid;grid-template-columns:250px 1fr;gap:70px;align-items:center}
.landing-v2-cta h2{font-size:40px;line-height:1.1;letter-spacing:-.035em;margin:0}.landing-v2-cta h2 em{font-style:normal;color:#e95f25}
.landing-v2-cta p{font-size:15px;color:#666;max-width:670px;margin:14px 0 0}
.landing-v2-building{width:180px;height:120px;border-left:2px solid #1b1b1b;border-bottom:2px solid #1b1b1b;position:relative;margin:auto}
.landing-v2-building:before{content:"";position:absolute;left:25px;bottom:0;width:90px;height:110px;border:2px solid #1b1b1b;transform:skewY(-10deg)}
.landing-v2-building:after{content:"";position:absolute;left:98px;bottom:0;width:54px;height:80px;border:2px solid #1b1b1b;background:#f7f5f1}
.landing-v2-building span{position:absolute;background:#e95f25;width:13px;height:23px;z-index:2}
.landing-v2-building span:nth-child(1){left:45px;top:31px}.landing-v2-building span:nth-child(2){left:73px;top:45px}.landing-v2-building span:nth-child(3){left:120px;top:58px}
.landing-v2-footer{background:#171717;color:#fff;padding:24px max(28px,calc((100% - 1180px)/2));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:40px}
.landing-v2-brand-footer{font-size:18px}.landing-v2-brand-footer .landing-v2-brand-mark{width:30px;height:30px;font-size:16px;background:#171717}
.landing-v2-footer>span{font-size:11px;color:#ccc}.landing-v2-footer small{font-size:10px;color:#aaa}

/* QR reader */
.qr-reader-modal[hidden]{display:none!important}.qr-reader-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:22px}
.qr-reader-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}
.qr-reader-card{position:relative;z-index:1;width:min(500px,100%);background:#f8f6f2;padding:30px;border:1px solid #ddd5ca;box-shadow:0 25px 70px rgba(0,0,0,.35)}
.qr-reader-card h2{font-size:29px;margin:8px 0}.qr-reader-card>p{color:#666;margin-top:0}
.qr-reader-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:30px;cursor:pointer}
.qr-reader-camera{height:270px;background:#111;position:relative;overflow:hidden;margin:20px 0 12px}
.qr-reader-camera video{width:100%;height:100%;object-fit:cover}
.qr-reader-frame{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:185px;height:185px;border:2px solid #e95f25;box-shadow:0 0 0 999px rgba(0,0,0,.18)}
.qr-reader-status{font-size:13px!important;min-height:20px}.qr-reader-start{width:100%}
.qr-reader-manual{margin-top:20px;padding-top:18px;border-top:1px solid #d7d1c8;display:grid;gap:9px}.qr-reader-manual>span{font-size:12px;color:#666}
.qr-reader-manual>div{display:grid;grid-template-columns:1fr auto;gap:8px}.qr-reader-manual input{text-transform:uppercase;border-radius:3px}

@media(max-width:980px){
  .landing-v2-hero{grid-template-columns:1fr}.landing-v2-hero-visual{min-height:520px}
  .landing-v2-flow-grid{grid-template-columns:1fr;max-width:650px}.landing-v2-flow-grid article{padding:24px 0}.landing-v2-flow-grid article+article{border-left:0;border-top:1px solid #ddd}
  .landing-v2-control{grid-template-columns:1fr;gap:45px}.landing-v2-strip{grid-template-columns:repeat(5,1fr)}
}
@media(max-width:700px){
  .landing-v2-nav{height:auto;min-height:76px;padding:15px 18px;align-items:flex-start}
  .landing-v2-brand{font-size:20px}.landing-v2-brand-mark{width:32px;height:32px;font-size:18px}
  .landing-v2-menu{gap:9px;align-items:flex-end;flex-direction:column;font-size:12px}
  .landing-v2-login{padding:8px 13px}
  .landing-v2-hero-copy{padding:54px 24px}.landing-v2-hero h1{font-size:47px}
  .landing-v2-hero-visual{min-height:450px}.landing-v2-qr-plaque{width:260px;right:6%;padding:20px}.landing-v2-qr-plaque>img{width:130px;height:130px}
  .landing-v2-section-head h2{font-size:23px}.landing-v2-flow{padding:48px 24px}
  .landing-v2-control{padding:55px 20px}.landing-v2-dashboard-mock{height:330px;grid-template-columns:76px 1fr}.landing-v2-mock-main{padding:17px}
  .landing-v2-mock-stats{grid-template-columns:repeat(2,1fr)}.landing-v2-mock-panels{display:none}
  .landing-v2-control-copy h2{font-size:38px}
  .landing-v2-feature-list>div{grid-template-columns:115px 1fr}
  .landing-v2-strip{grid-template-columns:1fr 1fr;padding:20px}.landing-v2-strip div{border-left:0;border-bottom:1px solid #444;padding:17px}
  .landing-v2-strip div:last-child{grid-column:1/-1}
  .landing-v2-cta{grid-template-columns:1fr;padding:55px 24px;gap:25px}.landing-v2-cta h2{font-size:34px}
  .landing-v2-footer{grid-template-columns:1fr;gap:12px;padding:24px}
}
