:root{
  --blue:#0796d2;
  --blue-dark:#0d4a7d;
  --green:#0b9b55;
  --ink:#163d65;
  --muted:#6b86a1;
  --line:#d9e8f3;
  --soft:#f5fbff;
  --danger:#d54a4a;
  --shadow:0 24px 80px rgba(21,74,112,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#eef6fa;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink)}
button,input,textarea,select{font:inherit}
a{color:inherit}
.page-shell{width:min(1536px,100%);margin:0 auto;background:#fff;position:relative;box-shadow:0 0 60px rgba(0,0,0,.06)}
.exact-canvas{position:relative;line-height:0;overflow:hidden;background:#fff}
.exact-canvas>img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.hotspot{position:absolute;display:block;border:0;background:transparent;cursor:pointer;z-index:5;padding:0;text-indent:-9999px;overflow:hidden}
.hotspot:focus-visible{outline:3px solid rgba(7,150,210,.45);outline-offset:2px;border-radius:8px}
.anchor-point{position:absolute;left:0;width:1px;height:1px;pointer-events:none}
.toast{position:fixed;right:22px;bottom:22px;z-index:1000;background:#103d64;color:#fff;padding:14px 18px;border-radius:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(14px);pointer-events:none;transition:.25s}
.toast.show{opacity:1;transform:none}
.overlay{position:fixed;inset:0;background:rgba(6,36,58,.54);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:18px;z-index:900}
.overlay.open{display:flex}
.modal{width:min(720px,96vw);max-height:90vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:24px;line-height:1.45}
.modal.large{width:min(980px,96vw)}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.modal-head h2{margin:0;color:var(--blue-dark);font-size:1.5rem}
.modal-head p{margin:5px 0 0;color:var(--muted);font-size:.92rem}
.icon-close{border:1px solid var(--line);background:#f7fbfe;width:38px;height:38px;border-radius:10px;color:#527494;cursor:pointer;font-size:1.2rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:7px;color:#4a6b88;font-weight:700;font-size:.88rem}
.field.full{grid-column:1/-1}
.field input,.field textarea,.field select{border:1px solid #cfe0ed;border-radius:11px;padding:12px;background:#fff;color:#163d65;outline:none}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#73b9e3;box-shadow:0 0 0 3px rgba(7,150,210,.10)}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap}
.btn{border:0;border-radius:11px;padding:12px 17px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn-primary{background:linear-gradient(135deg,#06a6e3,#078dc8);color:#fff}
.btn-secondary{background:#f1f8fc;color:#1b608e;border:1px solid #cfe2ef}
.btn-danger{background:#fff0f0;color:#a84242;border:1px solid #f0caca}
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.info-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fbfdff}
.info-card h3{margin:0 0 7px;color:var(--blue-dark);font-size:1rem}.info-card p{margin:0;color:var(--muted);font-size:.9rem}
.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 10px;border-bottom:1px solid #eaf1f6;text-align:left;font-size:.88rem}.table th{color:#68849e;background:#f8fbfd}.table tbody tr{cursor:pointer}.table tbody tr:hover{background:#f4fbff}
.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.74rem;font-weight:800;background:#e8f8ef;color:#16804a}
.small-note{font-size:.82rem;color:#718aa2;margin-top:12px}

/* Home */
.home-page{background:#fff}
.home-float-admin{position:fixed;right:18px;bottom:18px;z-index:100;background:#0d4a7d;color:#fff;text-decoration:none;padding:10px 14px;border-radius:999px;font-weight:800;font-size:.82rem;box-shadow:0 10px 26px rgba(13,74,125,.25);opacity:.18;transition:.2s}
.home-float-admin:hover{opacity:1}

/* Admin login exact - corrigido */
.login-page-body{background:#eef6fa}
.login-shell{width:min(1448px,100%);margin:0 auto;position:relative;background:#fff;box-shadow:0 0 60px rgba(0,0,0,.06)}
.login-canvas{position:relative;line-height:0;overflow:hidden}
.login-canvas>img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.login-form-mask{position:absolute;left:35.05%;top:31.0%;width:30.55%;height:37.2%;background:#fff;z-index:7;pointer-events:none}
.login-live-form{position:absolute;left:35.72%;top:33.0%;width:29.30%;z-index:8;line-height:1.25;color:#173e64}
.login-label{display:block;margin:0 0 8px;font-size:15px;font-weight:800;color:#173e64}
.login-label.password-label{margin-top:18px}
.login-input-wrap{position:relative;width:100%}
.login-input-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);z-index:2;color:#527aa0;font-size:16px;line-height:1;pointer-events:none}
.login-live-form .login-field{display:block;width:100%;height:49px;margin:0;border:1px solid #b9d3e7;border-radius:8px;padding:0 46px 0 46px;background:#fff;color:#345d81;outline:none;font-size:14px;box-shadow:none}
.login-live-form .login-field:focus{border-color:#4aaadb;box-shadow:0 0 0 3px rgba(7,150,210,.12)}
.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;background:transparent;color:#527aa0;cursor:pointer;font-size:15px;line-height:1;border-radius:8px}
.password-toggle:hover{background:#f2f8fc}
.login-live-form .remember-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:17px 0 0;color:#1a5884;font-size:13px;line-height:1.2}
.remember-check{display:flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap}
.remember-check input{width:18px;height:18px;margin:0;accent-color:#0796d2}
.login-live-form .remember-row a{color:#078dcc;font-weight:700;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.login-live-form .login-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:52px;border:0;border-radius:8px;background:linear-gradient(90deg,#099ed6,#0b8dcc);color:#fff;font-weight:800;cursor:pointer;font-size:15px;margin-top:20px;box-shadow:0 8px 18px rgba(7,150,210,.14)}
.login-live-form .login-submit:hover{filter:brightness(.98)}
.login-status{min-height:18px;margin-top:8px;text-align:center;color:#a94444;font-size:13px;line-height:1.2}
.login-separator{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:8px;color:#7a91a8;font-size:13px}
.login-separator span{display:block;height:1px;background:#d7e4ee}
.login-separator b{font-weight:600}
.login-back{display:block;text-align:center;margin-top:18px;color:#078dcc;font-weight:700;text-decoration:none;font-size:14px}
.login-back:hover{text-decoration:underline;text-underline-offset:3px}

/* Admin dashboard exact */
.admin-shell{width:min(1448px,100%);margin:0 auto;position:relative;background:#fff;box-shadow:0 0 60px rgba(0,0,0,.06)}
.admin-canvas{position:relative;line-height:0}.admin-canvas>img{display:block;width:100%;height:auto}
.admin-search-shell{position:absolute;left:16.45%;top:2.28%;width:30.25%;height:4.62%;z-index:9;display:flex;align-items:center;gap:8px;padding:0 10px 0 14px;background:#fff;border:1px solid #d7e5ef;border-radius:11px;box-shadow:0 1px 4px rgba(26,78,112,.05);line-height:1}
.admin-search-icon{width:18px;height:18px;flex:0 0 18px;color:#567b9d}
.admin-search{position:static;flex:1;min-width:0;height:100%;border:0;background:#fff;outline:none;color:#355c7c;padding:0 4px;font-size:13px;line-height:1.2}
.admin-search::placeholder{color:#6f88a0;opacity:1}
.admin-search-shortcut{flex:0 0 auto;border:1px solid #d8e5ee;background:#f6fafc;color:#6f88a0;border-radius:6px;padding:4px 7px;font-size:10px;font-weight:700;white-space:nowrap}
.admin-search-shell:focus-within{border-color:#8fc4e3;box-shadow:0 0 0 3px rgba(7,150,210,.10)}

/* Resident exact */
.resident-shell{width:min(1448px,100%);margin:0 auto;position:relative;background:#fff;box-shadow:0 0 60px rgba(0,0,0,.06)}
.resident-canvas{position:relative;line-height:0}.resident-canvas>img{display:block;width:100%;height:auto}
.resident-search{position:absolute;left:78.0%;top:7.8%;width:18.8%;height:3.6%;z-index:8;border:1px solid transparent;background:transparent;outline:none;padding:0 12px 0 34px;color:#365d7f;font-size:13px}
.resident-search:focus{background:rgba(255,255,255,.97);border-color:#9dcbe7;border-radius:9px}

/* cards inside modals */
.resident-list{display:grid;gap:10px}.resident-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:13px 14px;background:#fbfdff}.resident-row strong{color:#164d78}.resident-row small{display:block;color:#718ba2;margin-top:3px}.resident-row button{white-space:nowrap}
.doc-list{display:grid;gap:10px}.doc-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px}.doc-row span{color:#6d86a0;font-size:.86rem}
.agenda-list{display:grid;gap:10px}.agenda-row{display:grid;grid-template-columns:80px 1fr;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px}.agenda-row time{font-weight:800;color:#078dcc}.agenda-row strong{display:block;color:#174f7a}.agenda-row span{display:block;color:#738ba1;margin-top:4px;font-size:.86rem}

@media(max-width:900px){
  .form-grid,.info-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .home-float-admin{opacity:.65;font-size:.75rem}
  .login-live-form{left:35.72%;width:29.30%}.login-label{font-size:13px;margin-bottom:6px}.login-label.password-label{margin-top:12px}.login-live-form .login-field{height:43px;font-size:12px;padding-left:38px;padding-right:40px}.login-input-icon{left:12px;font-size:13px}.login-live-form .remember-row{font-size:11px;margin-top:12px}.remember-check input{width:15px;height:15px}.login-live-form .login-submit{height:44px;font-size:12px;margin-top:14px}.login-status{font-size:11px;min-height:14px;margin-top:5px}.login-separator{font-size:11px;margin-top:4px}.login-back{font-size:12px;margin-top:12px}
}
@media(max-width:560px){
  .modal{padding:18px;border-radius:16px}.modal-head h2{font-size:1.25rem}.resident-row{grid-template-columns:1fr}.resident-row button{justify-self:start}
  .login-form-mask{left:35.0%;top:30.8%;width:30.7%;height:37.5%}.login-live-form{left:35.72%;top:33.0%;width:29.30%}.login-label{font-size:8px;margin-bottom:3px}.login-label.password-label{margin-top:6px}.login-live-form .login-field{height:28px;font-size:8px;padding:0 24px 0 23px;border-radius:4px}.login-input-icon{left:7px;font-size:8px}.password-toggle{right:3px;width:22px;height:22px;font-size:8px}.login-live-form .remember-row{font-size:7px;margin-top:6px;gap:4px}.remember-check input{width:10px;height:10px}.login-live-form .login-submit{height:29px;margin-top:7px;font-size:8px;border-radius:4px;gap:4px}.login-status{font-size:7px;min-height:9px;margin-top:2px}.login-separator{font-size:7px;gap:5px;margin-top:2px}.login-back{font-size:8px;margin-top:6px}
}

/* ===== V3: ficha funcional de residentes ===== */
.admin-quick-resident{position:fixed;right:22px;bottom:22px;z-index:50;border:0;border-radius:999px;padding:13px 18px;background:linear-gradient(135deg,#0aa4df,#078ecb);color:#fff;font-weight:800;box-shadow:0 12px 28px rgba(7,142,203,.28);cursor:pointer}
.table-sub{display:block;color:#7b92a8;font-weight:500;margin-top:3px;font-size:.78rem}.resident-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:14px}.resident-search-modal{flex:1}.resident-search-modal input{width:100%;border:1px solid #cfe0ed;border-radius:11px;padding:12px 13px}.form-section-title{margin-top:8px;padding:10px 12px;border-radius:10px;background:#eef8fd;color:#0b79ad;font-weight:800}.empty-state{padding:20px;border:1px dashed #cfe0ed;border-radius:12px;color:#6e869d;text-align:center;background:#fbfdff}.guide-warning{padding:12px;border:1px solid #ead5a2;background:#fff9e9;border-radius:10px;color:#735d2d;font-size:.85rem}.btn-hospital{background:linear-gradient(135deg,#0e7fb7,#0a6298);color:#fff;border:0}
.resident-live-body{background:#f5faff;color:#173e64}.resident-live-layout{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}.resident-live-sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid #dce9f2;padding:18px 16px;display:flex;flex-direction:column}.resident-live-logo{width:185px;margin:2px auto 0}.resident-live-tagline{text-align:center;color:#6e89a4;font-size:.82rem;margin:8px 0 22px;font-style:italic}.resident-live-sidebar nav{display:grid;gap:8px}.resident-live-sidebar nav a,.resident-live-sidebar nav button{border:0;background:transparent;text-decoration:none;color:#305b83;padding:12px 13px;border-radius:11px;font:inherit;font-weight:700;text-align:left;cursor:pointer;display:flex;gap:11px;align-items:center}.resident-live-sidebar nav a:hover,.resident-live-sidebar nav button:hover,.resident-live-sidebar nav .active{background:#e8f7ff;color:#078ecb}.resident-live-sidequote{margin-top:auto;background:linear-gradient(180deg,#effaff,#f8fdff);border:1px solid #d8eaf4;border-radius:18px;padding:24px 10px;text-align:center;font-size:1.45rem;color:#7391ac;font-style:italic;line-height:1.25}.resident-logout{margin-top:14px;text-decoration:none;color:#557692;font-weight:700;padding:10px}
.resident-live-main{min-width:0}.resident-live-topbar{height:76px;background:#fff;border-bottom:1px solid #dce9f2;display:flex;align-items:center;gap:18px;padding:0 22px;position:sticky;top:0;z-index:20}.resident-live-topbar>div:first-child{display:flex;flex-direction:column}.resident-live-topbar small{color:#7891a7}.resident-live-topbar strong{color:#174e78}.resident-live-search{margin-left:auto;display:flex;gap:8px;min-width:350px}.resident-live-search input{flex:1;border:1px solid #cfe0ed;border-radius:10px;padding:10px 12px;outline:none}.resident-live-search button{border:0;border-radius:10px;background:#eef8fd;color:#0b79ad;font-weight:800;padding:0 14px;cursor:pointer}.resident-live-user{display:flex;gap:9px;align-items:center}.resident-live-user>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#0b94d2;color:#fff;font-weight:800}.resident-live-user>div{display:flex;flex-direction:column}.resident-live-user b{font-size:.88rem}.resident-live-user small{font-size:.74rem}
.resident-live-content{padding:20px}.resident-summary-card{background:linear-gradient(135deg,#fff,#f8fcff);border:1px solid #dce9f2;border-radius:20px;box-shadow:0 14px 36px rgba(30,70,100,.08);padding:20px;display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px}.resident-avatar-live{width:120px;height:120px;border-radius:22px;background:linear-gradient(135deg,#e9f8ff,#dff5ec);display:grid;place-items:center;font-size:2.2rem;font-weight:800;color:#118abf;border:1px solid #d5e9f4}.resident-breadcrumb{color:#7891a7;font-size:.82rem;margin-bottom:6px}.resident-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.resident-title-row h1{margin:0;color:#174e78;font-size:2rem}.resident-status{padding:7px 11px;border-radius:999px;background:#e7f8ee;color:#16804a;font-size:.78rem;font-weight:800}.resident-summary-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px}.resident-summary-facts>div{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #e2edf4;border-radius:12px;background:#fff}.resident-summary-facts>div>span{font-size:1.2rem}.resident-summary-facts p{display:flex;flex-direction:column;margin:0}.resident-summary-facts b{color:#174e78;font-size:.86rem}.resident-summary-facts small{color:#7a92a9;margin-top:3px;font-size:.72rem}.resident-actionbar{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}
.resident-live-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.resident-live-card{background:#fff;border:1px solid #dce9f2;border-radius:18px;box-shadow:0 12px 30px rgba(30,70,100,.06);padding:18px}.resident-live-card.full-width{grid-column:1/-1}.resident-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;border-bottom:1px solid #e9f1f6;padding-bottom:12px}.resident-card-head h2{margin:0;color:#174e78;font-size:1.08rem}.resident-card-head span{color:#718aa1;font-size:.78rem}.mini-link{border:1px solid #cfe0ed;border-radius:8px;padding:7px 10px;background:#f7fbfe;color:#0b79ad;font-weight:700;cursor:pointer}.btn.small{padding:8px 11px;font-size:.78rem}
.resident-data-list{display:grid;gap:0}.resident-data-list>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid #edf3f7}.resident-data-list>div:last-child{border-bottom:0}.resident-data-list span{color:#6d88a1;font-size:.83rem}.resident-data-list b{color:#214e72;font-size:.86rem}.muted-value{color:#99aaba;font-weight:500}.health-sections{display:grid;grid-template-columns:1fr 1fr;gap:11px}.health-sections section{padding:12px;border:1px solid #e2edf4;border-radius:12px;background:#fbfdff}.health-sections section.wide{grid-column:1/-1}.health-sections h3{margin:0 0 7px;color:#0b79ad;font-size:.85rem}.health-sections div{color:#466985;font-size:.86rem;line-height:1.55}.health-edit-btn{margin-top:12px}.admin-note-box{padding:14px;background:#f6fbfe;border:1px solid #e0edf5;border-radius:12px;color:#4b6f8d;line-height:1.6}.observation-history{margin-top:14px}.observation-history h3{font-size:.88rem;color:#174e78}.observation-history>div{border-top:1px solid #e9f1f6;padding:8px 0}.observation-history p{margin:0;color:#4f718d;font-size:.84rem}.observation-history small{color:#8197aa}.resident-doc-list{display:grid;gap:8px}.resident-doc-list>div{display:grid;grid-template-columns:80px 1fr auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid #e1edf4;border-radius:10px;background:#fbfdff}.resident-doc-list .doc-type{display:inline-flex;justify-content:center;border-radius:999px;background:#e8f7ff;color:#0b79ad;padding:5px 8px;font-size:.72rem;font-weight:800}.resident-doc-list strong{color:#2c587b;font-size:.84rem}.resident-doc-list small{color:#7a91a6}
@media(max-width:1050px){.resident-live-layout{grid-template-columns:1fr}.resident-live-sidebar{display:none}.resident-summary-facts{grid-template-columns:repeat(2,1fr)}.resident-live-search{min-width:240px}.resident-live-grid{grid-template-columns:1fr}.resident-live-card.full-width{grid-column:auto}}
@media(max-width:700px){.resident-live-topbar{height:auto;padding:12px;flex-wrap:wrap}.resident-live-search{order:3;width:100%;min-width:0}.resident-live-user{margin-left:auto}.resident-live-content{padding:10px}.resident-summary-card{grid-template-columns:1fr}.resident-avatar-live{width:82px;height:82px}.resident-summary-facts{grid-template-columns:1fr}.resident-data-list>div{grid-template-columns:1fr;gap:3px}.health-sections{grid-template-columns:1fr}.health-sections section.wide{grid-column:auto}.resident-doc-list>div{grid-template-columns:70px 1fr}.resident-doc-list small{grid-column:2}.resident-title-row h1{font-size:1.5rem}}
@media print{.resident-live-sidebar,.resident-live-topbar,.resident-actionbar,.mini-link,.health-edit-btn,.resident-card-head .btn,.admin-quick-resident{display:none!important}.resident-live-layout{display:block}.resident-live-content{padding:0}.resident-summary-card,.resident-live-card{box-shadow:none;break-inside:avoid}.resident-live-grid{display:block}.resident-live-card{margin-top:10px}.resident-live-body{background:#fff}}

@media(max-width:900px){
  .admin-search-shell{left:16.2%;width:31.2%;}
  .admin-search{font-size:11px}.admin-search-shortcut{font-size:8px;padding:3px 5px}.admin-search-icon{width:15px;height:15px;flex-basis:15px}
}
@media(max-width:560px){
  .admin-search-shell{left:15.9%;top:2.25%;width:31.8%;height:4.7%;padding-left:8px;padding-right:6px;gap:4px;border-radius:6px}
  .admin-search{font-size:7px}.admin-search-shortcut{display:none}.admin-search-icon{width:10px;height:10px;flex-basis:10px}
}

/* V5 — foto, contratos, documentos PDF e busca rápida */
.table-person{display:flex;align-items:center;gap:10px}.search-avatar{flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#e8f7ff,#e9f8ef);display:grid;place-items:center;overflow:hidden;color:#0b84bb;font-weight:800;font-size:.72rem;border:1px solid #d7e8f3}.search-avatar.large{width:48px;height:48px;border-radius:13px}.search-avatar img{width:100%;height:100%;object-fit:cover}
.search-mode-tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.search-mode-tabs button{border:1px solid #cfe0ed;background:#fff;color:#4f728f;border-radius:999px;padding:9px 14px;font:inherit;font-weight:800;cursor:pointer}.search-mode-tabs button.active{background:#0b93d0;color:#fff;border-color:#0b93d0}.quick-search-input{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:14px}.quick-search-input input{width:100%;border:1px solid #cfe0ed;border-radius:11px;padding:12px 13px;font:inherit}.quick-results{display:grid;gap:10px}.quick-result-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid #dce9f2;border-radius:14px;padding:12px;background:#fbfdff}.quick-result-main{min-width:0}.quick-result-main strong{display:block;color:#164d78}.quick-result-main>span{display:block;color:#7890a6;font-size:.8rem;margin-top:3px}.responsible-inline{margin-top:7px;padding:8px 10px;background:#f1f9f4;border-radius:9px;color:#4e7560;font-size:.82rem}.responsible-inline b{color:#28734c}
.contract-list{display:grid;gap:10px}.contract-row,.resident-contract-row,.alert-contract{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border:1px solid #dce9f2;border-radius:13px;padding:13px;background:#fbfdff}.contract-row strong,.resident-contract-row strong,.alert-contract strong{color:#174e78}.contract-row small,.resident-contract-row small,.alert-contract small{display:block;color:#718aa2;margin-top:4px}.contract-state{white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:.74rem;font-weight:800}.contract-state.ok{background:#e8f7ed;color:#177744}.contract-state.warning{background:#fff4d8;color:#916700}.contract-state.danger{background:#ffeded;color:#b52c2c}.contract-state.neutral{background:#edf3f7;color:#60798e}.row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.alert-contract.warning{border-color:#efdca7;background:#fffaf0}.alert-contract.danger{border-color:#f1c4c4;background:#fff4f4}.contract-summary{color:#5c7894;font-size:.9rem;font-weight:700}
.doc-row.enhanced{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.doc-row.enhanced small{display:block;color:#7890a6;margin-top:4px}
.resident-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.resident-avatar-live{overflow:hidden;position:relative}.resident-avatar-live img{display:none;width:100%;height:100%;object-fit:cover}.resident-avatar-live>span{width:100%;height:100%;display:grid;place-items:center}.resident-photo-btn{border:1px solid #cfe0ed;background:#fff;color:#23658e;border-radius:10px;padding:7px 9px;font:inherit;font-size:.75rem;font-weight:800;cursor:pointer;width:100%}.resident-photo-btn:hover{background:#f0f9fe}
.resident-doc-row{display:grid!important;grid-template-columns:100px 1fr auto!important;gap:12px!important;align-items:center}.resident-doc-row>div:nth-child(2){min-width:0}.resident-doc-row small{display:block;margin-top:4px}.resident-contract-list{display:grid;gap:8px}.resident-contract-row{grid-template-columns:1fr auto auto}.resident-contract-row>div:first-child{min-width:0}
@media(max-width:700px){.quick-search-input{grid-template-columns:1fr}.quick-result-row,.contract-row,.resident-contract-row,.alert-contract{grid-template-columns:1fr}.resident-doc-row{grid-template-columns:80px 1fr!important}.resident-doc-row .row-actions{grid-column:2}.resident-avatar-wrap{align-items:flex-start}.resident-photo-btn{width:auto}}

/* V6 - arquivamento, exclusão e gestão de usuários */
.badge.archived{background:#eef1f4;color:#6c7885}
.danger-link{color:#b53b3b!important;border-color:#efc7c7!important}
.danger-box{padding:12px 14px;border:1px solid #efc0c0;background:#fff3f3;color:#963c3c;border-radius:11px;margin-bottom:14px}
.resident-status-tabs{margin-top:2px}
.user-manage-list{display:grid;gap:10px;margin:14px 0}
.user-manage-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:13px;background:#fbfdff}
.user-manage-row strong{display:block;color:#164d78}.user-manage-row small{display:block;color:#718ba2;margin-top:4px}
@media(max-width:700px){.user-manage-row{grid-template-columns:1fr}.user-manage-row .row-actions{justify-content:flex-start}}


/* V7 - área do desenvolvedor e suporte */
.developer-footer-section{padding:30px 18px 44px;background:linear-gradient(180deg,#f4f9fc 0%,#eef5fa 100%);border-top:1px solid #dbe8f2}
.developer-footer-card{max-width:1280px;margin:0 auto;background:#fff;border:1px solid #d8e6f1;border-radius:28px;box-shadow:0 18px 50px rgba(20,68,100,.08);padding:24px;display:grid;grid-template-columns:minmax(320px,470px) 1fr;gap:24px;align-items:center}
.developer-brand-block{display:flex;gap:18px;align-items:center}
.developer-logo{width:180px;height:180px;object-fit:cover;border-radius:24px;box-shadow:0 18px 40px rgba(8,26,56,.18);background:#061a33}
.developer-brand-copy h2{margin:8px 0 10px;color:#103d64;font-size:2rem}
.developer-brand-copy p{margin:0;color:#5f7c97;line-height:1.7;font-size:.98rem}
.developer-badge{display:inline-flex;padding:7px 12px;border-radius:999px;background:#e9f6ff;color:#0a7db2;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.developer-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.developer-contact-item{border:1px solid #dce9f2;border-radius:18px;padding:18px;background:#fbfdff;min-height:110px;display:flex;flex-direction:column;justify-content:center}
.developer-contact-item.full{grid-column:1/-1;min-height:auto}
.dev-label{display:block;color:#7190a9;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.developer-contact-item a,.developer-contact-item strong{font-size:1.05rem;color:#174d76;text-decoration:none}
.developer-contact-item p{margin:0;color:#5f7c97;line-height:1.6}
.support-float-btn{position:fixed;right:24px;bottom:80px;z-index:70;border:0;border-radius:999px;padding:14px 18px;background:linear-gradient(135deg,#0aa3df,#087fc0);color:#fff;font-weight:800;box-shadow:0 18px 45px rgba(8,80,128,.25);cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.support-float-btn:hover{transform:translateY(-1px)}
.support-modal-grid{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:start}
.support-brand-side{background:linear-gradient(180deg,#081a34,#0d2d59 60%,#113e79);border-radius:22px;padding:18px;color:#fff;text-align:center}
.support-brand-side img{width:140px;height:140px;object-fit:cover;border-radius:20px;box-shadow:0 10px 28px rgba(0,0,0,.24);margin:0 auto 14px}
.support-brand-side h3{margin:6px 0 8px;font-size:1.2rem}.support-brand-side p{margin:0;color:#d7e4f5;line-height:1.5;font-size:.9rem}
.support-contact-list{display:grid;gap:12px}.support-contact-card{border:1px solid #dce9f2;border-radius:16px;padding:15px;background:#fbfdff}.support-contact-card strong{display:block;color:#174d76;font-size:1rem;margin-bottom:6px}.support-contact-card span,.support-contact-card p{display:block;color:#62809b;line-height:1.55;margin:0}.support-contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
@media(max-width:900px){.developer-footer-card{grid-template-columns:1fr}.developer-brand-block{align-items:flex-start}.support-modal-grid{grid-template-columns:1fr}.support-brand-side img{width:110px;height:110px}}
@media(max-width:700px){.developer-brand-block{flex-direction:column;text-align:center}.developer-logo{width:140px;height:140px}.developer-contact-grid{grid-template-columns:1fr}.support-float-btn{right:12px;left:12px;justify-content:center;bottom:14px}.admin-quick-resident{left:12px;right:12px;bottom:126px;text-align:center}}


/* V8 - assinatura Vértice mais discreta na Home */
.developer-footer-section.compact{padding:10px 18px 16px;background:#f7fafc;border-top:1px solid #e4edf4}
.developer-mini-bar{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border:1px solid #e1ebf2;border-radius:14px;background:rgba(255,255,255,.88);box-shadow:0 6px 18px rgba(22,67,99,.04)}
.developer-mini-brand{display:flex;align-items:center;gap:10px;min-width:0}
.developer-mini-brand img{width:46px;height:46px;object-fit:cover;border-radius:10px;background:#071a31;flex:0 0 auto}
.developer-mini-brand div{display:flex;flex-direction:column;gap:2px;min-width:0}
.developer-mini-brand strong{font-size:.82rem;color:#3d607d;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.developer-mini-brand span{font-size:.74rem;color:#8298aa}
.developer-mini-contact a{font-size:.8rem;color:#567892;text-decoration:none;font-weight:700;white-space:nowrap}
.developer-mini-contact a:hover{color:#0b82bd}
@media(max-width:720px){.developer-mini-bar{align-items:flex-start;flex-direction:column}.developer-mini-contact a{white-space:normal}.developer-mini-brand strong{white-space:normal}}


/* V9 — seção institucional da fundadora */
.founder-showcase{background:linear-gradient(180deg,#f8fcfe 0%,#f2f8fb 100%);padding:48px 24px 40px;border-top:1px solid #dce9f2}
.founder-showcase-inner{width:min(1180px,100%);margin:0 auto}
.founder-heading{max-width:760px;margin:0 auto 24px;text-align:center}
.founder-kicker{display:inline-block;margin-bottom:8px;color:#0b8fc9;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.founder-heading h2{margin:0 0 10px;color:#174f79;font-size:clamp(1.7rem,2.6vw,2.35rem);line-height:1.15}
.founder-heading p{margin:0;color:#6b859e;line-height:1.65;font-size:1rem}
.founder-heading strong{color:#365f7f}
.founder-art-card{margin:0 auto;width:min(1080px,100%);background:#fff;border:1px solid #d8e6ef;border-radius:26px;padding:12px;box-shadow:0 22px 58px rgba(28,72,103,.10);overflow:hidden}
.founder-art-card img{display:block;width:100%;height:auto;border-radius:18px}
@media(max-width:760px){.founder-showcase{padding:34px 12px 28px}.founder-heading{margin-bottom:18px}.founder-art-card{padding:7px;border-radius:18px}.founder-art-card img{border-radius:13px}}


/* V10 — faixa de contato movida para o final da Home */
.contact-final-section{background:#f7fbfd;padding:18px 18px 10px;border-top:1px solid #dce9f2}
.contact-final-canvas{position:relative;width:min(1480px,100%);margin:0 auto;line-height:0;overflow:hidden;border-radius:18px;box-shadow:0 12px 30px rgba(25,72,105,.08)}
.contact-final-canvas>img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
@media(max-width:760px){.contact-final-section{padding:12px 8px 8px}.contact-final-canvas{border-radius:12px}}


/* V11 — carrossel da estrutura e gerenciador da Home */
.structure-carousel{position:absolute;left:22.65%;top:77.65%;width:43.25%;height:22.15%;z-index:8;background:linear-gradient(90deg,#f2fbf5 0%,#f7fcf9 100%);padding:16px 30px 26px;border-radius:0;line-height:1.25;overflow:hidden}
.structure-track-viewport{width:100%;height:100%;overflow:hidden}
.structure-track{display:flex;gap:12px;height:100%;transition:transform .35s ease;will-change:transform}
.structure-slide{flex:0 0 calc((100% - 24px)/3);margin:0;min-width:0;display:flex;flex-direction:column;gap:7px}
.structure-slide img{display:block;width:100%;height:calc(100% - 29px);min-height:118px;object-fit:cover;border-radius:14px;box-shadow:0 3px 12px rgba(42,89,76,.08);border:1px solid rgba(116,161,138,.18)}
.structure-slide figcaption{font-size:12px;color:#315f76;text-align:center;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.structure-arrow{position:absolute;top:39%;width:38px;height:38px;border:1px solid #d9e8e1;background:rgba(255,255,255,.96);color:#1479a9;border-radius:50%;display:grid;place-items:center;font-size:28px;line-height:1;cursor:pointer;z-index:3;box-shadow:0 6px 18px rgba(24,86,105,.12)}
.structure-arrow:hover{background:#fff}.structure-arrow:disabled{opacity:.35;cursor:default}
.structure-prev{left:6px}.structure-next{right:6px}
.structure-counter{position:absolute;right:33px;bottom:7px;font-size:10px;color:#6e8b9c;font-weight:800}
.gallery-float-btn{position:fixed;right:24px;bottom:138px;z-index:70;border:0;border-radius:999px;padding:12px 16px;background:#fff;color:#145a80;font-weight:800;box-shadow:0 12px 36px rgba(8,80,128,.16);border:1px solid #d4e6f1;cursor:pointer}
.gallery-manager-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gallery-admin-card{border:1px solid #dce9f2;border-radius:16px;padding:12px;background:#fbfdff;display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:start}.gallery-admin-preview{width:150px;height:100px;object-fit:cover;border-radius:12px;border:1px solid #d9e8f2;background:#eef6fa}.gallery-admin-content{min-width:0}.gallery-slot-title{font-size:.78rem;color:#7690a6;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px}.gallery-caption-input{width:100%;border:1px solid #cfe0ed;border-radius:10px;padding:10px;font:inherit;color:#214f70;background:#fff}.gallery-file-input{margin-top:8px;width:100%;font-size:.8rem}.gallery-admin-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.gallery-note{padding:12px 14px;border:1px solid #d8e8f1;background:#f5fbff;border-radius:12px;color:#587993;line-height:1.55;margin-bottom:14px}.gallery-admin-card .mini-link{font-size:.76rem}.gallery-save-state{font-size:.76rem;color:#2c7a50;margin-top:6px;min-height:16px}
@media(max-width:1000px){.structure-slide{flex-basis:calc((100% - 12px)/2)}.structure-carousel{padding-left:28px;padding-right:28px}.gallery-manager-grid{grid-template-columns:1fr}}
@media(max-width:650px){.structure-carousel{left:22%;width:45%;padding-left:26px;padding-right:26px}.structure-slide{flex-basis:100%}.structure-slide figcaption{font-size:8px}.structure-arrow{width:28px;height:28px;font-size:20px}.structure-counter{font-size:7px}.gallery-admin-card{grid-template-columns:1fr}.gallery-admin-preview{width:100%;height:150px}.gallery-float-btn{left:12px;right:12px;bottom:70px;text-align:center}}


/* V12 — auditoria funcional e refinamento visual */
:root{
  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:24px;
  --shadow-soft:0 10px 30px rgba(31,74,108,.08);
  --shadow-float:0 16px 42px rgba(20,67,99,.14);
}
body{background:linear-gradient(180deg,#f5fafc 0%,#eef6fa 100%);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.page-shell,.admin-shell,.login-shell,.resident-shell{border-left:1px solid rgba(215,230,240,.75);border-right:1px solid rgba(215,230,240,.75)}
button,a,input,select,textarea{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease,transform .18s ease,opacity .18s ease}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(7,150,210,.22);outline-offset:2px}
.overlay{background:rgba(12,43,65,.48);backdrop-filter:blur(6px)}
.modal{border-radius:24px;border-color:#dbe8f1;box-shadow:0 26px 80px rgba(18,61,90,.22);padding:26px}
.modal-head{padding-bottom:14px;border-bottom:1px solid #edf3f7}
.modal-head h2{font-size:1.42rem;letter-spacing:-.01em}
.icon-close:hover{background:#eaf5fb;color:#0b78ad}
.btn{min-height:42px;border-radius:12px;box-shadow:none}.btn:hover{transform:translateY(-1px)}
.btn-primary{box-shadow:0 8px 18px rgba(7,150,210,.16)}
.info-card,.resident-row,.doc-row,.contract-row,.quick-result-row,.user-manage-row{box-shadow:0 5px 16px rgba(30,77,108,.035)}
.table th{position:sticky;top:0;z-index:1;background:#f8fbfd}
.toast{border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 50px rgba(13,55,83,.24)}

/* Login: transparência sobre recursos ainda demonstrativos */
.login-prototype-note{margin:10px auto 0;padding:8px 10px;border:1px solid #e1ebf2;border-radius:9px;background:#f8fbfd;color:#71899d;font-size:10.5px;line-height:1.4;text-align:center}

/* Painel: usuário real da sessão e indicadores dinâmicos */
.panel-user-live{position:absolute;left:85.85%;top:.72%;width:12.1%;height:6.1%;z-index:12;background:rgba(255,255,255,.97);display:flex;align-items:center;gap:8px;padding:7px 9px;border-left:1px solid #e2ecf3;border-radius:10px;line-height:1.15;box-shadow:0 3px 10px rgba(30,74,105,.04)}
.panel-user-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0fa2df,#087fbd);color:#fff;font-size:10px;font-weight:800}
.panel-user-live>span:last-child{min-width:0;display:flex;flex-direction:column}.panel-user-live strong{font-size:10px;color:#244f73;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-user-live small{font-size:8px;color:#7b91a5;margin-top:3px}
.panel-live-metric{position:absolute;z-index:11;display:flex;align-items:center;justify-content:center;height:3.8%;min-width:4.2%;padding:0 6px;border-radius:8px;font-weight:800;font-size:25px;line-height:1;color:#143d61}
.metric-residents{left:21.8%;top:35.7%;background:#f7fffa}.metric-contracts{left:42.4%;top:35.7%;background:#f6fbff}.metric-docs{left:63.2%;top:35.7%;background:#fffaf0}.metric-alerts{left:83.5%;top:35.7%;background:#fff6f7}
.panel-live-summary{width:min(1448px,100%);margin:0 auto 12px;padding:10px 18px;background:#fff;border:1px solid #ddeaf2;border-top:0;border-radius:0 0 16px 16px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;color:#6b849b;font-size:.78rem;box-shadow:0 8px 20px rgba(26,72,104,.04)}
.panel-live-summary span{display:inline-flex;align-items:center;gap:4px}.panel-live-summary b{color:#1a5d88}.panel-local-note{padding-left:14px;border-left:1px solid #dfe9f0;color:#8a9cab}

/* Ações administrativas flutuantes mais discretas e uniformes */
.admin-quick-resident,.support-float-btn,.gallery-float-btn{right:18px;min-width:164px;justify-content:center;border-radius:14px;padding:10px 14px;font-size:.78rem;box-shadow:var(--shadow-float)}
.admin-quick-resident{bottom:18px}
.support-float-btn{bottom:66px;background:#fff;color:#17648d;border:1px solid #d5e6f1}
.gallery-float-btn{bottom:114px;background:#fff;color:#17648d;border:1px solid #d5e6f1}
.support-float-btn:hover,.gallery-float-btn:hover{background:#f4fbff;transform:translateY(-1px)}

/* Home: transições suaves e coerência entre blocos */
.founder-showcase{padding-top:42px;padding-bottom:42px;background:linear-gradient(180deg,#fbfdfe 0%,#f4f9fb 100%)}
.founder-art-card{box-shadow:0 18px 48px rgba(28,72,103,.09);border-color:#dce8ef}
.contact-final-section{padding-top:20px;background:linear-gradient(180deg,#f7fbfd,#f2f8fb)}
.contact-final-canvas{box-shadow:0 10px 26px rgba(25,72,105,.07)}
.developer-footer-section.compact{background:#f5f9fb}
.developer-mini-bar{box-shadow:none;border-color:#e3edf3}
.home-float-admin{opacity:.11}.home-float-admin:focus-visible,.home-float-admin:hover{opacity:1}

/* Carrossel da estrutura */
.structure-carousel{background:linear-gradient(90deg,rgba(241,250,245,.97),rgba(248,252,249,.98));border-top:1px solid rgba(158,192,174,.10)}
.structure-track{transition:transform .32s cubic-bezier(.22,.61,.36,1)}
.structure-slide img{border-radius:13px;box-shadow:0 5px 16px rgba(43,88,78,.07)}
.structure-slide figcaption{font-weight:700;color:#315d73}
.structure-arrow{border-color:#dce9e2;box-shadow:0 5px 16px rgba(24,86,105,.10)}
.structure-arrow:not(:disabled):hover{transform:translateY(-1px);color:#0d6590}
.structure-carousel:focus-visible{outline:3px solid rgba(7,150,210,.18);outline-offset:-3px}

/* Gerenciador da galeria */
.gallery-admin-card{background:#fff;box-shadow:0 6px 20px rgba(31,75,104,.045)}
.gallery-admin-preview{box-shadow:0 4px 12px rgba(22,69,98,.06)}
.gallery-note{background:linear-gradient(135deg,#f7fcff,#f5fbf8)}

@media(max-width:900px){
  .panel-user-live{left:83.8%;width:14.5%}.panel-user-live strong{font-size:8px}.panel-user-avatar{width:27px;height:27px;flex-basis:27px;font-size:8px}
  .panel-live-metric{font-size:18px}
}
@media(max-width:700px){
  .modal{padding:18px;border-radius:18px}.form-grid,.info-grid{grid-template-columns:1fr}.field.full{grid-column:auto}
  .panel-user-live{display:none}.panel-live-metric{font-size:11px;border-radius:4px;padding:0 2px}
  .panel-live-summary{justify-content:flex-start;gap:8px 14px;padding:10px 12px}.panel-local-note{width:100%;border-left:0;padding-left:0;border-top:1px solid #e8f0f5;padding-top:8px}
  .admin-quick-resident,.support-float-btn,.gallery-float-btn{left:12px;right:12px;min-width:0}
  .admin-quick-resident{bottom:12px}.support-float-btn{bottom:60px}.gallery-float-btn{bottom:108px}
}

/* V13 — indicadores e gráfico 100% dinâmicos, sem sobreposição */
.panel-live-metric{display:none!important}
.live-dashboard-card{position:absolute;z-index:13;top:31.25%;height:11.25%;border:1px solid #d8e7ef;border-radius:15px;background:rgba(255,255,255,.985);box-shadow:0 5px 16px rgba(35,76,105,.035);display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:center;padding:13px 15px;line-height:1.13;pointer-events:none}
.live-residents-card{left:16.3%;width:19.15%;background:linear-gradient(135deg,#f7fffa,#fbfffd);border-color:#cfead9}
.live-contracts-card{left:36.45%;width:19.35%;background:linear-gradient(135deg,#f6fbff,#fbfdff);border-color:#cfe4f3}
.live-docs-card{left:56.55%;width:19.6%;background:linear-gradient(135deg,#fffaf0,#fffdf8);border-color:#f0dfb6}
.live-alerts-card{left:76.8%;width:19.35%;background:linear-gradient(135deg,#fff7f8,#fffafa);border-color:#efcfd2}
.live-card-icon{width:50px;height:50px;border-radius:11px;display:grid;place-items:center;color:#fff;font-size:22px;font-weight:900;box-shadow:0 4px 10px rgba(0,0,0,.06)}
.live-card-icon.green{background:linear-gradient(135deg,#28b867,#079149)}.live-card-icon.blue{background:linear-gradient(135deg,#14a7df,#087fc0)}.live-card-icon.yellow{background:linear-gradient(135deg,#ffbf19,#f0a400)}.live-card-icon.red{background:linear-gradient(135deg,#f45f67,#df3641)}
.live-card-copy{min-width:0;display:flex;flex-direction:column}.live-card-copy strong{color:#174b72;font-size:13px;line-height:1.18;margin-bottom:5px}.live-card-copy b{color:#153f63;font-size:30px;line-height:.95;margin-bottom:5px}.live-card-copy small{color:#6d87a0;font-size:10px;line-height:1.15}
.live-status-card,.live-agenda-card,.live-recent-card{position:absolute;z-index:13;top:44.25%;height:29.15%;background:rgba(255,255,255,.99);border:1px solid #dce8f0;border-radius:15px;box-shadow:0 5px 18px rgba(30,73,103,.035);padding:14px 16px;line-height:1.25;overflow:hidden}
.live-status-card{left:16.3%;width:30%;background:#fff}.live-agenda-card{left:47.2%;width:25.4%}.live-recent-card{left:73.7%;width:22.45%}
.live-panel-head{height:35px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e7eff5;padding-bottom:9px}.live-panel-head strong{font-size:13px;color:#174b72}.live-panel-head span{font-size:9px;color:#718aa1;border:1px solid #d7e5ef;border-radius:8px;padding:5px 8px;background:#fbfdff}.live-panel-head button{border:0;background:transparent;color:#068dcc;font-size:10px;font-weight:800;cursor:pointer;padding:5px}
.live-status-content{height:calc(100% - 35px);display:grid;grid-template-columns:49% 51%;align-items:center;gap:4px;padding-top:10px}.live-pie{width:min(150px,90%);aspect-ratio:1;border-radius:50%;margin:auto;background:#e8eff4;border:1px solid #e0eaf0;box-shadow:0 4px 14px rgba(30,73,103,.08)}.live-status-details{min-width:0}.live-status-total{display:flex;align-items:baseline;gap:5px;padding-left:6px;margin-bottom:8px;color:#174b72}.live-status-total b{font-size:20px;line-height:1}.live-status-total span{font-size:10px;line-height:1.2}
.live-status-legend{display:grid;gap:11px;padding-left:6px}.live-status-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid #edf3f6;color:#557693;font-size:10px}.live-status-row:last-child{border-bottom:0}.live-status-row i{width:10px;height:10px;border-radius:50%}.live-status-row b{color:#174b72;font-size:10px}
/* Residentes e vagas: anel com número central e legenda como na referência. */
.live-status-content.occupancy-layout{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:6px 0 0}
.occupancy-chart-area{display:flex;flex-direction:column;align-items:center;gap:5px;width:100%}
.live-pie.occupancy-donut{width:min(138px,13vw);border:0;box-shadow:none;position:relative;display:grid;place-items:center}
.occupancy-donut::before{content:"";position:absolute;inset:12%;border-radius:50%;background:#fff;border:2px solid #eef2f2}
.occupancy-center{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;color:#16865e}
.occupancy-center b{font-size:32px;line-height:1;font-weight:900}
.occupancy-center span{margin-top:4px;font-size:10px;font-weight:800;letter-spacing:.04em;color:#506a69}
.occupancy-available{font-size:12px;line-height:1.1;font-weight:850;color:#304b4a}
.live-status-legend.occupancy-legend,.pr-status-list.occupancy-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px;row-gap:4px;width:100%;padding:0 3px}
.occupancy-legend .live-status-row{display:flex;align-items:center;gap:5px;min-width:0;padding:1px 0;border:0;font-size:9px;color:#486362}
.occupancy-legend .live-status-row i{width:10px;height:10px;border:1px solid #c4d0d0;border-radius:3px;flex:0 0 10px}
.occupancy-legend .live-status-row b{font:inherit;color:inherit}
@media(min-width:1101px) and (max-width:1300px){.live-status-card .occupancy-donut{width:98px}.live-status-card .occupancy-center b{font-size:25px}.live-status-card .occupancy-center span{font-size:8px}.live-status-card .occupancy-available{font-size:10px}.live-status-card .occupancy-legend .live-status-row{font-size:8px}}

.live-empty-panel{height:calc(100% - 35px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#7890a5;padding:20px}.live-empty-panel b{color:#345f80;font-size:12px;margin-bottom:7px}.live-empty-panel span{font-size:10px;line-height:1.45;max-width:220px}
.live-recent-list{height:calc(100% - 35px);display:grid;align-content:center;gap:9px;padding-top:8px}.live-summary-row{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:7px 0;border-bottom:1px solid #edf3f6}.live-summary-row:last-child{border-bottom:0}.live-summary-row i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9f6ff;color:#147fad;font-style:normal;font-size:13px}.live-summary-row p{margin:0;display:flex;flex-direction:column;min-width:0}.live-summary-row strong{font-size:10px;color:#244f72}.live-summary-row span{font-size:8.5px;color:#7890a6;margin-top:2px}.live-summary-row b{font-size:12px;color:#174b72}
@media(max-width:900px){.live-dashboard-card{grid-template-columns:40px 1fr;padding:8px 9px;gap:7px}.live-card-icon{width:37px;height:37px;font-size:15px}.live-card-copy strong{font-size:9px}.live-card-copy b{font-size:21px}.live-card-copy small{font-size:7px}.live-status-card,.live-agenda-card,.live-recent-card{padding:8px}.live-panel-head strong{font-size:9px}.live-panel-head span,.live-panel-head button{font-size:7px}.live-status-total b{font-size:15px}.live-status-total span,.live-status-row{font-size:7px}.live-status-row b{font-size:7px}}


/* Aniversariantes v17.13 */
.birthday-dashboard-section{margin:18px;padding:22px;border:1px solid #dbe9f2;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#fffaf1 48%,#f2fbff 100%);box-shadow:0 10px 28px rgba(24,77,111,.07)}
.birthday-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}
.birthday-section-eyebrow{display:block;color:#c06a21;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}
.birthday-section-heading h2{margin:0;color:#174f75;font-size:1.25rem;line-height:1.2}
.birthday-section-heading p{margin:6px 0 0;color:#71899d;font-size:.83rem;line-height:1.45}
.birthday-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.birthday-summary-pill{display:inline-flex;align-items:center;width:max-content;border-radius:999px;background:#fff1d7;color:#9b5a18;padding:6px 10px;font-size:.69rem;font-weight:900;white-space:nowrap}
.birthday-open-button{white-space:nowrap}
.birthday-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.birthday-person-card{min-width:0;display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #dce9f1;border-radius:16px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 5px 16px rgba(25,77,109,.04);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.birthday-person-card:hover{transform:translateY(-2px);border-color:#9fcde4;box-shadow:0 10px 22px rgba(25,77,109,.1)}
.birthday-person-card.is-today{border-color:#efbd63;background:linear-gradient(135deg,#fff9e9,#fff 72%);box-shadow:0 8px 22px rgba(204,126,30,.12)}
.birthday-photo{position:relative;width:54px;height:54px;flex:0 0 54px;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 0 0 2px #d8eaf3,0 5px 13px rgba(24,74,106,.13);background:linear-gradient(135deg,#0aa3df,#0a7fbd)}
.birthday-person-card.is-today .birthday-photo{box-shadow:0 0 0 2px #efbd63,0 5px 13px rgba(159,91,20,.16)}
.birthday-photo-fallback{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:.82rem;font-weight:900;letter-spacing:.02em}
.birthday-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#eef6fa}
.birthday-person-copy{min-width:0;display:flex;flex:1;flex-direction:column}
.birthday-person-copy b{overflow:hidden;color:#174c72;font-size:.82rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.birthday-person-copy small{margin-top:4px;color:#7890a4;font-size:.68rem;line-height:1.35}
.birthday-day-badge{align-self:flex-start;border-radius:999px;background:#eaf7fd;color:#087db4;padding:5px 8px;font-size:.61rem;font-weight:900;white-space:nowrap}
.birthday-person-card.is-today .birthday-day-badge{background:#f7d77e;color:#70430c}
.birthday-empty{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:12px;min-height:86px;padding:18px;border:1px dashed #ccdee9;border-radius:16px;background:rgba(255,255,255,.72);color:#7890a3;text-align:left}
.birthday-empty>span{font-size:1.8rem}.birthday-empty b{display:block;color:#3b6581;font-size:.82rem}.birthday-empty small{display:block;margin-top:4px;font-size:.69rem;line-height:1.45}
.birthday-modal-summary{display:flex;align-items:baseline;gap:8px;margin-bottom:14px;padding:11px 14px;border-radius:14px;background:#fff7e8;color:#86531b}
.birthday-modal-summary b{font-size:1.35rem}.birthday-modal-summary span{font-size:.78rem;font-weight:800}
.birthday-modal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:58vh;overflow:auto;padding:2px}
.birthday-notice{position:fixed;right:24px;top:88px;z-index:220;width:min(410px,calc(100vw - 32px));display:flex;align-items:center;gap:14px;padding:16px 42px 16px 16px;border:1px solid #cae1ed;border-radius:20px;background:rgba(255,255,255,.98);box-shadow:0 22px 60px rgba(12,66,99,.24);backdrop-filter:blur(16px);animation:birthdayNoticeIn .35s ease both}
.birthday-notice.is-today{border-color:#efbd63;background:linear-gradient(135deg,rgba(255,249,230,.99),rgba(255,255,255,.99))}
.birthday-notice-photo{width:68px;height:68px;flex-basis:68px}
.birthday-notice-copy{min-width:0;display:flex;flex:1;flex-direction:column}
.birthday-notice-kicker{color:#bf6b20;font-size:.62rem;font-weight:950;letter-spacing:.09em;text-transform:uppercase}
.birthday-notice-copy>b{margin-top:4px;color:#174d73;font-size:.94rem;line-height:1.25}
.birthday-notice-copy>small{margin-top:4px;color:#6f879b;font-size:.72rem;line-height:1.42}
.birthday-notice-copy>button{align-self:flex-start;margin-top:9px;border:0;border-radius:10px;padding:7px 10px;background:#078fc9;color:#fff;font-size:.68rem;font-weight:900;cursor:pointer}
.birthday-notice-close{position:absolute;right:10px;top:9px;width:28px;height:28px;border:0;border-radius:50%;background:#f1f7fa;color:#52758d;font-size:1.15rem;line-height:1;cursor:pointer}
.birthday-float-btn{position:fixed;right:24px;bottom:196px;z-index:70;display:inline-flex;align-items:center;gap:8px;border:1px solid #efd29a;border-radius:999px;padding:11px 13px;background:linear-gradient(135deg,#fff8e8,#fff);color:#81501a;font-size:.78rem;font-weight:900;box-shadow:0 12px 36px rgba(128,80,23,.16);cursor:pointer}
.birthday-float-btn:hover{transform:translateY(-1px)}
.birthday-float-btn b{display:grid;place-items:center;min-width:23px;height:23px;border-radius:999px;background:#e4932e;color:#fff;font-size:.66rem}
.pr-birthday-section{margin-top:12px}
.pr-birthday-section .pr-card-head>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.pr-birthday-intro{margin:-4px 0 13px;color:#7890a3;font-size:.72rem;line-height:1.45}
@keyframes birthdayNoticeIn{from{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:1100px){.birthday-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .birthday-dashboard-section,.birthday-float-btn{display:none!important}
  .pr-birthday-section .birthday-list{grid-template-columns:1fr}
  .pr-birthday-section .birthday-person-card{padding:11px}
  .pr-birthday-section .birthday-photo{width:50px;height:50px;flex-basis:50px}
  .birthday-modal-list{grid-template-columns:1fr;max-height:62vh}
  .birthday-notice{left:14px;right:14px;top:auto;bottom:84px;width:auto;padding:14px 40px 14px 14px;border-radius:18px}
  .birthday-notice-photo{width:60px;height:60px;flex-basis:60px}
}
@media(max-width:430px){
  .birthday-notice{align-items:flex-start}
  .birthday-day-badge{font-size:.58rem;padding:4px 7px}
  .birthday-person-copy b{font-size:.78rem}
  .birthday-person-copy small{font-size:.65rem}
}
