
:root{
  --navy:#061824; --panel:#0a2331; --panel2:#0d2d3d; --green:#22e36d;
  --teal:#00b8a9; --text:#edf8f5; --muted:#91aaa9; --line:#174452;
}
*{box-sizing:border-box} body{margin:0;background:#071b28;color:var(--text);font-family:Segoe UI,Arial,sans-serif}
header{height:72px;display:flex;align-items:center;padding:0 28px;background:#041520;border-bottom:1px solid var(--line);gap:34px}
.brand{display:flex;align-items:center;gap:10px;min-width:180px}.brand strong{font-size:20px;letter-spacing:.08em}.brand small{display:block;color:var(--green);letter-spacing:.28em;font-size:9px}
.nmark{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--teal),var(--green));color:#032019;font-weight:900;font-size:24px}
.brand.large .nmark{width:68px;height:68px;font-size:40px}.brand.large strong{font-size:34px}
nav{display:flex;gap:8px;flex:1}nav a,.ghost{color:#d7e6e3;text-decoration:none;padding:10px 14px;border-radius:9px;border:0;background:transparent}nav a:hover,.ghost:hover{background:#0c2c39}
.account{display:flex;align-items:center;gap:16px;color:var(--muted)}.account form{margin:0}
main{max-width:1400px;margin:0 auto;padding:28px}.login-main{max-width:none;padding:0;min-height:100vh;display:grid}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.25fr .75fr}
.login-art{padding:70px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 70% 50%,#0b625d 0,#0a3140 25%,#061824 62%)}
.login-art h1{font-size:48px;line-height:1.05;margin:40px 0 16px}.login-art p{font-size:19px;color:#afd0ca;max-width:600px}
.login-card{align-self:center;margin:45px;padding:38px;background:#0a2331;border:1px solid #195160;border-radius:20px;box-shadow:0 24px 80px #0006}
label{display:block;margin:16px 0 7px;color:#b5cdca;font-size:13px}input,select{width:100%;background:#071b28;color:#eef8f6;border:1px solid #235363;border-radius:9px;padding:12px}
button,.button-link{background:linear-gradient(90deg,var(--teal),#0bcf82);color:#031b17;border:0;border-radius:9px;padding:12px 16px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}
.login-card button{width:100%;margin-top:22px}.demo{margin-top:20px;padding:14px;border:1px solid var(--line);border-radius:10px;color:#91aaa9;font-size:13px;line-height:1.6}
.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-head h1{margin:0;font-size:30px}.page-head p{color:var(--muted);margin:6px 0}
.badge{background:#10392f;color:#65f39a;padding:8px 12px;border-radius:999px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.metric,.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}
.metric span{color:var(--muted)}.metric strong{display:block;font-size:28px;margin-top:10px}
.panel{margin-bottom:18px}.panel h2{margin-top:0}.panel p{color:#aac2bf;line-height:1.6}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inline-form{display:flex;gap:10px}.inline-form input{flex:1}.inline-form button{width:auto}
.list{list-style:none;padding:0;margin:18px 0 0}.list li{padding:12px;border-top:1px solid var(--line)}
.entry-form{display:grid;grid-template-columns:150px 2fr 160px 160px 200px auto;gap:10px}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{color:#80d9cc;font-size:12px;text-transform:uppercase}
.alert{background:#492026;color:#ffc7cc;border:1px solid #7c3540;padding:12px;border-radius:9px;margin:12px 0}
@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-art{display:none}.cards{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.entry-form{grid-template-columns:1fr}header{gap:10px;overflow:auto}.account span{display:none}}

.success{background:#123d2b;color:#adf5c4;border:1px solid #246d4c;padding:12px;border-radius:9px;margin:12px 0}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.tab-btn{background:#0a2331;color:#bcd2cf;border:1px solid var(--line);width:auto}
.tab-btn.active{background:linear-gradient(90deg,var(--teal),#0bcf82);color:#031b17}
.hidden{display:none!important}
.panel-title-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.panel-title-row h2,.panel-title-row h3{margin:0}.panel-title-row p{margin:4px 0 0}
.count{color:var(--muted);font-size:13px}
.registry-table{margin-top:18px}.registry-row{display:grid;grid-template-columns:70px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.registry-id{color:var(--muted);font-size:12px}.edit-form{display:flex;gap:10px}.edit-form input{flex:1}
.secondary{background:#123746;color:#dff3ef}.danger{background:#632b35;color:#ffd9dd}
.secondary-link{background:#123746;color:#dff3ef}.mini{padding:7px 9px;border-radius:7px;font-size:12px;white-space:nowrap}
.form-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px}.span2{grid-column:span 2}
.check-field{display:flex;align-items:end}.check-label{display:flex;align-items:center;gap:8px;height:45px;margin:0}.check-label input{width:auto}
.responsible-box{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#081f2c}
.resp-row{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;margin-top:10px}
.summary-line{margin-top:14px;color:#f5b6b8}.summary-line.ok{color:#72ed9b}
.actions-center{display:flex;justify-content:center;gap:10px;margin-top:18px}
.table-wrap{overflow:auto}.resp-text{min-width:260px}.row-actions{display:flex;gap:6px;align-items:center}.row-actions form{margin:0}
.income{color:#44e37c}.expense{color:#ff6b72}
.empty{color:var(--muted);padding:18px}
@media(max-width:1100px){.form-grid{grid-template-columns:1fr 1fr}.span2{grid-column:span 2}}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}.span2{grid-column:span 1}.resp-row{grid-template-columns:1fr}.registry-row{grid-template-columns:1fr}.actions-center{flex-wrap:wrap}}

.registry-header{
  display:grid;
  grid-template-columns:80px 1fr 260px;
  gap:10px;
  align-items:center;
  padding:12px 0 9px;
  margin-top:18px;
  border-bottom:1px solid var(--line);
  color:#73e6d6;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
}
.registry-row{
  display:grid;
  grid-template-columns:80px 1fr auto;
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid var(--line);
}
.registry-id{
  color:#d8ebe7;
  font-weight:700;
  padding-left:4px;
}
.edit-form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
}
.edit-actions{
  display:flex;
  gap:8px;
}
.registry-input.readonly{
  border-color:transparent;
  background:transparent;
  color:#edf8f5;
  cursor:default;
  padding-left:0;
}
.registry-input:not(.readonly){
  border-color:#2f7680;
  background:#071b28;
}
.delete-form{
  margin:0;
}
.delete-form button:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.new-record-form{
  margin-top:18px;
}
@media(max-width:800px){
  .registry-header{display:none}
  .registry-row{grid-template-columns:1fr}
  .edit-form{grid-template-columns:1fr}
  .edit-actions{justify-content:flex-start}
}

.table-tools{display:flex;align-items:end;gap:14px}
.sort-form{display:flex;align-items:end;gap:8px}
.sort-form label{margin:0;color:#73e6d6;font-weight:700}
.sort-form select{width:230px}
.filter-panel{
  display:grid;
  grid-template-columns:repeat(5,minmax(150px,1fr));
  gap:12px;
  align-items:end;
}
.filter-panel label{margin-top:0}
.filter-actions{display:flex;gap:8px;align-items:center}
.filter-actions .button-link{white-space:nowrap}
@media(max-width:1150px){.filter-panel{grid-template-columns:repeat(3,1fr)}}
@media(max-width:750px){.filter-panel{grid-template-columns:1fr}.table-tools,.sort-form{align-items:stretch;flex-direction:column}.sort-form select{width:100%}}

.sortable-th{color:#73e6d6;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.sortable-th:hover{color:#b8fff5}
.sort-arrow{font-size:10px}
.muted{color:var(--muted);margin:4px 0 0}
.report-dashboard{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px;align-items:start}
.report-summary .cards{grid-template-columns:repeat(2,1fr)}
.chart-panel{position:sticky;top:90px}
.donut-wrap{display:flex;flex-direction:column;align-items:center;gap:24px;padding:14px 0}
.donut{width:245px;height:245px;border-radius:50%;position:relative;display:grid;place-items:center;background:#153845}
.donut-hole{width:145px;height:145px;border-radius:50%;background:var(--panel);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px}
.donut-hole strong{font-size:18px;line-height:1.2}.donut-hole span{color:var(--muted);font-size:12px;margin-top:4px}
.donut-legend{width:100%;display:flex;flex-direction:column;gap:10px}
.legend-row{display:grid;grid-template-columns:14px 1fr auto auto;gap:9px;align-items:center;font-size:13px}
.legend-dot{width:10px;height:10px;border-radius:50%}.legend-label{overflow:hidden;text-overflow:ellipsis}
.report-filters{grid-template-columns:repeat(5,minmax(150px,1fr))}
.consultation-filters{grid-template-columns:repeat(4,minmax(150px,1fr))}
@media(max-width:1200px){
  .report-dashboard{grid-template-columns:1fr}.chart-panel{position:static}
  .report-summary .cards{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:850px){
  .report-summary .cards{grid-template-columns:1fr 1fr}
  .report-filters,.consultation-filters{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .report-filters,.consultation-filters{grid-template-columns:1fr}
}

.profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0 20px}
.profile-grid>div{background:#081f2c;border:1px solid var(--line);padding:14px;border-radius:10px}
.profile-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
.sharing-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}
.sharing-row{display:flex;align-items:center;gap:12px;background:#081f2c;border:1px solid var(--line);padding:13px;border-radius:10px;margin:0}
.sharing-row input{width:auto}.sharing-row small{display:block;color:var(--muted);margin-top:3px}
.user-create-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-items:end;margin:18px 0}
.user-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.user-actions form{margin:0}
.password-reset-form{display:flex;gap:6px}.password-reset-form input{width:145px;padding:7px}
.audit-details{max-width:320px;font-size:12px;color:#b9d0cc}
.narrow-page{max-width:620px;margin:40px auto}.password-change{display:grid;gap:4px}
.info-box{padding:14px;background:#0d3342;border:1px solid var(--line);border-radius:10px;color:#c9dfdb}
.readonly-description{color:#edf8f5}
@media(max-width:1000px){.profile-grid{grid-template-columns:1fr 1fr}.user-create-grid{grid-template-columns:1fr 1fr}.sharing-list{grid-template-columns:1fr}}
@media(max-width:600px){.profile-grid,.user-create-grid{grid-template-columns:1fr}}

.admin-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}
.admin-actions{display:flex;flex-direction:column;gap:7px;min-width:280px}.admin-actions form{display:flex;gap:6px;margin:0}.admin-actions input,.admin-actions select{padding:7px;min-width:60px}
.status-pill{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.status-active{background:rgba(34,227,109,.13);color:#63ef98}.status-demo{background:rgba(54,198,244,.13);color:#73d9ff}.status-blocked,.status-expired{background:rgba(255,80,80,.13);color:#ff8585}
@media(max-width:1000px){.admin-metrics{grid-template-columns:repeat(2,1fr)}}

/* Nexum Admin V6.2 */
.admin-client-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.manage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.manage-card{background:#081f2c;border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:10px}
.manage-card h3{margin:0;font-size:20px}.manage-card p{color:var(--muted);min-height:42px;margin:0}.manage-card form{display:flex;flex-direction:column;gap:9px;margin-top:auto}.manage-card label{margin:0;color:#73e6d6;font-weight:700}.manage-card select{width:100%}.manage-card button{width:100%;margin-top:5px}.manage-card small{color:var(--muted);margin-top:4px}
@media(max-width:1000px){.manage-grid{grid-template-columns:1fr}.admin-client-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.admin-client-summary{grid-template-columns:1fr}}

button:disabled{opacity:.58;cursor:not-allowed}
.concurrency-warning{padding:12px 14px;border:1px solid #7b6a2e;border-radius:10px;background:rgba(255,205,70,.08);margin:10px 0}

.audit-filter-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1.2fr auto;
  gap:12px;
  align-items:end;
  margin:18px 0;
}
.audit-conflict-row{background:rgba(255,80,80,.07)}
.audit-conflict-badge{
  display:inline-block;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(255,80,80,.16);
  color:#ff9292;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
@media(max-width:900px){
  .audit-filter-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .audit-filter-grid{grid-template-columns:1fr}
}


.flash-message{
  transition: opacity .18s ease, transform .18s ease, max-height .18s ease, margin .18s ease, padding .18s ease;
  overflow:hidden;
}
.flash-message.flash-hiding{
  opacity:0;
  transform:translateY(-4px);
  max-height:0;
  margin-top:0;
  margin-bottom:0;
  padding-top:0;
  padding-bottom:0;
  border-width:0;
}

.backup-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:18px;
}
.backup-card{
  background:#081f2c;
  border:1px solid var(--line);
  border-radius:14px;
  padding:20px;
}
.backup-card h3{margin-top:0}
.backup-danger{border-color:#713944}
.backup-restore-form{
  display:grid;
  gap:12px;
  margin-top:16px;
}
.backup-info{margin-top:18px}
@media(max-width:850px){
  .backup-grid{grid-template-columns:1fr}
}

.login-recovery-link{display:block;text-align:center;margin-top:12px;color:#74d9d0;text-decoration:none}
.recovery-shell{max-width:1120px;margin:28px auto}.recovery-head{text-align:center;margin-bottom:20px}.recovery-head .brand{justify-content:center}
.recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.recovery-form{display:grid;gap:7px}.recovery-info{margin-top:18px}.back-login{text-align:center;margin-top:18px}
.recovery-admin-actions{display:flex;gap:8px;flex-wrap:wrap}.recovery-admin-actions form{margin:0}
.recovery-code-page{max-width:760px;margin-top:40px}.recovery-code-box{border:1px solid var(--line);background:#071d29;border-radius:14px;padding:24px;margin:22px 0;text-align:center}
.recovery-code-box span{display:block;color:var(--muted);margin-bottom:8px}.recovery-code-box strong{display:block;font-size:28px;letter-spacing:2px;margin-bottom:14px}
@media(max-width:800px){.recovery-grid{grid-template-columns:1fr}}

.session-agent{
  max-width:360px;
  white-space:normal;
  word-break:break-word;
  font-size:12px;
  color:var(--muted);
}
.admin-client-summary{
  grid-template-columns:repeat(6,minmax(140px,1fr));
}
@media(max-width:1200px){
  .admin-client-summary{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  .admin-client-summary{grid-template-columns:1fr 1fr}
}

/* RC2 - onboarding e responsividade de produção */
.onboarding-shell{max-width:900px;margin:34px auto;padding:0 18px}.onboarding-card{max-width:620px;margin:auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px}.onboarding-card.wide{max-width:820px}.onboarding-card h1{margin:18px 0 6px}.onboarding-form{display:grid;gap:9px}.onboarding-form.two-cols{grid-template-columns:1fr 1fr;gap:12px}.onboarding-form .span-all{grid-column:1/-1}.consent-row{display:flex!important;align-items:flex-start!important;gap:10px!important;margin-top:8px!important}.consent-row input{width:auto!important;margin-top:3px}.centered-link{text-align:center;margin-top:18px}.success{padding:12px 14px;border:1px solid #2a7550;border-radius:10px;background:rgba(41,190,112,.09);color:#83f1af;margin:10px 0}.warning-box{padding:14px;border:1px solid #856f2f;background:rgba(255,205,70,.08);border-radius:10px}.recovery-code-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.recovery-code-grid code{display:block;text-align:center;background:#071b28;padding:10px;border-radius:8px;border:1px solid var(--line);font-size:15px}.subtle{opacity:.7}
@media(max-width:760px){.login-shell{grid-template-columns:1fr!important;margin:18px auto!important}.login-art{min-height:auto!important;padding:24px!important}.login-art h1{font-size:30px!important}.login-card{padding:22px!important}.onboarding-shell{margin:18px auto;padding:0 10px}.onboarding-card{padding:20px;border-radius:14px}.onboarding-form.two-cols{grid-template-columns:1fr}.onboarding-form .span-all{grid-column:auto}.recovery-code-grid{grid-template-columns:1fr}.topbar{flex-wrap:wrap}.topbar nav{overflow-x:auto;max-width:100%;padding-bottom:4px}.container{padding-left:10px!important;padding-right:10px!important}table{min-width:680px}.table-wrap{-webkit-overflow-scrolling:touch}.admin-actions{min-width:0}.filter-actions{flex-wrap:wrap}}
