: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}
}
@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(3,1fr);gap:8px;margin-bottom:18px}.quick-access-strip button{border:1px solid transparent;border-radius:14px;padding:11px 5px 9px;display:grid;place-items:center;gap:4px;cursor:pointer;transition:transform .16s,box-shadow .16s;min-height:91px}.quick-access-strip button>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:22px;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="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.35fr 1fr 1fr 100px;gap:11px;align-items:center;padding:12px 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:10px}.dossier-resident-card>p small,.dossier-resident-card>div small{font-size:7px;color:var(--muted)}.dossier-resident-card>div strong{font-size:8px;margin-top:3px}.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>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{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 20% 15%,#485be833,transparent 30%),linear-gradient(145deg,#eef2ff,#f7f9fc);display:grid;place-items:center;padding:20px}
.auth-screen.authenticated{display:none}.auth-card{width:min(420px,100%);background:#fff;border:1px solid #e0e5ef;border-radius:20px;padding:34px;box-shadow:0 28px 80px #19254b26}
.auth-logo{width:50px;height:50px;border-radius:14px;background:linear-gradient(145deg,#4053e7,#2636ae);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:800;margin-bottom:20px}
.auth-card h1{font-size:25px;margin:4px 0 7px}.auth-card>p:not(.eyebrow):not(.auth-error){color:var(--muted);font-size:11px;margin:0 0 22px}
.auth-card label{display:block;margin:14px 0}.auth-card label span{display:block;font-size:10px;font-weight:800;margin-bottom:7px}.auth-card input{width:100%;border:1px solid #dce1eb;border-radius:10px;padding:12px;font:13px Manrope;outline:none}
.auth-card input:focus{border-color:var(--brand);box-shadow:0 0 0 4px #3447d417}.auth-card button{width:100%;border:0;border-radius:10px;background:var(--brand);color:#fff;padding:13px;font:800 12px Manrope;margin-top:8px;cursor:pointer}
.auth-error{color:var(--red)!important;min-height:17px;font-size:10px!important;margin:5px 0!important}
/* 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}
@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:0 5px 13px #2648b719;
}
.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:104px;border-radius:19px;padding:18px;margin:14px 0 22px;background:radial-gradient(circle at 83% 10%,#5170f0,transparent 42%),linear-gradient(135deg,#3157e6,#1738c1);box-shadow:0 13px 28px #2648d43b}
.mobile-create-access>span{width:56px;height:56px;border-radius:18px;font-size:34px}.mobile-create-access strong{font-size:17px!important}.mobile-create-access small{font-size:11px!important;line-height:1.35;margin-top:3px}.mobile-create-access>b{font-size:32px}
.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}
.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{padding:15px}.mobile-create-access>span{width:48px;height:48px}.guard-pin-entry{grid-template-columns:1fr!important}.guard-pin-entry button{width:100%!important;min-height:50px}}

/* 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. */
.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%}}
