:root{--navy:#152642;--deep:#0e1c33;--blue:#3269e8;--blue2:#527ff1;--pale:#edf3fc;--bg:#f4f7fc;--line:#e2e9f4;--muted:#697993;--ink:#1b2a42;--radius:15px}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.brand{display:inline-flex;align-items:center;gap:10px;font-size:23px;font-weight:800;letter-spacing:-1.25px}.brand strong{color:#82b5ff}.brand-emblem{height:36px;width:36px;border-radius:11px;background:var(--blue);display:grid;place-items:center;font-size:23px;color:white;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:10px;padding:12px 18px;font-size:13px;font-weight:700;min-height:40px;white-space:nowrap}.btn.primary{background:var(--blue);color:white;box-shadow:0 8px 16px #255bc622}.btn.primary:hover{background:#245bd4}.btn.secondary{background:#eef3fc;color:#2554b2;border:1px solid #dae4f8}.btn.danger{background:#fff2f1;color:#b03c30}.btn.light{background:white;color:var(--navy)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.small{padding:8px 11px;min-height:32px}.wide{width:100%}.public-top{height:80px;display:flex;align-items:center;justify-content:space-between;max-width:1230px;padding:0 28px;margin:auto;position:relative;z-index:3}.public-top .brand{color:var(--navy)}.public-top .brand strong{color:var(--blue)}.public-top nav{display:flex;gap:38px;font-size:13px;color:#56657c;font-weight:600}.hero{background:var(--navy);min-height:605px;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:65px max(28px,calc((100vw - 1180px)/2));gap:55px;position:relative;overflow:hidden}.hero-glow{position:absolute;right:-220px;top:-320px;width:850px;height:850px;border-radius:50%;background:radial-gradient(circle,#3269e866,transparent 67%);pointer-events:none}.hero-copy,.hero-visual{position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:800;color:#a1c4ff}.eyebrow.dark{color:var(--blue)}.hero h1{font-size:clamp(42px,4.5vw,66px);font-weight:850;letter-spacing:-3.5px;line-height:1.12;color:white;margin:25px 0}.hero h1 em{font-style:normal;color:#79afff}.hero p{color:#cad8ec;font-size:16px;line-height:1.78;max-width:520px}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:32px}.ghost-light{color:white;border:1px solid #6a829e;background:#ffffff0a}.hero-proof{margin-top:43px;color:#b4c8e5;font-size:10px;line-height:2}.hero-visual>small{display:block;color:#bbcae4;text-align:center;margin-top:16px;font-size:10px}.mock-window{background:#f7faff;border:8px solid #ffffff20;border-radius:19px;box-shadow:0 30px 90px #050e2066;overflow:hidden;transform:rotate(-1deg)}.mock-top{background:#eff3fc;height:37px;display:flex;align-items:center;gap:5px;padding:12px}.mock-top i{width:8px;height:8px;border-radius:50%;background:#c4d1e6}.mock-top span{font-size:10px;color:#7a8ca7;margin-left:10px}.mock-body{display:flex;min-height:350px}.mock-rail{background:#172d50;width:50px;display:flex;align-items:center;flex-direction:column;gap:25px;padding:20px 0;color:#a8b8d5}.mock-rail b{color:#70a3ff}.mock-data{padding:25px;flex:1;min-width:0}.mock-caption{font-size:10px;color:#7888a4;display:flex;justify-content:space-between}.mock-data h3{font-size:18px;letter-spacing:-.6px;margin:13px 0 20px;color:var(--navy)}.mock-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.mock-cards div{background:white;border:1px solid #e5ebf5;border-radius:9px;padding:13px;display:grid;gap:8px}.mock-cards small{font-size:9px;color:#7587a1}.mock-cards strong{font-size:19px;color:#182d4c}.mock-cards span{font-size:8px;color:#8191a7}.mock-cards .good{color:#15947a}.mock-chart{margin-top:12px;background:#fff;border:1px solid #e5ebf5;border-radius:9px;padding:18px}.bars{height:100px;display:flex;gap:14px;align-items:end;border-bottom:1px solid #e2e9f4}.bars i{flex:1;border-radius:4px 4px 0 0;background:linear-gradient(0deg,#3269e8,#9cc5ff)}.mock-ai{margin-top:16px;background:#eef4ff;border-radius:10px;padding:10px;display:flex;align-items:center;gap:10px;color:#3269e8}.mock-ai span:nth-child(2){flex:1;display:grid;gap:3px}.mock-ai b{font-size:11px}.mock-ai small{font-size:9px;color:#6d7d96}.sections{max-width:1180px;margin:auto;padding:90px 28px}.section-heading{text-align:center;max-width:620px;margin:0 auto 40px}.section-heading h2{font-size:36px;letter-spacing:-1.5px;color:var(--navy);margin:13px 0}.section-heading p{color:var(--muted);line-height:1.7}.features,.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.features article,.solution-grid article{background:white;border:1px solid var(--line);border-radius:17px;padding:32px}.feature-icon,.module-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;color:var(--blue);background:#edf3ff;font-size:25px}.features h3,.solution-grid h3{margin-top:24px;font-size:19px;letter-spacing:-.6px}.features p,.solution-grid p{color:var(--muted);font-size:14px;line-height:1.7}.solutions{padding-top:20px}.solution-grid article>span:last-child{display:block;margin-top:30px;color:var(--blue);font-size:12px;font-weight:750}.cta-section{margin:15px auto 70px;max-width:1180px;background:linear-gradient(120deg,#142642,#254b88);color:white;display:flex;justify-content:space-between;align-items:center;padding:60px;border-radius:20px;gap:20px}.cta-section h2{font-size:40px;letter-spacing:-1.5px;margin:12px 0}.cta-section p{color:#c6d5ec;max-width:440px;line-height:1.7}footer{border-top:1px solid #dee7f2;padding:25px max(30px,calc((100vw - 1180px)/2));color:var(--muted);font-size:12px;display:flex;justify-content:space-between}
/* Login */.auth-stage{min-height:100vh;display:grid;grid-template-columns:44% 56%;background:white}.auth-aside{background:linear-gradient(155deg,#152642,#214c93);color:white;padding:65px min(70px,6vw);display:flex;flex-direction:column;justify-content:center;gap:30px}.auth-aside h1{font-size:clamp(38px,4vw,64px);letter-spacing:-2.7px;line-height:1.14}.auth-aside p{color:#c3d4ef;line-height:1.7;font-size:17px}.auth-aside>div{font-size:12px;color:#a4c7ff}.auth-main{display:grid;place-items:center;position:relative;padding:30px}.auth-close{position:absolute;right:25px;top:25px;background:#f3f6fb;border:0;border-radius:9px;font-size:26px;width:38px;height:38px}.auth-card{width:min(420px,100%);display:flex;flex-direction:column;gap:14px}.auth-card h2{font-size:30px;letter-spacing:-1.3px;margin:0}.auth-card p{font-size:14px;color:var(--muted);margin:0 0 14px}.auth-card label{font-size:12px;font-weight:700;display:grid;gap:7px}.auth-card input{border:1px solid #d8e2f0;padding:13px 14px;border-radius:9px;outline:0;background:#fcfdff}.auth-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3269e81a}.link-button{border:0;background:none;color:var(--blue);font-size:12px;text-align:center;padding:5px}.form-message{font-size:12px;color:#af433c;min-height:16px}
/* app */.shell{display:flex;min-height:100vh}.app-sidebar{width:248px;background:linear-gradient(180deg,#152642,#10213b);color:white;flex:none;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:30}.side-brand{height:78px;padding:21px 18px;display:flex;align-items:center;gap:9px;font-weight:800;font-size:19px;letter-spacing:-.9px;border-bottom:1px solid #ffffff15}.side-brand strong{color:#78b1ff}.side-brand .brand-emblem{width:32px;height:32px;font-size:20px}.sidebar-workspace{margin:20px 12px 12px;border:1px solid #ffffff20;background:#ffffff0c;border-radius:11px;padding:12px;font-size:10px;color:#9bb5d5;display:grid;gap:5px}.sidebar-workspace strong{font-size:13px;color:white;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-nav{display:grid;align-content:start;gap:5px;padding:8px 10px;overflow:auto;flex:1}.side-nav button{border:0;text-align:left;background:transparent;color:#b9c9e1;min-height:43px;border-radius:9px;padding:10px 12px;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:620}.side-nav button:hover{background:#ffffff10;color:white}.side-nav button.active{background:#3269e8;color:white;box-shadow:0 7px 17px #071a4050}.side-nav .side-separator{color:#829bbd;font-size:9px;font-weight:800;letter-spacing:1.4px;margin:20px 10px 8px}.side-nav .nav-ico{font-size:18px;width:19px;text-align:center}.sidebar-footer{padding:17px 18px;border-top:1px solid #ffffff16;color:#b5c8e2;font-size:11px;display:flex;align-items:center;gap:7px}.sidebar-footer button{margin-left:auto;background:none;border:0;color:#ccdafa;font-weight:700}.online-dot{width:8px;height:8px;background:#4bdbac;border-radius:100%}.app-main{min-width:0;flex:1;display:flex;flex-direction:column}.app-header{min-height:76px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:10px 27px;gap:15px;position:sticky;top:0;z-index:20}.breadcrumb{font-size:13px;font-weight:700;color:var(--navy)}.header-right{display:flex;align-items:center;gap:14px}.header-right select{max-width:240px;border:1px solid var(--line);border-radius:8px;background:#f8faff;padding:10px 12px;font-weight:650;color:var(--ink)}.avatar{background:#eaf1ff;border-radius:50%;display:grid;place-items:center;width:36px;height:36px;color:var(--blue);font-size:13px;font-weight:800}.route-content{padding:29px;flex:1}.page-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px;flex-wrap:wrap}.page-title h1{margin:0;color:var(--navy);font-size:27px;letter-spacing:-.8px}.page-title p{font-size:13px;margin:7px 0 0;color:var(--muted)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:25px}.stat{background:white;border:1px solid var(--line);border-radius:14px;padding:20px;min-width:0}.stat .stat-label{color:var(--muted);font-size:11px}.stat strong{display:block;font-size:27px;color:var(--navy);margin-top:9px;letter-spacing:-1px}.stat .stat-note{display:block;font-size:11px;color:#8192a9;margin-top:9px}.stat .stat-icon{color:var(--blue);float:right;font-size:20px}.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:20px}.panel h2{margin:0 0 15px;font-size:17px;letter-spacing:-.3px}.panel p{font-size:13px;color:var(--muted);line-height:1.6}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.panel-head h2{margin:0}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:18px}.module-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.module-card{border:1px solid #e0e8f4;background:white;padding:19px;border-radius:13px;text-align:left;display:grid;gap:10px;transition:transform .15s}.module-card:hover{transform:translateY(-2px);border-color:#a9c3f5}.module-card h3{margin:0;font-size:15px}.module-card p{font-size:12px;color:var(--muted);line-height:1.5;margin:0}.module-card .module-badge{font-size:22px;color:var(--blue)}.module-card>span:last-child{font-size:12px;color:var(--blue);font-weight:700}.ai-card{background:linear-gradient(145deg,#eff4ff,#f7f9ff);border:1px solid #d8e4fc;border-radius:14px;padding:22px}.ai-card h2{margin:0;font-size:18px}.ai-card p{font-size:13px;color:#647b9a;line-height:1.7}.ai-card .ai-star{font-size:24px;color:var(--blue)}.ai-conversation{min-height:150px;max-height:350px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:12px 0}.ai-message{padding:13px 14px;border-radius:12px;max-width:96%;font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.ai-message.user{align-self:flex-end;background:var(--blue);color:white}.ai-message.assistant{align-self:flex-start;background:white;color:var(--ink);border:1px solid #dee7f8}.ai-input{display:flex;gap:8px}.ai-input input{flex:1;border:1px solid #d7e1f2;background:white;border-radius:10px;padding:13px;min-width:0}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px;min-width:660px}.data-table th{background:#f5f8fd;color:#6a7b94;font-size:10px;text-transform:uppercase;letter-spacing:.4px;text-align:left;padding:13px}.data-table td{padding:14px 13px;border-bottom:1px solid #edf1f7}.data-table tr:hover td{background:#fafdff}.pill{display:inline-flex;border-radius:30px;padding:5px 9px;background:#e9f2ff;color:#2254ba;font-size:10px;font-weight:800}.pill.green{background:#e5f8f0;color:#168364}.pill.red{background:#fff0ef;color:#b04d43}.pill.gray{background:#f1f3f7;color:#66778d}.pill.yellow{background:#fff7e3;color:#9a740c}.inline-actions{display:flex;gap:5px;flex-wrap:wrap}.icon-action{border:1px solid #dbe4f2;background:white;color:var(--blue);border-radius:7px;font-size:11px;padding:7px 10px;font-weight:750}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters input,.filters select{border:1px solid #dce5f3;background:white;padding:9px 12px;border-radius:9px;color:var(--ink);font-size:12px}.filters input{min-width:210px}.tabs{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 21px}.tabs button{border:1px solid #dce5f2;background:#fff;border-radius:8px;color:#59708d;padding:10px 13px;font-size:12px;font-weight:700}.tabs button.active{background:#3269e8;border-color:#3269e8;color:white}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fields.one{grid-template-columns:1fr}.fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:grid;gap:6px;font-size:12px;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid #d9e3f1;border-radius:9px;padding:11px 12px;font-size:13px;color:var(--ink);background:white;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue)}.field textarea{min-height:90px;resize:vertical}.checkrow{display:flex;align-items:center;gap:8px;font-size:13px}.checkrow input{accent-color:var(--blue);width:16px;height:16px}.card-message{background:#eff5ff;border-radius:10px;padding:13px;color:#46648f;font-size:12px;line-height:1.7}.empty-state{padding:46px 14px;text-align:center;color:var(--muted);font-size:13px}.empty-state strong{display:block;font-size:17px;color:var(--navy);margin-bottom:6px}.module-frame{height:calc(100vh - 165px);min-height:600px;border:1px solid #dce4f2;background:white;border-radius:14px;overflow:hidden;width:100%}.frame-full{padding:15px}.frame-full .page-title{margin-bottom:12px}.toast{position:fixed;z-index:100;bottom:25px;right:25px;background:#152642;color:#fff;border-radius:11px;padding:14px 20px;box-shadow:0 10px 40px #14264238;max-width:400px;font-size:12px;opacity:0;transform:translateY(20px);pointer-events:none;transition:.2s}.toast.visible{opacity:1;transform:translateY(0)}.toast[data-type=error]{background:#a52d32}.toast[data-type=success]{background:#145e4d}.mobile-nav-btn,.sidebar-x{display:none}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.module-locked{padding:40px;background:white;border:1px solid var(--line);border-radius:13px;text-align:center;color:var(--muted)}.detail-title{font-size:22px;margin:0 0 12px}.form-footer{margin-top:20px;display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap}.permission-mods{display:flex;gap:15px;flex-wrap:wrap}
@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-layout{grid-template-columns:1fr}.module-cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.hero{grid-template-columns:1fr;padding:70px 28px}.hero-visual{max-width:640px}.app-sidebar{width:215px}.route-content{padding:20px}.module-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.public-top{height:72px;padding:0 18px}.public-top nav{display:none}.public-top .brand{font-size:20px}.public-top .btn{padding:9px;font-size:11px}.hero{padding:55px 20px;gap:40px}.hero h1{font-size:43px;letter-spacing:-2px}.mock-data{padding:15px}.mock-cards strong{font-size:15px}.sections{padding:60px 20px}.section-heading h2{font-size:30px}.features,.solution-grid{grid-template-columns:1fr}.cta-section{margin:0 16px 30px;padding:35px 24px;flex-direction:column;align-items:flex-start}.cta-section h2{font-size:30px}footer{padding:20px;display:grid;gap:8px}.auth-stage{grid-template-columns:1fr}.auth-aside{padding:25px;gap:8px}.auth-aside h1,.auth-aside p,.auth-aside>div{display:none}.auth-aside .brand{font-size:19px}.auth-main{padding:70px 24px;place-items:start center}.app-sidebar{width:255px;position:fixed;left:-260px;height:100vh;transition:left .2s;box-shadow:8px 0 30px #15264230}.shell.menu-open .app-sidebar{left:0}.mobile-nav-btn,.sidebar-x{display:block;border:0;background:transparent;font-size:23px;color:var(--navy)}.sidebar-x{color:white;margin-left:auto}.app-header{min-height:65px;padding:9px 13px}.header-right select{max-width:155px;padding:8px}.avatar{width:31px;height:31px}.breadcrumb{font-size:11px}.route-content{padding:15px}.page-title h1{font-size:23px}.stat-grid{gap:10px}.stat{padding:14px}.stat strong{font-size:21px}.panel{padding:15px}.module-cards,.two-column,.fields,.fields.three{grid-template-columns:1fr}.module-frame{height:calc(100dvh - 160px);min-height:520px}.frame-full{padding:8px}.data-table{min-width:580px}}

/* v0.1.11 — somente uma barra de rolagem por módulo.
   A central e seu cabeçalho não rolam em paralelo com o iframe: apenas o conteúdo
   interno do módulo rola. Janelas modais e abas dos sistemas conservam o comportamento. */
body.module-scroll-lock{overflow:hidden;height:100dvh}
#shell.module-scroll-only{height:100dvh;min-height:0;overflow:hidden}
#shell.module-scroll-only .app-sidebar{height:100dvh;min-height:0}
#shell.module-scroll-only .app-main{height:100%;min-height:0;overflow:hidden}
#shell.module-scroll-only .app-header{flex:0 0 auto;position:relative;top:auto}
#shell.module-scroll-only .route-content{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}
#shell.module-scroll-only .frame-full{flex:1 1 auto;min-height:0;height:100%;width:100%;display:flex;flex-direction:column}
#shell.module-scroll-only .frame-full .page-title{flex:0 0 auto}
#shell.module-scroll-only .module-frame{display:block;flex:1 1 auto;height:0;min-height:0;width:100%;overflow:auto}
@media(max-width:700px){
 body.module-scroll-lock,#shell.module-scroll-only{height:100dvh}
 #shell.module-scroll-only .app-sidebar{height:100dvh}
 #shell.module-scroll-only .route-content{min-height:0}
 #shell.module-scroll-only .module-frame{height:0;min-height:0}
}

/* v0.1.40: durante a restauração, somente o fundo da página aparece.
   Evita flashes da landing page ou telas artificiais de carregamento. */
body.cp-booting{background:var(--bg)}
body.cp-booting #site,body.cp-booting #auth,body.cp-booting #shell{display:none!important}
.cp-company-logo{display:block;max-height:85px;max-width:100%;object-fit:contain;margin:0 auto 12px;border-radius:8px}
/* O logo da empresa aparece no cartão da empresa; não substitui a marca Controle Pleno. */

/* v0.1.27 — conta centralizada no painel Minha empresa */
.cp-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.cp-account-card{display:flex;flex-direction:column;min-width:0;margin-bottom:0;gap:14px}
.cp-account-card h2{margin-bottom:0}
.cp-account-form{display:flex;flex-direction:column;flex:1;gap:13px}
.cp-account-card .card-message{margin-top:0;line-height:1.6}
.cp-account-actions{margin-top:auto;padding-top:4px}
.cp-account-card .field input[readonly]{background:#f5f8ff;color:#526a89;cursor:default}
@media(max-width:1150px){.cp-account-grid{grid-template-columns:1fr}}

/* v0.1.39 — logomarca da empresa diretamente sobre o fundo da sidebar,
   sem cartão, contorno ou preenchimento. A altura foi ampliada sem
   interferir na área rolável da navegação. */
.app-sidebar .sidebar-workspace{
  margin: 15px 12px 7px;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  min-height: 122px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.app-sidebar .sidebar-workspace.hidden{display:none!important}
.app-sidebar .sidebar-workspace .cp-company-logo{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:120px;
  object-fit:contain;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.app-sidebar .side-nav{padding-top:3px;padding-bottom:5px}
.app-sidebar .side-nav .side-separator{margin-top:14px;margin-bottom:5px}
@media(max-height:760px){
  .app-sidebar .sidebar-workspace{margin-top:8px;margin-bottom:3px;min-height:102px}
  .app-sidebar .sidebar-workspace .cp-company-logo{max-height:100px}
  .app-sidebar .side-nav .side-separator{margin-top:9px;margin-bottom:3px}
  .app-sidebar .side-nav button{min-height:39px;padding-top:8px;padding-bottom:8px}
}

/* v0.1.42: franquias de leitura de notas fiscais por empresa (Painel Master). */
.cp-invoice-admin-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0 20px}
.cp-invoice-admin-stats .stat strong{font-variant-numeric:tabular-nums}
@media(max-width:800px){.cp-invoice-admin-stats{grid-template-columns:1fr}}

/* Controle Pleno — refinamento visual v0.1.52: apenas apresentação */
:root{--cp-premium-shadow:0 8px 28px rgba(21,48,89,.075);--cp-premium-border:#e4eaf4}
button,input,select,textarea{transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #83b4ff!important;outline-offset:2px}
button:disabled{opacity:.55;cursor:not-allowed}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:768px){table{font-variant-numeric:tabular-nums}input,select,textarea{max-width:100%;box-sizing:border-box}}

/* Refinamento de áreas de conteúdo e tabelas */
:where(.card,.panel,.stat-card,.summary-card,.metric-card){box-shadow:var(--cp-premium-shadow);border-color:var(--cp-premium-border)}
:where(table){border-collapse:separate;border-spacing:0;width:100%}
:where(th){font-weight:700;letter-spacing:.015em}
:where(td,th){vertical-align:middle}
:where(.tabs,.subtabs,.tab-bar){scrollbar-width:thin}

/* v0.1.54 — Premium Master: refinamento de apresentação e indicadores reais */
.cp-master-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:29px 32px;margin:4px 0 22px;border-radius:20px;color:#fff;background:linear-gradient(115deg,#132b4d 0%,#204b83 75%,#3166a5 100%);box-shadow:0 16px 36px #18365a1c}
.cp-master-intro h2{color:white;font-size:clamp(22px,2.7vw,32px);letter-spacing:-.7px;margin:8px 0}.cp-master-intro p{margin:0;color:#cadcf4;font-size:13px;line-height:1.6}.cp-master-kicker{font-size:10px;font-weight:800;letter-spacing:.13em;color:#9dc4ff}.cp-master-intro-icon{color:#c1ddff;opacity:.85}
.cp-master-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.cp-master-stat-grid .stat{position:relative;overflow:hidden;border:1px solid #e4eaf4;border-radius:17px;background:#fff;box-shadow:0 8px 26px #1532550d;padding:21px}.cp-master-stat-grid .stat:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#3269e8,#80adf3)}.cp-master-stat-grid .stat strong{font-variant-numeric:tabular-nums;letter-spacing:-.6px}.cp-master-insight{display:flex;gap:12px;align-items:flex-start;padding:14px 17px;border:1px solid #d7e5f6;background:#eef5fe;border-radius:12px;color:#284b77;margin-bottom:18px}.cp-master-insight p{margin:0;font-size:12px;line-height:1.65}.cp-master-insight span{flex:none}.cp-master-distribution,.cp-master-bottom{align-items:start}.cp-master-distribution>.panel,.cp-master-bottom>.panel{min-width:0;border:1px solid #e4eaf4;border-radius:18px;box-shadow:0 10px 30px #1532550a}.cp-master-bars{padding:5px 0 9px}.cp-master-barline{margin:15px 0}.cp-master-barlabel{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:7px;color:#526780}.cp-master-barlabel strong{color:#1c3960;font-variant-numeric:tabular-nums}.cp-master-track{height:9px;background:#eaf0f9;border-radius:99px;overflow:hidden}.cp-master-track>span{height:100%;display:block;background:linear-gradient(90deg,#3269e8,#73a4ec);border-radius:inherit}.cp-master-caption{font-size:11px;color:#7185a0}.cp-master-event{display:flex;gap:11px;align-items:start;border-bottom:1px solid #edf1f7;padding:12px 2px}.cp-master-event-dot{width:9px;height:9px;flex:none;background:#6d9fe5;border-radius:50%;margin-top:4px;box-shadow:0 0 0 4px #edf4ff}.cp-master-event b{font-size:12px;font-weight:700;color:#29415e;overflow-wrap:anywhere}.cp-master-event small{display:block;margin-top:5px;font-size:11px;color:#8190a6}.cp-master-bottom .table-wrap{overflow:auto}.app-main .panel,.app-main .stat,.app-main .data-table{transition:box-shadow .18s ease}.app-main .panel:hover,.app-main .stat:hover{box-shadow:0 12px 35px #203d6a14}.app-main .data-table th{background:#f3f7fd;color:#49607e;text-transform:uppercase;font-size:10px;letter-spacing:.045em}.app-main .data-table tbody tr:hover{background:#f7faff}.app-main .tabs{gap:7px;flex-wrap:wrap}.app-main .tabs button{transition:all .18s ease}.app-main :is(input,select,textarea){border-radius:10px}.app-main :is(input,select,textarea):focus{border-color:#5591e5;box-shadow:0 0 0 3px #6298df20}
@media(max-width:950px){.cp-master-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.cp-master-stat-grid{grid-template-columns:1fr}.cp-master-intro{padding:24px}.cp-master-intro-icon{display:none}.cp-master-distribution,.cp-master-bottom{display:block}.cp-master-distribution>.panel,.cp-master-bottom>.panel{margin-bottom:15px}}

/* v0.1.56 — visual executivo e gráficos do painel Master; preserva a navegação existente */
.cp-master-charts{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:18px;margin:0 0 19px}
.cp-master-chart-card{min-width:0;border:1px solid #e2eaf7!important;border-radius:22px!important;background:linear-gradient(180deg,#fff,#fcfdff);box-shadow:0 13px 36px #183e7410!important;padding:23px!important}
.cp-master-chart-card .panel-head{border:0;margin:0 0 15px}.cp-master-chart-card .panel-head h2{font-size:17px;letter-spacing:-.35px}
.cp-master-months{height:240px;display:flex;align-items:flex-end;gap:9px;padding:18px 4px 5px;background:repeating-linear-gradient(to top,transparent 0,transparent 47px,#e9f0fa 48px)}
.cp-master-month{position:relative;min-width:0;flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.cp-master-month-bar{min-height:3px;width:min(35px,90%);background:linear-gradient(180deg,#4088ff,#2865da);border-radius:7px 7px 2px 2px;box-shadow:0 4px 10px #3269e81b;transition:filter .18s}.cp-master-month-bar:hover{filter:brightness(1.15)}.cp-master-month small{font-size:10px;color:#7587a1}.cp-master-month b{font-size:10px;color:#2e5487}
.cp-master-ring-flex{display:flex;align-items:center;justify-content:center;gap:24px;min-height:240px}.cp-master-ring{height:174px;width:174px;flex:none;border-radius:50%;display:grid;place-items:center;box-shadow:0 9px 24px #2657a01a}.cp-master-ring>div{width:68%;height:68%;border-radius:50%;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 1px #e9eff9}.cp-master-ring strong{font-size:29px;color:#122a4c}.cp-master-ring small{color:#7890ac;font-size:11px}.cp-master-legend{flex:1;min-width:140px}.cp-master-legend-row{display:flex;align-items:center;gap:8px;margin:13px 0;font-size:12px;color:#5e718e}.cp-master-legend-row i{width:9px;height:9px;flex:none;border-radius:50%}.cp-master-legend-row span{flex:1}.cp-master-legend-row b{color:#16365b;font-variant-numeric:tabular-nums}
.cp-master-stat-grid .stat{border-radius:19px;background:linear-gradient(180deg,#fff,#fbfdff);min-height:151px}.cp-master-stat-grid .stat strong{font-size:clamp(22px,2vw,29px);font-weight:800}.cp-master-stat-grid .stat-icon{background:#eff5ff;border-radius:12px;color:#3269e8}.cp-master-stat-grid .stat:before{height:0}.cp-master-stat-grid .stat:hover{transform:translateY(-2px)}
@media(max-width:1020px){.cp-master-charts{grid-template-columns:1fr}}@media(max-width:560px){.cp-master-ring-flex{flex-direction:column}.cp-master-months{gap:3px}.cp-master-month small{font-size:8px}.cp-master-chart-card{padding:14px!important}}

/* v0.1.57 — crescimento executivo Master */
.cp-master-area{width:100%;height:280px;margin-top:13px;overflow:hidden}.cp-master-area svg{width:100%;height:100%;display:block}
.cp-master-chart-card{min-width:0!important;border-radius:19px!important;box-shadow:0 10px 29px #1934550b!important}
@media(max-width:700px){.cp-master-area{height:225px}}

/* v0.1.58 — modo imersivo dos módulos com navegação recolhida e abertura pelo símbolo P */
.shell.module-focus .app-sidebar{position:fixed;left:-272px;top:0;height:100dvh;width:248px;transition:left .22s ease,box-shadow .22s ease;box-shadow:14px 0 42px rgba(10,24,52,.22)}
.shell.module-focus.menu-open .app-sidebar{left:0}
.shell.module-focus .app-header{min-height:64px;padding:10px 18px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid #e4ebf6}
.shell.module-focus .route-content{padding:0;display:flex;flex-direction:column;min-height:calc(100dvh - 64px)}
.shell.module-focus .frame-full,.shell.module-focus .frame-immersive{padding:0!important;display:flex;flex:1 1 auto;min-height:0}
.shell.module-focus .module-frame,.shell.module-focus .module-frame-immersive{height:calc(100dvh - 64px)!important;min-height:0!important;border:0!important;border-radius:0!important;display:block;flex:1 1 auto;background:#f5f8fd}
.shell.module-focus .header-right select{display:none}
.shell.module-focus .breadcrumb{font-size:13px;font-weight:800;color:#163158;letter-spacing:.1px}
.shell.module-focus .mobile-nav-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d9e4f4;background:#fff;color:#1b3f76;border-radius:12px;width:42px;height:42px;box-shadow:0 8px 22px rgba(22,49,88,.08)}
.shell.module-focus .mobile-nav-btn.brand-toggle{font-size:0;padding:0}
.shell.module-focus .mobile-nav-btn .brand-toggle-mark{display:grid;place-items:center;width:100%;height:100%}
.shell.module-focus .mobile-nav-btn .brand-toggle-mark img{width:22px;height:22px;display:block}
.shell.module-focus .header-right{gap:10px}
.shell.module-focus .avatar{width:38px;height:38px;background:#edf4ff;border:1px solid #d9e6fb}
.shell.module-focus .page-title{display:none}
@media(max-width:700px){
  .shell.module-focus .app-header{padding:8px 12px}
  .shell.module-focus .route-content{min-height:calc(100dvh - 60px)}
  .shell.module-focus .module-frame,.shell.module-focus .module-frame-immersive{height:calc(100dvh - 60px)!important}
  .shell.module-focus .app-sidebar{width:255px;left:-260px}
}

/* v0.1.60 — Visão Geral Master no layout de referência aprovado */
.cp-master-reference{color:#0d2852;max-width:none;width:100%;margin:0 auto;padding:0 0 22px}
.cp-ref-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:19px}
.cp-ref-heading h1{font-size:32px;letter-spacing:-1.2px;font-weight:850;color:#09224f;margin:0}
.cp-ref-heading p{color:#7084a4;margin:5px 0 0;font-size:13px}
.cp-ref-date{display:inline-flex;align-items:center;justify-content:center;min-width:165px;border-radius:10px;background:#fff;color:#40638e;font-size:12px;font-weight:750;border:1px solid #e0e9f7;padding:13px 16px}
.cp-ref-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-bottom:16px}
.cp-ref-kpi{position:relative;border:1px solid #e3ebf7;border-radius:14px;background:#fff;min-height:143px;padding:16px;overflow:hidden;box-shadow:0 8px 27px rgba(13,49,102,.055)}
.cp-ref-kpi-label{display:flex;align-items:center;gap:8px;min-width:0}.cp-ref-kpi-label>span{display:grid;place-items:center;width:32px;height:32px;flex:none;background:#edf4ff;border-radius:10px;color:#2673ec}.cp-ref-kpi-label b{color:#405b80;font-size:11px;font-weight:750;line-height:1.3}
.cp-ref-kpi>strong{display:block;color:#0b2859;font-size:29px;font-weight:850;letter-spacing:-.9px;margin-top:11px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-ref-kpi>small{display:block;font-size:10px;max-width:63%;line-height:1.45;color:#7c92ad;margin-top:8px}
.cp-ref-kpi>svg{position:absolute;right:11px;bottom:19px;width:36%;height:44px}
.cp-ref-kpi-dash{width:35%;height:3px;border-radius:10px;position:absolute;bottom:24px;right:15px;background:#dce9fa}
.cp-ref-main-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.1fr) minmax(0,.95fr);gap:14px;margin-bottom:14px}
.cp-ref-bottom-row{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);gap:14px}
.cp-ref-panel{background:#fff;border:1px solid #e2eaf6;border-radius:14px;min-width:0;overflow:hidden;padding:19px;box-shadow:0 9px 26px rgba(14,52,106,.045)}
.cp-ref-panel-head{display:flex;align-items:flex-start;gap:9px;margin-bottom:16px}
.cp-ref-panel-icon{flex:none;color:#2675ee;background:#ecf4ff;display:grid;place-items:center;width:29px;height:29px;border-radius:8px}
.cp-ref-panel-head>div{flex:1;min-width:0}.cp-ref-panel-head h2{margin:0!important;font-size:15px;letter-spacing:-.2px;color:#152f59;font-weight:830}.cp-ref-panel-head p{font-size:10px;line-height:1.4;color:#7f91aa;margin:5px 0 0}
.cp-ref-panel-head button{margin-left:auto;white-space:nowrap}
.cp-ref-chart-area{height:274px}.cp-ref-chart-area svg{width:100%;height:100%;overflow:visible}
.cp-ref-stacked-chart{height:274px;display:flex;flex-direction:column;gap:12px}.cp-ref-stacked-bars{height:218px;display:grid;grid-template-columns:repeat(12,1fr);align-items:end;gap:8px;border-bottom:1px solid #e1eaf5;background:repeating-linear-gradient(to top,#e7eef9 0 1px,transparent 1px 47px);padding:0 2px}.cp-ref-stacked-month{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:5px;min-width:0}.cp-ref-stacked-stack{height:95%;width:100%;display:flex;flex-direction:column-reverse;justify-content:flex-start}.cp-ref-stacked-stack span{display:block;min-height:0;border-top:1px solid rgba(255,255,255,.6)}.cp-ref-stacked-month small{font-size:9px;color:#8091ac}.cp-ref-inline-legend{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.cp-ref-inline-legend span{display:inline-flex;align-items:center;gap:4px;color:#7287a6;font-size:9px}.cp-ref-inline-legend i{width:8px;height:8px;border-radius:50%}
.cp-ref-donut-wrap{display:flex;justify-content:center;align-items:center;gap:14px;min-height:243px}.cp-ref-donut{width:155px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;flex:none}.cp-ref-donut>div{width:65%;height:65%;border-radius:50%;background:white;display:flex;align-items:center;justify-content:center;flex-direction:column}.cp-ref-donut b{font-size:27px;color:#0d2b57}.cp-ref-donut small{font-size:10px;color:#7e92ac;text-align:center}.cp-ref-donut-labels{display:grid;gap:11px;min-width:0;flex:1}.cp-ref-donut-labels>div{display:flex;align-items:center;gap:6px;font-size:10px;color:#547090}.cp-ref-donut-labels i{width:9px;height:9px;border-radius:50%;flex:none}.cp-ref-donut-labels span{flex:1}.cp-ref-donut-labels b{white-space:nowrap;font-size:10px;color:#4a6489}.cp-ref-donut-labels small{font-size:9px;color:#8295ae}.cp-ref-footnote{display:block;font-size:10px;color:#8094ae;text-align:center;margin-top:4px}
.cp-ref-companies{min-width:590px}.cp-ref-companies thead th{font-size:9px;color:#547199;background:#f3f7fe}.cp-ref-companies td{font-size:11px;padding:12px 9px}.cp-ref-companies td strong{font-size:11px}
.cp-ref-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.cp-ref-tile{height:113px;position:relative;min-width:0;overflow:hidden;border:1px solid #e6edf8;background:#fff;border-radius:11px;padding:11px;box-shadow:0 4px 12px rgba(16,48,102,.025)}.cp-ref-tile-title{display:flex;gap:8px;align-items:center}.cp-ref-tile-title svg{color:#2878ed;flex:none}.cp-ref-tile-title span{color:#526e92;font-size:11px;font-weight:740}.cp-ref-tile strong{display:block;font-size:24px;letter-spacing:-.7px;color:#103269;margin-top:10px}.cp-ref-tile small{display:block;font-size:9px;color:#798dab;line-height:1.25;max-width:65%;margin-top:5px}.cp-ref-tile>svg{position:absolute;bottom:12px;right:8px;width:33%;height:38px}.cp-ref-disclaimer{font-size:11px;color:#7789a1;margin:18px 0 0;line-height:1.5}
@media(max-width:1450px){.cp-ref-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.cp-ref-main-row{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.cp-ref-main-row>.cp-ref-panel:last-child{grid-column:1/-1}.cp-ref-donut-wrap{max-width:500px;margin:auto}}
@media(max-width:1040px){.cp-ref-main-row,.cp-ref-bottom-row{grid-template-columns:1fr}.cp-ref-main-row>.cp-ref-panel:last-child{grid-column:auto}}
@media(max-width:700px){.cp-ref-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-ref-kpi{padding:13px;min-height:132px}.cp-ref-kpi>strong{font-size:23px}.cp-ref-panel{padding:13px}.cp-ref-heading h1{font-size:26px}.cp-ref-date{min-width:0;font-size:10px;padding:10px}}
@media(max-width:430px){.cp-ref-kpis{grid-template-columns:1fr 1fr}.cp-ref-kpi-label b{font-size:10px}.cp-ref-kpi>strong{font-size:20px}.cp-ref-tiles{grid-template-columns:1fr 1fr}}


/* v0.1.63 — master: gráficos interativos via hover/foco, mantendo a base fixa */
.cp-master-tooltip{position:fixed;left:0;top:0;display:block;max-width:270px;min-width:130px;z-index:10050;opacity:0;visibility:hidden;pointer-events:none;white-space:normal;background:#102748;color:#fff;font:600 12px/1.5 Inter,system-ui,-apple-system,Segoe UI,sans-serif;border:1px solid #304b73;padding:10px 13px;border-radius:12px;box-shadow:0 14px 28px rgba(7,26,62,.27);transform:translateY(6px);transition:opacity .11s ease,transform .11s ease,visibility .11s ease}
.cp-master-tooltip.visible{visibility:visible;opacity:1;transform:translateY(0)}
.cp-master-hotspot{cursor:crosshair;outline:none}
.cp-master-point .cp-master-guide{opacity:0;transition:opacity .15s ease}
.cp-master-point.active .cp-master-guide,.cp-master-point:focus-visible .cp-master-guide{opacity:1}
.cp-master-point.active>circle:not(.cp-master-hit-circle),.cp-master-point:focus-visible>circle:not(.cp-master-hit-circle){stroke:#fff;stroke-width:3;filter:drop-shadow(0 0 5px #6bb1ff)}
.cp-ref-stacked-stack{cursor:pointer;outline-offset:3px}
.cp-master-stacked-segment{transition:filter .15s ease,opacity .15s ease;cursor:pointer}
.cp-master-stacked-segment:hover,.cp-master-stacked-segment:focus-visible,.cp-ref-stacked-stack:focus-visible .cp-master-stacked-segment{filter:brightness(1.16) saturate(1.22)}
.cp-master-svg-donut{position:relative;background:transparent!important}
.cp-master-svg-donut>svg{display:block;width:100%;height:100%;overflow:visible;transform:rotate(0)}
.cp-master-svg-donut .cp-master-donut-core{position:absolute;inset:23%;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:#fff;pointer-events:none}
.cp-master-pie-slice{cursor:pointer;transition:stroke-width .15s ease,filter .15s ease;outline:none}
.cp-master-pie-slice:hover,.cp-master-pie-slice.active,.cp-master-pie-slice:focus-visible{stroke-width:31;filter:brightness(1.13)}
.cp-master-donut-legend{cursor:pointer;border-radius:7px;outline-offset:2px;transition:background .15s ease}
.cp-master-donut-legend:hover,.cp-master-donut-legend.active,.cp-master-donut-legend:focus-visible{background:#f0f5ff}
.cp-master-spark-wrap{display:block;position:absolute;right:11px;bottom:17px;width:36%;height:44px;border-radius:7px;outline-offset:2px;cursor:crosshair}
.cp-master-spark-wrap svg{display:block;width:100%;height:100%}
.cp-ref-tile .cp-master-spark-wrap{bottom:9px;right:8px;width:33%;height:39px}
.cp-master-hotspot:focus-visible,.cp-ref-stacked-stack:focus-visible,.cp-master-pie-slice:focus-visible,.cp-master-donut-legend:focus-visible,.cp-master-spark-wrap:focus-visible{outline:2px solid #3c83fa;outline-offset:3px}


/* v0.1.64 — legenda da distribuição de módulos distingue ativações de empresas */
.cp-master-donut-legend b{display:flex;align-items:flex-end;flex-direction:column;gap:3px;color:#204775;font-size:12px!important;line-height:1.1}
.cp-master-donut-legend b small{font-size:10px;color:#8298b3;font-weight:600}
.cp-master-donut-legend b em{display:block;font-style:normal;color:#899db5;font-size:9px;font-weight:600;white-space:nowrap}
.cp-master-donut-legend span{font-size:11px!important;line-height:1.3;min-width:75px}
.cp-ref-donut-wrap{gap:14px}
.cp-ref-donut-labels{gap:9px}
.cp-ref-footnote{max-width:330px;margin:10px auto 0;line-height:1.5}
@media(max-width:420px){.cp-ref-donut-wrap{flex-direction:column}.cp-ref-donut-labels{width:100%}}


/* v0.1.65 — limpeza de avisos, master mais legível e mobile reforçado */
.card-message{background:transparent!important;border:0!important;border-left:3px solid #d6e2f4;padding:0 0 0 12px!important;border-radius:0!important;color:#637b98!important}
.cp-ref-donut-wrap{align-items:stretch;gap:18px;min-height:0}
.cp-ref-donut{width:min(170px,42vw)}
.cp-ref-donut-labels{display:flex;flex-direction:column;gap:10px;min-width:0;flex:1}
.cp-master-donut-legend{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #e5edf8;background:#f9fbff;border-radius:12px;min-width:0}
.cp-master-donut-legend-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.cp-master-donut-legend-main>i{width:10px!important;height:10px!important;border-radius:50%;flex:none}
.cp-master-donut-legend-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.cp-master-donut-legend-copy span{display:block;font-size:12px!important;line-height:1.3;min-width:0;color:#22446f;font-weight:760}
.cp-master-donut-legend-copy small{display:block;font-size:10px!important;color:#8095b0;line-height:1.2}
.cp-master-donut-legend-metrics{display:flex;flex-direction:column;align-items:flex-end;gap:3px;white-space:nowrap;flex:none}
.cp-master-donut-legend-metrics b{display:block;color:#163d73;font-size:13px;font-weight:850;line-height:1}
.cp-master-donut-legend-metrics em{display:block;font-style:normal;color:#8b9db4;font-size:9px;font-weight:650;line-height:1.25}
.cp-ref-footnote{display:none!important}
@media(max-width:900px){
  .route-content{padding:16px}
  .page-title{margin-bottom:18px}
  .cp-ref-heading{flex-direction:column;align-items:flex-start}
  .cp-ref-donut-wrap{flex-direction:column;align-items:stretch}
  .cp-ref-donut{margin:0 auto}
}
@media(max-width:700px){
  .route-content{padding:12px}
  .app-header{padding:10px 12px}
  .page-title{gap:8px;margin-bottom:14px}
  .page-title h1{font-size:22px}
  .panel,.stat{border-radius:12px}
  .panel{padding:14px}
  .panel-head{align-items:flex-start}
  .filters{display:grid;grid-template-columns:1fr;gap:8px}
  .filters input,.filters select{width:100%;min-width:0}
  .table-wrap{margin-left:-12px;margin-right:-12px;padding:0 12px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .data-table{min-width:max-content}
  .data-table th,.data-table td{padding:11px 10px}
  .cp-ref-main-row,.cp-ref-bottom-row,.cp-ref-kpis,.cp-ref-tiles{grid-template-columns:1fr!important}
  .cp-ref-kpi{min-height:0}
  .cp-ref-kpi>small{max-width:100%}
  .cp-ref-kpi>svg,.cp-master-spark-wrap,.cp-ref-tile .cp-master-spark-wrap{position:static;width:100%;height:40px;margin-top:10px}
  .cp-ref-chart-area,.cp-ref-stacked-chart{height:auto}
  .cp-ref-stacked-bars{height:180px;gap:6px}
  .cp-master-donut-legend{align-items:flex-start;flex-direction:column}
  .cp-master-donut-legend-metrics{align-items:flex-start;white-space:normal}
}


/* v0.1.66 — distribuição de módulos: layout dirigido pela largura do CARD,
   não pela largura da janela (que podia ser grande com card estreito). */
.cp-ref-footnote,.cp-ref-disclaimer,.card-message{display:none!important}
.cp-ref-modules-panel{container-type:inline-size}
.cp-ref-modules-panel .cp-ref-donut-wrap{
 display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
 gap:17px;min-height:0;width:100%;max-width:100%;margin:0;
}
.cp-ref-modules-panel .cp-ref-donut{
 width:164px;height:164px;flex:0 0 164px;max-width:100%;margin:0 auto;
}
.cp-ref-modules-panel .cp-ref-donut-labels{
 display:grid;grid-template-columns:minmax(0,1fr);align-content:start;
 gap:8px;min-width:0;width:100%;max-width:100%;margin:0;
}
.cp-ref-modules-panel .cp-ref-donut-labels>.cp-master-donut-legend{
 display:flex!important;flex-direction:row!important;
 align-items:center!important;justify-content:space-between!important;
 gap:12px!important;min-width:0;width:100%;max-width:100%;
 padding:10px 12px;border:1px solid #e4ecf8;border-radius:10px;
 background:#f9fbff;box-sizing:border-box;
}
.cp-ref-modules-panel .cp-master-donut-legend-main{
 display:flex!important;flex-direction:row!important;align-items:center!important;
 gap:9px!important;flex:1 1 auto;min-width:0;
}
.cp-ref-modules-panel .cp-master-donut-legend-main>i{
 display:block;width:10px!important;height:10px!important;flex:0 0 10px!important;
 border-radius:50%;
}
.cp-ref-modules-panel .cp-master-donut-legend-copy{
 display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0;
}
.cp-ref-modules-panel .cp-master-donut-legend-copy span{
 display:block;min-width:0!important;white-space:normal;
 overflow-wrap:break-word;word-break:normal;
 font-size:12px!important;font-weight:750;line-height:1.3;color:#22446f;
}
.cp-ref-modules-panel .cp-master-donut-legend-copy small{
 display:block;grid-column:auto!important;white-space:normal;
 font-size:10px!important;color:#8396b0;line-height:1.25;
}
.cp-ref-modules-panel .cp-master-donut-legend-metrics{
 display:flex!important;flex-direction:column!important;align-items:flex-end!important;
 flex:0 0 auto;min-width:0;gap:0;
}
.cp-ref-modules-panel .cp-master-donut-legend-metrics b{
 display:block!important;color:#164679;font-weight:850;font-size:14px!important;
 line-height:1.1;white-space:nowrap;
}
@container (min-width: 510px){
 .cp-ref-modules-panel .cp-ref-donut-wrap{flex-direction:row;align-items:center;gap:18px}
 .cp-ref-modules-panel .cp-ref-donut{width:158px;height:158px;flex-basis:158px}
 .cp-ref-modules-panel .cp-ref-donut-labels{flex:1 1 auto;min-width:0;width:auto}
}
@media(max-width:640px){.cp-ref-heading{align-items:flex-start;flex-direction:column}}

/* v0.1.72 — Gestão de usuários consistente no Master e na administração da empresa */
.cp-access-table-wrap{border:1px solid #e2eaf5;border-radius:13px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.cp-access-table{min-width:950px;font-size:12px}
.cp-access-table thead th{padding:15px 13px;white-space:nowrap}
.cp-access-table td{padding:16px 13px;vertical-align:middle;line-height:1.55}
.cp-access-table tbody tr:last-child td{border-bottom:0}
.cp-access-name strong{display:block;color:#152c4e;font-size:12px;overflow-wrap:anywhere}
.cp-access-name .pill{margin-top:6px}
.cp-access-email{overflow-wrap:anywhere;word-break:break-word;color:#58718f}
.cp-access-role{display:inline-flex;align-items:center;padding:6px 10px;background:#eef4ff;border:1px solid #dbe7fe;color:#2257a5;border-radius:9px;font-size:11px;font-weight:770;white-space:nowrap}
.cp-access-mods{max-width:290px;color:#365578}
.cp-access-ai{color:#8a97aa;font-size:11px;font-weight:780}
.cp-access-ai.on{color:#168564}
.cp-access-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.cp-access-actions .icon-action{min-height:35px;padding:8px 12px}
.cp-access-actions .icon-action.cp-remove-user{background:#fff1f1;color:#b13c41;border-color:#ffddde}
.cp-access-actions .icon-action.cp-remove-user:hover{background:#ffe5e6}
.cp-access-self{color:#8393a7;font-size:10px;white-space:nowrap}
.cp-access-empty{text-align:center;color:#8395ab;padding:24px!important}
.cp-master-slug-block{border:1px solid #dae6f7;background:#f8fbff;border-radius:14px;padding:20px;margin:0 0 22px;min-width:0}
.cp-master-slug-block h3{margin:0 0 12px;font-size:15px;color:#153b68}
.cp-master-slug-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.cp-master-slug-form .btn{min-height:41px}
.cp-master-slug-block p{font-size:11px;color:#627d9f;line-height:1.65;margin:10px 0 8px}
.cp-master-slug-link{font-size:11px;font-weight:710;color:#2767bc;overflow-wrap:anywhere}
@media(max-width:700px){.cp-access-table{min-width:760px}.cp-master-slug-form{grid-template-columns:1fr}.cp-master-slug-form .btn{width:100%}.cp-master-slug-block{padding:15px}.cp-access-table-wrap{margin:0}}


/* v0.1.74 — tela de auditoria e segurança */
.cp-security-panel{min-width:0}
.cp-security-panel .panel-head{align-items:flex-start;gap:16px}
.cp-security-panel .panel-head p{color:#7183a0;font-size:12px;margin:6px 0 0}
.cp-security-tools{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr)) auto;align-items:end;gap:12px;margin:20px 0 14px}
.cp-security-tools .field{min-width:0}
.cp-security-tools .field select{width:100%}
.cp-security-buttons{display:flex;gap:8px;align-items:end;flex-wrap:wrap;padding-bottom:1px}
.cp-security-status{font-size:12px;color:#6682a5;min-height:18px;margin-bottom:11px}
.cp-security-table th,.cp-security-table td{font-size:12px;padding:12px 11px;vertical-align:top;white-space:normal}
.cp-security-table td:first-child,.cp-security-table td:nth-child(4){white-space:nowrap}
.cp-security-user{font-variant-numeric:tabular-nums;font-weight:600;color:#415f86}
.cp-audit-action{display:inline-flex;padding:5px 8px;border-radius:8px;background:#edf3ff;color:#2c5fba;font-weight:700;font-size:11px}
.cp-audit-action.insert{background:#e5f7ef;color:#147a58}
.cp-audit-action.delete{background:#fff0ee;color:#a53b3b}
.cp-audit-metadata{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;color:#60738d;max-width:400px}
.cp-security-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:14px 0;flex-wrap:wrap;color:#6b7b97;font-size:12px}
.cp-security-note{font-size:11px;color:#7589a5;line-height:1.6;border-top:1px solid #e6eef7;margin:15px 0 0;padding-top:14px}
@media(max-width:850px){.cp-security-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-security-buttons{grid-column:1/-1}.cp-security-table{min-width:690px}}
@media(max-width:520px){.cp-security-tools{grid-template-columns:1fr}.cp-security-buttons{grid-column:auto}.cp-security-buttons .btn{flex:1}.cp-security-table{min-width:740px}}

@media(max-width:640px){
  .cp-security-panel .table-wrap{overflow:visible;border:0}
  .cp-security-table,.cp-security-table tbody,.cp-security-table tr,.cp-security-table td{display:block;min-width:0!important;width:100%}
  .cp-security-table thead{display:none}
  .cp-security-table tr{border:1px solid #e1eaf7;border-radius:12px;overflow:hidden;margin-bottom:10px;padding:10px 12px;background:#fff}
  .cp-security-table td{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:7px 0!important;border-bottom:1px solid #f0f3f9!important;font-size:12px!important}
  .cp-security-table td:last-child{border:0!important}
  .cp-security-table td::before{content:attr(data-label);color:#8192ae;font-size:10px;font-weight:750;letter-spacing:.03em;text-transform:uppercase;flex:0 0 90px}
  .cp-security-table td .cp-audit-metadata{width:auto;max-width:calc(100% - 100px)}
  .cp-security-table td.cp-security-user{white-space:normal}
}

/* v0.1.75 — descrições humanas de auditoria, detalhes sob demanda */
.cp-audit-description{font-weight:700;color:#294971;line-height:1.5;min-width:200px}
.cp-audit-tech{max-width:300px}
.cp-audit-tech summary{cursor:pointer;font-weight:750;color:#2b64d8;padding:7px 0;font-size:11px;list-style:none}
.cp-audit-tech summary::before{content:'▸';display:inline-block;margin-right:6px}
.cp-audit-tech[open] summary::before{content:'▾'}
.cp-audit-tech .cp-audit-metadata{display:block;max-width:280px;white-space:pre-wrap;word-break:break-word;margin-top:8px;font-size:10px;max-height:200px;overflow:auto}
.cp-ai-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.cp-ai-header .btn{flex:none}
.cp-ai-status{font-size:11px!important;color:#6b819e;margin:8px 0!important}
.cp-ai-memory-panel{border:1px solid #d9e5f7;background:rgba(255,255,255,.8);padding:14px;border-radius:13px;margin:14px 0}
.cp-ai-memory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cp-ai-memory-info{font-size:11px!important;margin:8px 0!important}
.cp-ai-memory-list{display:grid;max-height:270px;overflow-y:auto;gap:8px;scrollbar-width:thin}
.cp-ai-memory-item{border:1px solid #e3eaf6;border-radius:11px;background:white;padding:11px;display:flex;align-items:flex-start;justify-content:space-between;gap:9px}
.cp-ai-memory-copy{min-width:0}.cp-ai-memory-copy strong{font-size:11px;color:#204b8c}.cp-ai-memory-copy p{font-size:12px!important;color:#263d59!important;line-height:1.5!important;margin:5px 0!important;overflow-wrap:anywhere}.cp-ai-memory-copy small{font-size:10px;color:#8a9ab3}
.cp-ai-delete-memory{flex:none;font-size:10px;color:#a34949}
@media(max-width:780px){.cp-ai-header{flex-wrap:wrap}.cp-security-table td.cp-audit-description{min-width:0}.cp-audit-tech{max-width:100%}.cp-ai-memory-item{flex-wrap:wrap}}


/* v0.1.76 — Consultora Pleno em modo imersivo e central de diagnósticos */
.shell.consultora-focus .route-content{overflow-y:auto;overflow-x:hidden;max-height:calc(100dvh - 64px);padding:22px!important;display:block!important;min-height:0!important;scrollbar-gutter:stable}
.shell.consultora-focus .app-main{min-height:0;max-height:100dvh}
.shell.consultora-focus .app-header{flex:none}
.cp-consultora-screen{width:min(1380px,100%);margin:0 auto;display:grid;gap:22px;min-width:0;padding-bottom:22px}
.cp-ai-immersive{padding:24px 28px;min-width:0;display:flex;flex-direction:column;min-height:calc(100dvh - 135px);box-shadow:0 12px 36px rgba(19,49,100,.05)}
.cp-ai-immersive h2{font-size:25px;letter-spacing:-.5px}
.cp-ai-immersive .cp-ai-header{margin-bottom:5px}
.cp-ai-immersive .ai-conversation{flex:1;min-height:400px;max-height:none;height:clamp(400px,52dvh,850px);overflow:auto;padding:17px 9px;gap:15px}
.cp-ai-immersive .ai-message{max-width:min(76%,780px);font-size:14px;line-height:1.65;padding:16px 18px}
.cp-ai-immersive .ai-input{margin-top:12px}
.cp-ai-immersive .ai-input input{min-height:54px;font-size:14px}
.cp-ai-immersive .ai-input button{min-height:54px;padding:0 25px}
.cp-company-kpis{margin-bottom:18px}
.cp-diagnostics-mount{width:100%;min-width:0}
.cp-diagnostics{padding:24px;background:#fff;border:1px solid #dfe8f6;border-radius:17px;margin:0 0 20px}
.cp-diagnostics-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;flex-wrap:wrap}
.cp-diagnostics-top h2{font-size:21px;margin:6px 0}.cp-diagnostics-top p{color:#617995;font-size:13px;margin:0 0 16px}
.cp-diag-eyebrow{font-size:10px;letter-spacing:1.3px;color:#246be6;font-weight:850}
.cp-diag-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.cp-diag-metrics>div{background:#f4f8ff;border:1px solid #e1eafb;padding:14px 16px;border-radius:13px;display:grid;gap:5px}
.cp-diag-metrics strong{font-size:22px;color:#173660}.cp-diag-metrics small{color:#6e829e;font-weight:650}
.cp-diag-filters{display:flex;flex-wrap:wrap;gap:10px}.cp-diag-filters label{display:grid;gap:5px;flex:1 1 185px;font-weight:720;font-size:12px}
.cp-diag-filters select{width:100%;padding:11px 12px;min-width:0;background:white;border:1px solid #dbe6f6;border-radius:11px;color:#193961}
.cp-diag-feedback{font-size:11px!important;color:#7185a3!important;margin:14px 0!important}
.cp-diag-list{display:grid;gap:11px}
.cp-diag-entry{display:flex;gap:15px;align-items:flex-start;justify-content:space-between;border:1px solid #e2eaf5;background:linear-gradient(125deg,#fff,#fbfdff);border-radius:14px;padding:17px;min-width:0}
.cp-diag-main{min-width:0}.cp-diag-entry h3{color:#142f58;font-size:15px;margin:11px 0 7px}.cp-diag-entry p{color:#45617e;font-size:13px;line-height:1.6;margin:6px 0}
.cp-diag-entry small{color:#8193ab;font-size:10px}.cp-diag-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:10px;font-weight:750;color:#5e7da0}
.cp-diag-sev{display:inline-block;border-radius:7px;padding:5px 9px;font-size:10px;background:#e9f3ff;color:#245db0}
.cp-diag-sev.critical,.cp-diag-sev.high{background:#fff0ef;color:#b84742}.cp-diag-sev.medium{background:#fff4db;color:#a16b06}
.cp-diag-muted{color:#879bb3}.cp-diag-recommend{margin-top:10px!important}.cp-diag-empty{text-align:center;background:#f7faff;color:#7386a1;border-radius:12px;padding:32px;font-size:13px}
@media(max-width:700px){.shell.consultora-focus .route-content{padding:12px!important;max-height:calc(100dvh - 60px)}.cp-consultora-screen{gap:13px}.cp-ai-immersive{padding:17px;min-height:calc(100dvh - 95px)}.cp-ai-immersive .ai-conversation{height:52dvh;min-height:320px}.cp-ai-immersive .ai-message{max-width:93%;font-size:13px}.cp-ai-immersive .ai-input{flex-direction:column}.cp-ai-immersive .ai-input button{width:100%}.cp-diagnostics{padding:16px}.cp-diag-metrics{gap:6px}.cp-diag-metrics>div{padding:10px}.cp-diag-metrics strong{font-size:18px}.cp-diag-metrics small{font-size:10px}.cp-diag-entry{flex-direction:column}.cp-diag-entry button{width:100%}}

.cp-diag-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;flex:none}.cp-diag-actions .btn{white-space:nowrap}@media(max-width:700px){.cp-diag-actions{width:100%;justify-content:stretch}.cp-diag-actions .btn{width:100%}}


/* v0.1.77 — Consultora Pleno isolada em viewport: barra superior e envio fixos, somente mensagens rolam. */
html:has(#shell.consultora-focus:not(.hidden)),body:has(#shell.consultora-focus:not(.hidden)){height:100%;overflow:hidden}
#shell.consultora-focus{height:100dvh;min-height:0;overflow:hidden}
#shell.consultora-focus .app-main{height:100%;min-height:0;max-height:none;overflow:hidden;display:flex;flex-direction:column}
#shell.consultora-focus .app-header{flex:0 0 auto;position:relative;z-index:20}
#shell.consultora-focus .route-content{flex:1 1 auto;display:flex!important;flex-direction:column!important;min-height:0!important;max-height:none!important;overflow:hidden!important;padding:14px 18px!important;scrollbar-gutter:auto!important}
#shell.consultora-focus .cp-consultora-screen{width:100%;max-width:1480px;flex:1 1 auto;min-height:0;height:100%;margin:0 auto;padding:0;display:flex;flex-direction:column;overflow:hidden;gap:0}
#shell.consultora-focus .cp-ai-immersive{flex:1 1 auto;min-height:0!important;height:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden;padding:18px 24px;margin:0}
#shell.consultora-focus .cp-ai-immersive .ai-star{flex:0 0 auto}
#shell.consultora-focus .cp-ai-immersive .cp-ai-header{flex:0 0 auto;min-height:0}
#shell.consultora-focus .cp-ai-immersive .cp-ai-status{flex:0 0 auto;margin:6px 0!important}
#shell.consultora-focus .cp-ai-immersive .ai-conversation{flex:1 1 0%;min-height:0!important;max-height:none!important;height:0!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:12px 9px;gap:13px}
#shell.consultora-focus .cp-ai-immersive .ai-input{flex:0 0 auto;margin-top:10px}
#shell.consultora-focus .cp-ai-immersive #aiDisclosure{flex:0 0 auto;margin:7px 0 0;font-size:10px!important}
#shell.consultora-focus #aiMemoryPanel{flex:0 0 auto;max-height:min(34dvh,320px);min-height:0;overflow-y:auto;margin:7px 0}
#shell.consultora-focus .cp-ai-memory-list{max-height:180px;overflow-y:auto}
@media(max-width:700px){
 #shell.consultora-focus .route-content{padding:8px!important}
 #shell.consultora-focus .cp-ai-immersive{padding:12px 12px 10px;border-radius:13px}
 #shell.consultora-focus .cp-ai-immersive .cp-ai-header h2{font-size:20px}
 #shell.consultora-focus .cp-ai-immersive .cp-ai-header p{font-size:11px;line-height:1.35}
 #shell.consultora-focus .cp-ai-immersive .ai-conversation{min-height:0!important;height:0!important;padding:9px 3px;gap:9px}
 #shell.consultora-focus .cp-ai-immersive .ai-input{display:flex;flex-direction:row;align-items:stretch;gap:7px;margin-top:7px}
 #shell.consultora-focus .cp-ai-immersive .ai-input input{min-width:0;min-height:44px;padding:9px 10px;font-size:12px}
 #shell.consultora-focus .cp-ai-immersive .ai-input button{flex:none;width:auto;min-height:44px;padding:0 12px;font-size:12px}
 #shell.consultora-focus .cp-ai-immersive .ai-message{max-width:94%;padding:11px 12px;font-size:12px}
 #shell.consultora-focus #aiMemoryPanel{max-height:min(35dvh,240px)}
}
@media(max-height:580px){
 #shell.consultora-focus .cp-ai-immersive .cp-ai-header p{display:none}
 #shell.consultora-focus .cp-ai-immersive{padding-top:8px;padding-bottom:8px}
 #shell.consultora-focus #aiDisclosure{display:none}
}

/* v0.1.78 — proveniência concisa dos dados usados pela Consultora */
.cp-ai-source-coverage{flex:0 0 auto;border:1px solid #dce6f7;background:#f8fbff;border-radius:10px;padding:7px 11px;margin:3px 0 7px;max-width:100%;font-size:11px;color:#35557d}
.cp-ai-source-coverage summary{cursor:pointer;font-weight:700;user-select:none}
.cp-ai-sources-detail{padding-top:7px;color:#526e90;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:700px){.cp-ai-source-coverage{font-size:10px;margin:2px 0 5px;padding:6px 9px}}

/* v0.1.79 — relatórios executivos */
.cp-exec-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;margin-bottom:18px}.cp-exec-intro h2{margin-bottom:6px}.cp-exec-intro p{font-size:13px;color:#6680a1}.cp-exec-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:12px}.cp-exec-toolbar .field{min-width:210px}.cp-exec-status{color:#6c80a0;font-size:12px;margin-bottom:12px}.cp-exec-report{padding:24px;border:1px solid #dce7f4;border-radius:16px;background:#fff}.cp-exec-report-head{display:flex;align-items:start;justify-content:space-between;gap:12px;border-bottom:1px solid #e3eaf5;padding-bottom:15px}.cp-exec-report h2{font-size:25px;margin:7px 0 5px}.cp-exec-report h3{font-size:17px;margin:24px 0 13px}.cp-exec-kicker{font-size:10px;font-weight:800;letter-spacing:1.8px;color:#316ee8}.cp-exec-report-head p{font-size:11px;color:#7587a0}.cp-exec-badge{background:#e8f7ef;border-radius:50px;padding:6px 10px;font-size:11px;color:#128251;white-space:nowrap}.cp-exec-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cp-exec-metric{background:#f7faff;border:1px solid #e2eaf7;border-radius:13px;padding:15px;min-width:0}.cp-exec-metric small{display:block;color:#687f9f;font-size:11px}.cp-exec-metric strong{display:block;color:#142c53;font-size:22px;margin:7px 0;overflow-wrap:anywhere}.cp-exec-metric p{margin:0;color:#7184a0;font-size:11px}.cp-exec-caution{background:#fff7eb;color:#80592c;padding:14px;border-radius:12px;font-size:12px;line-height:1.7}.cp-exec-match-list>div{font-size:12px;border-bottom:1px solid #e5edf8;padding:9px 0}.cp-exec-alerts{display:grid;gap:10px}.cp-exec-alerts>div{border:1px solid #e0e8f5;border-radius:10px;padding:11px 14px}.cp-exec-alerts p{margin:4px 0;color:#536783;font-size:12px}.cp-exec-alerts small{font-size:10px;color:#7a8eaa}.cp-exec-method{color:#7787a1;font-size:12px;line-height:1.7}.cp-exec-empty{padding:40px;text-align:center;color:#68809e}
@media(max-width:700px){.cp-exec-intro{flex-direction:column;align-items:stretch}.cp-exec-intro button{width:100%}.cp-exec-toolbar>*{flex:1 1 100%}.cp-exec-metrics{grid-template-columns:1fr}.cp-exec-report{padding:15px}.cp-exec-report-head{flex-direction:column}.cp-exec-report h2{font-size:22px}}

.cp-exec-reconcile-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.cp-exec-reconcile-buttons{display:flex;flex-wrap:wrap;gap:6px}.cp-exec-reconcile-buttons button{font-size:11px}.cp-exec-match-list h4{font-size:13px;margin:14px 0 7px}@media(max-width:700px){.cp-exec-reconcile-row{align-items:stretch;flex-direction:column}.cp-exec-reconcile-buttons>*{flex:1 1 100%}}

/* v0.1.80 — controles de conciliação fora das páginas impressas */
.cp-er-management{background:#fff;border:1px solid #dce7f4;border-radius:13px;padding:18px;margin-top:20px;color:#183960}
.cp-er-management h3{margin:0 0 5px;font-size:17px}.cp-er-management>div:first-child>p{font-size:12px;color:#6e84a0}
.cp-er-management .cp-exec-match-list{margin-top:10px}
.cp-er-management .cp-exec-reconcile-row{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}


/* v0.1.84 — gráfico Master de módulos reconstruído: sem herdar layouts antigos de donut.
   Mantém as proporções reais, ring circular, espaçamento entre fatias e legenda responsiva. */
.cp-ref-modules-panel{container-type:inline-size}
.cp-ref-modules-panel .cp-moddist-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:17px;min-width:0;align-items:center}
.cp-moddist-visual{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.cp-moddist-chart{position:relative;width:188px;height:188px;flex:none;max-width:100%;aspect-ratio:1;filter:drop-shadow(0 7px 11px rgba(23,69,123,.07))}
.cp-moddist-chart svg{display:block;width:100%;height:100%;overflow:visible}
.cp-moddist-chart .cp-master-pie-slice{transition:filter .15s ease,stroke-width .15s ease;cursor:pointer}
.cp-moddist-chart .cp-master-pie-slice:hover,.cp-moddist-chart .cp-master-pie-slice.active,.cp-moddist-chart .cp-master-pie-slice:focus-visible{stroke-width:27;filter:brightness(1.07)}
.cp-moddist-center{position:absolute;inset:29%;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.cp-moddist-center strong{font-size:34px;font-weight:850;line-height:1;letter-spacing:-1.25px;color:#102f5a;font-variant-numeric:tabular-nums}
.cp-moddist-center span{font-size:11px;color:#879ab2;font-weight:650;margin-top:6px}
.cp-moddist-caption{font-size:10px;font-weight:620;color:#8398b4;text-align:center}
.cp-moddist-legend{display:grid;grid-template-columns:1fr;gap:9px;min-width:0;width:100%}
.cp-ref-modules-panel .cp-moddist-item{display:block!important;min-width:0;width:100%;box-sizing:border-box;padding:12px 13px!important;border:1px solid #e5edf9!important;border-radius:11px!important;background:#fafcff!important;box-shadow:none;transition:background .16s,border-color .16s;outline-offset:2px}
.cp-ref-modules-panel .cp-moddist-item:hover,.cp-ref-modules-panel .cp-moddist-item.active,.cp-ref-modules-panel .cp-moddist-item:focus-visible{background:#f1f6ff!important;border-color:#bed6fb!important}
.cp-moddist-item-title{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0}
.cp-moddist-dot{width:9px;height:9px;border-radius:50%;display:block}
.cp-moddist-item-title b{font-size:11.5px;line-height:1.35;color:#234773;font-weight:750;min-width:0;overflow-wrap:anywhere}
.cp-moddist-item-title strong{font-size:13.5px;color:#12417c;font-weight:860;white-space:nowrap;letter-spacing:-.3px;font-variant-numeric:tabular-nums}
.cp-moddist-track{height:5px;background:#e9f0f9;border-radius:99px;margin:10px 0 7px;overflow:hidden}
.cp-moddist-track span{display:block;height:100%;border-radius:99px;min-width:0;transition:width .3s ease}
.cp-moddist-count{font-size:10px;color:#8396b0;font-weight:550}
.cp-ref-modules-panel .cp-moddist-note{display:block!important;font-size:10px;color:#92a1b7;line-height:1.5;text-align:center;margin-top:14px}
@container (min-width: 495px){
 .cp-ref-modules-panel .cp-moddist-layout{grid-template-columns:minmax(168px,195px) minmax(0,1fr);gap:17px}
 .cp-moddist-chart{width:172px;height:172px}
}
@media(max-width:480px){.cp-moddist-chart{width:170px;height:170px}.cp-moddist-legend{gap:8px}}
/* Ajuste de especificidade legado: nunca esticar o marcador de cor nem reformatar o título. */
.cp-ref-modules-panel .cp-moddist-item-title>.cp-moddist-dot{min-width:0!important;width:9px!important;height:9px!important;max-width:9px!important;border-radius:50%!important;flex:none!important;align-self:center}
.cp-ref-modules-panel .cp-moddist-item-title>b{min-width:0!important;display:block!important;text-align:left;flex:none;white-space:normal}
.cp-ref-modules-panel .cp-moddist-item-title>strong{display:block;text-align:right}
