:root{
  --bg:#f3f6fb;--panel:#fff;--ink:#111827;--muted:#667085;--line:#e5eaf2;--nav:#0b1220;--nav2:#111c31;
  --blue:#2457d6;--blue2:#173ea8;--red:#d92d20;--redbg:#fff1f0;--green:#067647;--greenbg:#ecfdf3;--amber:#b54708;--amberbg:#fffaeb;
  --shadow:0 12px 30px rgba(16,24,40,.07);--radius:16px;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}.hidden{display:none!important}
.app-shell{display:flex;min-height:100vh}.sidebar{width:250px;background:linear-gradient(180deg,var(--nav),#0e1728);color:#fff;position:fixed;inset:0 auto 0 0;padding:26px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 26px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#3f76f6,#1c46bd);font-weight:800;box-shadow:0 8px 20px rgba(49,95,220,.3)}.brand strong,.brand span{display:block}.brand strong{font-size:15px}.brand span{font-size:12px;color:#9fb0ca;margin-top:2px}.nav{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:#9eabc0;padding:12px 14px;border-radius:12px;text-align:left;cursor:pointer;display:flex;gap:11px;align-items:center;font-weight:600}.nav-item:hover,.nav-item.active{background:var(--nav2);color:#fff}.nav-item.active{box-shadow:inset 3px 0 #4e7ef0}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:18px 8px 0;color:#8fa0ba}.sidebar-foot small{display:block;margin-top:9px}.storage-pill{font-size:12px;display:flex;align-items:center;gap:7px}.dot{width:7px;height:7px;border-radius:50%;background:#f79009}.storage-pill.online .dot{background:#12b76a}
.main{margin-left:250px;width:calc(100% - 250px);padding:28px 32px 56px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.topbar h1{margin:0;font-size:25px;letter-spacing:-.03em}.topbar p{margin:6px 0 0;color:var(--muted);font-size:13px}.top-actions{display:flex;gap:10px}.btn{border:0;border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:700;font-size:13px}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 8px 18px rgba(36,87,214,.18)}.btn.secondary{background:#fff;border:1px solid var(--line);color:#253047}.btn.ghost{background:transparent;border:1px dashed #cad3df;color:#667085}.btn.danger{background:var(--redbg);color:var(--red)}.btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;cursor:pointer}.mobile-only{display:none}
.filters{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;gap:10px;align-items:end;margin-bottom:18px;box-shadow:0 3px 10px rgba(16,24,40,.03)}.field{display:flex;flex-direction:column;gap:6px;min-width:145px}.field.grow{flex:1}.field label{font-size:11px;color:#667085;font-weight:700}.field input,.field select,.field textarea{border:1px solid #d8dee8;background:#fff;border-radius:9px;padding:9px 10px;color:#273247;min-width:0;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#98b1ef;box-shadow:0 0 0 3px rgba(36,87,214,.08)}
.page{display:none}.page.active{display:block}.grid{display:grid;gap:16px}.cards{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 4px 14px rgba(16,24,40,.035)}.metric .eyebrow{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.metric .value{font-size:27px;font-weight:800;letter-spacing:-.04em;margin:8px 0 6px}.metric .sub{font-size:11px;color:var(--muted);display:flex;gap:6px;align-items:center}.trend{font-weight:800}.trend.good{color:var(--green)}.trend.bad{color:var(--red)}.trend.neutral{color:var(--muted)}.metric.status-red{border-top:3px solid var(--red)}.metric.status-green{border-top:3px solid #12b76a}.metric.status-amber{border-top:3px solid #f79009}.section-grid{grid-template-columns:1.7fr 1fr;margin-bottom:16px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-title h3{margin:0;font-size:15px}.section-title p{margin:4px 0 0;color:var(--muted);font-size:12px}.chart-box{height:260px}.chart-box svg{width:100%;height:100%;overflow:visible}.chart-axis{stroke:#dfe5ee;stroke-width:1}.chart-line{fill:none;stroke:#2f63df;stroke-width:3}.chart-area{fill:url(#areaGradient)}.chart-dot{fill:#fff;stroke:#2f63df;stroke-width:2}.chart-label{font-size:10px;fill:#8a96a8}.donut{width:180px;height:180px;border-radius:50%;margin:12px auto;display:grid;place-items:center;position:relative}.donut:after{content:"";width:118px;height:118px;border-radius:50%;background:#fff;position:absolute}.donut-center{z-index:2;text-align:center}.donut-center strong{display:block;font-size:24px}.donut-center span{font-size:11px;color:var(--muted)}.legend{display:grid;gap:9px}.legend-row{display:flex;justify-content:space-between;font-size:12px}.legend-row span:first-child{display:flex;align-items:center;gap:7px}.swatch{width:8px;height:8px;border-radius:50%}.sw-red{background:var(--red)}.sw-amber{background:#f79009}.sw-green{background:#12b76a}.bars{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:130px 1fr 58px;gap:10px;align-items:center;font-size:12px}.bar-track{height:9px;background:#eef2f7;border-radius:99px;overflow:hidden}.bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#315fd4,#6e8feb)}.bar-value{text-align:right;font-weight:700}.alerts{display:grid;gap:10px}.alert{border:1px solid var(--line);border-left:4px solid var(--red);border-radius:12px;padding:12px;background:#fff}.alert.warn{border-left-color:#f79009}.alert.good{border-left-color:#12b76a}.alert strong{display:block;font-size:12px}.alert span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.two-col{grid-template-columns:1fr 1fr}.three-col{grid-template-columns:repeat(3,1fr)}
.table-card{padding:0;overflow:hidden}.table-tools{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px;border-bottom:1px solid var(--line)}.table-tools h3{margin:0;font-size:15px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:1000px}.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;text-align:left;color:#7b8798;background:#f8fafc;padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{font-size:12px;padding:12px;border-bottom:1px solid #eef1f5;vertical-align:middle}.data-table tr:hover td{background:#fbfcfe}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:99px;font-size:10px;font-weight:800;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%}.badge.red{background:var(--redbg);color:var(--red)}.badge.red:before{background:var(--red)}.badge.green{background:var(--greenbg);color:var(--green)}.badge.green:before{background:#12b76a}.badge.amber{background:var(--amberbg);color:var(--amber)}.badge.amber:before{background:#f79009}.select-status{border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:11px;background:#fff}.row-actions{display:flex;gap:6px}.mini-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 8px;cursor:pointer;font-size:11px}.empty{text-align:center;padding:48px 20px;color:var(--muted)}.empty strong{display:block;color:var(--ink);margin-bottom:7px}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.panel-head h2{margin:0;font-size:18px}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.pill-tabs{display:flex;gap:6px;background:#eef2f7;padding:4px;border-radius:10px}.pill-tab{border:0;background:transparent;padding:8px 10px;border-radius:8px;font-size:11px;font-weight:700;color:#667085;cursor:pointer}.pill-tab.active{background:#fff;color:#1f2a44;box-shadow:0 2px 7px rgba(16,24,40,.08)}
.modal-backdrop{position:fixed;inset:0;background:rgba(3,9,20,.55);backdrop-filter:blur(3px);z-index:50}.modal{position:fixed;z-index:51;top:50%;left:50%;transform:translate(-50%,-50%);width:min(820px,calc(100vw - 30px));max-height:90vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.24);padding:22px}.modal.wide{width:min(1050px,calc(100vw - 30px))}.modal-head{display:flex;justify-content:space-between;gap:20px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}.modal-head h2{margin:0;font-size:19px}.modal-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid .field.full{grid-column:1/-1}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;padding-top:10px;border-top:1px solid var(--line)}textarea{min-height:90px;resize:vertical}
.dropzone{border:1.5px dashed #b8c3d2;border-radius:16px;padding:34px;text-align:center;background:#f9fbfe;cursor:pointer}.dropzone:hover{border-color:#6f90e6;background:#f6f8ff}.dropzone strong{display:block;font-size:14px}.dropzone span{display:block;color:var(--muted);font-size:11px;margin-top:5px}.mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.mapping-row{display:contents}.mapping-row>div{border:1px solid var(--line);padding:9px;border-radius:8px;background:#fafbfc;font-size:11px}.mapping-row select{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff}.preview-box{margin-top:14px;max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:12px}.progress{height:8px;background:#eef2f7;border-radius:99px;overflow:hidden}.progress>div{height:100%;background:#315fd4}.history{display:grid;gap:10px}.history-item{border-left:2px solid #cfd8e6;padding-left:12px}.history-item strong{font-size:11px}.history-item span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.recur-grid{grid-template-columns:repeat(4,1fr)}.recur-card{padding:16px}.recur-card .count{font-size:26px;font-weight:800}.risk-high{color:var(--red)}.compare-header{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:end}.compare-arrow{padding-bottom:12px;font-weight:800;color:#98a2b3}.compare-card{display:grid;grid-template-columns:1fr 90px 1fr;gap:12px;align-items:center}.compare-card .side{text-align:center}.compare-card .side strong{display:block;font-size:20px}.compare-card .middle{text-align:center}.toast-wrap{position:fixed;z-index:70;right:20px;bottom:20px;display:grid;gap:8px}.toast{background:#111827;color:#fff;padding:12px 14px;border-radius:11px;box-shadow:var(--shadow);font-size:12px;animation:toastIn .2s ease}.toast.good{background:#075d3c}.toast.bad{background:#9f241b}@keyframes toastIn{from{transform:translateY(6px);opacity:0}to{transform:none;opacity:1}}
.settings-grid{grid-template-columns:1fr 1fr}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#0d1525;color:#d8e3f3;border-radius:12px;padding:14px;overflow:auto;font-size:11px;white-space:pre-wrap}.notice{border:1px solid #f5d89a;background:#fffbeb;color:#8a4b06;padding:12px 14px;border-radius:12px;font-size:11px;line-height:1.55}.success-notice{border-color:#a6e3c5;background:#effcf5;color:#08633f}
@media(max-width:1180px){.cards{grid-template-columns:repeat(2,1fr)}.recur-grid{grid-template-columns:repeat(2,1fr)}.section-grid{grid-template-columns:1fr}.filters{flex-wrap:wrap}.field.grow{min-width:260px}.three-col{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main{margin-left:0;width:100%;padding:20px 14px}.mobile-only{display:block}.topbar{align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.cards,.two-col,.three-col,.settings-grid,.recur-grid{grid-template-columns:1fr}.filters{display:grid;grid-template-columns:1fr 1fr}.field{min-width:0}.field.grow{min-width:0;grid-column:1/-1}.form-grid{grid-template-columns:1fr}.compare-header{grid-template-columns:1fr}.compare-arrow{display:none}.mapping-grid{grid-template-columns:1fr}.mapping-row{display:grid;grid-template-columns:1fr}.bar-row{grid-template-columns:100px 1fr 50px}}

/* Autenticação e usuários */
.auth-bg{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 20% 10%,rgba(49,95,212,.18),transparent 32%),radial-gradient(circle at 85% 85%,rgba(10,31,68,.2),transparent 34%),linear-gradient(135deg,#08111f,#101d34 55%,#0b1425);position:relative;overflow:hidden}.auth-bg:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,black,transparent)}
.auth-brand{position:absolute;top:28px;left:32px;color:#fff;display:flex;gap:12px;align-items:center}.auth-brand strong,.auth-brand span{display:block}.auth-brand strong{font-size:15px}.auth-brand span{font-size:12px;color:#9fb0ca;margin-top:2px}.auth-card{position:relative;width:min(430px,100%);background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.3);box-shadow:0 30px 90px rgba(0,0,0,.28);border-radius:24px;padding:30px}.auth-head{text-align:center;margin-bottom:22px}.auth-kicker{font-size:10px;letter-spacing:.16em;font-weight:800;color:#315fd4}.auth-head h1{font-size:26px;letter-spacing:-.04em;margin:9px 0 7px}.auth-head p{font-size:12px;line-height:1.6;color:#667085;margin:0}.auth-form{display:grid;gap:14px}.auth-form label{font-size:11px;font-weight:700;color:#475467;display:grid;gap:6px}.auth-form input{width:100%;border:1px solid #d7deea;border-radius:11px;padding:12px 13px;background:#fff;outline:none}.auth-form input:focus{border-color:#7c9ce9;box-shadow:0 0 0 4px rgba(49,95,212,.09)}.auth-submit{width:100%;padding:12px 14px;margin-top:4px}.auth-links{display:flex;justify-content:center;gap:18px;margin-top:18px}.link-btn{border:0;background:transparent;color:#315fd4;font-weight:700;font-size:11px;cursor:pointer;padding:4px}.auth-foot{text-align:center;font-size:10px;color:#98a2b3;border-top:1px solid #edf0f5;margin-top:24px;padding-top:16px}.auth-error{background:#fff1f0;border:1px solid #f7b4ae;color:#b42318;border-radius:11px;padding:10px 12px;font-size:11px;line-height:1.5;margin-bottom:14px}.auth-message{background:#eff6ff;border:1px solid #bfd3ff;color:#244b9b;border-radius:11px;padding:11px 12px;font-size:11px;line-height:1.5;margin-bottom:14px}.auth-admin-note{background:#f8fafc;border:1px solid #e4e9f1;color:#475467;border-radius:11px;padding:10px 12px;font-size:10px;line-height:1.45;margin-bottom:14px}.waiting-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:#fffaeb;color:#b54708;font-size:28px}.waiting-icon.rejected{background:#fff1f0;color:#d92d20}.waiting-email{text-align:center;font-size:12px;font-weight:800;margin-bottom:14px}.auth-logout{display:block;margin:12px auto 0}.sidebar-user{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-user strong,.sidebar-user span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user strong{font-size:11px;color:#fff}.sidebar-user span{font-size:9px;color:#8fa0ba;margin-top:4px}.top-user{display:flex;align-items:center;padding:0 4px 0 8px}.top-user strong,.top-user span{display:block;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-user strong{font-size:11px;color:#253047}.top-user span{font-size:9px;color:#7b8798;margin-top:2px}.user-status{display:inline-flex;padding:5px 8px;border-radius:99px;font-size:9px;font-weight:800}.user-status.approved{background:#ecfdf3;color:#067647}.user-status.pending{background:#fffaeb;color:#b54708}.user-status.rejected{background:#fff1f0;color:#d92d20}.user-role{display:inline-flex;padding:5px 8px;border-radius:99px;background:#eef4ff;color:#315fd4;font-size:9px;font-weight:800}.admin-actions{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:820px){.auth-bg{padding:22px 14px}.auth-brand{position:relative;top:auto;left:auto;margin-bottom:18px;justify-self:center}.auth-bg{display:flex;flex-direction:column;justify-content:center}.auth-card{padding:24px 20px}.top-user{display:none}}

/* Gestão de usuários */
.auth-access-note{margin-top:14px;margin-bottom:0;text-align:center}.role-select{min-width:130px;border:1px solid var(--line);border-radius:9px;padding:7px 9px;background:#fff;font-size:10px;font-weight:700;color:#344054}.account-lock{font-size:10px;color:var(--muted);font-weight:700}.mini-btn.danger{border-color:#f2b8b5;color:#b42318;background:#fff7f6}.mini-btn.danger:hover{background:#fff1f0}.table-tools{gap:12px;flex-wrap:wrap}.table-tools .btn{white-space:nowrap}

/* =========================================================
   PARCELE NA HORA — IDENTIDADE VISUAL OFICIAL
   Vermelho institucional: #bb001d
   ========================================================= */
:root{
  --pnh-red:#bb001d;
  --pnh-red-dark:#8f0016;
  --pnh-red-deep:#6f0011;
  --pnh-red-soft:#fff2f4;
  --pnh-red-line:#f2c8cf;
  --pnh-ink:#17171c;
  --pnh-bg:#f7f7f9;
  --nav:var(--pnh-red);
  --nav2:rgba(255,255,255,.12);
  --blue:var(--pnh-red);
  --blue2:#8f0016;
  --red:var(--pnh-red);
  --redbg:var(--pnh-red-soft);
  --shadow:0 14px 36px rgba(77,0,12,.10);
}
body{background:linear-gradient(180deg,#fafafa 0%,#f5f5f7 100%)}
.sidebar{
  background:linear-gradient(180deg,#bb001d 0%,#a50019 58%,#850014 100%);
  border-right:1px solid rgba(255,255,255,.08);
  box-shadow:10px 0 32px rgba(83,0,13,.12);
}
.pnh-brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:4px 7px 26px}
.brand-logo{width:172px;height:auto;display:block;object-fit:contain}
.brand-product{font-size:11px!important;color:rgba(255,255,255,.72)!important;font-weight:700;letter-spacing:.11em;text-transform:uppercase;padding-left:3px}
.nav-item{color:rgba(255,255,255,.72);transition:.18s ease}
.nav-item:hover{background:rgba(255,255,255,.10);color:#fff;transform:translateX(2px)}
.nav-item.active{background:#fff;color:var(--pnh-red);box-shadow:0 7px 22px rgba(84,0,13,.17);font-weight:800}
.nav-item.active{box-shadow:0 7px 22px rgba(84,0,13,.17)}
.sidebar-foot{border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.72)}
.sidebar-user span{color:rgba(255,255,255,.64)}
.main{background:transparent}
.topbar{background:rgba(255,255,255,.72);border:1px solid rgba(231,231,235,.9);border-radius:16px;padding:14px 16px;box-shadow:0 6px 24px rgba(17,24,39,.04);backdrop-filter:blur(10px)}
.topbar h1{color:#15151a}.topbar p{color:#74747f}
.btn.primary{background:linear-gradient(135deg,#bb001d,#970017);box-shadow:0 9px 20px rgba(187,0,29,.20)}
.btn.primary:hover{filter:brightness(.96);transform:translateY(-1px)}
.btn.secondary:hover,.icon-btn:hover,.mini-btn:hover{border-color:#e5aeba;background:#fff7f8}
.btn.ghost{border-color:#e6aab4;color:#9d0018;background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#d65c70;box-shadow:0 0 0 3px rgba(187,0,29,.09)}
.filters,.card,.table-card,.modal{border-color:#e9e9ed}
.card{box-shadow:0 8px 26px rgba(30,30,38,.045)}
.metric.status-red{border-top-color:#bb001d}
.chart-line{stroke:#bb001d}.chart-dot{stroke:#bb001d}.bar-fill{background:linear-gradient(90deg,#bb001d,#e0475f)}
.progress>div{background:linear-gradient(90deg,#bb001d,#df4960)}
.pill-tab.active{color:#a10019;box-shadow:0 3px 10px rgba(89,0,14,.08)}
.data-table th{background:#faf7f8;color:#74656a}.data-table tr:hover td{background:#fffafb}
.user-role{background:#fff0f2;color:#a30019}.link-btn{color:#bb001d}
.dropzone{background:#fffafb;border-color:#dfb4bc}.dropzone:hover{border-color:#bb001d;background:#fff5f7}
.auth-bg{
  background:
    radial-gradient(circle at 14% 12%,rgba(255,255,255,.14),transparent 25%),
    radial-gradient(circle at 86% 88%,rgba(82,0,12,.34),transparent 32%),
    linear-gradient(135deg,#bb001d 0%,#a10019 52%,#760012 100%);
}
.auth-bg:before{background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px)}
.pnh-auth-brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.auth-brand-logo{width:188px;height:auto;display:block}
.pnh-auth-brand>span{font-size:11px;color:rgba(255,255,255,.76);text-transform:uppercase;letter-spacing:.12em;font-weight:800;padding-left:2px}
.auth-card{border-radius:22px;border:1px solid rgba(255,255,255,.55);box-shadow:0 32px 90px rgba(68,0,10,.28)}
.auth-kicker{color:#bb001d}.auth-head h1{color:#17171c}
.auth-form input:focus{border-color:#d45a6e;box-shadow:0 0 0 4px rgba(187,0,29,.08)}
.auth-message{background:#fff3f5;border-color:#efbdc6;color:#8e0016}
.toast.good{background:#067647}.toast.bad{background:#9e0018}
@media(max-width:820px){
  .brand-logo{width:156px}.auth-brand-logo{width:170px}
  .pnh-auth-brand{align-items:center}.brand-product{font-size:10px!important}
}

/* =========================================================
   CENTRAL DE RISCO — DASHBOARD EXECUTIVO / CASOS / ANTIFRAUDE
   ========================================================= */
.metric>span{display:block;font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.metric>strong{display:block;font-size:25px;letter-spacing:-.04em;margin:8px 0 6px;color:#18181d}
.metric>small{display:block;color:var(--muted);font-size:10px;line-height:1.45}
.executive-cards{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-primary{grid-template-columns:1.65fr .75fr}.donut-wrap{display:grid;place-items:center;gap:8px}.legend{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;font-size:10px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:5px}.legend i{display:inline-block;width:8px;height:8px;border-radius:50%}.legend i.red{background:#bb001d}.legend i.amber{background:#f79009}.legend i.green{background:#12b76a}
.chart-legend{display:flex;gap:15px;justify-content:flex-end;font-size:10px;color:var(--muted);margin-bottom:4px}.chart-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.legend-dot.cb{background:#bb001d}.legend-dot.fraud{background:#7857d6}.cb-line{stroke:#bb001d!important}.fraud-line{stroke:#7857d6!important}.cb-dot{stroke:#bb001d!important}.fraud-dot{stroke:#7857d6!important}.bar-fill.risk{background:linear-gradient(90deg,#8a0015,#dd4960)}
.acquirer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.acquirer-card{border:1px solid #ececf0;border-radius:14px;padding:14px;background:linear-gradient(180deg,#fff,#fffafb)}.acquirer-card span{display:block;font-size:11px;font-weight:800;color:#6b6570}.acquirer-card strong{display:block;font-size:28px;margin:8px 0 3px}.acquirer-card small{color:var(--muted);font-size:10px}.acq-tag{display:inline-flex;padding:5px 8px;border-radius:8px;font-size:10px;font-weight:800;white-space:nowrap}.acq-tag.known{background:#fff0f2;color:#a00018}.acq-tag.unknown{background:#f2f4f7;color:#667085}.config-acq{margin:2px 4px 2px 0}
.risk-link{display:inline-flex;align-items:center;padding:5px 8px;border-radius:99px;background:#fff0f2;color:#a00018;font-size:9px;font-weight:800}.risk-none{display:inline-flex;padding:5px 8px;border-radius:99px;background:#f2f4f7;color:#667085;font-size:9px;font-weight:700}.match-chip{display:inline-flex;padding:3px 6px;border-radius:6px;background:#fff2f4;color:#9b0018;font-size:8px;font-weight:800;margin:1px}.row-risk td{background:#fffafb}.linkish{border:0;background:transparent;color:#9f0018;font-weight:800;cursor:pointer;padding:0}.clickable{cursor:pointer}.clickable:hover span:first-child{text-decoration:underline}
.panel-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.modal.extra-wide{width:min(1320px,calc(100vw - 28px));padding:22px}.case-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.detail-card{border:1px solid #ececf0;border-radius:14px;padding:15px;background:#fff}.detail-card h3{font-size:13px;margin:0 0 12px;color:#7e0014}.detail-item{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid #f0f0f3;font-size:10px}.detail-item:last-child{border-bottom:0}.detail-item span{color:var(--muted)}.detail-item strong{text-align:right;max-width:62%;word-break:break-word}.embedded-card{margin-top:14px;box-shadow:none}.compact-details{grid-template-columns:repeat(4,1fr);margin-bottom:12px}.compact-history{max-height:240px;overflow:auto}.muted-copy{font-size:11px;line-height:1.7;color:var(--muted)}
.grouped-form{gap:11px}.form-section-title{grid-column:1/-1;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8e0016;font-weight:900;border-bottom:1px solid #f0dbe0;padding:13px 2px 7px;margin-top:3px}.grouped-form .field textarea{min-height:78px}
.upload-card{text-align:center}.upload-icon{width:54px;height:54px;display:grid;place-items:center;margin:0 auto 10px;border-radius:16px;background:#fff0f2;color:#bb001d;font-size:25px;font-weight:900}.upload-card h2{margin:8px 0}.upload-card p{font-size:11px;color:var(--muted);line-height:1.55}.template-tags{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin:12px 0}.template-tags span{font-size:9px;font-weight:800;border:1px solid #efc5cc;color:#970017;background:#fff7f8;padding:5px 7px;border-radius:99px}.drop-zone{margin-top:12px;border:1.5px dashed #d8abb4;border-radius:12px;padding:17px;color:#88747a;font-size:10px}.drop-zone.drag{border-color:#bb001d;background:#fff4f6;color:#950017}.distribution-list{display:grid;gap:10px}.distribution-list>div{display:grid;gap:4px;padding:12px;border:1px solid #ececf0;border-radius:12px}.distribution-list b{font-size:11px;color:#8f0016}.distribution-list span{font-size:10px;line-height:1.45;color:var(--muted)}
.import-detection{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:12px;align-items:end;border:1px solid #c9e8d8;background:#f1fcf6;border-radius:14px;padding:13px;margin-bottom:12px}.import-detection.warn{border-color:#f1d69f;background:#fffbeb}.import-detection>div:first-child span,.import-detection>div:first-child strong,.import-detection>div:first-child small{display:block}.import-detection>div:first-child span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.import-detection>div:first-child strong{font-size:15px;margin:4px 0}.import-detection>div:first-child small{font-size:10px;color:var(--muted)}
.compare-control{display:grid;gap:14px;margin-bottom:16px}.compare-control h3{margin:0}.compare-control p{margin:5px 0 0;color:var(--muted);font-size:11px}.compare-dates{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:9px;align-items:end}.compare-dates label{display:grid;gap:5px;font-size:9px;font-weight:800;color:var(--muted)}.compare-dates input{border:1px solid #d8dee8;border-radius:9px;padding:9px}.compare-table{min-width:720px}.executive-note{padding:11px 12px;border-radius:11px;font-size:11px;margin:8px 0}.executive-note.positive{background:#ecfdf3;color:#067647}.executive-note.negative{background:#fff1f0;color:#b42318}.executive-note.neutral{background:#f2f4f7;color:#667085}
.history.compact-history{border-top:1px solid #eef0f4;padding-top:8px}.history-item{padding:9px 2px;border-bottom:1px solid #eef0f4}.history-item strong{display:block;font-size:10px}.history-item span{display:block;color:var(--muted);font-size:9px;margin-top:3px}
@media(max-width:1450px){.executive-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1180px){.detail-grid{grid-template-columns:repeat(2,1fr)}.acquirer-grid{grid-template-columns:repeat(2,1fr)}.dashboard-primary{grid-template-columns:1fr}.compare-dates{grid-template-columns:repeat(2,1fr)}.compare-dates .btn{grid-column:1/-1}.import-detection{grid-template-columns:1fr 1fr}.import-detection>div:first-child{grid-column:1/-1}}
@media(max-width:820px){.executive-cards{grid-template-columns:1fr 1fr}.detail-grid,.compact-details{grid-template-columns:1fr}.acquirer-grid{grid-template-columns:1fr 1fr}.case-toolbar{align-items:flex-start;flex-direction:column}.compare-dates{grid-template-columns:1fr}.import-detection{grid-template-columns:1fr}.mapping-grid{display:block}.mapping-row{display:grid;grid-template-columns:1fr;gap:6px;margin-bottom:10px}.modal.extra-wide{width:calc(100vw - 14px);padding:15px}}

/* Campos financeiros - formato brasileiro */
.money-input{font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.01em}
.money-input:focus{box-shadow:0 0 0 3px rgba(187,0,29,.10)}

/* Comparações — leitura inequívoca A (anterior) -> B (atual) */
.compare-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.compare-preset{min-width:230px;display:grid;gap:6px;font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.compare-preset select{border:1px solid #d8dee8;border-radius:10px;padding:10px;background:#fff;color:var(--text);font-weight:700;text-transform:none;letter-spacing:0}.comparison-guide{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:12px}.period-guide{display:flex;gap:11px;align-items:center;padding:11px 13px;border-radius:12px}.period-guide.previous{background:#f2f4f7}.period-guide.current{background:#fff1f2;border:1px solid #fecdd3}.period-guide strong{display:block;font-size:11px;letter-spacing:.03em}.period-guide span:not(.period-letter){display:block;font-size:10px;color:var(--muted);margin-top:3px}.period-letter{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#667085;color:#fff;font-weight:900;font-size:15px;flex:none}.period-guide.current .period-letter,.period-letter.current{background:var(--red)}.period-letter.small{width:28px;height:28px;border-radius:8px;font-size:12px}.compare-arrow{text-align:center;color:var(--muted);font-size:9px;text-transform:uppercase;font-weight:800}.compare-arrow b{display:block;font-size:22px;line-height:1;color:#98a2b3}.date-label-chip{display:inline-block;width:max-content;border-radius:99px;padding:3px 7px;font-size:8px;font-weight:900;letter-spacing:.03em}.date-label-chip.previous{background:#eaecf0;color:#475467}.date-label-chip.current{background:#ffe4e6;color:#b42318}.compare-legend{display:flex;flex-wrap:wrap;gap:8px;font-size:10px;font-weight:700}.compare-legend span{padding:6px 9px;border-radius:99px}.legend-good{background:#ecfdf3;color:#067647}.legend-bad{background:#fff1f0;color:#b42318}.legend-neutral{background:#f2f4f7;color:#667085}.comparison-summary-strip{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-bottom:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 14px}.comparison-summary-strip>div:not(.summary-vs){display:flex;align-items:center;gap:10px}.comparison-summary-strip strong{display:block;font-size:11px}.comparison-summary-strip span:not(.period-letter){display:block;color:var(--muted);font-size:10px;margin-top:2px}.summary-vs{font-size:10px;font-weight:800;color:var(--red);background:#fff1f2;border-radius:99px;padding:6px 10px}.compare-warning{margin:0 0 12px;padding:10px 12px;background:#fffaeb;border:1px solid #fedf89;color:#b54708;border-radius:10px;font-size:10px;font-weight:700}.compare-table-help{font-size:10px;color:var(--muted);margin:4px 0 12px}.th-period{display:inline-block;padding:5px 8px;border-radius:8px;font-size:9px}.th-period.previous{background:#eaecf0;color:#475467}.th-period.current{background:#ffe4e6;color:#b42318}.period-cell-note,.compare-base-note{display:block;margin-top:3px;font-size:8px;color:#98a2b3;font-weight:600}.period-cell-note.current{color:#b42318}.trend-context{font-size:9px;color:var(--muted);font-weight:600}.executive-note span{display:block;margin-top:4px;font-size:9px;font-weight:600;opacity:.82}
@media(max-width:820px){.compare-heading{display:grid}.compare-preset{min-width:0}.comparison-guide,.comparison-summary-strip{grid-template-columns:1fr}.compare-arrow b{transform:rotate(90deg)}.summary-vs{text-align:center}.compare-legend{display:grid}}

.compare-date-source{margin-top:8px!important;font-size:12px!important;color:#64748b!important;line-height:1.45}.compare-date-source b{color:#334155}
