
:root{--navy:#031f45;--navy2:#06346f;--blue:#0f4fba;--blue2:#0b62e5;--gold:#f3b33d;--bg:#f3f7fd;--text:#071a36;--muted:#61708a;--line:#dfe7f3;--danger:#df2424;--green:#12b76a;--purple:#7c3aed;--shadow:0 24px 70px rgba(14,34,66,.13)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.btn{border:0;border-radius:14px;padding:13px 18px;font-weight:900;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,#0f4fba,#0a3d9c);color:#fff;box-shadow:0 12px 28px rgba(15,79,186,.24)}.btn-danger{background:linear-gradient(135deg,#db1d1d,#c01414);color:#fff;box-shadow:0 12px 28px rgba(219,29,29,.18)}.btn-logout{background:rgba(255,255,255,.12);color:#fff}.full{width:100%}.message{font-weight:800;margin:12px 0}.message.ok{color:#098b55}.message.error{color:#c4261d}.eyebrow,.pill{display:inline-flex;align-items:center;border-radius:999px;padding:8px 13px;background:#e8f1ff;color:#0c438d;font-size:.82rem;font-weight:900}.login-screen{min-height:100vh;position:relative;overflow:hidden;background:linear-gradient(135deg,#031f45,#0a3c7d)}.login-bg{position:absolute;inset:0;background:radial-gradient(circle at 15% 25%,rgba(243,179,61,.22),transparent 28%),radial-gradient(circle at 90% 10%,rgba(50,135,255,.25),transparent 30%),linear-gradient(135deg,rgba(3,31,69,.95),rgba(6,52,111,.93))}.login-shell{position:relative;z-index:1;padding:30px clamp(18px,4vw,68px)}.login-brand{display:flex;align-items:center;gap:15px;color:#fff}.dm-logo{width:70px;height:70px;border:3px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-weight:900;font-size:1.45rem;overflow:hidden}.dm-logo img{width:100%;height:100%;object-fit:contain;padding:8px}.dm-logo.small{width:60px;height:60px;font-size:1rem}.login-brand h1{margin:0;font-size:1.8rem}.login-brand p{margin:4px 0 0;opacity:.85}.login-grid{min-height:calc(100vh - 130px);display:grid;grid-template-columns:1.15fr 440px;gap:40px;align-items:center}.login-copy{color:#fff;max-width:760px}.login-copy h2{font-size:clamp(2.4rem,6vw,5rem);line-height:.98;margin:18px 0}.login-copy p{font-size:1.12rem;line-height:1.7;color:#dce9ff}.login-highlights{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.login-highlights span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:12px 16px;color:#fff;font-weight:800}.auth-card{background:rgba(255,255,255,.97);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.5);border-radius:30px;padding:28px;box-shadow:0 30px 90px rgba(0,0,0,.25)}.tabs-login{display:grid;grid-template-columns:1fr 1fr;background:#edf4ff;border-radius:18px;padding:5px;margin-bottom:22px}.tabs-login button{border:0;background:transparent;border-radius:14px;padding:12px;font-weight:900;color:#3c5270}.tabs-login button.active{background:#fff;color:#0a3d82;box-shadow:0 8px 22px rgba(14,34,66,.1)}.auth-card h3{font-size:1.7rem;margin:0 0 8px}.auth-card p{color:var(--muted);line-height:1.55}.auth-card label{display:block;margin:16px 0 7px;font-weight:800}.auth-card input,.auth-card select,.action-card input,.action-card select,.action-card textarea,.search-box input,.filters input,.filters select{width:100%;border:1px solid #d5e0ee;border-radius:14px;padding:14px 15px;background:#fff;color:var(--text);outline:none}.app-shell{display:grid;grid-template-columns:320px 1fr;min-height:100vh;background:linear-gradient(90deg,#03275a 0 320px,#f4f8fe 320px)}.sidebar{background:linear-gradient(180deg,#021d41,#04377a);color:#fff;padding:26px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.side-brand{display:flex;align-items:center;gap:14px;margin-bottom:30px;padding:0 10px}.side-brand h2{font-size:1.45rem;margin:0}.side-brand p{margin:5px 0 0;color:#d5e6ff}.side-section-title{padding:15px 18px;margin-bottom:12px;border-radius:14px;background:rgba(255,255,255,.06);font-size:.85rem;text-transform:uppercase;font-weight:900;color:#d9e7fb;display:flex;justify-content:space-between}.side-section-title:after{content:'☰';font-size:1.3rem}.side-nav{display:grid;gap:12px}.nav-item{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.06);color:#fff;border-radius:14px;padding:18px 20px;display:flex;gap:14px;align-items:center;font-size:1.03rem;font-weight:900;cursor:pointer}.nav-item.active{background:#fff;color:#062453;box-shadow:0 18px 38px rgba(0,0,0,.18)}.secure-box{margin-top:auto;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:20px;line-height:1.55}.secure-box div{font-size:1.5rem;margin-bottom:8px}.secure-box p{color:#d8e8ff;font-size:.9rem}.sidebar footer{font-size:.86rem;color:#dbe9ff;margin-top:28px;padding:20px 12px;border-top:1px solid rgba(255,255,255,.1)}.main-panel{padding:26px 28px 60px;min-width:0}.admin-topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:26px;color:#fff}.resident-title{color:#0b2448}.app-shell:has(.sidebar:not(.hidden)) .resident-title{display:none}.user-box{display:flex;align-items:center;gap:14px;margin-left:auto;background:linear-gradient(135deg,#031f45,#073d83);padding:12px 14px;border-radius:22px;color:#fff}.avatar{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.18)}.user-box strong{display:block}.user-box span{display:block;color:#d7e7ff}.icon-btn{display:none;border:0;background:#fff;border-radius:12px;padding:12px 15px;font-weight:900}.metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:14px;margin-bottom:26px}.metric-card{background:#fff;border:1px solid #e8edf6;border-radius:16px;padding:24px;display:flex;align-items:center;gap:18px;box-shadow:0 16px 45px rgba(14,34,66,.08)}.metric-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;font-size:1.5rem;font-weight:900}.blue{background:#e9efff;color:#0e5de9}.green{background:#e6faef;color:#12a65d}.money{background:#e9faef;color:#10a557}.red{background:#ffeded;color:#d82121}.purple{background:#f0eaff;color:#7c3aed}.metric-card span{color:#4b5871}.metric-card strong{display:block;font-size:1.35rem;margin:4px 0;color:#050b18}.metric-card small{color:#5d6b82}.admin-dashboard{background:#fff;border:1px solid #e4ebf5;border-radius:12px 12px 0 0;padding:30px;box-shadow:var(--shadow)}.admin-hero{margin-bottom:22px}.admin-hero h1{font-size:2.35rem;margin:12px 0 8px;color:#071f49}.admin-hero p{color:#4e5f79}.module-card{border:1px solid #dfe7f2;border-radius:20px;padding:22px;background:#fff;margin-top:20px}.module-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border-bottom:1px solid #e8eef7;padding-bottom:18px;margin-bottom:24px}.module-head h2{margin:0 0 8px;font-size:1.4rem}.module-head p{margin:0;color:#4f6078}.search-box{position:relative;min-width:300px}.search-box span{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:#173967;font-size:1.5rem}.cards-two{display:grid;grid-template-columns:1fr 1fr;gap:26px}.action-card{background:#fff;border:1px solid #dfe7f2;border-radius:18px;padding:22px;box-shadow:0 18px 45px rgba(14,34,66,.08);position:relative;overflow:hidden}.action-card:before{content:'';position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#0d55c9,#f2ae22)}.accent-red:before{background:linear-gradient(90deg,#dc1919,#f2ae22)}.action-card h3{display:flex;align-items:center;gap:12px;margin:8px 0 20px}.action-card h3 span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#0d55c9;color:#fff}.accent-red h3 span{background:#df2424}.action-card input,.action-card select,.action-card textarea{margin-bottom:14px}.action-card textarea{min-height:125px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid>*{margin:0!important}.span-2{grid-column:1/-1}.upload{border:1px dashed #bfd0e7;border-radius:16px;padding:14px;display:grid;gap:8px;background:#f8fbff;font-weight:900;cursor:pointer}.upload input{display:none}.upload small{color:#63728a;font-weight:600}.table-card{margin-top:22px;border:1px solid #e2e9f3;border-radius:18px;padding:18px;background:#fff}.table-card h3{margin:0 0 14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:15px 18px;border-bottom:1px solid #e9eef6}th{font-size:.86rem;background:#f8fbff;color:#263a5b}td{color:#13284a}.table-action{border:0;background:#eef4ff;color:#0d55c9;border-radius:12px;padding:9px 12px;font-weight:900}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.report-card{border:1px solid #e1e8f3;border-radius:18px;background:#fff;padding:26px;text-align:left;box-shadow:0 12px 35px rgba(14,34,66,.08);font-size:2rem;cursor:pointer}.report-card strong{display:block;font-size:1.12rem;margin:12px 0 5px;color:#061f45}.report-card span{font-size:.92rem;color:#61708a}.records-section{margin-top:26px;background:#fff;border:1px solid #e4ebf5;border-radius:24px;padding:24px;box-shadow:0 15px 45px rgba(14,34,66,.08)}.section-row{display:flex;justify-content:space-between;gap:18px;margin-bottom:20px}.section-row h2{margin:0 0 5px}.section-row p{margin:0;color:#64748b}.filters{display:flex;gap:10px;min-width:min(520px,100%)}.records-list{display:grid;gap:14px}.record-card{border:1px solid #e2eaf5;border-radius:20px;padding:18px;background:#fbfdff;display:grid;grid-template-columns:1fr auto;gap:14px}.record-card h4{margin:0 0 8px}.record-meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.tag{padding:6px 10px;border-radius:999px;font-size:.82rem;font-weight:900;background:#eef4ff;color:#0c3974}.tag.expense{background:#fff0ed;color:#b42318}.tag.income{background:#eafaf1;color:#16804a}.details-btn{background:#e5b037;color:#071f3f}.modal{position:fixed;inset:0;background:rgba(2,12,27,.72);z-index:100;display:grid;place-items:center;padding:18px}.modal-card{width:min(980px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:26px;padding:28px;position:relative}.modal-close{position:absolute;right:16px;top:12px;border:0;background:#f1f5f9;border-radius:50%;width:38px;height:38px;font-size:24px;cursor:pointer}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.detail-box{background:#f8fbff;border:1px solid #e3ebf6;border-radius:18px;padding:16px}.attachments{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.attachment a,.attachment img{display:block;width:100%;border-radius:14px}.attachment a{background:#0c3974;color:#fff;text-decoration:none;padding:14px;text-align:center;font-weight:900}.attachment.image-evidence a{background:transparent;padding:0}.admin-message{padding:0 4px}@media(max-width:1180px){.app-shell{grid-template-columns:1fr;background:#f4f8fe}.sidebar{position:fixed;z-index:50;transform:translateX(-110%);transition:.25s;width:310px}.sidebar.open{transform:translateX(0)}.icon-btn{display:inline-flex}.metrics-grid{grid-template-columns:repeat(2,1fr)}.cards-two,.report-grid{grid-template-columns:1fr}.admin-topbar{color:#0b2448}.resident-title{display:block!important}.user-box{margin-left:0}.main-panel{padding:18px}.search-box{min-width:0;width:100%}.module-head,.section-row{flex-direction:column}.filters{flex-direction:column}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}}@media(max-width:760px){.login-grid{grid-template-columns:1fr;min-height:auto;padding:40px 0}.login-copy h2{font-size:2.3rem}.auth-card{padding:22px}.metrics-grid{grid-template-columns:1fr}.admin-dashboard,.module-card,.records-section{padding:18px;border-radius:18px}.user-box{width:100%;justify-content:space-between}.admin-topbar{flex-wrap:wrap}.record-card{grid-template-columns:1fr}.detail-grid,.attachments{grid-template-columns:1fr}}@media print{.sidebar,.admin-topbar,.admin-dashboard,.filters,.btn{display:none!important}.app-shell{display:block;background:#fff}.main-panel{padding:0}.records-section,.metric-card{box-shadow:none}}


/* Campo opcional para foto da placa do veículo */
.optional-upload {
  border: 1px dashed #cbdaf0;
  background: linear-gradient(180deg,#ffffff,#f8fbff);
  border-radius: 14px;
  padding: 12px 14px;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  color: #16345f;
  font-weight: 800;
}
.optional-upload small { color:#71839d; font-weight:700; }
.optional-upload input { max-width: 280px; border:0; padding:0; background:transparent; }
.optional-upload em { color:#6b7c93; font-style: normal; font-weight: 700; font-size: .85rem; }
.mini-link {
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:10px;
  background:#eef5ff;
  color:#124cb3;
  font-weight:800;
  text-decoration:none;
}

/* ===== Ajustes premium: painel do morador e alteração de senha ===== */
.app-shell.is-resident{
  display:block;
  min-height:100vh;
  background:linear-gradient(135deg,#edf4ff 0%,#f7fbff 45%,#ffffff 100%);
}
.app-shell.is-resident .main-panel{
  max-width:1180px;
  margin:0 auto;
  padding:28px clamp(16px,3vw,38px) 70px;
}
.app-shell.is-resident .admin-topbar{
  background:linear-gradient(135deg,#031f45,#0a4aa5);
  border:1px solid rgba(255,255,255,.18);
  border-radius:28px;
  padding:24px;
  box-shadow:0 24px 70px rgba(3,31,69,.18);
  color:#fff;
  align-items:center;
}
.app-shell.is-resident .resident-title{color:#fff;display:block!important;min-width:0}
.app-shell.is-resident .resident-title .eyebrow{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.22)}
.app-shell.is-resident .resident-title h2{font-size:clamp(1.55rem,3vw,2.5rem);margin:12px 0 6px;line-height:1.05;color:#fff}
.app-shell.is-resident .resident-title p{margin:0;color:#d8e8ff;font-weight:800}
.app-shell.is-resident .user-box{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);box-shadow:none;min-width:280px}
.app-shell.is-resident .btn-logout{background:#fff;color:#06346f}
.app-shell.is-resident .metrics-grid{grid-template-columns:repeat(2,minmax(220px,1fr));gap:18px;margin:28px 0}
.app-shell.is-resident .metric-condominios,.app-shell.is-resident .metric-moradores,.app-shell.is-resident .metric-receitas{display:none}
.app-shell.is-resident .metric-card{border-radius:24px;padding:26px;box-shadow:0 20px 55px rgba(14,34,66,.11)}
.app-shell.is-resident .metric-card strong{font-size:1.75rem;color:#061f45}
.app-shell.is-resident .records-section{border-radius:28px;padding:28px;box-shadow:0 22px 65px rgba(14,34,66,.10)}
.app-shell.is-resident .section-row{align-items:flex-start}
.app-shell.is-resident .section-row h2{font-size:1.65rem;color:#061f45}
.app-shell.is-resident .filters select{display:none}
.app-shell.is-resident .filters{min-width:min(420px,100%)}
.app-shell.is-resident .records-list{grid-template-columns:1fr}
.app-shell.is-resident .record-card{background:linear-gradient(180deg,#ffffff,#f8fbff);border-radius:22px;padding:22px;box-shadow:0 12px 35px rgba(14,34,66,.07)}
.app-shell.is-resident .record-meta .income{display:none}

.password-manager-card{margin:22px 0;background:linear-gradient(180deg,#ffffff,#fffaf0)}
.password-manager-card:before,.accent-gold:before{background:linear-gradient(90deg,#f3b33d,#0d55c9)}
.password-manager-card p{color:#5d6b82;margin:0 0 18px;line-height:1.55;font-weight:700}
.password-grid{align-items:start}
.search-inline{display:grid!important;grid-template-columns:1fr auto;gap:10px;margin:0!important}
.btn-secondary{background:#eef4ff;color:#0d55c9;border:1px solid #cfe0fb}
.password-manager-card h3 span{background:#f3b33d;color:#08244d}

@media(max-width:760px){
  .app-shell.is-resident .admin-topbar{padding:18px;border-radius:22px}
  .app-shell.is-resident .user-box{min-width:100%}
  .app-shell.is-resident .metrics-grid{grid-template-columns:1fr}
  .search-inline{grid-template-columns:1fr}
}
