:root{--bs-primary:#087f89;--bs-primary-rgb:8,127,137;--ink:#10243b;--navy:#071a31;--navy-2:#0b2f4b;--teal:#08a7b5;--gold:#d7af58;--surface:#fff;--line:#dde7ec}.app-bg,.admin-bg{min-height:100vh;background:radial-gradient(circle at 15% 15%,#dceef0 0,transparent 28%),linear-gradient(135deg,#f4f8fa 0%,#eaf1f5 100%);color:var(--ink)}.card,.modal-content{border-radius:1.1rem}.login-card{width:min(100%,455px)}.form-control,.form-select{padding:.72rem .8rem;border-color:#d7e0e7}.form-control:focus,.form-select:focus{border-color:#67aeb0;box-shadow:0 0 0 .22rem rgba(8,127,137,.13)}.btn{border-radius:.65rem}.btn-primary{padding:.7rem 1rem;font-weight:600}.eyebrow{color:#087f89;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.brand-ribbon{height:128px;overflow:hidden;background:#06162c;color:#fff;display:flex;align-items:center;justify-content:center;padding:.55rem 1.25rem}.brand-logo{display:block;max-width:100%;object-fit:contain}.brand-logo-login{width:330px!important;height:auto!important;max-height:110px}.brand-logo-setup{width:min(100%,390px);height:auto;max-height:130px}.setup-card{background:#fff}.setup-header{padding:2rem 2.2rem;background:linear-gradient(130deg,#102a45,#17596a);color:white}.admin-bg{padding-bottom:3rem}.admin-topbar{height:84px;background:linear-gradient(100deg,#06162c,#092640);display:flex;align-items:center;color:#fff;box-shadow:0 4px 22px rgba(8,31,51,.15)}.admin-brand{display:flex;width:210px;height:70px;overflow:hidden;align-items:center}.admin-brand img{display:block;width:210px!important;height:70px!important;max-width:210px!important;object-fit:contain}.user-chip{align-items:center;gap:.65rem;font-size:.86rem}.user-chip small{display:block;color:#8da4b6;font-size:.67rem;text-transform:uppercase;letter-spacing:.07em}.user-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#f0d58b);color:#10243b;font-weight:800}.admin-nav{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 14px rgba(16,36,59,.04)}.admin-nav-link{position:relative;display:inline-flex;align-items:center;height:50px;padding:0 .8rem;color:#5e7180;text-decoration:none;font-size:.9rem;font-weight:600;white-space:nowrap}.admin-nav-link:hover{color:var(--bs-primary)}.admin-nav-link.active{color:var(--ink)}.admin-nav-link.active:after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:0;height:3px;border-radius:4px 4px 0 0;background:linear-gradient(90deg,var(--gold),var(--teal))}.admin-nav-link.disabled{opacity:.45;cursor:not-allowed}.welcome-panel{min-height:150px;border-radius:1.1rem;padding:2rem;background:radial-gradient(circle at 90% 10%,rgba(8,167,181,.25),transparent 30%),linear-gradient(120deg,#0b2946,#0b6068);color:#fff;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;box-shadow:0 16px 35px rgba(8,38,64,.13)}.status-pill{border:1px solid rgba(255,255,255,.3);border-radius:99rem;padding:.35rem .7rem;font-size:.78rem;white-space:nowrap}.module-card{color:inherit;transition:transform .15s ease,box-shadow .15s ease}.module-card:hover{transform:translateY(-3px);box-shadow:0 .75rem 1.75rem rgba(17,35,58,.12)!important}.module-card.module-disabled{opacity:.72;pointer-events:none}.module-icon{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:.7rem;background:#e7f4f4;color:#087f89;font-weight:800;font-size:1.25rem}.module-state{padding:.28rem .55rem;border-radius:99rem;background:#eef6f7;color:#347079;font-size:.7rem;font-weight:700}.metric-card{height:100%;padding:1.25rem 1.4rem;border:1px solid rgba(221,231,236,.8);border-radius:1rem;background:rgba(255,255,255,.88);box-shadow:0 8px 24px rgba(18,51,73,.06)}.metric-card span{display:block;color:#6a7c8a;font-size:.82rem}.metric-card strong{display:block;margin-top:.15rem;font-size:1.8rem;color:var(--ink)}.structure-note{background:linear-gradient(100deg,rgba(8,127,137,.1),rgba(215,175,88,.13));color:#315369}.data-card{overflow:hidden}.data-card .card-header{padding:1.25rem 1.4rem}.table>:not(caption)>*>*{padding:.9rem 1.1rem;border-bottom-color:#edf2f4}.table thead th{background:#f7fafb;color:#657785;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.person-tag{display:inline-flex;align-items:center;gap:.4rem;margin:.15rem .25rem .15rem 0;padding:.28rem .5rem;border-radius:.55rem;background:#edf6f6;color:#174f56;font-size:.78rem}.person-tag small{padding-left:.4rem;border-left:1px solid #c6dede;color:#6c8085}.count-badge{display:grid;place-items:center;min-width:34px;height:34px;padding:0 .5rem;border-radius:50%;background:#edf6f6;color:#087f89;font-weight:700}.empty-state{display:flex;min-height:220px;flex-direction:column;align-items:center;justify-content:center;color:#7a8b97;text-align:center}.empty-state span{font-size:2rem;color:#4d9da2}.empty-state strong{color:#344d60}.modal-header,.modal-body,.modal-footer{padding:1.2rem 1.4rem}.modal-header{background:#f8fbfc}
.finance-metric small{display:block;margin-top:.35rem;color:#84929c;font-size:.73rem}.finance-status{display:inline-flex;padding:.3rem .55rem;border-radius:99rem;background:#eef3f5;color:#60727e;font-size:.72rem;font-weight:700}.finance-status.status-posted,.finance-status.status-approved{background:#e4f5ed;color:#24724e}.finance-status.status-draft{background:#fff4d9;color:#8b6518}.finance-account-list{max-height:440px;overflow:auto}.finance-account-row,.config-line{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.25rem;border-top:1px solid #edf2f4}.finance-account-row:first-child{border-top:0}.finance-account-row div{min-width:0}.finance-account-row strong,.finance-account-row small{display:block}.finance-account-row small,.config-line small{color:#7b8b96;font-size:.72rem}.finance-account-row>span{font-weight:750;white-space:nowrap}.config-line{padding:.65rem 0}.config-line span{font-size:.88rem}.finance-safety-note{padding:.85rem 1rem;border-radius:.75rem;background:#eef7f7;color:#315d62;font-size:.82rem}
.charge-unit-grid{max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:.8rem;background:#fbfdfe}.charge-unit-row{display:grid;grid-template-columns:minmax(120px,1fr) 130px;gap:1rem;align-items:center;padding:.65rem .8rem;border-top:1px solid #edf2f4}.charge-unit-row:first-child{border-top:0}.charge-unit-row small{display:block;color:#7b8b96}.community-feed{max-height:720px;overflow:auto}.community-item{padding:1.15rem 1.3rem;border-top:1px solid #edf2f4}.community-item:first-child{border-top:0}.community-body{margin:.75rem 0;color:#506471;font-size:.9rem;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.request-description{display:block;max-width:290px;margin-top:.25rem;color:#73838e;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.request-update{display:grid;grid-template-columns:130px 100px auto;gap:.35rem;min-width:330px}.priority-badge{display:inline-flex;padding:.28rem .5rem;border-radius:99rem;background:#eef3f5;color:#60727e;font-size:.7rem;font-weight:750}.priority-high{background:#fff0df;color:#995518}.priority-urgent{background:#ffe7e7;color:#a12e2e}.finance-status.status-published,.finance-status.status-resolved,.finance-status.status-closed{background:#e4f5ed;color:#24724e}.finance-status.status-in_progress,.finance-status.status-waiting{background:#e9f1ff;color:#315f9b}.finance-status.status-archived{background:#eef0f2;color:#6e767c}
@media(max-width:575.98px){.setup-header{padding:1.5rem}.welcome-panel{padding:1.5rem;flex-direction:column}.brand-ribbon{height:112px}.brand-logo-login{max-width:285px!important}.admin-topbar{height:72px}.admin-brand,.admin-brand img{width:155px!important;max-width:155px!important;height:56px!important}.data-card .card-header{padding:1rem}.table>:not(caption)>*>*{padding:.75rem}.user-chip{display:none!important}.charge-unit-row{grid-template-columns:1fr 110px}}
.finance-status.status-pending_verification,.finance-status.status-submitted{background:#fff4d9;color:#8b6518}.finance-status.status-rejected{background:#ffe7e7;color:#a12e2e}.payment-review-actions{display:grid;gap:.4rem;min-width:145px}
.resident-bg{min-height:100vh;padding-bottom:86px;background:linear-gradient(160deg,#edf5f6,#f7f9fb);color:var(--ink)}.resident-topbar{position:sticky;top:0;z-index:1020;height:70px;padding:.35rem max(1rem,env(safe-area-inset-right)) .35rem max(1rem,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;background:linear-gradient(100deg,#06162c,#092640);box-shadow:0 4px 18px rgba(8,31,51,.16)}.resident-brand{display:flex;width:170px;height:58px;overflow:hidden;align-items:center}.resident-brand img{display:block;width:170px;height:58px;object-fit:contain}.resident-shell{width:min(100% - 1.5rem,760px);margin:0 auto;padding-top:.9rem}.resident-hero{min-height:150px;padding:1.35rem;border-radius:1.15rem;background:radial-gradient(circle at 90% 15%,rgba(8,167,181,.32),transparent 35%),linear-gradient(125deg,#092541,#08646b);color:#fff;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;box-shadow:0 14px 30px rgba(8,38,64,.16)}.resident-unit-switch{max-width:230px}.resident-metric{height:100%;padding:1rem;border-radius:1rem;background:#fff;box-shadow:0 7px 20px rgba(18,51,73,.07)}.resident-metric span,.resident-metric small{display:block;color:#758691;font-size:.74rem}.resident-metric strong{display:block;margin:.2rem 0;font-size:1.55rem}.resident-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.resident-action{min-height:82px;padding:.7rem .45rem;border:0;border-radius:1rem;background:#fff;color:#31515f;box-shadow:0 7px 20px rgba(18,51,73,.07);font-size:.75rem;font-weight:700}.resident-action span{display:grid;place-items:center;width:31px;height:31px;margin:0 auto .4rem;border-radius:.65rem;background:#e7f4f4;color:#087f89;font-size:1.05rem}.resident-card{overflow:hidden;border-radius:1rem;background:#fff;box-shadow:0 7px 20px rgba(18,51,73,.07)}.resident-card-title{padding:1rem 1.1rem;border-bottom:1px solid #edf2f4}.resident-list article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;border-top:1px solid #edf2f4}.resident-list article:first-child{border-top:0}.resident-list strong,.resident-list small{display:block}.resident-list small{margin-top:.15rem;color:#748590;font-size:.72rem}.resident-feed article{padding:1rem 1.1rem;border-top:1px solid #edf2f4}.resident-feed article:first-child{border-top:0}.resident-feed article>small{color:#82909a;font-size:.7rem}.resident-feed p{margin:0;color:#506471;font-size:.88rem}.resident-empty{padding:2rem 1rem;text-align:center;color:#7b8b96;font-size:.85rem}.resident-bottom-nav{position:fixed;z-index:1030;left:50%;bottom:max(.6rem,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 1.25rem),720px);display:grid;grid-template-columns:repeat(4,1fr);padding:.4rem;border:1px solid rgba(221,231,236,.8);border-radius:1rem;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(8,31,51,.18);backdrop-filter:blur(12px)}.resident-bottom-nav a{padding:.55rem .2rem;color:#617782;text-align:center;text-decoration:none;font-size:.72rem;font-weight:700}.resident-bottom-nav a:hover{color:#087f89}
@media(max-width:575.98px){.resident-hero{min-height:138px;flex-direction:column}.resident-unit-switch{width:100%;max-width:none}.resident-shell{width:min(100% - 1rem,760px)}.resident-card-title{padding:.9rem 1rem}.resident-list article{padding:.85rem 1rem}.resident-topbar{height:64px}.resident-brand,.resident-brand img{width:150px;height:52px}}

/* Resident PWA v0.8 — distinct premium mobile experience */
.resident-bg{background:#f4f7f8;color:#15313e}.resident-topbar{height:68px;border-bottom:1px solid rgba(255,255,255,.08);background:#061a30;box-shadow:none}.resident-brand,.resident-brand img{width:156px;height:52px;object-fit:contain}.resident-logout{padding:.45rem .8rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.07);color:#fff;font-size:.72rem;font-weight:700}.resident-shell{width:min(100% - 1.2rem,780px);padding:1rem 0 7.5rem}.resident-alert{margin:0 0 .8rem;border:0;border-radius:1.1rem;box-shadow:0 8px 24px rgba(15,43,59,.08)}
.finance-status.status-requested{background:#fff4d9;color:#8b6518}.finance-status.status-confirmed{background:#e4f5ed;color:#24724e}.finance-status.status-cancelled,.finance-status.status-completed{background:#edf1f3;color:#687981}
.resident-hero{position:relative;min-height:182px;padding:1.35rem;border:0;border-radius:1.65rem;background:linear-gradient(135deg,#061b35 0%,#073b55 56%,#087f89 100%);box-shadow:0 18px 42px rgba(5,37,62,.22);overflow:hidden}.resident-hero:before{content:"";position:absolute;right:-60px;top:-90px;width:220px;height:220px;border:1px solid rgba(225,185,93,.27);border-radius:50%}.resident-hero-orb{position:absolute;right:42px;bottom:-56px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(246,211,128,.72),rgba(201,145,35,.08) 62%,transparent 65%);filter:blur(.2px)}.resident-identity{position:relative;z-index:1;display:flex;align-items:center;gap:1rem}.resident-avatar{display:grid;place-items:center;width:62px;height:62px;padding:0;border:2px solid rgba(244,205,111,.8);border-radius:21px;background:linear-gradient(145deg,#e8b950,#a77722);color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.2);overflow:hidden}.resident-avatar img{width:100%;height:100%;object-fit:cover}.resident-avatar span{font-size:1.55rem;font-weight:800}.resident-greeting{margin:0;color:#7fe3e5!important;font-size:.68rem!important;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.resident-identity h1{margin:.15rem 0;color:#fff;font-size:1.55rem;font-weight:800}.resident-identity div>p:last-child{margin:0;color:rgba(255,255,255,.67);font-size:.8rem}.resident-unit-switch{position:relative;z-index:2;margin-top:1.15rem;max-width:300px}.resident-unit-switch .form-select{border-color:rgba(255,255,255,.2);border-radius:.8rem;background-color:rgba(255,255,255,.1);color:#fff;font-size:.78rem}.resident-unit-switch option{color:#15313e}
.resident-balance-panel{position:relative;z-index:3;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin:-22px .65rem 1.2rem;padding:1.05rem 1.15rem;border:1px solid rgba(222,229,231,.9);border-radius:1.35rem;background:rgba(255,255,255,.98);box-shadow:0 12px 30px rgba(12,46,64,.11)}.resident-balance-panel span,.resident-balance-panel small{display:block;color:#7b8e97;font-size:.68rem}.resident-balance-panel strong{display:block;margin:.15rem 0;font-size:1.35rem}.resident-balance-panel>div:last-child{text-align:right}.resident-balance-divider{width:1px;height:42px;background:#e5ecee}.balance-due{color:#c05252}.balance-ok{color:#087d77}
.resident-quick-section{margin-bottom:1.15rem}.resident-section-heading p,.resident-card-title .eyebrow{margin:0 0 .16rem;color:#a57a2a;font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.resident-section-heading h2,.resident-card-title h2{margin:0;color:#173640;font-size:1.08rem;font-weight:800}.resident-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:.8rem}.resident-action{position:relative;display:grid;grid-template-columns:46px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:.75rem;min-height:92px;padding:1rem;border:1px solid #e6edef;border-radius:1.25rem;background:#fff;text-align:left;box-shadow:0 8px 22px rgba(20,55,72,.06);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.resident-action:active{transform:scale(.98)}.resident-action:after{content:"";position:absolute;right:-23px;bottom:-30px;width:72px;height:72px;border-radius:50%;background:var(--action-wash)}.resident-action span{grid-row:1/3;display:grid;place-items:center;width:46px;height:46px;margin:0;border-radius:15px;background:var(--action-bg);color:#fff}.resident-action svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.resident-action strong{align-self:end;color:#173640;font-size:.84rem}.resident-action small{align-self:start;color:#82939b;font-size:.67rem}.action-payment{--action-bg:linear-gradient(145deg,#0f9e99,#08737d);--action-wash:rgba(15,158,153,.08)}.action-request{--action-bg:linear-gradient(145deg,#315f93,#173d70);--action-wash:rgba(49,95,147,.08)}.action-reserve{--action-bg:linear-gradient(145deg,#d4a347,#a8731d);--action-wash:rgba(212,163,71,.1)}.action-profile{--action-bg:linear-gradient(145deg,#7661a8,#4d3c7a);--action-wash:rgba(118,97,168,.08)}
.resident-card{margin-bottom:1rem;border:1px solid #e6edef;border-radius:1.35rem;box-shadow:0 8px 22px rgba(20,55,72,.055)}.resident-feature-card{border-color:rgba(208,164,70,.28);background:linear-gradient(180deg,#fff,#fffcf5)}.resident-card-title{padding:1rem 1.1rem}.resident-inline-button{padding:.45rem .75rem;border:0;border-radius:999px;background:#eaf6f5;color:#087d77;font-size:.7rem;font-weight:800}.resident-list article{padding:1rem 1.1rem}.resident-list strong{color:#213c47;font-size:.85rem}.resident-list small{font-size:.7rem}.resident-feed h3{margin:.25rem 0;font-size:.92rem;font-weight:800}.resident-feed p{font-size:.82rem}.resident-empty{display:flex;flex-direction:column;align-items:center;gap:.25rem}.resident-empty>span{color:#c89a41;font-size:1.5rem}.resident-empty strong{color:#415a64;font-size:.85rem}.resident-empty small{color:#86959c;font-size:.72rem}.resident-link-danger{padding:0;border:0;background:none;color:#b65454;font-size:.68rem;font-weight:700}
.resident-bottom-nav{width:min(calc(100% - 1rem),760px);grid-template-columns:repeat(6,1fr);padding:.45rem .3rem;border-color:rgba(214,225,229,.9);border-radius:1.35rem;background:rgba(255,255,255,.96);box-shadow:0 14px 35px rgba(5,31,49,.2)}.resident-bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.35rem .1rem;color:#72858e;font-size:.6rem}.resident-bottom-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.resident-bottom-nav a:hover{color:#087f89}
.resident-modal .modal-content{border:0;border-radius:1.45rem;background:#fbfcfc;box-shadow:0 24px 70px rgba(5,30,47,.27);overflow:hidden}.resident-modal .modal-header{padding:1.1rem 1.2rem;border-bottom:1px solid #e9eff1}.resident-modal .modal-title{margin:0;color:#173640;font-size:1.18rem;font-weight:800}.resident-modal .modal-body{padding:1.2rem}.resident-modal .modal-footer{border-top:1px solid #e9eff1}.resident-modal .form-control,.resident-modal .form-select{min-height:46px;border-color:#dfe8eb;border-radius:.85rem;background-color:#fff}.btn-resident-primary{padding:.65rem 1rem;border:0;border-radius:.85rem;background:linear-gradient(135deg,#0c9793,#086473);color:#fff;font-weight:800}.resident-note,.resident-area-rules{padding:.75rem .85rem;border-radius:.85rem;background:#eaf6f5;color:#3b6265;font-size:.72rem}.resident-profile-preview{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;padding:.85rem;border-radius:1rem;background:linear-gradient(135deg,#edf7f7,#f8f4e9)}.resident-profile-preview img,.resident-profile-preview>span{display:grid;place-items:center;width:56px;height:56px;border-radius:17px;background:#0b7d83;color:#fff;object-fit:cover;font-size:1.3rem;font-weight:800}.resident-profile-preview strong,.resident-profile-preview small{display:block}.resident-profile-preview small{color:#71858e;font-size:.72rem}.resident-security-link{display:flex;justify-content:space-between;width:100%;margin-top:1rem;padding:.8rem 0;border:0;border-top:1px solid #e6edef;background:transparent;color:#315d69;font-size:.8rem;font-weight:800}.directory-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;object-fit:cover}.directory-avatar-fallback{background:#e4f2f2;color:#087d77;font-weight:800}
@media(max-width:575.98px){.resident-shell{width:min(100% - .9rem,780px);padding-top:.7rem}.resident-hero{min-height:176px;padding:1.15rem;flex-direction:column}.resident-balance-panel{margin-top:-18px}.resident-action{padding:.85rem;grid-template-columns:40px 1fr;column-gap:.6rem}.resident-action span{width:40px;height:40px;border-radius:13px}.resident-action strong{font-size:.78rem}.resident-action small{font-size:.61rem}.resident-card-title,.resident-list article{padding:.9rem 1rem}.resident-topbar{height:62px}.resident-brand,.resident-brand img{width:145px;height:48px}}

/* Access, resident passes and packages */
.action-access{--action-bg:linear-gradient(145deg,#d06e42,#9e3d2f);--action-wash:rgba(208,110,66,.09)}.resident-access-card{border-color:rgba(8,127,137,.25);background:linear-gradient(180deg,#fff,#f7fdfd)}.resident-pass-button{padding:.35rem .6rem;border:0;border-radius:999px;background:#e6f4f4;color:#08777c;font-size:.67rem;font-weight:800}.resident-qr{display:grid;place-items:center;width:224px;height:224px;margin:0 auto 1rem;padding:14px;border:1px solid #e1eaec;border-radius:1.25rem;background:#fff;box-shadow:0 10px 28px rgba(15,50,65,.09)}.resident-qr svg{width:100%;height:100%}.resident-pass-code{margin:0;color:#153847;font-size:1.7rem;font-weight:900;letter-spacing:.12em}.finance-status.status-active,.finance-status.status-received{background:#e4f5ed;color:#24724e}.finance-status.status-used,.finance-status.status-picked_up,.finance-status.status-notified{background:#e9f1ff;color:#315f9b}.finance-status.status-expired,.finance-status.status-revoked,.finance-status.status-returned{background:#edf1f3;color:#687981}
.access-side-list article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-top:1px solid #edf2f4}.access-side-list article:first-child{border-top:0}.access-side-list strong,.access-side-list small{display:block}.access-side-list small{margin-top:.2rem;color:#778892;font-size:.7rem}.access-side-list article>div:last-child{text-align:right}.access-event-badge{display:inline-flex;padding:.3rem .55rem;border-radius:999px;font-size:.7rem;font-weight:800}.access-event-badge.event-entry{background:#e4f5ed;color:#24724e}.access-event-badge.event-exit{background:#e9f1ff;color:#315f9b}.access-event-badge.event-denied{background:#ffe7e7;color:#a12e2e}

/* Dedicated high-legibility gate interface */
.guard-bg{min-height:100vh;background:#edf2f4;color:#102b39}.guard-topbar{height:78px;padding:0 max(1rem,env(safe-area-inset-right)) 0 max(1rem,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;background:#041727;color:#fff;box-shadow:0 5px 22px rgba(2,20,33,.24)}.guard-brand{display:flex;width:185px;height:64px;align-items:center;overflow:hidden}.guard-brand img{width:185px;height:62px;object-fit:contain}.guard-identity{display:flex;align-items:center;gap:1.2rem;text-align:right}.guard-identity small,.guard-identity strong{display:block}.guard-identity small{color:#75c7ca;font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.guard-identity strong{font-size:.82rem}.guard-identity button{padding:.42rem .7rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.07);color:#fff;font-size:.7rem;font-weight:800}.guard-shell{width:min(100% - 2rem,1280px);margin:auto;padding:1.25rem 0 3rem}.guard-alert{border:0;border-radius:1rem;box-shadow:0 8px 22px rgba(15,43,59,.08)}.guard-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.25rem 1.4rem;border-radius:1.25rem;background:linear-gradient(120deg,#06223a,#086b71);color:#fff;box-shadow:0 15px 34px rgba(4,39,61,.18)}.guard-hero p{margin:0;color:#74d6d8;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.guard-hero h1{margin:.2rem 0;font-size:1.45rem;font-weight:850}.guard-hero span{color:rgba(255,255,255,.68);font-size:.75rem}.guard-package-cta{padding:.75rem 1rem;border:1px solid rgba(246,205,107,.55);border-radius:.9rem;background:linear-gradient(135deg,#e2b654,#b57a1e);color:#10283a;font-weight:900}.guard-search-panel{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin-bottom:1rem;padding:1.1rem;border:1px solid #dbe5e8;border-radius:1.2rem;background:#fff;box-shadow:0 8px 24px rgba(14,49,66,.07)}.guard-search-panel label{display:block;margin-bottom:.4rem;color:#506a76;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.guard-search-panel form>div{display:flex}.guard-search-panel input{width:100%;height:52px;padding:0 .95rem;border:2px solid #d7e3e7;border-radius:.8rem 0 0 .8rem;outline:0;font-size:1rem;font-weight:700}.guard-search-panel input:focus{border-color:#07868a}.guard-search-panel button{min-width:110px;border:0;border-radius:0 .8rem .8rem 0;background:#087d82;color:#fff;font-weight:900}.guard-code-form button{background:#173d64}.guard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.guard-panel{margin-bottom:1rem;border:1px solid #dce6e8;border-radius:1.2rem;background:#fff;box-shadow:0 8px 24px rgba(14,49,66,.06);overflow:hidden}.guard-panel-title{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.15rem;border-bottom:1px solid #e5ecee}.guard-panel-title h2{margin:0;font-size:1rem;font-weight:900}.guard-panel-title span{padding:.3rem .55rem;border-radius:999px;background:#e7f3f3;color:#08777c;font-size:.68rem;font-weight:900}.guard-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem;padding:.9rem}.guard-result-card{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.9rem;border:1px solid #e1eaec;border-radius:.9rem;color:inherit;text-decoration:none}.guard-result-card:hover{border-color:#6db5b8;background:#f6fbfb}.guard-result-card strong,.guard-result-card small{display:block}.guard-result-card small{color:#768891;font-size:.7rem}.guard-state{padding:.28rem .5rem;border-radius:999px;background:#edf1f3;color:#637781;font-size:.65rem;font-weight:900}.guard-state.state-active{background:#e4f5ed;color:#24724e}.guard-list article{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-top:1px solid #e8eef0}.guard-list article:first-child{border-top:0}.guard-list article>div:nth-child(2),.guard-list article>div:first-child{flex:1}.guard-list strong,.guard-list small{display:block}.guard-list small{margin-top:.15rem;color:#71848d;font-size:.7rem}.guard-package-actions{display:flex;align-items:center;gap:.4rem}.guard-small-button{padding:.42rem .55rem;border:1px solid #cfdcdf;border-radius:.65rem;background:#fff;color:#41616d;font-size:.66rem;font-weight:900}.guard-small-button.primary{border-color:#087d82;background:#087d82;color:#fff}.guard-event-icon{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:11px;background:#edf2f4;font-size:1.1rem;font-weight:900}.guard-event-icon.event-entry{background:#e4f5ed;color:#24724e}.guard-event-icon.event-exit{background:#e9f1ff;color:#315f9b}.guard-event-icon.event-denied{background:#ffe7e7;color:#a12e2e}.guard-empty{padding:2.2rem 1rem;color:#73858e;text-align:center;font-size:.82rem}.guard-modal{border:0;border-radius:1.2rem;overflow:hidden}.guard-back{display:inline-flex;margin-bottom:1rem;color:#365b69;text-decoration:none;font-weight:800}.guard-verify-shell{max-width:880px}.guard-verdict{padding:2.3rem 1.5rem;border-radius:1.4rem;color:#fff;text-align:center;box-shadow:0 17px 38px rgba(11,47,61,.16)}.guard-verdict.allowed{background:linear-gradient(135deg,#0c775f,#14a47d)}.guard-verdict.denied{background:linear-gradient(135deg,#8c2930,#ca4d4d)}.guard-verdict>span{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 1rem;border:3px solid rgba(255,255,255,.65);border-radius:50%;font-size:2.8rem;font-weight:900}.guard-verdict p{margin:0;color:rgba(255,255,255,.72);font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.guard-verdict h1{margin:.3rem 0;font-size:2rem;font-weight:900}.guard-verdict small{color:rgba(255,255,255,.75)}.guard-credential{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:1rem 0;border:1px solid #dce5e8;border-radius:1.2rem;background:#dce5e8;overflow:hidden}.guard-credential div{padding:1rem;background:#fff}.guard-credential span,.guard-credential strong{display:block}.guard-credential span{color:#73858e;font-size:.65rem;font-weight:800;text-transform:uppercase}.guard-credential strong{margin-top:.2rem;font-size:.9rem}.guard-decision{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.guard-decision form{display:contents}.guard-decision-button{min-height:68px;border:0;border-radius:1rem;color:#fff;font-size:1rem;font-weight:900}.guard-decision-button.allow{background:#118461}.guard-decision-button.exit{background:#285d92}.guard-decision-button.deny{background:#ba4348}
@media(max-width:767.98px){.guard-topbar{height:68px}.guard-brand,.guard-brand img{width:145px;height:54px}.guard-identity>div{display:none}.guard-shell{width:min(100% - 1rem,1280px);padding-top:.7rem}.guard-search-panel,.guard-grid{grid-template-columns:1fr}.guard-result-grid{grid-template-columns:1fr}.guard-search-panel input{height:48px}.guard-search-panel button{min-width:90px}.guard-credential{grid-template-columns:1fr 1fr}.guard-decision{grid-template-columns:1fr}.guard-hero{padding:1rem}.guard-hero h1{font-size:1.15rem}.guard-package-cta{padding:.65rem .75rem}}
.guard-hero-actions{display:flex;gap:.55rem}.guard-package-cta,.guard-scan-cta{padding:.75rem 1rem;border-radius:.9rem;font-weight:900}.guard-scan-cta{border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#fff}.guard-scanner{position:relative;aspect-ratio:4/3;border-radius:1rem;background:#0b1920;overflow:hidden}.guard-scanner video{width:100%;height:100%;object-fit:cover}.guard-scan-frame{position:absolute;inset:18%;border:3px solid #f2c869;border-radius:1rem;box-shadow:0 0 0 999px rgba(0,0,0,.25)}.guard-scan-status{margin:.8rem 0;color:#365b69;text-align:center;font-weight:800}
@media(max-width:767.98px){.guard-hero-actions{flex-direction:column}.guard-scan-cta,.guard-package-cta{padding:.55rem .65rem;font-size:.72rem}}

/* HabitaOS v1.0 — consolidated resident experience, communications and safety */
.resident-topbar{height:64px;background:#031328;border-bottom:1px solid rgba(255,255,255,.09)}.resident-header-actions{display:flex;align-items:center;gap:.55rem}.resident-header-bell{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.17);border-radius:12px;background:rgba(255,255,255,.07);color:#fff}.resident-header-bell svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}.resident-header-bell b{position:absolute;right:-4px;top:-4px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:2px solid #031328;border-radius:999px;background:#e33b3b;color:#fff;font-size:9px}.resident-hero-compact{min-height:118px;padding:1rem 1.15rem;border-radius:1.35rem;background:linear-gradient(120deg,#06192f,#06344b 65%,#087782);align-items:center}.resident-hero-compact:before{width:150px;height:150px;right:-45px;top:-70px}.resident-hero-compact .resident-avatar{width:52px;height:52px;border-radius:17px}.resident-hero-compact .resident-identity h1{font-size:1.25rem}.resident-hero-compact .resident-unit-switch{margin:0;max-width:205px}.resident-balance-strip{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:.65rem;margin:-12px .55rem 1.05rem;padding:.78rem .9rem;border:1px solid #e0e9ec;border-radius:1rem;background:#fff;box-shadow:0 9px 25px rgba(10,43,60,.1)}.resident-balance-strip span,.resident-balance-strip small{display:block;color:#7c8e97;font-size:.62rem}.resident-balance-strip strong{display:block;font-size:1rem}.resident-balance-strip button{border:0;background:transparent;color:#087b7e;font-size:.68rem;font-weight:900;white-space:nowrap}.resident-actions-light{grid-template-columns:repeat(2,1fr)}.resident-actions-light .resident-action{min-height:90px;border-color:#e3ecef;background:var(--action-card);box-shadow:0 8px 22px rgba(12,48,65,.055)}.resident-actions-light .resident-action:after{display:none}.resident-actions-light .resident-action>span{box-shadow:0 7px 17px var(--icon-shadow)}.resident-actions-light .resident-action>b{position:absolute;right:10px;top:9px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#173f63;color:#fff;font-size:10px}.action-access{--action-card:linear-gradient(135deg,#f2faf9,#e6f5f4);--action-bg:linear-gradient(145deg,#0f9995,#08747d);--icon-shadow:rgba(8,127,137,.22)}.action-payment{--action-card:linear-gradient(135deg,#f4f8fc,#eaf1f8);--action-bg:linear-gradient(145deg,#3973a9,#1c4b7b);--icon-shadow:rgba(41,92,139,.2)}.action-concierge{--action-card:linear-gradient(135deg,#fffaf0,#f9efd8);--action-bg:linear-gradient(145deg,#d6a84d,#a97822);--icon-shadow:rgba(186,134,37,.22)}.action-notifications{--action-card:linear-gradient(135deg,#f7f4fc,#eee8f7);--action-bg:linear-gradient(145deg,#7862a8,#4f3d7b);--icon-shadow:rgba(91,68,139,.2)}.action-profile{--action-card:linear-gradient(135deg,#f5f8fa,#e9eff2);--action-bg:linear-gradient(145deg,#607985,#3c5661);--icon-shadow:rgba(60,86,97,.2)}.action-panic{--action-card:linear-gradient(135deg,#fff4f4,#fee7e7);--action-bg:linear-gradient(145deg,#f04444,#c91624);--icon-shadow:rgba(218,32,41,.25)}.resident-home-insights{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.resident-home-insights button{display:flex;align-items:center;gap:.65rem;min-width:0;padding:.82rem;border:1px solid #e3ecef;border-radius:1rem;background:#fff;text-align:left;box-shadow:0 7px 18px rgba(15,49,65,.045)}.resident-home-insights>button>span{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:11px;background:#e8f5f4;color:#087b7e;font-weight:900}.resident-home-insights strong,.resident-home-insights small{display:block}.resident-home-insights strong{color:#29434e;font-size:.74rem}.resident-home-insights small{color:#83939a;font-size:.59rem}
.resident-workspace{position:fixed;z-index:1040;inset:64px 0 0;display:flex;flex-direction:column;background:#f2f6f7;transform:translateX(102%);transition:transform .25s ease;visibility:hidden}.resident-workspace.open{transform:translateX(0);visibility:visible}.workspace-open{overflow:hidden}.resident-workspace-header{display:flex;align-items:center;gap:.9rem;padding:.9rem max(1rem,calc((100% - 760px)/2));background:linear-gradient(120deg,#04182e,#07505d);color:#fff;box-shadow:0 8px 24px rgba(4,29,47,.17)}.resident-workspace-header>button{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.08);color:#fff;font-size:1.7rem}.resident-workspace-header small{display:block;color:#76d5d7;font-size:.62rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.resident-workspace-header h2{margin:.1rem 0 0;font-size:1.15rem;font-weight:900}.resident-workspace-body{width:min(100% - 1rem,760px);margin:0 auto;padding:1rem 0 7rem;overflow:auto}.resident-tabs{display:flex;gap:.35rem;margin-bottom:.85rem;padding:.3rem;border:1px solid #dfe8eb;border-radius:1rem;background:#fff;overflow-x:auto}.resident-tabs button{flex:1;min-width:max-content;padding:.62rem .75rem;border:0;border-radius:.75rem;background:transparent;color:#6e818b;font-size:.71rem;font-weight:900}.resident-tabs button.active{background:#0b354c;color:#fff;box-shadow:0 5px 13px rgba(8,45,66,.16)}.resident-tabs button span{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:.2rem;border-radius:999px;background:rgba(255,255,255,.18);font-size:9px}.resident-tab-pane{display:none}.resident-tab-pane.active{display:block}.resident-premium-form{padding:1rem;border:1px solid #dfe8eb;border-radius:1.25rem;background:#fff;box-shadow:0 9px 24px rgba(11,46,62,.055)}.resident-premium-form h3{font-size:1rem;font-weight:900}.resident-premium-form .form-control,.resident-premium-form .form-select{min-height:47px;border-radius:.82rem;background:#fbfdfd}.form-intro{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;padding:.85rem;border-radius:1rem;background:linear-gradient(135deg,#e8f6f5,#f5fbfb)}.form-intro>span{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:14px;background:#087f89;color:#fff}.form-intro svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.form-intro strong,.form-intro small{display:block}.form-intro strong{font-size:.82rem}.form-intro small{color:#71868e;font-size:.67rem}.form-intro.gold{background:linear-gradient(135deg,#fff6df,#fffdf7)}.form-intro.gold>span{background:#c49335}.workspace-balance{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:.8rem}.workspace-balance div{padding:1rem;border-radius:1rem;background:linear-gradient(135deg,#07213a,#08727a);color:#fff}.workspace-balance small,.workspace-balance strong{display:block}.workspace-balance small{color:#81d5d6;font-size:.65rem}.workspace-balance strong{font-size:1.3rem}.push-activation{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem;padding:1rem;border-radius:1.15rem;background:linear-gradient(135deg,#071f39,#0b6970);color:#fff}.push-activation strong,.push-activation small{display:block}.push-activation strong{font-size:.82rem}.push-activation small{color:rgba(255,255,255,.66);font-size:.65rem}.push-activation button{padding:.55rem .8rem;border:1px solid rgba(255,255,255,.3);border-radius:.8rem;background:#fff;color:#075a62;font-size:.7rem;font-weight:900}.notification-list{display:grid;gap:.65rem}.notification-item{display:grid;grid-template-columns:8px 1fr auto;gap:.7rem;padding:.9rem;border:1px solid #e0e8eb;border-radius:1rem;background:#fff}.notification-item>span{width:8px;border-radius:99px;background:#5498a0}.notification-item.severity-success>span{background:#28a473}.notification-item.severity-warning>span{background:#dd9d2a}.notification-item.severity-critical>span{background:#dc3039}.notification-item.read{opacity:.72}.notification-item small,.notification-item strong{display:block}.notification-item small{color:#86969d;font-size:.61rem}.notification-item strong{margin:.12rem 0;color:#28434e;font-size:.82rem}.notification-item p{margin:0;color:#60747d;font-size:.71rem}.notification-item form button{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:10px;background:#e7f4f3;color:#087b7e;font-weight:900}.panic-overlay{position:fixed;z-index:1100;inset:0;display:grid;place-items:center;padding:1rem;background:rgba(33,0,3,.78);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:.2s}.panic-overlay.open{opacity:1;visibility:visible}.panic-dialog{width:min(100%,400px);padding:2rem 1.25rem;border:1px solid rgba(255,255,255,.2);border-radius:1.6rem;background:linear-gradient(145deg,#d51222,#8e0712);color:#fff;text-align:center;box-shadow:0 28px 80px rgba(40,0,4,.55)}.panic-dialog>span{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 1rem;border:2px solid rgba(255,255,255,.55);border-radius:24px;background:rgba(255,255,255,.12)}.panic-dialog svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.8}.panic-dialog small{font-weight:900;letter-spacing:.12em;text-transform:uppercase}.panic-dialog h2{margin:.4rem 0;font-size:1.8rem;font-weight:900}.panic-dialog p{color:rgba(255,255,255,.72)}.panic-dialog button{width:100%;padding:.8rem;border:0;border-radius:1rem;background:#fff;color:#a40d18;font-weight:900}
.resident-bottom-nav{grid-template-columns:repeat(5,1fr);overflow:visible}.resident-bottom-nav button,.resident-bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.35rem .1rem;border:0;background:transparent;color:#72858e;text-align:center;text-decoration:none;font-size:.6rem;font-weight:700}.resident-bottom-nav button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.resident-bottom-nav .resident-nav-primary{position:relative;margin-top:-22px;color:#fff}.resident-bottom-nav .resident-nav-primary svg{box-sizing:content-box;width:24px;height:24px;padding:14px;border:4px solid #f4f7f8;border-radius:50%;background:linear-gradient(145deg,#0b9794,#075f6b);box-shadow:0 8px 20px rgba(6,87,96,.3)}.resident-bottom-nav .resident-nav-primary span{color:#08737a}
.communications-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem;border-radius:1.2rem;background:linear-gradient(120deg,#071d37,#086e75);color:#fff}.communications-hero h1{margin:0;font-weight:900}.communications-hero p{margin:.25rem 0 0;color:rgba(255,255,255,.68)}.communications-live{padding:.75rem 1rem;border:1px solid rgba(255,255,255,.22);border-radius:1rem;background:rgba(255,255,255,.08);text-align:center}.communications-live span,.communications-live small{display:block}.communications-live span{font-size:1.5rem;font-weight:900}.communications-live small{font-size:.65rem}.communications-channels{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.communications-channels label{padding:.75rem;border:1px solid #dfe8eb;border-radius:.8rem;background:#f8fbfc;font-size:.78rem;font-weight:700}.emergency-admin-card{border:1px solid #f1b7bb!important}.emergency-admin-card .card-header{background:#fff3f4}.emergency-admin-list article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-top:1px solid #f3dadd}.emergency-admin-list strong,.emergency-admin-list small{display:block}.emergency-admin-list small{color:#7d6063;font-size:.7rem}.admin-bg.has-live-emergency .admin-topbar{box-shadow:inset 0 -4px #e42f3b,0 4px 22px rgba(8,31,51,.2)}
.guard-notice-cta{padding:.75rem 1rem;border:1px solid rgba(255,255,255,.28);border-radius:.9rem;background:rgba(255,255,255,.12);color:#fff;font-weight:900}.guard-emergency-panel{margin-bottom:1rem;border:2px solid #e43c46;border-radius:1.2rem;background:#fff4f5;box-shadow:0 10px 30px rgba(170,20,31,.13);overflow:hidden}.guard-emergency-panel .guard-panel-title{background:#ad1320;color:#fff}.guard-emergency-panel .guard-panel-title span{background:#fff;color:#ad1320}.guard-event-icon.panic{background:#d91d2b;color:#fff}.guard-small-button.warning{border-color:#d48f1d;background:#eca72f;color:#3c2903}.guard-bg.has-live-emergency .guard-topbar{box-shadow:inset 0 -5px #ec3542,0 5px 22px rgba(2,20,33,.3)}
.live-emergency-toast{position:fixed;z-index:1200;right:1rem;top:1rem;width:min(calc(100% - 2rem),390px);padding:1rem 1.1rem;border:1px solid rgba(255,255,255,.35);border-radius:1rem;background:linear-gradient(135deg,#d71f2e,#8d0711);color:#fff;text-decoration:none;box-shadow:0 20px 55px rgba(88,0,7,.38);transform:translateY(-150%);opacity:0;transition:.25s}.live-emergency-toast.show{transform:translateY(0);opacity:1}.live-emergency-toast b,.live-emergency-toast span{display:block}.live-emergency-toast b{font-size:.8rem}.live-emergency-toast span{margin-top:.2rem;color:rgba(255,255,255,.75);font-size:.7rem}
@media(max-width:767.98px){.resident-home-insights{grid-template-columns:1fr}.resident-hero-compact{flex-direction:row}.resident-hero-compact .resident-unit-switch{display:none}.resident-workspace{inset:62px 0 0}.communications-hero{align-items:flex-start}.communications-channels{grid-template-columns:1fr}.guard-notice-cta,.guard-scan-cta,.guard-package-cta{padding:.55rem .65rem;font-size:.68rem}}

/* HabitaOS v1.0.1 — installable PWA and resident-first home */
.resident-brand-square,
.resident-brand-square img{
    width:56px;
    height:56px;
}
.resident-brand-square{
    justify-content:center;
    overflow:visible;
}
.resident-brand-square img{
    object-fit:contain;
    filter:drop-shadow(0 4px 10px rgba(0,0,0,.2));
}
.resident-hero-profile{
    min-height:154px;
    padding:1.2rem 1.25rem;
    border-radius:1.45rem;
    background:
        radial-gradient(circle at 92% 18%,rgba(12,164,171,.28),transparent 31%),
        linear-gradient(122deg,#04172e 0%,#07304a 57%,#08747c 100%);
    box-shadow:0 16px 34px rgba(4,30,52,.2);
}
.resident-hero-profile:after{
    content:"";
    position:absolute;
    right:42px;
    bottom:-56px;
    width:126px;
    height:126px;
    border:1px solid rgba(238,198,100,.2);
    border-radius:50%;
}
.resident-hero-profile .resident-identity{
    gap:1.05rem;
}
.resident-hero-profile .resident-avatar{
    width:74px;
    height:74px;
    border:3px solid #e8c36a;
    border-radius:50%;
    box-shadow:0 0 0 4px rgba(255,255,255,.08),0 12px 25px rgba(0,0,0,.25);
}
.resident-hero-profile .resident-identity h1{
    max-width:390px;
    margin:.16rem 0 .1rem;
    font-size:1.48rem;
    line-height:1.08;
}
.resident-profile-link{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    margin-top:.42rem;
    padding:0;
    border:0;
    background:transparent;
    color:rgba(255,255,255,.82);
    font-size:.69rem;
    font-weight:750;
}
.resident-profile-link span{
    color:#f1ca69;
    font-size:1rem;
    line-height:1;
}
.resident-balance-strip{
    margin-top:-15px;
    margin-bottom:1rem;
    padding:.9rem 1rem;
    border-radius:1.15rem;
}
.resident-panic-strip{
    display:grid;
    grid-template-columns:46px auto 1fr auto;
    align-items:center;
    gap:.72rem;
    width:100%;
    margin:0 0 1.15rem;
    padding:.72rem .9rem;
    border:1px solid #efb8bd;
    border-radius:1.1rem;
    background:linear-gradient(135deg,#fff3f4 0%,#ffe1e4 100%);
    color:#99202a;
    text-align:left;
    box-shadow:0 8px 20px rgba(145,22,34,.1);
}
.resident-panic-strip>span{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:15px;
    background:linear-gradient(145deg,#f13c49,#bd1320);
    color:#fff;
    box-shadow:0 7px 16px rgba(194,22,34,.25);
}
.resident-panic-strip svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}
.resident-panic-strip strong{
    font-size:.83rem;
    font-weight:900;
}
.resident-panic-strip small{
    color:#9a555b;
    font-size:.65rem;
}
.resident-panic-strip>b{
    color:#c32430;
    font-size:1.35rem;
}
.resident-home-announcements{
    overflow:hidden;
    margin-bottom:1.25rem;
    border:1px solid #dfe8eb;
    border-radius:1.3rem;
    background:#fff;
    box-shadow:0 10px 27px rgba(8,42,60,.07);
}
.resident-home-section-title{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:1rem;
    padding:1rem 1.05rem .85rem;
    background:linear-gradient(125deg,#061b32,#0b3d50);
    color:#fff;
}
.resident-home-section-title p{
    margin:0 0 .1rem;
    color:#72d5d7;
    font-size:.61rem;
    font-weight:900;
    letter-spacing:.11em;
    text-transform:uppercase;
}
.resident-home-section-title h2{
    margin:0;
    font-size:1.2rem;
    font-weight:900;
}
.resident-home-section-title button{
    padding:0;
    border:0;
    background:transparent;
    color:#fff;
    font-size:.68rem;
    font-weight:850;
}
.resident-home-section-title button span{
    display:inline-grid;
    place-items:center;
    min-width:20px;
    height:20px;
    margin-left:.2rem;
    padding:0 5px;
    border-radius:999px;
    background:#d7aa48;
    color:#082137;
    font-size:.59rem;
}
.resident-announcement-list>button{
    display:grid;
    grid-template-columns:1fr auto;
    gap:.9rem;
    width:100%;
    padding:.92rem 1.05rem;
    border:0;
    border-top:1px solid #e8eef0;
    background:#fff;
    color:#203a47;
    text-align:left;
}
.resident-announcement-list>button:first-child{
    border-top:0;
}
.resident-announcement-list small,
.resident-announcement-list strong,
.resident-announcement-list p{
    display:block;
}
.resident-announcement-list small{
    color:#778992;
    font-size:.62rem;
    font-weight:800;
}
.resident-announcement-list strong{
    margin:.15rem 0;
    font-size:.82rem;
    line-height:1.2;
}
.resident-announcement-list p{
    margin:0;
    color:#71838b;
    font-size:.67rem;
    line-height:1.35;
}
.resident-announcement-list time{
    color:#556b76;
    font-size:.62rem;
    font-weight:900;
    text-transform:uppercase;
    white-space:nowrap;
}
.resident-announcements-empty{
    display:flex;
    align-items:center;
    gap:.75rem;
    padding:1.2rem 1.05rem;
}
.resident-announcements-empty>span{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:13px;
    background:#e5f4ee;
    color:#22805c;
    font-weight:900;
}
.resident-announcements-empty strong,
.resident-announcements-empty small{
    display:block;
}
.resident-announcements-empty strong{
    color:#29434e;
    font-size:.8rem;
}
.resident-announcements-empty small{
    color:#7e8e95;
    font-size:.66rem;
}
.resident-bottom-nav .resident-nav-primary svg{
    background:linear-gradient(145deg,#e8c463,#b17c20);
    box-shadow:0 8px 22px rgba(171,119,28,.34);
}
.resident-bottom-nav .resident-nav-primary span{
    color:#a8731d;
}
@media(max-width:575.98px){
    .resident-brand-square,
    .resident-brand-square img{width:52px;height:52px}
    .resident-hero-profile{min-height:150px;padding:1rem;flex-direction:row}
    .resident-hero-profile .resident-avatar{width:68px;height:68px}
    .resident-hero-profile .resident-identity h1{font-size:1.32rem}
    .resident-panic-strip{grid-template-columns:44px 1fr auto}
    .resident-panic-strip>span{width:44px;height:44px}
    .resident-panic-strip small{display:none}
}

/* HabitaOS v1.0.2 · navegación residente y portada refinada */
.resident-hero-profile .resident-identity{
    align-items:center;
}
.resident-panic-strip{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.48rem;
    min-height:48px;
    margin:0 0 1.15rem;
    padding:.62rem 1rem;
    border:1px solid #bcddef;
    border-radius:999px;
    background:linear-gradient(180deg,#eaf7ff 0%,#d8effc 100%);
    color:#173f5b;
    text-align:center;
    box-shadow:0 5px 13px rgba(31,99,137,.13),inset 0 1px 0 rgba(255,255,255,.9);
}
.resident-panic-strip>span{
    display:inline-flex;
    width:auto;
    height:auto;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    font-size:1.15rem;
    line-height:1;
}
.resident-panic-strip strong{
    color:#173f5b;
    font-size:.78rem;
    font-weight:850;
}
.resident-panic-strip small{
    margin-left:.18rem;
    color:#5d7d90;
    font-size:.61rem;
    font-weight:700;
}
.resident-home-announcements{
    border-color:#e4ecef;
    box-shadow:0 8px 23px rgba(8,42,60,.055);
}
.resident-home-section-title{
    align-items:center;
    padding:.95rem 1.05rem .8rem;
    border-bottom:1px solid #e8eef0;
    background:linear-gradient(135deg,#ffffff 0%,#f5fafb 100%);
    color:#203a47;
}
.resident-home-section-title p{
    color:#b3822d;
}
.resident-home-section-title h2{
    color:#203a47;
}
.resident-home-section-title button{
    color:#167282;
}
.resident-home-section-title button span{
    background:#e9f5f6;
    color:#167282;
}
@media(max-width:575.98px){
    .resident-panic-strip{display:flex;min-height:46px}
    .resident-panic-strip>span{width:auto;height:auto}
    .resident-panic-strip small{display:none}
}

/* HabitaOS v1.0.3 · entrada e instalación PWA */
.resident-login-bg{
    background:radial-gradient(circle at 50% 0,rgba(8,167,181,.18),transparent 34%),linear-gradient(150deg,#031328 0,#08243a 44%,#eef4f6 44.2%,#f4f8fa 100%);
}
.resident-install-button{
    border:1px solid #d6af58;
    background:linear-gradient(135deg,#f5d982,#bd8127);
    color:#10243b;
    font-weight:850;
    box-shadow:0 8px 22px rgba(166,112,27,.2);
}
.resident-install-button:hover,.resident-install-button:focus{
    border-color:#c18a32;
    background:linear-gradient(135deg,#ffe69b,#c88e31);
    color:#071a31;
}
.resident-install-button span{
    display:inline-grid;
    place-items:center;
    width:22px;
    height:22px;
    margin-right:.35rem;
    border:1px solid rgba(7,26,49,.26);
    border-radius:7px;
}
.resident-install-status{
    padding:.65rem .75rem;
    border-radius:.7rem;
    background:#edf6f6;
    color:#35646a;
    font-size:.72rem;
    text-align:center;
}

/* HabitaOS v1.1.0 · estado de cuenta, header y controles condicionales */
.resident-account-state{position:absolute;z-index:3;right:1rem;top:1rem;display:flex;align-items:center;gap:.45rem;padding:.42rem .65rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(2,15,29,.46);color:#fff;font-size:.65rem;font-weight:850;backdrop-filter:blur(8px)}
.resident-account-state i{width:9px;height:9px;border-radius:50%;background:#37d58a;box-shadow:0 0 0 4px rgba(55,213,138,.13),0 0 13px #37d58a}
.resident-account-state.state-pending i{background:#ffc34d;box-shadow:0 0 0 4px rgba(255,195,77,.13),0 0 13px #ffc34d}
.resident-account-state.state-delinquent i{background:#ff424c;box-shadow:0 0 0 4px rgba(255,66,76,.14),0 0 13px #ff424c}
.resident-header-bell{border-color:rgba(56,222,218,.45);background:linear-gradient(145deg,#0b8d92,#08636f);color:#fff;box-shadow:0 6px 16px rgba(4,135,143,.24)}
.resident-logout{display:grid;place-items:center;width:38px;height:38px;padding:0;border-color:rgba(255,166,91,.5);border-radius:12px;background:linear-gradient(145deg,#e76c3d,#b53b2a);color:#fff;box-shadow:0 6px 16px rgba(181,59,42,.22)}
.resident-logout svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.resident-announcement-count{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#edf7f7;color:#11727d;font-size:.68rem;font-weight:900}
.resident-announcement-list>article{display:grid;grid-template-columns:1fr auto;gap:.9rem;width:100%;padding:.92rem 1.05rem;border-top:1px solid #e8eef0;background:#fff;color:#203a47;text-align:left}
.resident-announcement-list>article:first-child{border-top:0}
.payment-method-note{margin:.8rem 0 0;padding:.7rem .8rem;border-radius:.8rem;background:#eef7f7;color:#41656a;font-size:.69rem}
.payment-conditional[hidden]{display:none!important}
.config-line>div{min-width:0}.config-line>div span,.config-line>div small{display:block}
@media(max-width:575.98px){.resident-account-state{right:.75rem;top:.75rem;padding:.35rem .52rem;font-size:.58rem}.resident-hero-profile .resident-identity{padding-top:1.7rem}.resident-hero-profile{min-height:142px}}
.credential-delivery-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;border:1px solid #c8e6dc;border-radius:1rem;background:linear-gradient(135deg,#effaf6,#fff9e9);box-shadow:0 8px 22px rgba(26,93,76,.08)}
.credential-delivery-card code{padding:.28rem .45rem;border-radius:.45rem;background:#102c3a;color:#fff;font-size:.9rem;letter-spacing:.04em}
.guard-user-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.3rem}.guard-user-actions form{margin:0}
@media(max-width:767.98px){.credential-delivery-card{align-items:flex-start;flex-direction:column}.resident-hero-profile{min-height:132px;padding:.8rem .9rem}.resident-hero-profile .resident-avatar{width:58px;height:58px}.resident-hero-profile .resident-identity h1{font-size:1.15rem}.resident-hero-profile .resident-identity{gap:.7rem;padding-top:1.25rem}}

/* HabitaOS v1.2.0 · áreas visuales, HabitaPass offline y emergencia inmediata */
.resident-header-bell{border-color:#f1d46e;background:linear-gradient(145deg,#fff2a8,#edcf61);color:#58430b;text-decoration:none;box-shadow:0 6px 16px rgba(221,184,54,.22)}
.resident-header-bell b{border-color:#031328;background:#956a14;color:#fff}
.resident-logout{border-color:rgba(160,187,199,.42);background:linear-gradient(145deg,#6f8995,#496570);color:#fff;box-shadow:0 6px 16px rgba(42,70,81,.2)}.resident-logout-form{position:relative;z-index:2;display:flex;margin:0}
.resident-home-areas{margin:0 0 1.15rem;padding:1rem 0 1rem;border:1px solid #dce8eb;border-radius:1.3rem;background:linear-gradient(135deg,#eaf7ff 0%,#e6f5f3 58%,#f9f4e7 100%);box-shadow:0 9px 24px rgba(8,52,72,.07);overflow:hidden}
.resident-areas-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:0 1rem .85rem}.resident-areas-heading p{margin:0;color:#157e88;font-size:.59rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.resident-areas-heading h2{margin:.1rem 0 0;color:#183c4c;font-size:1.1rem;font-weight:900}.resident-areas-heading button{padding:0;border:0;background:transparent;color:#9d7023;font-size:.68rem;font-weight:900}.resident-area-carousel{display:flex;gap:.7rem;padding:0 1rem .2rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.resident-area-carousel::-webkit-scrollbar{display:none}.resident-area-card{position:relative;flex:0 0 148px;min-height:158px;padding:.75rem;border:1px solid rgba(255,255,255,.9);border-radius:1.15rem;background:rgba(255,255,255,.92);color:#183b4b;text-align:left;scroll-snap-align:start;box-shadow:0 8px 20px rgba(10,53,72,.09)}.resident-area-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 0 .55rem;border-radius:16px;background:linear-gradient(145deg,#ecf8fa,#d9eff2);font-size:1.7rem;box-shadow:inset 0 0 0 1px rgba(21,126,136,.08)}.resident-area-card strong,.resident-area-card small{display:block}.resident-area-card strong{font-size:.8rem;line-height:1.15}.resident-area-card small{margin-top:.2rem;color:#71868f;font-size:.58rem}.resident-area-card i{display:inline-flex;margin-top:.55rem;padding:.27rem .5rem;border-radius:999px;background:#dff7ec;color:#17805b;font-size:.56rem;font-style:normal;font-weight:900}
.resident-pass-offline-note{margin:.75rem 0 0;padding:.65rem .75rem;border-radius:.8rem;background:#eaf7f5;color:#356d70;font-size:.68rem;font-weight:700}.resident-qr svg{max-width:100%;height:auto}
.panic-overlay{background:rgba(3,19,40,.62);backdrop-filter:blur(9px)}.panic-dialog{width:min(100%,430px);padding:2rem 1.35rem 1.35rem;border:1px solid rgba(255,255,255,.86);border-radius:1.7rem;background:#fff;color:#172f3b;box-shadow:0 28px 80px rgba(4,24,41,.34)}.panic-dialog .panic-siren{display:block;width:auto;height:auto;margin:0 0 1rem;border:0;border-radius:0;background:transparent;color:inherit;font-size:4.8rem;line-height:1}.panic-dialog h2{max-width:360px;margin:0 auto .8rem;color:#111;font-size:1.45rem;line-height:1.18}.panic-dialog .panic-counter{display:block;margin:.2rem 0 .55rem;color:#ed4053;font-size:4.2rem;line-height:1}.panic-dialog p{margin-bottom:1.25rem;color:#667b85}.panic-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:.6rem}.panic-dialog .panic-actions button{width:auto;min-height:48px;padding:.7rem .8rem;border-radius:.9rem;font-size:.75rem}.panic-dialog .panic-cancel{border:1px solid #1a8bb1;background:#fff;color:#167a9b}.panic-dialog .panic-now{border:1px solid #168bb6;background:#168bb6;color:#fff}.panic-dialog .panic-now:disabled{opacity:.65}
.area-admin-icon{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,#ecf8fa,#dbeff2);font-size:1.55rem}.area-admin-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem}.area-admin-item .area-admin-copy{min-width:0}.area-admin-item .area-admin-copy strong,.area-admin-item .area-admin-copy small{display:block}.area-admin-item .area-admin-copy small{color:#758890}.area-icon-picker{font-size:1rem}
@media(max-width:575.98px){.resident-home-areas{margin-left:0;margin-right:0}.resident-area-card{flex-basis:138px}.panic-dialog{padding:1.5rem 1rem 1rem}.panic-dialog .panic-siren{font-size:4rem}.panic-actions{grid-template-columns:1fr 1.25fr}.panic-dialog .panic-actions button{font-size:.68rem}}

/* HabitaOS v1.3.0 · directorio comunitario de mascotas */
.resident-pet-directory{margin:1rem 0 0;padding:1rem 0 .85rem;border:1px solid #e2e9e7;border-radius:1.35rem;background:linear-gradient(145deg,#fffdf8,#f5faf8);box-shadow:0 9px 24px rgba(22,60,67,.06);overflow:hidden}.resident-pet-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1rem .9rem}.resident-pet-heading p{margin:0;color:#a87928;font-size:.59rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.resident-pet-heading h2{margin:.12rem 0;color:#183b47;font-size:1.08rem;font-weight:900}.resident-pet-heading small{display:block;color:#778b91;font-size:.64rem}.resident-pet-heading>button{display:flex;align-items:center;gap:.32rem;padding:.48rem .72rem;border:1px solid #c8e2dc;border-radius:999px;background:#eaf7f2;color:#17755e;font-size:.67rem;font-weight:900}.resident-pet-heading>button span{font-size:1rem;line-height:1}.resident-pet-carousel{display:flex;gap:.75rem;padding:0 1rem .35rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.resident-pet-carousel::-webkit-scrollbar{display:none}.resident-pet-card{position:relative;flex:0 0 166px;border:1px solid #e1e9e7;border-radius:1.15rem;background:#fff;box-shadow:0 7px 20px rgba(27,64,70,.075);overflow:hidden;scroll-snap-align:start}.resident-pet-photo{display:block;width:100%;height:132px;padding:0;border:0;background:#e6efed}.resident-pet-photo img{width:100%;height:100%;object-fit:cover}.resident-pet-copy{padding:.7rem .75rem .65rem}.resident-pet-copy>span{display:inline-flex;padding:.2rem .4rem;border-radius:999px;background:#edf7f3;color:#28745e;font-size:.52rem;font-weight:900;text-transform:uppercase}.resident-pet-copy h3{margin:.35rem 0 .2rem;color:#183944;font-size:.95rem;font-weight:900}.resident-pet-copy strong,.resident-pet-copy small{display:block}.resident-pet-copy strong{color:#a57425;font-size:.65rem}.resident-pet-copy strong i{font-style:normal}.resident-pet-copy small{margin-top:.18rem;color:#7c8c91;font-size:.58rem}.resident-pet-owner-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #edf1f0}.resident-pet-owner-actions form{display:flex}.resident-pet-owner-actions button{width:100%;padding:.48rem .2rem;border:0;background:#f8faf9;color:#497078;font-size:.58rem;font-weight:850}.resident-pet-owner-actions form button{color:#9b6252;border-left:1px solid #edf1f0}.resident-pet-empty{display:flex;align-items:center;gap:.75rem;margin:0 1rem;padding:1rem;border-radius:1rem;background:#f0f7f4;color:#536f70}.resident-pet-empty>span{font-size:1.8rem}.resident-pet-empty strong,.resident-pet-empty small{display:block}.resident-pet-empty strong{font-size:.78rem}.resident-pet-empty small{font-size:.63rem}.resident-pet-privacy{margin:.65rem 1rem 0;color:#879498;font-size:.58rem;text-align:center}.pet-form-photo{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.8rem;border-radius:1rem;background:linear-gradient(135deg,#edf8f3,#fff8e9)}.pet-form-photo>span{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:15px;background:#fff;font-size:1.45rem}.pet-form-photo strong,.pet-form-photo small{display:block}.pet-form-photo strong{color:#294c50;font-size:.78rem}.pet-form-photo small{color:#71888a;font-size:.62rem}.pet-detail-modal{text-align:center}.pet-detail-modal .modal-header{position:absolute;z-index:2;right:.25rem;top:.25rem}.pet-detail-modal .modal-body>img{width:150px;height:150px;margin:.5rem auto .8rem;border:5px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 10px 27px rgba(20,56,62,.18)}.pet-detail-modal .modal-body>span{display:table;margin:0 auto .35rem;padding:.25rem .55rem;border-radius:999px;background:#eaf7f2;color:#26755e;font-size:.58rem;font-weight:900;text-transform:uppercase}.pet-detail-modal h2{margin:0;color:#173943;font-size:1.4rem;font-weight:900}.pet-detail-modal strong{display:block;margin:.3rem 0;color:#a57425;font-size:.78rem}.pet-detail-modal p{margin:.4rem 0;color:#617a80;font-size:.75rem}.pet-detail-modal small{display:block;margin:.75rem 0 0;padding:.75rem;border-radius:.8rem;background:#f1f6f5;color:#536e72;font-size:.68rem}
.pet-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem}.pet-admin-stat{display:flex;align-items:center;gap:.65rem;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.16);border-radius:1rem;background:rgba(255,255,255,.08)}.pet-admin-stat strong{color:#f2cf72;font-size:1.8rem}.pet-admin-stat span{max-width:85px;color:rgba(255,255,255,.72);font-size:.7rem}.pet-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem;padding:1rem}.pet-admin-card{display:grid;grid-template-columns:112px 1fr;border:1px solid #e2eaeb;border-radius:1rem;background:#fff;overflow:hidden}.pet-admin-card>img{width:112px;height:100%;min-height:180px;object-fit:cover}.pet-admin-card-body{min-width:0;padding:.85rem}.pet-admin-card-body h3{margin:.3rem 0 .2rem;color:#173b47;font-size:1rem;font-weight:900}.pet-admin-card-body>small,.pet-admin-card-body>p{display:block;margin:.15rem 0;color:#7b8c91;font-size:.65rem}.pet-admin-card.is-withdrawn{opacity:.62}.pet-species-pill{display:inline-flex;padding:.2rem .42rem;border-radius:999px;background:#e9f6f1;color:#28745e;font-size:.52rem;font-weight:900;text-transform:uppercase}.pet-unit-label{display:block;color:#a57425;font-size:.7rem}.pet-admin-actions{display:flex;gap:.4rem;margin-top:.7rem}.pet-admin-actions form{margin:0}.finance-status.status-withdrawn{background:#edf0f1;color:#6f7e83}
.guard-pets-cta{display:inline-flex;align-items:center;justify-content:center;padding:.62rem .9rem;border:1px solid rgba(247,211,119,.55);border-radius:.8rem;background:linear-gradient(135deg,#f5dc91,#c8993f);color:#18313c;text-decoration:none;font-size:.7rem;font-weight:900}.pet-guard-hero .guard-scan-cta{display:inline-flex;align-items:center;text-decoration:none}.guard-pet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.85rem;padding:1rem}.guard-pet-card{display:grid;grid-template-columns:105px 1fr;min-height:145px;border:1px solid #dfe8e9;border-radius:1rem;background:#fff;overflow:hidden}.guard-pet-card>img{width:105px;height:100%;object-fit:cover}.guard-pet-card>div{padding:.8rem}.guard-pet-card span{display:inline-flex;padding:.2rem .4rem;border-radius:999px;background:#e9f6f1;color:#28745e;font-size:.52rem;font-weight:900;text-transform:uppercase}.guard-pet-card h3{margin:.3rem 0 .18rem;color:#153944;font-size:1rem;font-weight:900}.guard-pet-card strong,.guard-pet-card small{display:block}.guard-pet-card strong{color:#a57425;font-size:.72rem}.guard-pet-card small{margin-top:.12rem;color:#71858b;font-size:.64rem}.guard-pet-card p{margin:.45rem 0 0;color:#526d73;font-size:.64rem}
@media(max-width:575.98px){.resident-pet-heading{align-items:flex-start}.resident-pet-heading small{max-width:210px}.resident-pet-card{flex-basis:154px}.resident-pet-photo{height:122px}.pet-admin-hero{align-items:flex-start;flex-direction:column}.pet-admin-card{grid-template-columns:96px 1fr}.pet-admin-card>img{width:96px}.guard-pet-grid{grid-template-columns:1fr}.guard-pet-card{grid-template-columns:95px 1fr}.guard-pet-card>img{width:95px}}

/* HabitaOS v1.4.0 · identidad, módulos y Marketplace */
.resident-topbar,.admin-topbar{background:#00172a}.resident-brand-horizontal{width:min(48vw,230px);height:58px;overflow:hidden}.resident-brand-horizontal img{width:100%;height:100%;object-fit:contain}.admin-brand{width:230px}.admin-brand img{width:230px!important;max-width:230px!important;object-fit:contain}.resident-login-ribbon{height:132px;padding:0;background:#00172a}.resident-login-ribbon .brand-logo-login{width:100%!important;max-width:440px!important;max-height:132px;object-fit:cover}.resident-login-body{padding:1.25rem 1.5rem 1.4rem}.resident-login-title{margin:0 0 1rem;color:#173b47;font-size:.82rem;font-weight:900;letter-spacing:.12em;text-align:center;text-transform:uppercase}.resident-login-body .mb-3{margin-bottom:.75rem!important}.resident-login-body .mb-4{margin-bottom:1rem!important}.resident-login-body .form-label{margin-bottom:.3rem;font-size:.72rem}.resident-login-body .form-control{padding:.62rem .75rem}.resident-login-body .resident-install-box{margin-top:.7rem!important}
.resident-pet-heading-actions{display:flex;align-items:center;gap:.4rem}.resident-pet-heading-actions a,.resident-pet-heading-actions button{display:flex;align-items:center;padding:.46rem .65rem;border:1px solid #c8e2dc;border-radius:999px;background:#fff;color:#17755e;text-decoration:none;font-size:.62rem;font-weight:900}.resident-pet-heading-actions button{background:#eaf7f2}.resident-pet-carousel{display:grid;grid-template-columns:1fr;gap:.55rem;overflow:visible}.resident-pet-card{display:grid;grid-template-columns:92px minmax(0,1fr);width:100%;min-height:92px;flex:none}.resident-pet-photo{width:92px;height:100%;min-height:92px}.resident-pet-copy{align-self:center;padding:.55rem .7rem}.resident-pet-owner-actions{grid-column:1/-1}.resident-pet-privacy{margin-top:.8rem}
.resident-market-preview{margin:1rem 0;padding:1rem 0;border:1px solid #d9e5e7;border-radius:1.35rem;background:linear-gradient(140deg,#031a31,#07455b);box-shadow:0 10px 28px rgba(2,31,49,.13);overflow:hidden}.resident-market-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1rem .85rem;color:#fff}.resident-market-heading p{margin:0;color:#e8c56a;font-size:.59rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.resident-market-heading h2{margin:.1rem 0;font-size:1.1rem;font-weight:900}.resident-market-heading small{color:rgba(255,255,255,.64);font-size:.63rem}.resident-market-heading>a{display:flex;align-items:center;gap:.35rem;padding:.48rem .65rem;border:1px solid rgba(233,199,108,.45);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;text-decoration:none;font-size:.61rem;font-weight:900}.resident-market-row{display:flex;gap:.65rem;padding:0 1rem;overflow-x:auto;scrollbar-width:none}.resident-market-mini{display:grid;grid-template-columns:58px 118px;flex:0 0 auto;border:1px solid rgba(255,255,255,.12);border-radius:1rem;background:#fff;color:#173b47;text-decoration:none;overflow:hidden}.resident-market-mini>img,.resident-market-mini>span{display:grid;place-items:center;width:58px;height:72px;background:#e8f2f1;object-fit:cover;font-size:1.6rem}.resident-market-mini>div{padding:.48rem}.resident-market-mini small,.resident-market-mini strong,.resident-market-mini b{display:block}.resident-market-mini small{color:#a47727;font-size:.5rem;text-transform:uppercase}.resident-market-mini strong{margin:.15rem 0;font-size:.68rem;line-height:1.1}.resident-market-mini b{color:#087d77;font-size:.58rem}
.resident-catalog-shell{padding-top:.75rem}.pet-catalog-hero,.marketplace-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:1.05rem;border-radius:1.35rem;background:linear-gradient(125deg,#03172c,#07556a);color:#fff}.pet-catalog-hero>a,.marketplace-hero>a{display:grid;place-items:center;width:35px;height:35px;border:1px solid rgba(255,255,255,.2);border-radius:11px;color:#fff;text-decoration:none;font-size:1.6rem}.pet-catalog-hero p,.marketplace-hero p{margin:0;color:#eacb79;font-size:.56rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.pet-catalog-hero h1,.marketplace-hero h1{margin:.1rem 0;font-size:1.2rem;font-weight:900}.pet-catalog-hero span,.marketplace-hero span{display:block;color:rgba(255,255,255,.67);font-size:.61rem}.pet-catalog-hero>button,.marketplace-hero>button{padding:.55rem .7rem;border:0;border-radius:.8rem;background:linear-gradient(135deg,#f3d77f,#bb832d);color:#102b38;font-size:.65rem;font-weight:900}.pet-catalog-search{display:grid;grid-template-columns:1fr auto;margin:.75rem 0;padding:.35rem;border:1px solid #dfe8ea;border-radius:1rem;background:#fff}.pet-catalog-search input{min-width:0;padding:.65rem;border:0;outline:0}.pet-catalog-search button{padding:.55rem .85rem;border:0;border-radius:.7rem;background:#0b7880;color:#fff;font-weight:800}.pet-catalog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.pet-catalog-card{display:grid;grid-template-columns:105px 1fr;border:1px solid #dfe8e8;border-radius:1rem;background:#fff;box-shadow:0 7px 19px rgba(18,55,62,.06);overflow:hidden}.pet-catalog-photo{width:105px;height:100%;min-height:145px;padding:0;border:0}.pet-catalog-photo img{width:100%;height:100%;object-fit:cover}.pet-catalog-card>div{padding:.75rem}.pet-catalog-card span{color:#28745e;font-size:.54rem;font-weight:900;text-transform:uppercase}.pet-catalog-card h2{margin:.22rem 0;color:#173943;font-size:1rem;font-weight:900}.pet-catalog-card strong,.pet-catalog-card small{display:block}.pet-catalog-card strong{color:#a57425;font-size:.66rem}.pet-catalog-card small{margin-top:.2rem;color:#7a8d92;font-size:.6rem}.pet-catalog-actions{display:flex;gap:.35rem;margin-top:.65rem}.pet-catalog-actions form{display:flex}.pet-catalog-actions button{padding:.35rem .5rem;border:1px solid #d7e3e3;border-radius:.55rem;background:#f7faf9;color:#406a6f;font-size:.56rem;font-weight:800}.pet-catalog-actions form button{color:#985c4f}
.market-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin:.75rem 0;padding:.3rem;border:1px solid #dfe7e9;border-radius:1rem;background:#fff}.market-tabs button{padding:.65rem .25rem;border:0;border-radius:.75rem;background:transparent;color:#6b8088;font-size:.65rem;font-weight:850}.market-tabs button.active{background:#0b7880;color:#fff}.market-tabs span{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:rgba(255,255,255,.18);font-size:.52rem}.market-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.market-grid[hidden]{display:none}.market-card{border:1px solid #dfe7e9;border-radius:1.15rem;background:#fff;box-shadow:0 8px 23px rgba(14,49,62,.07);overflow:hidden}.market-card-media{position:relative;height:165px;background:linear-gradient(145deg,#e7f2f0,#f7f0df)}.market-card-media>img{width:100%;height:100%;object-fit:cover}.market-card-media>span{display:grid;place-items:center;width:100%;height:100%;font-size:3.2rem}.market-card-media>b{position:absolute;left:.65rem;bottom:.55rem;padding:.28rem .5rem;border-radius:999px;background:rgba(3,25,43,.82);color:#fff;font-size:.53rem}.market-card-body{padding:.8rem}.market-card-body>small{color:#a47424;font-size:.56rem;font-weight:850}.market-card-body h3{margin:.25rem 0;color:#173b47;font-size:1rem;font-weight:900}.market-card-body>p{display:-webkit-box;margin:.3rem 0;color:#60777d;font-size:.67rem;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.market-price,.market-availability{display:block;margin-top:.4rem}.market-price{color:#087b77;font-size:.75rem}.market-availability{color:#657f85;font-size:.61rem}.market-contact{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.7rem;padding-top:.65rem;border-top:1px solid #edf1f2}.market-contact b,.market-contact small{display:block}.market-contact b{font-size:.64rem}.market-contact small{color:#859499;font-size:.55rem}.market-contact>a{padding:.4rem .55rem;border-radius:.6rem;background:#e6f7ed;color:#17724d;text-decoration:none;font-size:.55rem;font-weight:900}.market-owner-actions{display:grid;grid-template-columns:1fr 1fr;margin:.7rem -.8rem -.8rem;border-top:1px solid #edf1f2}.market-owner-actions form{display:flex}.market-owner-actions button{width:100%;padding:.5rem;border:0;background:#f8faf9;color:#436d72;font-size:.58rem;font-weight:850}.market-owner-actions form button{border-left:1px solid #edf1f2;color:#9b5b4e}.market-empty{grid-column:1/-1;display:flex;min-height:220px;flex-direction:column;align-items:center;justify-content:center;color:#7b8e94;text-align:center}.market-empty>span{font-size:2.2rem}.market-empty strong,.market-empty small{display:block}.market-empty strong{margin-top:.4rem;color:#34545d}.market-empty small{font-size:.68rem}.market-expiry-note{padding:.7rem .8rem;border-radius:.75rem;background:#fff5dc;color:#7e601d;font-size:.66rem}
.admin-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.admin-module-toggle{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.2rem;border:1px solid #dde7e9;border-radius:1.15rem;background:#fff;box-shadow:0 9px 25px rgba(15,49,63,.06)}.admin-module-toggle.is-disabled{opacity:.72}.admin-module-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#e6f5f1,#fbf1d9);font-size:1.8rem}.admin-module-copy>span{color:#16815d;font-size:.58rem;font-weight:900;text-transform:uppercase}.is-disabled .admin-module-copy>span{color:#849398}.admin-module-copy h2{margin:.18rem 0;color:#173b47;font-size:1rem;font-weight:900}.admin-module-copy p{margin:0;color:#74868c;font-size:.72rem}.admin-module-copy a{display:inline-flex;margin-top:.5rem;color:#087b83;text-decoration:none;font-size:.68rem;font-weight:850}.admin-module-switch input{position:absolute;opacity:0}.admin-module-switch label{display:flex;align-items:center;flex-direction:column;gap:.35rem;cursor:pointer}.admin-module-switch i{position:relative;width:46px;height:26px;border-radius:999px;background:#bdc9cc}.admin-module-switch i:after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:.2s}.admin-module-switch input:checked+i{background:#128475}.admin-module-switch input:checked+i:after{transform:translateX(20px)}.admin-module-switch span{font-size:.55rem;color:#73868b}.module-safety-note{display:flex;gap:.45rem;margin-top:1rem;padding:.85rem 1rem;border-radius:.9rem;background:#eaf5f3;color:#44676a;font-size:.72rem}.market-admin-list article{display:grid;grid-template-columns:100px 1fr auto;gap:1rem;padding:1rem;border-top:1px solid #edf1f2}.market-admin-list article:first-child{border-top:0}.market-admin-list article>img,.market-admin-fallback{display:grid;place-items:center;width:100px;height:100px;border-radius:.85rem;background:#edf4f2;object-fit:cover;font-size:2rem}.market-admin-list h3{margin:.18rem 0;font-size:.95rem}.market-admin-list p{margin:.25rem 0;color:#657b82;font-size:.72rem}.market-admin-list small,.market-admin-list div>span{color:#7e8f94;font-size:.62rem}.market-admin-list .is-withdrawn{opacity:.58}
@media(max-width:767.98px){.admin-module-grid,.market-grid,.pet-catalog-grid{grid-template-columns:1fr}.module-safety-note{flex-direction:column}.market-admin-list article{grid-template-columns:80px 1fr}.market-admin-list article>img,.market-admin-fallback{width:80px;height:90px}.market-admin-list article>div:last-child{grid-column:2}.resident-brand-horizontal{width:190px}.admin-brand,.admin-brand img{width:190px!important;max-width:190px!important}}
@media(max-width:575.98px){.resident-login-ribbon{height:108px}.resident-login-body{padding:1rem 1.15rem 1.15rem}.pet-catalog-hero,.marketplace-hero{grid-template-columns:auto 1fr}.pet-catalog-hero>button,.marketplace-hero>button{grid-column:2;width:max-content}.resident-pet-heading{flex-direction:column}.resident-pet-heading-actions{width:100%;justify-content:flex-end}.resident-market-heading{align-items:flex-start;flex-direction:column}.marketplace-hero h1,.pet-catalog-hero h1{font-size:1rem}.admin-module-toggle{grid-template-columns:auto 1fr}.admin-module-switch{grid-column:2;justify-self:start}.module-safety-note span{display:block}}

/* HabitaOS v1.5.0 · directorios compactos, Marketplace contextual y orden de áreas */
.resident-header-market{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(75,218,211,.42);border-radius:12px;background:linear-gradient(145deg,#0a7f86,#075866);color:#fff;box-shadow:0 6px 16px rgba(3,113,121,.22)}.resident-header-market svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.resident-panic-strip{width:60%;margin-left:auto;margin-right:auto}.area-admin-actions{display:flex;align-items:center;gap:.45rem}.area-admin-actions .btn-group form{display:flex}.area-admin-actions .btn-group form+form{margin-left:-1px}.area-admin-actions .btn-group button{border-radius:0}.area-admin-actions .btn-group form:first-child button{border-radius:.35rem 0 0 .35rem}.area-admin-actions .btn-group form:last-child button{border-radius:0 .35rem .35rem 0}
.resident-pet-heading{align-items:flex-start;padding-bottom:.65rem}.resident-pet-heading small{white-space:nowrap}.resident-pet-heading-actions{flex:0 0 auto;margin-left:auto}.resident-pet-card{grid-template-columns:92px minmax(0,1fr);min-height:96px}.resident-pet-copy{position:relative;padding:.5rem .65rem}.resident-pet-copy h3{margin:.22rem 0 .12rem}.resident-pet-owner-actions{display:flex;gap:.3rem;margin-top:.35rem;border:0}.resident-pet-owner-actions form{display:flex}.resident-pet-owner-actions button{width:auto;padding:.26rem .5rem;border:1px solid #dce7e5!important;border-radius:.48rem;background:#f7faf9;font-size:.53rem}.resident-pet-owner-actions form button{color:#946052}.pet-catalog-hero,.marketplace-hero{padding:.78rem 1rem}.pet-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pet-catalog-card{grid-template-columns:90px minmax(0,1fr);min-height:112px}.pet-catalog-photo{width:90px;min-height:112px}.pet-catalog-card>div{padding:.58rem}.pet-catalog-actions{margin-top:.4rem}.pet-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.6rem;margin:.85rem 0;padding:.65rem .75rem;border:1px solid #dfe8e9;border-radius:.9rem;background:#fff}.pet-pagination a{color:#087a80;text-decoration:none;font-size:.62rem;font-weight:900}.pet-pagination a:last-child{text-align:right}.pet-pagination strong{color:#6e8389;font-size:.58rem;text-align:center;white-space:nowrap}
.listing-type-chooser>p{margin:0 0 .75rem;color:#5c737a;font-size:.7rem;font-weight:800;text-align:center}.listing-type-chooser>div{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.listing-type-chooser button{display:flex;min-height:174px;flex-direction:column;align-items:center;justify-content:center;padding:1rem;border:1px solid #dce8e8;border-radius:1.1rem;background:linear-gradient(145deg,#f7fbfa,#fff9eb);color:#173b47;text-align:center;box-shadow:0 7px 20px rgba(13,55,67,.06)}.listing-type-chooser button:last-child{background:linear-gradient(145deg,#eef8f8,#f5f2fc)}.listing-type-chooser button>span{font-size:2.5rem}.listing-type-chooser strong,.listing-type-chooser small{display:block}.listing-type-chooser strong{margin:.5rem 0 .25rem;font-size:.9rem}.listing-type-chooser small{color:#71858b;font-size:.62rem;line-height:1.35}.listing-change-type{margin:0 0 .55rem;padding:0;border:0;background:transparent;color:#087b82;font-size:.62rem;font-weight:900}.listing-selected-type{display:flex;align-items:center;gap:.65rem;margin-bottom:.85rem;padding:.65rem .75rem;border-radius:.85rem;background:#edf7f5}.listing-selected-type>span{font-size:1.55rem}.listing-selected-type strong,.listing-selected-type small{display:block}.listing-selected-type strong{color:#23464d;font-size:.76rem}.listing-selected-type small{color:#71858a;font-size:.59rem}
@media(max-width:575.98px){.resident-brand-horizontal{width:min(42vw,175px)}.resident-header-actions{gap:.35rem}.resident-header-market,.resident-header-bell,.resident-logout{width:36px;height:36px}.resident-panic-strip{width:60%;min-width:205px}.resident-pet-heading{flex-direction:row;gap:.45rem}.resident-pet-heading h2{font-size:.96rem}.resident-pet-heading small{max-width:none;font-size:.55rem;white-space:nowrap}.resident-pet-heading-actions{width:auto;gap:.25rem}.resident-pet-heading-actions a,.resident-pet-heading-actions button{padding:.4rem .5rem;font-size:.54rem}.pet-catalog-hero,.marketplace-hero{grid-template-columns:35px minmax(0,1fr) auto}.pet-catalog-hero>button,.marketplace-hero>button{grid-column:auto;width:auto;padding:.5rem .58rem}.pet-catalog-hero span,.marketplace-hero span{white-space:nowrap}.pet-catalog-grid{grid-template-columns:1fr}.area-admin-item{grid-template-columns:auto 1fr}.area-admin-actions{grid-column:2;justify-content:flex-start}.listing-type-chooser button{min-height:150px;padding:.75rem}.listing-type-chooser button>span{font-size:2.1rem}.listing-type-chooser small{font-size:.57rem}}

/* HabitaOS v1.6.0 · instalador independiente y acceso destacado a Marketplace */
.resident-header-market{position:relative;border-color:rgba(255,220,117,.72);background:linear-gradient(135deg,#f5d36f 0%,#ed8c4e 48%,#18a7ad 100%);color:#08263a;box-shadow:0 7px 19px rgba(232,139,68,.32),0 0 0 2px rgba(255,255,255,.06)}
.resident-header-market:after{content:"";position:absolute;right:4px;top:4px;width:5px;height:5px;border-radius:50%;background:#fff7c7;box-shadow:0 0 7px #fff}
.resident-header-market:hover,.resident-header-market:focus{color:#031a2c;filter:saturate(1.08) brightness(1.05);transform:translateY(-1px)}
.installer-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}.installer-card{width:min(100%,540px);overflow:hidden;border:1px solid rgba(255,255,255,.45);border-radius:1.45rem;background:#fff;box-shadow:0 24px 65px rgba(1,20,38,.28)}
.installer-brand{height:132px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#00172a}.installer-brand img{display:block;width:100%;height:100%;object-fit:cover}
.installer-body{padding:1.25rem 1.35rem 1rem}.installer-heading{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:.85rem}.installer-app-icon{width:64px;height:64px;overflow:hidden;border-radius:17px;background:#031b31;box-shadow:0 8px 20px rgba(2,36,57,.2)}.installer-app-icon img{width:100%;height:100%;object-fit:cover}.installer-heading p{margin:0;color:#18818a;font-size:.56rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.installer-heading h1{margin:.1rem 0;color:#153745;font-size:1.35rem;font-weight:900}.installer-heading>div>span{display:block;color:#72868e;font-size:.67rem;line-height:1.35}
.installer-primary{width:100%;display:flex;align-items:center;justify-content:center;gap:.55rem;margin-top:1rem;padding:.78rem;border:1px solid #d5a94c;border-radius:.85rem;background:linear-gradient(135deg,#f7db82,#c28a2f);color:#09263a;box-shadow:0 9px 22px rgba(177,120,31,.22)}.installer-primary>span{display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(9,38,58,.24);border-radius:8px;font-size:1rem}.installer-primary b{font-size:.78rem}.installer-primary:disabled{opacity:.65}.installer-primary[hidden]{display:none!important}
.installer-status{margin-top:.85rem;padding:.7rem .8rem;border-radius:.8rem;background:#eaf6f4;color:#35696d;font-size:.67rem;text-align:center}.installer-instructions{margin-top:1rem;padding:.9rem 1rem;border:1px solid #dfe9e9;border-radius:1rem;background:linear-gradient(145deg,#f7fbfb,#fffaf0)}.installer-instructions[hidden]{display:none!important}.installer-platform-title{display:flex;align-items:center;gap:.65rem}.installer-platform-title>span{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:linear-gradient(145deg,#0b8d92,#07566a);color:#fff;font-size:.9rem}.installer-platform-title strong,.installer-platform-title small{display:block}.installer-platform-title strong{color:#21434d;font-size:.76rem}.installer-platform-title small{color:#7b8e93;font-size:.58rem}.installer-instructions ol{margin:.75rem 0 .5rem;padding-left:1.25rem;color:#526b73;font-size:.68rem}.installer-instructions li+li{margin-top:.35rem}.installer-instructions>p{margin:.55rem 0 0;padding:.55rem .65rem;border-radius:.65rem;background:#fff3d5;color:#79601f;font-size:.61rem}.ios-share-icon{color:#1680a7;font-size:.82rem;font-weight:900}.installer-ready{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:.9rem;border-radius:1rem;background:#e9f8f1;color:#245f50}.installer-ready>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#32a777;color:#fff;font-size:1.1rem;font-weight:900}.installer-ready strong,.installer-ready small{display:block}.installer-ready strong{font-size:.77rem}.installer-ready small{margin-top:.12rem;font-size:.61rem}.installer-body footer{margin-top:.9rem;color:#839399;font-size:.57rem;text-align:center}
@media(max-width:575.98px){.installer-shell{padding:.7rem}.installer-card{border-radius:1.2rem}.installer-brand{height:106px}.installer-body{padding:1rem}.installer-heading{grid-template-columns:56px 1fr}.installer-app-icon{width:56px;height:56px;border-radius:15px}.installer-heading h1{font-size:1.15rem}.installer-heading>div>span{font-size:.61rem}}

/* HabitaOS v1.7.0 · selector visual y catálogo de accesos */
.access-kind-modal .modal-content{border:0;border-radius:1.35rem;overflow:hidden}.access-kind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.access-kind-grid button{display:flex;min-width:0;min-height:150px;flex-direction:column;align-items:center;justify-content:center;padding:.85rem;border:1px solid #dce8e9;border-radius:1.1rem;background:linear-gradient(145deg,#f7fbfa,#fff9e9);color:#173b47;box-shadow:0 8px 22px rgba(12,53,65,.07)}.access-kind-grid button:nth-child(2){background:linear-gradient(145deg,#fff6e9,#ffe8d8)}.access-kind-grid button:nth-child(3){background:linear-gradient(145deg,#eef8fa,#ebf2fb)}.access-kind-grid button>span{font-size:2.45rem}.access-kind-grid strong{margin:.45rem 0 .15rem;font-size:.82rem}.access-kind-grid small{color:#74878d;font-size:.58rem}.access-catalog-flow{padding:.15rem}.access-catalog-heading{display:flex;align-items:center;gap:.75rem;margin-bottom:.8rem}.access-catalog-heading button{padding:.35rem .5rem;border:0;border-radius:.55rem;background:#eaf4f3;color:#087b82;font-size:.62rem;font-weight:900}.access-catalog-heading p{margin:0;color:#11838a;font-size:.57rem;font-weight:900;text-transform:uppercase}.access-catalog-heading h3{margin:.1rem 0 0;color:#183b47;font-size:1rem;font-weight:900}.access-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.68rem}.access-catalog-card{display:flex;min-width:0;min-height:132px;flex-direction:column;align-items:center;justify-content:center;padding:.58rem;border:1px solid #dce7e8;border-radius:1rem;background:#fff;color:#23434b;box-shadow:0 7px 19px rgba(12,50,61,.06)}.access-catalog-card[hidden]{display:none}.access-catalog-card img{width:76px;height:76px;border-radius:16px;background:#f5f8f8;object-fit:contain}.access-catalog-card strong{display:block;max-width:100%;margin-top:.45rem;overflow:hidden;font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}.catalog-confirm-brand{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;padding:.75rem;border-radius:.95rem;background:#f0f7f6}.catalog-confirm-brand img{width:64px;height:64px;border-radius:14px;background:#fff;object-fit:contain}.catalog-confirm-brand strong{color:#1c414a;font-size:.9rem}.access-admin-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding:1rem}.access-admin-catalog-grid article{display:grid;grid-template-columns:72px minmax(0,1fr);gap:.75rem;padding:.75rem;border:1px solid #e0e9ea;border-radius:1rem;background:#fff}.access-admin-catalog-grid img{width:72px;height:72px;border-radius:14px;background:#f3f7f7;object-fit:contain}.access-admin-catalog-grid span,.access-admin-catalog-grid strong,.access-admin-catalog-grid small{display:block}.access-admin-catalog-grid span{color:#168188;font-size:.53rem;font-weight:900;text-transform:uppercase}.access-admin-catalog-grid strong{margin:.12rem 0;color:#203f49;font-size:.75rem}.access-admin-catalog-grid small{color:#788b91;font-size:.57rem}.access-admin-catalog-actions{display:flex;grid-column:1/-1;gap:.4rem}.access-admin-catalog-actions form{display:flex}
@media(max-width:991.98px){.access-admin-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575.98px){.access-kind-grid{gap:.45rem}.access-kind-grid button{min-height:125px;padding:.5rem}.access-kind-grid button>span{font-size:2rem}.access-kind-grid strong{font-size:.68rem}.access-kind-grid small{font-size:.5rem}.access-catalog-grid{gap:.48rem}.access-catalog-card{min-height:112px;padding:.45rem}.access-catalog-card img{width:62px;height:62px}.access-admin-catalog-grid{grid-template-columns:1fr;padding:.75rem}}

/* HabitaOS v1.8.0 · catálogos separados y tarjetas de mascotas más compactas */
.access-catalog-tabs{gap:.45rem;padding:0 1rem .8rem;border-bottom:1px solid #edf1f2}.access-catalog-tabs .nav-link{display:flex;align-items:center;gap:.45rem;padding:.55rem .85rem;border:1px solid #dce6e8;border-radius:.75rem;background:#f7faf9;color:#557078;font-size:.7rem;font-weight:850}.access-catalog-tabs .nav-link span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 .35rem;border-radius:999px;background:#e8f1f1;color:#557078;font-size:.56rem}.access-catalog-tabs .nav-link.active{border-color:#0b7880;background:#0b7880;color:#fff}.access-catalog-tabs .nav-link.active span{background:rgba(255,255,255,.2);color:#fff}.access-admin-catalog-actions{align-items:center;flex-wrap:wrap}.access-admin-catalog-actions .btn-group form{display:flex}.access-admin-catalog-actions .btn-group form+form{margin-left:-1px}.access-admin-catalog-actions .btn-group button{border-radius:0}.access-admin-catalog-actions .btn-group form:first-child button{border-radius:.35rem 0 0 .35rem}.access-admin-catalog-actions .btn-group form:last-child button{border-radius:0 .35rem .35rem 0}
.resident-pet-card{min-height:88px;grid-template-columns:88px minmax(0,1fr)}.resident-pet-photo{width:88px;min-height:88px}.resident-pet-copy{min-width:0;padding:.48rem 7.15rem .42rem .62rem}.resident-pet-owner-actions{position:absolute;right:.55rem;top:.55rem;margin:0}.resident-pet-owner-actions button{padding:.28rem .48rem;white-space:nowrap}.pet-catalog-search{margin:.62rem 0;padding:.25rem;border-radius:.85rem}.pet-catalog-search input{padding:.48rem .62rem;font-size:.86rem}.pet-catalog-search button{padding:.42rem .72rem;border-radius:.62rem;font-size:.72rem}.pet-catalog-card{grid-template-columns:88px minmax(0,1fr);min-height:94px}.pet-catalog-photo{width:88px;min-height:94px}.pet-catalog-card>div{position:relative;min-width:0;padding:.48rem 7.15rem .42rem .62rem}.pet-catalog-card h2{margin:.18rem 0;font-size:.96rem}.pet-catalog-card small{margin-top:.12rem}.pet-catalog-actions{position:absolute;right:.5rem;top:.5rem;margin:0}.pet-catalog-actions button{padding:.3rem .48rem;white-space:nowrap}
@media(max-width:575.98px){.access-catalog-tabs{padding:.05rem .75rem .7rem}.access-catalog-tabs .nav-link{flex:1;justify-content:center}.resident-pet-card{grid-template-columns:84px minmax(0,1fr);min-height:86px}.resident-pet-photo{width:84px;min-height:86px}.resident-pet-copy,.pet-catalog-card>div{padding-right:6.45rem}.resident-pet-owner-actions,.pet-catalog-actions{right:.42rem;top:.42rem;gap:.22rem}.resident-pet-owner-actions button,.pet-catalog-actions button{padding:.26rem .4rem;font-size:.5rem}.pet-catalog-card{grid-template-columns:84px minmax(0,1fr);min-height:90px}.pet-catalog-photo{width:84px;min-height:90px}}

/* HabitaOS v1.9.0 · Paquetería y Personal del hogar */
.access-kind-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.access-kind-grid button:nth-child(4){background:linear-gradient(145deg,#f2efff,#e8f2ff)}.access-catalog-tabs{flex-wrap:wrap}.household-staff-heading{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.8rem;padding:.75rem .85rem;border-radius:1rem;background:linear-gradient(145deg,#eef8f6,#fff9e9)}.household-staff-heading strong,.household-staff-heading small{display:block}.household-staff-heading strong{color:#173d47;font-size:.78rem}.household-staff-heading small{margin-top:.15rem;color:#6d8389;font-size:.59rem;line-height:1.35}.household-staff-heading button{flex:0 0 auto;padding:.5rem .7rem;font-size:.62rem}.household-staff-list{display:grid;gap:.65rem}.household-staff-card{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:.7rem;min-height:76px;padding:.6rem 7.6rem .6rem .6rem;border:1px solid #dfe9e8;border-radius:1rem;background:#fff}.household-staff-card>img,.household-staff-avatar{width:62px;height:62px;border-radius:15px;object-fit:cover}.household-staff-avatar{display:grid;place-items:center;background:#edf5f4;font-size:1.65rem}.household-staff-card small,.household-staff-card strong,.household-staff-card span{display:block;min-width:0}.household-staff-card small{color:#148087;font-size:.52rem;font-weight:900;text-transform:uppercase}.household-staff-card strong{margin:.12rem 0;color:#193e48;font-size:.76rem}.household-staff-card>div>span{overflow:hidden;color:#778a90;font-size:.55rem;text-overflow:ellipsis;white-space:nowrap}.household-staff-card.is-suspended{background:#fff9ed}.household-staff-card.is-ended{opacity:.56}.household-staff-actions{position:absolute;right:.5rem;top:.5rem;display:flex;max-width:7rem;flex-wrap:wrap;justify-content:flex-end;gap:.25rem}.household-staff-actions form{display:flex}.household-staff-actions button{padding:.27rem .42rem;border:1px solid #dbe7e6;border-radius:.45rem;background:#f6faf9;color:#25727a;font-size:.49rem;font-weight:850}.household-staff-actions button.danger{color:#a45a50}.worker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.28rem}.worker-weekdays input{position:absolute;opacity:0}.worker-weekdays span{display:block;padding:.48rem .15rem;border:1px solid #dce7e7;border-radius:.5rem;background:#f7faf9;color:#607a80;font-size:.55rem;font-weight:850;text-align:center}.worker-weekdays input:checked+span{border-color:#087d83;background:#087d83;color:#fff}.worker-schedule-field[hidden],[data-other-role][hidden],[data-tracking-field][hidden]{display:none!important}
@media(max-width:575.98px){.access-catalog-tabs .nav-link{flex:1 1 30%}.household-staff-heading{align-items:flex-start}.household-staff-card{grid-template-columns:54px minmax(0,1fr);padding-right:6.7rem}.household-staff-card>img,.household-staff-avatar{width:54px;height:54px}.household-staff-actions{max-width:6.2rem}.household-staff-actions button{padding:.24rem .35rem;font-size:.46rem}.worker-weekdays{grid-template-columns:repeat(4,1fr)}}

/* HabitaOS v1.10.0 · navegación compacta de autorizaciones */
.access-workspace-header{gap:.7rem}.access-workspace-title{min-width:0;flex:1}.access-mode-switch{display:flex;flex:0 0 auto;align-items:center;gap:.35rem;padding:.28rem;border:1px solid rgba(255,255,255,.18);border-radius:.9rem;background:rgba(0,15,29,.25)}.access-mode-switch button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid transparent;border-radius:.68rem;background:transparent;color:#fff;box-shadow:none;font-size:1.12rem;line-height:1}.access-mode-switch button.active{border-color:rgba(255,223,130,.72);background:linear-gradient(145deg,#f6d978,#dc9c42);box-shadow:0 5px 13px rgba(0,0,0,.2)}.access-mode-switch button:focus-visible{outline:2px solid #8ee2df;outline-offset:2px}.access-catalog-heading{padding:.1rem .2rem}.access-catalog-heading>div{min-width:0}.visitor-menu-modal .modal-content{overflow:hidden;border:0;border-radius:1.35rem}.visitor-menu-lead{margin:0 0 .75rem;color:#71858b;font-size:.67rem}.visitor-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.visitor-menu-grid button{display:flex;min-width:0;min-height:126px;flex-direction:column;align-items:center;justify-content:center;padding:.75rem;border:1px solid #dce8e8;border-radius:1rem;background:linear-gradient(145deg,#f4fbfa,#fff8e9);color:#173d48;box-shadow:0 7px 19px rgba(12,50,61,.06)}.visitor-menu-grid button:nth-child(2){background:linear-gradient(145deg,#eef8fb,#edf2ff)}.visitor-menu-grid button:nth-child(3){background:linear-gradient(145deg,#fff8e9,#fff1d8)}.visitor-menu-grid button:nth-child(4){background:linear-gradient(145deg,#eff8f4,#e6f1ec)}.visitor-menu-grid button>span{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:#087f89;color:#fff;font-size:1.35rem;font-weight:800}.visitor-menu-grid button:nth-child(3)>span{background:#c39435}.visitor-menu-grid strong{margin:.48rem 0 .12rem;font-size:.78rem}.visitor-menu-grid small{color:#74878d;font-size:.56rem}
@media(max-width:575.98px){.access-workspace-header{padding-left:.7rem;padding-right:.7rem}.access-workspace-header>button{width:38px;height:38px;border-radius:12px}.access-workspace-title small{font-size:.52rem}.access-workspace-title h2{overflow:hidden;max-width:112px;font-size:.94rem;text-overflow:ellipsis;white-space:nowrap}.access-mode-switch{gap:.2rem;padding:.2rem;border-radius:.75rem}.access-mode-switch button{width:32px;height:32px;border-radius:.56rem;font-size:.94rem}.visitor-menu-grid{gap:.55rem}.visitor-menu-grid button{min-height:112px;padding:.55rem}.visitor-menu-grid button>span{width:38px;height:38px;font-size:1.15rem}}

/* HabitaOS v1.11.0 · navegación visual de HabitaPass sin encabezados repetidos */
.access-mode-switch button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.access-mode-switch button{color:#c9e6e6}.access-mode-switch button.active{color:#092c3b}.access-kind-grid button>span{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(255,255,255,.8);border-radius:19px;background:linear-gradient(145deg,#0d9298,#07566a);color:#fff;box-shadow:0 9px 22px rgba(5,83,99,.2)}.access-kind-grid button:nth-child(2)>span{background:linear-gradient(145deg,#f3b15e,#d8783f)}.access-kind-grid button:nth-child(3)>span{background:linear-gradient(145deg,#d5aa50,#9d7028)}.access-kind-grid button:nth-child(4)>span{background:linear-gradient(145deg,#5d87bf,#385b91)}.access-kind-grid button>span svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.access-catalog-flow{padding-top:.2rem}.visitor-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.visitor-section-grid[hidden]{display:none!important}.visitor-section-grid button{display:flex;min-width:0;min-height:142px;flex-direction:column;align-items:center;justify-content:center;padding:.8rem;border:1px solid #dce8e8;border-radius:1.08rem;background:linear-gradient(145deg,#f2fbfa,#fff);color:#173d48;box-shadow:0 8px 22px rgba(12,50,61,.07)}.visitor-section-grid button:nth-child(2){background:linear-gradient(145deg,#eef7fb,#f3f1ff)}.visitor-section-grid button:nth-child(3){background:linear-gradient(145deg,#fff9e9,#fff0d1)}.visitor-section-grid button:nth-child(4){background:linear-gradient(145deg,#edf8f3,#e8f2ee)}.visitor-section-grid button>span{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,#0c9298,#07596b);color:#fff;box-shadow:0 8px 18px rgba(4,91,105,.18)}.visitor-section-grid button:nth-child(2)>span{background:linear-gradient(145deg,#537fae,#3b5b8c)}.visitor-section-grid button:nth-child(3)>span{background:linear-gradient(145deg,#e6bd60,#a8782a)}.visitor-section-grid button:nth-child(4)>span{background:linear-gradient(145deg,#55a383,#34725f)}.visitor-section-grid svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.visitor-section-grid strong{margin:.55rem 0 .12rem;font-size:.8rem}.visitor-section-grid small{color:#71858b;font-size:.56rem}.visitor-selection-pending .resident-tab-pane{display:none!important}
@media(max-width:575.98px){.access-workspace-title h2{max-width:105px}.access-mode-switch button svg{width:18px;height:18px}.access-kind-grid button>span{width:52px;height:52px;border-radius:17px}.access-kind-grid button>span svg{width:28px;height:28px}.visitor-section-grid{gap:.55rem}.visitor-section-grid button{min-height:125px;padding:.6rem}.visitor-section-grid button>span{width:43px;height:43px;border-radius:14px}.visitor-section-grid svg{width:23px;height:23px}}

/* HabitaOS v1.12.0 · Personal hogar en pantalla y navegación persistente */
.household-staff-editor[hidden],.household-staff-form [hidden]{display:none!important}.household-staff-editor-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.8rem .9rem;border-radius:1rem;background:linear-gradient(125deg,#061d35,#087078);color:#fff;box-shadow:0 8px 22px rgba(5,50,64,.12)}.household-staff-editor-header>button{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:rgba(255,255,255,.09);color:#fff;font-size:1.55rem}.household-staff-editor-header small,.household-staff-editor-header h3{display:block;margin:0}.household-staff-editor-header small{color:#7ee0dc;font-size:.55rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.household-staff-editor-header h3{margin-top:.08rem;font-size:.92rem;font-weight:900}.household-staff-form{box-shadow:0 10px 28px rgba(10,47,61,.07)}.household-staff-editor-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:.65rem;margin-top:1rem}.household-staff-editor-actions .btn{min-height:46px;border-radius:.82rem;font-size:.72rem;font-weight:900}.resident-bottom-nav a[href*="concierge"] svg{stroke-width:1.65}

/* HabitaOS v1.15.0 · offline seguro, formularios Marketplace en pantalla y footer persistente */
.resident-bg{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.resident-bottom-nav{z-index:1050}.resident-workspace-body{padding-bottom:calc(8rem + env(safe-area-inset-bottom))}.household-staff-form{box-shadow:0 10px 28px rgba(10,47,61,.07)}.household-staff-form-intro svg{stroke-linecap:round;stroke-linejoin:round}.listing-type-chooser a{display:flex;min-height:174px;flex-direction:column;align-items:center;justify-content:center;padding:1rem;border:1px solid #dce8e8;border-radius:1.1rem;background:linear-gradient(145deg,#f7fbfa,#fff9eb);color:#173b47;text-align:center;text-decoration:none;box-shadow:0 7px 20px rgba(13,55,67,.06)}.listing-type-chooser a:last-child{background:linear-gradient(145deg,#eef8f8,#f5f2fc)}.listing-type-chooser a>span{font-size:2.5rem}.listing-type-chooser a:focus-visible{outline:3px solid rgba(8,127,137,.3);outline-offset:3px}.marketplace-form-hero{grid-template-columns:auto minmax(0,1fr)}.marketplace-static-form{margin-top:.85rem;margin-bottom:1.5rem}.marketplace-form-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:.65rem;margin-top:1rem}.marketplace-form-actions .btn{display:grid;place-items:center;min-height:48px;border-radius:.82rem;font-size:.74rem;font-weight:900}.listing-change-type{display:inline-flex;text-decoration:none}.marketplace-form-screen .listing-selected-type{margin-top:.1rem}
@media(max-width:575.98px){.listing-type-chooser a{min-height:150px;padding:.75rem}.listing-type-chooser a>span{font-size:2.1rem}.marketplace-form-hero span{white-space:normal}.marketplace-static-form{padding:.85rem}.marketplace-form-actions{grid-template-columns:1fr 1.35fr}}

/* v1.16.0 · Seguridad y Garage Sale */
.panic-history-hero{background:linear-gradient(125deg,#071c34,#74303a)}
.panic-history-total{display:flex;min-width:150px;flex-direction:column;align-items:center;justify-content:center;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,.18);border-radius:1rem;background:rgba(255,255,255,.09)}
.panic-history-total strong{font-size:2rem;line-height:1}.panic-history-total span{margin-top:.35rem;color:rgba(255,255,255,.72);font-size:.65rem}
.panic-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.panic-summary-grid article{padding:1rem;border:1px solid #e2e9eb;border-radius:1rem;background:#fff;box-shadow:0 7px 20px rgba(12,45,59,.05)}.panic-summary-grid span,.panic-summary-grid strong{display:block}.panic-summary-grid span{color:#71858d;font-size:.66rem}.panic-summary-grid strong{margin-top:.2rem;color:#183d49;font-size:1.4rem}.panic-status-active{background:#ffe4e7;color:#a41220}.panic-status-acknowledged{background:#fff0cf;color:#8b6210}.panic-status-resolved{background:#ddf5e9;color:#16704c}.panic-status-cancelled{background:#e8edf0;color:#536870}
.listing-type-chooser>div{grid-template-columns:repeat(3,1fr)}.listing-type-chooser a:last-child,.listing-type-chooser button:last-child{background:linear-gradient(145deg,#fff7e6,#f5efe3)}
.market-tabs{grid-template-columns:repeat(4,1fr)}.market-card.garage-sale .market-card-media{background:linear-gradient(145deg,#fff2d6,#f5e4c2)}.market-owner-actions{grid-template-columns:repeat(auto-fit,minmax(72px,1fr))}.market-owner-actions .market-sold-button{color:#1a7652;background:#edf9f3}.status-sold{background:#e7eef1;color:#4c626c}
@media(max-width:767.98px){.panic-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:575.98px){.listing-type-chooser>div{grid-template-columns:1fr}.listing-type-chooser a,.listing-type-chooser button{min-height:92px;flex-direction:row;justify-content:flex-start;gap:.75rem;text-align:left}.listing-type-chooser a>span,.listing-type-chooser button>span{font-size:2rem}.listing-type-chooser strong{margin:0 0 .2rem}.market-tabs{display:flex;overflow-x:auto}.market-tabs button{flex:0 0 auto;padding:.65rem .7rem}.panic-history-hero{align-items:flex-start}.panic-history-total{min-width:120px}}

/* v1.17.0 · zona horaria SOS, contraste administrativo y KPIs Marketplace */
.panic-history-hero{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:178px;padding:1.6rem 1.8rem;border-radius:1.2rem;color:#fff;box-shadow:0 16px 34px rgba(26,35,55,.16)}
.panic-history-hero .eyebrow{color:#70dce0!important}.panic-history-hero h1{margin:.18rem 0 .35rem;color:#fff!important;font-size:2rem;font-weight:900}.panic-history-hero>div>p:not(.eyebrow){margin:0;color:rgba(255,255,255,.76)!important}.panic-history-hero>div>small{display:block;margin-top:.55rem;color:#f0d58b;font-size:.7rem;font-weight:750}.panic-history-total strong{color:#fff!important}.panic-history-total span{color:rgba(255,255,255,.8)!important}
.market-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:.75rem 0}.market-kpi-grid button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:.55rem;min-width:0;padding:.72rem .7rem;border:1px solid #dce7e9;border-radius:1rem;background:#fff;color:#274852;text-align:left;box-shadow:0 7px 19px rgba(14,49,62,.055);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.market-kpi-grid button:active{transform:scale(.98)}.market-kpi-grid button>span{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#e9f5f4;font-size:1.15rem}.market-kpi-grid button>strong{align-self:end;color:#0a737a;font-size:1rem;line-height:1}.market-kpi-grid button>small{align-self:start;overflow:hidden;color:#6e828a;font-size:.57rem;font-weight:850;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.market-kpi-grid button.active{border-color:#0b858c;background:linear-gradient(135deg,#087d84,#075967);box-shadow:0 9px 23px rgba(7,105,113,.2)}.market-kpi-grid button.active>span{background:rgba(255,255,255,.16)}.market-kpi-grid button.active>strong,.market-kpi-grid button.active>small{color:#fff}
.market-feed-heading{display:flex;align-items:end;justify-content:space-between;gap:.75rem;margin:.9rem .15rem .65rem}.market-feed-heading p{margin:0;color:#ae7c27;font-size:.56rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.market-feed-heading h2{margin:.12rem 0 0;color:#173b47;font-size:1.02rem;font-weight:900}.market-feed-heading button{padding:.38rem .6rem;border:1px solid #cfe0e2;border-radius:.62rem;background:#fff;color:#08777d;font-size:.58rem;font-weight:900}.market-feed-heading button[hidden]{display:none}
@media(max-width:767.98px){.panic-history-hero{min-height:155px;padding:1.25rem}.panic-history-hero h1{font-size:1.55rem}}
@media(max-width:575.98px){.panic-history-hero{flex-direction:column;align-items:stretch}.panic-history-total{width:100%;min-width:0}.market-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.market-kpi-grid button{padding:.65rem}.market-kpi-grid button>small{font-size:.6rem}.market-empty{min-height:260px;padding:1rem}}

/* HabitaOS v1.15.0 · bitácora e incidencias de garita */
.guard-log-cta{padding:.75rem 1rem;border:1px solid rgba(120,224,220,.45);border-radius:.9rem;background:rgba(4,29,46,.35);color:#fff;font-weight:900}.guard-log-panel{margin-top:1rem}.guard-incident-list article{display:grid;grid-template-columns:5px minmax(0,1fr);gap:.85rem;padding:1rem 1.1rem;border-top:1px solid #e8eef0}.guard-incident-list article:first-child{border-top:0}.guard-incident-marker{border-radius:999px;background:#8aa0aa}.guard-incident-list article.priority-normal .guard-incident-marker{background:#318995}.guard-incident-list article.priority-high .guard-incident-marker{background:#dd9329}.guard-incident-list article.priority-critical .guard-incident-marker{background:#cf3945}.guard-incident-list strong,.guard-incident-list small{display:block}.guard-incident-list small{margin-top:.18rem;color:#71848d;font-size:.7rem}.guard-incident-list p{margin:.45rem 0 0;color:#3e5964;font-size:.78rem;line-height:1.45}.guard-incident-meta{display:flex;align-items:center;gap:.45rem;margin-bottom:.35rem}.guard-incident-meta>span:last-child{color:#71848d;font-size:.66rem;font-weight:800}.incident-priority,.incident-status{display:inline-flex;align-items:center;padding:.28rem .52rem;border-radius:999px;font-size:.66rem;font-weight:900;white-space:nowrap}.incident-priority{background:#edf1f3;color:#5a6f79}.incident-priority.priority-normal{background:#e6f4f5;color:#176c72}.incident-priority.priority-high{background:#fff1d8;color:#8b5a10}.incident-priority.priority-critical{background:#ffe1e4;color:#a92331}.incident-status{background:#eaf0f2;color:#566d77}.incident-status.status-open{background:#fff1d8;color:#87550c}.incident-status.status-in_review{background:#e6eefc;color:#315d99}.incident-status.status-resolved{background:#e4f5ed;color:#24724e}.incident-status.status-dismissed{background:#edf0f2;color:#687981}.incident-description{max-width:660px;margin-top:.35rem;color:#506873!important;line-height:1.45}.incident-resolution{max-width:660px;margin-top:.45rem;padding:.5rem .65rem;border-radius:.55rem;background:#edf7f2;color:#31654f!important;line-height:1.4}.incident-row.priority-critical{background:#fff9fa}.gate-incidents-admin{scroll-margin-top:1rem}
@media(max-width:767.98px){.guard-log-cta,.guard-notice-cta,.guard-scan-cta,.guard-package-cta{padding:.55rem .65rem;font-size:.68rem}.guard-incident-list article{padding:.85rem}.gate-incidents-admin .incident-description{min-width:260px}}

/* HabitaOS v1.18.0 · turnos y relevo de garita */
.metric-card-link{display:block;color:inherit;text-decoration:none}.metric-card-link:hover{color:inherit;border-color:#96c9cc;transform:translateY(-1px)}
.guard-shift-cta{padding:.75rem 1rem;border:1px solid rgba(113,222,218,.55);border-radius:.9rem;background:#effcf9;color:#075c61;font-weight:900}.guard-shift-cta.is-open{border-color:rgba(246,205,107,.65);background:#f2c869;color:#273947}.guard-shift-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1rem 1.15rem;border:1px solid #d8e5e7;border-radius:1.15rem;background:#fff;box-shadow:0 8px 24px rgba(14,49,66,.06)}.guard-shift-panel.is-open{border-color:#7ac8b1;background:linear-gradient(120deg,#f4fcf8,#fff)}.guard-shift-panel>div:first-child,.guard-shift-main{display:flex;align-items:center;gap:.75rem;min-width:0}.guard-shift-main>div{min-width:0}.guard-shift-main small,.guard-shift-main strong,.guard-shift-main span{display:block}.guard-shift-main small{color:#1e7a70;font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.guard-shift-main strong{color:#173b47;font-size:.9rem}.guard-shift-main span{margin-top:.15rem;overflow:hidden;color:#71848d;font-size:.68rem;text-overflow:ellipsis}.guard-shift-signal{display:block;flex:0 0 auto;width:13px;height:13px;border-radius:50%;background:#9aaab0;box-shadow:0 0 0 6px #edf2f4}.guard-shift-panel.is-open .guard-shift-signal{background:#1aa174;box-shadow:0 0 0 6px #dff5ec}.guard-shift-stats{display:flex;align-items:center;gap:.45rem}.guard-shift-stats span{padding:.45rem .6rem;border-radius:.65rem;background:#eef5f5;color:#597079;font-size:.62rem;white-space:nowrap}.guard-shift-stats b{color:#0b7379;font-size:.8rem}.guard-shift-panel>button{padding:.62rem .8rem;border:0;border-radius:.75rem;background:#087d82;color:#fff;font-size:.7rem;font-weight:900;white-space:nowrap}.guard-handover-note{margin-bottom:1rem;padding:.85rem 1rem;border-left:4px solid #d0a748;border-radius:.7rem;background:#fff8e7}.guard-handover-note small{color:#8b671b;font-weight:800}.guard-handover-note p{margin:.3rem 0 0;color:#4b5960;font-size:.84rem}.shift-history-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:150px;padding:1.5rem 1.7rem;border-radius:1.2rem;background:radial-gradient(circle at 88% 8%,rgba(14,167,174,.3),transparent 36%),linear-gradient(125deg,#071c34,#075e67);color:#fff;box-shadow:0 16px 34px rgba(15,43,62,.16)}.shift-history-hero .eyebrow{color:#78dfdc!important}.shift-history-hero h1{margin:.15rem 0 .3rem;color:#fff;font-size:1.8rem;font-weight:900}.shift-history-hero p:not(.eyebrow){margin:0;color:rgba(255,255,255,.75)}.shift-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.shift-row.status-open{background:#f6fcf9}.shift-row.status-force_closed{background:#fff9f1}.shift-activity{display:flex;flex-wrap:wrap;gap:.3rem}.shift-activity span{padding:.28rem .42rem;border-radius:.5rem;background:#eef4f5;color:#60747d;font-size:.62rem;white-space:nowrap}.shift-activity b{color:#136e74}.shift-notes{min-width:220px;max-width:390px}.shift-notes small{display:block;margin:.15rem 0;color:#526973;font-size:.68rem;line-height:1.4}.shift-status{display:inline-flex;padding:.3rem .52rem;border-radius:999px;background:#e9eef0;color:#597079;font-size:.64rem;font-weight:900;white-space:nowrap}.shift-status.status-open{background:#dff5e9;color:#176f50}.shift-status.status-closed{background:#e7eff8;color:#315f8b}.shift-status.status-force_closed{background:#fff0d4;color:#895d10}
@media(max-width:991.98px){.guard-shift-panel{align-items:flex-start;flex-wrap:wrap}.guard-shift-stats{order:3;width:100%}.shift-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.guard-shift-cta{padding:.55rem .65rem;font-size:.68rem}.guard-shift-panel{padding:.85rem}.guard-shift-stats{overflow-x:auto}.guard-shift-panel>button{width:100%}.shift-history-hero{align-items:flex-start;flex-direction:column;padding:1.2rem}.shift-history-hero h1{font-size:1.45rem}.shift-notes{min-width:260px}}

/* HabitaOS v1.19.0 · condiciones, tarifas y depósitos de reservas */
.html-editor{overflow:hidden;border:1px solid #d9e2e5;border-radius:.8rem;background:#fff}.html-editor-toolbar{display:flex;flex-wrap:wrap;gap:.25rem;padding:.45rem;border-bottom:1px solid #e4ebed;background:#f5f8f9}.html-editor-toolbar button{min-height:32px;padding:.3rem .55rem;border:1px solid #d8e2e4;border-radius:.45rem;background:#fff;color:#345864;font-size:.72rem}.html-editor-surface{min-height:150px;max-height:310px;overflow:auto;padding:.85rem;color:#304d57;outline:0}.html-editor-surface:empty:before{content:attr(data-placeholder);color:#91a0a6}.reservation-admin-actions{display:flex;min-width:155px;flex-direction:column;align-items:stretch;gap:.35rem}.reservation-admin-actions form{display:flex;flex-direction:column;gap:.3rem}.reservation-admin-actions .btn{white-space:nowrap}.reservation-reject-form{min-width:185px}
.reservation-rule-summary{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.75rem .85rem;border-radius:.85rem;background:#eaf6f5}.reservation-rule-summary .resident-area-rules{padding:0;background:transparent}.reservation-rule-summary>button{flex:0 0 auto;padding:.4rem .55rem;border:1px solid #b9d8d7;border-radius:.55rem;background:#fff;color:#08777d;font-size:.64rem;font-weight:900}.reservation-conditions-html{color:#38545e;font-size:.88rem;line-height:1.6}.reservation-conditions-html h3,.reservation-conditions-html h4{color:#173b47;font-weight:900}.reservation-conditions-html a{color:#087d83}.reservation-resident-list{display:grid;gap:.7rem}.reservation-resident-card{padding:.9rem;border:1px solid #e0e8ea;border-radius:1rem;background:#fff;box-shadow:0 7px 20px rgba(13,50,62,.05)}.reservation-resident-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.reservation-resident-head strong,.reservation-resident-head small{display:block}.reservation-resident-head small{margin-top:.15rem;color:#71848d;font-size:.68rem}.reservation-cost-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin-top:.65rem}.reservation-cost-breakdown span{padding:.48rem;border-radius:.65rem;background:#f2f7f7;color:#6a7e86;font-size:.58rem}.reservation-cost-breakdown b{display:block;margin-top:.1rem;color:#173b47;font-size:.72rem}.reservation-progress,.reservation-payment-error{margin:.65rem 0 0;padding:.55rem .65rem;border-radius:.65rem;background:#fff5de;color:#805b15;font-size:.68rem}.reservation-progress.is-reported{background:#e8f0fd;color:#315d94}.reservation-progress.is-paid{background:#e5f6ed;color:#1d704e}.reservation-payment-error{background:#ffe9e9;color:#9a3030}.reservation-payment-form{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.7rem;padding:.65rem;border-radius:.8rem;background:#f5f9f9}.reservation-payment-form div{min-width:0}.reservation-payment-form label{display:block;margin-bottom:.2rem;color:#607780;font-size:.58rem;font-weight:900}.reservation-payment-form select,.reservation-payment-form input{width:100%;min-height:38px;padding:.45rem;border:1px solid #dbe5e7;border-radius:.55rem;background:#fff;color:#2d4c56;font-size:.7rem}.reservation-payment-form>button{grid-column:1/-1;min-height:42px;border:0;border-radius:.65rem;background:linear-gradient(135deg,#0c9793,#086473);color:#fff;font-size:.7rem;font-weight:900}
@media(max-width:575.98px){.reservation-cost-breakdown{grid-template-columns:1fr 1fr}.reservation-cost-breakdown span:last-child{grid-column:1/-1}.reservation-rule-summary{align-items:flex-start;flex-direction:column}.reservation-payment-form{grid-template-columns:1fr}.reservation-payment-form>button{grid-column:auto}}

/* HabitaOS v1.20.0 · afiliaciones y directorio */
.resident-login-affiliation{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e6edef;color:#758993;font-size:.75rem}.resident-login-affiliation a{color:#087d82;font-weight:900;text-decoration:none}.affiliation-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}.affiliation-card{width:min(100%,620px);border:1px solid rgba(221,231,236,.85);border-radius:1.45rem;background:#fff;box-shadow:0 24px 65px rgba(6,35,55,.17);overflow:hidden}.affiliation-brand{height:115px;display:flex;align-items:center;justify-content:center;padding:.5rem 1rem;background:#06162c}.affiliation-brand img{width:min(100%,340px);height:100px;object-fit:contain}.affiliation-body{padding:1.35rem}.affiliation-heading p{margin:0;color:#b4822d;font-size:.64rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.affiliation-heading h1{margin:.18rem 0;color:#173b47;font-size:1.45rem;font-weight:900}.affiliation-heading>span{display:block;color:#71858e;font-size:.76rem;line-height:1.45}.affiliation-form{display:grid;gap:.9rem;margin-top:1.1rem}.affiliation-form label{display:block;margin-bottom:.3rem;color:#3e5b65;font-size:.72rem;font-weight:850}.affiliation-form label small{color:#87979d;font-weight:600}.affiliation-form .form-control,.affiliation-form .form-select{min-height:48px;border-radius:.82rem}.affiliation-consent{display:grid!important;grid-template-columns:auto 1fr;gap:.55rem;align-items:flex-start;margin:0!important;padding:.75rem;border-radius:.8rem;background:#eff7f6}.affiliation-consent input{margin-top:.2rem}.affiliation-consent span{color:#547177;font-weight:600}.affiliation-body>footer{text-align:center;color:#71858e;font-size:.72rem}.affiliation-body>footer a,.affiliation-change{color:#087d82;font-weight:900;text-decoration:none}.affiliation-change{text-align:center;font-size:.7rem}.affiliation-result{padding:1.4rem .5rem;text-align:center}.affiliation-result>span{display:grid;place-items:center;width:58px;height:58px;margin:0 auto .8rem;border-radius:18px;background:#e4f6ef;color:#17805b;font-size:1.7rem;font-weight:900}.affiliation-result p{margin:0;color:#b4822d;font-size:.62rem;font-weight:900;text-transform:uppercase}.affiliation-result h1{margin:.3rem 0;color:#173b47;font-size:1.35rem;font-weight:900}.affiliation-result small{display:block;color:#71858e;line-height:1.5}.affiliation-result a{display:inline-flex;margin-top:1rem;color:#087d82;font-size:.75rem;font-weight:900;text-decoration:none}.affiliation-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:160px;padding:1.5rem 1.7rem;border-radius:1.2rem;background:radial-gradient(circle at 88% 10%,rgba(9,176,181,.27),transparent 34%),linear-gradient(125deg,#071c34,#075e67);color:#fff;box-shadow:0 16px 34px rgba(15,43,62,.16)}.affiliation-admin-hero .eyebrow{margin:0;color:#7adeda!important}.affiliation-admin-hero h1{margin:.15rem 0;color:#fff;font-size:1.85rem;font-weight:900}.affiliation-admin-hero span{color:rgba(255,255,255,.73)}.affiliation-admin-total{min-width:125px;padding:.9rem 1rem;border:1px solid rgba(255,255,255,.18);border-radius:1rem;background:rgba(255,255,255,.08);text-align:center}.affiliation-admin-total strong,.affiliation-admin-total span{display:block}.affiliation-admin-total strong{color:#f2cf72;font-size:2rem}.directory-uuid{display:block;padding:.7rem;border-radius:.65rem;background:#f1f5f6;overflow-wrap:anywhere}.affiliation-request-list{display:grid;gap:.75rem;padding:1rem}.affiliation-request{padding:1rem;border:1px solid #dfe8ea;border-radius:1rem;background:#fff}.affiliation-request.status-pending{border-left:4px solid #d2a343}.affiliation-request.status-approved{border-left:4px solid #25966b}.affiliation-request.status-rejected{border-left:4px solid #b95a55}.affiliation-request-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.affiliation-request-head h3{margin:.25rem 0 .1rem;color:#173b47;font-size:1rem;font-weight:900}.affiliation-request-head small,.affiliation-request-head strong{display:block}.affiliation-request-head small{color:#7b8e95;font-size:.65rem}.affiliation-request-head strong{color:#a27325;font-size:.73rem}.affiliation-status{display:inline-flex;padding:.22rem .45rem;border-radius:999px;background:#edf3f4;color:#58727b;font-size:.55rem!important;font-weight:900;text-transform:uppercase}.affiliation-request-note{margin:.75rem 0 0;padding:.7rem;border-radius:.7rem;background:#f5f8f8;color:#587078;font-size:.72rem}.affiliation-review-grid{display:grid;grid-template-columns:2fr 1fr;gap:.6rem;margin-top:.8rem;padding-top:.8rem;border-top:1px solid #e9eff0}.affiliation-review-grid form{display:flex;gap:.4rem}.affiliation-review-grid form:first-child{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.affiliation-review-grid form:first-child input{grid-column:1/2}.affiliation-review-grid form:first-child button{grid-column:2/3}.affiliation-resolution{display:flex;justify-content:space-between;gap:1rem;margin-top:.8rem;padding-top:.7rem;border-top:1px solid #e9eff0;color:#5d747c;font-size:.68rem}.affiliation-resolution strong{color:#28705a}.credential-delivery-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.2rem;border:1px solid rgba(210,165,70,.45);border-radius:1rem;background:linear-gradient(120deg,#fff9e9,#f1fbfa)}
@media(max-width:767.98px){.affiliation-admin-hero{align-items:flex-start;flex-direction:column}.affiliation-admin-total{width:100%}.affiliation-request-head{flex-direction:column}.affiliation-request-head>div:last-child{text-align:left!important}.affiliation-review-grid{grid-template-columns:1fr}.affiliation-review-grid form,.affiliation-review-grid form:first-child{display:grid;grid-template-columns:1fr}.affiliation-review-grid form:first-child input,.affiliation-review-grid form:first-child button{grid-column:auto}.credential-delivery-card{align-items:flex-start;flex-direction:column}}
@media(max-width:575.98px){.affiliation-shell{align-items:start;padding:.45rem}.affiliation-card{border-radius:1.15rem}.affiliation-brand{height:95px}.affiliation-brand img{height:84px}.affiliation-body{padding:1rem}.affiliation-heading h1{font-size:1.25rem}}
