:root{
  --bg:#fdf4f5;
  --bg2:#ffedee;
  --panel:#ffffff;
  --panel2:#fff8f9;
  --line:#f5d8da;
  --line-strong:#efbfc3;
  --text:#3a1417;
  --text-strong:#300b0e;
  --muted:#9f686d;
  --blue:#e61425;
  --blue-strong:#b80716;
  --blue-soft:#ffeaec;
  --cyan:#f72a3b;
  --green:#13a86b;
  --green-soft:#e8f8f1;
  --amber:#d98b13;
  --amber-soft:#fff5df;
  --red:#dc4660;
  --red-soft:#fff0f3;
  --shadow:0 12px 34px rgba(28,73,122,.08);
  --shadow-soft:0 6px 20px rgba(28,73,122,.06);
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{margin:0;min-height:100vh;background:linear-gradient(180deg,#fff8f9 0%,#fdf2f3 100%);color:var(--text);font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}
.app-shell{min-height:100vh;display:grid;grid-template-columns:236px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30;box-shadow:5px 0 28px rgba(43,94,148,.035)}
.brand{display:flex;align-items:center;gap:11px;padding:2px 4px 17px}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:900;letter-spacing:.4px;color:#fff;background:linear-gradient(145deg,#f52334,#d20819);box-shadow:0 8px 22px rgba(20,115,230,.22)}
.brand strong{display:block;font-size:13px;color:var(--text-strong);letter-spacing:.1px}.brand span{display:block;color:#a9787c;font-size:10px;margin-top:2px;text-transform:uppercase;letter-spacing:1.3px}
.side-status{font-size:9px;letter-spacing:1.15px;color:#8f555a;border:1px solid #f7d6d9;background:#fff7f8;border-radius:999px;padding:7px 10px;margin:0 2px 17px;display:flex;align-items:center;gap:7px;width:max-content}.pulse{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(19,168,107,.1)}
.nav-block{flex:1}.nav-label{margin:10px 8px 7px;color:#be999c;font-size:9px;text-transform:uppercase;letter-spacing:1.7px;font-weight:900}.nav-label-gap{margin-top:22px}
.nav-item{display:flex;align-items:center;gap:10px;padding:10px 11px;margin:4px 0;border-radius:10px;color:#845357;border:1px solid transparent;transition:.18s ease;font-weight:600}.nav-item:hover{background:#fef3f4;color:#b90d1b}.nav-item.active{color:#b90716;background:#ffeaec;border-color:#f6c5c9;box-shadow:inset 3px 0 0 var(--blue)}
.nav-icon{width:25px;height:25px;border-radius:7px;display:grid;place-items:center;background:#fdf1f2;border:1px solid #f5d6d9;color:#c82633;font-size:12px}.nav-item.active .nav-icon{background:#fff;border-color:#f4bcc1;color:#c80515}
.sidebar-user{display:grid;grid-template-columns:35px 1fr auto;gap:9px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:13px;background:#fef9f9}.avatar{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#f32d3d,#dd081a);color:#fff;font-weight:800}.sidebar-user-copy{min-width:0}.sidebar-user-copy strong{display:block;font-size:11px;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-copy span{display:block;font-size:9px;color:var(--muted);margin-top:2px}.logout-button{border:0;background:transparent;color:#a8777b;font-size:18px;padding:4px}.logout-button:hover{color:#c60d1c}
.main-panel{min-width:0}.mobile-topbar{display:none}.content-wrap{padding:24px;max-width:1700px;margin:0 auto}.messages{display:grid;gap:8px;margin-bottom:14px}.message{padding:11px 14px;border-radius:10px;border:1px solid #f3cbce;background:#fff7f8;color:#6f3439}.message.success{border-color:#a8dec8;background:#ecfaf4;color:#22744f}.message.error{border-color:#f1bcc7;background:#fff2f5;color:#9d3044}.message.info{border-color:#f4bcc1;background:#ffedee;color:#95242d}
.hero{position:relative;overflow:hidden;border:1px solid #f6c8cc;border-radius:20px;background:linear-gradient(118deg,#ffffff 0%,#ffeeef 52%,#ffdcdf 100%);padding:27px;box-shadow:var(--shadow)}
.hero:before{content:"";position:absolute;inset:-70% auto auto 42%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(57,160,245,.13),transparent 64%)}.hero:after{content:"";position:absolute;width:360px;height:360px;right:-135px;top:-190px;border-radius:50%;border:45px solid rgba(70,164,244,.07)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center}.eyebrow{display:flex;gap:7px;align-items:center;font-size:9px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;color:#c71927}.eyebrow span{padding:4px 7px;border:1px solid #f5b9be;border-radius:6px;background:rgba(255,255,255,.82)}.hero h1{margin:10px 0 4px;font-size:34px;line-height:1.08;letter-spacing:-1.2px;color:#391316}.hero p{margin:0;color:#955f64;max-width:760px}.hero-side{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.status-pill{padding:9px 11px;border-radius:10px;border:1px solid #f0cdd0;background:rgba(255,255,255,.85);color:#925d62;font-size:11px;box-shadow:0 4px 12px rgba(35,91,146,.04)}.status-pill strong{color:#53151a}.status-pill.ok{border-color:#b6e2d0;color:#178556;background:#f4fcf8}.status-pill.cyan{border-color:#f7b9be;color:#b51220;background:#fff4f5}.version-chip{font-size:10px;padding:5px 8px;border-radius:999px;border:1px solid #f3c3c7;color:#b21724;background:#ffeeef}
.filter-bar{margin-top:14px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:11px 12px;display:flex;align-items:end;gap:10px;flex-wrap:wrap;box-shadow:var(--shadow-soft)}.field{display:grid;gap:5px}.field label{font-size:9px;color:#a8787c;text-transform:uppercase;letter-spacing:1px;font-weight:800}.field select,.field input{min-width:190px;border:1px solid #f2cbce;background:#fff;color:#5f292d;border-radius:9px;padding:9px 10px;outline:none}.field select:focus,.field input:focus{border-color:#ed5d69;box-shadow:0 0 0 3px rgba(20,115,230,.10)}
.btn{border:1px solid #f1c2c6;background:#fef4f5;color:#91242d;padding:9px 13px;border-radius:9px;font-weight:750}.btn:hover{filter:brightness(.985);box-shadow:0 5px 14px rgba(38,101,164,.08)}.btn-primary{background:linear-gradient(135deg,#ef2132,#d40f1f);border-color:#d40f1f;color:#fff;box-shadow:0 7px 18px rgba(20,115,230,.18)}.btn-danger{background:var(--red-soft);border-color:#f1bac6;color:#b63049}.btn-soft{background:#fef4f5;border-color:#f4c7cb;color:#9f252f}
.grid-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.kpi{position:relative;overflow:hidden;border:1px solid var(--line);background:#fff;border-radius:15px;padding:16px;min-height:122px;box-shadow:var(--shadow-soft)}.kpi:after{content:"";position:absolute;height:3px;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,var(--accent,#e61425),transparent)}.kpi-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.kpi-label{font-size:9px;text-transform:uppercase;letter-spacing:1.3px;color:#a8787c;font-weight:850}.kpi-icon{width:33px;height:33px;border-radius:9px;display:grid;place-items:center;background:#ffedee;border:1px solid #f7c9cd;color:var(--accent,#e61425);font-weight:800}.kpi-value{font-size:28px;font-weight:900;letter-spacing:-.8px;margin-top:8px;color:#3a1316}.kpi-sub{font-size:10px;color:#ab7b7f;margin-top:2px}.kpi.cyan{--accent:#e91728}.kpi.purple{--accent:#e61425}.kpi.pink{--accent:#d92e3c}.kpi.amber{--accent:#e15b66}
.section-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:12px;margin-top:12px}.section-grid.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:15px;min-width:0;box-shadow:var(--shadow-soft)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.card-title{display:flex;align-items:center;gap:8px}.card-title i{display:block;width:3px;height:16px;border-radius:99px;background:linear-gradient(#f72a3b,#e61425)}.card-title h2{font-size:13px;margin:0;color:#41181b}.card-title p{font-size:9px;margin:2px 0 0;color:#ac7d81}.mini-badge{font-size:8px;letter-spacing:1px;text-transform:uppercase;border:1px solid #f2d0d3;border-radius:999px;padding:5px 7px;color:#a4676c;background:#fef8f9}
.rank-list{display:grid;gap:8px}.rank-row{display:grid;grid-template-columns:34px minmax(170px,1fr) minmax(160px,.8fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid #f6dfe1;border-radius:11px;background:#fef9f9}.rank-row:hover{border-color:#f2c4c8;background:#fff5f6}.rank-pos{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:#ffeaec;color:#e61425;font-weight:900;font-size:11px}.rank-name strong{display:block;font-size:11px;color:#421b1e}.rank-name span{display:block;font-size:9px;color:#a8787c}.progress-wrap{min-width:0}.progress-meta{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#a8767a;margin-bottom:5px}.progress{height:7px;border-radius:999px;background:#f8e7e8;overflow:hidden}.progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f75663,#e61425);box-shadow:0 0 10px rgba(20,115,230,.16)}.rank-value{text-align:right}.rank-value strong{display:block;font-size:11px;color:#4d171b}.rank-value span{display:block;font-size:9px;color:#a8787c}
.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:800;border:1px solid #eed0d2;color:#9c6469;background:#fcf7f7}.badge.ok{border-color:#afe0cb;color:#168354;background:#effaf5}.badge.warn{border-color:#efd49e;color:#aa6c0b;background:#fff9ea}.badge.info{border-color:#f6bdc2;color:#ae1b27;background:#ffeff0}.badge.muted{color:#a7767a;background:#faf5f5}
.bar-list{display:grid;gap:12px}.bar-item-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:6px}.bar-item-head strong{font-size:10px;color:#4d2226}.bar-item-head span{font-size:9px;color:#a36f73}.bar-track{height:8px;border-radius:999px;background:#f8e9ea;overflow:hidden}.bar-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f65966,#e61425)}
.stats-list{display:grid;gap:8px}.stats-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px;border-bottom:1px solid #f6e7e8}.stats-row:last-child{border-bottom:0}.stats-row strong{font-size:10px;color:#502629}.stats-row small{display:block;color:#a8777b;font-size:9px;margin-top:2px}.stats-number{text-align:right;font-weight:850;font-size:11px;color:#53191e}.stats-number small{font-weight:400}
.empty-state{text-align:center;padding:30px 16px;border:1px dashed #ecbfc3;border-radius:12px;background:#fff8f9}.empty-icon{width:50px;height:50px;border-radius:15px;margin:0 auto 10px;display:grid;place-items:center;background:#ffeaec;border:1px solid #f4c3c7;color:#d41323;font-size:22px}.empty-state h3{margin:0 0 5px;font-size:14px;color:#4c2125}.empty-state p{margin:0 auto 14px;max-width:540px;color:#a67378;font-size:11px}
.audit-warning{margin-top:12px;border:1px solid #f0d49b;background:#fff9ec;border-radius:14px;padding:13px 15px;display:flex;gap:12px;align-items:center;justify-content:space-between;box-shadow:var(--shadow-soft)}.audit-warning strong{display:block;color:#8f5a08;font-size:12px}.audit-warning span{display:block;color:#866d44;font-size:10px;margin-top:2px}.audit-warning .btn{white-space:nowrap;background:#fff;border-color:#e8c77f;color:#94600d}
.table-wrap{overflow:auto;border:1px solid #f4dcde;border-radius:11px;background:#fff}.data-table{width:100%;border-collapse:collapse;min-width:650px}.data-table th,.data-table td{padding:10px 12px;border-bottom:1px solid #f6e8e9;text-align:left;white-space:nowrap}.data-table th{font-size:8px;text-transform:uppercase;letter-spacing:1px;color:#a26d72;background:#fcf6f6}.data-table td{font-size:10px;color:#734246}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover td{background:#fef8f9}.money{font-variant-numeric:tabular-nums;color:#58171c!important;font-weight:750}.muted{color:#aa7a7e!important}
.form-card{max-width:900px}.form-grid p{display:grid;grid-template-columns:190px minmax(0,1fr);gap:12px;align-items:center;margin:10px 0}.form-grid label{font-size:10px;color:#955f64;font-weight:700}.form-grid input,.form-grid select{width:100%;border:1px solid #ecc8cb;background:#fff;color:#582327;border-radius:9px;padding:10px}.form-grid input:focus,.form-grid select:focus{outline:none;border-color:#ea5a66;box-shadow:0 0 0 3px rgba(20,115,230,.08)}.form-grid .helptext{grid-column:2;color:#ab7c80;font-size:9px}.form-grid ul.errorlist{grid-column:2;margin:0;padding-left:16px;color:#c23b52}.actions{display:flex;gap:8px;align-items:center;margin-top:14px;flex-wrap:wrap}
.meta-hero{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:18px;border:1px solid #f2c7cb;border-radius:15px;background:linear-gradient(125deg,#fff,#ffeaec)}.meta-percent{font-size:48px;font-weight:950;letter-spacing:-2px;color:#c60c1b}.meta-copy h2{margin:0 0 4px;color:#43181c}.meta-copy p{margin:0;color:#a36e73}.meta-ring{width:90px;height:90px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at center,#fff 57%,transparent 58%),conic-gradient(#e61425 var(--meta,0%),#f7e4e6 0);font-weight:900;font-size:13px;color:#aa1420}
.app-footer{text-align:center;padding:30px 0 8px;color:#d0b0b3}.app-footer span{display:block;font-size:13px;font-weight:900;letter-spacing:6px}.app-footer small{display:block;font-size:8px;letter-spacing:1.3px;margin-top:4px;color:#c29a9d}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 80% 10%,rgba(88,178,247,.17),transparent 34%),linear-gradient(145deg,#fff8f9,#ffeaec)}.login-card{width:min(430px,100%);border:1px solid #f2c9cc;border-radius:20px;background:#fff;padding:26px;box-shadow:0 26px 70px rgba(35,82,129,.12)}.login-logo{display:flex;align-items:center;gap:11px;margin-bottom:24px}.login-card h1{font-size:24px;margin:0;color:#3a1417}.login-card p{color:#a7767a;font-size:11px}.login-card form p{display:grid;gap:6px}.login-card label{font-size:10px;color:#966064;font-weight:700}.login-card input{width:100%;border:1px solid #ecc7ca;background:#fff;color:#4f181d;border-radius:10px;padding:11px}.login-card input:focus{outline:none;border-color:#ed5a66;box-shadow:0 0 0 3px rgba(20,115,230,.09)}.login-card .btn{width:100%;margin-top:8px;padding:11px}
@media(max-width:1100px){.grid-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.section-grid,.section-grid.equal{grid-template-columns:1fr}.rank-row{grid-template-columns:32px 1fr auto}.rank-row .progress-wrap{grid-column:2/4}.hero-grid{grid-template-columns:1fr}.hero-side{justify-content:flex-start}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;left:-255px;width:235px;transition:left .22s ease;box-shadow:20px 0 50px rgba(39,85,130,.12)}.sidebar.open{left:0}.mobile-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid #f4d9db;color:#4c2024}.menu-button{border:1px solid #efc7ca;background:#fdf3f4;color:#b11825;border-radius:8px;padding:6px 9px}.content-wrap{padding:12px}.hero{padding:18px}.hero h1{font-size:27px}.grid-kpis{grid-template-columns:1fr}.filter-bar{align-items:stretch}.field,.field select,.field input{width:100%;min-width:0}.form-grid p{grid-template-columns:1fr}.form-grid .helptext,.form-grid ul.errorlist{grid-column:1}.meta-hero{grid-template-columns:1fr}.meta-ring{margin-top:5px}.audit-warning{align-items:flex-start;flex-direction:column}}
.lojas-grid{grid-template-columns:minmax(320px,.7fr) minmax(500px,1.3fr)}
.rule-separator{margin:20px 0;border:0;border-top:1px solid #f4dcde}
@media(max-width:1100px){.lojas-grid{grid-template-columns:1fr}}


/* BI RED WHITE V0.3.3.1 — high contrast theme */
:root{
  --bg:#f7f7f8;
  --bg2:#fff1f2;
  --panel:#ffffff;
  --panel2:#fffafa;
  --line:#ead6d8;
  --line-strong:#d8aeb3;
  --text:#2b2022;
  --text-strong:#1f1517;
  --muted:#75676a;
  --blue:#c1121f;
  --blue-strong:#8f0d16;
  --blue-soft:#fff0f1;
  --cyan:#e5383b;
  --red:#b91c1c;
  --red-soft:#fff0f1;
  --shadow:0 12px 34px rgba(127,29,29,.08);
  --shadow-soft:0 6px 20px rgba(127,29,29,.055);
}
html{background:#f7f7f8}
body{background:linear-gradient(180deg,#ffffff 0%,#f8f6f6 100%);color:var(--text)}
.sidebar{background:#fff;border-right-color:#ead6d8;box-shadow:5px 0 28px rgba(127,29,29,.045)}
.brand-mark{background:linear-gradient(145deg,#dc2626,#991b1b);box-shadow:0 8px 22px rgba(185,28,28,.22)}
.side-status{color:#65585a;border-color:#ead6d8;background:#fffafa}
.nav-item{color:#5f5255}
.nav-item:hover{background:#fff5f5;color:#991b1b}
.nav-item.active{color:#991b1b;background:#fff0f1;border-color:#f0c7cb;box-shadow:inset 3px 0 0 #c1121f}
.nav-icon{background:#fff7f7;border-color:#edd7d9;color:#b91c1c}
.nav-item.active .nav-icon{background:#fff;border-color:#e7b7bc;color:#991b1b}
.avatar{background:linear-gradient(145deg,#dc2626,#991b1b)}
.logout-button:hover{color:#991b1b}
.hero{border-color:#eccfd2;background:linear-gradient(118deg,#ffffff 0%,#fff6f6 52%,#fdebed 100%)}
.hero:before{background:radial-gradient(circle,rgba(220,38,38,.10),transparent 64%)}
.hero:after{border-color:rgba(185,28,28,.06)}
.eyebrow{color:#a51520}.eyebrow span{border-color:#ebc2c6;background:rgba(255,255,255,.92)}
.status-pill.cyan{border-color:#efc0c4;color:#a51520;background:#fff7f7}
.version-chip{border-color:#e8c0c4;color:#a51520;background:#fff4f4}
.field select:focus,.field input:focus,.form-grid input:focus,.form-grid select:focus,.login-card input:focus{border-color:#d84a55;box-shadow:0 0 0 3px rgba(193,18,31,.10)}
.btn{border-color:#e3c7ca;background:#fff7f7;color:#8f252d}
.btn-primary{background:linear-gradient(135deg,#dc2626,#991b1b);border-color:#991b1b;color:#fff;box-shadow:0 7px 18px rgba(185,28,28,.18)}
.btn-soft{background:#fff5f5;border-color:#e9c6ca;color:#9f1d26}
.kpi:after{background:linear-gradient(90deg,transparent,var(--accent,#c1121f),transparent)}
.kpi-icon{background:#fff1f2;border-color:#efc8cc;color:var(--accent,#c1121f)}
.kpi.cyan{--accent:#ef4444}.kpi.purple{--accent:#c1121f}.kpi.pink{--accent:#b91c1c}.kpi.amber{--accent:#7f1d1d}
.card-title i{background:linear-gradient(#ef4444,#991b1b)}
.rank-pos{background:#fff0f1;color:#c1121f}
.progress{background:#f2dfe1}.progress>span{background:linear-gradient(90deg,#ef6b73,#b91c1c);box-shadow:0 0 10px rgba(185,28,28,.15)}
.bar-track{background:#f2dfe1}.bar-track span{background:linear-gradient(90deg,#ef6b73,#b91c1c)}
.empty-icon{background:#fff0f1;border-color:#ecc4c8;color:#b91c1c}
.meta-hero{border-color:#e8c3c7;background:linear-gradient(125deg,#fff,#fff0f1)}
.meta-percent{color:#a51520}.meta-ring{background:radial-gradient(circle at center,#fff 57%,transparent 58%),conic-gradient(#c1121f var(--meta,0%),#f1dfe1 0);color:#991b1b}
.login-shell{background:radial-gradient(circle at 80% 10%,rgba(220,38,38,.11),transparent 34%),linear-gradient(145deg,#ffffff,#fff1f2)}
.login-card{border-color:#e9c8cb;box-shadow:0 26px 70px rgba(127,29,29,.12)}
.menu-button{border-color:#e6c6c9;background:#fff5f5;color:#9f1d26}
@media(max-width:760px){.mobile-topbar{background:rgba(255,255,255,.96);border-bottom-color:#ead6d8}.sidebar{box-shadow:20px 0 50px rgba(127,29,29,.12)}}

/* ==========================================================================\n   V0.3.3.4 — BI RED + LIGHT BLUE REFRESH\n   Red = actions / emphasis | Light blue = support surfaces | White = content\n   ========================================================================== */
:root{
  --bg:#eef7ff;
  --bg2:#dceeff;
  --panel:#ffffff;
  --panel2:#f7fbff;
  --line:#cfe3f7;
  --line-strong:#a9cdea;
  --text:#1f2d3d;
  --text-strong:#14263a;
  --muted:#62788e;
  --blue:#c1121f;
  --blue-strong:#991b1b;
  --blue-soft:#fff0f1;
  --cyan:#79bdf2;
  --green:#15965f;
  --green-soft:#eaf9f2;
  --amber:#d98b13;
  --amber-soft:#fff6df;
  --red:#c1121f;
  --red-soft:#fff0f1;
  --light-blue:#dceeff;
  --light-blue-strong:#c7e4ff;
  --light-blue-soft:#f2f8ff;
  --shadow:0 12px 34px rgba(42,102,153,.09);
  --shadow-soft:0 6px 20px rgba(42,102,153,.07);
}
html{background:var(--bg)}
body{background:linear-gradient(180deg,#f8fcff 0%,#edf7ff 100%);color:var(--text)}

/* Sidebar */
.sidebar{background:#fff;border-right-color:#cfe3f7;box-shadow:5px 0 28px rgba(39,101,153,.06)}
.brand-mark{background:linear-gradient(145deg,#dc2626,#991b1b);box-shadow:0 8px 22px rgba(193,18,31,.20)}
.brand strong{color:#18324b}.brand span{color:#6e8ca8}
.side-status{color:#577089;border-color:#cfe3f7;background:#f5fbff}
.nav-label{color:#8eabc5}
.nav-item{color:#506b84}
.nav-item:hover{background:#edf7ff;color:#991b1b}
.nav-item.active{color:#991b1b;background:linear-gradient(90deg,#fff0f1 0%,#edf7ff 100%);border-color:#e9c4ca;box-shadow:inset 3px 0 0 #c1121f}
.nav-icon{background:#eef7ff;border-color:#cfe3f7;color:#557fa5}
.nav-item.active .nav-icon{background:#fff;border-color:#e7b7bc;color:#991b1b}
.sidebar-user{border-color:#cfe3f7;background:#f7fbff}.sidebar-user-copy strong{color:#18324b}.sidebar-user-copy span{color:#7290aa}
.logout-button{color:#6f8da8}.logout-button:hover{color:#991b1b}

/* Main / hero */
.hero{border-color:#bcdcf5;background:linear-gradient(118deg,#ffffff 0%,#eaf5ff 55%,#d8ecff 100%);box-shadow:var(--shadow)}
.hero:before{background:radial-gradient(circle,rgba(193,18,31,.10),transparent 64%)}
.hero:after{border-color:rgba(73,151,215,.12)}
.eyebrow{color:#a51520}.eyebrow span{border-color:#d9b9bd;background:rgba(255,255,255,.91)}
.hero h1{color:#182b3f}.hero p{color:#5f7992}
.status-pill{border-color:#c9def0;background:rgba(255,255,255,.92);color:#5e7790}.status-pill strong{color:#263e55}
.status-pill.cyan{border-color:#b8d9f2;color:#376f9f;background:#eff8ff}
.version-chip{border-color:#b9d8f0;color:#47789f;background:#eff8ff}

/* Filters / buttons */
.filter-bar{border-color:#c8dff2;background:#f8fcff}
.field label{color:#6f8ba5}.field select,.field input{border-color:#c9dff1;background:#fff;color:#27435d}
.field select:focus,.field input:focus,.form-grid input:focus,.form-grid select:focus,.login-card input:focus{border-color:#c1121f;box-shadow:0 0 0 3px rgba(193,18,31,.10)}
.btn{border-color:#bfd9ee;background:#f3f9ff;color:#345f82}
.btn:hover{box-shadow:0 5px 14px rgba(38,101,164,.10)}
.btn-primary{background:linear-gradient(135deg,#dc2626,#991b1b);border-color:#991b1b;color:#fff;box-shadow:0 7px 18px rgba(185,28,28,.20)}
.btn-soft{background:#eff8ff;border-color:#bfdcf3;color:#366b96}
.btn-danger{background:#fff0f1;border-color:#e8b8bd;color:#a51b26}

/* KPI cards */
.grid-kpis{gap:13px}.kpi{border-color:#cfe3f7;background:#fff;box-shadow:var(--shadow-soft)}
.kpi:after{background:linear-gradient(90deg,transparent,var(--accent,#c1121f),transparent)}
.kpi-label{color:#728da6}.kpi-value{color:#172e43}.kpi-sub{color:#7690a8}
.kpi-icon{background:#edf7ff;border-color:#c7e0f5;color:var(--accent,#c1121f)}
.kpi.cyan{--accent:#5aa9e6}.kpi.purple{--accent:#c1121f}.kpi.pink{--accent:#e5383b}.kpi.amber{--accent:#6eb7e8}

/* Cards and content */
.card{border-color:#cfe3f7;background:#fff;box-shadow:var(--shadow-soft)}
.card-title i{background:linear-gradient(#dc2626,#991b1b)}
.card-title h2{color:#1d344a}.card-title p{color:#7892aa}
.mini-badge{border-color:#c9e0f2;color:#5d7e99;background:#f2f9ff}
.rank-row{border-color:#d7e8f6;background:#fbfdff}.rank-row:hover{border-color:#bad9f1;background:#f4faff}
.rank-pos{background:#e6f3ff;color:#4d8fc3}.rank-name strong{color:#1e3950}.rank-name span{color:#7892aa}
.progress-meta{color:#6e8ba4}.progress{background:#dceeff}.progress>span{background:linear-gradient(90deg,#ef6b73,#c1121f);box-shadow:0 0 10px rgba(193,18,31,.14)}
.rank-value strong{color:#223e56}.rank-value span{color:#7892aa}
.bar-item-head strong{color:#234158}.bar-item-head span{color:#6e8da6}.bar-track{background:#dceeff}.bar-track span{background:linear-gradient(90deg,#73baf0,#c1121f)}
.stats-row{border-bottom-color:#e0edf7}.stats-row strong{color:#28475f}.stats-row small{color:#7792aa}.stats-number{color:#1e3d55}
.empty-state{border-color:#bdd9ee;background:#f5fbff}.empty-icon{background:#e4f2ff;border-color:#bddcf2;color:#4c91c5}.empty-state h3{color:#203c53}.empty-state p{color:#728da5}

/* Warnings remain warm, but harmonized with the theme */
.audit-warning{border-color:#edcf94;background:#fff8e8}.audit-warning strong{color:#935b05}.audit-warning span{color:#826942}.audit-warning .btn{background:#fff;border-color:#e7c77f;color:#94600d}

/* Tables */
.table-wrap{border-color:#cfe3f7;background:#fff}.data-table th,.data-table td{border-bottom-color:#e2eef8}
.data-table th{color:#597c9a;background:#edf7ff}.data-table td{color:#38556e}.data-table tr:hover td{background:#f5fbff}.money{color:#1d405d!important}.muted{color:#7591aa!important}

/* Forms */
.form-grid label{color:#5e7a94}.form-grid input,.form-grid select{border-color:#c7dff2;background:#fff;color:#27445e}.form-grid .helptext{color:#7992aa}
.rule-separator{border-top-color:#d9e8f4}

/* Meta visual */
.meta-hero{border-color:#bfdcf3;background:linear-gradient(125deg,#fff 0%,#eff8ff 63%,#dceeff 100%)}
.meta-copy h2{color:#1e3a52}.meta-copy p{color:#6a879f}.meta-percent{color:#a51520}
.meta-ring{background:radial-gradient(circle at center,#fff 57%,transparent 58%),conic-gradient(#c1121f var(--meta,0%),#dceeff 0);color:#991b1b}

/* Footer / login */
.app-footer{color:#9dbbd3}.app-footer small{color:#8eacc4}
.login-shell{background:radial-gradient(circle at 80% 10%,rgba(193,18,31,.09),transparent 32%),radial-gradient(circle at 15% 85%,rgba(90,169,230,.20),transparent 34%),linear-gradient(145deg,#ffffff,#e8f5ff)}
.login-card{border-color:#bdd9ee;box-shadow:0 26px 70px rgba(42,102,153,.15)}.login-card h1{color:#173149}.login-card p{color:#728da5}.login-card label{color:#58758f}.login-card input{border-color:#c7def1;color:#28445d}

/* Responsive */
@media(max-width:760px){
  .mobile-topbar{background:rgba(248,252,255,.97);border-bottom-color:#cfe3f7;color:#28445d}
  .sidebar{box-shadow:20px 0 50px rgba(42,102,153,.14)}
  .menu-button{border-color:#bfd9ee;background:#eff8ff;color:#991b1b}
}

/* >>> SISTEMA_METAS_V0_4_3_TYPOGRAPHY >>> */
html {
  font-size: 16px;
}

body {
  font-size: 15px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.sidebar .brand-title,
.brand-title {
  font-size: 1.02rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.sidebar .brand-subtitle,
.brand-subtitle {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.nav-item,
.sidebar .nav-item {
  font-size: 0.98rem;
  font-weight: 700;
}

.nav-item .nav-icon {
  font-size: 0.96rem;
}

.hero h1,
.hero-title,
.page-title {
  font-size: clamp(1.95rem, 2vw, 2.35rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.hero p,
.hero .subtitle,
.page-subtitle {
  font-size: 0.97rem;
  line-height: 1.5;
  font-weight: 500;
}

.eyebrow span,
.status-pill,
.mini-badge {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

label,
.field label,
.filter-bar label,
.form-grid label {
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

input,
select,
textarea,
button {
  font-size: 0.96rem;
}

.btn,
button,
input[type="submit"] {
  font-weight: 800;
}

.grid-kpis .kpi,
.kpi {
  padding: 1rem 1rem 0.9rem;
}

.kpi-top span {
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.kpi strong,
.kpi .value {
  font-size: clamp(1.55rem, 1.8vw, 2rem);
  line-height: 1.08;
  font-weight: 900;
}

.kpi small {
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.35;
}

.card-header h2,
.card-title h2 {
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1.2;
}

.card-header p,
.card-title p {
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.45;
}

.stats-number {
  font-size: 1.05rem;
  font-weight: 900;
}

.stats-row strong {
  font-size: 0.9rem;
  font-weight: 800;
}

.stats-row small {
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.35;
}

.data-table,
table {
  font-size: 0.9rem;
}

.data-table thead th,
table thead th {
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.data-table tbody td,
table tbody td {
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.38;
}

.data-table tbody td strong,
table tbody td strong {
  font-size: 0.87rem;
  font-weight: 800;
}

.progress-meta,
.progress-meta span {
  font-size: 0.8rem;
  font-weight: 800;
}

.badge,
.badge.ok,
.badge.warn,
.badge.muted {
  font-size: 0.72rem;
  font-weight: 800;
}

.empty-state h3 {
  font-size: 1.05rem;
  font-weight: 900;
}

.empty-state p,
.muted {
  font-size: 0.83rem;
  font-weight: 500;
  line-height: 1.45;
}

@media (max-width: 1024px) {
  .hero h1,
  .hero-title,
  .page-title {
    font-size: 1.7rem;
  }

  .kpi strong,
  .kpi .value {
    font-size: 1.35rem;
  }

  .data-table tbody td,
  table tbody td {
    font-size: 0.83rem;
  }
}
/* <<< SISTEMA_METAS_V0_4_3_TYPOGRAPHY <<< */
