:root{--ink:#15203b;--muted:#768197;--line:#e5e9f1;--bg:#f5f7fb;--brand:#3447d4;--navy:#17234d;--green:#1fa776;--red:#e6545e;--amber:#dc961c;--blue:#5370ed;--shadow:0 8px 24px rgba(20,33,65,.06)}
*{box-sizing:border-box}body{margin:0;font-family:Manrope,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);font-size:14px}.app-shell{display:flex;min-height:100vh}.sidebar{width:250px;background:#fff;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;padding:22px 15px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--ink);padding:0 8px 21px}.brand-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#4053e7,#2636ae);color:#fff;display:grid;place-items:center;font-weight:800;font-size:20px;box-shadow:0 7px 18px #4053e743}.brand strong,.brand small,.property strong,.property small,.profile strong,.profile small,.connection strong,.connection small{display:block}.brand strong{font-size:19px;letter-spacing:-.6px}.brand small,.profile small,.connection small,.property small{color:var(--muted);font-size:10px}.property{background:#f5f6fb;border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;gap:9px;align-items:center;margin-bottom:18px}.property-icon{width:32px;height:32px;border-radius:9px;background:#e3e7ff;color:var(--brand);display:grid;place-items:center;font-size:10px;font-weight:800}.property strong{font-size:11px}.property button,.profile button,.connection button{margin-left:auto;border:0;background:transparent;color:#8790a3}.sidebar nav,.side-section{display:flex;flex-direction:column;gap:4px}.sidebar nav button,.side-section button{border:0;background:transparent;color:#5f697d;border-radius:9px;padding:10px 11px;text-align:left;font:600 12px Manrope;cursor:pointer;display:flex;align-items:center;gap:11px}.sidebar nav button span,.side-section button span{font-size:16px;width:18px;text-align:center}.sidebar nav button.active{background:#ecedff;color:#3547cf}.sidebar nav button b{font-size:8px;background:#daf5e9;color:#16845d;border-radius:8px;padding:3px 6px;margin-left:auto}.side-section{margin-top:22px}.side-section p{font-size:9px;letter-spacing:1.3px;color:#a2a9b8;margin:0 11px 5px}.side-section i{margin-left:auto;background:#ffeaec;color:#dc4753;border-radius:50%;width:18px;height:18px;text-align:center;font-style:normal;font-size:10px;padding-top:2px}.connection{margin-top:auto;background:#f4faf7;border:1px solid #d8eee4;border-radius:10px;padding:10px;display:flex;gap:8px;align-items:center}.pulse,.online i,.device-status i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#20af7a;box-shadow:0 0 0 4px #20af7a1c}.connection strong{font-size:10px}.profile{display:flex;align-items:center;gap:9px;padding:15px 6px 0;margin-top:10px;border-top:1px solid var(--line)}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e4e8ff;color:#3447cc;font-weight:800;font-size:11px;flex:none}.profile strong{font-size:11px}main{margin-left:250px;width:calc(100% - 250px)}.topbar{height:65px;background:#fff;border-bottom:1px solid var(--line);padding:0 31px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:4}.breadcrumbs{font-size:12px;color:#8a93a5;display:flex;gap:9px}.breadcrumbs strong{color:#3b4559}.breadcrumbs i{font-style:normal}.top-actions,.heading-actions{display:flex;align-items:center;gap:9px}.search{display:flex;align-items:center;background:#f6f7fa;border:1px solid #eceef3;border-radius:9px;padding:0 11px;width:290px}.search input{border:0;outline:0;background:transparent;font:11px Manrope;width:100%;padding:9px}.icon-button,.help,.mobile-menu{border:1px solid var(--line);background:white;border-radius:9px;width:35px;height:35px;color:#626c80;position:relative}.icon-button b{position:absolute;right:-3px;top:-4px;background:#e8525b;color:#fff;border-radius:50%;font-size:8px;width:15px;height:15px;padding-top:2px}.help{border-radius:50%}.mobile-menu{display:none}.view{display:none;padding:30px 32px 50px;max-width:1500px;margin:auto}.view.active{display:block}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:23px}.page-heading.compact{align-items:center}.eyebrow{font-size:9px;letter-spacing:1.5px;color:#8c95a6;font-weight:800;margin:0 0 7px}.page-heading h1{font-size:28px;letter-spacing:-1px;margin:0 0 4px}.page-heading p{color:var(--muted);margin:0;font-size:12px}.primary,.secondary{border:0;border-radius:9px;padding:10px 15px;font:700 11px Manrope;cursor:pointer}.primary{background:var(--brand);color:#fff;box-shadow:0 5px 15px #3447d42e}.secondary{background:#fff;border:1px solid var(--line);color:#556075}.notice{display:flex;align-items:center;background:#eef7f3;border:1px solid #d9eee4;border-radius:10px;padding:10px 14px;margin-bottom:17px;color:#266b54}.notice>span{margin-right:9px}.notice p{margin:0;font-size:10px}.notice button{margin-left:auto;border:0;background:transparent;color:#287b5d;font-weight:700;font-size:10px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:17px}.metrics.three{grid-template-columns:repeat(3,1fr)}.metrics article,.panel{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.metrics article{padding:16px 17px;min-height:145px}.metrics article>div:first-child{display:flex;align-items:center;gap:8px}.metric-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-weight:800}.metric-icon.blue{background:#e8ebff;color:var(--blue)}.metric-icon.green{background:#e2f6ee;color:var(--green)}.metric-icon.amber{background:#fff2dc;color:var(--amber)}.metric-icon.red{background:#ffe9eb;color:var(--red)}.metrics small{font-size:8px;letter-spacing:.8px;color:#8a93a5;font-weight:800}.metrics article>strong{font-size:24px;display:block;margin:10px 0 3px;letter-spacing:-.7px}.metrics p,.metrics em{font-size:9px;color:#7f899b;margin:0;font-style:normal}.metrics p b{color:var(--green)}.metrics em{display:block;border-top:1px solid #eef0f4;margin-top:10px;padding-top:9px}.danger{color:var(--red)!important}.progress{height:5px;background:#edf0f4;border-radius:4px;margin-top:13px}.progress i{display:block;height:100%;background:var(--brand);border-radius:4px}.dashboard-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:14px}.panel{padding:17px}.panel-title{display:flex;justify-content:space-between;align-items:flex-start}.panel-title h2{font-size:13px;margin:0 0 3px}.panel-title p{font-size:9px;color:var(--muted);margin:0}.panel-title select,.panel-title button{font:600 9px Manrope;border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px;color:#667084}.chart-wrap{display:flex;height:210px;margin-top:16px}.chart-labels{width:25px;display:flex;flex-direction:column;justify-content:space-between;color:#a2a9b7;font-size:8px;padding-bottom:25px}.chart{position:relative;flex:1}.grid-lines{position:absolute;inset:0 0 25px;background:repeating-linear-gradient(to bottom,#eef0f4 0,#eef0f4 1px,transparent 1px,transparent 33.33%)}.bars{position:absolute;inset:0;display:flex;justify-content:space-around;align-items:flex-end;padding:0 8px}.bars>div{height:100%;width:40px;display:flex;align-items:flex-end;justify-content:center;gap:3px;position:relative;padding-bottom:25px}.bars i,.bars b{width:11px;border-radius:4px 4px 1px 1px}.bars i{background:#4858da}.bars b{background:#75ccb0}.bars small{position:absolute;bottom:0;color:#788296;font-size:8px}.legend{display:flex;gap:15px;font-size:9px;color:#697386;border-top:1px solid #eef0f4;padding-top:11px}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:7px;height:7px;border-radius:50%}.indigo{background:#4858da}.mint{background:#75ccb0}.legend strong{margin-left:auto;font-size:8px;color:#8992a3}.activity-list{margin-top:9px}.activity-list>div{display:flex;align-items:center;padding:11px 0;border-bottom:1px solid #eef0f4;gap:9px}.activity-list>div:last-child{border:0}.activity-list .avatar{width:30px;height:30px}.avatar.green{background:#e1f6ed;color:#198d65}.avatar.blue{background:#e7eaff;color:#4458dd}.avatar.amber{background:#fff0d6;color:#cb8715}.avatar.red{background:#ffe5e7;color:#d94d57}.activity-list p{margin:0}.activity-list strong,.activity-list small{display:block;font-size:9px}.activity-list small{color:#8992a2;margin-top:2px}.activity-list time{font-size:8px;color:#9aa2b0;margin-left:auto}.online{background:#e6f7ef;color:#16865f;border-radius:14px;padding:7px 11px;font-size:9px;font-weight:800}.gate-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:15px;margin-bottom:16px}.scanner-card,.result-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px;box-shadow:var(--shadow)}.scanner-head{display:flex;gap:11px;align-items:center}.scanner-head>span{width:36px;height:36px;border-radius:10px;background:#e8eaff;color:var(--brand);display:grid;place-items:center;font-size:20px}.scanner-head h2{font-size:14px;margin:0}.scanner-head p{font-size:9px;color:var(--muted);margin:3px 0}.scan-box{height:205px;background:#f7f8fc;border:1px dashed #b8c0d2;border-radius:12px;margin:17px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.scan-box>i{position:absolute;width:72%;height:2px;background:linear-gradient(90deg,transparent,#465ae9,transparent);top:30%;animation:scan 2.4s infinite ease-in-out}.scan-box>span{font-size:35px;color:#a8b0c1}.scan-box strong{font-size:11px;margin-top:9px}.scan-box small{font-size:9px;color:#8f98a9;margin-top:3px}@keyframes scan{50%{top:72%}}.manual{display:flex;gap:8px}.manual input{flex:1;border:1px solid var(--line);border-radius:8px;padding:10px;font:600 11px Manrope;outline:none}.manual button,.result-card>button:first-of-type{border:0;border-radius:8px;background:var(--brand);color:#fff;font:700 10px Manrope;padding:10px 14px;cursor:pointer}.device-status{font-size:8px;color:#7d8799;margin:12px 0 0}.device-status i{width:6px;height:6px;margin-right:5px}.result-card{text-align:center;background:linear-gradient(180deg,#effbf6,#fff);border-color:#cceadd}.result-check{margin:auto;width:49px;height:49px;border-radius:50%;background:#25ad7d;color:#fff;display:grid;place-items:center;font-size:25px;box-shadow:0 0 0 8px #dff5ed}.result-card>small{display:block;color:#16845e;font-weight:800;letter-spacing:1.1px;font-size:8px;margin-top:16px}.result-card h2{font-size:21px;margin:6px 0 2px}.result-card>p{font-size:9px;color:#718094;margin:0}.visitor-data{display:grid;grid-template-columns:1fr 1fr;text-align:left;gap:9px;margin:16px 0}.visitor-data div{background:#fff;border:1px solid #dfe9e5;border-radius:8px;padding:9px}.visitor-data small,.visitor-data strong{display:block}.visitor-data small{font-size:7px;color:#8f9aab;font-weight:800}.visitor-data strong{font-size:9px;margin-top:2px}.result-card>button:first-of-type{width:100%;background:#1b9d70}.text-button{border:0;background:transparent;color:#8b6070;font:600 9px Manrope;margin-top:8px}.tabs{display:flex;gap:4px}.tabs button.active{background:#ecedff;color:#3447cd;border-color:#dce0ff}.tabs b{font-size:8px}table{width:100%;border-collapse:collapse;margin-top:14px;font-size:9px}th{text-align:left;color:#929aab;font-size:7px;letter-spacing:.7px;padding:8px;border-bottom:1px solid var(--line)}td{padding:10px 8px;border-bottom:1px solid #eef0f4}td strong,td small{display:block}td small{color:#939baa;margin-top:2px}.status{display:inline-block;border-radius:12px;padding:4px 7px;font-size:8px;font-weight:800}.status.green{background:#dff5eb;color:#17845e}.status.amber{background:#fff0d8;color:#bd7b0f}.status.blue{background:#e8eaff;color:#4054d5}.status.red{background:#ffe4e6;color:#d44a54}.directory .panel-title{align-items:center}.search.inner{width:250px}.resident-list>div{display:grid;grid-template-columns:42px 1.5fr .7fr .7fr .7fr 25px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line);font-size:9px}.resident-list p{margin:0}.resident-list p strong,.resident-list p small{display:block}.resident-list p small{color:var(--muted)}.resident-list button{border:0;background:transparent}.finance-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:14px}.collection .panel-title>span{color:var(--green);font-weight:800}.donut{width:145px;height:145px;border-radius:50%;margin:18px auto;background:conic-gradient(var(--brand) 0 83.6%,#edf0f5 83.6%);display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;width:104px;height:104px;border-radius:50%;background:#fff}.donut div{z-index:1;text-align:center}.donut strong,.donut small{display:block}.donut strong{font-size:20px}.donut small{font-size:8px;color:var(--muted)}.collection-legend p{display:flex;align-items:center;gap:8px;margin:9px 0;font-size:9px}.collection-legend i{width:8px;height:8px;border-radius:50%}.collection-legend i.green{background:var(--brand)}.collection-legend i.amber{background:var(--amber)}.collection-legend i.red{background:var(--red)}.collection-legend span strong{display:block;color:#919aaa;font-size:8px}.collection-legend>b{margin-left:auto}.receivables>div:not(.panel-title){display:flex;align-items:center;border-bottom:1px solid var(--line);padding:16px 0;font-size:10px}.receivables>div>span{width:90px;font-weight:800}.receivables>div p{margin:0}.receivables>div p strong,.receivables>div p small{display:block}.receivables>div p small{color:var(--muted);font-size:8px}.receivables>div button{margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px;font:600 8px Manrope;color:#4d5a70}.toast{position:fixed;right:25px;bottom:25px;background:#14243c;color:#fff;border-radius:12px;padding:13px 17px;display:flex;align-items:center;gap:10px;transform:translateY(100px);opacity:0;transition:.3s;z-index:10;box-shadow:0 15px 35px #16243c3b}.toast.show{transform:none;opacity:1}.toast>span{width:25px;height:25px;border-radius:50%;background:#23a979;display:grid;place-items:center}.toast p{margin:0}.toast strong,.toast small{display:block;font-size:9px}.toast small{color:#b8c1ce;margin-top:2px}
@media(max-width:1000px){.sidebar{width:210px}main{margin-left:210px;width:calc(100% - 210px)}.metrics{grid-template-columns:1fr 1fr}.dashboard-grid,.gate-grid,.finance-grid{grid-template-columns:1fr}.search{width:220px}}
@media(max-width:760px){
  body{background:#f7f8fc;padding-bottom:76px}
  .sidebar{width:100%;height:72px;inset:auto 0 0;transform:none;padding:5px 9px 7px;border:0;border-top:1px solid var(--line);box-shadow:0 -8px 25px rgba(24,36,72,.08);display:block;z-index:20}
  .sidebar .brand,.sidebar .property,.sidebar .side-section,.sidebar .connection,.sidebar .profile{display:none}
  .sidebar nav{height:100%;display:grid;grid-template-columns:repeat(5,1fr);gap:3px}
  .sidebar nav button{padding:7px 2px 4px;display:flex;flex-direction:column;justify-content:center;text-align:center;gap:2px;border-radius:10px;font-size:8px;white-space:nowrap}
  .sidebar nav button span{font-size:19px;height:22px;width:auto}
  .sidebar nav button b{display:none}
  .sidebar nav button.active{background:#eef0ff;color:#3246ce}
  main{margin-left:0;width:100%}
  .topbar{height:55px;padding:0 16px;position:sticky}
  .topbar:before{content:"G";width:30px;height:30px;border-radius:9px;background:linear-gradient(145deg,#4053e7,#2636ae);color:#fff;display:grid;place-items:center;font-weight:800}
  .mobile-menu,.breadcrumbs,.top-actions .search,.help{display:none}
  .top-actions{margin-left:auto}.icon-button{border:0;background:#f1f3f8}
  .view{padding:19px 15px 30px}
  .page-heading{align-items:flex-start;gap:14px;margin-bottom:18px}
  .page-heading h1{font-size:23px;line-height:1.15}.page-heading p{font-size:10px;max-width:260px}
  .heading-actions{flex-wrap:wrap;justify-content:flex-end}.heading-actions .secondary{display:none}
  .primary,.secondary{min-height:42px;padding:11px 14px}
  .notice{border-radius:12px}.notice button{display:none}
  .metrics,.metrics.three{grid-template-columns:1fr 1fr;gap:10px}
  .metrics article{min-height:123px;padding:14px}.metrics article>strong{font-size:19px}.metrics em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .dashboard-grid,.gate-grid,.finance-grid{grid-template-columns:1fr}
  .activity-panel{display:none}
  .panel{border-radius:15px;padding:15px}
  .recent .activity-list>div{min-height:55px}
  .scanner-card{padding:15px}.scanner-head h2{font-size:15px}.scan-box{height:230px}
  .manual{display:grid;grid-template-columns:1fr}.manual input,.manual button{min-height:45px;font-size:12px}
  .result-card{padding:22px 17px}.result-card>button:first-of-type{min-height:47px;font-size:11px}
  .access-table{overflow:hidden}.access-table .panel-title{display:block}.tabs{margin-top:13px;overflow-x:auto;padding-bottom:3px}.tabs button{flex:1;min-width:92px;min-height:36px}
  .access-table table{min-width:0}.access-table th:nth-child(4),.access-table td:nth-child(4),.access-table th:nth-child(5),.access-table td:nth-child(5),.access-table th:nth-child(6),.access-table td:nth-child(6){display:none}
  .directory .panel-title{display:block}.search.inner{width:100%;margin-top:13px;height:43px}
  .resident-list>div{grid-template-columns:40px 1fr auto;padding:13px 0}.resident-list>div>span:not(.avatar){display:none}
  .collection{padding-bottom:20px}.receivables{margin-top:12px}.receivables>div:not(.panel-title){align-items:flex-start}.receivables>div button{min-height:34px}
  .toast{left:14px;right:14px;bottom:88px}
}

/* Guard-IA 2.3.133 · Eliminación controlada de fraccionamientos. */
.client-record>footer button.delete-client{border-color:#df3948;background:#c91f32;color:#fff}
.delete-user-warning.permanent{border-color:#ef9da5;background:#fff3f4}
.deletion-backup-confirmation{display:flex;align-items:flex-start;gap:9px;border:1px solid #efc5ca;border-radius:10px;background:#fff8f8;padding:11px;color:#7b2630;font-size:9px;font-weight:750;line-height:1.45}
.deletion-backup-confirmation input{margin-top:2px;accent-color:#c91f32}
.danger-note{border-color:#efb3b8!important;background:#fff1f2!important;color:#9f2632!important}
.theme-dark .client-record>footer button.delete-client{background:#b52837;border-color:#e7606d;color:#fff}
.theme-dark .deletion-backup-confirmation{background:#3d252b;border-color:#7f444c;color:#ffdce0}
@media(max-width:480px){
  .page-heading{display:block}.heading-actions{justify-content:flex-start;margin-top:14px}.heading-actions .primary{width:100%}
  .metrics,.metrics.three{grid-template-columns:1fr 1fr}
  .gate-grid{display:block}.result-card{margin-top:12px}.visitor-data{grid-template-columns:1fr 1fr}.finance-grid{display:block}
  .metrics article:nth-child(n+3){min-height:114px}
}
.modal-overlay{position:fixed;inset:0;background:rgba(12,20,42,.48);backdrop-filter:blur(5px);display:grid;place-items:center;z-index:30;padding:20px;opacity:0;transition:.18s}.modal-overlay.open{opacity:1}.modal{width:min(620px,100%);background:#fff;border-radius:17px;box-shadow:0 30px 80px rgba(7,15,38,.28);transform:translateY(12px) scale(.98);transition:.18s;overflow:hidden}.modal-overlay.open .modal{transform:none}.modal header{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 17px;border-bottom:1px solid var(--line)}.modal header small{font-size:8px;letter-spacing:1.5px;color:var(--brand);font-weight:800}.modal h2{font-size:19px;margin:3px 0 0}.modal-close{border:0;background:#f3f5f8;color:#778195;border-radius:50%;width:32px;height:32px;font-size:20px;cursor:pointer}.modal form{padding:21px 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-field span{display:block;font-size:9px;font-weight:800;color:#606b80;margin-bottom:6px}.form-field input,.form-field select{width:100%;border:1px solid #dfe3eb;border-radius:9px;padding:10px 11px;background:#fafbfc;font:11px Manrope;color:var(--ink);outline:0}.form-field input:focus,.form-field select:focus{border-color:#7481e8;box-shadow:0 0 0 3px #4659d812}.modal footer{display:flex;justify-content:flex-end;gap:9px;margin-top:22px;padding-top:17px;border-top:1px solid var(--line)}.empty{text-align:center;color:var(--muted);padding:35px}.result-card.loading{opacity:.35;pointer-events:none}.result-card.invalid{background:linear-gradient(180deg,#ffecee,#fff5f6);border-color:#ef9da4;color:#a72f39}.result-card.invalid .result-check{background:var(--red);box-shadow:0 0 0 8px #ffd9dd}.result-card.invalid>small{color:var(--red)}.result-card.invalid>p{color:#bd535c}.result-card.invalid .text-button{display:none}.notification-list p{display:flex;gap:11px;align-items:center;padding:12px 0;margin:0;border-bottom:1px solid var(--line)}.notification-list i{width:9px;height:9px;border-radius:50%;flex:none}.notification-list i.red{background:var(--red)}.notification-list i.amber{background:var(--amber)}.notification-list i.green{background:var(--green)}.notification-list strong,.notification-list small{display:block}.notification-list strong{font-size:10px}.notification-list small{font-size:8px;color:var(--muted);margin-top:3px}button:disabled{opacity:.65;cursor:default}
@media(max-width:560px){.form-grid{grid-template-columns:1fr}.modal form{padding:17px}.modal header{padding:18px}}
.homes-toolbar{align-items:center}.home-filters{display:flex;align-items:center;gap:8px}.home-filters select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px;font:9px Manrope;color:#657084}.home-list{margin-top:14px}.home-card{display:grid;grid-template-columns:1.1fr 1.3fr 1.2fr 1fr auto;align-items:center;gap:14px;padding:14px 5px;border-bottom:1px solid var(--line)}.home-card>div>small,.home-card>div>strong,.home-card>div>em{display:block}.home-card>div>small{font-size:7px;color:#939baa;font-weight:800;letter-spacing:.6px}.home-card>div>strong{font-size:9px;margin-top:3px}.home-card>div>em{font-size:8px;color:var(--muted);font-style:normal;margin-top:2px}.home-identity{display:flex;align-items:center;gap:9px}.home-identity>span{width:35px;height:35px;border-radius:10px;background:#e9ecff;color:var(--brand);display:grid;place-items:center;font-size:17px}.home-identity p{margin:0}.home-identity strong,.home-identity small{display:block}.home-identity strong{font-size:11px}.home-identity small{font-size:8px;color:var(--muted)}.home-detail{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px;font:700 8px Manrope;color:#546078;cursor:pointer}.home-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-summary>div{border:1px solid var(--line);border-radius:9px;padding:11px;background:#fafbfc}.home-summary small,.home-summary strong{display:block}.home-summary small{font-size:7px;color:#9099a9;font-weight:800}.home-summary strong{font-size:10px;margin-top:3px}.record-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.record-actions button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px;text-align:left;font:700 9px Manrope;color:#546078}
.street-group{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}.street-group>header{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;background:#f7f8fc;border-bottom:1px solid var(--line)}.street-group>header>div{display:flex;align-items:center;gap:9px}.street-group>header>div>span{width:29px;height:29px;border-radius:8px;background:#e8ebff;color:var(--brand);display:grid;place-items:center}.street-group header p{margin:0}.street-group header strong,.street-group header small{display:block}.street-group header strong{font-size:10px}.street-group header small{font-size:8px;color:var(--muted)}.add-house-street{border:1px solid #dce0ff;background:#fff;color:var(--brand);border-radius:8px;padding:7px 9px;font:700 8px Manrope;cursor:pointer}.street-group .home-card{padding-left:13px;padding-right:13px}.street-group .home-card:last-child{border-bottom:0}.compact-empty{padding:18px!important;font-size:9px}
.street-actions,.map-street-actions{display:flex;gap:5px}.delete-street,.map-delete-street{border:1px solid #f0cdd0!important;background:#fff5f5!important;color:var(--red)!important;border-radius:8px;padding:7px 9px;font:700 8px Manrope;cursor:pointer}.danger-zone{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding:12px;border:1px solid #f2d3d6;background:#fff7f7;border-radius:10px}.danger-zone strong,.danger-zone small{display:block}.danger-zone strong{font-size:9px;color:#b63b44}.danger-zone small{font-size:8px;color:var(--muted);margin-top:2px}.danger-button{border:0;background:var(--red);color:#fff;border-radius:8px;padding:9px 11px;font:700 8px Manrope;cursor:pointer}.delete-warning{display:flex;gap:12px;align-items:flex-start;padding:15px;background:#fff5f5;border:1px solid #f0cdd0;border-radius:10px}.delete-warning>span{width:30px;height:30px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:800;flex:none}.delete-warning p{margin:0}.delete-warning strong,.delete-warning small{display:block}.delete-warning strong{font-size:11px}.delete-warning small{font-size:8px;color:var(--muted);margin-top:4px}
@media(max-width:560px){.danger-zone{display:block}.danger-zone button{width:100%;margin-top:10px}.street-actions{flex-direction:column}.map-street-actions{margin-left:auto}}
.hidden{display:none!important}.view-toggle{display:flex;border:1px solid var(--line);border-radius:9px;padding:2px;background:#f5f6fa}.view-toggle button{border:0;background:transparent;border-radius:7px;padding:7px 10px;font:700 8px Manrope;color:#7b8598;cursor:pointer}.view-toggle button.active{background:#fff;color:var(--brand);box-shadow:0 2px 7px rgba(24,35,71,.09)}.croquis-map{margin-top:16px;display:grid;gap:18px}.map-street-block{border:1px solid var(--line);border-radius:14px;background:#f7f8fa;padding:14px;overflow:hidden}.map-street-block>header{display:flex;align-items:center;gap:9px;margin-bottom:12px}.map-street-block>header>span{font-size:7px;letter-spacing:.8px;color:#7e8796}.map-street-block>header>strong{font-size:10px}.map-row{display:flex;flex-wrap:nowrap;gap:12px;overflow-x:auto;padding:2px 2px 12px;scrollbar-width:thin;scroll-snap-type:x proximity}.map-house{flex:0 0 116px;min-height:122px;border:2px solid #b9c8cf;border-radius:13px;background:#eaf5ed;padding:12px 8px 9px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;box-shadow:0 4px 10px rgba(30,49,58,.12);position:relative;scroll-snap-align:start}.map-house:before{content:"✓";position:absolute;left:8px;top:8px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:11px;font-weight:800}.map-house.debt{background:#ffebee}.map-house.debt:before{background:var(--red);content:"!"}.map-house.incomplete{background:#fff7e8}.map-house.incomplete:before{background:var(--amber);content:"•"}.house-shape{width:49px;height:39px;background:#fff;border:3px solid #9eb3bd;border-radius:3px 3px 7px 7px;position:relative;margin:10px 0 5px;display:block}.house-shape:before{content:"";position:absolute;width:32px;height:32px;background:#fff;border-left:3px solid #9eb3bd;border-top:3px solid #9eb3bd;transform:rotate(45deg);left:5px;top:-18px;border-radius:4px 0 0}.house-shape i{position:absolute;z-index:1;width:12px;height:20px;border:3px solid #9eb3bd;border-bottom:0;left:16px;bottom:0;background:#f7f8fa}.map-house strong{font-size:14px;color:#246f43;margin-top:3px}.map-house.debt strong{color:#b8424b}.map-house small{font-size:8px;color:#657084;margin-top:2px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-empty{font-size:8px;color:#869083;padding:25px;text-align:center;border:1px dashed #cbd3ca;border-radius:8px;width:100%}
@media(max-width:760px){.croquis-map{gap:14px}.map-street-block{padding:10px}.map-row{padding:2px 1px 10px;gap:9px}.map-house{flex-basis:108px;min-height:116px}.view-toggle{width:100%}.view-toggle button{flex:1;min-height:36px}}
.modal.wide{width:min(900px,100%)}.dossier-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.dossier-head>div{display:flex;align-items:center;gap:10px}.dossier-head>div>span{width:38px;height:38px;border-radius:10px;background:#e9ecff;color:var(--brand);display:grid;place-items:center;font-size:18px}.dossier-head p{margin:0}.dossier-head strong,.dossier-head small{display:block}.dossier-head small{font-size:8px;color:var(--muted)}.dossier-tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--line);gap:3px;margin-bottom:16px}.dossier-tabs button{border:0;background:transparent;padding:10px 12px;font:700 9px Manrope;color:#7b8496;white-space:nowrap;cursor:pointer;border-bottom:2px solid transparent}.dossier-tabs button.active{color:var(--brand);border-color:var(--brand)}.dossier-panel{display:none;min-height:180px}.dossier-panel.active{display:block}.dossier-empty{text-align:center;padding:25px;background:#fafbfc;border:1px dashed #d9dee7;border-radius:10px}.dossier-empty>span,.dossier-empty>strong,.dossier-empty>small{display:block}.dossier-empty>span{font-size:24px;color:var(--brand)}.dossier-empty>strong{font-size:11px;margin-top:7px}.dossier-empty>small{font-size:8px;color:var(--muted);margin:4px 0 12px}.dossier-empty.compact{padding:18px}.payment-summary{display:flex;align-items:center;justify-content:space-between;background:#f7f8fb;border-radius:10px;padding:12px;margin-bottom:10px}.payment-summary small,.payment-summary strong{display:block}.payment-summary small{font-size:7px;color:var(--muted)}.payment-summary strong{font-size:20px}.dossier-payment-list>p{display:flex;justify-content:space-between;align-items:center;margin:0;padding:11px;border-bottom:1px solid var(--line)}.dossier-payment-list strong,.dossier-payment-list small{display:block}.dossier-payment-list small{font-size:8px;color:var(--muted)}.dossier-payment-list b{font-size:8px;color:var(--green);background:#e1f5ec;padding:5px 8px;border-radius:10px}.street-builder{margin-bottom:15px}.range-preview{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fafbfc}.range-preview header{display:flex;justify-content:space-between}.range-preview header strong{font-size:10px}.range-preview header small{font-size:8px;color:var(--muted)}.range-preview>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(63px,1fr));gap:5px;margin-top:10px;max-height:150px;overflow:auto}.range-preview>div span{background:#eaf4ed;color:#317452;border:1px solid #d2e4d7;border-radius:6px;padding:7px;font-size:8px}.range-preview>div em{font-size:8px;padding:7px;color:var(--muted)}.existing-streets{margin-top:14px}.existing-streets>strong{font-size:10px}.existing-streets p{display:grid;grid-template-columns:1fr 1fr;gap:6px}.existing-streets span{display:flex;justify-content:space-between;border:1px solid var(--line);border-radius:7px;padding:8px;font-size:8px}.existing-streets b{color:var(--muted)}
@media(max-width:560px){.dossier-tabs{margin-left:-17px;margin-right:-17px;padding-left:12px}.payment-summary{display:block}.payment-summary button{width:100%;margin-top:10px}.existing-streets p{grid-template-columns:1fr}.range-preview>div{grid-template-columns:repeat(3,1fr)}}
.billing-history{margin-top:14px}.billing-legend{display:flex;gap:10px;font-size:8px;color:var(--muted)}.billing-legend span{display:flex;align-items:center;gap:4px}.billing-legend i{width:8px;height:8px;border-radius:50%}.billing-legend i.current{background:var(--green)}.billing-legend i.pending{background:var(--amber)}.billing-legend i.debt{background:var(--red)}.billing-table{margin-top:13px}.billing-table>div{display:grid;grid-template-columns:100px 1fr 90px 110px;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid var(--line);font-size:9px}.billing-table p{margin:0}.billing-table p strong,.billing-table p small{display:block}.billing-table p small{font-size:8px;color:var(--muted)}.billing-type{background:#e9ecff;color:var(--brand);border-radius:10px;padding:5px 8px;font-size:8px;font-weight:800;width:max-content}.billing-type.extra{background:#fff0d8;color:#b8770e}.billing-notice{margin-top:15px;padding:12px;border-radius:9px;background:#edf0ff;border:1px solid #dce1ff}.billing-notice strong,.billing-notice small{display:block}.billing-notice strong{font-size:9px;color:var(--brand)}.billing-notice small{font-size:8px;color:var(--muted);margin-top:3px}.billing-notice.extraordinary{background:#fff7e8;border-color:#f3dfb8}.billing-notice.extraordinary strong{color:#a76a09}.dossier-payment-list .charge-row b{background:#fff0d8;color:#ae710d}
@media(max-width:760px){.billing-history .panel-title{display:block}.billing-legend{margin-top:10px;flex-wrap:wrap}.billing-table>div{grid-template-columns:90px 1fr}.billing-table>div>span:nth-child(3),.billing-table>div>strong:last-child{text-align:right}.billing-table>div>strong:last-child{font-size:9px}}
.module-manager{margin-top:14px}.module-manager .panel-title{align-items:center}.module-manager select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;font:700 9px Manrope;color:#596579}.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:14px}.module-card{border:1px solid var(--line);border-radius:10px;padding:11px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;cursor:pointer;background:#fff}.module-icon{width:30px;height:30px;border-radius:8px;background:#edf0ff;color:var(--brand);display:grid;place-items:center;font-weight:800}.module-card p{margin:0}.module-card strong,.module-card small{display:block}.module-card strong{font-size:9px}.module-card small{font-size:7px;color:var(--muted);margin-top:2px}.module-card input{display:none}.module-card>i{width:29px;height:17px;border-radius:10px;background:#cfd5df;position:relative;transition:.2s}.module-card>i:after{content:"";position:absolute;left:2px;top:2px;width:13px;height:13px;border-radius:50%;background:#fff;transition:.2s}.module-card input:checked+i{background:var(--green)}.module-card input:checked+i:after{transform:translateX(12px)}.manual-status{display:block;margin-top:15px;padding:12px;border:1px solid #e1e5ed;background:#f9fafc;border-radius:10px}.manual-status select{max-width:280px}.manual-status>small{display:block;font-size:8px;color:var(--muted);margin-top:6px}
@media(max-width:900px){.module-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.module-manager .panel-title{display:flex}.module-grid{grid-template-columns:1fr}.module-card{min-height:58px}}
.incident-list{margin-top:13px}.incident-list article{display:grid;grid-template-columns:65px 1fr 90px 70px;align-items:center;gap:10px;padding:12px 2px;border-bottom:1px solid var(--line)}.incident-list p{margin:0}.incident-list strong,.incident-list small{display:block}.incident-list strong{font-size:10px}.incident-list small{font-size:8px;color:var(--muted)}.incident-priority{font-size:8px;font-weight:800;border-radius:10px;padding:5px 8px;text-align:center}.incident-priority.alta{background:#ffe6e8;color:#c8444d}.incident-priority.media{background:#fff0d9;color:#b87810}.incident-priority.baja{background:#e5f5ed;color:#24825f}.incident-list button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px;font:700 8px Manrope;color:#596579}.integration-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.integration-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px;box-shadow:var(--shadow)}.integration-card header{display:flex;align-items:center;gap:10px}.integration-card header>span{width:38px;height:38px;border-radius:10px;background:#e9ecff;color:var(--brand);display:grid;place-items:center;font-weight:800}.integration-card h2{font-size:12px;margin:0}.integration-card p{font-size:8px;color:var(--muted);margin:2px 0}.integration-card label{margin-left:auto}.integration-card label input{display:none}.integration-card label i{display:block;width:32px;height:18px;border-radius:10px;background:#cfd5df;position:relative}.integration-card label i:after{content:"";position:absolute;width:14px;height:14px;background:#fff;border-radius:50%;left:2px;top:2px;transition:.2s}.integration-card label input:checked+i{background:var(--green)}.integration-card label input:checked+i:after{transform:translateX(14px)}.integration-card>div{display:flex;justify-content:space-between;align-items:center;margin:15px 0}.integration-card>div small{font-size:8px;color:var(--muted)}.integration-card>button{width:100%;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px;font:700 8px Manrope;color:#596579}.report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.report-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:15px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;text-align:left;box-shadow:var(--shadow);cursor:pointer}.report-card>span{width:38px;height:38px;border-radius:10px;background:#e9ecff;color:var(--brand);display:grid;place-items:center;font-weight:800}.report-card p{margin:0}.report-card strong,.report-card small{display:block}.report-card strong{font-size:10px}.report-card small{font-size:8px;color:var(--muted);margin-top:3px}.report-card>b{font-size:8px;color:var(--brand)}.report-result{margin-top:14px}.report-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.report-summary p{margin:0;background:#f8f9fc;border-radius:9px;padding:13px}.report-summary small,.report-summary strong{display:block}.report-summary small{font-size:7px;color:var(--muted);font-weight:800}.report-summary strong{font-size:19px;margin-top:3px}
@media(max-width:760px){.incident-list article{grid-template-columns:60px 1fr auto}.incident-list article>button{grid-column:2/4}.integration-grid,.report-grid{grid-template-columns:1fr}.report-summary{grid-template-columns:1fr 1fr}.integration-card>div{align-items:flex-start}}
@media(max-width:760px){.homes-toolbar{display:block}.home-filters{display:grid;grid-template-columns:1fr;margin-top:13px}.home-filters .search{width:100%}.home-filters select{min-height:42px}.home-card{grid-template-columns:1fr auto;gap:10px;padding:15px 2px}.home-card>div:nth-child(2),.home-card>div:nth-child(3){grid-column:1/-1;background:#f8f9fc;border-radius:8px;padding:9px}.home-card>div:nth-child(4){grid-column:1}.home-detail{grid-column:2;grid-row:1}.sidebar nav button{font-size:7px}}
.resident-preview-layout{display:grid;grid-template-columns:minmax(360px,620px) minmax(300px,1fr);gap:28px;align-items:center}.phone-stage{min-height:690px;border-radius:24px;background:radial-gradient(circle at 50% 10%,#e9edff,transparent 42%),linear-gradient(145deg,#f8f9fd,#eef1f8);display:grid;place-items:center;padding:28px;border:1px solid var(--line)}.resident-phone{width:365px;height:690px;background:#f7f8fc;border:9px solid #172033;border-radius:38px;box-shadow:0 30px 70px rgba(22,31,55,.25);overflow:hidden;position:relative}.resident-phone:before{content:"";position:absolute;top:7px;left:50%;transform:translateX(-50%);width:94px;height:22px;border-radius:13px;background:#172033;z-index:3}.resident-phone-head{height:105px;padding:38px 19px 14px;background:linear-gradient(135deg,#3046d7,#2436aa);color:#fff;display:flex;align-items:center;justify-content:space-between}.resident-phone-head>div{display:flex;align-items:center;gap:10px}.mini-brand{width:35px;height:35px;border-radius:11px;background:#fff;color:var(--brand);display:grid;place-items:center;font-weight:900}.resident-phone-head p{margin:0}.resident-phone-head small,.resident-phone-head strong{display:block}.resident-phone-head small{font-size:7px;letter-spacing:1px;opacity:.72}.resident-phone-head strong{font-size:15px}.resident-phone-head button{border:0;background:#ffffff1a;color:#fff;width:34px;height:34px;border-radius:50%}.resident-phone-body{margin:0;width:100%;height:524px;padding:16px;overflow-y:auto}.home-pass-card{background:#fff;border-radius:15px;padding:14px;box-shadow:0 8px 22px rgba(33,45,78,.08);display:flex;justify-content:space-between;align-items:center}.home-pass-card small,.home-pass-card strong,.home-pass-card span{display:block}.home-pass-card small{font-size:7px;color:#8b94a5;font-weight:800}.home-pass-card strong{font-size:16px}.home-pass-card span{font-size:8px;color:var(--muted)}.home-pass-card>b{font-size:8px;color:#18845f;background:#e0f5ec;padding:6px 8px;border-radius:12px}.mobile-create-access{width:100%;border:0;background:linear-gradient(135deg,#3e52e0,#293ab9);color:#fff;border-radius:15px;padding:14px;margin:12px 0 17px;display:flex;align-items:center;text-align:left;box-shadow:0 10px 22px #3448ce3b;cursor:pointer}.mobile-create-access>span{width:38px;height:38px;border-radius:12px;background:#ffffff20;display:grid;place-items:center;font-size:23px}.mobile-create-access p{margin:0 0 0 11px}.mobile-create-access strong,.mobile-create-access small{display:block}.mobile-create-access strong{font-size:12px}.mobile-create-access small{font-size:7px;opacity:.72}.mobile-create-access>b{margin-left:auto;font-size:23px}.resident-mobile-title{display:flex;justify-content:space-between;margin-bottom:8px}.resident-mobile-title strong,.resident-mobile-title small{display:block}.resident-mobile-title strong{font-size:11px}.resident-mobile-title small{font-size:7px;color:var(--muted)}.resident-mobile-title button{border:0;background:transparent;color:var(--brand);font:700 8px Manrope}.resident-access-list{display:grid;gap:7px}.resident-pass{background:#fff;border:1px solid #e5e8ef;border-radius:12px;padding:10px;display:grid;grid-template-columns:34px 1fr auto 13px;align-items:center;gap:8px;cursor:pointer}.pass-avatar{width:34px;height:34px;border-radius:10px;background:#e8ebff;color:var(--brand);display:grid;place-items:center;font-size:9px;font-weight:800}.resident-pass p{margin:0}.resident-pass strong,.resident-pass small,.resident-pass em{display:block}.resident-pass strong{font-size:9px}.resident-pass small{font-size:7px;color:var(--muted)}.resident-pass em{font-size:6px;color:#9da4b2;font-style:normal}.pass-state{font-size:7px;background:#e0f5ec;color:#18845f;padding:4px 6px;border-radius:9px;font-weight:800}.resident-pass.cancelled{opacity:.58}.resident-pass.cancelled .pass-state{background:#ffe4e6;color:var(--red)}.resident-pass button{border:0;background:transparent}.resident-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.resident-quick-grid button{border:1px solid #e3e6ed;background:#fff;border-radius:12px;padding:10px;text-align:left}.resident-quick-grid button>span{width:27px;height:27px;border-radius:8px;background:#eef0ff;color:var(--brand);display:grid;place-items:center;font-weight:800}.resident-quick-grid strong,.resident-quick-grid small{display:block;font-size:8px}.resident-quick-grid small{color:var(--muted)}.resident-phone-nav{position:absolute;bottom:0;left:0;right:0;height:61px;background:#fff;border-top:1px solid #e7e9ef;display:grid;grid-template-columns:repeat(5,1fr);align-items:center}.resident-phone-nav button{border:0;background:transparent;color:#8b94a6;font:600 6px Manrope;display:grid;place-items:center}.resident-phone-nav button>span{font-size:15px}.resident-phone-nav button.active{color:var(--brand)}.resident-phone-nav button.central span{width:42px;height:42px;border-radius:14px;background:var(--brand);color:#fff;font-size:23px;box-shadow:0 7px 16px #3448cf45;margin-top:-17px}.resident-flow-panel{padding:28px}.flow-kicker{font-size:8px;letter-spacing:1.3px;color:var(--brand);font-weight:800}.resident-flow-panel h2{font-size:23px;margin:8px 0}.resident-flow-panel>p{color:var(--muted);font-size:11px;line-height:1.7}.resident-flow-panel ol{padding:0;list-style:none;margin:22px 0}.resident-flow-panel li{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.resident-flow-panel li>b{width:30px;height:30px;border-radius:10px;background:#e9ecff;color:var(--brand);display:grid;place-items:center}.resident-flow-panel li strong,.resident-flow-panel li small{display:block}.resident-flow-panel li strong{font-size:10px}.resident-flow-panel li small{font-size:8px;color:var(--muted)}.mobile-form-intro{display:flex;gap:10px;align-items:center;background:#eef1ff;border:1px solid #dce1ff;border-radius:11px;padding:11px;margin-bottom:15px}.mobile-form-intro>span{width:34px;height:34px;border-radius:10px;background:var(--brand);color:#fff;display:grid;place-items:center}.mobile-form-intro p{margin:0}.mobile-form-intro strong,.mobile-form-intro small{display:block}.mobile-form-intro strong{font-size:10px}.mobile-form-intro small{font-size:8px;color:var(--muted)}.generated-pass{text-align:center}.success-ring{width:45px;height:45px;border-radius:50%;background:#21a977;color:#fff;display:grid;place-items:center;font-size:22px;margin:auto;box-shadow:0 0 0 7px #dff5ec}.generated-pass>small{display:block;font-size:7px;color:var(--green);font-weight:800;letter-spacing:1px;margin-top:15px}.generated-pass h3{font-size:19px;margin:5px}.demo-qr{width:150px;height:150px;margin:12px auto;background:repeating-conic-gradient(#101828 0 25%,#fff 0 50%) 0/18px 18px;border:10px solid #fff;box-shadow:0 0 0 1px #dfe3ea;position:relative}.demo-qr i{position:absolute;width:35px;height:35px;border:7px solid #101828;background:#fff}.demo-qr i:nth-child(1){left:5px;top:5px}.demo-qr i:nth-child(2){right:5px;top:5px}.demo-qr i:nth-child(3){left:5px;bottom:5px}.generated-pass>strong{font-size:13px;letter-spacing:1px}.generated-pass>p{font-size:9px;color:var(--muted);line-height:1.6}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.share-actions button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px;font:700 8px Manrope;color:var(--brand)}.danger-outline{color:var(--red)!important;border-color:#f2cdd1!important}
@media(max-width:900px){.resident-preview-layout{grid-template-columns:1fr}.resident-flow-panel{display:none}.phone-stage{min-height:0;padding:0;background:transparent;border:0}.resident-phone{width:min(100%,390px);height:calc(100vh - 145px);min-height:620px;border-width:5px}.resident-preview-heading>div p{display:none}}
.reveal-code{display:block;margin-top:5px;border:0;background:transparent;color:var(--brand);font:700 7px Manrope;cursor:pointer;padding:2px 0}.guard-code-request{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;background:#f7f8fc;border:1px solid var(--line);border-radius:12px;padding:15px}.guard-code-request>span{width:42px;height:42px;border-radius:11px;background:#e9ecff;color:var(--brand);display:grid;place-items:center;font-size:20px}.guard-code-request p{margin:0}.guard-code-request small,.guard-code-request strong,.guard-code-request em{display:block}.guard-code-request small{font-size:7px;color:var(--muted);font-weight:800}.guard-code-request strong{font-size:12px}.guard-code-request em{font-size:8px;color:var(--muted);font-style:normal}.guard-code-request code{background:#14243c;color:#fff;padding:10px 12px;border-radius:8px;font:700 11px monospace}
@media(max-width:560px){.guard-code-request{grid-template-columns:42px 1fr}.guard-code-request code{grid-column:1/-1;text-align:center}.access-table td:last-child{min-width:78px}}
.quick-access-heading{margin:5px 1px 9px;padding-top:2px;display:flex;align-items:flex-end;justify-content:space-between}.quick-access-heading strong,.quick-access-heading small{display:block}.quick-access-heading strong{font-size:11px;color:#27344c}.quick-access-heading small{font-size:7px;color:var(--muted);max-width:150px;text-align:right;line-height:1.35}.quick-access-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:18px}.quick-access-strip button{border:1px solid transparent;border-radius:14px;padding:10px 3px 8px;display:grid;place-items:center;gap:4px;cursor:pointer;transition:transform .16s,box-shadow .16s;min-height:88px}.quick-access-strip button>span{width:39px;height:39px;border-radius:13px;display:grid;place-items:center;font-size:21px;color:#fff;box-shadow:inset 0 0 0 1px #ffffff45,0 5px 11px rgba(28,39,65,.12)}.quick-access-strip button>strong{font-size:9px;color:#26334b}.quick-access-strip button>small{font-size:7px;font-weight:700}.quick-access-strip button[data-quick-access="Taxi"]{background:#fff8df;border-color:#f1dda0}.quick-access-strip button[data-quick-access="Taxi"]>span{background:linear-gradient(145deg,#ffd84d,#e6ad16)}.quick-access-strip button[data-quick-access="Taxi"]>small{color:#a97800}.quick-access-strip button[data-quick-access="Paquetería"]{background:#f4efff;border-color:#dfd3fa}.quick-access-strip button[data-quick-access="Paquetería"]>span{background:linear-gradient(145deg,#8d68df,#6d45c2)}.quick-access-strip button[data-quick-access="Paquetería"]>small{color:#7650bd}.quick-access-strip button[data-quick-access="Proveedor"]{background:#eef7ff;border-color:#cfe7fa}.quick-access-strip button[data-quick-access="Proveedor"]>span{background:linear-gradient(145deg,#3d9be8,#2776c5)}.quick-access-strip button[data-quick-access="Proveedor"]>small{color:#397eaf}.quick-access-strip button[data-quick-access="Servicio"]{background:#edf9f4;border-color:#ccecdf}.quick-access-strip button[data-quick-access="Servicio"]>span{background:linear-gradient(145deg,#31ad7f,#208b64)}.quick-access-strip button[data-quick-access="Servicio"]>small{color:#288866}.quick-access-strip button:hover{transform:translateY(-2px);box-shadow:0 8px 17px rgba(34,48,79,.11)}.quick-access-strip button:active{transform:scale(.96)}.access-nip{width:190px;margin:10px auto;padding:10px;border:1px dashed #8f9bea;border-radius:10px;background:#f2f3ff}.access-nip small,.access-nip b,.access-nip em{display:block}.access-nip small{font-size:7px;color:var(--brand);font-weight:800;letter-spacing:1px}.access-nip b{font-size:23px;letter-spacing:5px;margin:3px 0}.access-nip em{font-size:7px;color:var(--muted);font-style:normal}
.homes-panel.large-home-text .map-street-block>header>span{font-size:10px}.homes-panel.large-home-text .map-street-block>header>strong{font-size:14px}.homes-panel.large-home-text .map-house{flex-basis:128px;min-height:134px}.homes-panel.large-home-text .map-house strong{font-size:19px}.homes-panel.large-home-text .map-house small{font-size:11px;font-weight:700}.homes-panel.large-home-text .map-house:before{width:25px;height:25px;font-size:13px}.homes-panel.large-home-text .house-shape{transform:scale(1.08);margin-bottom:8px}
.users-toolbar{align-items:center}.user-filters{display:flex;gap:8px}.user-filters select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px;font:9px Manrope;color:#657084}.users-list{margin-top:13px}.user-row{display:grid;grid-template-columns:40px 1.5fr .7fr 1fr .7fr .75fr 90px;gap:11px;align-items:center;padding:13px 3px;border-bottom:1px solid var(--line)}.user-row>p{margin:0}.user-row>p strong,.user-row>p small,.user-row>div small,.user-row>div strong{display:block}.user-row>p strong{font-size:10px}.user-row>p small,.user-row>div small{font-size:7px;color:var(--muted)}.user-row>div strong{font-size:8px;margin-top:3px}.user-row>button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px;font:700 8px Manrope;color:var(--brand);cursor:pointer}.user-modules-title{margin:17px 0 9px}.user-modules-title strong,.user-modules-title small{display:block}.user-modules-title strong{font-size:10px}.user-modules-title small{font-size:8px;color:var(--muted)}.user-module-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.user-module-selector label{border:1px solid var(--line);border-radius:9px;padding:9px;font-size:9px;font-weight:700;display:flex;align-items:center;gap:7px;cursor:pointer}.user-module-selector input{display:none}.user-module-selector label>span{width:18px;height:18px;border-radius:5px;background:#e4e7ed;color:transparent;display:grid;place-items:center;font-size:9px}.user-module-selector input:checked+span{background:var(--brand);color:#fff}.user-account-head{display:flex;align-items:center;gap:10px;background:#f7f8fc;border-radius:11px;padding:12px;margin-bottom:14px}.user-account-head p{margin:0}.user-account-head p strong,.user-account-head p small{display:block}.user-account-head p strong{font-size:10px}.user-account-head p small{font-size:8px;color:var(--muted)}.user-account-head>.status{margin-left:auto}.resend-invite{width:100%;margin-top:13px;border:1px dashed #aeb7cb;background:#f8f9fc;border-radius:9px;padding:10px;color:var(--brand);font:700 9px Manrope;cursor:pointer}
.dossier-residents>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.dossier-residents>header strong,.dossier-residents>header small{display:block}.dossier-residents>header strong{font-size:11px}.dossier-residents>header small{font-size:8px;color:var(--muted);margin-top:2px}.dossier-resident-card{display:grid;grid-template-columns:40px 1.2fr 1.25fr .8fr 100px;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.dossier-resident-card>p{margin:0}.dossier-resident-card>p strong,.dossier-resident-card>p small,.dossier-resident-card>div small,.dossier-resident-card>div strong,.dossier-resident-card>div em{display:block}.dossier-resident-card>p strong{font-size:11px}.dossier-resident-card>p small,.dossier-resident-card>div small{font-size:8px;color:var(--muted)}.dossier-resident-card>div strong{font-size:9px;margin-top:3px}.dossier-resident-card .dossier-user-identity{min-width:0;padding:9px 11px;border:1px solid #d9e0ff;border-radius:10px;background:#f5f7ff}.dossier-resident-card .dossier-user-identity small{font-size:8px;font-weight:800;letter-spacing:.08em;color:#69738d}.dossier-resident-card .dossier-user-identity strong{margin-top:4px;font-size:15px;line-height:1.2;font-weight:800;color:var(--brand);word-break:break-word;user-select:text}.dossier-resident-card>div em{font-size:7px;color:#a46a00;font-style:normal;margin-top:4px}.dossier-resident-card>button{border:1px solid #ccd3ff;background:#eef0ff;color:var(--brand);border-radius:8px;padding:9px;font:700 8px Manrope;cursor:pointer}
@media(max-width:900px){.users-toolbar{display:block}.user-filters{display:grid;margin-top:12px}.user-filters .search{width:100%}.user-row{grid-template-columns:40px 1fr auto}.user-row>div{grid-column:2}.user-row>span.status{grid-column:3;grid-row:1}.user-row>button{grid-column:2/4;background:var(--brand);color:#fff;border-color:var(--brand);font-size:9px}.users-metrics{grid-template-columns:1fr 1fr}.dossier-resident-card{grid-template-columns:40px 1fr}.dossier-resident-card>div,.dossier-resident-card>button{grid-column:2}.dossier-resident-card .dossier-user-identity strong{font-size:17px}.dossier-resident-card>button{background:var(--brand);color:#fff;border-color:var(--brand)}}
@media(max-width:560px){.user-module-selector{grid-template-columns:1fr}.users-metrics{grid-template-columns:1fr 1fr}.users-metrics article{min-height:110px}}
.resident-phone-body{background:linear-gradient(180deg,#f5f7ff 0,#f8f9fc 40%,#f3f5fa 100%)}.home-pass-card{border:1px solid #e6e9f2;position:relative;overflow:hidden}.home-pass-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#4458df,#25a97b)}.mobile-create-access{position:relative;overflow:hidden}.mobile-create-access:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:#ffffff0d;right:-38px;top:-50px}.resident-mobile-title{padding:2px 1px}.resident-pass{box-shadow:0 4px 12px rgba(30,43,74,.045);transition:.16s}.resident-pass:hover{border-color:#cfd5f0;transform:translateY(-1px)}.resident-phone-nav{box-shadow:0 -8px 20px rgba(35,48,80,.06)}.resident-quick-grid button{transition:.16s}.resident-quick-grid button:hover{border-color:#ccd2ea;transform:translateY(-1px)}
body.gate-valid-flash:before,body.gate-invalid-flash:before{content:"";position:fixed;inset:0;z-index:24;pointer-events:none;animation:gateScreenFlash 2.8s ease-out forwards}body.gate-valid-flash:before{background:rgba(20,185,120,.22);box-shadow:inset 0 0 0 14px #18a872,inset 0 0 120px rgba(16,169,111,.55)}body.gate-invalid-flash:before{background:rgba(225,54,67,.24);box-shadow:inset 0 0 0 14px #db3f4b,inset 0 0 120px rgba(218,54,67,.58)}body.gate-valid-flash:after,body.gate-invalid-flash:after{position:fixed;z-index:25;pointer-events:none;left:50%;top:82px;transform:translateX(-50%);border-radius:16px;padding:15px 27px;color:#fff;font:800 17px Manrope;letter-spacing:.7px;box-shadow:0 16px 40px rgba(15,25,45,.3);animation:gateBanner 2.8s ease-out forwards}body.gate-valid-flash:after{content:"✓  ACCESO AUTORIZADO";background:#11966a}body.gate-invalid-flash:after{content:"×  ACCESO NO AUTORIZADO";background:#cf3542}@keyframes gateScreenFlash{0%{opacity:0}12%{opacity:1}65%{opacity:.9}100%{opacity:0}}@keyframes gateBanner{0%{opacity:0;transform:translate(-50%,-25px) scale(.9)}12%{opacity:1;transform:translate(-50%,0) scale(1)}72%{opacity:1}100%{opacity:0;transform:translate(-50%,-8px)}}body.gate-valid-flash #gate .scanner-card,body.gate-valid-flash #gate .result-card,body.gate-valid-flash #gate .access-table{border-color:#20ad7b;box-shadow:0 0 0 4px rgba(32,173,123,.17),0 18px 45px rgba(20,135,94,.2)}body.gate-invalid-flash #gate .scanner-card,body.gate-invalid-flash #gate .result-card,body.gate-invalid-flash #gate .access-table{border-color:#df4c58;box-shadow:0 0 0 4px rgba(223,76,88,.18),0 18px 45px rgba(171,39,50,.22)}body.gate-valid-flash #gate,body.gate-invalid-flash #gate{transition:background .2s}body.gate-valid-flash #gate{background:linear-gradient(135deg,rgba(218,248,236,.82),rgba(245,250,248,.65))}body.gate-invalid-flash #gate{background:linear-gradient(135deg,rgba(255,226,229,.88),rgba(255,247,248,.7))}
@media(max-width:560px){body.gate-valid-flash:after,body.gate-invalid-flash:after{top:18px;font-size:13px;padding:13px 18px;width:max-content;max-width:88vw}body.gate-valid-flash:before{box-shadow:inset 0 0 0 8px #18a872,inset 0 0 80px rgba(16,169,111,.55)}body.gate-invalid-flash:before{box-shadow:inset 0 0 0 8px #db3f4b,inset 0 0 80px rgba(218,54,67,.58)}}
.camera-evidence{display:grid;grid-template-columns:1.15fr 1fr;gap:9px;margin:12px 0;padding:8px;border-radius:11px;background:#e9f5f0;border:1px solid #cce6da;text-align:left}.camera-frame{min-height:96px;border-radius:9px;background:linear-gradient(145deg,#253342,#15202c);color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.camera-frame>span{position:absolute;left:7px;top:7px;background:#ffffff22;border:1px solid #ffffff2e;border-radius:5px;padding:3px 5px;font-size:6px;font-weight:800}.camera-frame>i{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.5%,#ffffff10 50%,transparent 50.5%),linear-gradient(0deg,transparent 49.5%,#ffffff10 50%,transparent 50.5%);background-size:28px 28px}.camera-frame>b{font-size:29px;z-index:1}.camera-frame>small{font-size:7px;opacity:.75;z-index:1}.camera-frame>strong{font-size:9px;letter-spacing:1px;background:#fff;color:#172434;border-radius:4px;padding:3px 7px;margin-top:4px;z-index:1}.camera-frame.capturing:after{content:"";position:absolute;left:0;right:0;height:2px;background:#35e5a8;box-shadow:0 0 9px #35e5a8;animation:cameraScan 1.2s infinite}.camera-meta{display:flex;flex-direction:column;justify-content:center}.camera-meta strong,.camera-meta small{display:block}.camera-meta strong{font-size:9px}.camera-meta small{font-size:7px;color:var(--muted);line-height:1.5;margin:3px 0 6px}.camera-meta>em{font-size:7px;color:#20845f;font-style:normal;font-weight:800}.camera-meta>em i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#23aa79;margin-right:4px}.camera-meta button{border:0;background:transparent;color:var(--brand);font:700 7px Manrope;text-align:left;padding:7px 0 0;cursor:pointer}.camera-evidence.captured{background:#e6f7ef;border-color:#bfe4d4}.result-card>button:disabled{background:#8c9da5!important}.result-card:has(.camera-evidence:not(.hidden)){padding-top:14px}.result-card:has(.camera-evidence:not(.hidden)) .result-check{width:38px;height:38px;font-size:19px}.result-card:has(.camera-evidence:not(.hidden))>small{margin-top:11px}.result-card:has(.camera-evidence:not(.hidden)) h2{font-size:18px;margin-top:3px}.result-card:has(.camera-evidence:not(.hidden)) .visitor-data{margin:10px 0}@keyframes cameraScan{0%{top:12%}50%{top:86%}100%{top:12%}}
@media(max-width:560px){.camera-evidence{grid-template-columns:1fr}.camera-frame{min-height:110px}.camera-meta{padding:5px}}
.guard-preview-layout{display:grid;grid-template-columns:minmax(360px,620px) minmax(300px,1fr);gap:28px;align-items:center}.guard-stage{background:radial-gradient(circle at 50% 8%,#dceaf1,transparent 40%),linear-gradient(145deg,#f4f8fa,#e9eff3)}.guard-phone{background:#f2f6f7}.guard-phone-head{height:105px;padding:38px 19px 14px;background:linear-gradient(135deg,#172b3b,#244a58);color:#fff;display:flex;align-items:center;justify-content:space-between}.guard-phone-head>div{display:flex;align-items:center;gap:10px}.guard-phone-head p{margin:0}.guard-phone-head small,.guard-phone-head strong{display:block}.guard-phone-head small{font-size:7px;letter-spacing:1px;color:#9ec5c4}.guard-phone-head strong{font-size:15px}.guard-shift{font-size:7px;background:#1fba8330;color:#8df0cb;border:1px solid #50cfa250;border-radius:12px;padding:6px 8px}.guard-phone-body{height:524px;padding:14px 16px;overflow-y:auto;background:linear-gradient(180deg,#f2f7f8,#f6f8fa)}.guard-mobile-status{display:flex;justify-content:space-between;align-items:center;font-size:7px;color:#667584;margin-bottom:10px}.guard-mobile-status span i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#1eae79;box-shadow:0 0 0 3px #1eae7920;margin-right:4px}.guard-scan-button{width:100%;border:0;background:linear-gradient(135deg,#224f5f,#173746);color:#fff;border-radius:16px;padding:17px;display:grid;place-items:center;box-shadow:0 10px 24px rgba(25,61,73,.22);cursor:pointer}.guard-scan-button>span{font-size:30px}.guard-scan-button strong,.guard-scan-button small{display:block}.guard-scan-button strong{font-size:12px;margin-top:4px}.guard-scan-button small{font-size:7px;color:#a9c9cf}.guard-pin-divider{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;align-items:center;margin:12px 0}.guard-pin-divider span{height:1px;background:#d9e0e4}.guard-pin-divider small{font-size:6px;color:#87939d;font-weight:800}.guard-pin-entry{display:flex;gap:7px}.guard-pin-entry input{flex:1;min-width:0;border:1px solid #d7dfe4;border-radius:10px;background:#fff;padding:11px;font:700 13px Manrope;letter-spacing:1px;outline:none}.guard-pin-entry button{border:0;background:#2e5665;color:#fff;border-radius:10px;padding:0 13px;font:700 8px Manrope}.guard-mobile-result{border-radius:15px;padding:14px;margin:12px 0;background:#fff;border:1px solid #dfe5e8;text-align:center;transition:.2s}.guard-mobile-result.idle{color:#52616c}.guard-mobile-result.valid{background:#e9f8f1;border-color:#aedaC8;color:#176a4e}.guard-mobile-result.invalid{background:#fff0f1;border-color:#efb8bd;color:#aa323c}.guard-result-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#e5eaed;color:#657580;font-size:18px;font-weight:800}.guard-mobile-result.valid .guard-result-icon{background:#1faa78;color:#fff}.guard-mobile-result.invalid .guard-result-icon{background:#dc4551;color:#fff}.guard-mobile-result>small{display:block;font-size:6px;font-weight:900;letter-spacing:1px;margin-top:8px}.guard-mobile-result h2{font-size:14px;margin:4px 0}.guard-mobile-result>p{font-size:7px;margin:0;color:inherit}.guard-mobile-data{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px;text-align:left}.guard-mobile-data>div{background:#ffffffb8;border:1px solid #d7e7df;border-radius:8px;padding:7px}.guard-mobile-data small,.guard-mobile-data strong{display:block}.guard-mobile-data small{font-size:6px;color:#81908a}.guard-mobile-data strong{font-size:8px;margin-top:2px}.guard-confirm-mobile{width:100%;border:0;background:#168f65;color:#fff;border-radius:9px;padding:10px;margin-top:9px;font:800 8px Manrope}.guard-confirm-mobile:disabled{background:#93aaa1}.guard-recent-title{display:flex;justify-content:space-between;align-items:center;margin:11px 0 6px}.guard-recent-title strong{font-size:10px}.guard-recent-title button{border:0;background:transparent;color:#2d6474;font:700 7px Manrope}.guard-mobile-recent{display:grid;gap:6px}.guard-mobile-recent>div{display:grid;grid-template-columns:27px 1fr auto;align-items:center;gap:7px;background:#fff;border:1px solid #e0e6e9;border-radius:10px;padding:8px}.guard-mobile-recent>div>span{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;font-weight:800}.guard-mobile-recent>div>span.inside{background:#ddf4e9;color:#16865f}.guard-mobile-recent>div>span.waiting{background:#fff0d8;color:#b8790f}.guard-mobile-recent p{margin:0}.guard-mobile-recent strong,.guard-mobile-recent small{display:block}.guard-mobile-recent strong{font-size:8px}.guard-mobile-recent small{font-size:6px;color:var(--muted)}.guard-mobile-recent b{font-size:6px;color:#70808b}.guard-phone-nav button.active{color:#235968}.guard-phone-nav button.central span{background:#1f5363}
@media(max-width:900px){.guard-preview-layout{grid-template-columns:1fr}.guard-preview-layout .resident-flow-panel{display:none}.guard-stage{min-height:0;padding:0;background:transparent;border:0}.guard-phone{width:min(100%,390px);height:calc(100vh - 145px);min-height:620px;border-width:5px}}
.agenda-toolbar{align-items:center}.agenda-filters{display:flex;gap:8px}.agenda-filters select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px;font:9px Manrope;color:#657084}.agenda-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;align-items:start}.agenda-column{background:#f7f8fb;border:1px solid #e6e9ef;border-radius:12px;padding:10px}.agenda-column>header{display:flex;align-items:center;gap:7px;padding:2px 2px 10px}.agenda-column>header>span{width:8px;height:8px;border-radius:50%;background:#e4a329}.agenda-column.progress>header>span{background:#4962dc}.agenda-column.done>header>span{background:#24a979}.agenda-column>header strong{font-size:10px}.agenda-column>header b{margin-left:auto;background:#fff;border:1px solid var(--line);border-radius:9px;min-width:20px;text-align:center;padding:3px;font-size:7px}.agenda-column>div{display:grid;gap:8px}.agenda-task{width:100%;border:1px solid #e0e4eb;background:#fff;border-radius:10px;padding:11px;text-align:left;cursor:pointer;box-shadow:0 4px 10px rgba(29,41,70,.045);transition:.16s}.agenda-task:hover{transform:translateY(-2px);border-color:#cbd2e5;box-shadow:0 8px 18px rgba(29,41,70,.08)}.agenda-task>div{display:flex;align-items:center;justify-content:space-between}.agenda-priority{font-size:6px;font-weight:900;border-radius:8px;padding:4px 6px}.agenda-priority.alta{background:#ffe4e7;color:#c5414b}.agenda-priority.media{background:#fff0d8;color:#ad7213}.agenda-priority.baja{background:#e4f4ec;color:#287d60}.agenda-task em{font-size:6px;color:#d3434e;font-style:normal;font-weight:900}.agenda-task>strong,.agenda-task>small{display:block}.agenda-task>strong{font-size:10px;line-height:1.35;margin-top:9px;color:#263249}.agenda-task>small{font-size:7px;color:var(--brand);margin-top:3px}.agenda-task footer{display:flex;justify-content:space-between;border-top:1px solid #eef0f4;margin-top:10px;padding-top:8px;color:#8590a2;font-size:7px}.agenda-empty{text-align:center;color:var(--muted);font-size:8px;padding:25px 5px;margin:0}.agenda-notes{grid-column:1/-1}
@media(max-width:900px){.agenda-board{grid-template-columns:1fr}.agenda-toolbar{display:block}.agenda-filters{margin-top:12px}.agenda-filters select{flex:1}.agenda-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.agenda-filters{display:grid}.agenda-metrics{grid-template-columns:1fr 1fr}.agenda-metrics article{min-height:110px}}
.dashboard-agenda{margin-top:14px}.dashboard-agenda-summary{display:flex;gap:8px;margin:14px 0 7px}.dashboard-agenda-summary span{background:#f4f6fa;border:1px solid #e8ebf1;border-radius:9px;padding:7px 10px;font-size:8px;color:#687387}.dashboard-agenda-summary b{color:#27334a;font-size:11px;margin-right:3px}.dashboard-agenda-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.dashboard-agenda-list>button{border:1px solid #e4e7ed;background:#fff;border-radius:10px;padding:10px;display:grid;grid-template-columns:22px 1fr auto 10px;align-items:center;gap:8px;text-align:left;cursor:pointer}.dashboard-agenda-list>button:hover{border-color:#cfd5e9;background:#fafbff}.agenda-check{width:18px;height:18px;border:2px solid #d8a02e;border-radius:6px}.agenda-check.active{border-color:#5064d8;background:#5064d8;box-shadow:inset 0 0 0 4px #fff}.dashboard-agenda-list p{margin:0}.dashboard-agenda-list strong,.dashboard-agenda-list small{display:block}.dashboard-agenda-list strong{font-size:9px}.dashboard-agenda-list small{font-size:7px;color:var(--muted);margin-top:2px}.dashboard-agenda-list time{font-size:7px;color:#7c8799}.dashboard-agenda-list>button>b{color:var(--brand)}.dashboard-agenda-empty{grid-column:1/-1;text-align:center;color:var(--muted);font-size:8px;padding:18px}
.dashboard-agenda>.panel-title>button{border:0;background:linear-gradient(135deg,#4659df,#3447c8);color:#fff;border-radius:9px;padding:10px 14px;font:800 9px Manrope;box-shadow:0 6px 16px #3447d436;cursor:pointer;transition:transform .15s,box-shadow .15s}.dashboard-agenda>.panel-title>button:hover{transform:translateY(-1px);box-shadow:0 9px 20px #3447d44d}.dashboard-agenda>.panel-title>button:active{transform:translateY(0)}
.metrics .dashboard-shortcut{cursor:pointer;position:relative;overflow:hidden;transition:transform .16s,box-shadow .16s,border-color .16s}.metrics .dashboard-shortcut:after{content:"›";position:absolute;right:16px;top:15px;width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:#fff9;font-size:20px;font-weight:900}.metrics .dashboard-shortcut:hover,.metrics .dashboard-shortcut:focus{transform:translateY(-3px);box-shadow:0 12px 28px #1522471f;outline:0}.metrics .dashboard-shortcut>em{font-weight:800}.metric-icon.strong-orange{background:#ffdfc2;color:#d94b08}.shortcut-access{background:linear-gradient(145deg,#dff7ec,#f9fffc)!important;border:2px solid #55c995!important}.shortcut-access>em,.shortcut-access>div small{color:#087a50!important}.shortcut-agenda{background:linear-gradient(145deg,#e4eaff,#fbfcff)!important;border:2px solid #7888ed!important}.shortcut-agenda>em,.shortcut-agenda>div small{color:#3047c7!important}.shortcut-finance{background:linear-gradient(145deg,#fff0cf,#fffaf0)!important;border:2px solid #f2ad36!important}.shortcut-finance>em,.shortcut-finance>div small{color:#a95805!important}.shortcut-attention{background:linear-gradient(145deg,#ffe1ca,#fff6ef)!important;border:2px solid #f97316!important}.shortcut-attention>em,.shortcut-attention>div small{color:#c2410c!important}.shortcut-access:hover{box-shadow:0 12px 28px #159a642d!important}.shortcut-agenda:hover{box-shadow:0 12px 28px #4358d82d!important}.shortcut-finance:hover{box-shadow:0 12px 28px #e38a102f!important}.shortcut-attention:hover{box-shadow:0 12px 28px #f15c122f!important}
.assistant-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:15px;align-items:start}.assistant-actions>h2{font-size:17px;margin:0}.assistant-actions>p{font-size:9px;color:var(--muted);margin:4px 0 14px}.assistant-actions>button{width:100%;display:grid;grid-template-columns:38px 1fr;column-gap:10px;text-align:left;align-items:center;border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px;margin-top:7px;cursor:pointer;color:var(--ink)}.assistant-actions>button:hover{border-color:#aeb7ef;background:#f7f8ff}.assistant-actions>button>span{grid-row:1/3;width:38px;height:38px;border-radius:10px;background:#e9ecff;color:var(--brand);display:grid;place-items:center;font-size:18px}.assistant-actions>button strong,.assistant-actions>button small{display:block}.assistant-actions>button strong{font:800 10px Manrope}.assistant-actions>button small{font:7px Manrope;color:var(--muted);margin-top:2px}.assistant-conversation{padding:0;overflow:hidden;min-height:600px;display:flex;flex-direction:column}.assistant-conversation>header{display:flex;align-items:center;gap:11px;padding:17px 20px;border-bottom:1px solid var(--line);background:#fafbff}.assistant-conversation>header>span{width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#485be2,#3041b7);color:#fff;display:grid;place-items:center;font-weight:900}.assistant-conversation>header strong,.assistant-conversation>header small{display:block}.assistant-conversation>header strong{font-size:12px}.assistant-conversation>header small{font-size:8px;color:var(--muted);margin-top:3px}.assistant-conversation>header i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green)}.assistant-messages{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1;overflow-y:auto;max-height:540px}.assistant-message{max-width:82%;border-radius:14px;padding:13px 15px}.assistant-message.assistant{align-self:flex-start;background:#f0f2ff;border:1px solid #dfe3ff}.assistant-message.user{align-self:flex-end;background:#3348ce;color:#fff}.assistant-message strong,.assistant-message span{display:block}.assistant-message strong{font-size:10px;margin-bottom:4px}.assistant-message span{font-size:9px;line-height:1.55;white-space:pre-line}.assistant-message .assistant-list{margin:8px 0 0;padding-left:17px;font-size:9px;line-height:1.7}.assistant-conversation>footer{border-top:1px solid var(--line);padding:12px 20px;color:var(--muted);font-size:8px;text-align:center}.assistant-form-note{background:#fff7e8;border:1px solid #f0deb8;border-radius:9px;padding:10px;margin-top:12px;font-size:8px;color:#87611c}@media(max-width:850px){.assistant-layout{grid-template-columns:1fr}.assistant-conversation{min-height:480px}.assistant-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.assistant-actions>h2,.assistant-actions>p{grid-column:1/-1}.assistant-actions>button{margin:0}}@media(max-width:560px){.assistant-actions{grid-template-columns:1fr}.assistant-actions>h2,.assistant-actions>p{grid-column:auto}.assistant-message{max-width:95%}}
.assistant-chat-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 18px;border-top:1px solid var(--line)}.assistant-chat-form input{min-width:0;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:11px 13px;font:10px Manrope;outline:0}.assistant-chat-form input:focus{border-color:#7481e8;box-shadow:0 0 0 3px #4659d812}.assistant-chat-form button{border:0;background:var(--brand);color:#fff;border-radius:9px;padding:0 17px;font:800 9px Manrope;cursor:pointer}.assistant-config-note{margin:15px 0;padding:12px;background:#eef0ff;border:1px solid #dce1ff;border-radius:10px;color:#59647b;font-size:9px}.assistant-knowledge-list{display:grid;gap:9px}.assistant-knowledge-item{display:grid;grid-template-columns:minmax(180px,1fr) 2fr 150px auto;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:11px}.assistant-knowledge-item p{margin:0}.assistant-knowledge-item strong,.assistant-knowledge-item small{display:block}.assistant-knowledge-item strong{font-size:10px}.assistant-knowledge-item small{font-size:8px;color:var(--muted);margin-top:3px}.assistant-knowledge-item>span{font-size:9px;color:#566176}.assistant-knowledge-item>em{font-style:normal;font-size:8px;background:#e9ecff;color:var(--brand);padding:6px 8px;border-radius:10px;text-align:center}.assistant-knowledge-actions{display:flex;gap:6px}.assistant-knowledge-actions button{border:1px solid var(--line);background:#fff;color:var(--brand);border-radius:8px;padding:7px 9px;font:800 8px Manrope;cursor:pointer}.assistant-knowledge-actions button.delete{color:var(--red);border-color:#efcdd1;background:#fff5f6}.theme-dark .assistant-chat-form input,.theme-dark .assistant-knowledge-actions button,.theme-dark .assistant-knowledge-item{background:#292e37;color:var(--ink);border-color:#414854}.theme-dark .assistant-config-note{background:#30364b;border-color:#424b72;color:#c3c9dd}@media(max-width:850px){.assistant-knowledge-item{grid-template-columns:1fr}.assistant-knowledge-actions{justify-content:flex-end}}
.assistant-answer-field{grid-column:1/-1}.assistant-answer-field textarea{width:100%;resize:vertical;border:1px solid #dfe3eb;border-radius:9px;padding:11px;background:#fafbfc;color:var(--ink);font:10px Manrope;outline:0}.assistant-answer-field textarea:focus{border-color:#7481e8;box-shadow:0 0 0 3px #4659d812}.theme-dark .assistant-answer-field textarea{background:#292e37;border-color:#414854;color:var(--ink)}
.settings-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.settings-overview>button{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:12px;padding:14px;cursor:pointer}.settings-overview>button>span{width:40px;height:40px;border-radius:11px;background:#edf0ff;color:var(--brand);display:grid;place-items:center;font-size:19px;flex:none}.settings-overview p{margin:0}.settings-overview strong,.settings-overview small{display:block}.settings-overview strong{font-size:10px}.settings-overview small{font-size:7px;color:var(--muted);margin-top:3px}.settings-overview>button.active{border-color:#7180e6;background:#f3f5ff;box-shadow:0 0 0 3px #4659d812}.settings-overview>button:disabled{cursor:not-allowed;opacity:.58}.settings-panel{display:none}.settings-panel.active{display:block}.settings-panel .module-manager{margin-top:0}.theme-dark .settings-overview>button{background:#292e37;border-color:#414854;color:var(--ink)}.theme-dark .settings-overview>button.active{background:#30364b;border-color:#6674c8}@media(max-width:900px){.settings-overview{grid-template-columns:1fr 1fr}}@media(max-width:560px){.settings-overview{grid-template-columns:1fr}}
.theme-dark .dashboard-shortcut.shortcut-access{background:linear-gradient(145deg,#173b31,#222b29)!important;border-color:#2faa78!important}.theme-dark .dashboard-shortcut.shortcut-agenda{background:linear-gradient(145deg,#242d55,#252a38)!important;border-color:#6679e3!important}.theme-dark .dashboard-shortcut.shortcut-finance{background:linear-gradient(145deg,#49351d,#2d2b28)!important;border-color:#d99125!important}.theme-dark .dashboard-shortcut.shortcut-attention{background:linear-gradient(145deg,#512b1c,#312925)!important;border-color:#f97316!important}.theme-dark .shortcut-access>em,.theme-dark .shortcut-access>div small{color:#70ddb1!important}.theme-dark .shortcut-agenda>em,.theme-dark .shortcut-agenda>div small{color:#aebaff!important}.theme-dark .shortcut-finance>em,.theme-dark .shortcut-finance>div small{color:#ffc56d!important}.theme-dark .shortcut-attention>em,.theme-dark .shortcut-attention>div small{color:#ffad73!important}
.map-vehicle-chip{position:absolute;right:7px;top:7px;border:1px solid #d6dce5;background:#fff;color:#4e5b6e;border-radius:8px;padding:4px 6px;font:800 7px Manrope;box-shadow:0 2px 6px #1b294015}.map-vehicle-chip.has-car{background:#e5f7ef;border-color:#bfe8d7;color:#147a58}.map-vehicle-chip.no-car{background:#f0f2f5;color:#7e8795}.map-physical-status{display:block;max-width:100%;margin-top:5px;border-radius:9px;padding:4px 7px;font:800 7px Manrope;font-style:normal;white-space:nowrap}.map-house.rented{border-top-color:#3f65dd}.map-house.rented .map-physical-status{background:#e7edff;color:#3154c2}.map-house.construction{border-top-color:#8b4dcc;background:#f5edff}.map-house.construction .map-physical-status{background:#eadcff;color:#7131ad}.map-house.pending-activation{border-top-color:#e79a12}.map-house.pending-activation .map-physical-status{background:#fff0d4;color:#a96608}.home-state-controls{margin-top:15px}.theme-dark .map-vehicle-chip{background:#303640;border-color:#47505d;color:#dbe0e8}.theme-dark .map-vehicle-chip.has-car{background:#1f493b;border-color:#34715c;color:#85e1bd}.theme-dark .map-house.construction{background:#33283e}.theme-dark .map-house.rented .map-physical-status{background:#29365c;color:#b6c4ff}.theme-dark .map-house.construction .map-physical-status{background:#49315f;color:#ddbaff}.theme-dark .map-house.pending-activation .map-physical-status{background:#4b391e;color:#ffd28a}
.theme-toggle{height:35px;border:1px solid var(--line);background:#fff;color:#596579;border-radius:9px;padding:0 11px;display:flex;align-items:center;gap:6px;font:800 8px Manrope;cursor:pointer}.theme-toggle span{font-size:15px}.theme-dark{--bg:#171a20;--ink:#f1f3f7;--muted:#a4adba;--line:#383e49;--shadow:0 8px 22px rgba(0,0,0,.24);color-scheme:dark}.theme-dark,.theme-dark main{background:#171a20}.theme-dark .sidebar,.theme-dark .topbar,.theme-dark .panel,.theme-dark .metrics article,.theme-dark .scanner-card,.theme-dark .result-card,.theme-dark .modal,.theme-dark .auth-card{background:#22262e;color:var(--ink);border-color:var(--line)}.theme-dark .property,.theme-dark .search,.theme-dark .connection,.theme-dark .form-field input,.theme-dark .form-field select,.theme-dark .panel-title select,.theme-dark .panel-title button,.theme-dark .primary+.secondary,.theme-dark .secondary,.theme-dark .theme-toggle,.theme-dark .icon-button,.theme-dark .help{background:#2b3039;color:#e5e8ee;border-color:#414854}.theme-dark .sidebar nav button,.theme-dark .side-section button{color:#bcc4d0}.theme-dark .sidebar nav button.active{background:#353b58;color:#fff}.theme-dark .notice{background:#20362f;border-color:#315347;color:#a9e2cf}.theme-dark .dashboard-shortcut.shortcut-access,.theme-dark .dashboard-shortcut.shortcut-agenda,.theme-dark .dashboard-shortcut.shortcut-finance,.theme-dark .dashboard-shortcut.shortcut-attention{background:linear-gradient(145deg,#292e38,#22262e)!important;border-color:#414854!important}.theme-dark .metrics .dashboard-shortcut:after{background:#343a45;color:#e9ecf2}.theme-dark .admin-tabs,.theme-dark .admin-community-card,.theme-dark .admin-vendor-grid article,.theme-dark .module-card,.theme-dark .assistant-actions>button,.theme-dark .dashboard-agenda-list>button,.theme-dark .agenda-calendar,.theme-dark .agenda-day,.theme-dark .agenda-weekday,.theme-dark .access-report-filters,.theme-dark .access-report-filters input,.theme-dark .access-report-filters select{background:#252a32;color:var(--ink);border-color:var(--line)}.theme-dark .admin-tabs button{color:#b9c1ce}.theme-dark .admin-tabs button.active{background:#5263db;color:#fff}.theme-dark .agenda-day.outside,.theme-dark .map-street-block,.theme-dark .street-group>header,.theme-dark .home-summary>div,.theme-dark .visitor-data div,.theme-dark .admin-summary-numbers p,.theme-dark .assistant-conversation>header{background:#292e37}.theme-dark .agenda-day:hover{background:#303746}.theme-dark table th,.theme-dark table td,.theme-dark .activity-list>div,.theme-dark .resident-list>div{border-color:#393f49}.theme-dark .modal-overlay{background:rgba(5,7,11,.72)}.theme-dark .modal form,.theme-dark .modal header{background:#22262e;color:var(--ink);border-color:var(--line)}.theme-dark .assistant-message.assistant{background:#30364b;border-color:#424b72}.theme-dark .assistant-conversation>footer{border-color:var(--line)}.theme-dark .monitor-movement-window article,.theme-dark .guard-validation-window article{background:#22262e;color:var(--ink)}.theme-dark .monitor-destination,.theme-dark .monitor-movement-data p{background:#292f38;border-color:var(--line)}.theme-dark .access-report-table table,.theme-dark .admin-table-wrap table{color:var(--ink)}.theme-dark .status.gray{background:#3a414c;color:#d6dbe3}@media(max-width:650px){.theme-toggle strong{display:none}.theme-toggle{padding:0;width:35px;justify-content:center}}
@media(max-width:760px){.dashboard-agenda-list{grid-template-columns:1fr}.dashboard-agenda-summary{overflow-x:auto}.dashboard-agenda-summary span{white-space:nowrap}}
/* Aislamiento de la interfaz móvil de vigilancia del layout administrativo */
main.guard-phone-body,.guard-phone-body{margin:0!important;width:100%!important;max-width:none!important;height:524px!important;padding:14px 16px 78px!important;overflow-x:hidden!important;overflow-y:auto!important;display:block!important}.guard-phone-body>*{width:100%;max-width:100%}.guard-mobile-status{width:100%}.guard-scan-button{width:100%;min-height:112px}.guard-pin-divider{width:100%}.guard-pin-divider small{white-space:nowrap}.guard-pin-entry{display:grid!important;grid-template-columns:minmax(0,1fr) 82px;width:100%}.guard-pin-entry input{width:100%!important;min-width:0!important}.guard-pin-entry button{width:82px;padding:0 9px}.guard-mobile-result{width:100%;overflow:hidden}.guard-mobile-result h2,.guard-mobile-result>p,.guard-mobile-data strong{overflow-wrap:anywhere}.guard-mobile-data{width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}.guard-mobile-data>div{min-width:0;padding:8px}.guard-mobile-recent{width:100%}.guard-mobile-recent>div{grid-template-columns:30px minmax(0,1fr) auto;padding:9px}.guard-mobile-recent p{min-width:0}.guard-mobile-recent strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guard-result-icon{width:42px;height:42px;font-size:20px}.guard-mobile-result h2{font-size:16px}.guard-mobile-result>p{font-size:8px}.guard-confirm-mobile{font-size:9px;padding:11px}
@media(max-width:430px){.guard-phone{width:100%;height:calc(100vh - 118px);min-height:610px;border-width:4px;border-radius:28px}.guard-phone-head{padding-left:15px;padding-right:15px}.guard-phone-body,main.guard-phone-body{height:calc(100% - 105px)!important;padding:12px 13px 76px!important}.guard-scan-button{min-height:105px}.guard-mobile-result{padding:12px}.guard-shift{padding:5px 7px}}

/* Lectura cómoda: aumenta textos operativos sin cambiar los componentes. */
body{font-size:15px}
.sidebar button,.side-section button,.topbar,.top-actions input,button,input,select,textarea{font-size:14px!important}
.page-heading p,.panel-title p,.notice p,.metric p,.panel small,small{font-size:12px!important;line-height:1.5}
.page-heading h1{font-size:30px!important}.panel h2,.panel-title h2{font-size:18px!important}
table th{font-size:11px!important}table td{font-size:13px!important}
.resident-phone{font-size:13px}.resident-phone small,.guard-phone small{font-size:10px!important}
.resident-phone strong,.guard-phone strong{font-size:13px!important}

/* Formularios emergentes: distribución amplia y lectura clara. */
.modal{width:min(780px,calc(100vw - 32px))!important;max-height:92vh;overflow:auto}
.modal header{padding:25px 30px 20px!important}.modal h2{font-size:23px!important}.modal header small{font-size:11px!important}
.modal form{padding:25px 30px 28px!important}.modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
.modal .form-field span{font-size:12px!important;margin-bottom:8px!important}.modal .form-field input,.modal .form-field select{font-size:15px!important;padding:13px 14px!important;min-height:48px}
.modal .form-field:has([name="name"]),.modal .form-field:has([name="car"]),.modal .form-field:has([name="notes"]),.modal .form-field:has([name="description"]){grid-column:1/-1}
.modal footer{margin-top:25px!important;padding-top:20px!important}.modal footer button{font-size:15px!important;padding:12px 18px!important}
@media(max-width:620px){.modal{width:calc(100vw - 20px)!important}.modal header,.modal form{padding-left:18px!important;padding-right:18px!important}.modal .form-grid{grid-template-columns:1fr!important;gap:14px!important}.modal .form-field:has([name]){grid-column:auto}}

/* Permite recorrer todo el menú cuando hay más módulos que alto de pantalla. */
.sidebar{height:100vh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.sidebar nav,.sidebar .side-section{flex-shrink:0}
@media(max-width:900px){.sidebar{height:auto;max-height:calc(100vh - 12px);overflow-y:auto}}
.visitor-data .access-count{grid-column:1/-1;background:#e9efff;border:1px solid #cfdcff;text-align:center;padding:13px;border-radius:10px}.visitor-data .access-count small{color:#334fbd!important;font-weight:800}.visitor-data .access-count strong{display:block;font-size:27px!important;color:#1c3ba5;margin-top:3px}

/* Centro de caseta: captura directa y legible de NIP. */
.gate-nip-card{display:flex;flex-direction:column;justify-content:center;min-height:360px;padding:32px!important}.gate-nip-card .scanner-head{align-items:center;padding-bottom:24px;border-bottom:1px solid #e8ebf1}.gate-nip-card .scanner-head>span{width:54px;height:54px;font-size:13px;letter-spacing:3px}.gate-nip-card .scanner-head h2{font-size:21px}.gate-nip-card .scanner-head p{font-size:13px;line-height:1.5;margin-top:5px}.nip-capture{display:block;margin:30px 0 18px;text-align:left}.nip-capture>span{display:block;margin-bottom:9px;color:#62708a;font-size:11px;font-weight:800;letter-spacing:1px}.nip-capture input{width:100%;height:76px;border:2px solid #cfd6e6;border-radius:13px;background:#f8f9fd;color:#17233e;font:800 34px Manrope;letter-spacing:13px;text-align:center;outline:none}.nip-capture input::placeholder{color:#aab5cf;letter-spacing:10px}.nip-capture input:focus{border-color:#4053e7;box-shadow:0 0 0 5px #4053e71a}.nip-capture small{display:block;margin-top:10px;color:#7e899c;font-size:11px}.gate-nip-card .manual{display:block}.gate-nip-card .manual button{width:100%;min-height:58px;border-radius:11px;font-size:15px}.result-card .visitor-data{gap:12px;margin:22px 0}.result-card .visitor-data div{padding:14px 15px;border-radius:10px}.result-card .visitor-data small{font-size:10px}.result-card .visitor-data strong{font-size:14px;margin-top:5px}.result-card>p{font-size:12px;line-height:1.45}.result-card h2{font-size:25px}
@media(max-width:1000px){.gate-nip-card{min-height:auto}.nip-capture input{height:68px}}

/* Estados y seguimiento de uso del NIP en control de visitantes. */
.status.purple{background:#f0e8ff;color:#7542a9}.access-table tbody tr.visitor-row-expected{box-shadow:inset 4px 0 0 #e5a62b}.access-table tbody tr.visitor-row-inside{box-shadow:inset 4px 0 0 #25ad7d}.access-table tbody tr.visitor-row-exited{box-shadow:inset 4px 0 0 #8952b9}.nip-usage{display:block;margin-top:6px;color:#647088!important;font-size:10px!important;font-weight:800}.visitor-row-expected .nip-usage{color:#ad7610!important}.visitor-row-inside .nip-usage{color:#17845e!important}.visitor-row-exited .nip-usage{color:#7542a9!important}.access-table .reveal-code{display:block;margin-top:7px}.expected-pass-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:7px}.access-table .expected-pass-actions .reveal-code{margin-top:0}.cancel-expected-pass{border:1px solid #ef9a9a!important;background:#fff1f2!important;color:#b4232f!important;font-weight:800!important}.cancel-expected-pass:hover{background:#ffe3e6!important}
.access-history{margin-top:16px}.access-history td{vertical-align:middle}.access-history-empty{text-align:center;color:#7e899c;padding:26px!important;font-size:12px!important}
.guard-nip-label{display:block;margin:18px 0 7px;color:#526371;font-size:8px;font-weight:900;letter-spacing:1px}.guard-pin-entry input{letter-spacing:4px;text-align:center}
.gate-count-screen{position:fixed;inset:0;z-index:1000;background:#079b68;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:inset 0 0 0 14px #52d69f}.gate-count-screen small{font-size:24px!important;letter-spacing:3px;font-weight:900}.gate-count-screen strong{font-size:min(34vw,310px);line-height:1;font-weight:900;letter-spacing:-8px;margin:20px 0;text-shadow:0 7px 0 #057a51}.gate-count-screen span{font-size:20px;font-weight:800;letter-spacing:4px}@media(max-width:600px){.gate-count-screen strong{font-size:26vw;letter-spacing:-4px}.gate-count-screen small{font-size:16px!important}.gate-count-screen span{font-size:13px}}

/* Credencial esperada en caseta: lectura rápida a distancia. */
.modal .guard-code-request{display:grid!important;grid-template-columns:78px minmax(0,1fr)!important;gap:18px!important;align-items:center!important;padding:22px!important;background:#f4f6ff!important;border:1px solid #d8def9!important;border-radius:14px!important}.modal .guard-code-request>span{width:64px!important;height:64px!important;display:grid!important;place-items:center!important;border-radius:14px!important;background:#e1e7ff!important;color:#3550dd!important;font-size:31px!important}.modal .guard-code-request p{margin:0!important}.modal .guard-code-request p small{font-size:12px!important;font-weight:900!important;letter-spacing:1px!important}.modal .guard-code-request p strong{font-size:24px!important;line-height:1.2!important;margin:4px 0!important}.modal .guard-code-request p em{font-size:13px!important;line-height:1.45!important}.modal .guard-code-request code{grid-column:1/-1!important;display:block!important;background:#132543!important;color:#fff!important;border-radius:12px!important;padding:17px 20px!important;text-align:center!important;font:800 25px/1.2 Manrope,monospace!important;letter-spacing:1.5px!important;word-spacing:8px!important}@media(max-width:620px){.modal .guard-code-request{grid-template-columns:1fr!important;text-align:center!important}.modal .guard-code-request>span{margin:auto}.modal .guard-code-request code{font-size:19px!important;padding:15px 10px!important}}
.modal .invitation-code .copy-invitation-code{grid-column:1/-1;border:0;border-radius:10px;background:#3450dd;color:#fff;padding:13px;font:800 11px Manrope;cursor:pointer}.resend-invite:disabled{cursor:not-allowed;opacity:.58;color:#7e899c}
.delete-user-account{margin-right:auto!important;background:#fff5f5!important;border-color:#e8a9ad!important;color:#bd2834!important}.delete-user-warning{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #f0c4c7;border-radius:12px;background:#fff4f5}.delete-user-warning>span{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#d83d49;color:#fff;font-size:23px;font-weight:900}.delete-user-warning p{margin:0}.delete-user-warning strong,.delete-user-warning small{display:block}.delete-user-warning strong{font-size:15px}.delete-user-warning small{margin-top:5px;color:#765a5d;font-size:10px;line-height:1.5}
.guard-mobile-recent>div>button{border:0;background:#eef2f4;color:#285a69;border-radius:8px;padding:7px;font:800 6px Manrope;cursor:pointer}.load-demo-credential{width:100%;margin-top:12px;border:1px solid #d8deeb;background:#f5f7fb;color:var(--brand);border-radius:9px;padding:10px;font:800 8px Manrope;cursor:pointer}.guard-scan-button.scanning{background:linear-gradient(135deg,#168964,#0c6f51);box-shadow:0 0 0 5px rgba(28,177,128,.16),0 12px 28px rgba(20,124,90,.25);animation:guardScannerPulse 1s infinite alternate}@keyframes guardScannerPulse{from{transform:scale(.99)}to{transform:scale(1)}}
.access-table tbody tr{transition:background .2s,opacity .2s}.access-table tbody tr.visitor-row-expected{background:#fffdf8}.access-table tbody tr.visitor-row-expected td:first-child{border-left:3px solid #e5a01f}.access-table tbody tr.visitor-row-inside{background:#f1fbf6}.access-table tbody tr.visitor-row-inside td:first-child{border-left:3px solid #20a978}.access-table tbody tr.visitor-row-exited{background:#fff1f2;opacity:.58}.access-table tbody tr.visitor-row-exited td:first-child{border-left:3px solid #d9505b}.access-table tbody tr.visitor-row-exited td{text-decoration-color:#d7a3a7}.access-table tbody tr.visitor-row-exited strong{color:#875c61}.access-table .tabs{flex-wrap:nowrap}.access-table .tabs button{white-space:nowrap}
/* Estados del contador NIP: verde primer uso, amarillo último uso, rojo agotado. */
.result-card.warning{background:linear-gradient(180deg,#fff7df,#fffdf7);border-color:#e7bd60;color:#76520d}
.result-card.warning .result-check{background:var(--amber);box-shadow:0 0 0 8px #ffedbd}
.result-card.warning>small{color:#a66b06}.result-card.warning>p{color:#765f32}
.result-card.warning>button:first-of-type{background:#c98714}
.guard-mobile-result.warning{background:#fff6dc;border-color:#e6bd62;color:#78540f}
.guard-mobile-result.warning .guard-result-icon{background:var(--amber);color:#fff}
body.gate-warning-flash:before{content:"";position:fixed;inset:0;z-index:24;pointer-events:none;animation:gateScreenFlash 2.8s ease-out forwards;background:rgba(238,174,37,.22);box-shadow:inset 0 0 0 14px #d99816,inset 0 0 120px rgba(220,150,28,.48)}
body.gate-warning-flash:after{content:"!  ÚLTIMO USO AUTORIZADO";position:fixed;z-index:25;pointer-events:none;left:50%;top:82px;transform:translateX(-50%);border-radius:16px;padding:15px 27px;color:#fff;font:800 17px Manrope;letter-spacing:.7px;box-shadow:0 16px 40px rgba(15,25,45,.3);animation:gateBanner 2.8s ease-out forwards;background:#c9820d}
body.gate-warning-flash #gate .scanner-card,body.gate-warning-flash #gate .result-card,body.gate-warning-flash #gate .access-table{border-color:#d99816;box-shadow:0 0 0 4px rgba(217,152,22,.18),0 18px 45px rgba(166,108,15,.2)}
/* Autenticación */
.auth-screen{--auth-blue:#3156df;--auth-green:#36b963;--auth-text:#111b31;--auth-muted:#68748a;--auth-border:#dce3ef;position:fixed;inset:0;z-index:100;overflow:auto;background:radial-gradient(circle at 72% 18%,#e7ecff 0,transparent 33%),linear-gradient(135deg,#fff 0,#f7f9fe 52%,#eef3fb 100%);color:var(--auth-text)}
.auth-screen.authenticated{display:none}.auth-screen:not(.authenticated)~.app-shell{display:none}.auth-layout{width:min(1440px,100%);min-height:100vh;min-height:100dvh;margin:auto;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(480px,.95fr);grid-template-rows:1fr auto;position:relative}.auth-story{position:relative;min-height:720px;padding:34px clamp(42px,6vw,92px) 110px;display:flex;flex-direction:column;overflow:hidden}.auth-brand,.auth-mobile-brand{display:flex;align-items:center;gap:10px}.auth-brand>span{width:48px;height:48px}.auth-brand img,.auth-mobile-brand img{width:100%;height:100%;object-fit:contain}.auth-brand strong,.auth-mobile-brand strong{font-size:26px;letter-spacing:-1.2px}.auth-brand em,.auth-mobile-brand em,.auth-promise h1 em{color:var(--auth-green);font-style:normal}.auth-promise{margin:auto 0;max-width:510px;position:relative;z-index:2}.auth-promise>.eyebrow{font-size:10px;color:var(--auth-blue);letter-spacing:2px;margin:0 0 15px}.auth-promise h1{font-size:clamp(42px,4.2vw,64px);line-height:1.08;letter-spacing:-2.7px;margin:0 0 18px}.auth-promise>p:not(.eyebrow){max-width:470px;color:var(--auth-muted);font-size:16px;line-height:1.65;margin:0}.auth-benefits{display:grid;gap:18px;margin-top:34px}.auth-benefits article{display:flex;align-items:center;gap:15px}.auth-benefits article>span{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex:none;background:#edf1ff;color:var(--auth-blue);font-size:22px;font-weight:900}.auth-benefits article:nth-child(2)>span{background:#ebf9ee;color:var(--auth-green)}.auth-benefits article:nth-child(3)>span{background:#f1ebff;color:#7157dc}.auth-benefits p{margin:0}.auth-benefits strong,.auth-benefits small{display:block}.auth-benefits strong{font-size:13px}.auth-benefits small{max-width:320px;color:var(--auth-muted);font-size:10px;line-height:1.45;margin-top:3px}.auth-priority{position:relative;z-index:2;margin:0;color:#7e899c;font-size:10px}.auth-priority span{margin-right:7px;color:var(--auth-blue)}
.auth-residential-scene{position:absolute;left:0;right:0;bottom:0;height:225px;opacity:.28;background:linear-gradient(to bottom,transparent,#cbd9e9),linear-gradient(145deg,#dbe7f0,#b7cbd9);clip-path:polygon(0 55%,10% 48%,10% 42%,23% 42%,23% 66%,31% 66%,31% 36%,48% 36%,48% 62%,56% 62%,56% 48%,75% 48%,75% 65%,83% 65%,83% 39%,100% 39%,100% 100%,0 100%)}.auth-residential-scene:before,.auth-residential-scene:after{content:"";position:absolute;bottom:0;background:#6f8da0}.auth-residential-scene:before{left:13%;width:6px;height:120px;box-shadow:175px -20px 0 #6f8da0,390px 9px 0 #6f8da0}.auth-residential-scene:after{left:10%;bottom:105px;width:45px;height:45px;border-radius:50%;box-shadow:175px -25px 0 4px #6f8da0,390px 8px 0 -2px #6f8da0}.auth-entry{display:grid;place-items:center;padding:70px clamp(34px,5vw,80px);min-width:0;margin:0;width:auto}.auth-mobile-brand{display:none}.auth-card{width:min(470px,100%);background:#ffffffeb;border:1px solid #e0e6f0;border-radius:24px;padding:clamp(31px,4vw,48px);box-shadow:0 28px 80px #19254b1c;backdrop-filter:blur(14px);animation:authCardIn .35s ease-out}.auth-logo{width:68px;height:68px;border-radius:18px;display:grid;place-items:center;margin:0 auto 16px;overflow:hidden;background:#fff;padding:4px}.auth-logo img{width:100%;height:100%;object-fit:contain}.auth-card h1{text-align:center;font-size:27px;letter-spacing:-.7px;margin:4px 0 7px}.auth-card>p:not(.eyebrow):not(.auth-error):not(.auth-secure-note){color:var(--auth-muted);font-size:11px;text-align:center;margin:0 0 26px}.auth-card>.eyebrow{text-align:center;color:var(--auth-blue)}.auth-card label{display:block;margin:17px 0}.auth-card label>span:first-child{display:block;font-size:10px;font-weight:800;margin-bottom:8px}.auth-input{height:52px;border:1px solid var(--auth-border);border-radius:11px;display:flex!important;align-items:center;background:#fff;transition:border-color .18s,box-shadow .18s}.auth-input:focus-within{border-color:var(--auth-blue);box-shadow:0 0 0 4px #3156df17}.auth-input>i{width:42px;text-align:center;color:#8a96aa;font-style:normal;font-size:18px}.auth-card .auth-input input{width:100%;height:100%;min-width:0;border:0;background:transparent;padding:0 8px 0 0;font:13px Manrope;color:var(--auth-text);outline:none}.auth-card input::placeholder{color:#9ba5b6}.auth-card .password-toggle{width:46px;height:100%;min-height:0;margin:0;border:0;background:transparent;color:#7d899d;padding:0;font-size:17px;cursor:pointer}.auth-card .password-toggle:focus-visible{outline:2px solid var(--auth-blue);outline-offset:-5px;border-radius:9px}.auth-submit{width:100%;min-height:52px;border:0;border-radius:11px;background:linear-gradient(135deg,#3156df,#2846c7);color:#fff;padding:0 18px;font:800 12px Manrope;margin-top:7px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:11px;box-shadow:0 9px 22px #3156df2d;transition:transform .18s,box-shadow .18s,opacity .18s}.auth-submit i{font-size:20px;font-style:normal}.auth-submit:hover{transform:translateY(-1px);box-shadow:0 12px 28px #3156df3a}.auth-submit:disabled{opacity:.65;cursor:wait;transform:none}.auth-error{color:var(--red)!important;min-height:19px;font-size:10px!important;margin:4px 0!important;text-align:left!important}.auth-secure-note{display:flex!important;align-items:center;justify-content:center;gap:7px;color:#617087!important;font-size:9px!important;margin:20px 0 0!important}.auth-secure-note span{color:var(--auth-green)}.auth-card>small{display:block;color:var(--auth-muted);font-size:9px;line-height:1.5}.auth-footer{grid-column:1/-1;text-align:center;padding:18px;color:#8b95a6;font-size:9px;border-top:1px solid #e2e7ef}.theme-dark .auth-screen{color:var(--auth-text)}
@keyframes authCardIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.auth-card{animation:none}.auth-submit{transition:none}}
@media(max-width:1023px){.auth-layout{display:block;min-height:100vh;min-height:100dvh}.auth-story{display:none}.auth-entry{min-height:calc(100dvh - 45px);padding:clamp(26px,7vh,58px) 24px 30px;background:radial-gradient(circle at 50% 12%,#dfe6ff 0,transparent 34%)}.auth-mobile-brand{display:flex;position:absolute;left:28px;top:22px}.auth-mobile-brand img{width:38px;height:38px}.auth-mobile-brand strong{font-size:20px}.auth-card{margin:55px auto 0}.auth-footer{height:45px;padding:13px}}
@media(max-width:600px){.auth-entry{display:block;padding:calc(16px + env(safe-area-inset-top)) 16px calc(22px + env(safe-area-inset-bottom));min-height:calc(100dvh - 35px)}.auth-mobile-brand{position:static;justify-content:center;margin:0 0 14px}.auth-mobile-brand img{width:38px;height:38px}.auth-card{margin:0 auto;border-radius:20px;padding:25px 20px;box-shadow:0 18px 48px #19254b18}.auth-logo{width:58px;height:58px;margin-bottom:10px}.auth-card h1{font-size:23px}.auth-card>p:not(.eyebrow):not(.auth-error):not(.auth-secure-note){margin-bottom:20px}.auth-card label{margin:14px 0}.auth-screen .auth-card .auth-input input{font-size:16px!important}.auth-input{height:52px}.auth-footer{height:35px;padding:9px;font-size:8px}.auth-card .eyebrow{margin-bottom:6px}}
@media(max-width:360px){.auth-entry{padding-left:12px;padding-right:12px}.auth-card{padding:20px 16px}.auth-mobile-brand{margin-bottom:9px}.auth-logo{width:50px;height:50px}.auth-card h1{font-size:21px}.auth-secure-note{margin-top:14px!important}}
@media(max-height:680px) and (max-width:600px){.auth-entry{padding-top:10px}.auth-mobile-brand{justify-content:flex-start;margin-bottom:7px}.auth-mobile-brand img{width:30px;height:30px}.auth-mobile-brand strong{font-size:17px}.auth-logo{display:none}.auth-card{padding-top:18px;padding-bottom:18px}.auth-card label{margin:11px 0}.auth-card>p:not(.eyebrow):not(.auth-error):not(.auth-secure-note){margin-bottom:12px}.auth-footer{display:none}}
/* Credencial compacta de QR + NIP */
.generated-pass{text-align:left}.pass-summary{display:flex;align-items:center;gap:15px;padding-bottom:17px;border-bottom:1px solid var(--line)}
.pass-summary .success-ring{flex:none;margin:0}.pass-summary small{display:block;font-size:8px;color:var(--green);font-weight:800;letter-spacing:1px}.pass-summary h3{font-size:20px;margin:3px 0}.pass-summary p{font-size:9px;color:var(--muted);margin:0}
.pass-credentials{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.qr-credential,.access-nip{min-height:210px;border-radius:14px;padding:15px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.qr-credential{background:#f8f9fc;border:1px solid var(--line)}.real-access-qr{width:150px;height:150px;margin:0 0 10px;background:#fff;border:1px solid #dfe3ea;border-radius:8px;padding:7px;display:grid;place-items:center;position:relative;box-shadow:0 7px 20px #17203312}.real-access-qr svg{display:block;width:100%;height:100%}.qr-guardia-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:31px;height:31px;border:4px solid #fff;border-radius:9px;background:linear-gradient(145deg,#4053e7,#2636ae);color:#fff;display:flex;align-items:baseline;justify-content:center;gap:1px;box-shadow:0 1px 4px #10182845}.qr-guardia-logo b{font-size:15px;line-height:1}.qr-guardia-logo small{font-size:5px;font-weight:900}.qr-credential>small,.access-nip>small{font-size:7px;font-weight:800;letter-spacing:1px;color:var(--muted)}.qr-credential>strong{font-size:12px;letter-spacing:1px;margin-top:3px}.qr-credential>em{font-size:7px;color:var(--muted);font-style:normal;margin-top:3px}
.generated-pass .access-nip{width:auto;margin:0;border:1px solid #cbd2ff;background:linear-gradient(145deg,#f5f6ff,#eef0ff);position:relative}.generated-pass .access-nip>b{font-size:29px;letter-spacing:7px;margin:8px 0}.generated-pass .access-nip>span{position:absolute;right:13px;top:12px;color:var(--brand);font-size:20px}.copy-nip-button{border:0;border-radius:9px;background:var(--brand);color:#fff;padding:8px 15px;margin:0 0 9px;font:800 8px Manrope;cursor:pointer;box-shadow:0 6px 14px #3448cf30}.copy-nip-button:hover{filter:brightness(1.08)}.generated-pass .access-nip>em{font-size:8px;line-height:1.45;text-align:center;max-width:190px}.generated-pass .access-nip>strong{font-size:8px;color:var(--brand);background:#fff;border-radius:12px;padding:5px 9px;margin-top:10px}
.pass-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.pass-meta>div{background:#f8f9fb;border:1px solid var(--line);border-radius:10px;padding:10px}.pass-meta small,.pass-meta strong,.pass-meta span{display:block}.pass-meta small{font-size:7px;color:var(--muted);font-weight:800}.pass-meta strong{font-size:9px;margin:3px 0}.pass-meta span{font-size:7px;color:var(--muted);overflow-wrap:anywhere}
.generated-pass .share-actions button{min-height:40px;font-size:9px}
@media(max-width:560px){.pass-credentials{grid-template-columns:1fr}.qr-credential,.access-nip{min-height:190px}.pass-meta{grid-template-columns:1fr}.pass-summary h3{font-size:17px}}
.role-hidden{display:none!important}
body[data-user-role="Residente"] main,body[data-user-role="Vigilante"] main{margin-left:0;width:100%}
body[data-user-role="Residente"] .sidebar,body[data-user-role="Vigilante"] .sidebar{display:none}
body[data-user-role="Residente"] .topbar,body[data-user-role="Vigilante"] .topbar{padding-left:20px}
.guard-validation-window{position:fixed;inset:0;z-index:90;background:#0c142a88;backdrop-filter:blur(5px);display:grid;place-items:center;padding:18px;opacity:0;transition:.18s}.guard-validation-window.open{opacity:1}
.guard-validation-window article{width:min(460px,100%);border-radius:22px;padding:31px 25px 26px;text-align:center;box-shadow:0 28px 80px #07102655;position:relative;transform:translateY(12px) scale(.98);transition:.18s}.guard-validation-window.open article{transform:none}
.guard-validation-window.green article{background:linear-gradient(180deg,#e7f9f1,#fff);border:2px solid #55bf96;color:#126a4d}.guard-validation-window.blue article{background:linear-gradient(180deg,#e9edff,#fff);border:2px solid #7280e8;color:#3341a7}.guard-validation-window.amber article{background:linear-gradient(180deg,#fff4d2,#fff);border:2px solid #e0ab3d;color:#79520a}.guard-validation-window.red article{background:linear-gradient(180deg,#ffe8ea,#fff);border:2px solid #e66a73;color:#9e2933}
.guard-validation-window article>button{position:absolute;right:14px;top:14px;width:33px;height:33px;border:0;border-radius:50%;background:#ffffffaa;color:inherit;font-size:20px}.guard-validation-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;color:#fff;font-size:36px;font-weight:800}.green .guard-validation-icon{background:var(--green);box-shadow:0 0 0 10px #1fa77620}.blue .guard-validation-icon{background:#5364d8;box-shadow:0 0 0 10px #5364d820}.amber .guard-validation-icon{background:var(--amber);box-shadow:0 0 0 10px #dc961c20}.red .guard-validation-icon{background:var(--red);box-shadow:0 0 0 10px #e6545e20}
.guard-validation-window article>small{font-size:9px;font-weight:900;letter-spacing:1.3px}.guard-validation-window h2{font-size:27px;margin:7px 0 4px}.guard-validation-window article>p{font-size:11px;margin:0 0 18px}.guard-validation-window article>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.guard-validation-window article>div span{background:#ffffffaa;border:1px solid #ffffff;padding:10px 6px;border-radius:10px}.guard-validation-window article>div small,.guard-validation-window article>div strong{display:block}.guard-validation-window article>div small{font-size:6px;opacity:.7}.guard-validation-window article>div strong{font-size:9px;margin-top:3px}.guard-validation-window article>em{display:block;font-size:8px;font-style:normal;margin-top:16px;opacity:.75}
@media(max-width:430px){.guard-validation-window article{padding:27px 17px 22px}.guard-validation-window h2{font-size:23px}.guard-validation-window article>div{grid-template-columns:1fr}.guard-validation-window article>div span{padding:8px}}
.monitor-movement-window{position:fixed;inset:0;z-index:95;background:#071226aa;backdrop-filter:blur(7px);display:grid;place-items:center;padding:24px;opacity:0;transition:.2s}.monitor-movement-window.open{opacity:1}
.monitor-movement-window article{width:min(820px,100%);background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 35px 100px #020a1d99;transform:scale(.94);transition:.22s;position:relative}.monitor-movement-window.open article{transform:scale(1)}
.monitor-movement-window article>button{position:absolute;right:22px;top:22px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:#ffffff25;color:#fff;font-size:25px;cursor:pointer}.monitor-movement-window header{display:flex;align-items:center;gap:20px;padding:30px 36px;color:#fff}.monitor-movement-window.entry header{background:linear-gradient(135deg,#12855e,#22ad7c)}.monitor-movement-window.exit header{background:linear-gradient(135deg,#3d48b9,#6370e8)}
.monitor-movement-window header>span{width:78px;height:78px;border-radius:22px;background:#ffffff20;display:grid;place-items:center;font-size:48px;font-weight:800}.monitor-movement-window header small{font-size:10px;letter-spacing:1.7px;opacity:.78;font-weight:800}.monitor-movement-window header h2{font-size:36px;line-height:1;margin:7px 0 0;letter-spacing:-1px}
.monitor-destination{text-align:center;padding:30px 25px 27px;background:#f6f8fb;border-bottom:1px solid var(--line)}.monitor-destination small,.monitor-destination strong,.monitor-destination span{display:block}.monitor-destination small{font-size:13px;letter-spacing:2px;color:var(--muted);font-weight:900}.monitor-destination strong{font-size:52px;line-height:1.05;margin:8px 0;color:#13203d;letter-spacing:-2px}.monitor-destination span.monitor-turn{font-size:27px;color:#4d5ed5;font-weight:900;letter-spacing:1px;margin-top:10px}
.monitor-movement-data{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;padding:22px 28px}.monitor-movement-data p{margin:0;background:#f7f8fb;border:1px solid var(--line);border-radius:12px;padding:14px}.monitor-movement-data small,.monitor-movement-data strong{display:block}.monitor-movement-data small{font-size:8px;color:var(--muted);font-weight:900;letter-spacing:.7px}.monitor-movement-data strong{font-size:13px;margin-top:5px}.monitor-movement-window footer{display:flex;justify-content:space-between;align-items:center;padding:0 30px 24px;color:var(--muted);font-size:10px}.monitor-movement-window footer i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:6px}.monitor-movement-window footer time{font-size:15px;font-weight:800;color:var(--ink)}
@media(max-width:650px){.monitor-movement-window{padding:12px}.monitor-movement-window header{padding:22px 18px}.monitor-movement-window header>span{width:55px;height:55px;font-size:32px}.monitor-movement-window header h2{font-size:23px}.monitor-destination{padding:23px 15px}.monitor-destination strong{font-size:38px}.monitor-destination span{font-size:15px}.monitor-movement-data{grid-template-columns:1fr 1fr;padding:15px}.monitor-movement-window footer{padding:0 18px 18px}}
/* Bitácora de accesos en formato amplio para monitoreo */
#gate .access-history{width:100%;padding:24px;overflow-x:auto}
#gate .access-history .panel-title h2{font-size:18px}
#gate .access-history .panel-title p{font-size:11px}
#gate .access-history table{min-width:1080px;margin-top:20px;table-layout:fixed}
#gate .access-history th{font-size:9px;padding:13px 14px;letter-spacing:1px}
#gate .access-history td{font-size:12px;padding:17px 14px;vertical-align:middle}
#gate .access-history td strong{font-size:13px;line-height:1.35}
#gate .access-history td small{font-size:9px;line-height:1.4;margin-top:4px}
#gate .access-history th:nth-child(1){width:17%}#gate .access-history th:nth-child(2){width:12%}#gate .access-history th:nth-child(3){width:16%}#gate .access-history th:nth-child(4),#gate .access-history th:nth-child(5){width:14%}#gate .access-history th:nth-child(6){width:13%}#gate .access-history th:nth-child(7){width:14%}
#gate .access-history .movement-time{border-left:3px solid transparent}
#gate .access-history .entry-time{border-left-color:#2aae7e;background:#f2fbf7}
#gate .access-history .exit-time{border-left-color:#6874df;background:#f5f6ff}
#gate .access-history .history-use{display:block;font-size:14px;margin-top:6px}
#gate .access-history .status{font-size:9px;padding:6px 9px}
.history-actions{display:grid;gap:7px}.history-actions button{border:1px solid #dbe0ea;background:#fff;color:var(--brand);border-radius:8px;padding:8px 9px;font:800 8px Manrope;cursor:pointer;white-space:nowrap}.history-actions .manual-exit{border-color:#cbd1f5;background:#eef0ff;color:#3e4ab8}.history-nip-card{text-align:center;padding:12px}.history-nip-card small,.history-nip-card strong,.history-nip-card span,.history-nip-card code,.history-nip-card em{display:block}.history-nip-card small{font-size:8px;color:var(--muted);font-weight:900}.history-nip-card strong{font-size:18px;margin-top:5px}.history-nip-card span{font-size:10px;color:var(--muted);margin-top:4px}.history-nip-card code{font:800 30px Manrope;letter-spacing:9px;color:var(--brand);background:#eef0ff;border:1px dashed #9ba5ed;border-radius:12px;padding:17px;margin:18px auto 10px;max-width:300px}.history-nip-card em{font-size:8px;color:var(--muted);font-style:normal}.manual-exit-confirm{display:flex;align-items:center;gap:12px;background:#eef0ff;border:1px solid #d6daf8;border-radius:11px;padding:15px}.manual-exit-confirm>span{width:40px;height:40px;border-radius:10px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:22px}.manual-exit-confirm p{margin:0}.manual-exit-confirm strong,.manual-exit-confirm small{display:block}.manual-exit-confirm strong{font-size:13px}.manual-exit-confirm small{font-size:9px;color:var(--muted);margin-top:3px}
.history-actions .view-evidence{border-color:#bfe3d4;background:#e9f8f1;color:#157b59}.evidence-privacy-note{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid #efcf91;border-radius:11px;background:#fff8e8;margin-bottom:14px}.evidence-privacy-note>span{font-size:22px}.evidence-privacy-note p{margin:0}.evidence-privacy-note strong,.evidence-privacy-note small{display:block}.evidence-privacy-note strong{font-size:11px}.evidence-privacy-note small{font-size:8px;color:#806b43;margin-top:3px}.evidence-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:65vh;overflow:auto}.evidence-gallery article{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f7f9fc}.evidence-gallery img{display:block;width:100%;height:230px;object-fit:contain;background:#101827}.evidence-gallery article>div{padding:11px}.evidence-gallery small,.evidence-gallery strong,.evidence-gallery span{display:block}.evidence-gallery small{font-size:7px;color:var(--green);font-weight:900;letter-spacing:.8px}.evidence-gallery strong{font-size:10px;margin-top:4px}.evidence-gallery span{font-size:8px;color:var(--muted);margin-top:3px}.evidence-gallery a{display:block;margin-top:9px;border-radius:8px;background:var(--brand);color:#fff;padding:9px;text-align:center;text-decoration:none;font-size:8px;font-weight:800}.theme-dark .evidence-privacy-note{background:#49391f;border-color:#735d35}.theme-dark .evidence-gallery article{background:#292e37}@media(max-width:620px){.evidence-gallery{grid-template-columns:1fr}.evidence-gallery img{height:260px}}
@media(max-width:700px){#gate .access-history{padding:16px}#gate .access-history td{padding:13px 11px}}
.guard-mobile-result.blue{background:#edf0ff;border-color:#b8c0f2;color:#3341a7}.guard-mobile-result.blue .guard-result-icon{background:#5364d8;color:#fff}.guard-mobile-result.blue .guard-confirm-mobile{background:#5364d8}
/* Administración integral: capa independiente del control de accesos */
.admin-integral-heading{align-items:center}.admin-tabs{display:flex;gap:6px;overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:13px;padding:6px;margin-bottom:17px}.admin-tabs button{border:0;background:transparent;border-radius:9px;padding:10px 14px;color:#687389;font:700 10px Manrope;white-space:nowrap;cursor:pointer}.admin-tabs button.active{background:var(--brand);color:#fff;box-shadow:0 5px 13px #3447d42d}.admin-panel{display:none}.admin-panel.active{display:block}.admin-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-summary-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px}.admin-summary-numbers p{margin:0;border-radius:12px;background:#f5f7fb;padding:18px}.admin-summary-numbers small,.admin-summary-numbers strong{display:block}.admin-summary-numbers small{font-size:8px;color:var(--muted);font-weight:800}.admin-summary-numbers strong{font-size:27px;margin-top:5px}.admin-summary-numbers .active{background:#e8f8f1;color:#177b59}.admin-summary-numbers .inactive{background:#eceff3;color:#667183}.admin-budget-summary>.panel-title>strong{font-size:20px;color:var(--brand)}.admin-budget-bar{height:13px;border-radius:8px;background:#e9ecf3;margin:30px 0 13px;overflow:hidden}.admin-budget-bar i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#4154dc,#6979ea)}.admin-budget-values{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.admin-budget-values b{display:block;color:var(--ink);font-size:15px;margin-top:5px}.admin-table-wrap{overflow-x:auto}.admin-table-wrap table{min-width:800px}.admin-table-wrap td{font-size:10px;padding:14px 10px}.admin-table-wrap td strong{font-size:11px}.status.gray{background:#e8ebef;color:#606b7e}.admin-inactive-row{background:#f5f6f8;color:#697386}.admin-inactive-row td{border-color:#e0e4e9}.admin-activate{border:0;background:#606b7e;color:#fff;border-radius:8px;padding:8px 11px;font:800 8px Manrope;cursor:pointer}.admin-credit{color:var(--green);font-weight:800}.admin-vendor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:17px}.admin-vendor-grid article{border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;align-items:center;gap:10px}.admin-vendor-grid article>span{width:40px;height:40px;border-radius:11px;background:#e9ecff;color:var(--brand);display:grid;place-items:center;font-weight:900}.admin-vendor-grid p{margin:0;min-width:0}.admin-vendor-grid strong,.admin-vendor-grid small,.admin-vendor-grid em{display:block}.admin-vendor-grid strong{font-size:10px}.admin-vendor-grid small{font-size:8px;color:var(--muted)}.admin-vendor-grid em{font-size:7px;color:#969eac;font-style:normal;margin-top:3px}.admin-vendor-grid article>b{margin-left:auto;font-size:7px;color:var(--green);background:#e1f5ec;padding:5px 7px;border-radius:10px}.admin-form-note{margin-top:15px;padding:12px;border-radius:9px;background:#eef0f3;color:#667184;font-size:9px}
.admin-payment-review-row{background:#fffbef}.admin-payment-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.admin-payment-actions button,.admin-review-proof{border:1px solid #ccd5e7;background:#fff;color:var(--brand);border-radius:8px;padding:7px 9px;font:800 8px Manrope;cursor:pointer}.admin-payment-actions button.primary{border-color:var(--brand);background:var(--brand);color:#fff}.admin-payment-actions small{color:var(--muted)}.admin-payment-review{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-payment-review p{margin:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f7f9fc}.admin-payment-review small,.admin-payment-review strong{display:block}.admin-payment-review small{font-size:8px;color:var(--muted);font-weight:900}.admin-payment-review strong{margin-top:4px}
@media(max-width:900px){.admin-summary-grid{grid-template-columns:1fr}.admin-vendor-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.admin-summary-numbers{grid-template-columns:1fr}.admin-vendor-grid{grid-template-columns:1fr}.admin-tabs{border-radius:10px}}
.receivables>.finance-priority-list{display:block!important;padding:0!important;border:0!important}.finance-priority-list>div{display:flex;align-items:center;border-bottom:1px solid var(--line);padding:16px 0;font-size:10px}.finance-priority-list>div>span{width:100px;font-weight:800}.finance-priority-list p{margin:0}.finance-priority-list p strong,.finance-priority-list p small{display:block}.finance-priority-list p small{color:var(--muted);font-size:8px}.finance-priority-list button{margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px;font:600 8px Manrope;color:#4d5a70}.finance-empty-state{padding:45px 15px!important;text-align:center!important}.finance-empty-state strong,.finance-empty-state small{display:block}.finance-empty-state strong{font-size:13px}.finance-empty-state small{font-size:9px;color:var(--muted);margin-top:5px}
/* Agenda mensual */
.agenda-view-toggle{display:flex;border:1px solid var(--line);border-radius:9px;padding:2px;background:#f5f6fa}.agenda-view-toggle button{border:0;background:transparent;border-radius:7px;padding:7px 11px;font:700 8px Manrope;color:#7b8598;cursor:pointer}.agenda-view-toggle button.active{background:#fff;color:var(--brand);box-shadow:0 2px 7px #18234717}.agenda-month-nav{display:flex;align-items:center;gap:7px;margin:18px 0 12px}.agenda-month-nav>button{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:20px;cursor:pointer}.agenda-month-nav h3{font-size:18px;text-transform:capitalize;margin:0 8px;min-width:180px}.agenda-month-nav .agenda-today{width:auto;padding:0 13px;font:700 9px Manrope;margin-left:auto;color:var(--brand)}
.agenda-calendar{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff;min-width:900px}.agenda-calendar-shell{overflow-x:auto}.agenda-weekday{background:#f4f6fa;border-right:1px solid var(--line);padding:10px;text-align:center;color:#7e8798;font-size:8px;font-weight:900;letter-spacing:.7px}.agenda-day{min-height:145px;padding:8px;border-right:1px solid var(--line);border-top:1px solid var(--line);background:#fff}.agenda-day:nth-of-type(7n+7){border-right:0}.agenda-day.outside{background:#fafbfc;color:#aeb5c1}.agenda-day>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.agenda-day>header time{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:9px;font-weight:800}.agenda-day>header b{font-size:7px;background:#e9ecff;color:var(--brand);padding:3px 6px;border-radius:9px}.agenda-day.today{background:#f7f8ff;box-shadow:inset 0 0 0 2px #5365dd}.agenda-day.today>header time{background:var(--brand);color:#fff}.agenda-day>div{display:grid;gap:5px}.calendar-task{border:0;border-left:3px solid #e0a125;background:#fff7e7;border-radius:7px;padding:6px;text-align:left;cursor:pointer;min-width:0}.calendar-task.progress{border-left-color:#5368df;background:#eef0ff}.calendar-task.done{border-left-color:#25a879;background:#ecf8f3}.calendar-task.overdue{border-left-color:var(--red);background:#fff0f1}.calendar-task span,.calendar-task strong,.calendar-task small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-task span{font-size:6px;text-transform:uppercase;font-weight:900;color:#8d6a22}.calendar-task strong{font-size:8px;margin:2px 0;color:var(--ink)}.calendar-task small{font-size:6px;color:var(--muted)}
.agenda-day{cursor:cell;transition:background .15s,box-shadow .15s}.agenda-day:hover{background:#f5f7ff;box-shadow:inset 0 0 0 2px #5365dd33}.calendar-task{cursor:pointer}.agenda-selected-date{padding:12px 14px;margin-bottom:14px;border-radius:10px;background:#eef0ff;color:var(--brand)}.agenda-selected-date span,.agenda-selected-date strong{display:block}.agenda-selected-date span{font-size:7px;font-weight:900;letter-spacing:.8px}.agenda-selected-date strong{font-size:12px;margin-top:4px;text-transform:capitalize}
.agenda-day-list{display:grid;gap:8px;max-height:430px;overflow-y:auto}.agenda-day-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:11px}.agenda-day-list p{margin:0}.agenda-day-list p strong,.agenda-day-list p small{display:block}.agenda-day-list p strong{font-size:10px}.agenda-day-list p small{font-size:8px;color:var(--muted);margin-top:3px}.agenda-day-list button{border:1px solid #d9deea;background:#fff;color:var(--brand);border-radius:8px;padding:7px 9px;font:800 8px Manrope;cursor:pointer}.agenda-day-list button.delete{border-color:#efcdd1;background:#fff5f6;color:var(--red)}.agenda-series-note{grid-column:1/-1;margin-top:13px;padding:11px;border-radius:9px;background:#eef0ff;border:1px solid #dce1ff;color:#536079;font-size:8px}.agenda-delete-task,.agenda-delete-series{border:1px solid #efcdd1;background:#fff5f6;color:var(--red);border-radius:9px;padding:10px 12px;font:800 8px Manrope;cursor:pointer;margin-right:auto}.agenda-delete-series{background:#ffe8ea}.agenda-delete-warning{display:flex;align-items:center;gap:12px;padding:15px;background:#fff5f6;border:1px solid #efcdd1;border-radius:11px}.agenda-delete-warning>span{width:38px;height:38px;border-radius:10px;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:900}.agenda-delete-warning p{margin:0}.agenda-delete-warning strong,.agenda-delete-warning small{display:block}.agenda-delete-warning strong{font-size:11px}.agenda-delete-warning small{font-size:8px;color:var(--muted);margin-top:4px}.theme-dark .agenda-day-list article,.theme-dark .agenda-day-list button{background:#292e37;border-color:#414854;color:#e8eaf0}.theme-dark .agenda-day-list button.delete,.theme-dark .agenda-delete-task,.theme-dark .agenda-delete-series,.theme-dark .agenda-delete-warning{background:#422b30;border-color:#74434b;color:#ffadb5}.theme-dark .agenda-series-note{background:#30364b;border-color:#424b72;color:#c3c9dd}
@media(max-width:700px){.agenda-toolbar{display:block}.agenda-filters{margin-top:12px;flex-wrap:wrap}.agenda-calendar{grid-template-columns:repeat(7,minmax(105px,1fr));min-width:760px}.agenda-day{min-height:125px}}
body.demo-passwordless .topbar:after{content:"MODO DESARROLLO · SIN CONTRASEÑA";position:fixed;right:20px;bottom:18px;z-index:80;background:#fff3d7;color:#9a6509;border:1px solid #eccb82;border-radius:10px;padding:8px 11px;font-size:8px;font-weight:900;letter-spacing:.6px;box-shadow:0 8px 22px #1a284025}
.property select{display:block;width:145px;border:0;background:transparent;color:var(--ink);font:700 10px Manrope;outline:none;padding:1px 15px 1px 0;text-overflow:ellipsis}.property>span:nth-child(2){min-width:0}.property #newResidentialBtn{font-size:17px;color:var(--brand);cursor:pointer}
.access-report-filters{display:grid;grid-template-columns:140px 140px minmax(220px,1fr) 170px auto auto;align-items:end;gap:10px;padding:16px;background:#f7f8fb;border:1px solid var(--line);border-radius:12px;margin-bottom:15px}.access-report-filters label span{display:block;font-size:8px;font-weight:900;color:var(--muted);margin-bottom:6px}.access-report-filters input,.access-report-filters select{width:100%;height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 10px;font:10px Manrope;color:var(--ink)}.access-report-filters button{height:40px;min-height:40px;white-space:nowrap}.access-report-summary{grid-template-columns:repeat(4,1fr)!important}.access-report-table{overflow-x:auto;margin-top:15px}.access-report-table table{min-width:1050px}.access-report-table td{font-size:10px;padding:13px 10px}.access-report-table td strong,.access-report-table td small{display:block}.access-report-table td small{font-size:8px;color:var(--muted);margin-top:3px}@media(max-width:1050px){.access-report-filters{grid-template-columns:1fr 1fr}.access-report-filters .wide{grid-column:span 2}}@media(max-width:560px){.access-report-summary{grid-template-columns:1fr 1fr!important}.access-report-filters{grid-template-columns:1fr}.access-report-filters .wide{grid-column:auto}}
.admin-community-layout{display:grid;gap:14px}.admin-community-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.admin-community-card{border:1px solid var(--line);border-radius:13px;padding:16px;background:#fff}.admin-community-card.selected{border-color:#7481e8;box-shadow:0 0 0 3px #4659d812}.admin-community-card header{display:flex;align-items:center;gap:10px}.admin-community-card header>span{width:42px;height:42px;border-radius:12px;background:#e9ecff;color:var(--brand);display:grid;place-items:center;font-weight:900}.admin-community-card h3,.admin-community-card p{margin:0}.admin-community-card h3{font-size:11px}.admin-community-card p{font-size:8px;color:var(--muted);margin-top:3px}.admin-community-card footer{display:flex;gap:8px;margin-top:14px}.admin-community-card footer span{flex:1;background:#f5f7fb;border-radius:9px;padding:9px;font-size:8px;color:var(--muted)}.admin-community-card footer strong{display:block;color:var(--ink);font-size:15px}.admin-remove-access{border:1px solid #efcdd1;background:#fff5f6;color:var(--red);border-radius:8px;padding:7px 9px;font:800 8px Manrope;cursor:pointer}@media(max-width:900px){.admin-community-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.admin-community-grid{grid-template-columns:1fr}}

/* Guard-IA 2.2.0 · responsive, mobile-first y PWA */
.app-version{display:block;margin:10px 18px 2px;color:#8c96a8;font-size:8px;font-weight:800;letter-spacing:.5px}.profile #logoutBtn,.profile #profileEditBtn{width:auto;padding:6px 8px;border:1px solid var(--line);border-radius:7px;color:#667187;font-size:7px;font-weight:800;cursor:pointer}.mobile-head-actions{display:flex!important;align-items:center!important;gap:7px!important;margin-left:auto}.mobile-head-actions>.mobile-logout{display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;width:auto!important;min-width:64px;height:36px!important;min-height:36px!important;border:1px solid #ffffff66!important;border-radius:11px!important;background:#17213c66!important;color:#fff!important;padding:0 9px!important;font:800 8px Manrope!important;box-shadow:0 5px 12px #10182d28;cursor:pointer}.mobile-head-actions>.mobile-logout span{font-size:13px;line-height:1}.mobile-head-actions>.mobile-logout:active{transform:scale(.96)}.auth-logo img,.brand-mark img,.mini-brand img{width:100%;height:100%;object-fit:contain;border-radius:inherit}.auth-logo{overflow:hidden;background:#fff!important;padding:3px}.brand-mark,.mini-brand{overflow:hidden;background:#fff!important;padding:2px}.qr-guardia-logo img{width:100%;height:100%;object-fit:cover;border-radius:5px}.guard-keypad,.guard-evidence-capture{display:none}.network-indicator{position:fixed;right:18px;bottom:18px;z-index:110;border-radius:12px;padding:10px 14px;color:#fff;font:800 10px Manrope;box-shadow:0 10px 30px #10182d38;transition:.2s}.network-indicator.online{background:#168763}.network-indicator.slow{background:#c98512}.network-indicator.offline{background:#c63e49}.sidebar-scrim{display:none}
.admin-mobile-logout{display:flex;align-items:center;justify-content:center;gap:6px;width:auto;min-width:72px;height:38px;border:1px solid #efc2c7;border-radius:10px;background:#fff0f1;color:#c53e49;padding:0 11px;cursor:pointer}
@media(max-width:1023px){.sidebar{transform:translateX(-105%);transition:transform .22s;z-index:101;box-shadow:20px 0 60px #10182d38}body.mobile-menu-open .sidebar{transform:translateX(0)}body.mobile-menu-open .sidebar-scrim{display:block;position:fixed;inset:0;z-index:100;background:#07122680;backdrop-filter:blur(3px)}main{margin-left:0;width:100%}.topbar{left:0;padding:0 18px}.mobile-menu{display:grid!important;place-items:center;min-width:46px;min-height:46px}.top-actions .search{display:none}.page-heading{align-items:flex-start}.metrics{grid-template-columns:1fr 1fr}.resident-preview-layout,.guard-preview-layout{grid-template-columns:1fr}.resident-flow-panel{display:none}.phone-stage{min-height:auto;padding:20px}.admin-summary-grid{grid-template-columns:1fr}.modal{max-height:calc(100dvh - 24px);overflow:hidden}.modal form{max-height:calc(100dvh - 90px);overflow:auto}}
@media(max-width:767px){:root{--mobile-pad:14px}body{font-size:16px;overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom)}main{padding:76px var(--mobile-pad) calc(22px + env(safe-area-inset-bottom))}.topbar{height:64px;padding:env(safe-area-inset-top) 12px 0}.breadcrumbs span,.breadcrumbs i{display:none}.breadcrumbs strong{font-size:12px}.top-actions{gap:6px}.top-actions .help{display:none}.theme-toggle{min-height:44px}.icon-button{min-width:44px;min-height:44px}.page-heading{display:block;margin:12px 0 16px}.page-heading h1{font-size:27px;line-height:1.1}.page-heading>button,.page-heading .heading-actions,.heading-actions{width:100%;margin-top:14px}.heading-actions{display:grid!important;grid-template-columns:1fr}.heading-actions button,.page-heading>button{min-height:48px;width:100%}.notice{align-items:flex-start;padding:13px}.notice button{min-height:44px}.metrics{grid-template-columns:1fr;gap:11px}.metrics article{min-height:145px;padding:18px}.panel{padding:15px;border-radius:14px}.panel-title{display:block}.panel-title>div+button,.panel-title>label,.panel-title>.tabs{width:100%;margin-top:12px}button,.primary,.secondary,input,select,textarea{min-height:48px}.form-grid{grid-template-columns:1fr!important}.form-field{grid-column:auto!important}.modal-overlay{padding:0;align-items:flex-end}.modal{width:100%!important;max-width:none!important;max-height:96dvh;border-radius:20px 20px 0 0}.modal header{position:sticky;top:0;z-index:3;padding:18px}.modal form{padding:15px 15px 88px;max-height:calc(96dvh - 68px)}.modal footer{position:sticky;bottom:0;z-index:3;background:#fff;padding:12px 15px calc(12px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr}.modal footer button{width:100%;min-height:48px}.tabs,.admin-tabs,.dossier-tabs{overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:4px}.tabs button,.admin-tabs button,.dossier-tabs button{min-height:44px;white-space:nowrap}.access-table,.access-history,.admin-table-wrap,.access-report-table{overflow:visible}.responsive-cards table,.responsive-cards thead,.responsive-cards tbody,.responsive-cards tr,.responsive-cards th,.responsive-cards td{display:block;width:100%;min-width:0!important}.responsive-cards thead{display:none}.responsive-cards tr{background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px;margin:0 0 10px;box-shadow:0 5px 16px #16213e0b}.responsive-cards td{display:flex!important;justify-content:space-between;align-items:center;gap:15px;border:0!important;border-bottom:1px solid var(--line)!important;padding:10px 4px!important;text-align:right}.responsive-cards td:last-child{border-bottom:0!important}.responsive-cards td:before{content:attr(data-label);font-size:8px;font-weight:900;color:var(--muted);text-align:left;letter-spacing:.5px}.agenda-calendar-shell{overflow:auto}.agenda-calendar{min-width:720px}.access-report-filters{grid-template-columns:1fr!important}.access-report-filters .wide{grid-column:auto!important}.pass-credentials,.pass-meta{grid-template-columns:1fr}.share-actions{grid-template-columns:1fr}.share-actions button{min-height:48px}.monitor-movement-window article{max-height:96dvh;overflow:auto}.monitor-movement-data{grid-template-columns:1fr 1fr}}
@media(max-width:767px){body[data-user-role="Residente"] .topbar,body[data-user-role="Vigilante"] .topbar{display:none}body[data-user-role="Residente"] main,body[data-user-role="Vigilante"] main{padding:0;width:100%;min-height:100dvh}body[data-user-role="Residente"] .view,body[data-user-role="Vigilante"] .view{display:none!important}body[data-user-role="Residente"] #residentApp,body[data-user-role="Vigilante"] #guardApp{display:block!important;padding:0}body[data-user-role="Residente"] .resident-preview-heading,body[data-user-role="Vigilante"] .resident-preview-heading{display:none}body[data-user-role="Residente"] .resident-preview-layout,body[data-user-role="Vigilante"] .guard-preview-layout{display:block}body[data-user-role="Residente"] .phone-stage,body[data-user-role="Vigilante"] .phone-stage{padding:0;border:0;border-radius:0;background:none;display:block}body[data-user-role="Residente"] .resident-phone,body[data-user-role="Vigilante"] .guard-phone{width:100%;height:100dvh;border:0;border-radius:0;box-shadow:none}body[data-user-role="Residente"] .resident-phone:before,body[data-user-role="Vigilante"] .guard-phone:before{display:none}body[data-user-role="Residente"] .resident-phone-head,body[data-user-role="Vigilante"] .guard-phone-head{height:calc(78px + env(safe-area-inset-top));padding:calc(13px + env(safe-area-inset-top)) 17px 13px}body[data-user-role="Residente"] .resident-phone-body,body[data-user-role="Vigilante"] .guard-phone-body{height:calc(100dvh - 139px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:15px;overflow-y:auto}body[data-user-role="Residente"] .resident-phone-nav,body[data-user-role="Vigilante"] .guard-phone-nav{height:calc(61px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}body[data-user-role="Vigilante"] .guard-pin-entry{grid-template-columns:1fr}.guard-pin-entry input{font-size:24px;min-height:58px}body[data-user-role="Vigilante"] .guard-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.guard-keypad button{border:1px solid #dfe3ec;background:#fff;border-radius:12px;min-height:54px;font:800 18px Manrope;color:#15203a}.guard-keypad button[data-key="clear"]{font-size:9px;color:#bd3c47}.guard-keypad button[data-key="validate"]{font-size:9px;background:var(--brand);color:#fff;border-color:var(--brand)}body[data-user-role="Vigilante"] .guard-evidence-capture{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.guard-evidence-capture label{min-height:48px;border:1px dashed #9ca8c0;border-radius:10px;background:#fff;display:grid;place-items:center;color:#56627a;font-size:9px;font-weight:800;cursor:pointer}.guard-evidence-capture input{display:none}body[data-user-role="Vigilante"] .guard-mobile-result{min-height:220px}.guard-confirm-mobile{min-height:54px}}
@media(min-width:768px) and (max-width:1023px){main{padding-left:24px;padding-right:24px}.metrics{grid-template-columns:1fr 1fr}.resident-phone{width:390px}}
.guard-evidence-capture #guardRequiredEvidence{border:2px solid #e0a12b;background:#fff8e8;color:#8d5d09}
.top-digital-clock{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);min-width:190px;height:47px;border:1px solid #cbd6f1;border-radius:12px;background:linear-gradient(145deg,#f5f7ff,#e5ebff);color:#17264a;padding:7px 16px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:13px;box-shadow:0 6px 16px #263b7620;z-index:1}.top-digital-clock span{font:900 20px/1 Manrope;letter-spacing:1.7px;font-variant-numeric:tabular-nums;white-space:nowrap}.top-digital-clock small{font-size:8px;line-height:1.25;letter-spacing:.7px;color:#53637e;font-weight:900;white-space:nowrap;padding-left:12px;border-left:1px solid #b9c5e2}.theme-dark .top-digital-clock{border-color:#435271;background:linear-gradient(145deg,#111c34,#253a62);color:#fff;box-shadow:0 7px 18px #050a1460}.theme-dark .top-digital-clock small{color:#b8c5dc;border-left-color:#53627e}.top-actions{margin-left:auto;position:relative;z-index:2}.copy-history-nip{border:0;border-radius:9px;background:var(--brand);color:#fff;padding:10px 17px;margin:0 auto 12px;font:800 9px Manrope;cursor:pointer;box-shadow:0 6px 15px #3448cf30}
@media(max-width:767px){.top-digital-clock{min-width:92px;width:92px;height:44px;padding:6px 8px;gap:0}.top-digital-clock span{font-size:14px;letter-spacing:.5px}.top-digital-clock small{display:none}}
@media(max-width:767px){.admin-mobile-logout{display:flex;align-items:center;justify-content:center;gap:4px;min-width:44px;width:44px;height:44px;min-height:44px;border:1px solid #efc2c7;border-radius:10px;background:#fff0f1;color:#c53e49;padding:0;cursor:pointer}.admin-mobile-logout span{font-size:18px}.admin-mobile-logout strong{display:none}.theme-dark .admin-mobile-logout{background:#492a30;border-color:#71414a;color:#ffadb5}.top-actions{min-width:0}.breadcrumbs{display:none}}

/* Guard-IA 2.2.3 · identificación cromática del menú móvil */
@media(max-width:1023px){
  .sidebar nav,.sidebar .side-section{gap:7px}.sidebar nav button,.sidebar .side-section button{border:1px solid transparent;border-radius:10px;min-height:45px;padding:8px 10px}
  .sidebar nav button>span,.sidebar .side-section button>span{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;color:#fff;font-size:15px;box-shadow:0 5px 12px #07122625}
  .sidebar [data-view="admin"]{background:#4b5ddc18!important;border-color:#6575e540!important;color:#aeb8ff!important}.sidebar [data-view="admin"]>span{background:#4b5ddc}
  .sidebar [data-view="gate"]{background:#13a06e18!important;border-color:#25b98640!important;color:#7ee0bd!important}.sidebar [data-view="gate"]>span{background:#15936a}
  .sidebar [data-view="residentApp"]{background:#2388d818!important;border-color:#41a1e740!important;color:#8bd0ff!important}.sidebar [data-view="residentApp"]>span{background:#2787cd}
  .sidebar [data-view="guardApp"]{background:#d6941c18!important;border-color:#e4a73b40!important;color:#ffd083!important}.sidebar [data-view="guardApp"]>span{background:#d38a16}
  .sidebar [data-view="residents"],.sidebar [data-view="users"]{background:#18a6a618!important;border-color:#35bcbc40!important;color:#86e1e1!important}.sidebar [data-view="residents"]>span,.sidebar [data-view="users"]>span{background:#168f91}
  .sidebar [data-view="homes"]{background:#854fd518!important;border-color:#9866e240!important;color:#c9a8ff!important}.sidebar [data-view="homes"]>span{background:#7744c2}
  .sidebar [data-view="finance"]{background:#e28c161c!important;border-color:#edaa4748!important;color:#ffc873!important}.sidebar [data-view="finance"]>span{background:#df8914}
  .sidebar [data-view="assistant"]{background:#7658e41b!important;border-color:#8c72ec48!important;color:#c5b7ff!important}.sidebar [data-view="assistant"]>span{background:linear-gradient(145deg,#7252de,#4e39ae)}
  .sidebar [data-view="agenda"]{background:#2f77d51a!important;border-color:#4e91e448!important;color:#9bc9ff!important}.sidebar [data-view="agenda"]>span{background:#3474c6}
  .sidebar [data-view="administration"]{background:#3e63c71a!important;border-color:#5f7cda48!important;color:#aebfff!important}.sidebar [data-view="administration"]>span{background:#405fba}
  .sidebar [data-view="incidents"]{background:#d94e5818!important;border-color:#e26b7445!important;color:#ffabb1!important}.sidebar [data-view="incidents"]>span{background:#cf4651}
  .sidebar [data-view="integrations"]{background:#407f9918!important;border-color:#5996ad45!important;color:#a7d9e9!important}.sidebar [data-view="integrations"]>span{background:#39758b}
  .sidebar [data-view="reports"]{background:#59657e1c!important;border-color:#74809845!important;color:#c2c9d6!important}.sidebar [data-view="reports"]>span{background:#576176}
  .sidebar [data-view="settings"]{background:#6872841c!important;border-color:#818a9a45!important;color:#c8ced8!important}.sidebar [data-view="settings"]>span{background:#646d7c}
  .sidebar nav button.active{box-shadow:inset 0 0 0 1px #ffffff18,0 6px 16px #07122622;filter:brightness(1.12)}
}
@media(max-width:767px){
  body.mobile-menu-open .sidebar{height:auto;max-height:72dvh;padding:10px 9px calc(10px + env(safe-area-inset-bottom));overflow-y:auto}
  body.mobile-menu-open .sidebar nav{height:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  body.mobile-menu-open .sidebar nav button{min-width:0;white-space:normal;line-height:1.2;color:#1d2b43!important;font-size:11px!important;font-weight:850!important;letter-spacing:-.1px;text-shadow:none}
  body.mobile-menu-open .sidebar nav button>span{color:#fff!important;font-size:16px!important}
  body.mobile-menu-open .sidebar nav button.active{color:#101b31!important;box-shadow:inset 0 0 0 2px currentColor,0 7px 16px #14213b1c;filter:none}
  body.mobile-menu-open .sidebar .side-section button{color:#1d2b43!important;font-size:11px!important;font-weight:850!important}
  body.mobile-menu-open .sidebar .app-version{color:#596579!important;font-size:10px!important;font-weight:900!important}
  .theme-dark.mobile-menu-open .sidebar nav button,.theme-dark.mobile-menu-open .sidebar .side-section button{color:#f1f4fa!important}
  .theme-dark.mobile-menu-open .sidebar nav button.active{color:#fff!important}
  body.mobile-menu-open .sidebar .app-version{margin:10px 8px 2px}
}

/* Guard-IA 2.3.44 · menú lateral ordenado, contrastante y sin desplazamiento horizontal. */
.sidebar{
  width:280px;
  overflow-x:hidden;
  background:#f1f5ff;
  border-right:1px solid #d9e2f5;
  box-shadow:8px 0 28px #18294b0b;
}
main{margin-left:280px;width:calc(100% - 280px)}
.sidebar nav,.sidebar .side-section{padding-left:14px;padding-right:14px}
.sidebar nav{gap:5px}
.sidebar .side-section{margin-top:8px;padding-top:13px;border-top:1px solid #dce4f3}
.sidebar nav button,.sidebar .side-section button{
  width:100%;
  min-width:0;
  min-height:42px;
  border:1px solid transparent;
  border-radius:10px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.sidebar nav button:hover,.sidebar .side-section button:hover{background:#e6ecfb;border-color:#c9d5f3}
.sidebar nav button.active,.sidebar .side-section button.active{
  background:#dce6ff;
  border-color:#9eb4f3;
  color:#2446c7;
  box-shadow:inset 4px 0 #2f5bd7,0 5px 13px #2648b719;
  font-weight:900;
}
.sidebar nav button.active:after,.sidebar .side-section button.active:after{content:"";width:8px;height:8px;margin-left:auto;flex:0 0 8px;border-radius:50%;background:#20a978;box-shadow:0 0 0 4px #20a9781c}
.connection{
  margin:12px 14px 7px;
  min-width:0;
  border-color:#a9dfca;
  background:#eaf8f2;
  color:#126847;
}
.connection>span:not(.pulse){min-width:0}
.connection strong,.connection small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-version{
  display:block;
  margin:0 14px;
  padding:8px 10px;
  border-top:1px solid #dce4f3;
  color:#6c7891;
  font-weight:800;
  letter-spacing:.3px;
}
.profile{
  display:block;
  margin:0 14px 14px;
  padding:12px;
  border:1px solid #d3ddf0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 22px #24345f0e;
  min-width:0;
}
.profile-identity{display:flex;align-items:center;gap:10px;min-width:0}
.profile-identity>span:last-child{display:block;min-width:0;flex:1}
.profile-identity strong,.profile-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:11px}
.profile .profile-actions button{width:100%;min-width:0;min-height:38px;margin:0;border-radius:9px;font-weight:800}
.profile #profileEditBtn{border:1px solid #b9c8e8;background:#eef3ff;color:#304fb8}
.profile #logoutBtn{border:1px solid #efb2b8;background:#fff3f4;color:#b72f3e}
.theme-dark .sidebar{background:#151b2b;border-right-color:#30394d;box-shadow:8px 0 28px #02061742}
.theme-dark .sidebar .side-section,.theme-dark .app-version{border-color:#30394d}
.theme-dark .sidebar nav button:hover,.theme-dark .sidebar .side-section button:hover{background:#202a40;border-color:#3a4864}
.theme-dark .sidebar nav button.active,.theme-dark .sidebar .side-section button.active{background:#273760;border-color:#536fb7;color:#d8e4ff}
.theme-dark .connection{border-color:#27634f;background:#18382f;color:#9ae6c8}
.theme-dark .app-version{color:#a8b4cb}
.theme-dark .profile{border-color:#354158;background:#202738;box-shadow:0 8px 22px #0206173d}
.theme-dark .profile #profileEditBtn{border-color:#536789;background:#293650;color:#dbe7ff}
.theme-dark .profile #logoutBtn{border-color:#814854;background:#3a252d;color:#ffbdc5}
@media(max-width:1023px){
  .sidebar{width:min(300px,88vw)}
  main{margin-left:0;width:100%}
}

/* Contraste legible en validaciones móviles y rechazo sincronizado en caseta. */
.guard-validation-window article>small,.guard-validation-window h2,.guard-validation-window article>p,.guard-validation-window article>em{opacity:1!important}
.guard-validation-window article>div span{background:#fff!important;border-color:#d9e0e8!important;color:#172033!important}
.guard-validation-window article>div small{color:#5f6b7c!important;opacity:1!important}.guard-validation-window article>div strong{color:#111b2d!important}
.guard-validation-window.green article{color:#075f42!important}.guard-validation-window.blue article{color:#26379f!important}.guard-validation-window.amber article{color:#684400!important}.guard-validation-window.red article{color:#8e1622!important}
.guard-mobile-result.valid,.guard-mobile-result.valid h2,.guard-mobile-result.valid p{color:#075f42!important}.guard-mobile-result.blue,.guard-mobile-result.blue h2,.guard-mobile-result.blue p{color:#26379f!important}.guard-mobile-result.invalid,.guard-mobile-result.invalid h2,.guard-mobile-result.invalid p{color:#8e1622!important}
.guard-header-online{display:flex;align-items:center;gap:5px;border:1px solid #63d3aa55;background:#1a765c55;color:#9ff2d2;border-radius:11px;padding:7px 9px;font-size:8px;font-weight:900;white-space:nowrap}.guard-header-online i{width:7px;height:7px;border-radius:50%;background:#37d69b;box-shadow:0 0 0 3px #37d69b24}.guard-phone-nav{position:absolute!important;left:0!important;right:0!important;bottom:0!important;z-index:12!important}.guard-phone-nav button{min-width:0}.guard-phone-nav button.active{background:#e7f3f4;color:#174f60;border-radius:10px}
.guard-mobile-data>div{background:#fff!important}.guard-mobile-data small{color:#52616c!important}.guard-mobile-data strong{color:#121c2d!important}
.monitor-movement-window.rejected header{background:linear-gradient(135deg,#9f1727,#df3e4a)}.monitor-movement-window.rejected .monitor-destination{background:#fff0f1;border-color:#efb7bc}.monitor-movement-window.rejected .monitor-destination small,.monitor-movement-window.rejected .monitor-destination strong{color:#a81829}.monitor-movement-window.rejected footer i{background:#dc3545}.monitor-movement-window .rejected-data{grid-template-columns:1fr 1fr 1fr 2fr}
.theme-dark .guard-validation-window article>div span,.theme-dark .guard-mobile-data>div{background:#f7f9fc!important;color:#111b2d!important}
@media(max-width:650px){.monitor-movement-window .rejected-data{grid-template-columns:1fr 1fr}}
.resident-arrival-notice{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:18px;background:#07142699;backdrop-filter:blur(6px);opacity:0;transition:.18s}.resident-arrival-notice.open{opacity:1}.resident-arrival-notice article{width:min(420px,100%);position:relative;text-align:center;border-radius:24px;padding:32px 24px;background:linear-gradient(180deg,#e6faf1,#fff);border:2px solid #51bd91;color:#075f42;box-shadow:0 30px 80px #07142670;transform:scale(.95);transition:.2s}.resident-arrival-notice.open article{transform:scale(1)}.resident-arrival-notice article>button{position:absolute;right:14px;top:14px;width:36px;height:36px;border:0;border-radius:50%;background:#fff;color:#075f42;font-size:21px}.resident-arrival-notice article>span{width:72px;height:72px;margin:auto;display:grid;place-items:center;border-radius:50%;background:#18a774;color:#fff;font-size:36px;box-shadow:0 0 0 10px #18a77420}.resident-arrival-notice small{display:block;margin-top:20px;font-size:11px;font-weight:900;letter-spacing:1.5px}.resident-arrival-notice h2{font-size:29px;margin:6px 0}.resident-arrival-notice p{font-size:13px;margin:0}.resident-arrival-notice time{display:block;margin-top:16px;font-size:18px;font-weight:900}
.guard-scan-qr{width:100%;min-height:50px;margin:10px 0 14px;border:1px solid #0e7490;border-radius:14px;background:#ecfeff;color:#155e75;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:9px}
.guard-scan-qr span{font-size:21px;line-height:1}
.guard-scan-qr:active{transform:scale(.985);background:#cffafe}
.guard-qr-scanner{position:fixed;inset:0;z-index:10030;background:rgba(5,15,32,.94);display:grid;place-items:center;padding:20px}
.guard-qr-scanner article{width:min(100%,460px);color:#fff;text-align:center}
.guard-qr-scanner header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.guard-qr-scanner header strong{font-size:22px}
.guard-qr-scanner header button{width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:24px}
.guard-qr-camera{position:relative;overflow:hidden;border:3px solid #2dd4bf;border-radius:24px;aspect-ratio:1;background:#020617}
.guard-qr-camera video{width:100%;height:100%;object-fit:cover}
.guard-qr-frame{position:absolute;inset:17%;border:3px solid #fff;border-radius:18px;box-shadow:0 0 0 999px rgba(2,6,23,.24)}
.guard-qr-scanner p{margin:18px 10px 0;color:#dbeafe;font-size:15px;line-height:1.45}
.home-dossier-modal .danger-zone{margin-top:18px}
.home-dependency-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.home-dependency-grid>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #fecaca;border-radius:12px;background:#fff7f7}.home-dependency-grid span{color:#7f1d1d;font-size:13px}.home-dependency-grid strong{color:#b91c1c;font-size:16px}@media(max-width:600px){.home-dependency-grid{grid-template-columns:1fr}}
@media(max-width:767px){.home-dossier-modal footer{position:static}.home-dossier-modal form{padding-bottom:20px}}

/* Guard-IA 2.3.37 · contexto residencial visible y fijo por autorización. */
.active-residential-badge{min-width:210px;max-width:300px;height:48px;padding:7px 14px;border:1px solid #c8d3f2;border-radius:12px;background:linear-gradient(145deg,#f4f7ff,#e5ebff);color:#17264a;display:flex;flex-direction:column;justify-content:center;box-shadow:0 6px 16px #263b7618}
.active-residential-badge small,.active-residential-badge strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.active-residential-badge small{font-size:7px;font-weight:900;letter-spacing:1px;color:#53637e}
.active-residential-badge strong{font-size:11px;margin-top:2px}
.property select:disabled{cursor:not-allowed;opacity:1;color:#243350}
.creator-context-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px;padding:13px 15px;border:1px solid #9caae9;border-radius:12px;background:#eef1ff;color:#263ba7}
.creator-context-banner small{font-size:8px;font-weight:900;letter-spacing:1px}.creator-context-banner strong{font-size:13px;text-align:right}
.fixed-residential-field strong{min-height:48px;display:flex;align-items:center;padding:0 13px;border:1px solid var(--line);border-radius:9px;background:#f4f6fa;color:var(--ink);font-size:11px}
.theme-dark .active-residential-badge{border-color:#435271;background:linear-gradient(145deg,#111c34,#253a62);color:#fff}.theme-dark .active-residential-badge small{color:#b8c5dc}
.theme-dark .creator-context-banner{border-color:#5367b8;background:#29345d;color:#dbe2ff}.theme-dark .fixed-residential-field strong{border-color:#414854;background:#292e37;color:#e8eaf0}
@media(max-width:1023px){.active-residential-badge{min-width:165px;max-width:210px}}
@media(max-width:767px){.active-residential-badge{min-width:135px;max-width:155px;height:44px;padding:6px 10px}.active-residential-badge small{font-size:6px}.active-residential-badge strong{font-size:9px}.creator-context-banner{align-items:flex-start;flex-direction:column;gap:4px}.creator-context-banner strong{text-align:left}}

/* Guard-IA 2.3.39 · experiencia móvil profesional para Residente y Guardia. */
.resident-phone,.guard-phone{background:#f5f7fb;border-color:#0b1424;box-shadow:0 28px 65px #10182d30}
.resident-phone-head,.guard-phone-head{min-height:112px;height:112px;padding:39px 21px 16px;border:0}
.resident-phone-head{background:radial-gradient(circle at 82% 0,#304fe4 0,transparent 34%),linear-gradient(135deg,#122fb9,#183bcf 58%,#0f299d)}
.guard-phone-head{background:radial-gradient(circle at 86% 0,#30748a 0,transparent 35%),linear-gradient(135deg,#102c3a,#174b5b 60%,#103643)}
.resident-phone-head .mini-brand,.guard-phone-head .mini-brand{width:46px;height:46px;border-radius:14px;padding:4px;box-shadow:0 7px 18px #07122635}
.resident-phone-head p small,.guard-phone-head p small{font-size:9px!important;letter-spacing:1.2px;font-weight:800}.resident-phone-head p strong,.guard-phone-head p strong{font-size:18px!important;margin-top:2px}
.mobile-head-actions>button:not(.mobile-logout){width:42px;height:42px;border:1px solid #ffffff3b;background:#ffffff12;font-size:14px}.mobile-head-actions>.mobile-logout{height:42px!important;min-height:42px!important;border-radius:13px!important;font-size:9px!important}
.resident-phone-body{height:calc(100% - 180px);padding:18px 17px 82px;background:linear-gradient(180deg,#f6f8ff,#f8f9fc 45%,#f2f5fa)}
.home-pass-card{padding:15px 16px;border-radius:16px;box-shadow:0 8px 24px #17213d0c}.home-pass-card strong{font-size:17px!important}.home-pass-card span{font-size:10px!important;margin-top:2px}.home-pass-card>b{font-size:9px!important;padding:6px 9px}
.mobile-create-access{min-height:68px;border-radius:15px;padding:10px 12px;margin:12px 0 17px;background:radial-gradient(circle at 83% 10%,#5170f0,transparent 42%),linear-gradient(135deg,#3157e6,#1738c1);box-shadow:0 8px 18px #2648d42b}
.mobile-create-access>span{width:38px;height:38px;border-radius:12px;font-size:23px}.mobile-create-access p{margin-left:9px}.mobile-create-access strong{font-size:14px!important}.mobile-create-access small{font-size:9px!important;line-height:1.25;margin-top:2px}.mobile-create-access>b{font-size:22px}
.quick-access-heading{margin-bottom:12px}.quick-access-heading strong,.resident-mobile-title strong{font-size:15px!important;color:#14213d}.quick-access-heading small,.resident-mobile-title small{font-size:9px!important}
.quick-access-strip{gap:10px;margin-bottom:24px}.quick-access-strip button{min-height:116px;border-radius:18px;padding:14px 5px}.quick-access-strip button>span{width:50px;height:50px;border-radius:15px;font-size:25px}.quick-access-strip button>strong{font-size:13px!important}.quick-access-strip button>small{font-size:10px!important}
.resident-mobile-title{align-items:center;margin:0 1px 10px}.resident-mobile-title button{font-size:11px!important;padding:8px}
.resident-access-list{gap:10px}.resident-pass{min-height:72px;border-radius:16px;padding:12px 13px;grid-template-columns:42px minmax(0,1fr) auto 14px;box-shadow:0 7px 18px #17213d0b}.pass-avatar{width:42px;height:42px;border-radius:13px;font-size:12px}.resident-pass strong{font-size:13px!important}.resident-pass small{font-size:10px!important}.resident-pass em{font-size:9px!important}.pass-state{font-size:9px!important;padding:5px 8px}
.resident-notice-summary{margin-top:22px}.resident-notice-card{width:100%;min-height:76px;border:1px solid #bfd8ff;border-radius:17px;background:linear-gradient(135deg,#edf6ff,#f7faff);display:grid;grid-template-columns:46px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:13px 15px;text-align:left;color:#162342;box-shadow:0 7px 18px #173d730a}.resident-notice-card>span{width:46px;height:46px;border-radius:14px;background:#dcecff;color:#2563d9;display:grid;place-items:center;font-size:22px}.resident-notice-card p{margin:0;min-width:0}.resident-notice-card strong,.resident-notice-card small{display:block}.resident-notice-card strong{font-size:13px!important}.resident-notice-card small{font-size:10px!important;color:#5c6c88}.resident-notice-card>b{font-size:22px}.resident-notice-card.empty{border-color:#e1e6ef;background:#fff}
.resident-phone-nav{height:68px;padding:3px 8px calc(3px + env(safe-area-inset-bottom));border-radius:19px 19px 0 0;box-shadow:0 -10px 28px #18233f12}.resident-phone-nav button{min-height:54px;font-size:9px!important;font-weight:800}.resident-phone-nav button>span{font-size:21px}.resident-phone-nav button.central span{width:52px;height:52px;border-radius:18px;font-size:30px;margin-top:-21px;box-shadow:0 10px 22px #2444d852}
.guard-phone-body,main.guard-phone-body{height:calc(100% - 180px)!important;padding:17px 17px 83px!important;background:linear-gradient(180deg,#eef5f6,#f7f9fa 48%,#eef3f4)!important}
@media(max-width:767px){body[data-user-role="Vigilante"] main.guard-phone-body{min-height:0}}
.guard-validation-intro{display:flex!important;align-items:center;gap:12px;padding:14px;border:1px solid #cfe1e5;border-radius:17px;background:#fff;box-shadow:0 8px 20px #1634410d;margin-bottom:16px}.guard-validation-intro>span{width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,#216679,#164656);color:#fff;display:grid;place-items:center;font-size:24px}.guard-validation-intro p{margin:0;min-width:0}.guard-validation-intro small,.guard-validation-intro strong,.guard-validation-intro em{display:block}.guard-validation-intro small{font-size:8px!important;color:#4a7580;font-weight:900;letter-spacing:1px}.guard-validation-intro strong{font-size:16px!important;color:#142b34}.guard-validation-intro em{font-size:10px;color:#6e7d83;font-style:normal;margin-top:2px}
.guard-nip-label{display:block;margin:0 0 7px;font-size:10px!important;font-weight:900;color:#34545e;letter-spacing:.8px}.guard-pin-entry{grid-template-columns:minmax(0,1fr) 104px!important;gap:9px}.guard-pin-entry input{height:60px;border-radius:14px!important;border:2px solid #cbdce1!important;font-size:22px!important;text-align:center;letter-spacing:6px;background:#fff!important}.guard-pin-entry button{width:104px!important;border-radius:14px!important;background:#1d596a!important;font-size:11px!important}
.guard-scan-qr{min-height:56px;border-radius:14px;margin:11px 0 14px;font-size:13px}.guard-scan-qr span{font-size:23px}
.guard-evidence-capture{gap:9px!important}.guard-evidence-capture label{min-height:58px!important;border-radius:13px!important;font-size:10px!important}.guard-evidence-capture #guardRequiredEvidence{background:#fff8e4!important;border-color:#e5a727!important;color:#80570c!important}
.guard-mobile-result{border-radius:18px;padding:18px 15px;margin:14px 0;box-shadow:0 8px 22px #1634410a}.guard-result-icon{width:52px!important;height:52px!important;font-size:24px!important}.guard-mobile-result>small{font-size:9px!important}.guard-mobile-result h2{font-size:18px!important}.guard-mobile-result>p{font-size:11px!important;line-height:1.45}.guard-mobile-data{gap:9px}.guard-mobile-data>div{padding:11px!important;border-radius:11px!important}.guard-mobile-data small{font-size:8px!important}.guard-mobile-data strong{font-size:11px!important}.guard-confirm-mobile{min-height:54px;border-radius:13px;font-size:13px!important}
.guard-recent-title{margin:16px 1px 9px}.guard-recent-title strong{font-size:15px!important}.guard-recent-title button{font-size:11px!important}.guard-mobile-recent{gap:9px}.guard-mobile-recent>div{min-height:66px;border-radius:14px;padding:11px!important}.guard-mobile-recent>div>span{width:38px;height:38px;border-radius:11px}.guard-mobile-recent strong{font-size:12px!important}.guard-mobile-recent small{font-size:9px!important}.guard-mobile-recent>div>button{font-size:9px!important;padding:9px!important}
.guard-phone-nav button.active{background:#dff0f2!important;color:#174f60!important}.guard-phone-nav button.central span{background:#176274!important}
@media(max-width:767px){body[data-user-role="Residente"] .resident-phone-head,body[data-user-role="Vigilante"] .guard-phone-head{height:calc(96px + env(safe-area-inset-top));padding:calc(18px + env(safe-area-inset-top)) 17px 15px}body[data-user-role="Residente"] .resident-phone-body,body[data-user-role="Vigilante"] .guard-phone-body{height:calc(100dvh - 164px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;padding:17px 16px calc(86px + env(safe-area-inset-bottom))!important}body[data-user-role="Residente"] .resident-phone-nav,body[data-user-role="Vigilante"] .guard-phone-nav{height:calc(68px + env(safe-area-inset-bottom))}.resident-phone-head .mini-brand,.guard-phone-head .mini-brand{width:44px;height:44px}.mobile-head-actions>.mobile-logout{min-width:56px!important;padding:0 8px!important}}
@media(max-width:380px){.quick-access-strip{gap:7px}.quick-access-strip button{min-height:106px}.quick-access-strip button>span{width:44px;height:44px}.mobile-create-access{min-height:62px;padding:9px 10px}.mobile-create-access>span{width:34px;height:34px;font-size:21px}.mobile-create-access strong{font-size:13px!important}.mobile-create-access small{font-size:8px!important}.guard-pin-entry{grid-template-columns:1fr!important}.guard-pin-entry button{width:100%!important;min-height:50px}}

/* Guard-IA 2.3.70 · estabilización visual y operativa */
.hik-context-badge{align-self:center;border:1px solid #cfd8ff;background:#edf2ff;color:#2342b8;border-radius:999px;padding:9px 14px;font-size:11px;font-weight:800}.hik-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}.hik-providers,.hik-hero-card,.hik-camera-card,.hik-preview-card{background:#fff;border:1px solid #e1e6f0;border-radius:18px;box-shadow:0 10px 30px rgba(28,44,85,.055)}.hik-providers{padding:15px;display:grid;gap:8px;position:sticky;top:18px}.hik-providers h2{font-size:14px;margin:2px 4px 8px}.hik-providers button{border:1px solid transparent;background:#f8f9fc;border-radius:12px;padding:11px;display:grid;grid-template-columns:28px 1fr;text-align:left;gap:2px 8px;color:#536078}.hik-providers button>span{grid-row:1/3;width:28px;height:28px;border-radius:9px;background:#edf0f7;display:grid;place-items:center}.hik-providers button strong{font-size:10px;color:#28354d}.hik-providers button small{font-size:8px}.hik-providers button.active{background:#edf2ff;border-color:#bdcbff;box-shadow:inset 3px 0 #3155df}.hik-providers button.active>span{background:#3155df;color:#fff}.hik-workspace{display:grid;gap:18px;min-width:0}.hik-hero-card{padding:19px}.hik-hero-card>header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-bottom:16px;border-bottom:1px solid #e6eaf1}.hik-provider-title{display:flex;align-items:center;gap:12px}.hik-provider-title>span{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#e31d2b,#9e0f1a);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:900}.hik-provider-title h2{font-size:17px;margin:0}.hik-provider-title p{font-size:10px;color:#778198;margin:3px 0 0}.hik-status{border-radius:999px;padding:7px 10px;font-size:9px;font-weight:800}.hik-status.connected{background:#e2f7ec;color:#158653}.hik-status.error{background:#ffe7e9;color:#c83340}.hik-status.not-configured{background:#f0f2f6;color:#707a8e}.hik-configuration-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(210px,.8fr);gap:16px;padding-top:16px}.hik-credentials-card{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hik-credentials-card label:first-child{grid-column:1/-1}.hik-credentials-card label span{display:block;font-size:9px;font-weight:800;margin:0 0 6px;color:#3d4960}.hik-credentials-card input,.hik-credentials-card select,.hik-camera-row select,.hik-camera-card input{width:100%;border:1px solid #d8deea;border-radius:9px;background:#fbfcfe;min-height:39px;padding:8px 10px;font:600 10px Manrope;color:#28354b}.hik-security-note{grid-column:1/-1;margin:0;color:#69758b;font-size:9px}.hik-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.hik-actions button{min-height:37px;border:1px solid #cfd7e8;background:#fff;color:#3152d5;border-radius:9px;padding:8px 12px;font:800 9px Manrope}.hik-actions button.primary{background:#3155df;color:#fff;border-color:#3155df}.hik-actions button:disabled{opacity:.48}.hik-connection-card{background:#f8faff;border:1px solid #e0e7f5;border-radius:13px;padding:14px}.hik-connection-card h3{font-size:12px;margin:0 0 11px}.hik-connection-card dl{margin:0;display:grid;gap:8px}.hik-connection-card dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e6eaf2;padding-bottom:7px}.hik-connection-card dt,.hik-connection-card dd{font-size:9px;margin:0}.hik-connection-card dt{color:#788398}.hik-connection-card dd{font-weight:800;text-align:right;max-width:58%;overflow-wrap:anywhere}.hik-camera-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:18px;align-items:start}.hik-camera-card,.hik-preview-card{padding:17px;min-width:0}.hik-camera-card .panel-title{gap:12px}.hik-camera-card .panel-title input{max-width:220px}.hik-camera-list{display:grid;gap:8px;margin-top:14px}.hik-camera-row{display:grid;grid-template-columns:34px minmax(120px,1fr) minmax(150px,.65fr) auto;align-items:center;gap:10px;border:1px solid #e2e7f0;border-radius:12px;padding:10px}.hik-camera-icon{width:34px;height:34px;border-radius:10px;background:#edf2ff;color:#3155df;display:grid;place-items:center}.hik-camera-row strong,.hik-camera-row small{display:block}.hik-camera-row strong{font-size:10px}.hik-camera-row small{font-size:8px;color:#7a8497;margin-top:3px}.hik-camera-row label>span{display:block;font-size:7px;color:#7a8497;margin-bottom:3px}.hik-camera-row button{border:1px solid #bdcaff;background:#f3f6ff;color:#3155df;border-radius:9px;padding:9px 11px;font:800 8px Manrope}.hik-preview-card{position:sticky;top:18px}.hik-preview-card>header{display:flex;justify-content:space-between;align-items:start}.hik-preview-card header small{color:#3155df;font-size:8px;font-weight:900}.hik-preview-card h2{font-size:14px;margin:3px 0 12px}.hik-preview-card header button{border:0;background:#f0f2f7;border-radius:50%;width:28px;height:28px}.hik-player-placeholder{min-height:300px;border-radius:13px;background:linear-gradient(145deg,#10182c,#1d2d50);color:#dce5ff;display:grid;place-items:center;align-content:center;text-align:center;padding:18px;overflow:hidden}.hik-player-placeholder>span{font-size:34px}.hik-player-placeholder>p{font-size:10px;max-width:220px;line-height:1.5}.hik-player-placeholder #hikVideoContainer{width:100%;min-height:280px}.hik-loader{width:34px;height:34px;border:3px solid #ffffff40;border-top-color:#fff;border-radius:50%;animation:hikSpin .8s linear infinite}@keyframes hikSpin{to{transform:rotate(360deg)}}
@media(max-width:1050px){.hik-layout{grid-template-columns:1fr}.hik-providers{position:static;display:flex;overflow-x:auto}.hik-providers h2{display:none}.hik-providers button{min-width:170px}.hik-camera-layout{grid-template-columns:1fr}.hik-preview-card{position:static}.hik-player-placeholder{min-height:360px}}
@media(max-width:700px){.hik-context-badge{display:block;margin-top:10px;width:max-content;max-width:100%}.hik-hero-card{padding:14px}.hik-hero-card>header{align-items:flex-start}.hik-provider-title p{line-height:1.45}.hik-configuration-grid{grid-template-columns:1fr}.hik-credentials-card{grid-template-columns:1fr}.hik-credentials-card label:first-child{grid-column:auto}.hik-security-note,.hik-actions{grid-column:auto}.hik-actions button{flex:1 1 130px}.hik-camera-card,.hik-preview-card{padding:13px}.hik-camera-card .panel-title{display:grid}.hik-camera-card .panel-title input{max-width:none}.hik-camera-row{grid-template-columns:34px 1fr}.hik-camera-row label,.hik-camera-row button{grid-column:2}.hik-camera-row button{min-height:40px}.hik-player-placeholder{min-height:300px}}

/* Guard-IA 2.3.40 · cabecera ordenada y contexto residencial destacado. */
.topbar{
  height:76px;
  padding:0 24px;
  display:grid;
  grid-template-columns:minmax(130px,.8fr) minmax(210px,280px) minmax(190px,220px) minmax(290px,1.15fr);
  align-items:center;
  gap:18px;
}
.topbar>.breadcrumbs{min-width:0;overflow:hidden;white-space:nowrap}
.topbar>.breadcrumbs span,.topbar>.breadcrumbs strong{overflow:hidden;text-overflow:ellipsis}
.active-residential-badge{
  width:100%;
  min-width:0;
  max-width:none;
  height:52px;
  padding:8px 16px;
  border:1px solid #2949d0;
  background:linear-gradient(135deg,#344fdb,#2139b4);
  color:#fff;
  box-shadow:0 8px 20px #263b7630;
}
.active-residential-badge small{color:#cfd8ff;font-size:8px}
.active-residential-badge strong{font-size:12px;color:#fff}
.top-digital-clock{
  position:static;
  left:auto;
  top:auto;
  transform:none;
  width:100%;
  min-width:0;
  height:52px;
  justify-self:center;
}
.top-actions{width:100%;min-width:0;margin-left:0;justify-content:flex-end}
.top-actions .search{width:auto;min-width:190px;flex:1;max-width:390px}
.theme-dark .active-residential-badge{border-color:#6078ea;background:linear-gradient(135deg,#334bba,#1d2e77);color:#fff}
.theme-dark .active-residential-badge small{color:#d6ddff}

@media(max-width:1280px){
  .topbar{grid-template-columns:minmax(190px,250px) minmax(170px,200px) minmax(260px,1fr);gap:12px}
  .topbar>.breadcrumbs{display:none}
}
@media(max-width:1023px){
  .topbar{height:72px;padding:0 16px;grid-template-columns:46px minmax(160px,1fr) minmax(150px,190px) auto;gap:10px}
  .top-actions{width:auto}
  .top-actions .search{display:none}
  .active-residential-badge{height:48px}
  .top-digital-clock{height:48px}
}
@media(max-width:767px){
  .topbar{height:66px;padding:0 10px;grid-template-columns:44px minmax(115px,1fr) 92px auto;gap:7px}
  .active-residential-badge{min-width:0;max-width:none;height:46px;padding:6px 9px;border-radius:11px}
  .active-residential-badge small{font-size:6px}.active-residential-badge strong{font-size:9px}
  .top-digital-clock{width:92px;min-width:92px;height:46px}
  .top-actions{gap:4px}.top-actions .theme-toggle,.top-actions .icon-button{display:none}
}

/* Guard-IA 2.3.45 · cabecera simplificada: fecha y hora sin buscador general. */
.topbar{grid-template-columns:minmax(130px,.8fr) minmax(210px,280px) minmax(240px,280px) auto}
.top-actions{width:auto}
@media(max-width:1280px){
  .topbar{grid-template-columns:minmax(210px,1fr) minmax(210px,260px) auto}
}
@media(max-width:1023px){
  .topbar{grid-template-columns:46px minmax(160px,1fr) minmax(150px,190px) auto}
}
@media(max-width:767px){
  .topbar{grid-template-columns:44px minmax(115px,1fr) 92px auto}
}

/* Guard-IA 2.3.46 · contraste integral y legibilidad en modo noche. */
.theme-dark{
  --ink:#f8fafc;
  --muted:#c3ccda;
  --line:#465165;
  --bg:#151922;
}
.theme-dark,.theme-dark main,.theme-dark .view{color:#f8fafc}
.theme-dark .topbar{background:#1d2330;border-color:#465165}
.theme-dark .breadcrumbs,.theme-dark .breadcrumbs span{color:#b7c1d1}
.theme-dark .breadcrumbs strong{color:#f8fafc}
.theme-dark .page-heading h1,.theme-dark .page-heading h2,
.theme-dark .panel h2,.theme-dark .panel h3,
.theme-dark .admin-community-card strong,.theme-dark .admin-table-wrap td,
.theme-dark .resident-list strong,.theme-dark .home-card strong{color:#f8fafc}
.theme-dark .page-heading p,.theme-dark .panel-title p,
.theme-dark .admin-community-card small,.theme-dark .admin-summary-numbers small,
.theme-dark td small,.theme-dark .home-card small,.theme-dark .home-card em,
.theme-dark .resident-list small,.theme-dark .activity-list small,
.theme-dark .form-field small,.theme-dark .empty{color:#c3ccda}
.theme-dark .eyebrow,.theme-dark th,.theme-dark .side-section p,
.theme-dark .metrics small,.theme-dark .form-field span{color:#aebbd0}
.theme-dark input,.theme-dark select,.theme-dark textarea,
.theme-dark .search,.theme-dark .search input,
.theme-dark .access-report-filters input,.theme-dark .access-report-filters select{
  background:#202734;
  border-color:#536078;
  color:#f8fafc;
  color-scheme:dark;
}
.theme-dark input::placeholder,.theme-dark textarea::placeholder{color:#aeb8c8;opacity:1}
.theme-dark select option{background:#202734;color:#f8fafc}
.theme-dark select option:checked{background:#34425c;color:#fff}
.theme-dark .admin-tabs,.theme-dark .tabs,.theme-dark .dossier-tabs{
  background:#252c38;
  border-color:#4a566b;
}
.theme-dark .admin-tabs button,.theme-dark .tabs button,.theme-dark .dossier-tabs button{color:#d8e0ec}
.theme-dark .admin-tabs button.active,.theme-dark .tabs button.active,.theme-dark .dossier-tabs button.active{background:#5265df;color:#fff;border-color:#7182eb}
.theme-dark .panel,.theme-dark .metrics article,.theme-dark .admin-community-card,
.theme-dark .admin-vendor-grid article,.theme-dark .module-card,
.theme-dark .agenda-calendar,.theme-dark .access-report-filters,
.theme-dark .admin-table-wrap,.theme-dark .access-report-table{
  background:#222934;
  border-color:#465165;
  color:#f8fafc;
}
.theme-dark .admin-summary-numbers p,.theme-dark .home-summary>div,
.theme-dark .visitor-data div,.theme-dark .record-actions button,
.theme-dark .home-detail,.theme-dark .receivables>div button,
.theme-dark .agenda-day-list article,.theme-dark .responsive-cards tr{
  background:#2b3340;
  border-color:#505c70;
  color:#f8fafc;
}
.theme-dark .admin-summary-numbers strong,.theme-dark .admin-summary-numbers span{color:#f8fafc}
.theme-dark table{color:#f8fafc}
.theme-dark table th{color:#aebbd0;border-color:#465165}
.theme-dark table td{color:#edf2f8;border-color:#3e485a}
.theme-dark .panel-title button,.theme-dark .secondary,
.theme-dark .heading-actions .secondary,.theme-dark .modal-close{
  background:#2c3441;
  border-color:#536078;
  color:#f2f6fb;
}
.theme-dark .metric-icon.blue{background:#303c70;color:#b9c7ff}
.theme-dark .metric-icon.green{background:#1d493c;color:#9ce6c8}
.theme-dark .metric-icon.amber{background:#503a1e;color:#ffd18a}
.theme-dark .metric-icon.red{background:#542c34;color:#ffb2bb}
.theme-dark .progress,.theme-dark .grid-lines{background-color:#303846}
.theme-dark .donut:after{background:#222934}
.theme-dark .scan-box{background:#202734;border-color:#5b6981}
.theme-dark .scan-box strong{color:#f8fafc}
.theme-dark .modal footer{background:#222934;border-color:#465165}
.theme-dark .notification-list strong,.theme-dark .assistant-knowledge-item strong{color:#f8fafc}
@media(max-width:767px){
  .theme-dark .responsive-cards tr{background:#252d39}
}

/* Guard-IA 2.3.53 · campos operativos legibles en modo noche. */
.theme-dark #gate .access-history .entry-time{
  background:#19372f;
  border-left-color:#42d3a0;
  color:#f1fff9;
}
.theme-dark #gate .access-history .exit-time{
  background:#292f4a;
  border-left-color:#8491ff;
  color:#f5f6ff;
}
.theme-dark #gate .access-history .entry-time strong,
.theme-dark #gate .access-history .exit-time strong{color:#fff}
.theme-dark #gate .access-history .entry-time small{color:#aee8d2}
.theme-dark #gate .access-history .exit-time small{color:#c7cdf8}
.theme-dark .history-actions button,
.theme-dark .history-nip-card,
.theme-dark .manual-exit-confirm,
.theme-dark .evidence-privacy-note,
.theme-dark .evidence-gallery article,
.theme-dark .monitor-movement-data p{
  background:#2b3340;
  border-color:#536078;
  color:#f8fafc;
}
.theme-dark .history-actions .manual-exit{
  background:#30385b;
  border-color:#6675c8;
  color:#dce2ff;
}
.theme-dark .history-actions .view-evidence{
  background:#1d493c;
  border-color:#34715c;
  color:#a8efd2;
}
.theme-dark .history-nip-card code{
  background:#252d4c;
  border-color:#7785df;
  color:#cbd3ff;
}
.theme-dark .evidence-privacy-note{background:#49391f;border-color:#735d35}
.theme-dark .evidence-privacy-note small{color:#f0d59d}
.theme-dark .evidence-gallery article{background:#292e37}
.theme-dark .monitor-movement-data small,
.theme-dark .history-nip-card small,
.theme-dark .history-nip-card span,
.theme-dark .history-nip-card em{color:#c3ccda}

/* Guard-IA 2.3.55 · administración comercial exclusiva del superadministrador. */
.client-admin-notice{margin-bottom:16px}.client-admin-list{display:grid;gap:14px}.client-record{border:1px solid var(--line);border-radius:15px;background:#fff;padding:17px;box-shadow:0 7px 20px #17213c0b}.client-record.blocked{border-color:#e36a74;background:#fff8f8}.client-record>header{display:flex;align-items:center;gap:12px}.client-record>header>span{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#e9edff;color:var(--brand);font-weight:900}.client-record>header>div{flex:1}.client-record h3,.client-record p{margin:0}.client-record h3{font-size:14px}.client-record header p{font-size:9px;color:var(--muted);margin-top:3px}.client-record header em{font-style:normal;border-radius:12px;padding:6px 9px;background:#e4f7ee;color:#147653;font-size:8px;font-weight:900}.client-record header em.blocked{background:#ffe3e6;color:#b42332}.client-record-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:15px 0}.client-record-grid p{border:1px solid var(--line);border-radius:11px;padding:11px;background:#f7f9fc}.client-record-grid small,.client-record-grid strong,.client-record-grid span{display:block}.client-record-grid small{font-size:7px;color:var(--muted);font-weight:900;letter-spacing:.5px}.client-record-grid strong{font-size:11px;margin-top:5px}.client-record-grid span{font-size:8px;color:var(--muted);margin-top:3px}.client-record>footer{display:flex;gap:7px;flex-wrap:wrap}.client-record>footer button{border:1px solid #d7ddeb;background:#fff;color:var(--brand);border-radius:9px;padding:9px 11px;font:800 8px Manrope;cursor:pointer}.client-record>footer button.block{margin-left:auto;border-color:#efb3b8;background:#fff1f2;color:#b42332}.client-record>footer button.reactivate{margin-left:auto;border-color:#9fd7c1;background:#eaf8f2;color:#117451}.client-record details{margin-top:13px;border-top:1px solid var(--line);padding-top:10px}.client-record summary{cursor:pointer;color:var(--brand);font-size:9px;font-weight:800}.client-payment-row{display:flex;justify-content:space-between;gap:12px;padding:9px 3px;border-bottom:1px solid var(--line);font-size:9px}.client-payment-row span{color:var(--muted)}.form-field.full{grid-column:1/-1}.form-field textarea{width:100%;min-height:90px;resize:vertical}.theme-dark .client-record{background:#222934;border-color:#465165}.theme-dark .client-record.blocked{background:#3b252b;border-color:#9b4b56}.theme-dark .client-record-grid p{background:#2b3340;border-color:#505c70}.theme-dark .client-record>footer button{background:#2c3441;border-color:#536078;color:#dce3ff}.theme-dark .client-record>footer button.block{background:#4c2930;border-color:#8b4a54;color:#ffbec5}.theme-dark .client-record>footer button.reactivate{background:#1d493c;border-color:#34715c;color:#a8efd2}@media(max-width:1000px){.client-record-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.client-record-grid{grid-template-columns:1fr}.client-record>footer{display:grid}.client-record>footer button.block,.client-record>footer button.reactivate{margin-left:0}.client-payment-row{display:block}.client-payment-row span{display:block;margin-top:4px}}

/* Guard-IA 2.3.47 · Resumen principal aprobado. */
#admin{padding-top:22px;max-width:1640px}
.dashboard-hero{
  min-height:154px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  padding:28px 31px;
  margin-bottom:0;
  border:1px solid #dfe6f3;
  border-radius:18px 18px 0 0;
  background:linear-gradient(105deg,#fff 0%,#f7faff 46%,#eaf1ff 100%);
  box-shadow:0 10px 28px #263b7610;
}
.dashboard-hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 27%,rgba(255,255,255,.35) 52%,rgba(255,255,255,0) 72%);pointer-events:none}
.dashboard-hero>div{position:relative;z-index:2;max-width:45%}
.dashboard-hero h1{margin:3px 0 5px;font-size:32px;line-height:1.05;letter-spacing:-1.2px;color:#101d38}
.dashboard-hero p{margin:0;color:#66738a;font-size:11px}
.dashboard-hero .eyebrow{color:#43516d;font-size:9px}
.dashboard-hero>img{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.dashboard-hero-name{position:absolute;z-index:3;right:19px;bottom:14px;max-width:38%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid #dbe5f2;background:rgba(255,255,255,.88);color:#183153;border-radius:9px;padding:7px 11px;font-size:9px;box-shadow:0 5px 16px #17305d18;backdrop-filter:blur(6px)}
.dashboard-system-notice{margin:0 0 16px;border-radius:0 0 13px 13px;padding:11px 17px;background:#f5fbf8;border-color:#cfe9df}
.dashboard-system-notice>span{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#dff5eb;color:#16865f;font-weight:900}
.dashboard-system-notice p{font-size:10px}.dashboard-system-notice button{font-size:9px}
.dashboard-primary-metrics{gap:13px;margin-bottom:15px}
.dashboard-primary-metrics .dashboard-shortcut{min-height:162px;padding:17px 18px;border-width:1px!important;border-radius:15px;box-shadow:0 7px 20px #20335a0b}
.dashboard-primary-metrics .dashboard-shortcut:after{display:none}
.dashboard-primary-metrics .dashboard-shortcut>div:first-child{gap:11px}
.dashboard-primary-metrics .metric-icon{width:42px;height:42px;border-radius:12px;font-size:19px;color:#fff}
.dashboard-primary-metrics .metric-icon.green{background:linear-gradient(145deg,#32bd87,#178d63)}
.dashboard-primary-metrics .metric-icon.blue{background:linear-gradient(145deg,#4c6ff3,#294bd5)}
.dashboard-primary-metrics .metric-icon.amber{background:linear-gradient(145deg,#ffad18,#e88400)}
.dashboard-primary-metrics .metric-icon.strong-orange{background:linear-gradient(145deg,#ff763f,#ec451d)}
.dashboard-primary-metrics .dashboard-shortcut>div small{font-size:9px;color:#14213c!important}
.dashboard-primary-metrics .dashboard-shortcut>:scope>strong{font-size:27px;margin:8px 0 3px}
.dashboard-primary-metrics .dashboard-shortcut>p{font-size:8px;max-width:72%}
.dashboard-primary-metrics .dashboard-shortcut>em{position:absolute;left:18px;bottom:15px;font-size:8px}
.dashboard-primary-metrics .progress{position:absolute;left:18px;right:22px;bottom:34px;height:4px}
.dashboard-card-art{position:absolute;right:17px;bottom:17px;width:60px;height:55px;opacity:.32;pointer-events:none}
.access-art:before{content:"";position:absolute;inset:13px 0;background:linear-gradient(150deg,transparent 0 12%,#18a774 13% 17%,transparent 18% 34%,#18a774 35% 40%,transparent 41% 58%,#18a774 59% 64%,transparent 65%)}
.agenda-art{border-radius:11px;background:repeating-linear-gradient(to bottom,#5571e9 0 5px,transparent 5px 13px);transform:rotate(5deg)}
.finance-art{background:linear-gradient(to top,transparent 0);display:flex;align-items:flex-end;gap:6px}
.finance-art:before{content:"";width:100%;height:100%;background:linear-gradient(to top,#e9910b 0 55%,transparent 55%) 0 100%/9px 42%,linear-gradient(to top,#e9910b 0 65%,transparent 65%) 17px 100%/9px 65%,linear-gradient(to top,#e9910b 0 75%,transparent 75%) 34px 100%/9px 82%,linear-gradient(to top,#e9910b 0 85%,transparent 85%) 51px 100%/9px 100%;background-repeat:no-repeat}
.attention-art{border-radius:45% 45% 55% 55%;background:#fb6b3b}.attention-art:after{content:"!";display:grid;place-items:center;height:100%;color:#fff;font:900 34px Manrope}
.dashboard-command-grid{display:grid;grid-template-columns:minmax(330px,1.18fr) minmax(300px,.9fr) minmax(300px,.95fr);gap:13px;align-items:stretch}
.dashboard-command-grid>.panel,.dashboard-side-stack>.panel{border-radius:15px;box-shadow:0 7px 20px #20335a0a}
.dashboard-command-grid>.panel{min-height:370px;display:flex;flex-direction:column}
.dashboard-command-grid .panel-title h2{font-size:13px}.dashboard-command-grid .panel-title p{font-size:8px;margin-top:3px}
.dashboard-command-grid .panel-title>button{border:1px solid #dce3ef;background:#f8faff;color:#3554d6;border-radius:8px;padding:7px 9px;font:800 7px Manrope;box-shadow:none}
.dashboard-agenda{margin-top:0}
.dashboard-agenda-summary{margin:15px 0 9px;gap:6px;overflow-x:auto}
.dashboard-agenda-summary span{padding:6px 9px;white-space:nowrap}
.dashboard-agenda-list{grid-template-columns:1fr;gap:7px;flex:1;align-content:start}
.dashboard-agenda-list>button{min-height:50px}
.dashboard-agenda-empty{min-height:190px;display:grid;place-items:center;margin:0;border-radius:12px;background:linear-gradient(180deg,#fbfcff,#f6f8fc)}
.dashboard-panel-link{margin-top:auto;align-self:center;border:0;background:transparent;color:#3155dc;font:800 8px Manrope;padding:9px;cursor:pointer}
.dashboard-recent-list{display:grid;margin-top:10px}
.dashboard-activity-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #edf0f5}
.dashboard-activity-row>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:900;background:#e8eeff;color:#3659d7}
.dashboard-activity-row>span.entry{background:#e2f6ed;color:#17855e}.dashboard-activity-row>span.exit{background:#ebe9ff;color:#624bd2}.dashboard-activity-row>span.incident{background:#fff0e8;color:#e25a25}.dashboard-activity-row>span.agenda{background:#edf1ff;color:#4161dc}
.dashboard-activity-row p{margin:0;min-width:0}.dashboard-activity-row strong,.dashboard-activity-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-activity-row strong{font-size:9px}.dashboard-activity-row small{font-size:7px;color:#7d899c;margin-top:2px}.dashboard-activity-row time{font-size:7px;color:#7d899c}
.dashboard-recent-empty{padding:45px 10px;text-align:center;color:var(--muted);font-size:9px}
.dashboard-side-stack{display:grid;grid-template-rows:1fr 1.1fr;gap:13px}
.dashboard-side-stack>.panel{min-height:0;padding:14px}
.dashboard-alert-list{display:grid;margin-top:9px;border:1px solid #f0ddcd;border-radius:10px;overflow:hidden}
.dashboard-alert-list button{min-height:34px;display:flex;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid #f0ddcd;background:#fffaf5;color:#4d586d;padding:7px 10px;font:700 8px Manrope;cursor:pointer}.dashboard-alert-list button:last-child{border-bottom:0}.dashboard-alert-list b{min-width:21px;padding:4px;border-radius:9px;background:#ffe8db;color:#e45324;font-size:8px}
.dashboard-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.dashboard-quick-actions button{min-height:58px;border:1px solid #e2e7f1;border-radius:10px;background:#f8faff;color:#4058bc;font:800 7px Manrope;padding:8px 4px;display:grid;place-items:center;gap:4px;cursor:pointer}.dashboard-quick-actions button>span{font-size:18px}.dashboard-quick-actions button:nth-child(2){background:#effaf5;color:#168460}.dashboard-quick-actions button:nth-child(3){background:#fff4ef;color:#d94f25}.dashboard-quick-actions button:hover{transform:translateY(-1px);box-shadow:0 6px 13px #273b6a12}
.theme-dark .dashboard-hero{border-color:#465165;background:linear-gradient(105deg,#202733 0%,#1c2430 50%,#253247 100%)}
.theme-dark .dashboard-hero:after{background:linear-gradient(90deg,rgba(27,34,45,.98) 0%,rgba(27,34,45,.9) 30%,rgba(27,34,45,.32) 56%,rgba(27,34,45,0) 75%)}.theme-dark .dashboard-hero>img{opacity:.68}.theme-dark .dashboard-hero h1{color:#fff}.theme-dark .dashboard-hero p,.theme-dark .dashboard-hero .eyebrow{color:#c7d1df}.theme-dark .dashboard-hero-name{background:rgba(31,39,52,.88);border-color:#536078;color:#f5f7fb}
.theme-dark .dashboard-system-notice{background:#1c342d;border-color:#315347}
.theme-dark .dashboard-primary-metrics .dashboard-shortcut>div small{color:#f8fafc!important}
.theme-dark .dashboard-command-grid .panel-title>button{background:#2c3441;border-color:#536078;color:#dbe5ff}
.theme-dark .dashboard-agenda-empty{background:linear-gradient(180deg,#242c38,#202732)}
.theme-dark .dashboard-activity-row{border-color:#3d4656}.theme-dark .dashboard-activity-row small,.theme-dark .dashboard-activity-row time{color:#b8c2d2}
.theme-dark .dashboard-alert-list{border-color:#604739}.theme-dark .dashboard-alert-list button{background:#332b29;border-color:#604739;color:#f4f6f9}.theme-dark .dashboard-alert-list b{background:#593426;color:#ffb18f}
.theme-dark .dashboard-quick-actions button{background:#293241;border-color:#46546c;color:#bfd0ff}.theme-dark .dashboard-quick-actions button:nth-child(2){background:#203a33;color:#9be1c5}.theme-dark .dashboard-quick-actions button:nth-child(3){background:#412e2b;color:#ffb49a}
@media(max-width:1280px){.dashboard-command-grid{grid-template-columns:1.15fr .85fr}.dashboard-side-stack{grid-column:1/-1;grid-template-columns:1fr 1fr;grid-template-rows:auto}.dashboard-primary-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.dashboard-command-grid{grid-template-columns:1fr}.dashboard-side-stack{grid-column:auto;grid-template-columns:1fr}.dashboard-primary-metrics{grid-template-columns:1fr 1fr}.dashboard-hero>div{max-width:62%}.dashboard-hero>img{width:72%;opacity:.75}}
@media(max-width:620px){#admin{padding-top:12px}.dashboard-hero{min-height:145px;padding:21px 18px}.dashboard-hero h1{font-size:26px}.dashboard-hero>div{max-width:82%}.dashboard-hero>img{width:100%;opacity:.25}.dashboard-primary-metrics{grid-template-columns:1fr}.dashboard-primary-metrics .dashboard-shortcut{min-height:150px}.dashboard-command-grid>.panel{min-height:330px}.dashboard-quick-actions{grid-template-columns:1fr 1fr}}

/* Guard-IA 2.3.49 · Personalización controlada de portada. */
.appearance-settings{display:grid;gap:16px}.appearance-preview{height:210px;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#eef3fb}.appearance-preview img{width:100%;height:100%;object-fit:cover;object-position:right center}.appearance-preview strong{position:absolute;right:16px;bottom:14px;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgba(255,255,255,.9);border:1px solid #dce4ef;border-radius:9px;padding:8px 12px;color:#173153;font-size:10px}.appearance-form-grid{display:grid;grid-template-columns:1fr .65fr 1fr;gap:12px}.appearance-upload{min-height:68px;border:1px dashed #9dabca;border-radius:11px;background:#f7f9fd;color:#314a80;display:flex;flex-direction:column;justify-content:center;padding:10px 14px;cursor:pointer}.appearance-upload span{font-size:10px;font-weight:900}.appearance-upload small{font-size:8px;color:var(--muted);margin-top:3px}.appearance-upload input{margin-top:7px;font-size:8px}.appearance-actions{display:flex;justify-content:flex-end;gap:9px}.theme-dark .appearance-preview,.theme-dark .appearance-upload{background:#252d39;border-color:#56647a}.theme-dark .appearance-preview strong{background:rgba(31,39,52,.9);border-color:#56647a;color:#f5f7fb}@media(max-width:800px){.appearance-form-grid{grid-template-columns:1fr}.appearance-preview{height:170px}}@media(max-width:620px){.dashboard-hero:after{background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.45))}.theme-dark .dashboard-hero:after{background:linear-gradient(90deg,rgba(27,34,45,.94),rgba(27,34,45,.48))}.dashboard-hero-name{max-width:55%;font-size:8px}}

/* Guard-IA 2.3.61 · experiencia moderna, compacta y accesible. */
:root{--ink:#111827;--muted:#667085;--line:#e2e8f0;--bg:#f3f6fb;--brand:#3559d9;--shadow:0 8px 26px rgba(15,23,42,.055)}
body{font-family:"Segoe UI Variable","Segoe UI",Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;background:radial-gradient(circle at 78% -10%,#e8eeff 0,transparent 28%),var(--bg)}
button,input,select,textarea{font-family:inherit!important}
button,a,input,select,textarea{transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid rgba(53,89,217,.28)!important;outline-offset:2px!important}
.sidebar{background:rgba(255,255,255,.96);border-right-color:#dfe5ef;box-shadow:8px 0 28px rgba(29,45,83,.035)}
.sidebar nav button,.sidebar .side-section button{min-height:42px;border-radius:11px;color:#526075;font-weight:650}
.sidebar nav button:hover,.sidebar .side-section button:hover{background:#f1f4fa;border-color:#e0e6f0;transform:translateX(2px)}
.sidebar nav button.active,.sidebar .side-section button.active{background:#eaf0ff;border-color:#cbd8ff;color:#2348c5;box-shadow:inset 3px 0 #3559d9,0 5px 14px rgba(53,89,217,.08)}
.topbar{background:rgba(255,255,255,.88);border-bottom-color:#dfe5ef;box-shadow:0 8px 24px rgba(15,23,42,.035);backdrop-filter:blur(16px)}
.active-residential-badge{background:linear-gradient(135deg,#365bd9,#2645b8);box-shadow:0 8px 18px rgba(44,75,190,.18)}
.view{padding-left:28px;padding-right:28px}
.panel,.metrics article{border-color:#e1e7f0;box-shadow:var(--shadow)}
.primary{background:linear-gradient(135deg,#3d63e2,#2949bd);box-shadow:0 7px 17px rgba(49,82,205,.2)}
.primary:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(49,82,205,.26)}
.secondary:hover{border-color:#c6d2e4;background:#f8faff}
#admin{padding-top:18px}
.dashboard-hero{min-height:136px;padding:23px 27px;border-radius:16px 16px 0 0;box-shadow:0 9px 24px rgba(29,48,94,.055)}
.dashboard-hero h1{font-size:29px;letter-spacing:-.9px}
.dashboard-system-notice{margin-bottom:13px;min-height:45px}
.dashboard-primary-metrics{gap:11px;margin-bottom:13px}
.dashboard-primary-metrics .dashboard-shortcut{min-height:142px;padding:15px 16px;background:#fff!important;border-color:#e1e7f0!important;overflow:hidden}
.dashboard-primary-metrics .dashboard-shortcut:nth-child(1){border-top:3px solid #22a877!important}
.dashboard-primary-metrics .dashboard-shortcut:nth-child(2){border-top:3px solid #4f6fe8!important}
.dashboard-primary-metrics .dashboard-shortcut:nth-child(3){border-top:3px solid #ec9b17!important}
.dashboard-primary-metrics .dashboard-shortcut:nth-child(4){border-top:3px solid #ef6435!important}
.dashboard-primary-metrics .dashboard-shortcut:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(25,39,72,.09)}
.dashboard-primary-metrics .metric-icon{width:38px;height:38px;border-radius:11px;font-size:17px}
.dashboard-primary-metrics .dashboard-shortcut>:scope>strong{font-size:25px;margin-top:7px}
.dashboard-primary-metrics .dashboard-shortcut>em{bottom:12px}
.dashboard-card-art{width:52px;height:48px;right:14px;bottom:14px;opacity:.18}
.dashboard-command-grid{gap:11px}
.dashboard-command-grid>.panel{min-height:340px;padding:16px}
.dashboard-side-stack{gap:11px}
.dashboard-quick-actions button{min-height:64px;background:#f7f9fd;border-color:#dde5f1;font-size:8px}
.dashboard-quick-actions button:hover{border-color:#bdcaf0;background:#eef3ff;transform:translateY(-2px)}
.panel-title h2{letter-spacing:-.15px}
.theme-dark{--bg:#151a23;--line:#384457;--ink:#f8fafc;--muted:#b8c2d1}
.theme-dark body,.theme-dark{background:radial-gradient(circle at 78% -10%,#263250 0,transparent 28%),#151a23}
.theme-dark .sidebar{background:rgba(21,27,42,.97)}
.theme-dark .topbar{background:rgba(29,35,48,.9)}
.theme-dark .dashboard-primary-metrics .dashboard-shortcut{background:#252d39!important;border-color:#414b5c!important}
@media(max-width:1023px){.view{padding-left:20px;padding-right:20px}.sidebar nav button:hover,.sidebar .side-section button:hover{transform:none}}
@media(max-width:767px){body{background:#f4f7fb}.view{padding:16px 14px 96px}#admin{padding-top:10px}.topbar{backdrop-filter:blur(12px)}.sidebar nav button,.sidebar .side-section button{min-height:50px}.dashboard-hero{min-height:132px;padding:19px 17px;border-radius:14px 14px 0 0}.dashboard-hero h1{font-size:25px}.dashboard-system-notice{padding:10px 12px}.dashboard-primary-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dashboard-primary-metrics .dashboard-shortcut:nth-child(n){min-height:152px!important;padding:13px 14px}.dashboard-primary-metrics .dashboard-shortcut>p{max-width:100%;padding-right:24px}.dashboard-primary-metrics .dashboard-shortcut>em{left:14px}.dashboard-card-art{width:40px;height:40px;opacity:.13}}
@media(max-width:430px){.dashboard-primary-metrics{grid-template-columns:1fr}.dashboard-primary-metrics .dashboard-shortcut:nth-child(n){min-height:148px!important}.dashboard-command-grid>.panel{min-height:310px}}

/* Guard-IA 2.3.51 · Central de supervisión multicomunidad. */
.access-type-badge{display:inline-flex;align-items:center;gap:7px;min-width:96px}.access-type-badge i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:17px;font-style:normal;background:#eef0ff}.access-type-badge strong{font-size:9px}.access-type-badge.taxi i{background:#fff3c9}.access-type-badge.provider i{background:#e8f2ff}.access-type-badge.parcel i{background:#f1eaff}.access-type-badge.service i{background:#e7f6ef}.access-type-badge.family i{background:#ffecef}.share-actions{flex-wrap:wrap}.share-actions button{min-height:42px}.share-actions button[data-share="WhatsApp"]{background:#1fa463;color:#fff;border-color:#1fa463}
.central-heading{display:flex;align-items:center;justify-content:space-between;margin:4px 0 15px}.central-heading h2,.central-heading p{margin:0}.central-heading h2{font-size:24px}.central-heading>div>p:last-child{font-size:9px;color:var(--muted);margin-top:4px}.central-heading>span{border:1px solid #cbd8fb;background:#eef3ff;color:#3157cb;border-radius:18px;padding:7px 11px;font-size:8px;font-weight:900}.central-metrics{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}.central-metrics article{min-height:114px;border-top:3px solid #4d67e8}.central-metrics article:nth-child(2){border-color:#18a873}.central-metrics article:nth-child(3){border-color:#7557d9}.central-metrics article:nth-child(4){border-color:#1594bd}.central-metrics .central-attention{border-color:#ef6b35}.central-metrics strong{font-size:25px}.central-communities-panel{margin-top:0}.central-community-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.central-community-row{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;box-shadow:0 5px 16px #23395e0a}.central-community-row.selected{border-color:#5770df;box-shadow:0 0 0 3px #5369d916}.central-community-row header{display:flex;align-items:center;gap:9px}.central-community-row header>span{width:39px;height:39px;border-radius:11px;background:#e9edff;color:#3f58cc;display:grid;place-items:center;font-weight:900}.central-community-row header div{min-width:0;flex:1}.central-community-row h3,.central-community-row p{margin:0}.central-community-row h3{font-size:11px}.central-community-row header p{font-size:8px;color:var(--muted);margin-top:2px}.central-community-row header em{font-style:normal;font-size:7px;font-weight:900;border-radius:12px;padding:5px 8px}.central-community-row header em.active{background:#e0f6eb;color:#12825b}.central-community-row header em.inactive{background:#fff0e4;color:#c75c1d}.central-community-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0}.central-community-facts p{background:#f6f8fc;border-radius:9px;padding:8px}.central-community-facts small,.central-community-facts strong{display:block}.central-community-facts small{font-size:6px;color:var(--muted)}.central-community-facts strong{font-size:17px;margin-top:2px}.central-community-row footer{display:grid;grid-template-columns:1.2fr 1fr auto;gap:9px;align-items:end;border-top:1px solid var(--line);padding-top:10px}.central-community-row footer small,.central-community-row footer strong{display:block}.central-community-row footer small{font-size:6px;color:var(--muted)}.central-community-row footer strong{font-size:8px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.central-community-row footer button{border:0;border-radius:8px;background:#4058d8;color:#fff;padding:8px 11px;font:800 8px Manrope;cursor:pointer}.central-community-row footer button:disabled{background:#dfe4f5;color:#66738f;cursor:default}.theme-dark .central-heading>span{background:#293651;border-color:#526899;color:#b9c9ff}.theme-dark .central-community-row{background:#252b35;border-color:#414b5c}.theme-dark .central-community-facts p{background:#2d3440}.theme-dark .central-community-row footer button:disabled{background:#343d4b;color:#9ba6b8}@media(max-width:1200px){.central-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.central-community-list{grid-template-columns:1fr}.central-metrics{grid-template-columns:1fr 1fr}}@media(max-width:620px){.central-metrics{grid-template-columns:1fr}.central-heading{align-items:flex-start;gap:10px}.central-community-facts{grid-template-columns:1fr 1fr}.central-community-row footer{grid-template-columns:1fr}.central-community-row footer button{width:100%}}

/* GA-UI-002 · Layout global reutilizable. Sin cambios de lógica, datos o permisos. */
:root{--guard-primary:var(--brand);--guard-primary-hover:#2748bd;--guard-success:var(--green);--guard-warning:var(--amber);--guard-danger:var(--red);--guard-info:var(--blue);--guard-purple:#7557d9;--guard-bg:var(--bg);--guard-surface:#fff;--guard-card:#fff;--guard-border:var(--line);--guard-text:var(--ink);--guard-text-secondary:#526075;--guard-muted:var(--muted);--guard-space-1:4px;--guard-space-2:8px;--guard-space-3:12px;--guard-space-4:16px;--guard-space-6:24px;--guard-space-8:32px;--guard-space-12:48px;--guard-radius-sm:8px;--guard-radius-md:12px;--guard-radius-lg:18px;--guard-shadow-sm:0 6px 18px rgba(15,23,42,.05);--guard-shadow-modal:0 28px 70px rgba(15,23,42,.22);--guard-sidebar-width:272px;--guard-topbar-height:72px}
html{background:var(--guard-bg);scroll-behavior:smooth}body{min-width:320px;color:var(--guard-text);overflow-x:hidden}.app-shell{min-height:100dvh}.app-shell>main{margin-left:var(--guard-sidebar-width);width:calc(100% - var(--guard-sidebar-width));min-width:0}
.sidebar{width:var(--guard-sidebar-width);padding:20px 14px 16px;border-right:1px solid var(--guard-border);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cad3e3 transparent;z-index:30}.sidebar .brand{min-height:55px;padding:0 10px 16px}.sidebar .brand-mark{width:42px;height:42px;background:#fff;box-shadow:0 8px 20px rgba(38,66,150,.14)}.sidebar .brand-mark img{width:100%;height:100%;object-fit:contain}.sidebar .brand strong{font-size:20px;letter-spacing:-.7px}.sidebar .brand small{margin-top:2px;font-size:9px;letter-spacing:.8px;text-transform:uppercase}.sidebar .property{margin:0 6px 15px;padding:10px;border-radius:var(--guard-radius-md);background:#f4f7fd;border-color:#dde5f2}.sidebar .property>span:nth-child(2){min-width:0;flex:1}.sidebar .property select{width:100%;border:0;background:transparent;color:#1c2b49;font-size:10px;font-weight:800;outline:0;text-overflow:ellipsis}.sidebar nav,.sidebar .side-section{padding-left:6px;padding-right:6px}.sidebar nav button,.sidebar .side-section button{width:100%;min-height:44px;padding:9px 11px;border:1px solid transparent}.sidebar nav button>span,.sidebar .side-section button>span{width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:grid;place-items:center;background:#eef2f9;color:#53637c;font-size:15px}.sidebar nav button.active>span,.sidebar .side-section button.active>span{background:var(--guard-primary);color:#fff;box-shadow:0 6px 13px rgba(53,89,217,.2)}.sidebar .side-section>p{padding:0 5px;margin-top:3px;color:#8b96a9;font-size:8px;font-weight:900}.sidebar .connection{margin:15px 6px 0}.sidebar .app-version{display:block;margin:10px 9px 0;color:#8b96a9;font-size:8px;font-weight:700}.sidebar .profile{margin-top:10px;padding:13px 7px 0;align-items:flex-start}.profile-identity{display:flex;align-items:center;gap:9px;min-width:0;flex:1}.profile-identity>span:last-child{min-width:0}.profile-identity strong,.profile-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-actions{display:flex;gap:5px}.profile-actions button{min-width:44px;min-height:32px;margin:0;padding:0 8px;border:1px solid #dce3ef;border-radius:8px!important;background:#fff!important;color:#4f5f76!important;font-size:8px;font-weight:800}#logoutBtn{color:#b53a46!important;border-color:#f0c8cd!important;background:#fff8f8!important}
.topbar{min-height:var(--guard-topbar-height);height:var(--guard-topbar-height);padding:0 24px;grid-template-columns:minmax(160px,1fr) minmax(220px,300px) minmax(150px,200px) auto;gap:14px;z-index:25}.topbar .breadcrumbs{min-width:0;font-size:11px}.active-residential-badge{width:100%;min-width:0;max-width:300px}.top-actions{justify-self:end}.top-actions>button{flex:none}.mobile-menu{cursor:pointer;font-size:0}.mobile-menu:before{content:"☰";font-size:20px}.view{width:100%;max-width:1680px;padding:24px clamp(16px,2.2vw,36px) 56px}.page-heading h1{font-size:clamp(24px,2.15vw,32px)}.sidebar-scrim{position:fixed;inset:0;background:rgba(9,18,38,.48);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:.2s;z-index:28}body.mobile-menu-open{overflow:hidden}body.mobile-menu-open .sidebar-scrim{opacity:1;visibility:visible}
.theme-dark{--guard-surface:#1d2330;--guard-card:#252d39;--guard-text-secondary:#c3ccda}.theme-dark .sidebar .property{background:#222b3b;border-color:#38465b}.theme-dark .sidebar .property select{color:#f4f7fb}.theme-dark .sidebar nav button>span,.theme-dark .sidebar .side-section button>span{background:#293446;color:#cbd5e5}.theme-dark .profile-actions button{background:#252e3d!important;border-color:#445168!important;color:#e1e7f0!important}.theme-dark #logoutBtn{background:#3b262c!important;border-color:#70404a!important;color:#ffb8c0!important}
@media(max-width:1280px){:root{--guard-sidebar-width:248px}.topbar{padding:0 18px;grid-template-columns:minmax(180px,1fr) minmax(205px,260px) auto}.topbar .breadcrumbs{display:none}}
@media(max-width:1023px){:root{--guard-sidebar-width:0px}.app-shell>main{margin-left:0;width:100%}.sidebar{width:min(310px,88vw);height:100dvh;inset:0 auto 0 0;padding:18px 14px calc(20px + env(safe-area-inset-bottom));transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 45px rgba(12,23,48,.18)}body.mobile-menu-open .sidebar,.sidebar.open{transform:translateX(0)}.mobile-menu{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#f2f5fb}.topbar{grid-template-columns:44px minmax(150px,1fr) minmax(145px,190px) auto;padding:0 14px;gap:10px}.topbar .breadcrumbs{display:none}.active-residential-badge{max-width:none}.sidebar .brand,.sidebar .property,.sidebar .side-section,.sidebar .connection,.sidebar .profile{display:flex}.sidebar nav{display:flex;height:auto}.sidebar nav button,.sidebar .side-section button{display:flex;flex-direction:row;text-align:left;font-size:11px;white-space:normal}.sidebar nav button>span,.sidebar .side-section button>span{height:30px;width:30px}}
@media(max-width:767px){:root{--guard-topbar-height:66px}body{padding-bottom:74px}.topbar{grid-template-columns:44px minmax(115px,1fr) auto;padding:0 10px;gap:8px}.topbar:before{display:none}.top-digital-clock{display:none}.active-residential-badge{height:46px;padding:6px 9px}.active-residential-badge strong{font-size:9px}.top-actions{gap:5px}.top-actions .theme-toggle,.top-actions .icon-button,.top-actions .help{display:none}.admin-mobile-logout{display:flex!important}.view{padding:16px 14px calc(96px + env(safe-area-inset-bottom))}.sidebar{width:100%;height:74px;inset:auto 0 0;padding:5px 8px calc(6px + env(safe-area-inset-bottom));transform:none;overflow:hidden;border:0;border-top:1px solid var(--guard-border);box-shadow:0 -10px 28px rgba(17,31,61,.11)}.sidebar .brand,.sidebar .property,.sidebar .side-section,.sidebar .connection,.sidebar .app-version,.sidebar .profile{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:0;height:100%}.sidebar nav button{min-height:60px;padding:5px 1px 3px;display:none;flex-direction:column;justify-content:center;gap:2px;border-radius:11px;font-size:8px;line-height:1.08;text-align:center;white-space:nowrap}.sidebar nav button:nth-child(1),.sidebar nav button:nth-child(2),.sidebar nav button:nth-child(3),.sidebar nav button:nth-child(6),.sidebar nav button:nth-child(7){display:flex}.sidebar nav button>span{width:25px;height:25px;flex:0 0 25px;font-size:14px;background:transparent}.sidebar nav button.active{box-shadow:none;background:#edf2ff;border-color:#dbe4ff}.sidebar nav button.active>span{box-shadow:none;background:transparent;color:var(--guard-primary)}body.mobile-menu-open .sidebar{width:min(330px,90vw);height:100dvh;inset:0 auto 0 0;padding:18px 13px calc(18px + env(safe-area-inset-bottom));overflow-y:auto;border-right:1px solid var(--guard-border);border-top:0;box-shadow:18px 0 45px rgba(12,23,48,.22)}body.mobile-menu-open .sidebar .brand,body.mobile-menu-open .sidebar .property,body.mobile-menu-open .sidebar .connection,body.mobile-menu-open .sidebar .app-version,body.mobile-menu-open .sidebar .profile{display:flex}body.mobile-menu-open .sidebar .side-section{display:flex}body.mobile-menu-open .sidebar nav{display:flex;height:auto;padding:0 6px}body.mobile-menu-open .sidebar nav button,body.mobile-menu-open .sidebar .side-section button{display:flex;min-height:44px;flex-direction:row;justify-content:flex-start;padding:8px 10px;font-size:11px;text-align:left;white-space:normal}body.mobile-menu-open .sidebar nav button>span,body.mobile-menu-open .sidebar .side-section button>span{width:30px;height:30px;flex-basis:30px;background:#eef2f9}body.mobile-menu-open .sidebar nav button.active>span,body.mobile-menu-open .sidebar .side-section button.active>span{background:var(--guard-primary);color:#fff}}
@media(max-width:479px){.topbar{grid-template-columns:42px minmax(105px,1fr) auto}.mobile-menu{width:42px;height:42px}.active-residential-badge small{font-size:6px}.active-residential-badge strong{font-size:8px}.admin-mobile-logout strong{display:none}.page-heading{display:block}.page-heading h1{font-size:24px}.page-heading p{font-size:11px;line-height:1.45}.modal-overlay{padding:0;align-items:end}.modal{width:100%;max-height:94dvh;border-radius:20px 20px 0 0;overflow-y:auto}.modal form{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.form-field input,.form-field select,.form-field textarea{min-height:48px;font-size:16px}}

/* Guard-IA 2.3.70 · Navegación jerárquica inspirada en paneles SaaS modernos. */
.sidebar{padding-left:12px;padding-right:12px}
.guard-navigation{display:flex;flex-direction:column;gap:5px;padding:0 4px!important}
.guard-navigation .nav-home{margin-bottom:3px}
.nav-group{display:block;border-top:1px solid transparent}
.nav-group-toggle{width:100%;min-height:30px!important;padding:7px 10px!important;border:0!important;background:transparent!important;color:#8792a5!important;border-radius:8px!important;display:flex!important;align-items:center!important;justify-content:space-between;font:850 8px Manrope!important;letter-spacing:1.15px;cursor:pointer}
.nav-group-toggle:hover{background:#f3f6fb!important;color:#53627a!important;transform:none!important}
.nav-group-toggle>span{width:auto!important;height:auto!important;display:inline!important;background:transparent!important;box-shadow:none!important;color:inherit!important;font-size:inherit!important;text-align:left!important}
.nav-group-toggle>i{width:auto!important;height:auto!important;margin:0!important;background:transparent!important;color:#8f9aad!important;font-size:11px!important;font-style:normal;transition:transform .18s ease}
.nav-group:not(.open) .nav-group-toggle>i{transform:rotate(180deg)}
.nav-group-items{display:flex;flex-direction:column;gap:3px;max-height:420px;overflow:hidden;transition:max-height .22s ease,opacity .16s ease;opacity:1}
.nav-group:not(.open) .nav-group-items{max-height:0;opacity:0}
.guard-navigation .nav-item{position:relative;width:100%;min-height:42px;padding:7px 9px;border:1px solid transparent;border-radius:10px;color:#526075;background:transparent;font:700 11px Manrope;text-align:left;cursor:pointer;display:flex;align-items:center;gap:10px}
.guard-navigation .nav-item>span{width:29px;height:29px;flex:0 0 29px;border-radius:9px;display:grid;place-items:center;background:#eef2f8;color:#596980;font-size:14px}
.guard-navigation .nav-item:hover{background:#f1f4f9;border-color:#e0e6f0;transform:translateX(2px)}
.guard-navigation .nav-item.active{background:#eaf0ff;border-color:#cbd8ff;color:#2348c5;box-shadow:inset 3px 0 #3559d9,0 5px 14px rgba(53,89,217,.08)}
.guard-navigation .nav-item.active>span{background:#3559d9;color:#fff;box-shadow:0 6px 13px rgba(53,89,217,.2)}
.guard-navigation .nav-item.active:after{content:"";width:8px;height:8px;margin-left:auto;flex:0 0 8px;border-radius:50%;background:#20a978;box-shadow:0 0 0 4px #20a9781c}
.guard-navigation .nav-item>b{font-size:7px;background:#dcf6eb;color:#14835c;border-radius:10px;padding:3px 6px;margin-left:auto}
.guard-navigation .nav-item>i{margin-left:auto}
.theme-dark .nav-group-toggle{color:#8895aa!important}.theme-dark .nav-group-toggle:hover{background:#202a40!important;color:#d4dbea!important}.theme-dark .guard-navigation .nav-item{color:#bac4d3}.theme-dark .guard-navigation .nav-item>span{background:#293446;color:#cbd5e5}.theme-dark .guard-navigation .nav-item:hover{background:#202a40;border-color:#3a4864}.theme-dark .guard-navigation .nav-item.active{background:#273760;border-color:#536fb7;color:#e2e9ff}
@media(max-width:767px){body:not(.mobile-menu-open) .guard-navigation{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));height:100%;gap:3px;padding:0!important}body:not(.mobile-menu-open) .guard-navigation>.nav-home,body:not(.mobile-menu-open) .guard-navigation .nav-group{display:none}body:not(.mobile-menu-open) .guard-navigation>.nav-home,body:not(.mobile-menu-open) .nav-group[data-nav-group="operation"],body:not(.mobile-menu-open) .nav-group[data-nav-group="applications"],body:not(.mobile-menu-open) .nav-group[data-nav-group="administration"]{display:contents}body:not(.mobile-menu-open) .nav-group-toggle{display:none!important}body:not(.mobile-menu-open) .nav-group-items{display:contents}body:not(.mobile-menu-open) .guard-navigation .nav-item{display:none;min-height:60px;padding:5px 1px 3px;flex-direction:column;justify-content:center;gap:2px;font-size:8px;line-height:1.08;text-align:center;white-space:nowrap}body:not(.mobile-menu-open) .guard-navigation [data-view="admin"],body:not(.mobile-menu-open) .guard-navigation [data-view="gate"],body:not(.mobile-menu-open) .guard-navigation [data-view="residentApp"],body:not(.mobile-menu-open) .guard-navigation [data-view="residents"],body:not(.mobile-menu-open) .guard-navigation [data-view="homes"]{display:flex}body.mobile-menu-open .guard-navigation{display:flex!important;height:auto}body.mobile-menu-open .nav-group-toggle{display:flex!important}body.mobile-menu-open .nav-group-items{display:flex}body.mobile-menu-open .guard-navigation .nav-item{display:flex}}

/* Guard-IA 2.3.72 · personalización dinámica del menú. */
.menu-personalizer [hidden]{display:none!important}
.property + .menu-personalizer{margin:0 5px 10px;padding:0 0 10px;border-top:0;border-bottom:1px solid #e2e8f2}
.access-type-badge{min-width:124px;gap:10px}.access-type-badge i{width:42px;height:42px;border-radius:12px;font-size:23px;flex:0 0 42px}.access-type-badge strong{font-size:11px}.quick-access-strip button>span{width:56px;height:56px;border-radius:17px;font-size:30px}
.menu-personalizer{margin:10px 5px 0;padding-top:10px;border-top:1px solid #e2e8f2}.menu-personalizer>button{width:100%;min-height:36px;border:1px solid #dce4f1;border-radius:10px;background:#fff;color:#526177;display:flex;align-items:center;justify-content:center;gap:7px;font:750 9px Manrope;cursor:pointer}.menu-personalizer>button:hover,.menu-personalizer>button[aria-pressed="true"]{border-color:#bfcdf2;background:#edf2ff;color:#2e50c7}.menu-personalizer>button span{font-size:14px}.menu-personalizer-actions{display:grid;grid-template-columns:1fr 1fr 54px;gap:5px;margin-top:7px}.menu-personalizer-actions button{min-height:30px;border:1px solid #dce4f1;border-radius:8px;background:#f7f9fd;color:#56657a;font:750 7px Manrope;cursor:pointer}.menu-personalizer-actions #finishMenuBtn{background:#3559d9;color:#fff;border-color:#3559d9}.menu-personalizer>small{display:block;padding:7px 4px 0;color:#7d899c;font-size:7px;line-height:1.35;text-align:center}.menu-order-controls{display:none!important;width:auto!important;height:auto!important;flex:0 0 auto!important;margin-left:auto!important;background:transparent!important;gap:3px}.menu-order-controls button{width:23px;height:23px;border:1px solid #cbd7eb;border-radius:7px;background:#fff;color:#3855b8;font:900 11px Manrope;cursor:pointer}.menu-editing .guard-navigation .nav-item{border-style:dashed;cursor:grab}.menu-editing .guard-navigation .nav-item:active{cursor:grabbing}.menu-editing .menu-order-controls{display:flex!important}.guard-navigation .nav-item.dragging{opacity:.45;background:#dfe7ff}.theme-dark .menu-personalizer{border-color:#30394d}.theme-dark .menu-personalizer>button,.theme-dark .menu-personalizer-actions button,.theme-dark .menu-order-controls button{background:#222b3b;border-color:#3b4860;color:#d2daea}
@media(max-width:1023px){}
@media(max-width:767px){body:not(.mobile-menu-open) .menu-personalizer{display:none}.menu-editing .guard-navigation .nav-item{font-size:11px!important}.menu-order-controls{margin-left:auto!important}}

/* Las confirmaciones operativas siempre deben quedar por encima de diálogos y capturas. */
#toast.toast{z-index:20000;pointer-events:none;isolation:isolate;max-width:min(430px,calc(100vw - 28px))}
#toast.toast.show{transform:none;opacity:1}
@media(max-width:650px){#toast.toast{left:14px;right:14px;bottom:calc(88px + env(safe-area-inset-bottom));max-width:none}}
/* Guard-IA 2.3.68 · Inicio modular basado en la referencia aprobada */
.dashboard-glance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:-54px 0 16px;padding:0 26px;position:relative;z-index:3;max-width:720px}
.dashboard-glance article{min-height:70px;display:flex;align-items:center;gap:10px;padding:12px;background:rgba(255,255,255,.96);border:1px solid #e0e7f1;border-radius:12px;box-shadow:0 8px 24px rgba(20,40,80,.09);backdrop-filter:blur(8px)}
.dashboard-glance article>span{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;font-weight:900;flex:none}.dashboard-glance p{margin:0}.dashboard-glance strong,.dashboard-glance small{display:block}.dashboard-glance strong{font-size:19px;color:#15223c}.dashboard-glance small{font-size:7px;color:#768298;margin-top:2px;white-space:nowrap}
.dashboard-glance .green>span{background:#e3f8ef;color:#169269}.dashboard-glance .blue>span{background:#e8eeff;color:#3159dc}.dashboard-glance .amber>span{background:#fff2dd;color:#db8b0b}.dashboard-glance .red>span{background:#ffeaec;color:#db4351}
.dashboard-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.dashboard-module-card{appearance:none;text-align:left;padding:0;min-width:0;overflow:hidden;border:1px solid #dfe6f0;border-radius:15px;background:#fff;color:#17233b;box-shadow:0 7px 22px rgba(25,42,82,.065);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;font-family:inherit}
.dashboard-module-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(25,42,82,.12);border-color:#b9c8ef}.dashboard-module-card:focus-visible{outline:3px solid rgba(55,92,225,.34);outline-offset:2px}
.dashboard-module-card .module-photo{display:block;height:148px;background-image:linear-gradient(135deg,rgba(15,32,67,.03),rgba(25,68,157,.12)),url("assets/module-access-v1.png");background-size:cover;background-position:center;position:relative}
.dashboard-module-card .module-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,18,41,.02) 28%,rgba(8,21,47,.3) 62%,rgba(6,17,39,.86) 100%)}
.dashboard-module-card .module-photo:before{content:attr(data-title);position:absolute;z-index:1;left:18px;right:18px;bottom:15px;color:#fff;font-size:18px;font-weight:800;line-height:1.2;letter-spacing:-.25px;text-shadow:0 2px 9px rgba(0,0,0,.7);white-space:normal}

/* Centro de caseta: contexto visual y mayor superficie para visitas en espera. */
#gate{background:linear-gradient(145deg,#edf4ff 0%,#f5f8ff 46%,#eef8f6 100%);border-radius:22px}
#gate .gate-operation-hero{position:relative;isolation:isolate;overflow:hidden;min-height:162px;padding:30px 34px;align-items:center;border:1px solid #d8e3f2;border-radius:18px;background-image:linear-gradient(90deg,rgba(8,28,65,.94) 0%,rgba(12,41,91,.84) 43%,rgba(15,42,82,.18) 77%,rgba(15,42,82,.08) 100%),url("assets/module-access-v1.png");background-size:cover;background-position:center 56%;box-shadow:0 14px 34px rgba(24,56,105,.14)}
#gate .gate-operation-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(19,54,107,.12));pointer-events:none}
#gate .gate-operation-hero .eyebrow{color:#a9c9ff}
#gate .gate-operation-hero h1{color:#fff;font-size:32px;text-shadow:0 3px 16px rgba(0,0,0,.25)}
#gate .gate-operation-hero p:not(.eyebrow){color:#dce9ff;font-size:12px}
#gate .gate-operation-hero .online{background:rgba(232,255,246,.94);box-shadow:0 8px 22px rgba(3,30,27,.18)}
#gate .access-table{min-height:430px;padding:24px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(245,249,255,.98));border-color:#cfdded;box-shadow:0 13px 32px rgba(28,58,104,.1)}
#gate .access-table .panel-title{min-height:62px;align-items:center}
#gate .access-table .panel-title h2{font-size:20px;color:#142544}
#gate .access-table .panel-title p{font-size:11px;color:#63738e;margin-top:4px}
#gate .access-table table{margin-top:18px}
#gate .access-table tbody tr{height:76px}
.theme-dark #gate{background:linear-gradient(145deg,#182130,#171d27 52%,#172622)}
.theme-dark #gate .access-table{background:linear-gradient(180deg,#242d3b,#202732);border-color:#3b4a5f}
.theme-dark #gate .access-table .panel-title h2{color:#f4f7fb}
@media(max-width:767px){#gate{border-radius:15px}#gate .gate-operation-hero{min-height:145px;padding:22px 18px;background-position:62% center}#gate .gate-operation-hero h1{font-size:27px}#gate .gate-operation-hero .online{position:absolute;right:15px;top:15px}#gate .access-table{min-height:350px;padding:16px}#gate .access-table .panel-title h2{font-size:18px}#gate .access-table tbody tr{height:auto}}
.dashboard-module-card.gate .module-photo{background-image:linear-gradient(135deg,rgba(15,32,67,.03),rgba(25,68,157,.12)),url("assets/module-gate-v1.png")}.dashboard-module-card.homes .module-photo{background-image:linear-gradient(135deg,rgba(15,32,67,.02),rgba(25,68,157,.08)),url("assets/module-homes-v1.png")}.dashboard-module-card.finance .module-photo{background-image:linear-gradient(135deg,rgba(15,32,67,.02),rgba(25,68,157,.09)),url("assets/module-finance-v1.png")}.dashboard-module-card.agenda .module-photo{background-image:linear-gradient(135deg,rgba(15,32,67,.02),rgba(25,68,157,.09)),url("assets/module-agenda-v1.png")}.dashboard-module-card.incidents .module-photo{background-image:linear-gradient(135deg,rgba(15,32,67,.03),rgba(25,68,157,.12)),url("assets/module-incidents-v1.png")}.dashboard-module-card.reports .module-photo{background-image:linear-gradient(135deg,rgba(15,32,67,.03),rgba(25,68,157,.1)),url("assets/module-reports-v1.png")}.dashboard-module-card.settings .module-photo{background-image:linear-gradient(135deg,rgba(15,32,67,.03),rgba(25,68,157,.1)),url("assets/module-settings-v1.png")}
.module-copy{display:grid;grid-template-columns:42px minmax(0,1fr) 14px;gap:12px;align-items:center;padding:16px 17px 13px}.module-copy>i{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#e9efff;color:#3157d7;font-size:19px;font-style:normal;font-weight:900}.module-copy span{min-width:0}.module-copy strong,.module-copy small{display:block}.module-copy strong{font-size:14px;line-height:1.25;white-space:normal}.module-copy small{font-size:10px;color:#6f7d93;line-height:1.45;margin-top:5px}.module-copy>b{font-size:20px;color:#8190aa}
.dashboard-module-card.homes .module-copy>i{background:#e4f7ee;color:#168a63}.dashboard-module-card.finance .module-copy>i{background:#fff1da;color:#da8700}.dashboard-module-card.agenda .module-copy>i{background:#f0eaff;color:#704ddd}.dashboard-module-card.incidents .module-copy>i{background:#ffeaec;color:#e14955}.dashboard-module-card.reports .module-copy>i{background:#e5f8f5;color:#168d82}.dashboard-module-card.settings .module-copy>i{background:#edf0f5;color:#59677c}
.module-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #edf0f5;margin:0 15px;padding:13px 0 15px}.module-stats em{min-width:0;padding:0 9px;border-right:1px solid #edf0f5;color:#6f7d93;font-size:8px;line-height:1.35;font-style:normal}.module-stats em:last-child{border-right:0}.module-stats strong{display:block;color:#1b2943;font-size:12px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.theme-dark .dashboard-glance article,.theme-dark .dashboard-module-card{background:#252d39;border-color:#414c5e}.theme-dark .dashboard-glance strong,.theme-dark .module-copy strong,.theme-dark .module-stats strong{color:#f5f7fb}.theme-dark .dashboard-glance small,.theme-dark .module-copy small,.theme-dark .module-stats em{color:#b7c1d1}.theme-dark .module-stats,.theme-dark .module-stats em{border-color:#3e4858}
@media(max-width:1100px){.dashboard-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.dashboard-glance{margin:12px 0 14px;padding:0;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.dashboard-glance{grid-template-columns:1fr 1fr}.dashboard-glance article{min-height:64px;padding:9px}.dashboard-glance article>span{width:30px;height:30px}.dashboard-module-grid{grid-template-columns:1fr}.dashboard-module-card .module-photo{height:126px}}
@media(max-width:370px){.dashboard-glance{grid-template-columns:1fr}.dashboard-glance small{font-size:8px}}

/* Encabezado sin reloj: prioridad visual para el fraccionamiento activo. */
.topbar{grid-template-columns:minmax(150px,1fr) minmax(270px,420px) auto}
.active-residential-badge{max-width:420px}.active-residential-badge strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1280px){.topbar{grid-template-columns:minmax(250px,1fr) auto}.active-residential-badge{max-width:520px}}
@media(max-width:1023px){.topbar{grid-template-columns:44px minmax(190px,1fr) auto}.active-residential-badge{max-width:none}}
@media(max-width:767px){.topbar{grid-template-columns:44px minmax(115px,1fr) auto}}

/* Guard-IA 2.3.79: mas espacio para las opciones del menu en escritorio. */
@media(min-width:1024px){:root{--guard-sidebar-width:320px}}

/* Guard-IA 2.3.82 — expediente de vivienda con resumen y navegación por secciones. */
.modal.dossier-redesign{width:min(1180px,96vw)!important;max-width:1180px!important;max-height:94dvh;border-radius:20px;overflow:hidden;background:var(--bg);color:var(--ink);font-family:Segoe UI,Arial,sans-serif}
.dossier-redesign>header{padding:22px 26px 12px;background:var(--guard-surface);border-bottom:0}
.dossier-redesign>header small{font-size:12px;font-weight:900;letter-spacing:1px;color:var(--brand)}
.dossier-redesign>header h2{font-size:25px;line-height:1.2;margin:7px 0}
.dossier-redesign>form{padding:0 26px 20px!important;max-height:calc(94dvh - 103px)!important;overflow-y:auto;overflow-x:hidden}
.dossier-redesign .dossier-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 18px;padding:0;border:0;background:transparent}
.dossier-redesign .dossier-head>div:first-child{display:flex;align-items:center;gap:9px}
.dossier-redesign .dossier-head p{margin:0}.dossier-redesign .dossier-head p strong,.dossier-redesign .dossier-head p small{display:block}
.dossier-redesign .dossier-head p small{font-size:11px;color:var(--muted)}
.dossier-quick-actions{display:flex;gap:7px;margin-left:auto;flex-wrap:wrap}
.dossier-quick-actions button{border:1px solid #aebff8;border-radius:7px;color:var(--brand);background:var(--guard-surface);padding:8px 12px;min-height:36px;font:700 11px Segoe UI,sans-serif;cursor:pointer}
.dossier-kpis{display:grid;grid-template-columns:1.25fr repeat(6,1fr);gap:8px;margin-bottom:17px}
.dossier-kpis article{display:flex;align-items:center;gap:8px;min-width:0;border:1px solid var(--line);border-radius:9px;padding:12px 9px;background:var(--guard-surface)}
.dossier-kpis article>span{flex-shrink:0;display:grid;place-items:center;width:29px;height:29px;border-radius:10px;background:#edf2ff;color:#2d53d4;font-size:19px}
.dossier-kpis article>div{min-width:0}.dossier-kpis small{display:block;font-size:9px;color:var(--muted);margin-bottom:5px}.dossier-kpis strong{display:block;font-size:11px;overflow-wrap:anywhere}
.dossier-redesign .dossier-tabs{display:flex;gap:4px;overflow-x:auto;flex-wrap:nowrap;border-bottom:1px solid var(--line);padding:0;margin:0 0 18px;background:transparent}
.dossier-redesign .dossier-tabs button{flex-shrink:0;min-height:40px;padding:9px 10px;font:700 11px Segoe UI,sans-serif;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);cursor:pointer}
.dossier-redesign .dossier-tabs button.active{color:var(--brand);border-bottom-color:var(--brand);background:transparent}
.dossier-redesign .dossier-panel{display:none}.dossier-redesign .dossier-panel.active{display:block}
.dossier-redesign .dossier-overview.active{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}
.dossier-general-fields,.dossier-overview-side{min-width:0}.dossier-overview-side{display:flex;flex-direction:column;gap:10px}
.dossier-redesign .home-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 12px}
.dossier-redesign .home-summary>div{background:var(--guard-surface);padding:17px 12px;border:1px solid var(--line);border-radius:9px;min-height:76px}
.dossier-redesign .home-summary small{font-size:10px}.dossier-redesign .home-summary strong{font-size:13px;margin-top:8px;overflow-wrap:anywhere}
.dossier-redesign .home-state-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dossier-redesign .home-state-controls .form-field{padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--guard-surface)}
.dossier-redesign .home-state-controls small{font-size:10px;line-height:1.5;color:var(--muted)}
.dossier-card{min-width:0;background:var(--guard-surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.dossier-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}
.dossier-card h3{margin:0;font-size:12px;font-weight:750}.dossier-card header button{border:0;background:transparent;color:var(--brand);font:700 10px Segoe UI,sans-serif;cursor:pointer;padding:4px;white-space:nowrap}
.dossier-details{margin:0;padding:11px 14px;display:grid;gap:9px}.dossier-details>div{display:grid;grid-template-columns:1fr 1.3fr;gap:12px;font-size:11px}.dossier-details dt{color:var(--muted)}.dossier-details dd{margin:0;overflow-wrap:anywhere}
.dossier-table-scroll{overflow-x:auto}.dossier-redesign .dossier-table-scroll table{width:100%;border-collapse:collapse;min-width:0;margin:0}.dossier-redesign .dossier-table-scroll th,.dossier-redesign .dossier-table-scroll td{padding:9px 11px;text-align:left;white-space:normal;font-size:10px;overflow-wrap:anywhere;border-bottom:1px solid var(--line)}.dossier-redesign .dossier-table-scroll th{color:var(--muted);font-size:9px;background:transparent}
.dossier-empty-note{padding:16px;margin:0;font-size:11px;line-height:1.6;color:var(--muted)}
.dossier-overview-bottom{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dossier-overview-bottom>.dossier-card:last-child{grid-column:span 2}
.dossier-timeline{list-style:none;margin:0;padding:12px 15px}.dossier-timeline li{display:grid;grid-template-columns:100px 1fr;gap:13px;padding:9px 0;border-bottom:1px solid var(--line);font-size:10px}.dossier-timeline li:last-child{border-bottom:0}.dossier-timeline time{color:var(--muted)}.dossier-timeline strong,.dossier-timeline span{display:block}.dossier-timeline span{margin-top:5px;color:var(--muted)}
.dossier-redesign form>footer{position:sticky;bottom:-20px;z-index:2;background:var(--guard-surface);padding:15px 0 0;margin-top:18px;border-top:1px solid var(--line)}
.dossier-redesign .danger-zone{margin-top:24px}.dossier-redesign button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.theme-dark .dossier-redesign{--guard-surface:#232c39}.theme-dark .dossier-redesign .dossier-quick-actions button,.theme-dark .dossier-redesign .dossier-tabs button.active,.theme-dark .dossier-card header button{color:#a8bfff}.theme-dark .dossier-kpis article>span{background:#314566;color:#c6d7ff}
@media(max-width:1000px){.dossier-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.dossier-redesign .dossier-overview.active{grid-template-columns:1fr}.dossier-overview-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.dossier-overview-side>.dossier-card:first-child{grid-column:1/-1}.dossier-overview-bottom{grid-template-columns:repeat(2,minmax(0,1fr))}.dossier-overview-bottom>.dossier-card:last-child{grid-column:1/-1}}
@media(max-width:600px){.modal.dossier-redesign{width:100%!important;max-height:96dvh;border-radius:16px 16px 0 0}.dossier-redesign>header{padding:17px 14px 10px}.dossier-redesign>header h2{font-size:21px}.dossier-redesign>form{padding:0 14px 14px!important;max-height:calc(96dvh - 91px)!important}.dossier-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dossier-quick-actions{margin:8px 0 0;width:100%}.dossier-quick-actions button{flex:1;min-height:44px}.dossier-redesign .home-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dossier-overview-side,.dossier-overview-bottom{display:flex;flex-direction:column}.dossier-redesign .home-state-controls{grid-template-columns:1fr}.dossier-redesign .dossier-tabs button{min-height:44px}.dossier-redesign form>footer{bottom:-14px}.dossier-card header button{min-height:40px}.dossier-redesign .form-field input,.dossier-redesign .form-field select{font-size:16px}}

/* Guard-IA 2.3.83: calendario anual de cargos y pagos por vivienda. */
.home-payment-calendar{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;background:var(--guard-surface);padding:16px;margin:12px 0 16px;min-width:0}
.home-payment-calendar>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 12px!important;border:0!important;background:transparent!important}
.home-payment-calendar h3{font-size:15px;margin:0 0 5px}.home-payment-calendar header p{font-size:11px;color:var(--muted);margin:0}.home-payment-calendar header label{display:flex;align-items:center;gap:8px;font-size:12px}
.home-payment-calendar .payment-calendar-year{width:92px;min-height:38px;border:1px solid var(--line);border-radius:7px;padding:7px;background:var(--bg);color:var(--ink);font:700 13px Segoe UI,sans-serif}
.payment-calendar-legend{display:flex;flex-wrap:wrap;gap:15px;font-size:10px;color:var(--muted);margin:2px 0 14px}
.payment-calendar-notice{padding:10px 12px;background:#fff7e3;border:1px solid #ead79f;border-radius:8px;color:#71521b;font-size:11px;line-height:1.5}
.payment-month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.payment-month{border:1px solid var(--line);border-radius:10px;padding:13px;background:var(--bg);min-width:0}
.payment-month-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;flex-wrap:wrap}.payment-month h4{font-size:13px;margin:0}.current-month-label{font-size:8px;border-radius:9px;padding:3px 6px;background:#3157d7;color:#fff;white-space:nowrap}
.payment-month.current-month{outline:2px solid #3157d7;outline-offset:0}
.payment-month-status{display:block;font-size:11px;margin:11px 0;color:var(--muted)}.payment-month.paid .payment-month-status{color:#13764b}.payment-month.pending .payment-month-status{color:#bc3345}.payment-month.partial .payment-month-status{color:#916400}.payment-month.unbilled .payment-month-status{color:#3559ad}
.payment-month dl{margin:0;display:grid;gap:6px}.payment-month dl>div{display:flex;justify-content:space-between;gap:8px;font-size:10px}.payment-month dt{color:var(--muted)}.payment-month dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.payment-month button{width:100%;margin-top:11px;padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--guard-surface);color:var(--brand);font:700 10px Segoe UI,sans-serif;cursor:pointer;min-height:34px}.payment-month button:hover{border-color:var(--brand)}
.payment-month button.payment-period-locked:disabled{border-color:#cbd4df;background:#edf1f5;color:#788596;cursor:not-allowed;opacity:1}.payment-month.has-ticket button.payment-period-locked:disabled{border-color:#acd7c2;background:#e8f5ee;color:#39715a}
.payment-calendar-footnote{font-size:10px;line-height:1.5;color:var(--muted);margin:13px 0 0}
.theme-dark .payment-calendar-notice{background:#3c3422;border-color:#74613c;color:#f0dba8}.theme-dark .payment-month.paid .payment-month-status{color:#80d7ad}.theme-dark .payment-month.pending .payment-month-status{color:#ff9dac}.theme-dark .payment-month.partial .payment-month-status{color:#f0cf7a}.theme-dark .payment-month.unbilled .payment-month-status{color:#aac5ff}.theme-dark .payment-month button{color:#b8cbff}
@media(max-width:900px){.payment-month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.payment-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-payment-calendar{padding:12px}.home-payment-calendar>header{align-items:flex-start;flex-wrap:wrap}.payment-month{padding:10px}.payment-month button{min-height:44px}.home-payment-calendar .payment-calendar-year{font-size:16px}}

/* v2.3.84: semaforo de cuotas y validacion manual */
.payment-month.pending{background:#fff0f1;border-color:#e9a0a8}.payment-month.review{background:#fff7df;border-color:#d7ae48}.payment-month.paid{background:#eaf8ef;border-color:#83c39d}
.payment-month.review .payment-month-status{color:#875a00}.payment-month.current-month{outline:2px solid #4569df;outline-offset:2px}
.extra-fee-detail{font-size:11px;line-height:1.5;overflow-wrap:anywhere;border-top:1px solid var(--border);padding-top:7px}
.payment-receipt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid;border-radius:12px;margin:10px 0;overflow-wrap:anywhere}.payment-receipt p{display:block!important;margin:6px 0!important;font-size:12px}.payment-receipt.review{background:#fff7df;border-color:#d7ae48;color:#785200}.payment-receipt.validated{background:#eaf8ef;border-color:#83c39d;color:#165e36}.payment-receipt button{border:1px solid currentColor;border-radius:7px;padding:9px;background:transparent;color:inherit;cursor:pointer}
.theme-dark .payment-month.pending{background:#43272c;border-color:#b95e6b}.theme-dark .payment-month.review,.theme-dark .payment-receipt.review{background:#40351e;border-color:#ad8733;color:#ffe09a}.theme-dark .payment-month.paid,.theme-dark .payment-receipt.validated{background:#203d2f;border-color:#528d69;color:#a0e6ba}.theme-dark .payment-month.review .payment-month-status{color:#ffe09a}
@media(max-width:600px){.payment-receipt{align-items:stretch;flex-direction:column}}

/* Guard-IA 2.3.121: comprobantes privados ligados al pago de la vivienda. */
.payment-proof-field{grid-column:1/-1;padding:14px;border:1px dashed #9fb4dd;border-radius:11px;background:#f7faff}.payment-proof-field input[type="file"]{padding:9px;background:#fff;cursor:pointer}.payment-proof-field small{display:block;margin-top:7px;color:var(--muted);font-size:10px;overflow-wrap:anywhere}.payment-proof-note{margin-top:10px!important;border-left:4px solid #e5a81b;background:#fff8e7;border-radius:8px;color:#6e5218}.payment-proof-saved{display:block!important;margin-top:7px;color:inherit;font-weight:750}.payment-receipt-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex:0 0 auto}.theme-dark .payment-proof-field{background:#222c3a;border-color:#526887}.theme-dark .payment-proof-field input[type="file"]{background:#1d2530;color:#f4f7fb}.theme-dark .payment-proof-note{background:#3a321f;color:#ffe3a0}
.payment-ticket-button{background:#137a55!important;border-color:#137a55!important;color:#fff!important}.virtual-payment-ticket{border:1px solid #b9d9c9;border-radius:18px;background:linear-gradient(180deg,#f3fff9,#fff);box-shadow:0 18px 45px #173b2b18;overflow:hidden}.virtual-payment-ticket>header{display:flex;align-items:center;gap:12px;padding:16px;background:#123f34;color:#fff}.virtual-payment-ticket>header img{width:52px;height:52px;object-fit:contain;border-radius:11px;background:#fff}.virtual-payment-ticket>header div{flex:1}.virtual-payment-ticket>header small,.virtual-payment-ticket>header strong{display:block}.virtual-payment-ticket>header small{font-size:8px;letter-spacing:1px}.virtual-payment-ticket>header strong{font-size:11px;margin-top:4px}.virtual-payment-ticket>header>span{border-radius:999px;background:#dff8ea;color:#106a49;padding:7px 10px;font-size:8px;font-weight:900}.virtual-payment-ticket>h3{text-align:center;font-size:34px;color:#137a55;margin:22px 0 3px}.virtual-payment-ticket .ticket-period{text-align:center;margin:0 16px 20px;color:#58697c;font-weight:700}.virtual-payment-ticket dl{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:0 20px 20px}.virtual-payment-ticket dl>div{padding:11px 8px;border-bottom:1px dashed #ccdcd4}.virtual-payment-ticket dt{font-size:8px;color:#718173;font-weight:900;text-transform:uppercase}.virtual-payment-ticket dd{margin:4px 0 0;font-size:11px;font-weight:750;overflow-wrap:anywhere}.virtual-payment-ticket>footer{padding:13px 18px;text-align:center;background:#edf8f2;color:#47705d;font-size:8px}.ticket-month-list{display:grid;gap:9px}.ticket-month-list button{display:flex;align-items:center;gap:10px;width:100%;border:1px solid #b9d9c9;border-radius:12px;background:#f2fbf6;padding:12px;text-align:left;color:var(--ink);cursor:pointer}.ticket-month-list button>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#1aaa70;color:#fff;font-weight:900}.ticket-month-list p{flex:1;margin:0}.ticket-month-list strong,.ticket-month-list small{display:block}.ticket-month-list b{font-size:9px;color:#137a55}.resident-payment-row button{border:1px solid #99ceb5;border-radius:8px;background:#e8f8f0;color:#126c4b;padding:8px 10px;font-weight:800;cursor:pointer}.theme-dark .virtual-payment-ticket{background:linear-gradient(180deg,#203a31,#252d2b);border-color:#477565}.theme-dark .virtual-payment-ticket dd{color:#f3f8f5}.theme-dark .virtual-payment-ticket dl>div{border-color:#486158}.theme-dark .ticket-month-list button{background:#23372f;border-color:#496e60;color:#f4f8f6}
.payment-month.has-ticket{cursor:pointer;box-shadow:0 5px 16px #12774f18}.payment-month.has-ticket:hover{border-color:#159364;transform:translateY(-1px)}.payment-month.has-ticket:focus-visible{outline:3px solid #4c73ea}.payment-ticket-hint{display:block;margin-top:11px;padding:9px;border-radius:8px;background:#147a55;color:#fff;text-align:center;font-size:9px;font-weight:850}
.dossier-resident-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.dossier-resident-actions button{border:1px solid #ccd5e7;border-radius:8px;background:#fff;color:var(--brand);padding:8px 10px;font-size:9px;font-weight:800;cursor:pointer}.dossier-resident-actions button.danger-outline{border-color:#efb3b8;color:#b42332;background:#fff5f5}
@media(max-width:600px){.payment-receipt-actions{justify-content:stretch}.payment-receipt-actions button{flex:1;min-height:44px}.payment-proof-field{grid-column:auto}.virtual-payment-ticket dl{grid-template-columns:1fr}.virtual-payment-ticket>header{align-items:flex-start;flex-wrap:wrap}.virtual-payment-ticket>header>span{margin-left:64px}}

/* Comprobante virtual estilo ticket Guard-IA. */
.payment-ticket-modal{width:min(610px,calc(100vw - 24px))!important;background:#edf2ef!important}.payment-ticket-modal>header{background:#fff!important}.payment-ticket-modal>form{padding:22px!important}.guardia-receipt{max-width:470px;margin:auto;border:0;border-radius:3px;background:#fff;color:#14211c;box-shadow:0 14px 35px #14271e24;font-family:Arial,sans-serif;position:relative;overflow:visible}.guardia-receipt:before,.guardia-receipt:after{content:"";position:absolute;left:0;width:100%;height:10px;background:linear-gradient(135deg,transparent 7px,#fff 0) 0 0/14px 14px,linear-gradient(225deg,transparent 7px,#fff 0) 0 0/14px 14px}.guardia-receipt:before{top:-9px;transform:rotate(180deg)}.guardia-receipt:after{bottom:-9px}.guardia-receipt>header{display:flex!important;justify-content:center!important;gap:13px!important;padding:22px 20px 12px!important;background:#fff!important;color:#13241c!important;border-bottom:2px solid #183c2d!important;text-align:center}.guardia-receipt>header img{width:128px!important;height:66px!important;object-fit:contain!important;background:#fff!important;border-radius:0!important}.guardia-receipt>header div{display:flex;flex-direction:column;justify-content:center}.guardia-receipt>header strong{font-size:15px!important}.guardia-receipt>header small{margin-top:6px;font-size:7px!important;letter-spacing:1.8px!important;color:#344b40!important}.guardia-receipt .receipt-title{padding:10px 16px 5px}.guardia-receipt .receipt-title h3{text-align:center;font:900 22px/1.05 Arial,sans-serif;margin:0 0 8px;color:#17211d}.guardia-receipt .receipt-title p{display:grid;grid-template-columns:auto 1fr;align-items:center;border-radius:7px;background:linear-gradient(90deg,#e1f4e6,#eef8ef);padding:8px 14px;margin:0;color:#087139}.guardia-receipt .receipt-title p>span{grid-row:1/3;width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#087139;color:#fff;font-size:22px;margin-right:10px}.guardia-receipt .receipt-title p strong{font-size:22px;letter-spacing:1px}.guardia-receipt .receipt-title p small{font-size:8px;letter-spacing:3px}.guardia-receipt>section:not(.receipt-title){padding:7px 16px}.guardia-receipt h4{margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid #32473d;color:#087139;font-size:12px;letter-spacing:.6px}.guardia-receipt dl{display:block!important;margin:0!important;padding:0!important}.guardia-receipt dl>div{display:grid;grid-template-columns:42% 58%;gap:5px;padding:2px 0!important;border:0!important}.guardia-receipt dt,.guardia-receipt dd{font-size:11px!important;line-height:1.22;text-transform:none!important;color:#1b2721!important}.guardia-receipt dt{font-weight:800!important}.guardia-receipt dd{margin:0!important;font-weight:500!important}.guardia-receipt dd b{color:#087139}.guardia-receipt .receipt-total{display:flex;justify-content:space-between;align-items:center;margin:7px 0 0;padding:7px 10px;border-radius:6px;background:#dff2e3;color:#13251c;font-weight:900}.guardia-receipt .receipt-total strong{font-size:24px;color:#087139}.guardia-receipt .receipt-validation{margin:4px 16px;padding:8px 10px!important;border-radius:7px;background:#e9f6ec}.guardia-receipt .receipt-verification{text-align:center}.guardia-receipt .receipt-verification h4{text-align:left}.guardia-receipt .receipt-qr{display:block;width:118px;height:118px;margin:7px auto;image-rendering:pixelated}.guardia-receipt .receipt-verification strong,.guardia-receipt .receipt-verification small{display:block}.guardia-receipt .receipt-verification strong{font-size:11px}.guardia-receipt .receipt-verification small{font-size:8px;margin-top:4px;color:#52645a}.guardia-receipt>footer{margin:0!important;padding:10px 18px 17px!important;border:0!important;background:#fff!important;color:#42544a!important;font-size:8px!important;line-height:1.45;text-align:center!important}.theme-dark .payment-ticket-modal,.theme-dark .payment-ticket-modal>form{background:#1c2421!important}.theme-dark .guardia-receipt{color:#14211c!important}@media(max-width:600px){.payment-ticket-modal>form{padding:15px 10px 80px!important}.guardia-receipt>header{align-items:center!important;flex-wrap:nowrap!important}.guardia-receipt>header img{width:105px!important}.guardia-receipt .receipt-title h3{font-size:18px}.guardia-receipt .receipt-title p strong{font-size:18px}.guardia-receipt dt,.guardia-receipt dd{font-size:10px!important}}

.kiosk-module-link{display:flex;align-items:center;gap:12px;padding:13px 14px;margin:4px 0;color:var(--ink);text-decoration:none;font:inherit;border-radius:8px}.kiosk-module-link:hover{background:var(--bg)}

/* Resumen: distribución de la referencia, con texto legible. */
.summary-notice{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;margin:14px 0;border:1px solid #c7e7df;border-radius:12px;background:#f1faf7;color:#087b70;font-size:12px}.summary-notice button{border:0;background:transparent;color:inherit;font-weight:800;white-space:nowrap;cursor:pointer}
.summary-restored .dashboard-primary-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.summary-restored .dashboard-shortcut{text-align:left;position:relative;min-width:0;min-height:155px;font-family:inherit;color:var(--ink)}.summary-restored .dashboard-shortcut>div{display:flex;align-items:center;gap:10px}.summary-restored .dashboard-shortcut>div small{font-size:11px;font-weight:900}.summary-restored .dashboard-shortcut>strong{display:block;font-size:27px;margin-top:10px}.summary-restored .dashboard-shortcut>p{font-size:11px;max-width:100%;margin:4px 0 24px}.summary-restored .dashboard-shortcut>em{font-size:11px;font-style:normal}
.summary-restored .dashboard-command-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.95fr) minmax(0,1fr)}.summary-restored .panel{min-width:0;padding:16px}.summary-restored .panel-title{gap:8px;align-items:flex-start}.summary-restored .panel-title h2{font-size:18px}.summary-restored .panel-title p{font-size:11px}.summary-restored .panel-title>button{font-size:11px;white-space:nowrap}.summary-restored .dashboard-agenda-summary{display:flex;flex-wrap:wrap}.summary-restored .dashboard-agenda-summary span{font-size:10px}.summary-restored .dashboard-alert-list button,.summary-restored .dashboard-quick-actions button{font-size:12px}.summary-restored .dashboard-activity-row strong{font-size:12px}.summary-restored .dashboard-activity-row small,.summary-restored .dashboard-activity-row time{font-size:10px}.summary-restored .dashboard-recent-empty,.summary-restored .dashboard-agenda-empty{font-size:12px}.summary-restored .dashboard-side-stack{grid-template-rows:auto 1fr}.theme-dark .summary-notice{background:#18352e;color:#a5e3d0;border-color:#36584c}
@media(max-width:1280px){.summary-restored .dashboard-primary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-restored .dashboard-command-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.summary-restored .dashboard-side-stack{grid-column:1/-1;grid-template-columns:1fr 1fr}}
@media(max-width:850px){.summary-restored .dashboard-command-grid{grid-template-columns:1fr}.summary-restored .dashboard-side-stack{grid-column:auto;grid-template-columns:1fr}.summary-notice{align-items:flex-start;flex-direction:column}}
@media(max-width:500px){.summary-restored .dashboard-primary-metrics{grid-template-columns:1fr}}
/* Visitas: crema para quienes están dentro; blanco para pendientes. */
#gate .access-table tbody tr.visitor-row-inside,
#gate .access-table tbody tr.visitor-row-inside:hover{background:#fff2cc!important;color:#3d3524}
#gate .access-table tbody tr.visitor-row-expected,
#gate .access-table tbody tr.visitor-row-expected:hover{background:#ffffff!important;color:#243047}
#gate .access-table tbody tr.visitor-row-inside td,
#gate .access-table tbody tr.visitor-row-expected td{background:transparent!important;color:inherit}
#gate .access-table tbody tr.visitor-row-inside td strong,
#gate .access-table tbody tr.visitor-row-expected td strong{color:inherit}
#gate .access-table tbody tr.visitor-row-inside td small,
#gate .access-table tbody tr.visitor-row-expected td small{color:#5c6470}
/* Tipografía homogénea del menú lateral. */
#guardiaSidebar,#guardiaSidebar button,#guardiaSidebar a,#guardiaSidebar select{font-family:Manrope,"Segoe UI",Arial,sans-serif!important}
#guardiaSidebar .nav-item,#guardiaSidebar .kiosk-module-link,#guardiaSidebar .side-section button[data-view]{font-size:14px!important;font-weight:700!important;line-height:1.4!important;letter-spacing:0!important}
#guardiaSidebar .kiosk-module-link{min-height:45px;padding:10px 11px;gap:11px}
#guardiaSidebar .kiosk-module-link>span{width:29px;flex-shrink:0;text-align:center;font-size:16px}
#guardiaSidebar .nav-group-toggle{font-size:11px!important;font-weight:700!important;letter-spacing:.06em!important}
/* Un solo estilo para todas las opciones del menú, incluidos enlaces del kiosco. */
#guardiaSidebar .nav-item,#guardiaSidebar .kiosk-module-link,#guardiaSidebar .side-section button[data-view]{font-family:Manrope,"Segoe UI",Arial,sans-serif!important;font-size:14px!important;font-weight:700!important;line-height:1.4!important;letter-spacing:0!important;color:#53627c;display:flex;align-items:center;gap:11px;min-height:45px;padding:10px 11px;margin:0;border:1px solid transparent;border-radius:10px;text-decoration:none}
#guardiaSidebar .nav-item>span:first-child,#guardiaSidebar .kiosk-module-link>span:first-child{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;margin:0;border-radius:9px;background:#eef2f8;color:#637590;font-size:16px;box-shadow:none}
#guardiaSidebar .nav-item.active{background:#ecedff;color:#3547cf;border-color:#ced7ff}
#guardiaSidebar .nav-item.active>span:first-child{background:#3547cf;color:white}
#guardiaSidebar .kiosk-module-link:hover,#guardiaSidebar .kiosk-module-link:focus-visible{background:#ecedff;color:#3547cf;border-color:#ced7ff}
.theme-dark #guardiaSidebar .nav-item,.theme-dark #guardiaSidebar .kiosk-module-link{color:#d4ddeb}
.theme-dark #guardiaSidebar .nav-item>span:first-child,.theme-dark #guardiaSidebar .kiosk-module-link>span:first-child{background:#303b4c;color:#d4ddeb}
/* Marca oficial íntegra, sin recortes ni filtros. */
.auth-brand img,.auth-mobile-brand img,.auth-logo img,.brand-mark img,.mini-brand img,.qr-guardia-logo img{object-fit:contain!important;filter:none!important;border-radius:0!important;width:100%!important;height:100%!important}
.auth-brand>span,.auth-logo{width:100px!important;height:97px!important;background:#f3f3fb!important;border-radius:12px!important;box-shadow:none!important;padding:4px!important}
.brand-mark{width:62px!important;height:60px!important;flex-shrink:0;background:#f3f3fb!important;padding:3px!important;box-shadow:none!important;border-radius:8px!important}
.auth-mobile-brand img{width:70px!important;height:68px!important}.mini-brand{width:48px!important;height:46px!important;background:#f3f3fb!important;border-radius:6px!important;padding:2px!important}

/* Resumen: saludo compacto, sin portada. */
.summary-greeting{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;margin:0 0 16px;border:1px solid #dce5f5;border-radius:12px;background:#f5f8ff;color:#18345a}.summary-greeting h1{margin:0;font-size:24px;line-height:1.2}.summary-greeting p{margin:5px 0 0;font-size:12px;color:#586c8b}.summary-greeting #currentGreetingDate{margin:0;text-align:right;font-size:11px;font-weight:700;letter-spacing:.4px}.theme-dark .summary-greeting{background:#242e40;border-color:#3a4860;color:#f1f5ff}.theme-dark .summary-greeting p{color:#c0cce0}@media(max-width:650px){.summary-greeting{align-items:flex-start;flex-direction:column;gap:10px;padding:16px}.summary-greeting #currentGreetingDate{text-align:left}.summary-greeting h1{font-size:22px}}

.settings-overview > button[hidden]{display:none!important}

.module-order-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin:8px 0 12px}.module-order-toolbar button{padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel,#fff);color:var(--brand,#3156d8);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer}.module-order-toolbar button[hidden]{display:none!important}.module-order-toolbar span{font-size:12px;color:var(--muted)}.button-order-editing>button,.button-order-editing>a{outline:2px dashed #819adb;outline-offset:-3px;cursor:grab!important;touch-action:none;user-select:none}.button-order-editing>button[data-order-was-disabled="true"]{opacity:.66;filter:saturate(.7)}.button-order-editing>.button-being-moved{z-index:4;opacity:.3;cursor:grabbing!important;transform:scale(.975);outline:3px dashed #4d78e8;outline-offset:3px;box-shadow:inset 0 0 0 2px rgba(77,120,232,.18)!important}.button-drag-ghost{position:fixed!important;z-index:1000!important;left:0;top:0;margin:0!important;pointer-events:none!important;opacity:0;transform:translate(-50%,-50%) scale(.94) rotate(-1deg)!important;transform-origin:center;transition:opacity .12s ease,transform .12s ease;outline:2px solid rgba(89,132,241,.9)!important;outline-offset:3px;box-shadow:0 30px 58px rgba(14,31,63,.34),0 10px 22px rgba(49,89,190,.24)!important}.button-drag-ghost.visible{opacity:.98;transform:translate(-50%,-50%) scale(1.035) rotate(-1deg)!important}.button-drag-ghost:after{content:"Moviendo"!important;position:absolute!important;right:12px!important;top:9px!important;width:auto!important;height:auto!important;padding:5px 9px!important;border-radius:999px!important;background:#173d99!important;color:#fff!important;font:800 9px/1 Manrope,"Segoe UI",sans-serif!important;letter-spacing:.3px;box-shadow:0 5px 12px rgba(14,43,109,.3)!important}.theme-dark .module-order-toolbar button{background:#252e3d;color:#b5c8ff}.theme-dark .button-order-editing>.button-being-moved{outline-color:#7da1ff;box-shadow:inset 0 0 0 2px rgba(125,161,255,.23)!important}.theme-dark .button-drag-ghost{outline-color:#8aaeff!important;box-shadow:0 32px 62px rgba(0,0,0,.58),0 11px 25px rgba(57,101,213,.3)!important}

/* Configuración: accesos visuales por módulo. */
.settings-overview{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:150px;gap:18px;margin:4px 0 20px}
.settings-overview>button{--settings-accent:#2776f5;--settings-accent-dark:#1859d3;--settings-tint:#f4f8ff;--settings-soft:#dceaff;position:relative;display:flex;align-items:center;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;padding:16px 50px 16px 116px;border:1px solid var(--settings-soft);border-radius:21px;background:linear-gradient(135deg,#fff 20%,var(--settings-tint));color:#10233f;box-shadow:0 9px 22px rgba(25,54,100,.10),0 3px 0 var(--settings-accent);font-family:Manrope,Arial,sans-serif;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.settings-overview>button>span{position:absolute;inset:0 auto 0 0;width:96px;height:100%;border-radius:0 46px 46px 0;background:linear-gradient(145deg,var(--settings-accent),var(--settings-accent-dark));color:#fff;display:grid;place-items:center;font-family:Manrope,Arial,sans-serif;font-size:39px;font-weight:800;line-height:1;box-shadow:7px 0 18px color-mix(in srgb,var(--settings-accent) 24%,transparent)}
.settings-overview>button::after{content:"›";position:absolute;right:16px;top:50%;width:34px;height:34px;transform:translateY(-50%);display:grid;place-items:center;border-radius:50%;background:var(--settings-soft);color:var(--settings-accent);font:800 29px/1 Arial,sans-serif}
.settings-overview p{min-width:0;margin:0}.settings-overview strong,.settings-overview small{display:block}.settings-overview strong{font:800 14px/1.3 Manrope,Arial,sans-serif;color:#10233f}.settings-overview small{margin-top:6px;font:500 11px/1.55 Manrope,Arial,sans-serif;color:#64748b}
.settings-overview>button:not(:disabled):hover{transform:translateY(-2px);border-color:var(--settings-accent);box-shadow:0 13px 28px rgba(25,54,100,.15),0 3px 0 var(--settings-accent)}.settings-overview>button:not(:disabled):focus-visible{outline:3px solid var(--settings-soft);outline-offset:3px}.settings-overview>button.active{border-color:var(--settings-accent);background:linear-gradient(135deg,#fff 10%,var(--settings-tint));box-shadow:0 0 0 3px var(--settings-soft),0 12px 26px rgba(25,54,100,.13)}.settings-overview>button:disabled{cursor:not-allowed;opacity:.66;filter:saturate(.7)}
#customizeMenuBtn{--settings-accent:#2f82f7;--settings-accent-dark:#1760d9;--settings-tint:#f3f8ff;--settings-soft:#dcecff}#openSpeiSettings{--settings-accent:#17bf67;--settings-accent-dark:#07964a;--settings-tint:#f0fcf5;--settings-soft:#d2f4df}#openScheduledTasks{--settings-accent:#ff8613;--settings-accent-dark:#ef6400;--settings-tint:#fff8f0;--settings-soft:#ffe3c6}#openKioskSettings{--settings-accent:#8b3df2;--settings-accent-dark:#6923cb;--settings-tint:#faf5ff;--settings-soft:#eadbff}.settings-overview>[data-settings-panel="assistant"]{--settings-accent:#f52d83;--settings-accent-dark:#d91468;--settings-tint:#fff3f8;--settings-soft:#ffd7e8}#maintenanceSettingsBtn{--settings-accent:#5066d8;--settings-accent-dark:#3347aa;--settings-tint:#f4f6ff;--settings-soft:#dfe4ff}.settings-overview>[data-settings-panel="modules"]{--settings-accent:#10b9c5;--settings-accent-dark:#078d9d;--settings-tint:#f0fcfd;--settings-soft:#cff3f5}#amenitiesSettingsBtn{--settings-accent:#f5b719;--settings-accent-dark:#dd8f00;--settings-tint:#fffbef;--settings-soft:#ffedb9}#notificationsSettingsBtn{--settings-accent:#f32e3d;--settings-accent-dark:#cf1425;--settings-tint:#fff4f5;--settings-soft:#ffd9dd}
.theme-dark .settings-overview>button,.theme-dark .settings-overview>button.active{background:linear-gradient(135deg,#292e37,#252a32);color:#f4f7ff;border-color:color-mix(in srgb,var(--settings-accent) 58%,#414854)}.theme-dark .settings-overview strong{color:#f4f7ff}.theme-dark .settings-overview small{color:#b8c1d0}.theme-dark .settings-overview>button:after{background:color-mix(in srgb,var(--settings-accent) 28%,#202733);color:color-mix(in srgb,var(--settings-accent) 38%,#fff);border:1px solid color-mix(in srgb,var(--settings-accent) 48%,#3f4958);box-shadow:inset 0 1px rgba(255,255,255,.06)}
@media(max-width:1450px){.settings-overview{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:138px}}@media(max-width:620px){.settings-overview{grid-template-columns:1fr;grid-auto-rows:128px;gap:14px}.settings-overview>button{padding-left:104px}.settings-overview>button>span{width:86px;font-size:34px}.settings-overview strong{font-size:13px}}

/* Guard-IA 2.3.117: expediente de vivienda basado en la vista aprobada. */
.modal.dossier-redesign{width:min(1480px,97vw)!important;max-width:1480px!important;border:1px solid #d9e3f1;border-radius:22px;background:#f7f9fd;font-family:Manrope,Arial,sans-serif;box-shadow:0 32px 90px rgba(26,54,105,.24)}
.dossier-redesign>header{padding:24px 38px 12px;background:#fff}.dossier-redesign>header small{font:900 13px/1 Manrope,Arial,sans-serif;letter-spacing:1.5px}.dossier-redesign>header h2{font:800 29px/1.18 Manrope,Arial,sans-serif;letter-spacing:-.6px;margin:12px 0 4px}.dossier-redesign>header .modal-close{width:46px;height:46px;background:#f2f5fa;color:#62708a;font-size:27px}
.dossier-redesign>form{padding:0 22px 20px!important;max-height:calc(94dvh - 112px)!important;background:#f7f9fd}
.dossier-redesign .dossier-head{min-height:82px;margin:0 0 16px;padding:12px 18px;border:1px solid #dce5f1;border-radius:13px;background:#fff;box-shadow:0 3px 10px rgba(31,55,96,.035)}
.dossier-redesign .dossier-head>div:first-child>span{width:52px;height:52px;border-radius:13px;background:#eaf1ff;color:#2870ed;font-size:26px}.dossier-redesign .dossier-head p strong{font-size:20px;line-height:1.2;color:#12233f}.dossier-redesign .dossier-head p small{margin-top:3px;font-size:12px}
.dossier-redesign .dossier-head>.status{margin-right:auto;padding:8px 15px;border-radius:18px;font-size:12px}.dossier-redesign .dossier-head>.status:before{content:"";display:inline-block;width:10px;height:10px;margin-right:7px;border-radius:50%;background:currentColor;vertical-align:-1px}
.dossier-quick-actions{gap:10px}.dossier-quick-actions button{min-height:48px;padding:10px 18px;border:1.5px solid #3972f3;border-radius:11px;background:#fff;color:#2860d8;font:800 14px/1 Manrope,Arial,sans-serif}.dossier-quick-actions button>span{margin-right:8px;font-size:22px;vertical-align:-2px}.dossier-quick-actions button[data-dossier-action="payment"]{border-color:#2863ea;background:linear-gradient(135deg,#286eef,#1758e3);color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.22)}
.dossier-kpis{grid-template-columns:1.18fr repeat(6,1fr);gap:10px;margin:0 0 19px}.dossier-kpis article{min-height:108px;padding:16px 14px;border-color:#dce5f1;border-radius:13px;background:#fff;box-shadow:0 5px 16px rgba(32,57,99,.045)}.dossier-kpis article>span{width:44px;height:44px;border-radius:13px;font-size:24px}.dossier-kpis article[data-tone="blue"]>span{background:#eaf3ff;color:#2473ef}.dossier-kpis article[data-tone="violet"]>span{background:#f0eaff;color:#7048e8}.dossier-kpis article[data-tone="green"]>span{background:#e4f9f0;color:#10a968}.dossier-kpis article[data-tone="amber"]>span{background:#fff1dc;color:#ff7b12}.dossier-kpis small{font-size:11px;line-height:1.35}.dossier-kpis strong{font-size:14px;line-height:1.35;color:#10213d}
.dossier-redesign .dossier-tabs{gap:20px;margin:0 0 24px;padding:0 6px;border-color:#d9e2ef}.dossier-redesign .dossier-tabs button{min-height:48px;padding:11px 10px;font:800 13px/1 Manrope,Arial,sans-serif;border-bottom-width:3px}.dossier-redesign .dossier-overview.active{grid-template-columns:1.45fr 1fr;gap:16px}
.dossier-redesign .home-summary{gap:10px;margin-bottom:11px}.dossier-redesign .home-summary>div{position:relative;min-height:104px;padding:18px 14px 16px 58px;border-color:#dce5f1;border-radius:12px;background:#fff}.dossier-summary-icon{position:absolute;left:16px;top:16px;width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#eaf3ff;color:#2672ec;font-size:19px}.dossier-redesign .home-summary small{font-size:10px;letter-spacing:.2px}.dossier-redesign .home-summary strong{font-size:14px;line-height:1.35}
.dossier-redesign .home-state-controls .form-field{min-height:142px;padding:18px;border-color:#dce5f1;border-radius:12px;background:#fff}.dossier-redesign .home-state-controls .form-field>span{font-size:12px}.dossier-redesign .home-state-controls select{min-height:48px;margin-top:7px;border-color:#b9c9e8;border-radius:10px;background:#fff;font:600 14px Manrope,Arial,sans-serif}.dossier-redesign .home-state-controls small{margin-top:8px;font-size:11px}
.dossier-card{border-color:#dce5f1;border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(32,57,99,.04)}.dossier-card>header{min-height:58px;padding:12px 16px;border-color:#dce5f1}.dossier-card h3{display:flex;align-items:center;gap:10px;font-size:14px;color:#10213d}.dossier-card-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#eaf3ff;color:#2672ec;font-size:18px}.dossier-card header button{font:800 11px Manrope,Arial,sans-serif}.dossier-details{padding:12px 16px;gap:0}.dossier-details>div{padding:8px 0;border-bottom:1px solid #e4eaf3;font-size:11px}.dossier-details>div:last-child{border-bottom:0}.dossier-overview-side{gap:12px}.dossier-overview-bottom{gap:12px;margin-top:2px}
.dossier-redesign form>footer{bottom:-20px;padding:14px 0 0;background:#f7f9fd}.dossier-redesign form>footer button{min-width:132px;min-height:48px;border-radius:11px;font:800 13px Manrope,Arial,sans-serif}
.theme-dark .modal.dossier-redesign,.theme-dark .dossier-redesign>form{background:#1c222c;border-color:#3b4657}.theme-dark .dossier-redesign>header,.theme-dark .dossier-redesign .dossier-head,.theme-dark .dossier-kpis article,.theme-dark .dossier-redesign .home-summary>div,.theme-dark .dossier-redesign .home-state-controls .form-field,.theme-dark .dossier-card{background:#252d39;border-color:#3e4a5d}.theme-dark .dossier-kpis strong,.theme-dark .dossier-card h3,.theme-dark .dossier-redesign .dossier-head p strong{color:#f4f7fb}.theme-dark .dossier-redesign .home-state-controls select{background:#202733;color:#f4f7fb;border-color:#4b5970}.theme-dark .dossier-redesign form>footer{background:#1c222c}
@media(max-width:1200px){.dossier-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.dossier-redesign .dossier-head{align-items:flex-start}.dossier-quick-actions{width:100%;margin-left:0}.dossier-quick-actions button{flex:1}}
@media(max-width:700px){.modal.dossier-redesign{width:100%!important}.dossier-redesign>header{padding:17px 16px 10px}.dossier-redesign>header h2{font-size:23px}.dossier-redesign>form{padding:0 14px 16px!important}.dossier-redesign .dossier-head{padding:12px}.dossier-redesign .dossier-head>.status{margin-right:0}.dossier-quick-actions button{min-width:calc(50% - 5px)}.dossier-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dossier-kpis article{min-height:92px}.dossier-redesign .dossier-tabs{gap:7px}.dossier-redesign .dossier-overview.active{grid-template-columns:1fr}.dossier-redesign .home-summary{grid-template-columns:1fr}.dossier-redesign .home-state-controls{grid-template-columns:1fr}.dossier-redesign .home-state-controls .form-field{min-height:0}}

/* Guard-IA 2.3.118: vista principal del Gestor de viviendas. */
#homes{max-width:1680px;background:radial-gradient(circle at 78% 4%,rgba(74,126,238,.09),transparent 28%)}
.admin-panel[data-admin-content="properties"]>#homes{max-width:none;padding:4px 0 0;background:radial-gradient(circle at 78% 4%,rgba(74,126,238,.09),transparent 28%)}
.homes-residential-context{display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(230px,.8fr) auto;align-items:center;gap:18px;margin:0 0 20px;padding:17px 20px;border:2px solid #28ae72;border-radius:15px;background:linear-gradient(135deg,#e9fbf3,#f8fffb);box-shadow:0 9px 24px rgba(20,139,91,.1)}
.homes-residential-context>span{padding:8px 10px;border-radius:9px;background:#159863;color:#fff;font-size:9px;font-weight:900;letter-spacing:.8px;white-space:nowrap}.homes-residential-context div strong,.homes-residential-context div small,.homes-residential-context p b,.homes-residential-context p small{display:block}.homes-residential-context div strong{font-size:19px;color:#0d6445}.homes-residential-context div small,.homes-residential-context p small{margin-top:3px;font-size:9px;color:#557568}.homes-residential-context p{margin:0;padding-left:18px;border-left:1px solid #b9e4d1}.homes-residential-context p b{font-size:10px;color:#138158}.homes-residential-context button{min-height:42px;padding:9px 14px;border:1px solid #69c69d;border-radius:10px;background:#fff;color:#11734f;font:800 10px Manrope;cursor:pointer}
.home-modal-context{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:13px 15px;border:2px solid #55bc8d;border-radius:11px;background:#edfbf5}.home-modal-context span{flex:0 0 auto;padding:6px 8px;border-radius:7px;background:#168b5d;color:#fff;font-size:8px;font-weight:900}.home-modal-context strong,.home-modal-context small{display:block}.home-modal-context strong{font-size:13px;color:#0d6344}.home-modal-context small{margin-top:2px;color:#557568;font-size:8px}
.admin-community-card{position:relative}.admin-community-card .community-current-badge{position:absolute;right:12px;top:12px;padding:5px 8px;border-radius:12px;background:#dff7eb;color:#137a55;font-size:7px;font-weight:900}.admin-community-card .community-select{width:100%;margin-top:12px;padding:9px;border:1px solid #9aacf0;border-radius:8px;background:#fff;color:#304bd0;font:800 9px Manrope;cursor:pointer}.admin-community-card .community-select:disabled{border-color:#b7ddcb;background:#e9f8f1;color:#147a55;cursor:default}
@media(max-width:900px){.homes-residential-context{grid-template-columns:auto 1fr}.homes-residential-context p{grid-column:1/-1;border-left:0;border-top:1px solid #b9e4d1;padding:12px 0 0}.homes-residential-context button{grid-column:1/-1}}
@media(max-width:560px){.homes-residential-context{grid-template-columns:1fr;padding:15px}.homes-residential-context>span{width:max-content}.homes-residential-context p,.homes-residential-context button{grid-column:auto}.homes-residential-context div strong{font-size:17px}}
#homes .page-heading{align-items:flex-end;margin-bottom:24px}#homes .page-heading .eyebrow{font-size:11px;letter-spacing:1.7px;color:#7990bd}#homes .page-heading h1{font-size:38px;letter-spacing:-1.2px;margin-top:8px}#homes .page-heading>div>p:last-child{font-size:14px;color:#62718d;margin-top:5px}
.homes-heading-actions{gap:12px}.homes-heading-actions button{min-width:190px;min-height:54px;border-radius:12px;font:800 14px Manrope,Arial,sans-serif}.homes-heading-actions button span{font-size:23px;margin-right:7px;vertical-align:-2px}.homes-heading-actions .primary{box-shadow:0 10px 22px rgba(46,101,235,.22)}
.homes-metrics{gap:16px;margin-bottom:24px}.homes-metrics article{min-height:145px;display:flex;align-items:center;gap:20px;padding:20px 22px;border:1px solid #e0e7f2;border-radius:15px;background:#fff;box-shadow:0 9px 25px rgba(26,53,101,.065)}.homes-metrics article>div{min-width:0}.homes-metric-icon{flex:0 0 64px;width:64px;height:64px;display:grid;place-items:center;border-radius:16px;font-size:34px;font-weight:800}.homes-metrics article[data-tone="blue"] .homes-metric-icon{background:#e7f0ff;color:#3075ed}.homes-metrics article[data-tone="green"] .homes-metric-icon{background:#ddf8ec;color:#14b86e}.homes-metrics article[data-tone="violet"] .homes-metric-icon{background:#eee6ff;color:#7138ef}.homes-metrics article[data-tone="amber"] .homes-metric-icon{background:#fff0db;color:#ff8b13}.homes-metrics small{font-size:11px;letter-spacing:1px}.homes-metrics strong{font-size:27px;margin-top:9px}.homes-metrics p{font-size:12px;margin-top:7px;color:#75819a}.homes-metrics p b{color:#13ae69}
#homes .homes-panel{padding:22px;border-radius:17px;border-color:#e0e7f2;background:#fff;box-shadow:0 12px 30px rgba(28,53,98,.06)}
#homes .homes-toolbar{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,2.2fr);gap:24px;align-items:center;margin-bottom:18px}#homes .homes-toolbar h2{font-size:23px;margin:0}#homes .homes-toolbar>div:first-child p{font-size:11px;margin-top:5px;color:#71809a}
#homes .home-filters{min-width:0;display:grid;grid-template-columns:minmax(160px,1.45fr) repeat(3,minmax(112px,.85fr)) minmax(166px,auto);gap:10px}#homes .home-filters .search{width:100%;min-width:0;min-height:48px;border-radius:11px;background:#fbfcff}#homes .home-filters .search input{min-width:0;font-size:12px}#homes .home-filters select{min-width:0;min-height:48px;padding:10px 13px;border-color:#d9e2ef;border-radius:11px;background:#fff;font:600 12px Manrope,Arial,sans-serif}
#homes .view-toggle{min-width:0;min-height:48px;padding:3px;border-color:#d9e2ef;border-radius:12px;background:#f7f9fd}#homes .view-toggle button{min-width:78px;min-height:40px;padding:8px 10px;font:700 11px Manrope,Arial,sans-serif}#homes .view-toggle button.active{background:linear-gradient(135deg,#3479f2,#2461e5);color:#fff;box-shadow:0 5px 13px rgba(37,99,235,.22)}#homes .view-toggle span{margin-right:4px}
#homes .croquis-map{gap:18px;margin-top:0}.map-street-block{padding:0;border:1px solid #dce5f1;border-radius:15px;background:#f8faff;box-shadow:inset 0 1px 0 #fff;overflow:hidden}.map-street-block>header{min-height:70px;margin:0;padding:13px 16px;border-bottom:1px solid #e0e7f1;background:#fff}.map-street-block>header>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#eaf3ff;color:#2872eb;font-size:0}.map-street-block>header>span:before{content:"⌖";font-size:23px}.map-street-block>header>strong{font-size:14px}.map-street-block>header>span+strong:before{content:"Calle " counter(street);color:#71809a;font-weight:600;margin-right:10px}.croquis-map{counter-reset:street}.map-street-block{counter-increment:street}.map-street-actions{margin-left:12px;gap:8px}.map-street-actions button{min-height:40px;padding:8px 14px;border-radius:9px;font:800 11px Manrope,Arial,sans-serif}.map-add-home{border:1px solid #8fb0f7;background:#fff;color:#2865dd}.map-delete-street{padding-left:14px!important;padding-right:14px!important}
.map-row{min-height:290px;align-items:flex-start;gap:24px;padding:24px 22px 28px;overflow-x:auto}.map-house,.homes-panel.large-home-text .map-house{flex:0 0 230px;min-height:246px;padding:18px 18px 16px;border:1.5px solid #b9e3d0;border-radius:18px;background:linear-gradient(180deg,#effbf6,#f7fffb);box-shadow:0 10px 24px rgba(38,95,70,.08);justify-content:flex-start;transition:transform .18s ease,box-shadow .18s ease}.map-house:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(38,95,70,.15)}.map-house:before,.homes-panel.large-home-text .map-house:before{left:18px;top:18px;width:34px;height:34px;font-size:17px;z-index:2;box-shadow:0 5px 12px rgba(18,167,103,.2)}.map-house.debt{background:linear-gradient(180deg,#fff1f2,#fff8f8);border-color:#f2bfc5}.map-house.incomplete{background:linear-gradient(180deg,#fff8e9,#fffdf7);border-color:#efd39b}.map-house.rented{background:linear-gradient(180deg,#eef4ff,#f8faff);border-color:#bdcdf4}
.house-shape,.homes-panel.large-home-text .house-shape{width:180px;height:116px;margin:11px 0 4px;transform:none;background:url("assets/home-card-illustration.svg") center/contain no-repeat;border:0;border-radius:15px}.house-shape:before,.house-shape i{display:none}.map-house strong,.homes-panel.large-home-text .map-house strong{margin-top:2px;font-size:25px;line-height:1.1;color:#10213d}.map-house small,.homes-panel.large-home-text .map-house small{width:100%;margin-top:10px;padding:9px 11px;border-radius:17px;background:#dff7eb;color:#3e6571;font-size:11px;font-weight:800}.map-house.debt small{background:#ffe0e4;color:#a53948}.map-house.incomplete small{background:#ffedc9;color:#9b6815}.map-house.rented small{background:#e0e9ff;color:#3759a6}.map-physical-status{margin-top:7px;font-size:9px}.map-vehicle-chip{right:16px;top:18px;z-index:2;padding:6px 8px;font-size:9px}
.theme-dark #homes{background:#171a20}.theme-dark #homes .homes-panel,.theme-dark .homes-metrics article,.theme-dark .map-street-block>header{background:#252d39;border-color:#3e4a5d}.theme-dark .map-street-block{background:#202733;border-color:#3e4a5d}.theme-dark #homes .home-filters select,.theme-dark #homes .home-filters .search{background:#202733;color:#f4f7fb;border-color:#46536a}.theme-dark .map-house{background:linear-gradient(180deg,#223b33,#25322e);border-color:#3d6b59}.theme-dark .map-house strong{color:#f4f7fb}
@media(max-width:1350px){#homes .homes-toolbar{grid-template-columns:1fr}#homes .home-filters{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(130px,1fr)) auto}.homes-metrics article{padding:18px 16px;gap:13px}.homes-metric-icon{flex-basis:52px;width:52px;height:52px;font-size:27px}}
@media(max-width:900px){#homes .page-heading{align-items:flex-start}#homes .page-heading h1{font-size:31px}.homes-heading-actions{width:100%;margin-top:15px}.homes-heading-actions button{flex:1;min-width:0}.homes-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#homes .home-filters{grid-template-columns:1fr 1fr}#homes .home-filters .search,#homes .view-toggle{grid-column:1/-1}.map-row{min-height:270px}}
@media(max-width:560px){#homes .page-heading h1{font-size:28px}.homes-heading-actions{display:grid}.homes-heading-actions button{width:100%}.homes-metrics{grid-template-columns:1fr}.homes-metrics article{min-height:112px}.homes-metric-icon{flex-basis:58px;width:58px;height:58px}#homes .homes-panel{padding:14px}#homes .home-filters{grid-template-columns:1fr}#homes .home-filters .search,#homes .view-toggle{grid-column:auto}.map-street-block>header{flex-wrap:wrap}.map-street-actions{width:100%;margin:8px 0 0 50px}.map-row{min-height:250px;padding:18px 14px}.map-house,.homes-panel.large-home-text .map-house{flex-basis:205px;min-height:228px}.house-shape,.homes-panel.large-home-text .house-shape{width:160px;height:105px}}

.homes-metrics small,.homes-metrics strong,.homes-metrics p{display:block}
#homes .map-street-block>header>.map-street-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#eaf3ff;color:#2872eb;font-size:23px}
#homes .map-street-block>header>.map-street-icon:before{content:none}
#homes .map-street-block>header>p{display:flex;align-items:center;gap:10px;margin:0}
#homes .map-street-block>header>p small{font-size:11px;color:#71809a}
#homes .map-street-block>header>p small:after{content:"";display:inline-block;width:1px;height:15px;margin-left:10px;background:#cfd8e6;vertical-align:-3px}
#homes .map-street-block>header>p strong{font-size:14px}

.map-house.active-home .map-physical-status{background:#dff7e8;color:#16834f}.map-house.active-home .map-physical-status:before{content:"●";margin-right:6px;color:#1bb76b}
.map-house.pending-activation .house-shape,.homes-panel.large-home-text .map-house.pending-activation .house-shape{background-image:url("assets/home-card-inactive.svg")}
.map-house.pending-activation:before{content:"!";background:#ef9412;box-shadow:0 5px 12px rgba(239,148,18,.28)}
.map-house.pending-activation .map-physical-status{background:#ffebc5;color:#b66c06}.map-house.pending-activation .map-physical-status:before{content:"●";margin-right:6px;color:#ef9412}

/* Guard-IA 2.3.123: Detalle de propiedad con navegación por expedientes. */
.modal.dossier-redesign{width:min(1640px,98vw)!important;max-width:1640px!important;max-height:97dvh;border-radius:20px;background:#f5f9fd}
.dossier-redesign>header{min-height:116px;padding:20px 32px;background:#fbfdff;border-bottom:0}.property-title{display:flex;align-items:center;gap:18px;min-width:0}.property-title-icon{flex:0 0 68px;width:68px;height:68px;display:grid;place-items:center;border-radius:15px;background:#e9f2ff;color:#1362e7;font-size:38px}.dossier-redesign>header .property-title small{display:block;color:#5671c8;font:800 16px/1 Manrope,Arial,sans-serif;letter-spacing:0}.dossier-redesign>header .property-title h2{margin:7px 0 3px;color:#0f2365;font:850 28px/1.05 Manrope,Arial,sans-serif;letter-spacing:-.7px}.property-title p{margin:0;color:#4267d0;font:500 14px/1.35 Manrope,Arial,sans-serif}.property-header-status{display:flex;align-items:center;gap:10px;margin-left:auto;padding:13px 22px;border-radius:12px;font:800 14px Manrope,Arial,sans-serif;white-space:nowrap}.property-header-status i{width:11px;height:11px;border-radius:50%;background:currentColor}.property-header-status.active{background:#dcfaee;color:#098a4f}.property-header-status.pending{background:#fff0d3;color:#bd7308}.dossier-redesign>header .modal-close{margin-left:16px;border:1px solid #d7e2f5;background:#fff;color:#1b4fc1;border-radius:11px}
.dossier-redesign>form{padding:0 32px 20px!important;max-height:calc(97dvh - 116px)!important;background:#f5f9fd}
.dossier-redesign .dossier-tabs{display:grid;grid-template-columns:repeat(9,minmax(128px,1fr));gap:10px;margin:0 -32px 22px;padding:10px 32px 0;overflow-x:auto;border:0;border-bottom:1px solid #c8d8f2;background:#fbfdff}
.dossier-redesign .dossier-tabs button{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-width:128px;min-height:86px;padding:18px 12px 12px;border:1.5px solid #7da1ed;border-bottom-color:#5f8be8;border-radius:12px 12px 2px 2px;background:linear-gradient(180deg,#fff,#f8fbff);color:#12328a;font-family:Manrope,Arial,sans-serif;box-shadow:0 4px 12px rgba(26,77,177,.06)}.dossier-redesign .dossier-tabs button:before{content:"";position:absolute;left:0;top:-10px;width:58px;height:13px;border:1.5px solid #7da1ed;border-bottom:0;border-radius:8px 14px 0 0;background:#fff}.dossier-redesign .dossier-tabs button>span{font-size:29px;line-height:1}.dossier-redesign .dossier-tabs button>strong{font-size:13px;line-height:1.2}.dossier-redesign .dossier-tabs button.active{border-color:#1264ef;background:linear-gradient(145deg,#0d72f6,#0753df);color:#fff;box-shadow:0 10px 24px rgba(13,91,228,.22)}.dossier-redesign .dossier-tabs button.active:before{border-color:#1264ef;background:#0d6ef2}
.dossier-redesign .dossier-overview.active{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(360px,1.05fr);gap:16px;min-height:530px}.dossier-general-fields{display:flex;flex-direction:column;gap:18px}.dossier-redesign .home-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0}.dossier-redesign .home-summary>div{min-height:122px;padding:23px 18px 18px 88px;border:1px solid #d8e4f1;border-radius:13px;background:#fff;box-shadow:0 8px 19px rgba(34,72,132,.06)}.dossier-summary-icon{left:22px;top:24px;width:54px;height:54px;border-radius:13px;background:#e8f3ff;color:#0f63e9;font-size:30px}.dossier-redesign .home-summary>div:nth-child(2) .dossier-summary-icon{background:#f0e9ff;color:#7130ec}.dossier-redesign .home-summary>div:nth-child(3) .dossier-summary-icon,.dossier-redesign .home-summary>div:nth-child(6) .dossier-summary-icon{background:#dcfaee;color:#0b9c5b}.dossier-redesign .home-summary>div:nth-child(4) .dossier-summary-icon{background:#fff1d5;color:#aa7300}.dossier-redesign .home-summary small{font-size:11px;color:#5571be}.dossier-redesign .home-summary strong{margin-top:10px;font-size:15px;color:#10236a}
.dossier-redesign .home-state-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dossier-redesign .home-state-controls .form-field{min-height:260px;padding:26px 22px;border:1px solid #d8e4f1;border-radius:13px;background:#fff;box-shadow:0 8px 19px rgba(34,72,132,.06)}.dossier-redesign .home-state-controls .form-field>span{font-size:16px;color:#10236a}.dossier-redesign .home-state-controls .form-field>span:before{content:"▤";display:inline-grid;place-items:center;width:52px;height:52px;margin-right:13px;border-radius:13px;background:#dcfaee;color:#098c50;font-size:27px;vertical-align:middle}.dossier-redesign .home-state-controls .form-field+label>span:before{content:"⌕";background:#f0e9ff;color:#7532e8}.dossier-redesign .home-state-controls small{margin:5px 0 18px 65px;font-size:12px;color:#4f6dcc}.dossier-redesign .home-state-controls select{min-height:58px;margin-top:0;padding:12px 18px;border-color:#abc1e8;border-radius:9px;color:#345ab8;font-size:14px}
.dossier-overview-side{display:grid;grid-template-rows:auto 1fr;gap:18px}.dossier-overview-side .dossier-card{border-color:#d8e4f1;border-radius:13px;box-shadow:0 8px 19px rgba(34,72,132,.06)}.dossier-overview-side .dossier-card>header{min-height:78px;padding:14px 20px}.dossier-overview-side .dossier-card h3{font-size:18px;color:#10236a}.dossier-overview-side .dossier-card header button{font-size:13px;color:#075ce5}.dossier-overview-side .dossier-card-icon{width:52px;height:52px;border-radius:13px;font-size:27px}.dossier-overview-side .dossier-details{padding:0 20px 15px}.dossier-overview-side .dossier-details>div{padding:11px 0;font-size:13px;color:#18347e}.property-empty-residents{min-height:205px;margin:0 18px 18px;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:10px;background:#f1f7fd;color:#17337e}.property-empty-residents>span{width:68px;height:68px;display:grid;place-items:center;border-radius:50%;background:#e4eefc;color:#6588d9;font-size:34px}.property-empty-residents strong{margin-top:12px;font-size:14px}.property-empty-residents p{margin:5px 0 12px;color:#5272c3;font-size:12px}.property-empty-residents button{min-height:44px;padding:8px 22px;border:1.5px solid #0b65ed;border-radius:9px;background:#fff;color:#075be0;font:800 12px Manrope,Arial,sans-serif;cursor:pointer}
.dossier-redesign form>footer{margin:20px -32px -20px;padding:18px 32px;background:#fff;border-top:1px solid #d9e5f3}.dossier-redesign form>footer button{min-width:160px}.dossier-redesign form>footer .primary{background:linear-gradient(145deg,#0c72f5,#0750d8)}
.theme-dark .property-title p{color:#a9bceb}.theme-dark .property-title-icon{background:#263e61;color:#8ab4ff}.theme-dark .dossier-redesign .dossier-tabs,.theme-dark .dossier-redesign>header{background:#202936}.theme-dark .dossier-redesign .dossier-tabs button{background:#283342;color:#dce7ff;border-color:#586d92}.theme-dark .dossier-redesign .dossier-tabs button:before{background:#283342;border-color:#586d92}.theme-dark .dossier-redesign .dossier-tabs button.active,.theme-dark .dossier-redesign .dossier-tabs button.active:before{background:#1768dc;color:#fff}.theme-dark .property-empty-residents{background:#202b39;color:#ecf2ff}
@media(max-width:1180px){.dossier-redesign .dossier-overview.active{grid-template-columns:1fr}.dossier-overview-side{grid-template-columns:1fr 1fr;grid-template-rows:auto}.dossier-redesign .home-state-controls .form-field{min-height:220px}}
@media(max-width:720px){.dossier-redesign>header{padding:14px 16px;align-items:flex-start;flex-wrap:wrap}.property-title-icon{width:50px;height:50px;flex-basis:50px;font-size:27px}.dossier-redesign>header .property-title h2{font-size:21px}.property-title p{display:none}.property-header-status{order:3;margin:5px 0 0 68px;padding:9px 13px}.dossier-redesign>header .modal-close{position:absolute;right:12px;top:12px}.dossier-redesign>form{padding:0 14px 14px!important}.dossier-redesign .dossier-tabs{margin:0 -14px 18px;padding:10px 14px 0;display:flex}.dossier-redesign .dossier-tabs button{min-width:126px;min-height:68px}.dossier-redesign .dossier-tabs button>span{font-size:23px}.dossier-redesign .home-summary{grid-template-columns:1fr}.dossier-redesign .home-state-controls{grid-template-columns:1fr}.dossier-overview-side{grid-template-columns:1fr}.dossier-redesign .home-state-controls .form-field{min-height:0}.dossier-redesign form>footer{margin:18px -14px -14px;padding:12px 14px}}

/* Guard-IA 2.3.137: menú lateral elegante en gris Oxford. */
#guardiaSidebar{
  color:#eef3f8;
  background:linear-gradient(165deg,#283442 0%,#202a36 48%,#18212c 100%);
  border-right:1px solid #354354;
  box-shadow:12px 0 34px rgba(15,23,34,.16);
}
#guardiaSidebar .brand{color:#fff}
#guardiaSidebar .brand small,#guardiaSidebar .property small,#guardiaSidebar .profile small{color:#aebac8}
#guardiaSidebar .property{background:rgba(255,255,255,.055);border-color:#405063;color:#f5f8fb;box-shadow:inset 0 1px rgba(255,255,255,.035)}
#guardiaSidebar .property-icon{background:#34465b;color:#d9e9ff}
#guardiaSidebar .nav-group-toggle{color:#94a4b7!important}
#guardiaSidebar .nav-group-toggle:hover{background:#2e3b4a!important;color:#f0f5fa!important}
#guardiaSidebar .nav-group-toggle>i{color:#8799ad!important}
#guardiaSidebar .nav-item,#guardiaSidebar .kiosk-module-link,#guardiaSidebar .side-section button[data-view]{color:#d4dde8!important}
#guardiaSidebar .nav-item>span:first-child,#guardiaSidebar .kiosk-module-link>span:first-child,#guardiaSidebar .side-section button[data-view]>span:first-child{background:#344252!important;color:#cbd7e4!important;border:1px solid #415165;box-shadow:inset 0 1px rgba(255,255,255,.04)}
#guardiaSidebar .nav-item:hover,#guardiaSidebar .kiosk-module-link:hover,#guardiaSidebar .side-section button[data-view]:hover{background:#303d4c!important;border-color:#435366!important;color:#fff!important;transform:translateX(2px)}
#guardiaSidebar .nav-item.active{background:linear-gradient(135deg,#3b4b60,#2f3d50)!important;border-color:#607a99!important;color:#fff!important;box-shadow:inset 3px 0 #68a1ef,0 8px 18px rgba(7,13,22,.22)!important}
#guardiaSidebar .nav-item.active>span:first-child{background:linear-gradient(145deg,#4d8fe9,#326fca)!important;border-color:#70a8ef;color:#fff!important;box-shadow:0 6px 14px rgba(17,53,98,.35)!important}
#guardiaSidebar .nav-item.active:after{background:#33c184;box-shadow:0 0 0 4px rgba(51,193,132,.16)}
#guardiaSidebar .connection{background:rgba(29,157,107,.12);border-color:rgba(73,197,148,.32);color:#dff8ed}
#guardiaSidebar .connection small{color:#9fc8b8}
#guardiaSidebar .profile{border-color:#3a4859;color:#f4f7fa}
#guardiaSidebar .profile .avatar{background:#3a4b60;color:#e8f1fb}
#guardiaSidebar .app-version{color:#8292a5}
#guardiaSidebar .menu-personalizer{border-color:#3a4859}
#guardiaSidebar .menu-personalizer>button,#guardiaSidebar .menu-personalizer-actions button,#guardiaSidebar .menu-order-controls button{background:#2c3948;border-color:#45566b;color:#dbe5ef}
#guardiaSidebar .menu-personalizer>button:hover,#guardiaSidebar .menu-personalizer>button[aria-pressed="true"]{background:#394a5e;border-color:#6685a9;color:#fff}
#guardiaSidebar .menu-personalizer>small{color:#95a5b7}
@media(max-width:767px){body:not(.mobile-menu-open) #guardiaSidebar{background:linear-gradient(180deg,#273341,#1d2631);border-top:1px solid #405064;box-shadow:0 -10px 28px rgba(9,15,24,.22)}body:not(.mobile-menu-open) #guardiaSidebar .nav-item{color:#cbd5e1!important}body:not(.mobile-menu-open) #guardiaSidebar .nav-item.active{background:#344559!important}}

/* Guard-IA 2.3.138: botones Oxford con identidad cromática por módulo. */
#guardiaSidebar [data-view="admin"]{--menu-accent:79,137,224}
#guardiaSidebar [data-view="gate"]{--menu-accent:40,181,128}
#guardiaSidebar [data-view="agenda"]{--menu-accent:72,126,219}
#guardiaSidebar [data-view="incidents"]{--menu-accent:222,86,98}
#guardiaSidebar [data-view="residentApp"]{--menu-accent:52,148,218}
#guardiaSidebar [data-view="guardApp"]{--menu-accent:218,153,42}
#guardiaSidebar [data-view="assistant"]{--menu-accent:137,99,224}
#guardiaSidebar [data-view="residents"],#guardiaSidebar [data-view="users"]{--menu-accent:33,170,171}
#guardiaSidebar [data-view="homes"]{--menu-accent:137,88,211}
#guardiaSidebar [data-view="finance"]{--menu-accent:229,145,34}
#guardiaSidebar [data-view="administration"]{--menu-accent:80,108,197}
#guardiaSidebar [data-view="clientAdministration"]{--menu-accent:104,92,190}
#guardiaSidebar [data-view="integrations"]{--menu-accent:57,132,158}
#guardiaSidebar [data-view="reports"]{--menu-accent:114,129,151}
#guardiaSidebar [data-view="settings"]{--menu-accent:132,144,160}
#guardiaSidebar .kiosk-module-link[href*="Entrada"]{--menu-accent:35,174,111}
#guardiaSidebar .kiosk-module-link[href*="Salida"]{--menu-accent:126,91,205}
#guardiaSidebar .nav-item,#guardiaSidebar .kiosk-module-link{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin:2px 0!important;
  min-height:48px!important;
  background:linear-gradient(112deg,rgba(var(--menu-accent,112,129,151),.16),rgba(255,255,255,.028) 72%)!important;
  border:1px solid rgba(var(--menu-accent,112,129,151),.34)!important;
  color:#e5ecf4!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 5px 13px rgba(7,13,22,.12);
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
}
#guardiaSidebar .nav-item:before,#guardiaSidebar .kiosk-module-link:before{content:"";position:absolute;z-index:-1;left:-28px;top:-42px;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle,rgba(var(--menu-accent,112,129,151),.22),transparent 68%);pointer-events:none}
#guardiaSidebar .nav-item>span:first-child,#guardiaSidebar .kiosk-module-link>span:first-child{
  background:linear-gradient(145deg,rgba(var(--menu-accent,112,129,151),.96),rgba(var(--menu-accent,112,129,151),.62))!important;
  border-color:rgba(255,255,255,.16)!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(5,11,19,.25),inset 0 1px rgba(255,255,255,.22)!important;
}
#guardiaSidebar .nav-item:hover,#guardiaSidebar .kiosk-module-link:hover{transform:translateX(3px);background:linear-gradient(112deg,rgba(var(--menu-accent,112,129,151),.25),rgba(255,255,255,.055) 76%)!important;border-color:rgba(var(--menu-accent,112,129,151),.62)!important;box-shadow:inset 0 1px rgba(255,255,255,.06),0 9px 20px rgba(6,12,20,.2)!important;color:#fff!important}
#guardiaSidebar .nav-item.active{background:linear-gradient(112deg,rgba(var(--menu-accent,79,137,224),.36),rgba(255,255,255,.075) 78%)!important;border-color:rgba(var(--menu-accent,79,137,224),.78)!important;box-shadow:inset 3px 0 rgb(var(--menu-accent,79,137,224)),0 10px 22px rgba(5,11,19,.26)!important;color:#fff!important}
#guardiaSidebar .nav-item:focus-visible,#guardiaSidebar .kiosk-module-link:focus-visible{outline:2px solid rgba(var(--menu-accent,112,129,151),.9);outline-offset:2px}
@media(max-width:767px){body.mobile-menu-open #guardiaSidebar .nav-item,body.mobile-menu-open #guardiaSidebar .kiosk-module-link{color:#e5ecf4!important}body:not(.mobile-menu-open) #guardiaSidebar .nav-item{margin:0!important;min-height:60px!important;border-color:transparent!important;background:transparent!important;box-shadow:none!important}body:not(.mobile-menu-open) #guardiaSidebar .nav-item:before{display:none}}

/* Guard-IA 2.3.139: perfil inferior integrado al gris Oxford. */
#guardiaSidebar .profile{
  display:block;
  margin:12px 6px 2px;
  padding:12px;
  border:1px solid #405064;
  border-radius:14px;
  background:linear-gradient(145deg,rgba(61,77,96,.82),rgba(38,49,63,.9));
  color:#f4f7fa;
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 9px 21px rgba(5,11,19,.2);
}
#guardiaSidebar .profile-identity{gap:11px}
#guardiaSidebar .profile-identity strong{color:#f4f7fa;font-size:11px}
#guardiaSidebar .profile-identity small{margin-top:2px;color:#aebac8}
#guardiaSidebar .profile .avatar{width:36px;height:36px;background:linear-gradient(145deg,#52677f,#34465a);border:1px solid #667b94;color:#fff;box-shadow:0 5px 12px rgba(5,11,19,.22)}
#guardiaSidebar .profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}
#guardiaSidebar .profile .profile-actions button{width:100%;min-height:36px;margin:0;border-radius:9px!important;font:800 9px Manrope,"Segoe UI",sans-serif!important;transition:transform .16s ease,border-color .16s ease,background .16s ease}
#guardiaSidebar .profile #profileEditBtn{border:1px solid #61758d!important;background:#344458!important;color:#e9f1fa!important}
#guardiaSidebar .profile #profileEditBtn:hover{background:#40546b!important;border-color:#7990aa!important;transform:translateY(-1px)}
#guardiaSidebar .profile #logoutBtn{border:1px solid #744954!important;background:#422d35!important;color:#ffbdc6!important}
#guardiaSidebar .profile #logoutBtn:hover{background:#55343e!important;border-color:#9a5b68!important;color:#ffd9de!important;transform:translateY(-1px)}

/* Guard-IA 2.3.140: marca limpia y controles coherentes en modo noche. */
#guardiaSidebar .brand-mark{
  width:52px!important;
  height:52px!important;
  padding:0!important;
  overflow:visible;
  border:0;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#guardiaSidebar .brand-mark img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border-radius:0!important;
  filter:drop-shadow(0 7px 12px rgba(4,12,24,.32))!important;
}
.theme-dark .dashboard-agenda-summary span{
  background:#2c3441;
  border-color:#4b586d;
  color:#cbd5e3;
  box-shadow:inset 0 1px rgba(255,255,255,.035);
}
.theme-dark .dashboard-agenda-summary b{color:#fff}
.theme-dark .admin-mobile-logout{
  background:#3b262c!important;
  border-color:#70404a!important;
  color:#ffb8c0!important;
  box-shadow:0 5px 14px rgba(7,12,20,.2);
}
.theme-dark .admin-mobile-logout:hover{background:#4b2d35!important;border-color:#925565!important;color:#ffd7dc!important}
.primary-resident-change{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0 4px;padding:16px;border:1px solid #cbd9ee;border-radius:14px;background:#f4f8ff}.primary-resident-change p{display:grid;gap:4px;margin:0}.primary-resident-change strong{color:#18365d}.primary-resident-change small{max-width:620px;color:#60738b;line-height:1.45}.primary-resident-change button{flex:0 0 auto}.theme-dark .primary-resident-change{border-color:#40516b;background:#232f42}.theme-dark .primary-resident-change strong{color:#f4f7fb}.theme-dark .primary-resident-change small{color:#bdc8d8}@media(max-width:700px){.primary-resident-change{align-items:stretch;flex-direction:column}.primary-resident-change button{width:100%}}
.roster-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.roster-summary span{display:flex;align-items:baseline;gap:5px;padding:8px 11px;border-radius:10px;background:#eef3fb;color:#4d607a}.roster-summary strong{font-size:16px;color:#173661}.roster-summary .ready{background:#e8f8ef;color:#168252}.roster-summary .warning{background:#fff4dd;color:#9b6600}.roster-summary .danger{background:#fff0f1;color:#b52d3b}.roster-preview-list{display:grid;gap:8px;max-height:360px;margin-top:14px;overflow:auto}.roster-preview-list>label,.roster-preview-list>div{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid #dce5f1;border-radius:11px;background:#fbfdff}.roster-preview-list span{display:grid}.roster-preview-list small,.roster-preview-list em{color:#718198;font-size:10px;font-style:normal}.roster-preview-list em{grid-column:2/-1}.roster-preview-list b{padding:5px 8px;border-radius:999px;background:#edf2fa;color:#53647d;font-size:9px}.roster-preview-list .ready b,.roster-preview-list .accepted b{background:#dcf6e8;color:#087f4b}.roster-preview-list .conflict b,.roster-preview-list .failed b{background:#ffe4e6;color:#b32638}.theme-dark .roster-summary span,.theme-dark .roster-preview-list>label,.theme-dark .roster-preview-list>div{border-color:#3e4c61;background:#222c3b;color:#eef3fa}.theme-dark .roster-summary strong{color:#fff}@media(max-width:650px){.roster-preview-list>label,.roster-preview-list>div{grid-template-columns:auto 1fr}.roster-preview-list b{grid-column:2;justify-self:start}.roster-preview-list em{grid-column:2}}
.theme-dark .modal .mobile-form-intro{background:#293241;border-color:#46546c;color:#f4f7fb}
.theme-dark .modal .report-summary p{background:#29313e;border:1px solid #465166;color:#f4f7fb}
.theme-dark .modal .dossier-empty{background:#252d39;border-color:#4c586b;color:#dfe6ef}
.theme-dark .modal .billing-table>div{border-color:#414b5c;color:#edf2f8}

/* Guard-IA 2.3.144: navegación y cabecera ejecutiva de la nueva referencia. */
:root{--guard-sidebar-width:300px;--guard-topbar-height:100px}
#guardiaSidebar{padding:22px 18px 14px;background:linear-gradient(165deg,#172c40 0%,#112538 52%,#0b1d2e 100%)}
#guardiaSidebar .brand{min-height:68px;padding:0 8px 20px;gap:14px}
#guardiaSidebar .brand-mark{width:55px!important;height:55px!important}
#guardiaSidebar .brand strong{font-size:23px;letter-spacing:-.7px}
#guardiaSidebar .brand small{font-size:10px;letter-spacing:1.8px;color:#9eb0c1}
#guardiaSidebar .property{min-height:56px;margin:0 0 14px;padding:9px 10px;background:rgba(255,255,255,.055);border-color:#334c63;border-radius:12px}
#guardiaSidebar .property-icon{width:36px;height:36px;flex:0 0 36px;background:#314b67;color:#e8f2fb;border-radius:10px}
#guardiaSidebar .property select{color:#f5f8fc;font-size:11px;letter-spacing:.2px}
#guardiaSidebar .connection,#guardiaSidebar .app-version{display:none}
#guardiaSidebar .guard-navigation{padding:0;gap:5px}
#guardiaSidebar .nav-group{margin-top:5px}
#guardiaSidebar .nav-group-toggle{min-height:30px;padding:4px 9px!important}
#guardiaSidebar .nav-group-toggle>span{font-size:10px;letter-spacing:1px}
#guardiaSidebar .nav-item,#guardiaSidebar .kiosk-module-link{min-height:48px!important;border-radius:10px!important}
#guardiaSidebar .nav-item.active{background:linear-gradient(90deg,rgba(50,121,224,.45),rgba(43,74,108,.48))!important;border-color:#4689e6!important;box-shadow:inset 3px 0 #3990ff,0 8px 20px rgba(3,13,24,.24)!important}
.sidebar-collapse{display:flex;align-items:center;gap:11px;width:100%;min-height:42px;margin-top:auto;padding:8px 11px;border:0;border-top:1px solid #33475b;background:transparent;color:#9eafc0;font:700 11px Manrope,"Segoe UI",sans-serif;cursor:pointer;text-align:left}
.sidebar-collapse span{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#263d53;color:#e0e9f2;font-size:17px}.sidebar-collapse:hover{color:#fff}.sidebar-collapse strong{font:inherit}
.app-shell>main{transition:margin-left .2s ease,width .2s ease}.sidebar{transition:width .2s ease,padding .2s ease,transform .22s ease}
body.sidebar-collapsed{--guard-sidebar-width:82px}
body.sidebar-collapsed #guardiaSidebar{width:82px;padding-left:10px;padding-right:10px;overflow-x:hidden}
body.sidebar-collapsed #guardiaSidebar .brand{justify-content:center;padding-left:0;padding-right:0}
body.sidebar-collapsed #guardiaSidebar .brand-mark{width:48px!important;height:48px!important}
body.sidebar-collapsed #guardiaSidebar .brand>span:last-child,body.sidebar-collapsed #guardiaSidebar .property>span:nth-child(2),body.sidebar-collapsed #guardiaSidebar .property>button,body.sidebar-collapsed #guardiaSidebar .nav-group-toggle,body.sidebar-collapsed #guardiaSidebar .sidebar-collapse strong{display:none!important}
body.sidebar-collapsed #guardiaSidebar .property{justify-content:center;padding:8px;margin-left:4px;margin-right:4px}
body.sidebar-collapsed #guardiaSidebar .nav-group-items{display:flex!important}
body.sidebar-collapsed #guardiaSidebar .nav-item,body.sidebar-collapsed #guardiaSidebar .kiosk-module-link{justify-content:center;padding:8px!important;font-size:0!important;gap:0!important}
body.sidebar-collapsed #guardiaSidebar .nav-item>span:first-child,body.sidebar-collapsed #guardiaSidebar .kiosk-module-link>span:first-child{margin:0!important;flex-basis:32px;width:32px;height:32px;font-size:16px!important}
body.sidebar-collapsed #guardiaSidebar .nav-item b,body.sidebar-collapsed #guardiaSidebar .nav-item i{display:none}
body.sidebar-collapsed #guardiaSidebar .sidebar-collapse{justify-content:center;padding-left:0;padding-right:0}
.topbar{display:grid;grid-template-columns:minmax(230px,1fr) minmax(270px,310px) auto;min-height:var(--guard-topbar-height);height:var(--guard-topbar-height);padding:0 28px;background:rgba(255,255,255,.96);border-bottom:1px solid #dce4ef;box-shadow:0 8px 22px rgba(25,48,82,.045);backdrop-filter:blur(18px)}
.topbar-context{min-width:0}.topbar-context h1{margin:0 0 7px;color:#10213e;font-size:28px;line-height:1;font-weight:850;letter-spacing:-.8px}.topbar-context .breadcrumbs{display:flex!important;gap:9px;color:#64748b;font-size:11px}.topbar-context .breadcrumbs strong{color:#1e2e49}.topbar-context .breadcrumbs i{color:#8da0b7;font-size:16px;line-height:10px}
.active-residential-badge{display:grid;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:10px;width:100%;max-width:310px;min-height:60px;padding:8px 12px;border:1px solid #d6e0ee;border-radius:12px;background:#fff;color:#142542;text-align:left;box-shadow:0 8px 22px rgba(20,49,87,.09);cursor:pointer}
.active-residential-badge>span{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#377cf0,#245bd4);color:#fff;font-size:19px}.active-residential-badge p{min-width:0;margin:0}.active-residential-badge small,.active-residential-badge strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-residential-badge small{color:#7c8aa0;font-size:9px}.active-residential-badge strong{margin-top:2px;color:#172744;font-size:12px}.active-residential-badge>i{font-style:normal;font-size:14px}.active-residential-badge:hover{border-color:#9db8e7;box-shadow:0 10px 25px rgba(31,75,140,.13)}
.top-actions{gap:10px}.top-actions .theme-toggle{min-width:90px;height:42px;border-radius:10px;font-size:10px}.top-actions .icon-button,.top-actions .help{width:42px;height:42px;border-radius:10px}.top-actions .help{border-radius:10px}.header-profile{position:relative;margin-left:8px;padding-left:16px;border-left:1px solid #d7e0eb}.header-profile-button{display:flex;align-items:center;gap:10px;min-width:190px;min-height:48px;padding:4px 6px;border:0;background:transparent;color:#172744;text-align:left;cursor:pointer}.header-profile-button .avatar{width:40px;height:40px;background:#3a4d66;color:#fff}.header-profile-button>span:nth-child(2){min-width:0;flex:1}.header-profile-button small,.header-profile-button strong{display:block}.header-profile-button small{font-size:8px;color:#7c899b}.header-profile-button strong{max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.header-profile-button i{font-style:normal;color:#52647c}.header-profile-popover{position:absolute;right:0;top:56px;z-index:50;width:190px;padding:10px;border:1px solid #dbe3ef;border-radius:12px;background:#fff;box-shadow:0 18px 42px rgba(15,35,64,.18)}.header-profile-popover[hidden]{display:none}.header-profile-popover>small{display:block;padding:4px 6px 9px;color:#718096;font-size:9px}.header-profile-popover button{width:100%;min-height:38px;border:0;border-radius:8px;background:transparent;color:#33445d;text-align:left;padding:8px 10px;font:750 10px Manrope;cursor:pointer}.header-profile-popover button:hover{background:#edf3fb}.header-profile-popover #logoutBtn{margin-top:3px;background:#fff3f4!important;color:#b72f3e!important}
.summary-restored{max-width:100%}.summary-greeting{position:relative;min-height:112px;padding:20px 27px;overflow:hidden;background:linear-gradient(105deg,#fff 0%,#f7faff 55%,#f2f7ff 100%);border-color:#d7e3f4;border-radius:16px;box-shadow:0 8px 24px rgba(31,63,105,.045)}
.summary-greeting-copy{position:relative;z-index:2;display:flex;align-items:center;gap:18px}.summary-weather{width:58px;height:58px;display:grid;place-items:center;flex:0 0 58px;border:1px solid #d9e4f4;border-radius:13px;background:#f8fbff;color:#f5aa00;font-size:35px}.summary-greeting h1{font-size:30px;color:#112140}.summary-greeting-copy p{font-size:12px;color:#5d708d}
.summary-skyline{position:absolute;left:54%;bottom:0;width:255px;height:86px;opacity:.35;background:linear-gradient(180deg,transparent,#dceaff)}.summary-skyline:before{content:"";position:absolute;left:0;right:0;bottom:0;height:14px;border-radius:50% 50% 0 0;background:#bed2ee}.summary-skyline i{position:absolute;bottom:10px;width:34px;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#c5d9f5,#a9c3e8)}.summary-skyline i:nth-child(1){left:18px;height:40px}.summary-skyline i:nth-child(2){left:58px;height:67px}.summary-skyline i:nth-child(3){left:98px;height:82px}.summary-skyline i:nth-child(4){left:143px;height:50px}.summary-skyline i:nth-child(5){left:187px;height:30px}
.summary-date{position:relative;z-index:2;display:flex;align-items:center;gap:14px;min-width:285px;padding-left:28px;border-left:1px solid #d9e3f1}.summary-date>span{font-size:29px;color:#5476ac}.summary-date p{margin:0!important;text-align:left!important}.summary-date strong,.summary-date small{display:block}.summary-date strong{font-size:10px;letter-spacing:.35px;color:#1f365b}.summary-date small{margin-top:5px;color:#6a7c96;font-size:10px;font-weight:500;letter-spacing:0;text-transform:none}
.summary-restored .dashboard-primary-metrics{gap:16px;margin:18px 0}.summary-restored .dashboard-shortcut{min-height:185px;padding:18px;border-radius:15px;border-top-width:3px!important;background:#fff;box-shadow:0 10px 25px rgba(29,54,89,.08)}.summary-restored .dashboard-shortcut::after{position:absolute;display:grid!important;place-items:center;right:18px;top:18px;width:39px;height:39px;border-radius:10px;font:900 18px Manrope}.summary-restored .shortcut-access::after{content:"↗";background:#e7f7f0;color:#169469}.summary-restored .shortcut-finance::after{content:"▥";background:#fff2d9;color:#ea9200}.summary-restored .shortcut-agenda::after{content:"▣";background:#eaf0ff;color:#2d61df}.summary-restored .shortcut-attention::after{content:"△";background:#ffebe7;color:#ef4e2c}.summary-restored .dashboard-shortcut>strong{font-size:35px;margin-top:14px}.summary-restored .dashboard-shortcut>p{margin-bottom:28px;font-size:11px}.summary-restored .dashboard-shortcut>em{font-size:11px}
.summary-restored .dashboard-command-grid{gap:16px}.summary-restored .dashboard-command-grid>.panel,.summary-restored .dashboard-side-stack>.panel{border-radius:15px;border-color:#dce4ef;box-shadow:0 9px 23px rgba(29,54,89,.07)}.summary-restored .dashboard-side-stack{display:block}.summary-restored .dashboard-side-stack>.panel{height:100%}
.theme-dark .topbar{background:rgba(27,33,43,.97);border-color:#3d4859}.theme-dark .topbar-context h1,.theme-dark .topbar-context .breadcrumbs strong{color:#f6f8fc}.theme-dark .topbar-context .breadcrumbs{color:#a9b5c5}.theme-dark .active-residential-badge,.theme-dark .header-profile-popover{background:#252d39;border-color:#465369;color:#f5f7fb}.theme-dark .active-residential-badge strong,.theme-dark .header-profile-button{color:#f5f7fb}.theme-dark .active-residential-badge small,.theme-dark .header-profile-button small{color:#aeb9c8}.theme-dark .header-profile{border-color:#424e60}.theme-dark .header-profile-popover button{color:#e5ebf3}.theme-dark .header-profile-popover button:hover{background:#303a49}.theme-dark .summary-greeting{background:linear-gradient(105deg,#242e40,#202937);border-color:#3e4d64}.theme-dark .summary-greeting h1,.theme-dark .summary-date strong{color:#f4f7fb}.theme-dark .summary-weather{background:#2c3748;border-color:#46566d}.theme-dark .summary-date{border-color:#46546a}.theme-dark .summary-date small{color:#b7c2d0}.theme-dark .summary-skyline{opacity:.13}.theme-dark .summary-restored .dashboard-shortcut{background:#252d39}
@media(max-width:1450px){:root{--guard-sidebar-width:272px}.topbar{grid-template-columns:minmax(190px,1fr) minmax(235px,280px) auto;padding:0 20px}.header-profile-button{min-width:145px}.header-profile-button strong{max-width:88px}.summary-skyline{display:none}.summary-date{min-width:250px}.summary-restored .dashboard-shortcut{min-height:170px}}
@media(max-width:1180px){.topbar-context .breadcrumbs{display:none!important}.topbar-context h1{margin:0}.header-profile-button>span:nth-child(2),.header-profile-button>i{display:none}.header-profile-button{min-width:46px}.header-profile{padding-left:10px}.summary-greeting{min-height:105px}.summary-date{min-width:230px}.summary-restored .dashboard-primary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1023px){:root{--guard-topbar-height:72px}.topbar{grid-template-columns:44px minmax(120px,1fr) minmax(180px,245px) auto}.topbar-context h1{font-size:22px}body.sidebar-collapsed{--guard-sidebar-width:0px}.sidebar-collapse{display:none}.summary-greeting{margin-top:0}.summary-date{min-width:210px;padding-left:16px}.summary-weather{width:50px;height:50px;flex-basis:50px}.summary-greeting h1{font-size:25px}}
@media(max-width:767px){.topbar{grid-template-columns:44px minmax(72px,1fr) minmax(128px,160px) 40px;height:66px;min-height:66px;padding:0 10px}.topbar-context h1{font-size:19px}.active-residential-badge{min-height:44px;padding:4px 7px;grid-template-columns:34px minmax(0,1fr);gap:7px}.active-residential-badge>span{width:34px;height:34px}.active-residential-badge>i,.active-residential-badge small{display:none}.active-residential-badge strong{font-size:9px}.top-actions{grid-column:4;width:40px}.top-actions .header-profile{display:block;margin:0;padding:0;border:0}.header-profile-button{min-width:40px;padding:0}.header-profile-button .avatar{width:38px;height:38px}.summary-greeting{align-items:flex-start;flex-direction:column;gap:14px;padding:17px}.summary-greeting-copy{gap:12px}.summary-greeting h1{font-size:22px}.summary-date{min-width:0;width:100%;padding:12px 0 0;border-left:0;border-top:1px solid #d9e3f1}.summary-date>span{font-size:23px}.summary-date strong{font-size:9px}.summary-restored .dashboard-primary-metrics{grid-template-columns:1fr}.summary-restored .dashboard-shortcut{min-height:158px}}
@media(max-width:359px){.topbar{grid-template-columns:44px minmax(0,1fr) minmax(118px,140px) 38px}.topbar-context h1{font-size:0}.topbar-context h1:after{content:"Inicio";font-size:16px}.header-profile-button{min-width:38px}.header-profile-button .avatar{width:36px;height:36px}}

/* Guard-IA 2.3.145: experiencia ejecutiva de la App del residente. */
#residentApp>.resident-preview-heading{display:none}
#residentApp{padding-top:20px}
#residentApp .resident-preview-layout{display:grid;grid-template-columns:minmax(210px,260px) minmax(390px,470px) minmax(330px,1fr);gap:28px;align-items:center;max-width:1500px;margin:0 auto}
.resident-intro-panel{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:25px 4px;color:#172746}
.resident-intro-panel>div>p{margin:0 0 18px;font-size:27px;line-height:1.08;font-weight:850;letter-spacing:-.8px}.resident-intro-panel>div>p strong{display:block;color:#2563df}.resident-intro-panel>div>span{display:block;color:#5d6f8c;font-size:13px;line-height:1.7}
.resident-intro-panel ul{display:grid;gap:16px;margin:28px 0;padding:0;list-style:none}.resident-intro-panel li{display:flex;align-items:center;gap:13px}.resident-intro-panel li>b{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:50%;background:#e8f0ff;color:#2864dc;font-size:18px}.resident-intro-panel li:nth-child(2)>b{color:#1769e8}.resident-intro-panel li:nth-child(3)>b{color:#5069d9}.resident-intro-panel li:nth-child(4)>b{background:#ffe8ec;color:#e74057}.resident-intro-panel li p{margin:0}.resident-intro-panel li strong,.resident-intro-panel li small{display:block}.resident-intro-panel li strong{font-size:12px}.resident-intro-panel li small{margin-top:3px;color:#718099;font-size:10px}
.resident-intro-panel footer{margin-top:auto;padding-top:25px;color:#355071}.resident-intro-panel footer strong,.resident-intro-panel footer span,.resident-intro-panel footer small{display:block}.resident-intro-panel footer strong{font-size:12px}.resident-intro-panel footer span{margin:3px 0 15px;font-size:10px}.resident-intro-panel footer small{padding-top:12px;border-top:3px solid #2670e8;font-size:9px}
#residentApp .phone-stage{min-height:0;padding:0;border:0;background:transparent}
#residentApp .resident-phone{width:min(100%,430px);height:790px;border-width:8px;border-radius:48px;box-shadow:0 32px 75px rgba(11,26,51,.3)}
#residentApp .resident-phone-head{height:119px;padding:40px 20px 17px;background:radial-gradient(circle at 78% 0,#3564f1 0,transparent 36%),linear-gradient(135deg,#123dc7,#2049d7 62%,#1433a9)}
#residentApp .resident-phone-body{height:calc(100% - 187px);padding:14px 15px 88px}
#residentApp .mobile-create-access{margin:0 0 10px;padding:12px;border-radius:16px;background:linear-gradient(135deg,#3476f1,#3153e7)}
.resident-home-snapshot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 14px}.resident-home-snapshot button{min-width:0;min-height:52px;padding:7px;border:1px solid #dce4f1;border-radius:11px;background:#fff;color:#172642;display:flex;align-items:center;gap:6px;text-align:left;cursor:pointer}.resident-home-snapshot button>span{width:25px;height:25px;display:grid;place-items:center;flex:0 0 25px;border-radius:8px;background:#e9f1ff;color:#2261dd;font-size:12px}.resident-home-snapshot button:nth-child(2)>span{background:#e2f7ed;color:#139267}.resident-home-snapshot p{min-width:0;margin:0}.resident-home-snapshot strong,.resident-home-snapshot small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resident-home-snapshot strong{font-size:8px!important}.resident-home-snapshot small{font-size:7px!important;color:#75849b}
#residentApp .quick-access-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:8px}#residentApp .quick-access-heading small{max-width:170px;text-align:right}
#residentApp .quick-access-strip{margin-bottom:14px}
.resident-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.resident-payment-summary,.resident-service-grid .resident-notice-summary{min-width:0;margin:0;padding:10px;border:1px solid #dce4ef;border-radius:13px;background:#fff}.resident-payment-summary{color:#172642;text-align:left;cursor:pointer}.resident-payment-summary>span{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#e9f0ff;color:#2460da}.resident-payment-summary p{margin:7px 0}.resident-payment-summary strong,.resident-payment-summary small,.resident-payment-summary b{display:block}.resident-payment-summary strong{font-size:9px!important}.resident-payment-summary small{font-size:7px!important;color:#718099}.resident-payment-summary b{color:#2460da;font-size:7px}.resident-service-grid .resident-mobile-title{margin-bottom:5px}.resident-service-grid .resident-mobile-title small,.resident-service-grid .resident-mobile-title button{display:none}.resident-service-grid .resident-notice-card{min-height:76px;padding:7px;grid-template-columns:29px minmax(0,1fr) 10px;border:0;border-radius:9px;background:#f8faff;box-shadow:none}.resident-service-grid .resident-notice-card>span{width:29px;height:29px;border-radius:8px;font-size:13px}.resident-service-grid .resident-notice-card strong{font-size:8px!important}.resident-service-grid .resident-notice-card small{font-size:7px!important}.resident-service-grid .resident-notice-card>b{font-size:13px}
#residentApp .resident-flow-panel{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:30px;border-radius:19px;box-shadow:0 16px 38px rgba(25,55,96,.09)}#residentApp .resident-flow-panel h2{max-width:420px;font-size:27px;color:#132441}#residentApp .resident-flow-panel>p{max-width:450px;font-size:12px}#residentApp .resident-flow-panel ol{margin:20px 0}#residentApp .resident-flow-panel li{padding:15px 0}#residentApp .resident-flow-panel li>b{border-radius:50%;font-size:14px}#residentApp .resident-flow-panel li strong{font-size:12px}#residentApp .resident-flow-panel li small{margin-top:4px;font-size:10px}#residentApp .resident-flow-panel>button{min-height:50px;background:linear-gradient(135deg,#2874ee,#2457d7);border:0;color:#fff;font-size:11px}
.resident-community-alert{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,rgba(6,99,70,.82),rgba(32,171,119,.68));backdrop-filter:blur(9px) saturate(115%);opacity:0;transition:opacity .2s}.resident-community-alert.open{opacity:1}.resident-community-alert article{position:relative;width:min(440px,100%);padding:34px 28px 27px;border:1px solid rgba(255,255,255,.8);border-radius:25px;background:linear-gradient(180deg,rgba(247,255,251,.98),rgba(229,250,239,.98));color:#0c513d;text-align:center;box-shadow:0 32px 85px rgba(4,55,39,.42);transform:translateY(14px) scale(.97);transition:transform .22s}.resident-community-alert.open article{transform:none}.resident-alert-close{position:absolute;right:14px;top:14px;width:36px;height:36px;border:0;border-radius:50%;background:#dff5e9;color:#116e50;font-size:20px;cursor:pointer}.resident-alert-icon{width:68px;height:68px;margin:0 auto 18px;display:grid;place-items:center;border-radius:50%;background:#18a873;color:#fff;font-size:30px;box-shadow:0 0 0 10px rgba(24,168,115,.12)}.resident-community-alert article>small{display:block;color:#17845f;font-size:9px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase}.resident-community-alert h2{margin:7px 0 10px;color:#0b513c;font-size:27px}.resident-community-alert p{margin:0;color:#3d685a;font-size:12px;line-height:1.65}.resident-community-alert time{display:block;margin-top:13px;color:#688679;font-size:10px}.resident-alert-confirm{width:100%;min-height:48px;margin-top:22px;border:0;border-radius:13px;background:linear-gradient(135deg,#18a873,#087b57);color:#fff;font-weight:850;cursor:pointer;box-shadow:0 10px 24px rgba(10,122,86,.25)}
.theme-dark .resident-intro-panel,.theme-dark #residentApp .resident-flow-panel h2{color:#f4f7fb}.theme-dark .resident-intro-panel>div>span,.theme-dark .resident-intro-panel li small{color:#b5c0cf}.theme-dark .resident-home-snapshot button,.theme-dark .resident-payment-summary,.theme-dark .resident-service-grid .resident-notice-summary{background:#252d39;border-color:#465369;color:#f5f7fb}.theme-dark .resident-service-grid .resident-notice-card{background:#2d3745;color:#f5f7fb}
@media(max-width:1320px){#residentApp .resident-preview-layout{grid-template-columns:minmax(390px,450px) minmax(310px,1fr);max-width:980px}.resident-intro-panel{display:none}}
@media(max-width:900px){#residentApp{padding-top:16px}#residentApp .resident-preview-layout{display:block}.resident-intro-panel,#residentApp .resident-flow-panel{display:none}#residentApp .resident-phone{width:min(100%,430px);height:calc(100vh - 120px);min-height:660px;margin:auto}}
@media(max-width:767px){#residentApp{padding:0}#residentApp .resident-phone{width:100%;height:100dvh;min-height:0;border:0;border-radius:0;box-shadow:none}.resident-community-alert{padding:15px}.resident-community-alert article{padding:30px 20px 23px}.resident-community-alert h2{font-size:23px}}


/* 2.3.147 · Confirmación de acceso para residentes */
.access-created-overlay{background:rgba(10,24,48,.58);backdrop-filter:blur(9px)}
.access-created-modal{width:min(840px,calc(100vw - 32px))!important;border:1px solid #dce5f1;border-radius:24px;box-shadow:0 34px 100px rgba(7,24,54,.32)}
.access-created-modal>header{padding:17px 28px 12px!important;border-bottom:0}
.access-created-modal>header small{display:none}.access-created-modal>header h2{font-size:34px!important;letter-spacing:-1.1px;color:#0f2055;margin:0}.access-created-modal .modal-close{width:46px;height:46px;background:#eff3f8;color:#61708a;font-size:25px}
.access-created-modal form{padding:0 30px 25px}.access-created-card{--access-blue:#075cf2;--access-navy:#0c1d55;--access-green:#08a96b;color:var(--access-navy)}
.access-created-brand{display:flex;align-items:center;gap:10px;margin-top:-51px;margin-bottom:55px;width:max-content;max-width:calc(100% - 70px);position:relative;z-index:2}.access-created-brand img{width:35px;height:35px;object-fit:contain}.access-created-brand strong{font-size:16px}.access-created-brand>span{position:absolute;left:0;top:62px;width:460px;max-width:70vw;color:#66748e;font-size:15px;font-weight:500}
.access-created-card .pass-summary{position:relative;overflow:hidden;min-height:92px;padding:16px 120px 16px 18px;border:1px solid #aee9cf;border-radius:16px;background:linear-gradient(100deg,#f0fff9,#effcf7);gap:20px}.access-created-card .pass-summary:after{content:"";position:absolute;right:10px;top:-42px;width:160px;height:160px;border-radius:50%;border:22px solid rgba(49,205,151,.08)}.access-created-card .success-ring{width:60px;height:60px;font-size:31px;background:var(--access-green);box-shadow:0 0 0 11px rgba(8,169,107,.1)}.access-created-card .pass-summary small{font-size:10px;color:#08945f}.access-created-card .pass-summary h3{font-size:24px;letter-spacing:-.4px}.access-created-card .pass-summary p{font-size:11px}.access-created-card .pass-summary.cancelled{border-color:#f2c6cb;background:#fff3f4}.access-created-card .pass-summary.cancelled .success-ring{background:#cf4550;box-shadow:0 0 0 11px rgba(207,69,80,.1)}.access-created-card .pass-summary.cancelled small{color:#b8323d}.pass-shield{position:absolute;right:38px;top:15px;width:58px;height:65px;display:grid;place-items:center;clip-path:polygon(50% 0,91% 17%,85% 72%,50% 100%,15% 72%,9% 17%);background:linear-gradient(150deg,#9cebcf,#dffff4);color:#fff;font-size:31px;z-index:1}
.access-created-card .pass-credentials{gap:16px;margin:16px 0}.access-created-card .qr-credential,.access-created-card .access-nip{min-height:270px;padding:14px 18px;border:1px solid #cfddf1;border-radius:16px;background:linear-gradient(145deg,#fbfdff,#f4f8ff);justify-content:flex-start}.credential-heading{width:100%;display:flex;align-items:center;gap:11px;text-align:left;margin-bottom:10px}.credential-heading>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#e8f1ff;color:var(--access-blue);font-size:22px;font-weight:900}.credential-heading p{margin:0}.credential-heading strong,.credential-heading small{display:block}.credential-heading strong{font-size:13px}.credential-heading small{font-size:9px;color:#697791;margin-top:2px}.access-created-card .real-access-qr{width:150px;height:150px;margin:0 auto 6px;padding:7px}.access-created-card .qr-guardia-logo{width:34px;height:34px;padding:1px;border:4px solid #fff;background:#fff}.credential-code{display:flex;align-items:center;justify-content:center;gap:10px;min-height:30px!important;border:0;border-radius:15px;background:#e7efff;color:var(--access-navy);padding:5px 14px;cursor:pointer}.credential-code strong{font-size:11px;letter-spacing:.8px}.credential-code span{color:var(--access-blue)}
.access-created-card .access-nip{align-items:center}.access-created-card .access-nip .credential-heading{margin-bottom:26px}.access-created-card .access-nip>b{width:100%;margin:0 0 14px;padding:15px 10px;border:1px solid #bad0fb;border-radius:13px;background:#edf3ff;text-align:center;font-size:32px;line-height:1;letter-spacing:10px}.access-created-card .copy-nip-button{width:78%;min-height:47px;margin:0 0 12px;border-radius:12px;background:linear-gradient(135deg,#0b66fb,#0756e8);font-size:11px;box-shadow:0 9px 20px rgba(7,92,242,.2)}.access-created-card .access-nip>strong{margin-top:auto;padding:6px 18px;background:#e6efff;color:#075cf2;font-size:9px}.access-created-card .access-nip.protected>b{color:#8a95a8}.access-created-card .access-nip.protected>em{color:#6f7b90;font-size:9px;text-align:center;max-width:240px}
.access-created-card .pass-meta{gap:10px;margin:0 0 13px}.access-created-card .pass-meta>div{min-height:82px;padding:12px;display:flex;align-items:center;gap:10px;border-color:#d4dfef;border-radius:13px;background:#fbfcfe}.access-created-card .pass-meta i{width:39px;height:39px;display:grid;place-items:center;flex:none;border-radius:11px;background:#e9f1ff;color:#075cf2;font-size:21px;font-style:normal;font-weight:900}.access-created-card .pass-meta p{min-width:0;margin:0}.access-created-card .pass-meta small{font-size:9px;text-transform:none}.access-created-card .pass-meta strong{font-size:10px}.access-created-card .pass-meta span{font-size:8px}
.access-created-card .share-actions{grid-template-columns:1.25fr 1fr 1fr;gap:9px}.access-created-card .share-actions button{min-height:48px;border:1px solid #075cf2;border-radius:11px;background:#fff;color:#075cf2;font-size:10px;display:flex;align-items:center;justify-content:center;gap:8px}.access-created-card .share-actions button span{font-size:17px}.access-created-card .share-actions button[data-share="WhatsApp"]{background:#08a95c;border-color:#08a95c;color:#fff}.access-share-note{display:flex;align-items:center;gap:9px;margin:12px 0 0;padding:10px 14px;border-radius:11px;background:#eef5ff;color:#61708a;font-size:8px}.access-share-note span{width:19px;height:19px;display:grid;place-items:center;flex:none;border:2px solid #075cf2;border-radius:50%;color:#075cf2;font-size:11px;font-weight:900}.access-created-modal footer{margin-top:14px;padding-top:14px}.access-created-modal footer .primary{min-width:110px}
.theme-dark .access-created-modal,.theme-dark .access-created-modal form,.theme-dark .access-created-modal>header{background:#f8faff;color:#0c1d55}.theme-dark .access-created-modal>header h2{color:#0f2055}.theme-dark .access-created-modal footer{background:#f8faff}.theme-dark .access-created-modal .secondary{background:#fff;color:#34415b;border-color:#cfdaea}
@media(max-width:700px){.access-created-modal>header{padding:15px 18px 8px!important}.access-created-modal>header h2{font-size:26px!important}.access-created-modal form{padding:0 16px 18px}.access-created-brand{margin-top:-42px;margin-bottom:50px}.access-created-brand img{width:30px;height:30px}.access-created-brand>span{top:52px;width:290px;font-size:11px}.access-created-card .pass-summary{padding:14px 70px 14px 14px}.access-created-card .success-ring{width:48px;height:48px;font-size:25px}.access-created-card .pass-summary h3{font-size:18px}.pass-shield{right:16px;top:20px;width:44px;height:50px;font-size:24px}.access-created-card .pass-credentials,.access-created-card .pass-meta,.access-created-card .share-actions{grid-template-columns:1fr}.access-created-card .qr-credential,.access-created-card .access-nip{min-height:250px}.access-created-card .share-actions button{min-height:50px}.access-created-modal footer{grid-template-columns:1fr 1fr!important}}


/* 2.3.148 · App del guardia */
#guardApp>.resident-preview-heading{display:none}
#guardApp .guard-preview-layout{grid-template-columns:minmax(225px,270px) minmax(390px,470px) minmax(350px,1fr);gap:28px;align-items:center;max-width:1500px;margin:0 auto}
.guard-intro-panel{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:28px 4px;color:#172746}.guard-kicker{display:block;color:#647798;font-size:10px;font-weight:900;letter-spacing:3px}.guard-intro-panel h2{margin:13px 0 12px;font-size:39px;line-height:1.08;letter-spacing:-1.3px}.guard-intro-panel h2 strong{color:#2870e7}.guard-intro-panel>div>p{margin:0;color:#5e6f8a;font-size:14px;line-height:1.55}.guard-intro-panel ul{display:grid;gap:15px;margin:27px 0;padding:0;list-style:none}.guard-intro-panel li{display:flex;align-items:center;gap:13px}.guard-intro-panel li>b{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border-radius:13px;background:#e9f2ff;color:#176cf0;font-size:21px}.guard-intro-panel li p{margin:0}.guard-intro-panel li strong,.guard-intro-panel li small{display:block}.guard-intro-panel li strong{font-size:12px}.guard-intro-panel li small{margin-top:3px;color:#6c7d98;font-size:10px;line-height:1.45}.guard-intro-panel footer{margin-top:auto;padding:18px 0 0 73px;color:#607391;font-size:9px;position:relative}.guard-intro-panel footer:before{content:"";position:absolute;left:3px;bottom:0;width:58px;height:46px;background:linear-gradient(145deg,#dcecff,#bad4ef);clip-path:polygon(15% 55%,35% 33%,55% 50%,70% 19%,100% 45%,100% 100%,0 100%)}.guard-intro-panel footer strong,.guard-intro-panel footer span{display:block}
#guardApp .guard-stage{min-height:0;padding:0;border:0;background:transparent}#guardApp .guard-phone{width:min(100%,430px);height:790px;border-width:8px;border-radius:48px;box-shadow:0 32px 75px rgba(11,26,51,.3)}#guardApp .guard-phone-head{height:119px;padding:40px 20px 17px;background:radial-gradient(circle at 80% 0,#0e617b 0,transparent 38%),linear-gradient(135deg,#073047,#0b5264 65%,#073342)}
#guardApp .guard-phone-body{height:calc(100% - 187px)!important;padding:10px 13px 83px!important;background:#f6f9fc!important}.guard-validation-intro{padding:9px 10px;border-radius:12px;background:#fff}.guard-validation-intro>span{width:37px;height:37px;border-radius:10px;background:#0c6076;color:#fff}.guard-validation-intro p small{display:none}.guard-validation-intro p strong{font-size:11px}.guard-validation-intro p em{font-size:7px}.guard-nip-label{margin-top:7px!important;color:#1664d8!important}.guard-pin-entry input{min-height:45px;border-color:#bcd1f5;font-size:16px;letter-spacing:5px}.guard-pin-entry button{min-width:112px;background:linear-gradient(135deg,#1d73f2,#075beb);font-size:8px}.guard-scan-qr{min-height:40px!important;margin-top:7px!important;border:1px solid #176bf0!important;background:#fff!important;color:#176bf0!important}.guard-mobile-result{display:grid;grid-template-columns:38px 1fr;column-gap:11px;align-items:center;min-height:62px;margin:9px 0;padding:9px 11px;text-align:left}.guard-mobile-result .guard-result-icon{grid-row:1/4;width:38px;height:38px;margin:0}.guard-mobile-result>small{margin:0}.guard-mobile-result h2{font-size:11px;margin:1px 0}.guard-mobile-result>p{font-size:7px}.guard-mobile-result.idle{background:#ecfbf4;border-color:#c8eedc;color:#177553}.guard-mobile-result.idle .guard-result-icon{background:#12a76f;color:#fff}.guard-mobile-result.idle .guard-result-icon:before{content:"✓";font-size:20px}.guard-mobile-result.idle .guard-result-icon{font-size:0}.guard-mobile-data,.guard-confirm-mobile{grid-column:1/-1}.guard-recent-title{margin:8px 0 5px}.guard-recent-title strong{font-size:10px}.guard-mobile-recent{gap:4px}.guard-mobile-recent>div{min-height:43px;padding:5px 7px}.guard-mobile-recent>div>span{font-size:14px}.guard-mobile-recent>div button{border:0;border-radius:9px;background:#e6f7ee;color:#14825e;padding:5px 8px;font-size:7px;font-weight:800}.guard-mobile-activity{display:grid;gap:4px}.guard-mobile-activity>div{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:7px;min-height:42px;padding:5px 7px;border:1px solid #e0e6ed;border-radius:10px;background:#fff}.guard-mobile-activity>div>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-weight:900}.guard-mobile-activity>div>span.entry{background:#dcf7eb;color:#139467}.guard-mobile-activity>div>span.exit{background:#ffe7e7;color:#e53e45}.guard-mobile-activity p{margin:0}.guard-mobile-activity strong,.guard-mobile-activity small{display:block}.guard-mobile-activity strong{font-size:8px}.guard-mobile-activity small,.guard-mobile-activity time{font-size:6px;color:#718097}.guard-activity-title{margin-top:9px}
#guardApp .resident-flow-panel{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:30px;border-radius:20px;box-shadow:0 16px 38px rgba(25,55,96,.09)}#guardApp .resident-flow-panel h2{max-width:470px;font-size:27px;color:#132441}#guardApp .resident-flow-panel>p{max-width:520px;font-size:12px}#guardApp .resident-flow-panel ol{margin:20px 0}#guardApp .resident-flow-panel li{padding:13px 0}#guardApp .resident-flow-panel li>b{border-radius:50%;font-size:14px}#guardApp .resident-flow-panel li strong{font-size:12px}#guardApp .resident-flow-panel li small{font-size:10px}#guardApp .resident-flow-panel>button{min-height:50px;background:linear-gradient(135deg,#2874ee,#075bea);border:0;color:#fff;font-size:11px}.guard-flow-footer{display:grid;grid-template-columns:42px 1fr minmax(100px,145px);align-items:center;gap:10px;margin-top:17px;padding:12px 14px;border-radius:12px;background:#eef5ff;color:#315077}.guard-flow-footer img{width:38px;height:38px;object-fit:contain}.guard-flow-footer p{margin:0}.guard-flow-footer strong,.guard-flow-footer small{display:block}.guard-flow-footer strong{font-size:8px}.guard-flow-footer small,.guard-flow-footer>span{font-size:7px;line-height:1.45}.guard-flow-footer>span{padding-left:10px;border-left:1px solid #cad7e8}
.theme-dark .guard-intro-panel,.theme-dark #guardApp .resident-flow-panel h2{color:#f4f7fb}.theme-dark .guard-intro-panel>div>p,.theme-dark .guard-intro-panel li small{color:#b5c0cf}
@media(max-width:1320px){#guardApp .guard-preview-layout{grid-template-columns:minmax(390px,450px) minmax(330px,1fr);max-width:1000px}.guard-intro-panel{display:none}}
@media(max-width:900px){#guardApp{padding-top:16px}#guardApp .guard-preview-layout{display:block}.guard-intro-panel,#guardApp .resident-flow-panel{display:none}#guardApp .guard-phone{width:min(100%,430px);height:calc(100vh - 120px);min-height:660px;margin:auto}}
@media(max-width:767px){#guardApp{padding:0}#guardApp .guard-phone{width:100%;height:100dvh;min-height:0;border:0;border-radius:0;box-shadow:none}}

/* Cabecera móvil: conserva sus cuatro elementos dentro del ancho disponible. */
@media(max-width:767px){
  :root{--guard-sidebar-width:0px}
  .app-shell>main{margin-left:0;width:100%;max-width:100%}
  .topbar{grid-template-columns:44px minmax(0,1fr) minmax(105px,125px) 40px;gap:6px;width:100%;max-width:100%;overflow:visible}
  .topbar-context,.active-residential-badge,.top-actions{min-width:0}
  .active-residential-badge{width:100%;max-width:125px}
  .top-actions{grid-column:4;width:40px;min-width:40px}
  .header-profile,.header-profile-button{max-width:40px}
}
@media(max-width:390px){
  .topbar{grid-template-columns:42px minmax(0,1fr) minmax(96px,112px) 38px;gap:5px;padding-inline:8px}
  .topbar-context h1{font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .active-residential-badge{max-width:112px}
  .top-actions{width:38px;min-width:38px}
  .header-profile,.header-profile-button{max-width:38px;min-width:38px}
  .header-profile-button .avatar{width:36px;height:36px}
}


/* 2.3.150 · Identificación visual de viviendas con adeudo */
.home-card.debt{margin:4px 7px;padding-left:12px;padding-right:12px;border:1px solid #f1c6cb;border-radius:12px;background:linear-gradient(100deg,#fff1f2,#fff8f8);box-shadow:inset 4px 0 #e65d68,0 5px 14px rgba(184,48,60,.06)}
.home-card.debt .home-identity>span{background:#ffe0e3;color:#c83946}.home-card.debt .home-detail{border-color:#edb7bd;background:#fff7f8;color:#a92f3a}.home-card.debt>div:nth-child(4){color:#ae303c}
.modal.dossier-redesign.has-debt{--debt-soft:#fff3f4;--debt-line:#efc6ca;background:var(--debt-soft)}
.dossier-redesign.has-debt>header,.dossier-redesign.has-debt>form{background:linear-gradient(180deg,#fff1f2,#fff7f7 220px,#fffafa)}
.dossier-redesign.has-debt .dossier-tabs{border-bottom-color:var(--debt-line)}.dossier-redesign.has-debt .dossier-card,.dossier-redesign.has-debt .home-summary>div,.dossier-redesign.has-debt .home-state-controls .form-field{border-color:#ecd0d3;background:rgba(255,255,255,.82)}.dossier-redesign.has-debt .property-title-icon{background:#ffe0e3;color:#c83946}.dossier-redesign.has-debt .property-header-status:after{content:" · Con adeudo";color:#bc3441}.dossier-redesign.has-debt form>footer{background:#fff7f7;border-color:var(--debt-line)}
.theme-dark .home-card.debt{background:linear-gradient(100deg,#45272d,#32262a);border-color:#8b4650}.theme-dark .dossier-redesign.has-debt{--debt-soft:#302327;--debt-line:#71404a}.theme-dark .dossier-redesign.has-debt>header,.theme-dark .dossier-redesign.has-debt>form{background:linear-gradient(180deg,#3b282d,#30272a 220px,#29262a)}.theme-dark .dossier-redesign.has-debt .dossier-card,.theme-dark .dossier-redesign.has-debt .home-summary>div,.theme-dark .dossier-redesign.has-debt .home-state-controls .form-field{background:#352d31;border-color:#68424a}
@media(max-width:760px){.home-card.debt{margin:6px 0;padding:14px 11px}}

/* 2.3.152 · Avisos, notificaciones y amenidades */
.community-service-panel{margin-top:18px}.community-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}.community-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:16px;border:1px solid #d9e3f0;border-radius:16px;background:linear-gradient(145deg,#fff,#f7faff)}.community-card>span{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#e4f8ef;color:#0b9361;font-size:25px}.community-card h3,.community-card p{margin:3px 0}.community-card small{display:block;color:#6c7b91}.community-card.inactive{opacity:.62}.community-card button,.community-row button{min-height:36px;padding:7px 12px;border-radius:9px}.danger-link{border:1px solid #f1c6ca;background:#fff5f5;color:#c63d49;font-weight:800;cursor:pointer}.community-list{display:grid;gap:10px}.community-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #dce4ef;border-radius:13px;background:#fbfcfe}.community-row>div:first-child{min-width:0}.community-row strong,.community-row small{display:block}.community-row p{margin:4px 0;color:#53647e}.community-row>div:last-child{display:flex;gap:8px}.compact{min-height:34px!important;padding:6px 11px!important}.weekday-options{display:flex;flex-wrap:wrap;gap:8px}.weekday-options label{padding:8px;border:1px solid #dbe4ef;border-radius:9px;background:#f8faff}.form-field-wide{grid-column:1/-1}.form-field textarea{min-height:92px;padding:12px;border:1px solid #d7dfec;border-radius:10px;resize:vertical}.resident-amenity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 20px}.resident-amenity-grid>button{display:grid;grid-template-columns:42px 1fr;gap:3px 10px;align-items:center;padding:13px;border:1px solid #d8e5f5;border-radius:13px;background:#f7faff;color:#13264a;text-align:left;cursor:pointer}.resident-amenity-grid>button>span{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#dcf7eb;color:#0b9161;font-size:20px}.resident-amenity-grid strong,.resident-amenity-grid small{display:block}.resident-amenity-grid small{color:#718099}.icon-button b[hidden]{display:none}.theme-dark .community-card,.theme-dark .community-row,.theme-dark .weekday-options label,.theme-dark .resident-amenity-grid>button{background:#252e3b;border-color:#46546a;color:#f3f6fb}.theme-dark .community-card small,.theme-dark .community-row p,.theme-dark .community-row small,.theme-dark .resident-amenity-grid small{color:#b4c0d0}.theme-dark .form-field textarea{background:#202937;border-color:#46546a;color:#f5f7fb}.theme-dark .danger-link{background:#39262b;border-color:#78404a;color:#ff9ba5}
@media(max-width:700px){.community-card{grid-template-columns:45px 1fr}.community-card>button{grid-column:auto}.community-row{align-items:flex-start;flex-direction:column}.resident-amenity-grid{grid-template-columns:1fr}}

/* Integraciones conserva contraste y jerarquía en modo nocturno. */
.theme-dark #integrations .page-heading h1,.theme-dark #integrations .hik-provider-title h2,.theme-dark #integrations .hik-providers h2,.theme-dark #integrations .hik-camera-card h2,.theme-dark #integrations .hik-preview-card h2,.theme-dark #integrations .hik-connection-card h3{color:#f5f7fb}
.theme-dark #integrations .page-heading p,.theme-dark #integrations .hik-provider-title p,.theme-dark #integrations .hik-security-note,.theme-dark #integrations .hik-camera-card .panel-title p{color:#b7c2d2}
.theme-dark .hik-providers,.theme-dark .hik-hero-card,.theme-dark .hik-camera-card,.theme-dark .hik-preview-card{background:#242d3a;border-color:#46546a;box-shadow:0 14px 34px rgba(0,0,0,.18)}
.theme-dark .hik-providers button{background:#202936;color:#b9c5d6}.theme-dark .hik-providers button strong{color:#eef3fa}.theme-dark .hik-providers button.active{background:#293754;border-color:#5875d8;box-shadow:inset 3px 0 #6b8cff}.theme-dark .hik-providers button>span{background:#344052;color:#d8e1ef}
.theme-dark .hik-hero-card>header{border-bottom-color:#46546a}.theme-dark .hik-context-badge{background:#273554;border-color:#5870c6;color:#dbe5ff}.theme-dark .hik-status.not-configured{background:#344052;color:#d9e1ec}
.theme-dark .hik-credentials-card label span{color:#dce4ef}.theme-dark .hik-credentials-card input,.theme-dark .hik-credentials-card select,.theme-dark .hik-camera-row select,.theme-dark .hik-camera-card input{background:#1d2633;border-color:#506078;color:#f5f7fb}.theme-dark .hik-credentials-card input::placeholder,.theme-dark .hik-camera-card input::placeholder{color:#91a0b5}
.theme-dark .hik-actions button{background:#2a3443;border-color:#53627a;color:#aec2ff}.theme-dark .hik-actions button.primary{background:#4263e5;border-color:#4263e5;color:#fff}.theme-dark .hik-actions button:disabled{background:#252e3b;color:#77869c;border-color:#3d495c;opacity:1}
.theme-dark .hik-connection-card{background:#1f2835;border-color:#46546a;color:#edf2f8}.theme-dark .hik-connection-card dl div{border-bottom-color:#404c60}.theme-dark .hik-connection-card dt{color:#aab7ca}.theme-dark .hik-connection-card dd{color:#eef3fa}
.theme-dark .hik-camera-row{background:#202936;border-color:#46546a}.theme-dark .hik-camera-row strong{color:#f0f4f9}.theme-dark .hik-camera-row small,.theme-dark .hik-camera-row label>span,.theme-dark .hik-camera-list .empty{color:#aab7ca}.theme-dark .hik-preview-card header small{color:#92adff}

/* Login utilizable en tablet, móvil y orientación horizontal. */
.auth-screen{overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}.auth-layout{height:auto!important}.auth-entry{overflow:visible!important}.auth-card{flex:0 0 auto}
@media (max-width:1280px), (max-height:820px){
  .auth-layout{display:block!important;min-height:100dvh!important}.auth-story{display:none!important}.auth-entry{display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;min-height:calc(100dvh - 42px)!important;height:auto!important;padding:24px max(18px,env(safe-area-inset-right)) 34px max(18px,env(safe-area-inset-left))!important}.auth-mobile-brand{display:flex!important;position:static!important;justify-content:center;margin:0 0 12px!important}.auth-card{display:block;width:min(470px,100%)!important;margin:0 auto!important}.auth-card.hidden{display:none!important}.auth-footer{height:auto!important;min-height:42px;padding:12px!important}
}
@media (max-height:600px){.auth-entry{padding-top:10px!important;padding-bottom:22px!important}.auth-mobile-brand{margin-bottom:6px!important}.auth-mobile-brand img{width:42px!important;height:40px!important}.auth-logo{display:none!important}.auth-card{padding:18px 22px!important}.auth-card h1{font-size:21px!important}.auth-card>p:not(.eyebrow):not(.auth-error):not(.auth-secure-note){margin-bottom:10px!important}.auth-card label{margin:10px 0!important}.auth-secure-note{margin-top:10px!important}.auth-footer{display:none!important}}

/* Guard-IA 2.3.152: acceso institucional centrado y adaptable. */
.auth-screen{background:linear-gradient(105deg,rgba(248,251,255,.97),rgba(234,243,255,.9) 58%,rgba(230,240,252,.73)),url('/assets/resumen-caseta-v1.png') right center/58% 100% no-repeat}.auth-layout{width:100%;max-width:none;grid-template-columns:1fr;isolation:isolate}.auth-story{position:absolute;inset:0;min-height:100%;padding:0;display:block;pointer-events:none}.auth-story:after{content:"CONFIANZA\A TECNOLOGÍA\A PROTECCIÓN\A TRANQUILIDAD";white-space:pre;position:absolute;right:4.5vw;bottom:13vh;color:#7387a8;font-size:11px;font-weight:700;letter-spacing:1.5px;line-height:2.4;text-align:right;border-bottom:2px solid var(--auth-green);padding-bottom:10px}.auth-brand,.auth-benefits,.auth-priority{display:none}.auth-promise{position:absolute;left:clamp(48px,5vw,95px);top:50%;width:310px;transform:translateY(-50%)}.auth-promise>.eyebrow{display:none}.auth-promise h1{font-size:clamp(36px,3vw,55px);line-height:1.08;letter-spacing:-2px;color:#133f8c}.auth-promise h1:after{content:"";display:block;width:48px;height:3px;margin-top:24px;background:var(--auth-green)}.auth-promise>p:not(.eyebrow){margin-top:25px;color:#7083a1;font-size:18px;line-height:1.5}.auth-residential-scene{display:none}.auth-entry{position:relative;z-index:2;min-height:calc(100dvh - 54px);padding:45px 24px;display:grid;place-items:center}.auth-mobile-brand{display:none!important}.auth-card{width:min(510px,calc(100vw - 36px));padding:30px 42px 28px;border-radius:23px;background:rgba(255,255,255,.94);border-color:#d8e2ef;box-shadow:0 28px 80px rgba(25,54,95,.18)}.auth-logo{width:145px!important;height:140px!important;margin-bottom:5px!important;background:transparent!important;padding:0!important}.auth-card h1{font-size:34px;margin-top:0}.auth-card>p:not(.eyebrow):not(.auth-error):not(.auth-secure-note){font-size:13px;margin-bottom:24px}.auth-card label>span:first-child{font-size:12px}.auth-input{height:56px;background:#f7f9fc}.auth-card .auth-input input{font-size:15px}.auth-submit{min-height:58px;font-size:15px;background:linear-gradient(135deg,#1764ee,#1147cc)}.auth-options{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:-3px 0 12px}.auth-options label{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;color:#65758d}.auth-options input{width:18px;height:18px;accent-color:#245de2}.auth-options button{border:0;background:transparent;color:#1455d6;font:600 12px Manrope;cursor:pointer;padding:6px}.auth-tagline{position:absolute;z-index:1;right:4.5vw;top:35px;margin:0;color:#6f84a6;font-size:11px;font-weight:700;letter-spacing:4px;line-height:1.9;text-align:right}.auth-tagline:after{content:"";display:block;width:42px;height:2px;margin:15px 0 0 auto;background:var(--auth-green)}.auth-footer{position:relative;z-index:2;border:0;font-size:10px;background:transparent}
@media(max-width:1280px), (max-height:820px){.auth-screen{background:radial-gradient(circle at 50% 12%,#dfeaff 0,transparent 38%),linear-gradient(135deg,#fff,#eef4fc)}.auth-story,.auth-tagline{display:none}.auth-entry{min-height:calc(100dvh - 42px)!important;padding:24px max(18px,env(safe-area-inset-right)) 34px max(18px,env(safe-area-inset-left))!important}.auth-card{padding:26px 34px!important}.auth-logo{display:block!important;width:105px!important;height:101px!important}.auth-card h1{font-size:29px!important}}
@media(max-width:600px){.auth-card{padding:22px 20px!important}.auth-logo{width:82px!important;height:79px!important}.auth-card h1{font-size:25px!important}.auth-options{align-items:flex-start}.auth-options button{text-align:right;padding-top:2px}.auth-entry{justify-content:flex-start}.auth-screen .auth-card .auth-input input{font-size:16px!important}}
@media(max-height:600px){.auth-logo{display:none!important}.auth-card{padding:18px 22px!important}.auth-options{margin-bottom:5px}.auth-card h1{font-size:23px!important}}
.hik-operations-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:start}.hik-device-management .panel-title>.hik-actions{grid-column:auto}.hik-device-row{grid-template-columns:34px minmax(180px,1fr) auto auto}.hik-device-state{font-size:8px;font-weight:900;padding:7px 9px;border-radius:999px;background:#eef1f6;color:#556277}.hik-device-state.online,.hik-device-state.active{background:#e0f8eb;color:#07834c}.hik-device-state.offline,.hik-device-state.error,.hik-device-state.expired{background:#ffe9e9;color:#c72f3a}.hik-row-actions{display:flex;gap:6px}.hik-resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.hik-resource-group{border:1px solid #e2e7f0;border-radius:12px;padding:11px;min-width:0}.hik-resource-group>header{display:flex;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid #e6eaf2}.hik-resource-group>header strong{font-size:10px}.hik-resource-group>header span{font-size:9px;font-weight:900;color:#3155df}.hik-resource-group article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #eef1f6}.hik-resource-group article:last-child{border-bottom:0}.hik-resource-group article strong,.hik-resource-group article small{display:block;overflow:hidden;text-overflow:ellipsis}.hik-resource-group article strong{font-size:9px}.hik-resource-group article small{font-size:8px;color:#7a8497;margin-top:2px}.hik-modal-note{padding:10px 12px;border:1px solid #cfdcff;border-radius:10px;background:#f2f6ff;color:#425372;font-size:11px}.hik-device-admin-summary{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:12px;background:#edf3ff;color:#173a96;margin-bottom:14px}.hik-device-checks{border:1px solid #dce3ef;border-radius:12px;padding:12px;display:grid;gap:8px;margin:14px 0}.hik-device-checks legend{font-size:11px;font-weight:800;padding:0 6px}.hik-device-checks label{display:flex;gap:10px;align-items:center;border:1px solid #e3e8f1;border-radius:10px;padding:9px}.hik-device-checks input{width:18px;height:18px}.hik-device-checks strong,.hik-device-checks small{display:block;font-size:10px}.hik-device-checks small{color:#78859a;margin-top:2px}.theme-dark .hik-modal-note,.theme-dark .hik-device-admin-summary{background:#202d42;border-color:#4d6388;color:#e4ebf8}.theme-dark .hik-device-checks,.theme-dark .hik-device-checks label,.theme-dark .hik-resource-group{border-color:#46546a}.theme-dark .hik-device-checks small,.theme-dark .hik-resource-group article small{color:#aab7ca}.theme-dark .hik-resource-group>header,.theme-dark .hik-resource-group article{border-color:#38465b}.theme-dark .hik-resource-group strong{color:#f0f4f9}@media(max-width:1050px){.hik-operations-grid{grid-template-columns:1fr}.hik-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.hik-device-row{grid-template-columns:34px 1fr}.hik-device-state,.hik-row-actions{grid-column:2}.hik-row-actions{display:grid;grid-template-columns:1fr 1fr}.hik-resource-grid{grid-template-columns:1fr}}
/* Guard-IA Access Platform · manta financiera */
.financial-status-overlay{position:fixed;z-index:20000;inset:0;display:grid;place-items:center;padding:22px;background:linear-gradient(145deg,#053e31df,#0d765be8);backdrop-filter:blur(12px);opacity:0;transition:opacity .22s}.financial-status-overlay.open{opacity:1}.financial-status-overlay.morosa,.financial-status-overlay.suspendida{background:linear-gradient(145deg,#542126e8,#a23a3fe8)}.financial-status-overlay.pago_en_validacion{background:linear-gradient(145deg,#17335de8,#315fa7e8)}.financial-status-overlay section{position:relative;width:min(92vw,560px);padding:42px;text-align:center;border:1px solid #ffffff70;border-radius:28px;background:#fffffff2;box-shadow:0 30px 90px #001b164d;color:#102441;overflow:hidden}.financial-status-overlay img{width:68px;height:68px;object-fit:contain}.financial-status-overlay small{display:block;margin:12px 0 5px;letter-spacing:2px;font-weight:900;color:#16865e}.financial-status-overlay h2{margin:5px 0 10px;font-size:34px;text-transform:uppercase}.financial-status-overlay section>strong{display:block;font-size:40px;color:#bd2d3c}.financial-status-overlay p{font-size:16px;color:#566b83}.financial-status-overlay section>div{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}.financial-status-overlay button{min-height:48px;padding:12px 20px;border:1px solid #bcd0e3;border-radius:12px;background:#fff;color:#17406d;font-weight:800}.financial-status-overlay [data-financial-pay]{background:#126edb;color:#fff;border-color:#126edb}.financial-status-overlay .financial-close{position:absolute;right:15px;top:15px;width:42px;padding:0;font-size:25px}.financial-progress{position:absolute;left:0;bottom:0;height:6px;background:#27ae76;animation:financial-overlay-time 3.2s linear forwards}@keyframes financial-overlay-time{from{width:100%}to{width:0}}@media(max-width:600px){.financial-status-overlay section{padding:34px 20px}.financial-status-overlay h2{font-size:27px}.financial-status-overlay section>strong{font-size:32px}}
.hik-device-checks .hik-group-rule{grid-template-columns:auto minmax(130px,1fr) minmax(130px,.7fr)}
.hik-group-rule select{min-height:38px;border:1px solid #d8deea;border-radius:9px;background:#fff;padding:7px 9px;color:#28354b}
.theme-dark .hik-group-rule select{background:#1d2633;border-color:#506078;color:#f5f7fb}
@media(max-width:560px){.hik-device-checks .hik-group-rule{grid-template-columns:auto 1fr}.hik-group-rule select{grid-column:2}}
.visit-share-qr{display:block;width:190px;height:190px;margin:14px auto;padding:8px;border:1px solid #cfddf1;border-radius:16px;background:#fff}
.provisioning-preview,.provisioning-credentials{display:grid;gap:8px;max-height:52vh;overflow:auto;margin:14px 0;padding-right:4px}.provisioning-preview label,.provisioning-credentials p{display:flex;align-items:center;gap:12px;margin:0;padding:12px;border:1px solid #d9e3f1;border-radius:12px;background:#fff}.provisioning-preview label>span,.provisioning-credentials p>span{display:grid;gap:3px;flex:1}.provisioning-preview small,.provisioning-credentials small{color:#65758b}.provisioning-preview b{padding:5px 9px;border-radius:999px;background:#dcfce7;color:#087443;font-size:11px}.provisioning-preview .pending{background:#fff8ed}.provisioning-preview .pending b{background:#ffedd5;color:#a24c0b}.provisioning-credentials code{font-size:14px;font-weight:800;color:#123a8d}.copy-provisioning-credentials{width:100%}
.monitor-sync-status{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #bbf7d0;border-radius:999px;background:#f0fdf4;color:#087443;font-size:12px;font-weight:800;white-space:nowrap}.monitor-sync-status i{width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 4px #dcfce7}.monitor-sync-status.offline{border-color:#fecaca;background:#fff1f2;color:#b42318}.monitor-sync-status.offline i{background:#ef4444;box-shadow:0 0 0 4px #fee2e2}
.biometric-review-photo{display:block;width:min(100%,420px);max-height:48vh;object-fit:contain;margin:14px auto;border-radius:18px;border:1px solid #cbdaf0;background:#eef4fb}.theme-dark .biometric-review-photo{border-color:#41536c;background:#142235}.modal textarea{min-height:88px;resize:vertical}
.hik-team-tabs{display:flex;gap:7px;overflow-x:auto;padding:4px;background:#edf2fa;border:1px solid #dce4f1;border-radius:14px}.hik-team-tabs button{white-space:nowrap;border:0;background:transparent;color:#56647b;border-radius:10px;padding:10px 14px;font:800 10px Manrope}.hik-team-tabs button.active{background:#fff;color:#1f55dc;box-shadow:0 4px 12px rgba(30,65,140,.12)}.hik-people-table{margin-top:14px;overflow-x:auto}.hik-people-head,.hik-people-table>article{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr auto auto;gap:12px;align-items:center;min-width:900px;padding:11px;border-bottom:1px solid #e3e8f1}.hik-people-head{background:#f4f7fc;color:#69768a;font-size:8px;font-weight:900;text-transform:uppercase;border-radius:10px}.hik-people-table strong,.hik-people-table small{display:block;font-size:9px}.hik-people-table small{color:#758198;margin-top:3px}.hik-person-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 9px;background:#eef1f6;color:#59667a;font-size:8px;font-weight:900}.hik-person-status.synchronized,.hik-person-status.success,.hik-person-status.ok{background:#dcf8e8;color:#087e4b}.hik-person-status.error{background:#ffe5e6;color:#c52935}.hik-person-status.pending,.hik-person-status.not_synced,.hik-person-status.no_probado{background:#fff2d8;color:#9c6500}.hik-form-section{border:1px solid #dfe6f2;border-radius:13px;padding:13px;margin:12px 0}.hik-form-section h3{font-size:12px;color:#173c91;margin:0 0 12px}.hik-unlinked-section{margin-top:20px;border-top:1px solid #e4e9f2;padding-top:15px}.hik-unlinked-section h3{font-size:13px}.hik-unlinked-person,.hik-diagnostic-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e1e7f1;border-radius:11px;padding:11px;margin-top:8px}.hik-unlinked-person strong,.hik-unlinked-person small,.hik-diagnostic-list strong,.hik-diagnostic-list small{display:block;font-size:9px}.hik-unlinked-person small,.hik-diagnostic-list small{color:#728096;margin-top:3px}.hik-unlinked-person button{border:1px solid #b8c9f7;background:#f0f5ff;color:#2455cf;border-radius:9px;padding:8px;font:800 9px Manrope}.hik-sync-list{display:grid;gap:10px;margin-top:13px}.hik-sync-person{border:1px solid #dfe6f1;border-radius:12px;padding:12px}.hik-sync-person header{display:flex;justify-content:space-between;align-items:center}.hik-sync-person>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px}.hik-sync-person>div>span{border-left:3px solid #cbd5e5;background:#f7f9fc;border-radius:7px;padding:8px}.hik-sync-person>div>span.success{border-color:#19a664;background:#edfbf4}.hik-sync-person>div>span.error{border-color:#de3d49;background:#fff0f1}.hik-sync-person b,.hik-sync-person em,.hik-sync-person small{display:block;font-size:8px}.hik-sync-person em{font-style:normal;font-weight:900;margin:3px 0}.hik-person-detail{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hik-person-detail p{padding:10px;background:#f5f8fc;border-radius:9px;margin:0}.hik-person-detail strong,.hik-person-detail span{display:block;font-size:10px}.theme-dark .hik-team-tabs{background:#182234;border-color:#41516b}.theme-dark .hik-team-tabs button.active,.theme-dark .hik-people-head,.theme-dark .hik-sync-person>div>span,.theme-dark .hik-person-detail p{background:#253249;color:#f0f4fb}.theme-dark .hik-people-head,.theme-dark .hik-people-table>article,.theme-dark .hik-form-section,.theme-dark .hik-unlinked-section,.theme-dark .hik-unlinked-person,.theme-dark .hik-sync-person,.theme-dark .hik-diagnostic-list article{border-color:#44536a}@media(max-width:900px){.hik-sync-person>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.hik-sync-person>div,.hik-person-detail{grid-template-columns:1fr}}

/* Guard-IA 3.0.1 · Expediente de residentes */
.dossier-redesign .dossier-residents{overflow:hidden;border:1px solid #dbe5f2;border-radius:15px;background:#f8fbff;box-shadow:0 8px 24px rgba(27,63,116,.05)}
.dossier-redesign .dossier-residents>header{min-height:92px;margin:0;padding:18px 22px;background:#fff;border-bottom:1px solid #e1e9f3}
.dossier-residents-title{display:flex;align-items:center;gap:15px}.dossier-residents-title>span{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:#e7f1ff;color:#1766e8;font-size:28px}.dossier-residents-title p{margin:0}.dossier-residents-title strong{color:#102347;font-size:18px!important}.dossier-residents-title small{font-size:13px!important;margin-top:5px!important}
.dossier-redesign .dossier-residents>header>.secondary{min-width:184px;min-height:48px;border-color:#b9ccef;border-radius:10px;background:#fff;color:#1745ad;font-size:13px;font-weight:800}
.dossier-resident-columns{display:grid;grid-template-columns:minmax(260px,1.25fr) minmax(240px,1.2fr) minmax(185px,.75fr) minmax(280px,1fr);gap:18px;padding:14px 24px;background:#f1f6fc;color:#647796;font-size:10px;font-weight:900;letter-spacing:.7px}
.dossier-resident-list{display:grid;gap:12px;padding:12px;background:#f8fbff}.dossier-resident-card{display:grid;grid-template-columns:minmax(260px,1.25fr) minmax(240px,1.2fr) minmax(185px,.75fr) minmax(280px,1fr);gap:18px;align-items:center;padding:18px 20px;border:1px solid #e0e8f2;border-radius:13px;background:#fff;box-shadow:0 5px 15px rgba(31,65,115,.035)}
.dossier-resident-person{display:flex;align-items:center;gap:14px;min-width:0}.dossier-resident-person>.avatar{flex:0 0 54px;width:54px;height:54px;font-size:17px}.dossier-resident-person p{min-width:0;margin:0}.dossier-resident-person strong{display:block;color:#13284c;font-size:14px}.dossier-resident-person small{display:flex!important;align-items:center;gap:7px;margin-top:4px;color:#687894!important;font-size:11px!important;overflow-wrap:anywhere}.dossier-resident-person small i{width:14px;color:#526886;font-style:normal;text-align:center}
.dossier-resident-card .dossier-user-identity{padding:13px 15px;border-color:#c9d8f3;border-radius:10px;background:#f5f8ff}.dossier-resident-card .dossier-user-identity small,.dossier-resident-status>small{font-size:9px!important;letter-spacing:.7px}.dossier-resident-card .dossier-user-identity strong{font-size:15px;color:#1856cf}
.dossier-resident-status .status{display:inline-flex;margin-top:7px;padding:8px 12px;font-size:10px}.dossier-resident-status em{margin-top:6px!important;font-size:10px!important;color:#758197!important}
.dossier-resident-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dossier-resident-actions button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px;border-color:#8eb2f5;border-radius:10px;font-size:11px;background:#fff}.dossier-resident-actions button span{font-size:16px}.dossier-resident-actions button.danger-outline{background:#fff7f7;border-color:#efaab1;color:#d52639}
.theme-dark .dossier-redesign .dossier-residents,.theme-dark .dossier-resident-list{background:#202936;border-color:#40506a}.theme-dark .dossier-redesign .dossier-residents>header,.theme-dark .dossier-resident-card{background:#273140;border-color:#40506a}.theme-dark .dossier-resident-columns{background:#222c3a;color:#aab9cf}.theme-dark .dossier-residents-title strong,.theme-dark .dossier-resident-person strong{color:#f3f7fd}.theme-dark .dossier-resident-card .dossier-user-identity{background:#202c42;border-color:#485f89}.theme-dark .dossier-resident-actions button{background:#283444;border-color:#5574aa;color:#b7cbff}.theme-dark .dossier-resident-actions button.danger-outline{background:#3c292f;border-color:#884a56;color:#ff9fab}
@media(max-width:1050px){.dossier-resident-columns{display:none}.dossier-resident-card{grid-template-columns:minmax(0,1fr) minmax(210px,.8fr)}.dossier-resident-person{grid-row:1/3}.dossier-resident-status{grid-column:2}.dossier-resident-actions{grid-column:1/-1}}
@media(max-width:700px){.dossier-redesign .dossier-residents>header{align-items:stretch;flex-direction:column;padding:15px}.dossier-redesign .dossier-residents>header>.secondary{width:100%}.dossier-resident-list{padding:9px}.dossier-resident-card{display:flex;align-items:stretch;flex-direction:column;gap:12px;padding:15px}.dossier-resident-person{align-items:flex-start}.dossier-resident-card .dossier-user-identity,.dossier-resident-status{width:100%}.dossier-resident-actions{grid-template-columns:1fr}.dossier-resident-actions button{width:100%;font-size:12px}}

/* Guard-IA 3.0.1 · Activación independiente de Hik-Connect Teams */
.hik-provider-state{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.hik-provider-state>button{min-height:36px;padding:7px 11px;border:1px solid #efb2b8;border-radius:9px;background:#fff6f6;color:#bd2938;font-size:9px;font-weight:850}.hik-provider-state>button.enable{border-color:#aadcc5;background:#effbf5;color:#087b4a}.hik-status.disabled{background:#eef0f4;color:#657086}.theme-dark .hik-provider-state>button{background:#3d292f;border-color:#87505a;color:#ffa5af}.theme-dark .hik-provider-state>button.enable{background:#203a31;border-color:#417b65;color:#9be2c1}.theme-dark .hik-status.disabled{background:#343d4b;color:#c1cad7}@media(max-width:700px){.hik-provider-state{width:100%;justify-content:flex-start}.hik-provider-state>button{min-height:44px}}

/* Guard-IA 3.0.1 · selector horizontal de integraciones */
#integrations .hik-layout{grid-template-columns:minmax(0,1fr)}
#integrations .hik-providers{position:static;top:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:13px}
#integrations .hik-providers h2{grid-column:1/-1;margin:0 3px 2px}
#integrations .hik-providers button{min-width:0;min-height:64px;align-content:center}
#integrations .hik-providers button.active{box-shadow:inset 0 -3px #3155df}
.theme-dark #integrations .hik-providers button.active{box-shadow:inset 0 -3px #6b8cff}
@media(max-width:760px){#integrations .hik-providers{display:flex;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;padding:11px;scrollbar-width:thin}#integrations .hik-providers h2{display:none}#integrations .hik-providers button{flex:0 0 min(76vw,230px);scroll-snap-align:start}}

/* Guard-IA 3.0.1 · proveedor exclusivo por fraccionamiento */
#integrations .hik-providers button>span{grid-row:1/4}
#integrations .hik-providers button>em{grid-column:2;display:inline-flex;width:max-content;max-width:100%;margin-top:3px;padding:4px 7px;border-radius:999px;background:#eceff4;color:#707b8e;font-size:7px;font-style:normal;font-weight:900;letter-spacing:.25px;white-space:nowrap}
#integrations .hik-providers button>em.connected,#integrations .hik-providers button.provider-enabled>em{background:#d9f7e7;color:#067d48;box-shadow:0 0 0 3px rgba(20,177,102,.09)}
#integrations .hik-providers button.provider-enabled{border-color:#6cd0a0;background:#f1fcf6}
#integrations .hik-provider-state .hik-status.prominent{padding:10px 15px;border:1px solid currentColor;font-size:11px;letter-spacing:.4px;box-shadow:0 6px 16px rgba(16,139,81,.16)}
#integrations .hik-provider-state .hik-status.prominent.connected{position:relative;padding-left:30px;background:#d7f8e6;color:#067b47}
#integrations .hik-provider-state .hik-status.prominent.connected:before{content:"";position:absolute;left:13px;top:50%;width:9px;height:9px;border-radius:50%;background:#11a65f;box-shadow:0 0 0 5px rgba(17,166,95,.14);transform:translateY(-50%)}
.theme-dark #integrations .hik-providers button.provider-enabled{background:#1d3a31;border-color:#4e9a77}.theme-dark #integrations .hik-providers button>em.connected,.theme-dark #integrations .hik-providers button.provider-enabled>em{background:#234a3a;color:#9be8c0}
#integrations .hik-layout>.module-order-toolbar{margin:0}#integrations .hik-layout>.module-order-toolbar button:first-child{background:#fff;color:#2456d7;border-color:#b8caf4;box-shadow:0 5px 14px rgba(40,77,160,.08)}
.theme-dark #integrations .hik-layout>.module-order-toolbar button:first-child{background:#253249;color:#b9cbff;border-color:#526b9b}

/* Estado visual completo: DeviceGateway activo y conectado */
#integrations .hik-hero-card.gateway-connected-active{background:linear-gradient(135deg,#d9fbe8 0%,#bdf3d4 52%,#dff9ea 100%);border:2px solid #18a864;box-shadow:0 16px 38px rgba(12,139,77,.2),inset 0 0 0 1px rgba(255,255,255,.68)}
#integrations .hik-hero-card.gateway-connected-active>header{border-bottom-color:#83d8ad}
#integrations .hik-hero-card.gateway-connected-active .hik-provider-title h2,#integrations .hik-hero-card.gateway-connected-active .hik-provider-title p,#integrations .hik-hero-card.gateway-connected-active .hik-credentials-card label span,#integrations .hik-hero-card.gateway-connected-active .hik-security-note{color:#075f3b}
#integrations .hik-hero-card.gateway-connected-active .hik-connection-card{background:#effdf5;border-color:#77d6a5;box-shadow:inset 0 0 0 1px rgba(21,160,91,.08)}
#integrations .hik-hero-card.gateway-connected-active .hik-connection-card h3,#integrations .hik-hero-card.gateway-connected-active .hik-connection-card dt,#integrations .hik-hero-card.gateway-connected-active .hik-connection-card dd{color:#075735}
#integrations .hik-hero-card.gateway-connected-active .hik-connection-card dl div{border-bottom-color:#b6e9cd}
#integrations .hik-hero-card.gateway-connected-active .hik-credentials-card input{background:#fff;border-color:#76cfa1;color:#083f29}
#integrations .hik-hero-card.gateway-connected-active #hikGatewayToggleEnabled{background:#087b49;border-color:#087b49;color:#fff;box-shadow:0 7px 18px rgba(8,123,73,.23)}
.theme-dark #integrations .hik-hero-card.gateway-connected-active{background:linear-gradient(135deg,#123f31,#17573f 55%,#103c2e);border-color:#43d38c}.theme-dark #integrations .hik-hero-card.gateway-connected-active .hik-connection-card{background:#113528;border-color:#3b9c70}.theme-dark #integrations .hik-hero-card.gateway-connected-active .hik-provider-title h2,.theme-dark #integrations .hik-hero-card.gateway-connected-active .hik-provider-title p,.theme-dark #integrations .hik-hero-card.gateway-connected-active .hik-credentials-card label span,.theme-dark #integrations .hik-hero-card.gateway-connected-active .hik-security-note,.theme-dark #integrations .hik-hero-card.gateway-connected-active .hik-connection-card h3,.theme-dark #integrations .hik-hero-card.gateway-connected-active .hik-connection-card dt,.theme-dark #integrations .hik-hero-card.gateway-connected-active .hik-connection-card dd{color:#d9ffea}

/* Estado visual completo: credenciales Gateway rechazadas */
#integrations .hik-hero-card.gateway-connection-error{background:linear-gradient(135deg,#ffe3e5 0%,#ffc9cd 52%,#ffedef 100%);border:2px solid #dc3343;box-shadow:0 16px 38px rgba(190,35,53,.2),inset 0 0 0 1px rgba(255,255,255,.68)}
#integrations .hik-hero-card.gateway-connection-error>header{border-bottom-color:#e99aa2}
#integrations .hik-hero-card.gateway-connection-error .hik-provider-title h2,#integrations .hik-hero-card.gateway-connection-error .hik-provider-title p,#integrations .hik-hero-card.gateway-connection-error .hik-credentials-card label span,#integrations .hik-hero-card.gateway-connection-error .hik-security-note{color:#8e1724}
#integrations .hik-hero-card.gateway-connection-error .hik-connection-card{background:#fff5f5;border-color:#e99aa2}
#integrations .hik-hero-card.gateway-connection-error .hik-connection-card h3,#integrations .hik-hero-card.gateway-connection-error .hik-connection-card dt,#integrations .hik-hero-card.gateway-connection-error .hik-connection-card dd{color:#8e1724}
#integrations .hik-hero-card.gateway-connection-error .hik-connection-card dl div{border-bottom-color:#f0bec3}
#integrations .hik-hero-card.gateway-connection-error .hik-credentials-card input{background:#fff;border-color:#df7c86;color:#6f111c}
#integrations .hik-providers button.provider-error{border-color:#e05260;background:#fff0f1;box-shadow:inset 0 -3px #d93545}
#integrations .hik-providers button.provider-error>em,#integrations .hik-providers button>em.error{background:#ffe1e4;color:#bd2132;box-shadow:0 0 0 3px rgba(210,48,65,.08)}
.gateway-credential-warning{margin-bottom:15px;padding:16px;border:1px solid #ef9ca5;border-radius:13px;background:#fff0f1;color:#861825}.gateway-credential-warning strong{display:block;font-size:15px}.gateway-credential-warning p,.gateway-credential-warning li{font-size:12px;line-height:1.55}.gateway-credential-warning ul{margin:10px 0 0;padding-left:20px}
.theme-dark #integrations .hik-hero-card.gateway-connection-error{background:linear-gradient(135deg,#4b2027,#652832 55%,#461c23);border-color:#f06c79}.theme-dark #integrations .hik-hero-card.gateway-connection-error .hik-connection-card{background:#3b1e24;border-color:#9a4d57}.theme-dark #integrations .hik-hero-card.gateway-connection-error .hik-provider-title h2,.theme-dark #integrations .hik-hero-card.gateway-connection-error .hik-provider-title p,.theme-dark #integrations .hik-hero-card.gateway-connection-error .hik-credentials-card label span,.theme-dark #integrations .hik-hero-card.gateway-connection-error .hik-security-note,.theme-dark #integrations .hik-hero-card.gateway-connection-error .hik-connection-card h3,.theme-dark #integrations .hik-hero-card.gateway-connection-error .hik-connection-card dt,.theme-dark #integrations .hik-hero-card.gateway-connection-error .hik-connection-card dd{color:#ffe6e8}.theme-dark .gateway-credential-warning{background:#421e24;border-color:#9a4d57;color:#ffdce0}
/* Hikvision Lab usa los componentes visuales existentes de Guard-IA. */
.hikvision-lab-nav span{font-weight:900;background:linear-gradient(135deg,#1676ff,#20bf6b)!important;color:#fff}
.hikvision-lab-tabs{display:flex;gap:8px;overflow-x:auto;padding:5px;margin:0 0 18px;scrollbar-width:thin}
.hikvision-lab-tabs button{flex:0 0 auto;border:1px solid #cad8ec;background:#fff;color:#52637c;border-radius:12px;padding:11px 15px;font-weight:800;cursor:pointer}
.hikvision-lab-tabs button.active{background:#1769ed;border-color:#1769ed;color:#fff;box-shadow:0 8px 18px #1769ed2b}
.hikvision-lab-panel{display:none}.hikvision-lab-panel.active{display:block}
.hik-context-badge.enabled{background:#dff8eb;color:#078448;border-color:#9be1bd}
.hikvision-provider-grid,.hikvision-card-grid,.hikvision-diagnostic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.hikvision-provider,.hikvision-card-grid article,.hikvision-diagnostic-grid article{display:flex;align-items:center;gap:13px;border:1px solid #d9e3f1;border-radius:15px;padding:16px;background:#f8fbff}
.hikvision-provider>span,.hikvision-card-grid article>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e8f0ff;color:#1b61da;font-weight:900}
.hikvision-provider div,.hikvision-card-grid article div{display:grid;gap:3px}.hikvision-provider small,.hikvision-card-grid small{color:#697b94}
.hikvision-provider.healthy{background:#eafaf2;border-color:#9addbb}.hikvision-provider.healthy>span{background:#0da35a;color:#fff}
.hikvision-provider.warning,.hikvision-diagnostic-grid .warning{background:#fff6e8;border-color:#f3c984}.hikvision-provider.warning>span{background:#f09a15;color:#fff}
.hikvision-provider.inactive{background:#f5f7fa;color:#748198}
.hikvision-table{display:grid;gap:10px}.hikvision-table>article{display:grid;grid-template-columns:minmax(220px,2fr) auto minmax(160px,1fr) auto;align-items:center;gap:14px;border:1px solid #dde6f2;border-radius:13px;padding:13px 15px;background:#fff}.hikvision-table article>div{display:grid;gap:3px}.hikvision-table small{color:#697b94}.hikvision-table select{width:100%;margin-top:4px;border:1px solid #cad8ec;border-radius:9px;padding:8px;background:#fff}.hikvision-table button{border:1px solid #b9cff0;background:#f5f9ff;color:#1259c7;border-radius:9px;padding:8px 11px;font-weight:800}
.hikvision-state{border-radius:999px;padding:6px 10px;background:#edf2f8;color:#617189;font-size:12px;font-weight:900}.hikvision-state.online,.hikvision-state.success,.hikvision-state.synced{background:#dff8eb;color:#078448}.hikvision-state.failed,.hikvision-state.error,.hikvision-state.offline{background:#ffe5e6;color:#c62734}
.hikvision-activation-card{display:grid;grid-template-columns:minmax(260px,2fr) minmax(260px,1fr) auto;align-items:center;gap:28px}.hikvision-activation-card>div:first-child{position:relative;padding-left:64px}.hikvision-mark{position:absolute;left:0;top:0;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#1476ff,#1dbb66);color:#fff;font-weight:900;font-size:22px}.hikvision-activation-card dl{display:grid;gap:7px}.hikvision-activation-card dl div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e3eaf3;padding:7px 0}.hikvision-activation-card dt{color:#697b94}.hikvision-activation-card dd{font-weight:800;text-align:right}.hikvision-activation-card .danger-button{background:#fff0f1;color:#c52231;border-color:#efb8bd}
body.night .hikvision-lab-tabs button,body.night .hikvision-table>article,body.night .hikvision-provider,body.night .hikvision-card-grid article,body.night .hikvision-diagnostic-grid article{background:#182435;border-color:#34445a;color:#edf4ff}body.night .hikvision-lab-tabs button.active{background:#2376ed;border-color:#4a92ff}
@media(max-width:900px){.hikvision-activation-card{grid-template-columns:1fr}.hikvision-table>article{grid-template-columns:1fr}.hikvision-lab-tabs{margin-inline:-4px}}

/* Integraciones: asociación de identidades y laboratorio original incrustado. */
.hik-linking-panel,.hik-lab-embedded-panel{margin-bottom:20px}
.hik-linking-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:end;gap:14px;margin:16px 0}
.hik-linking-toolbar label{display:grid;gap:7px;color:#536983;font-size:12px;font-weight:800}
.hik-linking-toolbar select{width:100%;min-height:44px;border:1px solid #c7d6e9;border-radius:10px;padding:0 12px;background:#fff;color:#102945;font:inherit}
.hik-linking-note{display:flex;align-items:center;gap:11px;margin:14px 0;padding:12px 14px;border:1px solid #cce4ff;border-radius:12px;background:#f2f8ff}.hik-linking-note>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#1d6ee8;color:#fff;font-weight:900}.hik-linking-note p,.hik-linking-note strong,.hik-linking-note small{display:block;margin:0}.hik-linking-note small{margin-top:2px;color:#5c7088}
.hik-linking-list{display:grid;gap:10px}.hik-linking-person{display:grid;grid-template-columns:48px minmax(180px,1.25fr) minmax(200px,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid #dbe4ef;border-radius:13px;background:#fff}.hik-linking-person.linked{border-color:#9eddbd;background:linear-gradient(90deg,#f1fcf6,#fff 38%)}.hik-linking-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e5efff;color:#1764cf;font-weight:900}.hik-linking-person strong,.hik-linking-person small,.hik-linking-person span{display:block}.hik-linking-person small{color:#6b7c90}.hik-linking-home{display:grid;gap:2px}.hik-linking-home>small{font-size:9px;font-weight:850;letter-spacing:1px}.hik-linking-home>span{color:#60758c;font-size:12px}.hik-linking-person button{border:1px solid #9fc0eb;border-radius:9px;padding:9px 12px;background:#f7faff;color:#145cc4;font-weight:850}.hik-linking-person.linked button{border-color:#99d6b7;color:#07834a;background:#f4fff9}.hik-linking-error{padding:20px;border:1px solid #f0b7ba;border-radius:12px;background:#fff4f4;color:#9e2630}.hik-linking-error p,.hik-linking-error small{margin:5px 0 0;display:block}
.hik-lab-embedded-panel{padding-bottom:14px}.hik-lab-embedded{display:block;width:100%;height:1120px;border:1px solid #cbd8e6;border-radius:14px;background:#f4f2ed}
body.night .hik-linking-toolbar select,body.night .hik-linking-person{background:#182435;border-color:#34465c;color:#edf4ff}body.night .hik-linking-person.linked{background:linear-gradient(90deg,#123529,#182435 42%)}body.night .hik-linking-note{background:#142a42;border-color:#28517b;color:#edf4ff}
@media(max-width:760px){.hik-linking-toolbar{grid-template-columns:1fr}.hik-linking-person{grid-template-columns:44px 1fr}.hik-linking-home,.hik-linking-person button{grid-column:2}.hik-lab-embedded{height:900px}.hik-lab-embedded-panel{padding:10px}.hik-lab-embedded-panel .panel-title{display:block}.hik-lab-embedded-panel .panel-title .button-link{display:inline-flex;margin-top:10px}}

/* Auditoría 2026-10-07: una navegación móvil, menú completo en cajón. */
@media(max-width:767px){
  body{padding-bottom:0}
  body:not(.mobile-menu-open) #guardiaSidebar{width:min(330px,90vw);height:100dvh;inset:0 auto 0 0;transform:translateX(-105%);pointer-events:none}
  body.mobile-menu-open #guardiaSidebar{transform:none;pointer-events:auto}
  body[data-active-view="guardApp"] .view,body[data-active-view="residentApp"] .view{padding-bottom:20px}
  .resident-phone,.guard-phone{display:flex;flex-direction:column;min-height:0}
  .resident-phone-body,.guard-phone-body{flex:1;min-height:0;padding-bottom:28px!important}
  .resident-phone-nav,.guard-phone-nav{position:relative!important;inset:auto!important;flex-shrink:0}
  .resident-phone-nav button,.guard-phone-nav button{min-height:44px}
}
@media(min-width:768px) and (max-width:1023px){
  .topbar{grid-template-columns:44px minmax(0,1fr) minmax(160px,210px) auto;gap:8px;padding-inline:12px}
  .topbar-context,.topbar-context h1,.top-actions,.active-residential-badge{min-width:0}
  .topbar-context h1{font-size:18px;overflow-wrap:anywhere;line-height:1.15}
  .top-actions{gap:5px}.top-actions>.help,.top-actions>.icon-button{display:none}
}

@media(max-width:767px){.view button.primary,.view button.secondary,.top-actions button{min-height:44px}}

/* App del guardia: presentación azul aislada. */
#guardApp{--guard-action:#1456C0;--guard-title:#10253F;--guard-bg:#F4F7FC;--guard-surface:#fff;--guard-active:#EAF1FF;--guard-border:#DBE3EE;--guard-muted:#526174;color:var(--guard-title)}
#guardApp .guard-phone{display:flex;flex-direction:column;background:var(--guard-bg);border-radius:24px;border:1px solid var(--guard-border);height:820px;max-height:90dvh}
#guardApp .guard-phone:before{display:none}
#guardApp .guard-phone-head{height:auto!important;padding:16px!important;background:var(--guard-title);color:white;flex-shrink:0}
#guardApp .guard-brand{display:flex;align-items:center;gap:10px;width:100%}#guardApp .guard-brand p{flex:1;margin:0}#guardApp .guard-brand p strong{font-size:19px!important}#guardApp .guard-brand p small{font-size:12px!important;letter-spacing:0}#guardApp #guardProfile{min-width:44px;min-height:44px;border:1px solid #ffffff55;border-radius:12px;background:#ffffff12;color:white;font-size:24px}
#guardApp .guard-context{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;margin-top:12px;font-size:12px}#guardApp #guardConnection.online{color:#9ff5bf}#guardApp #guardConnection.offline,#guardApp #guardConnection.slow{color:#ffdda0}
#guardApp main.guard-phone-body{flex:1;min-height:0;height:auto!important;padding:18px 16px 24px!important;overflow:auto;background:var(--guard-bg)!important;scroll-padding:16px}
#guardApp .guard-validation-intro{padding:0 0 16px;background:transparent}#guardApp .guard-validation-intro>span{display:none}#guardApp .guard-validation-intro p strong{font-size:22px!important;color:var(--guard-title)}#guardApp .guard-validation-intro p em{font-size:13px!important;color:var(--guard-muted);margin-top:6px;line-height:1.5}
#guardApp #guardScanQr{min-height:52px!important;width:100%;margin:0!important;border:0!important;border-radius:12px;background:var(--guard-action)!important;color:white!important;font-size:15px!important}
#guardApp .guard-nip-divider{display:flex;align-items:center;gap:12px;color:var(--guard-muted);font-size:12px;margin:20px 0}#guardApp .guard-nip-divider:before,#guardApp .guard-nip-divider:after{content:'';height:1px;background:var(--guard-border);flex:1}
#guardApp .guard-nip-label{color:var(--guard-title)!important;font-size:12px!important;letter-spacing:0;margin:0 0 8px!important}
#guardApp .guard-pin-entry{display:grid;grid-template-columns:1fr!important;gap:12px}
#guardApp .guard-pin-entry input{box-sizing:border-box;width:100%;min-width:0;height:58px;letter-spacing:18px;font-size:24px!important;text-indent:18px;border:1px solid var(--guard-border)!important;background:repeating-linear-gradient(90deg,#fff 0, #fff calc(16.666% - 1px),var(--guard-border) calc(16.666% - 1px),var(--guard-border) 16.666%)!important;border-radius:12px!important}
#guardApp .guard-pin-entry button,#guardApp .guard-confirm-mobile{width:100%!important;min-height:48px;background:var(--guard-action)!important;font-size:14px!important;border-radius:12px!important;color:#fff}
#guardApp .guard-pin-entry button:disabled{background:#DBE3EE!important;color:#526174;cursor:default}
#guardApp #guardPinHelp{font-size:12px;color:var(--guard-muted);margin:8px 0}#guardApp .guard-capture-nip{background:transparent;border:0;color:var(--guard-action);min-height:44px;padding:4px 0;text-decoration:underline}
#guardApp .guard-mobile-result.idle{background:var(--guard-active);color:var(--guard-title);border:1px solid var(--guard-border)}#guardApp .guard-mobile-result.idle .guard-result-icon{background:var(--guard-active);color:var(--guard-action);font-size:22px!important}#guardApp .guard-mobile-result.idle .guard-result-icon:before{content:none}#guardApp .guard-mobile-result.query-error{background:#fff5df;color:#795009;border:1px solid #f0d79b}
#guardApp .guard-mobile-result h2{font-size:17px!important}#guardApp .guard-mobile-result>p{font-size:12px!important}#guardApp .guard-mobile-result>small{font-size:10px!important}
#guardApp .guard-evidence-capture{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}#guardApp .guard-evidence-capture label{min-height:44px;display:flex;align-items:center;border:1px solid var(--guard-border);background:white;padding:8px;border-radius:10px}
#guardApp .guard-recent-title{margin:22px 0 10px}#guardApp .guard-recent-title strong{font-size:16px!important}#guardApp .guard-recent-title button{min-height:44px;color:var(--guard-action);font-size:12px}
#guardApp .guard-mobile-recent>div,#guardApp .guard-mobile-activity>div{padding:12px;gap:8px;min-height:66px;background:white;border:1px solid var(--guard-border);border-radius:12px}
#guardApp .guard-mobile-recent p,#guardApp .guard-mobile-activity p{min-width:0;overflow-wrap:anywhere}#guardApp .guard-mobile-recent strong,#guardApp .guard-mobile-activity strong{font-size:13px!important}#guardApp .guard-mobile-recent small,#guardApp .guard-mobile-activity small,#guardApp .guard-mobile-activity time{font-size:11px!important;color:var(--guard-muted)}#guardApp .guard-mobile-recent>div button{min-height:44px;background:var(--guard-active);color:var(--guard-action);font-size:11px!important}
#guardApp .guard-phone-nav{position:relative!important;inset:auto!important;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex-shrink:0;background:white;border-top:1px solid var(--guard-border);padding:6px 8px calc(6px + env(safe-area-inset-bottom));height:auto!important;min-height:66px}
#guardApp .guard-phone-nav button{min-height:48px;min-width:0;font-size:11px}#guardApp .guard-phone-nav button.active{background:var(--guard-active)!important;color:var(--guard-action)!important;border-radius:10px}
#guardApp :focus-visible{outline:3px solid var(--guard-action);outline-offset:3px}.guard-more-links{display:grid;gap:10px}.guard-more-links button,#guardProfileLogout{min-height:44px;padding:12px;border:1px solid #DBE3EE;border-radius:10px;background:#EAF1FF;color:#1456C0}
body[data-active-view='guardApp'] .network-indicator{display:none}
@media(max-width:767px){#guardApp .guard-phone{border:0;border-radius:0;height:100dvh;max-height:none}body[data-user-role='Vigilante'] #guardApp .guard-phone-head{height:auto!important;padding:16px!important}body[data-user-role='Vigilante'] #guardApp .guard-phone-body{height:auto!important;padding:18px 16px 24px!important}}
#guardApp .hidden{display:none!important}
#guardApp .guard-phone-head{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}#guardApp .guard-phone-head .guard-context{display:flex!important;width:100%;align-items:center}#guardApp .guard-context small{min-width:0;overflow-wrap:anywhere}#guardApp #guardConnection{background:transparent;border:0;padding:0;font-size:12px}
#guardApp #guardValidatePin:disabled{background:#DBE3EE!important;color:#526174!important;opacity:1!important}
#guardApp #guardListStatus{padding:12px;border:1px solid #f0d79b;border-radius:12px;background:#fff5df;font-size:12px}#guardApp #guardRetryLists{min-height:44px;color:var(--guard-action);background:white;border:1px solid var(--guard-border);border-radius:10px;padding:8px}
#guardApp .guard-evidence-capture label{position:relative;cursor:pointer}#guardApp .guard-evidence-capture input[type=file]{position:absolute;width:1px;height:1px;padding:0;opacity:0;overflow:hidden}#guardApp .guard-evidence-capture label:focus-within{outline:3px solid var(--guard-action)}

/* Guard-IA: app del guardia, propuesta aprobada. */
#guardApp .guard-intro-panel,#guardApp .resident-flow-panel,#guardApp .page-heading{display:none}
#guardApp .guard-preview-layout{display:block}
#guardApp .guard-stage{padding:0;background:transparent}
#guardApp .guard-phone{width:100%;max-width:720px;margin:auto;height:calc(100dvh - 110px);max-height:none;min-height:500px;border-radius:24px;box-shadow:0 12px 32px #15335a12;background:#f4f8ff}
#guardApp .guard-phone-head,body[data-user-role=Vigilante] #guardApp .guard-phone-head{padding:12px 16px!important;background:#fff!important;color:#071b3c!important}
#guardApp .guard-brand{display:flex;align-items:center;gap:10px}
#guardApp .guard-brand p{flex:1;color:#071b3c}#guardApp .guard-brand p small{display:none}
#guardApp .mini-brand{width:44px;height:44px;border-radius:10px;overflow:hidden;background:white}
#guardApp .guard-brand button{width:44px;height:44px;border:1px solid #dbe7f6;border-radius:50%;background:#eef5ff;color:#075af5}
#guardApp main.guard-phone-body{padding:16px!important;background:#f4f8ff!important}
#guardApp .guard-ui-hero{display:flex;align-items:center;gap:16px;padding:18px;border-radius:16px;background:linear-gradient(120deg,#31aaf6,#0758e8);color:white;margin-bottom:12px}
#guardApp .guard-ui-hero>span svg{width:44px;height:44px}
#guardApp .guard-ui-hero>div{flex:1;min-width:0}
#guardApp .guard-context{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:4px 0 0}
#guardApp #guardResidentialName{font-size:19px;font-weight:750;color:white;overflow-wrap:anywhere}
#guardApp #guardConnection{font-size:12px;color:white}
#guardApp .guard-ui-counters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}
#guardApp .guard-ui-counters button{background:white;border:1px solid #e1ebfa;border-radius:12px;min-height:68px;color:#071b3c;padding:8px}
#guardApp .guard-ui-counters small{display:block;font-size:12px}#guardApp .guard-ui-counters strong{display:block;font-size:24px;margin-top:3px}
#guardApp .guard-ui-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
#guardApp .guard-ui-actions button,#guardApp #guardUiReport{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:12px;font-size:14px;font-weight:700;padding:10px;background:#075af5;color:white;border:1px solid #075af5;margin:0}
#guardApp .guard-ui-actions svg,#guardApp #guardUiReport svg,#guardApp .guard-phone-nav svg{width:24px;height:24px;flex-shrink:0}
#guardApp #guardUiEnterNip{background:white;color:#075af5}
#guardApp #guardUiReport{width:100%;margin:16px 0 0}
#guardApp .guard-recent-title{margin:12px 0 8px}
#guardApp #guardMobileRecent>div{position:relative;background:white;border:1px solid #e1ebfa;border-radius:14px;padding:12px 12px 12px 22px;display:flex;align-items:center;gap:10px;min-height:76px;margin:8px 0;overflow:hidden}
#guardApp #guardMobileRecent>div:before{content:'';position:absolute;left:0;top:0;bottom:0;width:8px;background:#d49a00}
#guardApp #guardMobileRecent p{flex:1;min-width:0;margin:0;overflow-wrap:anywhere}
#guardApp #guardMobileRecent p strong{font-size:14px}#guardApp #guardMobileRecent p small{font-size:12px;display:block;margin-top:4px}
#guardApp .guard-ui-type{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:#e5efff;color:#075af5}
#guardApp .guard-ui-type svg{width:25px;height:25px}
#guardApp .guard-ui-type.taxi{background:#fff1c2;color:#b77903}#guardApp .guard-ui-type.package{background:#ede5ff;color:#7a4ce0}#guardApp .guard-ui-type.service{background:#dcf7eb;color:#0fa968}
#guardApp #guardMobileRecent button{min-height:44px;background:#fff1c2;color:#775000;border:0;border-radius:10px;font-size:12px;padding:8px}
#guardApp .guard-phone-nav{gap:4px}#guardApp .guard-phone-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:56px;font-size:11px}
#guardApp .guard-validation-intro{display:none!important}#guardApp #guardCentralNip,#guardApp .guard-nip-divider{display:none!important}
#guardApp .guard-mobile-result{border-radius:16px;padding:16px;background:white;border:1px solid #e1ebfa}
#guardApp .guard-mobile-result.idle{display:none}#guardApp .guard-pin-entry{margin-bottom:8px}#guardApp .guard-evidence-capture{margin:12px 0}
#guardApp[data-guard-screen=validate] .guard-ui-hero,#guardApp[data-guard-screen=validate] .guard-ui-counters{display:none}
.guard-ui-inside{padding:12px;border:1px solid #dbe7f6;border-radius:12px;margin:8px 0}
@media(max-width:767px){#guardApp .guard-phone{height:100dvh;min-height:0;border:0;border-radius:0}#guardApp main.guard-phone-body{padding:12px!important}#guardApp .guard-ui-hero{padding:14px}#guardApp #guardResidentialName{font-size:18px}#guardApp .guard-ui-actions{gap:8px}#guardApp .guard-ui-actions button{font-size:13px;padding:10px 6px}}
#guardApp .guard-ui-actions button,#guardApp .guard-ui-actions button span{font-size:14px!important;line-height:1.3!important;font-weight:700!important}
#guardApp .guard-phone-nav button,#guardApp .guard-phone-nav button span{font-size:11px!important;line-height:1.3!important;font-weight:650!important;letter-spacing:0!important}
#guardApp .guard-phone-nav button span{background:transparent!important;width:auto!important;height:auto!important;padding:0!important;color:inherit!important}
#guardApp .guard-brand #guardProfile{display:flex!important;align-items:center;justify-content:center;margin-left:auto}
#guardApp .guard-phone-head,body[data-user-role=Vigilante] #guardApp .guard-phone-head{min-height:68px!important;max-height:76px!important}
#guardApp .guard-context small#guardResidentialName{font-size:18px!important;line-height:1.3}

#guardApp .guard-ui-profile{display:flex!important;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto}#guardApp .guard-ui-profile svg{width:24px;height:24px}#guardApp #guardProfile{display:none!important}

#guardApp #guardQrStatus{padding:12px;border:1px solid #bdd3f5;border-radius:12px;background:#e9f2ff;color:#123b72;font-size:14px;line-height:1.5;margin:10px 0;overflow-wrap:anywhere}

/* Residente: todos los tokens y reglas se limitan a su superficie. */
#residentApp{--navy-950:#071B3C;--navy-900:#0B234A;--blue-700:#075EDB;--blue-600:#0877F9;--blue-500:#268DF2;--blue-100:#DCEBFF;--blue-50:#F1F7FF;--green-600:#0FA968;--green-100:#DDF8EA;--orange-500:#F59E0B;--orange-100:#FFF3D7;--red-500:#EF3D4E;--red-100:#FFE5E8;--violet-500:#7A4CE0;--violet-100:#EFE7FF;--gray-950:#101936;--gray-700:#475569;--gray-500:#64748B;--gray-300:#CBD5E1;--gray-200:#E5EAF1;--gray-100:#F1F5F9;--surface:#FFF;--background:#F5F9FF;font-family:system-ui,'Segoe UI',sans-serif;color:var(--gray-950)}
#residentApp .resident-intro-panel,#residentApp .resident-flow-panel,#residentApp .resident-preview-heading,#residentUiLegacy,#residentApp .resident-ui-legacy-nav,#residentApp .resident-ui-legacy-header,#residentApp>#residentArrivalHistory,#residentApp>#scheduledResidentNotice{display:none!important}
#residentApp .resident-preview-layout{display:block;max-width:940px;margin:auto}
#residentApp .phone-stage{display:block;min-height:0;background:none;padding:0;border:0}
#residentApp .resident-phone{width:100%;height:auto;max-height:none;min-height:0;border:1px solid var(--gray-200);border-radius:20px;background:var(--background);box-shadow:0 8px 32px #071b3c08;display:flex;flex-direction:column;overflow:hidden}
#residentApp .resident-phone:before{display:none}
#residentApp .resident-ui-header{display:flex!important;align-items:center!important;justify-content:space-between!important;position:relative;height:80px!important;padding:12px 22px!important;background:var(--surface)!important;color:var(--navy-950);border-bottom:1px solid var(--gray-200);gap:12px;flex-shrink:0}
#residentApp .resident-ui-logo{width:104px;height:54px;object-fit:contain;max-width:40%;mix-blend-mode:multiply}
#residentApp .resident-ui-header>button{display:grid;place-items:center;min-height:44px;min-width:44px;border:1px solid var(--gray-200);border-radius:14px;background:var(--surface);color:var(--navy-950)}
#residentApp .resident-ui-icon{width:26px;height:26px;flex-shrink:0;display:block}
#residentApp main.resident-ui-body{height:auto!important;min-height:0;flex:1;padding:24px 28px 30px!important;overflow:auto;background:var(--background)!important;scroll-padding:16px}
#residentApp #residentUiOutlet>h1{margin:0 0 22px;font-size:28px;font-weight:750;line-height:1.2;color:var(--navy-950)}
#residentApp .resident-ui-residence{display:flex;gap:16px;align-items:center;padding:22px;border-radius:20px;background:var(--navy-900);color:var(--surface);margin:0 0 22px;box-shadow:none}
#residentApp .resident-ui-residence>span{width:64px;height:64px;display:grid;place-items:center;border-radius:16px;background:#ffffff12;color:#b7d8ff;flex-shrink:0}
#residentApp .resident-ui-residence small{font-size:12px;display:block;line-height:1.5;letter-spacing:.5px;color:#c4d9f5}
#residentApp .resident-ui-residence h2{font-size:24px;margin:3px 0;font-weight:750;color:inherit}
#residentApp .resident-ui-residence p{font-size:13px;margin:0 0 12px;color:#c4d9f5}
#residentApp .resident-ui-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}
#residentApp .resident-ui-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:116px;padding:14px 8px;border:1px solid var(--gray-200);border-radius:18px;background:var(--surface);color:var(--navy-950);box-shadow:0 4px 12px #071b3c04;font:650 14px system-ui;line-height:1.3;overflow-wrap:anywhere;cursor:pointer}
#residentApp .resident-ui-tile .resident-ui-icon{width:28px;height:28px;color:var(--blue-700)}
#residentApp .resident-ui-tile.priority{background:var(--blue-50);border-color:var(--blue-100)}
#residentApp .resident-ui-section-title{font-size:20px;font-weight:700;margin:26px 0 14px;color:var(--navy-950)}
#residentApp .resident-ui-card,#residentApp .resident-ui-empty{padding:20px;border:1px solid var(--gray-200);border-radius:18px;background:var(--surface);margin:0 0 12px;overflow-wrap:anywhere}
#residentApp .resident-ui-card h2{font-size:20px;line-height:1.3;margin:0 0 12px;color:var(--navy-950)}
#residentApp .resident-ui-card h3{font-size:17px;margin:0 0 10px}
#residentApp .resident-ui-card p,#residentApp .resident-ui-empty p{font-size:14px;line-height:1.6;color:var(--gray-700);margin:8px 0 12px}
#residentApp .resident-ui-card small{display:block;color:var(--gray-500);font-size:12px;line-height:1.5}
#residentApp .resident-ui-empty{display:flex;align-items:center;flex-direction:column;text-align:center;gap:8px;padding:30px 20px;color:var(--gray-700)}
#residentApp .resident-ui-empty>.resident-ui-icon{color:var(--blue-700);margin-bottom:6px}
#residentApp .resident-ui-empty strong{font-size:16px;color:var(--navy-950)}
#residentApp .resident-ui-empty p{margin:0}
#residentApp .resident-ui-pill{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:650;background:var(--gray-100);color:var(--gray-700);line-height:1.4}
#residentApp .resident-ui-pill.success{background:var(--green-100);color:#086540}#residentApp .resident-ui-pill.success:before{content:'✓'}
#residentApp .resident-ui-pill.warning{background:var(--orange-100);color:#755004}#residentApp .resident-ui-pill.warning:before{content:'!'}
#residentApp .resident-ui-pill.danger{background:var(--red-100);color:#ab1c2b}#residentApp .resident-ui-pill.danger:before{content:'!'}
#residentApp .resident-ui-button{min-height:48px;padding:12px 16px;border:1px solid var(--gray-200);border-radius:13px;background:var(--surface);color:var(--blue-700);font:650 14px system-ui;line-height:1.3;cursor:pointer}
#residentApp .resident-ui-button.primary{background:var(--blue-700);color:var(--surface);border-color:var(--blue-700)}
#residentApp .resident-ui-button:disabled{color:var(--gray-500);background:var(--gray-100);cursor:default}
#residentApp .resident-ui-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
#residentApp .resident-ui-tabs{display:flex;gap:6px;border:1px solid var(--gray-200);border-radius:14px;padding:5px;background:var(--surface);margin:0 0 18px}
#residentApp .resident-ui-tabs button{flex:1;min-height:44px;min-width:0;border:0;border-radius:10px;background:var(--surface);color:var(--gray-700);font:650 13px system-ui;padding:8px}
#residentApp .resident-ui-tabs button[aria-pressed=true]{background:var(--blue-100);color:var(--blue-700)}
#residentApp .resident-ui-list{display:grid;gap:10px}
#residentApp .resident-ui-list-card{display:flex;align-items:center;gap:14px;width:100%;min-height:80px;border:1px solid var(--gray-200);border-radius:18px;background:var(--surface);padding:16px;text-align:left;font:inherit;color:var(--navy-950);cursor:pointer}
#residentApp .resident-ui-list-card>.resident-ui-icon,#residentApp .resident-ui-list-card>span>.resident-ui-icon{color:var(--blue-700)}
#residentApp .resident-ui-list-card>div{min-width:0;flex:1;overflow-wrap:anywhere}
#residentApp .resident-ui-list-card strong{font-size:16px;display:block;margin-bottom:5px}
#residentApp .resident-ui-list-card small{font-size:12px;line-height:1.5;display:block;color:var(--gray-700);margin:5px 0}
#residentApp .resident-ui-list-card p{font-size:14px;color:var(--gray-700);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#residentApp .resident-ui-list-card>.resident-ui-icon{width:24px;height:24px}
#residentApp .resident-ui-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#residentApp .resident-ui-quick button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:106px;padding:10px 4px;border:1px solid var(--gray-200);border-radius:17px;background:var(--surface);font:inherit;min-width:0;color:var(--navy-950)}
#residentApp .resident-ui-quick button strong{font-size:12px;overflow-wrap:anywhere}
#residentApp .resident-ui-quick button small{font-size:12px}
#residentApp .resident-ui-quick .taxi{background:var(--orange-100)}#residentApp .resident-ui-quick .package{background:var(--violet-100)}#residentApp .resident-ui-quick .provider{background:var(--blue-100)}#residentApp .resident-ui-quick .service{background:var(--green-100)}
#residentApp .resident-ui-quick button:disabled{background:var(--gray-100);color:var(--gray-500)}
#residentApp .resident-ui-caption{font-size:12px;color:var(--gray-700);line-height:1.6;margin:14px 0}
#residentApp .resident-ui-access{display:flex;flex-direction:column;align-items:center;text-align:center}
#residentApp .resident-ui-access-symbol{padding:20px;background:var(--blue-50);border-radius:20px;margin-bottom:14px;color:var(--blue-700)}
#residentApp .resident-ui-access-symbol .resident-ui-icon{width:44px;height:44px}
#residentApp .resident-ui-amount{font-size:28px!important;font-weight:750;color:var(--navy-950)!important}
#residentApp .resident-ui-profile{text-align:center;display:flex;flex-direction:column;align-items:center}
#residentApp .resident-ui-profile-icon{display:grid;place-items:center;padding:20px;border-radius:50%;background:var(--blue-100);margin-bottom:18px;color:var(--blue-700)}
#residentApp .resident-phone-nav.resident-ui-nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));position:relative!important;inset:auto!important;height:auto!important;flex-shrink:0;margin-top:auto;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--gray-200);background:var(--surface)}
#residentApp .resident-ui-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:52px;min-width:0;background:var(--surface)!important;border:0;border-radius:12px;color:var(--gray-700)!important;padding:8px 2px;font:600 11px system-ui}
#residentApp .resident-ui-nav button .resident-ui-icon{width:22px;height:22px}
#residentApp .resident-ui-nav button.active{background:var(--blue-50)!important;color:var(--blue-700)!important}
#residentApp #residentUiConnection{padding:14px;border:1px solid #ebd7ac;background:var(--orange-100);border-radius:14px;margin-bottom:18px;color:#755004;font-size:14px}#residentApp #residentUiConnection p{margin:0 0 10px}
#residentApp .resident-ui-skeleton{min-height:48px;background:var(--gray-100);padding:16px;border-radius:12px;color:var(--gray-700)}
#residentApp [hidden]{display:none!important}
#residentApp button:focus-visible,#residentApp a:focus-visible{outline:3px solid var(--blue-700);outline-offset:3px}
body[data-active-view=residentApp] .network-indicator{display:none}
body[data-active-view=residentApp] .modal-overlay .modal{font-family:system-ui,'Segoe UI',sans-serif;border-radius:20px;background:#fff;color:#101936}
body[data-active-view=residentApp] .modal-overlay input,body[data-active-view=residentApp] .modal-overlay select,body[data-active-view=residentApp] .modal-overlay textarea{min-height:48px;font-size:16px!important;max-width:100%}
body[data-active-view=residentApp] .modal-overlay button{min-height:44px}
body[data-active-view=residentApp] .modal-overlay .primary{background:#075EDB;color:#fff}
body[data-active-view=residentApp] .modal-overlay .form-field>span{font-size:14px!important}
@media(min-width:768px){#residentApp .resident-ui-list{grid-template-columns:repeat(2,minmax(0,1fr))}#residentApp .resident-ui-list>.resident-ui-section-title,#residentApp .resident-ui-list>.resident-ui-empty{grid-column:1/-1}#residentApp .resident-ui-body{max-height:calc(100dvh - 270px)}#residentApp .resident-ui-access{max-width:620px;margin-left:auto;margin-right:auto}}
@media(max-width:767px){#residentApp{padding:0!important}#residentApp .resident-phone{border:0;border-radius:0;height:100dvh;max-height:100dvh;box-shadow:none}body[data-user-role=Residente] #residentApp .resident-ui-header{height:74px!important;padding:10px 16px!important}#residentApp .resident-ui-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}#residentApp .resident-ui-tile{min-height:100px;font-size:13px;padding:12px 4px}body[data-user-role=Residente] #residentApp main.resident-ui-body,#residentApp main.resident-ui-body{height:auto!important;padding:20px 16px 24px!important;flex:1;min-height:0}#residentApp .resident-ui-nav{padding-left:5px!important;padding-right:5px!important}#residentApp .resident-ui-nav button{font-size:10px}#residentApp .resident-ui-residence{padding:18px}#residentApp .resident-ui-quick{gap:6px}#residentApp .resident-ui-quick button strong{font-size:11px}#residentApp .resident-ui-list-card{padding:14px;gap:10px}body[data-active-view=residentApp] .modal-overlay{align-items:flex-end;padding:0}body[data-active-view=residentApp] .modal-overlay .modal{width:100%;max-height:92dvh;border-radius:22px 22px 0 0;overflow:auto}body[data-active-view=residentApp] .modal-overlay .form-grid{grid-template-columns:1fr}body[data-active-view=residentApp] .modal-overlay .form-field{min-width:0}body[data-active-view=residentApp] .modal-overlay footer{position:sticky;bottom:0;background:white;padding-bottom:calc(16px + env(safe-area-inset-bottom));gap:8px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){#residentApp *,body[data-active-view=residentApp] .modal-overlay *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
#residentApp .resident-phone-nav.resident-ui-nav button>span{display:block;width:100%;height:auto;min-height:0;background:transparent!important;color:inherit!important;padding:0;border-radius:0;font-size:11px!important;line-height:1.25;overflow-wrap:anywhere;letter-spacing:0;font-weight:650}
#residentApp .resident-phone-nav.resident-ui-nav button>.resident-ui-icon{width:22px!important;height:22px!important}
#residentApp .resident-phone-nav.resident-ui-nav button{min-height:64px!important;padding:6px 2px!important}
#residentApp .resident-phone-nav.resident-ui-nav button>span{font-size:12px!important;overflow-wrap:normal;line-height:1.2}
body[data-active-view=residentApp] .resident-community-alert{background:#071b3c66!important;backdrop-filter:none!important}
body[data-active-view=residentApp] .resident-community-alert>article{background:#fff!important;border:1px solid #E5EAF1!important;border-radius:20px;box-shadow:0 12px 40px #071b3c20;color:#101936!important}
body[data-active-view=residentApp] .resident-alert-icon{background:#DCEBFF!important;color:#075EDB!important}
body[data-active-view=residentApp] .resident-community-alert .resident-alert-confirm{background:#075EDB!important;color:#fff!important;min-height:48px}
body[data-active-view=residentApp] .resident-community-alert p{color:#475569!important;font-size:14px!important;line-height:1.6}
body[data-user-role=Residente][data-active-view=residentApp] .topbar{display:none!important}

/* Referencias visuales del residente recibidas el 11 de octubre: fondo, superficies y jerarquía. */
#residentApp .resident-phone{background:#f4f9ff;border-radius:24px}
#residentApp .resident-ui-header{height:96px!important;background:#f4f9ff!important;border:0;padding:14px 20px!important;background-image:linear-gradient(135deg,transparent 35%,#e4f0ff99 35%,#e4f0ff99 62%,transparent 62%)!important}
#residentApp .resident-ui-header>button{background:#ffffffd9;border:0;box-shadow:0 5px 16px #204f9020;border-radius:14px}
#residentApp .resident-ui-logo{width:110px;height:68px;max-width:42%;object-fit:contain}
#residentApp main.resident-ui-body{background-color:#f5f9ff!important;background-image:linear-gradient(135deg,transparent 58%,#e6f1ff70 58%,#e6f1ff70 70%,transparent 70%),linear-gradient(45deg,transparent 68%,#ddebff80 68%,#ddebff80 81%,transparent 81%)!important;background-attachment:local}
#residentApp .resident-ui-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#residentApp .resident-ui-residence{position:relative;background:#fff;color:#101936;border:1px solid #dfebfa;box-shadow:0 9px 22px #23549312;padding:12px;gap:16px;min-height:132px;border-radius:20px}
#residentApp .resident-ui-residence-placeholder{width:104px!important;height:110px!important;border-radius:14px!important;background:linear-gradient(135deg,#d4e9ff,#edf6ff)!important;color:#075edb!important}
#residentApp .resident-ui-residence-placeholder .resident-ui-icon{width:50px;height:50px;stroke-width:2.2}
#residentApp .resident-ui-residence small{color:#101936;font-size:12px;font-weight:750;letter-spacing:.3px}
#residentApp .resident-ui-residence h2{font-size:22px;color:#071B3C;margin:10px 0 3px}
#residentApp .resident-ui-residence p{color:#526174;font-size:13px;margin-bottom:8px}
#residentApp .resident-ui-pill{font-weight:700;font-size:12px}
#residentApp .resident-ui-actions{gap:12px;margin-top:22px}
#residentApp .resident-ui-tile,#residentApp .resident-ui-tile.priority{background:#ffffffef;border:1px solid #e7effa;box-shadow:0 9px 22px #2354930d;min-height:128px;gap:10px;border-radius:19px;font-size:13px;font-weight:750}
#residentApp .resident-ui-tile>.resident-ui-icon{width:60px;height:60px;padding:15px;box-sizing:border-box;border-radius:50%;background:linear-gradient(145deg,#f2f8ff,#e1efff);color:#0068f6;stroke-width:2.2;filter:drop-shadow(0 2px 2px #1366c508)}
#residentApp .resident-ui-tile-payments>.resident-ui-icon{color:#0b9965;background:linear-gradient(145deg,#f0fff7,#e1f8ee)}
#residentApp .resident-ui-tile-incidents>.resident-ui-icon{color:#ee394f;background:linear-gradient(145deg,#fff5f7,#ffe8ed)}
#residentApp .resident-ui-section-title{font-size:19px;font-weight:800;margin:26px 0 18px}
#residentApp .resident-ui-section-title:after{content:'';display:block;width:40px;height:3px;background:#0877F9;border-radius:2px;margin-top:9px}
#residentApp .resident-ui-card,#residentApp .resident-ui-empty{border:1px solid #e5eef9;border-radius:20px;box-shadow:0 7px 20px #2b569b0a;background:#ffffffef}
#residentApp .resident-ui-screen-context{display:flex;align-items:center;gap:16px;min-height:126px;padding:14px;background:#ffffffef;border-radius:20px;border:1px solid #e3edf9;box-shadow:0 8px 22px #22539410;margin-bottom:22px}
#residentApp .resident-ui-screen-context>div{min-width:0;flex:1}
#residentApp .resident-ui-screen-context h1{font-size:27px;color:#071B3C;margin:0 0 9px;line-height:1.15;overflow-wrap:anywhere}
#residentApp .resident-ui-screen-context p{font-size:13px;line-height:1.5;color:#526174;margin:0;overflow-wrap:anywhere}
#residentApp .resident-ui-context-placeholder{display:grid;place-items:center;width:80px;height:88px;background:linear-gradient(145deg,#eef7ff,#deedff);border-radius:16px;color:#075EDB;flex-shrink:0}
#residentApp .resident-ui-context-placeholder .resident-ui-icon{width:40px;height:40px;stroke-width:2.2}
#residentApp .resident-ui-toolbar>.resident-ui-button.primary{width:100%;min-height:52px;background:linear-gradient(110deg,#0877F9,#0052ee);box-shadow:0 7px 17px #076afa22;border:0;border-radius:14px;font-size:16px}
#residentApp .resident-ui-tabs{border:0;background:#ffffffcf;border-radius:18px;padding:5px;gap:5px;box-shadow:0 5px 20px #2760a010}
#residentApp .resident-ui-tabs button{background:#eaf2ff;border-radius:14px;min-height:48px;font-size:14px}
#residentApp .resident-ui-tabs button[aria-pressed=true]{background:linear-gradient(110deg,#0877F9,#0052ee);color:#fff}
#residentApp .resident-ui-list{gap:14px}
#residentApp .resident-ui-list-card{border:1px solid #e5edf8;box-shadow:0 7px 20px #2b569b0a;border-radius:20px;min-height:106px;padding:18px;gap:13px}
#residentApp .resident-ui-list-card>span:first-child,#residentApp .resident-ui-list-card>.resident-ui-icon{color:#0877F9;width:52px;height:52px;box-sizing:border-box;border-radius:50%;background:#eaf4ff;display:grid;place-items:center;flex-shrink:0}
#residentApp .resident-ui-list-card>.resident-ui-icon{padding:13px}
#residentApp .resident-ui-list-card strong{font-size:16px;color:#071B3C}
#residentApp .resident-ui-quick button{min-height:116px;border-radius:18px;gap:7px}
#residentApp .resident-ui-quick button>.resident-ui-icon{width:46px;height:46px;padding:10px;box-sizing:border-box;border-radius:14px;background:#ffffffa0;box-shadow:0 5px 10px #071b3c0c;stroke-width:2.3}
#residentApp .resident-ui-quick .taxi>.resident-ui-icon{color:#b77903}#residentApp .resident-ui-quick .package>.resident-ui-icon{color:#7a4ce0}#residentApp .resident-ui-quick .provider>.resident-ui-icon{color:#0877f9}#residentApp .resident-ui-quick .service>.resident-ui-icon{color:#0fa968}
#residentApp .resident-phone-nav.resident-ui-nav{background:#fffffffa;padding-top:6px;box-shadow:0 -4px 20px #16458406}
#residentApp .resident-phone-nav.resident-ui-nav button{background:transparent!important;border-radius:0;position:relative;gap:6px}
#residentApp .resident-phone-nav.resident-ui-nav button.active{background:transparent!important;color:#0068ff!important}
#residentApp .resident-phone-nav.resident-ui-nav button.active:after{content:'';position:absolute;bottom:0;width:30px;height:3px;background:#0877F9;border-radius:3px}
#residentApp .resident-phone-nav.resident-ui-nav button.active>.resident-ui-icon{stroke-width:2.6}
#residentApp[data-resident-screen=access] .resident-ui-header{background:linear-gradient(110deg,#075edb,#0877f9)!important;color:#fff}
#residentApp[data-resident-screen=access] .resident-ui-header>button{background:#ffffffee}
@media(max-width:767px){body[data-user-role=Residente] #residentApp .resident-ui-header{height:92px!important;padding:12px 16px!important}#residentApp main.resident-ui-body,body[data-user-role=Residente] #residentApp main.resident-ui-body{padding-top:12px!important}#residentApp .resident-ui-actions{gap:8px}#residentApp .resident-ui-tile,#residentApp .resident-ui-tile.priority{min-height:115px;font-size:12px}#residentApp .resident-ui-residence-placeholder{width:91px!important;height:104px!important}#residentApp .resident-ui-screen-context h1{font-size:25px}#residentApp .resident-ui-context-placeholder{width:68px;height:82px}#residentApp .resident-ui-screen-context{gap:12px}}
#residentApp .resident-ui-button{font-size:14px!important}
#residentApp .resident-ui-toolbar>.resident-ui-button.primary{font-size:16px!important}
#residentApp .resident-ui-tabs button{font-size:14px!important}

/* Composición final de las referencias PC/tableta/celular. */
#residentApp .resident-ui-sidebar{display:none}
#residentApp[data-resident-screen=home] .resident-ui-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
#residentApp .resident-ui-tile-visual{position:relative;display:block;width:100%;min-height:108px;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#eef7ff,#dcf0ff);padding:10px;text-align:left}
#residentApp .resident-ui-tile-visual>strong{position:absolute;bottom:12px;left:10px;z-index:2;font-size:14px;color:#071b3c}
#residentApp .resident-ui-module-icon{display:grid;place-items:center;width:46px;height:46px;background:linear-gradient(135deg,#00aaff,#0065ef);border-radius:13px;color:#fff;box-shadow:0 5px 14px #1066d92a;position:relative;z-index:2}
#residentApp .resident-ui-module-icon .resident-ui-icon{width:25px;height:25px}
#residentApp .resident-ui-tile-invites .resident-ui-module-icon,#residentApp .resident-ui-tile-home .resident-ui-module-icon{background:linear-gradient(135deg,#aa68ff,#7232f1)}
#residentApp .resident-ui-tile-payments .resident-ui-module-icon{background:linear-gradient(135deg,#03c488,#008a58)}
#residentApp .resident-ui-tile-notices .resident-ui-module-icon{background:linear-gradient(135deg,#ffb023,#ff6700)}
#residentApp .resident-ui-tile-incidents .resident-ui-module-icon{background:linear-gradient(135deg,#ff6777,#ff173d)}
#residentApp .resident-ui-tile-invites .resident-ui-tile-visual,#residentApp .resident-ui-tile-home .resident-ui-tile-visual{background:#f3eeff}
#residentApp .resident-ui-tile-payments .resident-ui-tile-visual{background:#e2faf0}#residentApp .resident-ui-tile-notices .resident-ui-tile-visual{background:#fff4e3}#residentApp .resident-ui-tile-incidents .resident-ui-tile-visual{background:#fff0f4}
#residentApp .resident-ui-reference-art{position:absolute;right:0;top:0;width:120px;height:108px;background-image:url('/assets/residente-reference-pc.png');background-repeat:no-repeat;z-index:1}
#residentApp .art-access{background-size:1184px 1059px;background-position:-328px -342px}
#residentApp .art-invites{background-size:1145px 1024px;background-position:-550px -330px}
#residentApp .art-visits{background-size:1145px 1024px;background-position:-770px -329px}
#residentApp .art-payments{background-size:1145px 1024px;background-position:-991px -329px}
#residentApp .art-notices{background-size:1145px 1024px;background-position:-326px -519px}
#residentApp .art-notices:after{content:'';position:absolute;right:18px;top:23px;width:25px;height:25px;background:#fff4e3;border-radius:50%}
#residentApp .art-incidents{background-size:1145px 1024px;background-position:-550px -519px}
#residentApp .art-housing{background-size:1145px 1024px;background-position:-770px -519px}
#residentApp .art-documents{background-size:1145px 1024px;background-position:-991px -519px}
#residentApp .resident-ui-tile{display:flex;align-items:stretch!important;flex-direction:column;position:relative;min-height:185px!important;padding:10px!important;gap:10px!important;background:white!important;border-radius:17px!important;text-align:left}
#residentApp .resident-ui-module-description{font-size:13px!important;line-height:1.3;color:#475b7f;padding:0 30px 4px 4px;min-height:45px}
#residentApp .resident-ui-tile-arrow{position:absolute;bottom:14px;right:12px;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;background:#e6f3ff;color:#0069f5;font-size:18px}
#residentApp .resident-ui-welcome{position:relative;isolation:isolate;overflow:hidden;border-radius:20px;min-height:200px;padding:24px;color:white;background:#123c69;display:flex;align-items:center;justify-content:space-between;gap:15px}
#residentApp .resident-ui-banner-art{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,#092c59aa,#092c5920),url('/assets/residente-reference-pc.png');background-repeat:no-repeat;background-size:100% 100%,250.55% 512%;background-position:0 0,66.13% 11.53%}
#residentApp .resident-ui-welcome-copy{position:relative;z-index:1;max-width:70%}#residentApp .resident-ui-welcome-copy>small{font-size:16px;font-weight:700}#residentApp .resident-ui-welcome-copy>h2{font-size:36px;margin:3px 0 7px;color:white;line-height:1.1}#residentApp .resident-ui-welcome-copy>p{display:table;font-size:12px;padding:5px 9px;background:#fffffff2;color:#18355a;border-radius:20px;margin:0 0 12px}
#residentApp .resident-ui-weather{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:118px;padding:18px;border-radius:16px;background:#ffffffed;color:#16366a;box-shadow:0 8px 28px #001d3c20;font-size:14px}
#residentApp .resident-ui-weather>span{font-size:30px;color:#f6a917}#residentApp .resident-ui-weather small{font-size:11px;text-align:center}
#residentApp .resident-ui-home-bottom{display:grid;grid-template-columns:1.5fr 1fr .85fr;gap:14px;margin-top:18px}
#residentApp .resident-ui-recent-panel,#residentApp .resident-ui-shortcuts{background:white;border:1px solid #e7eff9;border-radius:17px;padding:14px;min-width:0}
#residentApp .resident-ui-recent-panel header,#residentApp .resident-ui-shortcuts header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
#residentApp .resident-ui-recent-panel h2,#residentApp .resident-ui-shortcuts h2{display:flex;align-items:center;gap:8px;font-size:14px;margin:0;color:#071b3c}
#residentApp .resident-ui-recent-panel header button{border:0;background:transparent;color:#0877f9;font-size:11px;min-height:44px}
#residentApp .resident-ui-recent-panel h2 .resident-ui-icon{width:21px;height:21px;color:#f99c08}
#residentApp .resident-ui-recent-row{display:flex;align-items:center;gap:10px;width:100%;border:1px solid #edf2f9;border-radius:13px;background:white;color:#0877f9;padding:11px;min-height:58px;text-align:left;margin-bottom:6px}
#residentApp .resident-ui-recent-row>span:nth-child(2){min-width:0;flex:1}#residentApp .resident-ui-recent-row strong{display:block;font-size:12px;color:#071b3c}#residentApp .resident-ui-recent-row small{display:block;font-size:11px;line-height:1.4;color:#526174;overflow-wrap:anywhere}#residentApp .resident-ui-no-notifications{font-size:13px;color:#526174;line-height:1.5;margin:16px 0}
#residentApp .resident-ui-shortcuts>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}#residentApp .resident-ui-shortcuts button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:81px;background:#fff;border:1px solid #e5effb;border-radius:13px;font-size:11px;color:#142753;padding:7px}#residentApp .resident-ui-shortcuts button .resident-ui-icon{color:#0877f9}
#residentApp .resident-ui-community-banner{position:relative;isolation:isolate;overflow:hidden;min-height:220px;border-radius:17px;padding:18px;color:#fff;display:flex;align-items:flex-end}#residentApp .resident-ui-community-banner strong{font-size:20px;text-shadow:0 2px 6px #10253f}
@media(min-width:768px){#residentApp .resident-preview-layout{display:grid;grid-template-columns:58px minmax(0,1fr);max-width:1500px;gap:0}#residentApp .resident-ui-sidebar{display:flex;flex-direction:column;background:linear-gradient(140deg,#063d86,#062c61);color:#fff;min-width:0;border-radius:18px 0 0 18px;padding:14px 4px;position:sticky;top:18px;align-self:start;height:calc(100dvh - 36px)}#residentApp .resident-ui-side-brand{display:none}#residentApp .resident-ui-sidebar nav{display:grid;gap:4px}#residentApp .resident-ui-sidebar nav button{display:flex;align-items:center;justify-content:center;gap:14px;min-height:47px;color:white;background:transparent;border:0;border-radius:12px;text-align:left;font-size:13px;padding:10px}#residentApp .resident-ui-sidebar nav button.active{background:#0877f9}#residentApp .resident-ui-sidebar nav button .resident-ui-icon{width:23px;height:23px}#residentApp .resident-ui-sidebar nav button span{display:none}#residentApp .resident-ui-sidebar footer{display:none}#residentApp .resident-phone{border-radius:0 18px 18px 0;border:0;overflow:visible}#residentApp .resident-phone-nav.resident-ui-nav{display:none!important}#residentApp .resident-ui-body{max-height:none!important;height:auto!important}#residentApp .resident-ui-header{height:64px!important}#residentApp main.resident-ui-body{padding:16px!important}#residentApp .resident-ui-home-bottom{grid-template-columns:1fr 1fr}#residentApp .resident-ui-community-banner{grid-column:1/-1;min-height:125px}#residentApp .resident-ui-tile-visual{min-height:80px;padding:8px}#residentApp .resident-ui-reference-art{display:none}#residentApp .resident-ui-tile-visual>strong{position:static;display:block;margin-top:9px;font-size:12px}#residentApp .resident-ui-module-icon{width:35px;height:35px;border-radius:11px}#residentApp .resident-ui-module-icon .resident-ui-icon{width:21px;height:21px}#residentApp .resident-ui-module-description{font-size:11px!important;padding:0;min-height:42px}#residentApp .resident-ui-tile-arrow{display:none}#residentApp .resident-ui-tile{min-height:166px!important}}
@media(min-width:1100px){body[data-user-role=Residente][data-active-view=residentApp] .shell>main{padding:18px!important}#residentApp .resident-preview-layout{grid-template-columns:190px minmax(0,1fr)}#residentApp .resident-ui-sidebar{padding:20px 9px}#residentApp .resident-ui-side-brand{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:28px;text-align:center}#residentApp .resident-ui-side-brand img{width:62px;height:62px;object-fit:contain}#residentApp .resident-ui-side-brand strong{font-size:20px}#residentApp .resident-ui-side-brand small{font-size:10px}#residentApp .resident-ui-sidebar nav button{justify-content:flex-start}#residentApp .resident-ui-sidebar nav button span{display:block}#residentApp .resident-ui-sidebar footer{display:block;margin-top:auto;padding:10px 5px;font-size:12px;line-height:1.5}#residentApp .resident-ui-side-art{height:112px;background:url('/assets/residente-reference-pc.png') no-repeat;background-size:250.55% 512%;background-position:66.13% 11.53%;border-radius:12px}#residentApp .resident-ui-reference-art{display:block}#residentApp .resident-ui-tile-visual{min-height:108px}#residentApp .resident-ui-tile-visual>strong{position:absolute;bottom:12px;font-size:14px;margin:0}#residentApp .resident-ui-module-icon{width:46px;height:46px;border-radius:13px}#residentApp .resident-ui-module-description{font-size:13px!important;padding-right:28px;min-height:45px}#residentApp .resident-ui-tile{min-height:185px!important}#residentApp .resident-ui-tile-arrow{display:grid}#residentApp .resident-ui-home-bottom{grid-template-columns:1.5fr 1fr .85fr}#residentApp .resident-ui-community-banner{grid-column:auto;min-height:220px}}
@media(max-width:767px){#residentApp .resident-ui-header,body[data-user-role=Residente] #residentApp .resident-ui-header{height:62px!important;padding:8px 14px!important}#residentApp .resident-ui-logo{height:44px;width:94px}#residentApp main.resident-ui-body,body[data-user-role=Residente] #residentApp main.resident-ui-body{padding:10px 12px 14px!important}#residentApp .resident-ui-welcome{min-height:128px;padding:14px;border-radius:14px;gap:8px}#residentApp .resident-ui-welcome-copy>small{font-size:12px}#residentApp .resident-ui-welcome-copy>h2{font-size:27px}#residentApp .resident-ui-welcome-copy>p{font-size:9px;line-height:1.3;padding:4px 6px;max-width:100%;margin-bottom:7px}#residentApp .resident-ui-welcome .resident-ui-pill{font-size:10px;padding:4px 7px}#residentApp .resident-ui-weather{min-width:72px;padding:9px;gap:5px;border-radius:12px;font-size:12px}#residentApp .resident-ui-weather>span{font-size:22px}#residentApp .resident-ui-weather small{font-size:9px}#residentApp[data-resident-screen=home] .resident-ui-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:12px 0}#residentApp[data-resident-screen=home] .resident-ui-tile{min-height:86px!important;padding:5px!important;gap:0!important;border-radius:12px!important;align-items:center!important}#residentApp[data-resident-screen=home] .resident-ui-tile-visual{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:transparent!important;padding:3px}#residentApp[data-resident-screen=home] .resident-ui-module-icon{width:32px;height:32px;border-radius:10px}#residentApp[data-resident-screen=home] .resident-ui-module-icon .resident-ui-icon{width:20px;height:20px}#residentApp[data-resident-screen=home] .resident-ui-tile-visual>strong{position:static;font-size:10px!important;line-height:1.2;text-align:center;margin:0;overflow-wrap:anywhere}#residentApp[data-resident-screen=home] .resident-ui-module-description,#residentApp[data-resident-screen=home] .resident-ui-reference-art,#residentApp[data-resident-screen=home] .resident-ui-tile-arrow{display:none!important}#residentApp .resident-ui-home-bottom{display:block;margin-top:12px}#residentApp .resident-ui-shortcuts,#residentApp .resident-ui-community-banner{display:none}#residentApp .resident-ui-recent-panel{padding:10px;border-radius:14px}#residentApp .resident-ui-recent-panel h2{font-size:12px}#residentApp .resident-ui-recent-panel header{margin-bottom:4px}#residentApp .resident-ui-recent-panel header button{font-size:10px}#residentApp .resident-ui-recent-row{padding:8px;gap:8px;min-height:54px}#residentApp .resident-phone-nav.resident-ui-nav button>span{font-size:11px!important}#residentApp .resident-phone-nav.resident-ui-nav button{min-height:56px!important}}
#residentApp #residentUiSearch{display:none}
#residentApp .resident-ui-reference-art:not(.art-access):not(.art-invites):not(.art-visits):not(.art-payments):not(.art-notices):not(.art-incidents):not(.art-housing):not(.art-documents){display:none!important}
@media(min-width:1100px){#residentApp #residentUiSearch{display:block;flex:1;max-width:470px;min-width:0;min-height:42px;border:1px solid #d5e5fb;border-radius:24px;background:#edf5ff;padding:10px 16px;color:#16396a;font:13px system-ui}#residentApp .resident-ui-header .resident-ui-logo{display:none}#residentApp #residentUiBack{display:none}}
@media(min-width:1100px){#residentApp #residentUiBack{display:grid!important}}
#residentApp .resident-ui-module-icon .resident-ui-icon{color:#fff!important;stroke:#fff!important}
#residentApp .resident-ui-module-description{font-weight:400!important}
#residentApp .resident-ui-welcome-copy>small{font-size:16px!important}#residentApp .resident-ui-welcome-copy>h2{font-size:36px!important}
@media(max-width:767px){#residentApp .resident-ui-welcome-copy>small{font-size:12px!important}#residentApp .resident-ui-welcome-copy>h2{font-size:27px!important}#residentApp .resident-ui-weather{min-width:70px;max-width:84px;box-sizing:border-box}#residentApp .resident-ui-weather small{font-size:9px!important;line-height:1.3}}
#residentApp .art-invites{background-position:-563px -330px}
#residentApp .art-incidents{background-position:-559px -519px}
#residentApp .art-housing{background-position:-781px -519px}
#residentApp .art-documents{background-position:-1009px -519px}
#residentApp .resident-ui-side-brand img{mix-blend-mode:multiply}
#residentApp .resident-ui-side-brand img{mix-blend-mode:normal;background:#fff;border-radius:12px;padding:4px}
#residentApp #residentUiProfile{display:flex;align-items:center;gap:9px;background:transparent;border:0;box-shadow:none;padding:0}
#residentApp .resident-ui-house-avatar{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:linear-gradient(135deg,#0b9afb,#0645ac);color:white;font-size:14px;font-weight:800;flex-shrink:0}
#residentApp .resident-ui-header-house{display:flex;flex-direction:column;text-align:left;min-width:0;gap:3px}#residentApp .resident-ui-header-house strong{font-size:13px;color:#071b3c}#residentApp .resident-ui-header-house small{font-size:10px;color:#163b6b;max-width:180px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
#residentApp #residentUiHeaderNotifications{position:relative;box-shadow:none}#residentApp #residentUiNotificationCount{position:absolute;right:0;top:0;display:grid;place-items:center;background:#ef3d4e;color:white;border-radius:10px;font-size:10px;padding:2px 5px;min-width:16px}
@media(max-width:767px){#residentApp .resident-ui-header-house{display:none}#residentApp .resident-ui-header{gap:8px!important}#residentApp .resident-ui-logo{margin-right:auto;margin-left:auto}#residentApp #residentUiHeaderNotifications{min-width:32px;padding:4px;background:transparent}#residentApp .resident-ui-house-avatar{width:31px;height:31px;font-size:12px}}
#residentApp #residentUiProfile{width:auto!important;max-width:240px;flex-shrink:0}
#residentApp .resident-ui-header-house{width:auto;max-width:175px}
@media(max-width:767px){#residentApp #residentUiProfile{max-width:38px}}

#residentApp .resident-ui-tile:disabled{opacity:.55;cursor:default;box-shadow:none}

#residentApp .resident-ui-list-card>span:first-child:has([data-invitation-type="taxi"]){background:var(--orange-100);border-radius:16px}
#residentApp .resident-ui-list-card>span:first-child:has([data-invitation-type="package"]){background:var(--violet-100);border-radius:16px}
#residentApp .resident-ui-list-card>span:first-child:has([data-invitation-type="provider"]){background:var(--blue-100);border-radius:16px}
#residentApp .resident-ui-list-card>span:first-child:has([data-invitation-type="service"]){background:var(--green-100);border-radius:16px}
#residentApp [data-invitation-type="taxi"]{color:#b77903}
#residentApp [data-invitation-type="package"]{color:#7a4ce0}
#residentApp [data-invitation-type="provider"]{color:#0877f9}
#residentApp [data-invitation-type="service"]{color:#0fa968}
/* Estados de invitación: texto y colores diferenciados. */
#residentApp .resident-ui-pill.visit-expected{background:#fff1c2;color:#775000}
#residentApp .resident-ui-pill.visit-scheduled{background:#e0edff;color:#164b9a}
#residentApp .resident-ui-pill.visit-inside{background:#d9f7e8;color:#086540}
#residentApp .resident-ui-pill.visit-expired{background:#ffe0e3;color:#a21d30}
#residentApp .resident-ui-pill.visit-finished{background:#e9e1ff;color:#59338c}
#residentApp .resident-ui-pill.visit-cancelled{background:#e5e9ef;color:#465366}
#residentApp .resident-ui-pill.visit-rejected{background:#ffe4d1;color:#973d09}
/* Invitaciones compactas, sin alterar otras pantallas. */
#residentApp[data-resident-screen=invites] .resident-ui-screen-context{min-height:76px;padding:12px 16px;gap:12px;margin-bottom:14px}
#residentApp[data-resident-screen=invites] .resident-ui-context-placeholder{width:48px;height:48px;min-width:48px;border-radius:14px}
#residentApp[data-resident-screen=invites] .resident-ui-context-placeholder svg{width:26px;height:26px}
#residentApp[data-resident-screen=invites] .resident-ui-screen-context h1{font-size:22px;margin-bottom:4px}
#residentApp[data-resident-screen=invites] .resident-ui-toolbar{margin-bottom:12px}
#residentApp[data-resident-screen=invites] .resident-ui-toolbar button{min-height:44px;padding:10px 16px}
#residentApp[data-resident-screen=invites] .resident-ui-tabs{margin-bottom:12px;padding:4px}
#residentApp[data-resident-screen=invites] .resident-ui-tabs button{min-height:44px;padding:8px}
#residentApp[data-resident-screen=invites] .resident-ui-list{gap:10px}
#residentApp[data-resident-screen=invites] .resident-ui-list-card{min-height:88px;padding:10px 14px;gap:12px;border-radius:16px}
#residentApp[data-resident-screen=invites] .resident-ui-list-card>span:first-child{width:44px;height:44px;min-width:44px;flex:0 0 44px;border-radius:12px}
#residentApp[data-resident-screen=invites] .resident-ui-list-card>span:first-child svg{width:24px;height:24px}
#residentApp[data-resident-screen=invites] .resident-ui-list-card strong{font-size:14px;margin-bottom:2px}
#residentApp[data-resident-screen=invites] .resident-ui-list-card small{margin:2px 0;line-height:1.35}
#residentApp[data-resident-screen=invites] .resident-ui-list-card .resident-ui-pill{font-size:11px;padding:3px 8px}

/* Pestaña lateral de estado; tarjeta blanca e iconos conservados. */
#residentApp[data-resident-screen=invites] .resident-ui-list-card{position:relative;background:var(--surface);border-color:var(--gray-200);padding-left:26px;overflow:hidden}
#residentApp[data-resident-screen=invites] .resident-ui-list-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:16px;height:100%;border-radius:0;background:var(--visit-tab-color,#94a3b8)}
#residentApp .resident-ui-list-card:has(.visit-expected){--visit-tab-color:#d49a00}
#residentApp .resident-ui-list-card:has(.visit-scheduled){--visit-tab-color:#2472d8}
#residentApp .resident-ui-list-card:has(.visit-inside){--visit-tab-color:#159763}
#residentApp .resident-ui-list-card:has(.visit-expired){--visit-tab-color:#d83a51}
#residentApp .resident-ui-list-card:has(.visit-finished){--visit-tab-color:#8254be}
#residentApp .resident-ui-list-card:has(.visit-cancelled){--visit-tab-color:#708096}
#residentApp .resident-ui-list-card:has(.visit-rejected){--visit-tab-color:#dd7624}
#residentApp .resident-history-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;background:white;padding:12px;border:1px solid #e1ebfa;border-radius:14px;margin-bottom:12px}
#residentApp .resident-history-filters label{font-size:12px;min-width:0}#residentApp .resident-history-filters input,#residentApp .resident-history-filters select{display:block;width:100%;min-width:0;min-height:44px;border:1px solid #dbe7f6;border-radius:8px;padding:8px;box-sizing:border-box}
#residentApp .resident-history-thumb{width:56px;height:56px;object-fit:cover;border-radius:10px}
.resident-history-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.resident-history-photos figure{margin:0}.resident-history-photos img{width:100%;max-height:240px;object-fit:contain;border-radius:12px}
