:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#122b4a;background:#f3f7fd;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{margin:0;min-height:100%}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}.hidden,[hidden]{display:none!important}
.login-screen{display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(350px,1fr);min-height:100vh}.login-hero{background:radial-gradient(circle at 20% 20%,#164b91 0%,transparent 50%),linear-gradient(155deg,#031327,#092d5a 70%,#056cbb);color:white;padding:clamp(26px,5vw,85px);display:flex;flex-direction:column;justify-content:center}.login-brand,.sidebar-brand{display:flex;align-items:center;gap:13px}.mark{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(135deg,#038ffd,#45bdf8 55%,#1550cb);font-size:32px;letter-spacing:-.18em;padding-right:7px;font-weight:950;color:white;box-shadow:0 6px 24px #0062a959}.mark-xl{height:62px;width:62px;font-size:46px}.brand-word{font-size:25px;letter-spacing:-1.1px;font-weight:850;white-space:nowrap}.brand-word span{color:#2a95ff}.brand-admin{font-size:11px;font-weight:700;letter-spacing:3px;margin-top:1px}.login-hero h1{font-size:clamp(34px,3.8vw,59px);line-height:1.08;max-width:580px;margin:90px 0 22px;letter-spacing:-2px}.login-hero p{max-width:530px;color:#d1e5fb;font-size:17px;line-height:1.6}.login-assurances{display:flex;flex-wrap:wrap;gap:13px;margin-top:80px;color:#b5dfff;font-size:12px}.login-assurances span{background:#ffffff0d;border:1px solid #8dcaff36;border-radius:20px;padding:9px 12px}.login-side{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px}.login-card{width:min(435px,100%);background:white;padding:37px;border:1px solid #deebfa;border-radius:24px;box-shadow:0 18px 80px #12386918}.login-icon{height:58px;width:58px;background:#e8f4ff;color:#0875f8;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:29px}.login-card h2{font-size:24px;margin:22px 0 8px}.login-card p{color:#5c7090;line-height:1.6}.login-card label{display:block;font-size:13px;font-weight:750;margin:22px 0 8px}.login-card input{width:100%;border:1px solid #c9d8e8;padding:14px;border-radius:11px;outline:none;transition:border .2s,box-shadow .2s}.login-card input:focus{border-color:#0877ff;box-shadow:0 0 0 4px #0877ff1a}.primary-button{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-radius:12px;background:linear-gradient(120deg,#086cef,#008ff2);padding:15px 19px;color:white;font-weight:750;margin-top:28px}.form-message{min-height:18px;font-size:13px}.form-message.error{color:#c22525}.login-note{background:#f2f6fc;border-radius:12px;font-size:12px;color:#667c99;line-height:1.5;padding:15px;margin-top:10px}.login-copyright{font-size:12px;color:#8193a8;margin-top:25px}
.dashboard{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#071a35;color:#f7fbff;display:flex;flex-direction:column;padding:20px 12px 15px;overflow:auto;z-index:20}.sidebar-brand{padding:3px 12px 17px}.sidebar-separator{height:1px;background:#ffffff19;margin:4px 12px 18px}.nav-items{display:flex;flex-direction:column;gap:3px}.nav-item{display:flex;align-items:center;gap:14px;min-height:41px;background:transparent;border:0;color:#d9e7fa;border-radius:9px;text-align:left;font-size:13px;padding:8px 14px;width:100%;transition:background .14s}.nav-item:hover{background:#123c6d}.nav-item.active{background:linear-gradient(90deg,#047cfc,#0964dc);color:white;font-weight:750;box-shadow:0 3px 14px #0079ef35}.nav-icon{min-width:19px;font-size:19px;text-align:center;color:#f6faff}.sidebar-bottom{margin-top:auto;padding:22px 8px 0}.secure-footnote{color:#90b8dd;font-size:12px;margin-bottom:12px}.signout{width:100%;padding:13px;background:transparent;border:1px solid #f35463;color:#ff747d;border-radius:10px;font-size:13px;font-weight:650}.signout:hover{background:#fb435522}.workspace{min-width:0}.topbar{height:80px;padding:0 30px;background:white;border-bottom:1px solid #e2edf6;display:flex;align-items:center;justify-content:space-between;gap:18px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:14px}.topbar-heading{font-weight:850;font-size:18px}.topbar-subtitle{font-size:12px;color:#6b7e99;margin-top:3px}.topbar-avatar{background:#e0edff;color:#116be9;border-radius:50%;height:41px;width:41px;display:grid;place-items:center;font-weight:850}.admin-heading{display:flex;flex-direction:column;gap:4px;max-width:210px}.admin-heading strong{font-size:13px}.admin-heading span{font-size:11px;color:#6d7b90;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.environment-tag{font-size:10px;letter-spacing:1px;border-radius:40px;padding:7px 10px;border:1px solid #d1e5ff;color:#1e70c7;background:#f2f8ff;font-weight:800}.menu-toggle{display:none;border:0;background:#e9f3ff;border-radius:9px;padding:6px 11px;font-size:22px;color:#075ac2}.content-area{max-width:1510px;margin:0 auto;padding:30px 28px 20px}.intro-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:24px}.eyebrow{font-weight:800;color:#2187e8;font-size:11px;letter-spacing:2px;margin:0 0 7px}.intro-row h1{margin:0;color:#0c2142;font-size:28px;letter-spacing:-.6px}.page-summary{margin:6px 0 0;color:#667995;font-size:14px}.date-chip{background:white;border:1px solid #e4eefa;border-radius:11px;padding:10px 13px;color:#5e7594;font-size:12px;white-space:nowrap}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:16px}.metric-card{border-radius:14px;min-height:140px;padding:17px;color:white;box-shadow:0 5px 15px #072d5e12}.metric-card.blue{background:linear-gradient(125deg,#0071ed,#0952be)}.metric-card.green{background:linear-gradient(125deg,#07a77c,#02725b)}.metric-card.orange{background:linear-gradient(125deg,#ff9c23,#ee6b11)}.metric-card.purple{background:linear-gradient(125deg,#8535ee,#5126c6)}.metric-top{display:flex;align-items:center;gap:10px;font-size:12px}.metric-icon{font-size:24px;background:#ffffff29;border-radius:12px;display:grid;place-items:center;width:40px;height:40px}.metric-number{font-size:27px;font-weight:850;margin:14px 0 3px}.metric-note{font-size:10px;line-height:1.4;opacity:.9}.main-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);gap:15px;margin-bottom:15px}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.panel{background:white;border:1px solid #e4ecf7;border-radius:15px;padding:19px;box-shadow:0 3px 12px #253f6010}.section-heading h2{font-size:17px;letter-spacing:-.3px;margin:0}.section-heading p{font-size:12px;color:#7689a2;margin:6px 0 0;line-height:1.5}.empty-chart{min-height:275px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;border:1px dashed #c8dbee;background:repeating-linear-gradient(0deg,transparent,transparent 45px,#e7edf566 46px),linear-gradient(180deg,#fbfdff,#f2f7ff);border-radius:12px;margin-top:18px;padding:24px}.empty-chart-icon{color:#78a2d1;font-size:39px}.empty-chart strong{color:#274467;margin-top:12px}.empty-chart p{font-size:12px;color:#67809b;line-height:1.6;max-width:350px}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.quick-tile{border:1px solid #deebf8;border-radius:11px;background:linear-gradient(140deg,#e9f5ff,#f8fbff);min-height:96px;color:#0957ba;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}.quick-tile:nth-child(3n+2){background:linear-gradient(140deg,#e6f8f2,#f8fcff);color:#168268}.quick-tile:nth-child(3n+3){background:linear-gradient(140deg,#fff0e5,#fffafd);color:#b55d12}.quick-tile span{font-size:27px}.quick-tile strong{font-size:12px}.quick-tile:hover{outline:2px solid #b0d8ff}.detail-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #f0f3f9;padding:14px 0;font-size:13px}.detail-row:last-child{border:0}.status-chip{white-space:nowrap;display:inline-flex;border-radius:25px;font-weight:750;font-size:10px;background:#f7edcd;color:#8b6b16;padding:6px 10px}.status-chip.good{background:#ddf7e7;color:#1f7950}.security-blurb{margin-top:18px;border-radius:12px;background:#f0f7ff;padding:18px;font-size:14px;color:#1b548d}.security-blurb p{font-size:12px;color:#547b9a;line-height:1.7}.module-detail{min-height:420px;display:flex;flex-direction:column;align-items:flex-start;gap:15px;padding:32px;max-width:980px}.module-detail h2{margin:0;font-size:26px}.module-detail>p{color:#697f97;line-height:1.5;margin:0}.module-hero-icon{width:64px;height:64px;border-radius:17px;background:#e3f2ff;color:#0071eb;font-size:30px;display:grid;place-items:center}.module-note{margin-top:6px;background:#f4f8fd;border:1px solid #dceaf7;border-radius:13px;padding:18px 20px;line-height:1.6}.module-note p,.module-subnote{font-size:13px;color:#6c7e90;line-height:1.7}.secondary-button{background:#eaf3ff;border:1px solid #cce0ff;color:#0965cb;padding:12px 16px;border-radius:10px;font-weight:750}.footer{text-align:center;color:#8b9aab;font-size:11px;margin:32px auto 0}.mobile-overlay{display:none}
@media (max-width:1150px){.dashboard{grid-template-columns:244px minmax(0,1fr)}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.login-hero h1{margin-top:48px}.login-assurances{margin-top:50px}}
@media (max-width:740px){.login-screen{grid-template-columns:1fr}.login-hero{padding:28px 26px 25px}.login-hero h1{font-size:30px;letter-spacing:-1px;margin:28px 0 4px}.login-hero p{font-size:13px}.login-assurances{margin-top:16px;gap:8px}.login-assurances span{font-size:10px;padding:6px 10px}.login-side{padding:20px 12px}.login-card{padding:25px}.dashboard{display:block}.sidebar{position:fixed;width:min(280px,82vw);height:100dvh;left:0;top:0;transform:translateX(-105%);transition:transform .2s}.sidebar.sidebar-open{transform:translateX(0)}.mobile-overlay.shown{position:fixed;inset:0;background:#051a35aa;display:block;z-index:10}.menu-toggle{display:block}.topbar{height:70px;padding:0 15px}.topbar-heading{font-size:15px}.topbar-subtitle{font-size:10px}.admin-heading{display:none}.environment-tag{display:none}.content-area{padding:21px 12px}.intro-row{align-items:flex-start}.intro-row h1{font-size:24px}.date-chip{font-size:10px;white-space:normal;text-align:right}.metrics-grid{gap:10px}.metric-card{min-height:128px;padding:13px}.metric-top{font-size:11px;gap:6px}.metric-icon{width:34px;height:34px;font-size:19px}.metric-number{font-size:23px}.metric-note{font-size:10px}.bottom-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}.module-detail{padding:20px}.module-detail h2{font-size:22px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Recuperação de senha: elementos do mesmo cartão de login */
.forgot-row{display:flex;justify-content:flex-end;margin-top:12px}
.text-button{border:0;background:none;color:#075fc3;font-size:13px;font-weight:750;padding:6px 0;text-decoration:underline;text-underline-offset:3px}
.text-button:hover,.text-button:focus-visible{color:#003d94}
.back-link{margin-top:18px}
.password-advice{font-size:12px!important;color:#697f99!important;line-height:1.55!important;margin-top:13px}
.form-message:not(:empty){padding:10px 0 2px;color:#146c56}
.form-message.error{color:#bc2531}


/* Painel Usuários — etapa de consulta protegida, sem alterações de registros */
.mj-users-panel{padding:23px;min-height:380px}
.mj-users-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.mj-users-safety{margin:17px 0;padding:12px 15px;border-radius:10px;border:1px solid #b7daf5;background:#f1f8ff;color:#335978;font-size:12px;line-height:1.55}
.mj-users-counters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:19px 0 25px}
.mj-users-stat{border:1px solid #dce9f6;background:linear-gradient(180deg,#f5faff,#eaf3ff);border-radius:12px;padding:14px 10px;min-height:83px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.mj-users-stat strong{font-size:22px;color:#0856bd;font-weight:850}
.mj-users-stat span{font-size:11px;color:#496d94;text-align:center}
.mj-users-search-label{display:block;color:#355577;font-size:12px;font-weight:800;margin-bottom:8px}
.mj-users-search{width:100%;max-width:550px;border:1px solid #bfd3ed;border-radius:10px;background:white;padding:13px 14px;outline:none;color:#103259}
.mj-users-search:focus{border-color:#0874ec;box-shadow:0 0 0 3px #0874ec20}
.mj-users-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 19px}
.mj-users-tab{border:1px solid #c9dbed;background:#f5f9ff;color:#265b93;font-weight:700;border-radius:25px;padding:9px 12px;font-size:12px}
.mj-users-tab.selected{background:#0877ef;color:white;border-color:#0877ef}
.mj-users-feedback{color:#5e7590;font-size:12px;margin:9px 0 14px}
.mj-users-feedback.error{color:#b8212c}
.mj-users-results{display:flex;flex-direction:column;gap:8px}
.mj-users-item{border:1px solid #dfe9f6;border-radius:12px;display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(130px,1fr) minmax(100px,.7fr) 100px;align-items:center;gap:15px;background:#fff;padding:15px}
.mj-users-item:nth-child(even){background:#f9fbff}
.mj-users-primary,.mj-users-contact,.mj-users-category,.mj-users-date{display:flex;flex-direction:column;gap:5px;min-width:0}
.mj-users-primary strong{font-size:14px;color:#16395f;overflow-wrap:anywhere}
.mj-users-email,.mj-users-contact,.mj-users-date{font-size:12px;color:#6d829b;overflow-wrap:anywhere}
.mj-users-category{align-items:flex-start}
.mj-users-type{border-radius:20px;color:#1269bd;font-size:11px;font-weight:750;background:#e7f3ff;padding:6px 9px}
.mj-users-category small{font-size:11px;color:#5b7590}
.mj-users-date strong{font-size:12px;color:#274a6e}
.mj-users-empty{border:1px dashed #cbd9e9;padding:32px;text-align:center;border-radius:12px;color:#587895}
.mj-users-paging{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap;color:#607994;font-size:12px}
.mj-users-paging .secondary-button:disabled{opacity:.45;cursor:not-allowed}
@media (max-width:1100px){.mj-users-counters{grid-template-columns:repeat(3,minmax(0,1fr))}.mj-users-item{grid-template-columns:minmax(140px,1fr) minmax(120px,.8fr);gap:13px}}
@media (max-width:650px){.mj-users-panel{padding:14px}.mj-users-counters{grid-template-columns:repeat(2,minmax(0,1fr))}.mj-users-item{grid-template-columns:1fr 1fr;padding:14px;gap:16px}.mj-users-primary{grid-column:1/-1}.mj-users-date{align-self:end}.mj-users-paging{justify-content:center}.mj-users-paging span{order:-1;width:100%;text-align:center}}

/* Marca original fornecida pelo proprietário, preservada sem redesenho */
.brand-original{flex-direction:column;align-items:stretch;gap:8px}
.brand-logo-original{display:block;max-width:100%;width:100%;background:#fff;border-radius:11px;object-fit:contain}
.login-brand .brand-logo-original{max-width:345px;width:90%}
.original-subtitle{font-weight:850;font-size:10px;letter-spacing:2px;color:#cde8ff}
.sidebar-brand .original-subtitle{font-size:10px;align-self:center;color:#eaf4ff}
.mj-admin-stack{display:flex;flex-direction:column;gap:15px}
.mj-admin-top{display:flex;gap:15px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.mj-admin-form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-top:15px}
.mj-admin-form label{display:flex;flex-direction:column;gap:6px;min-width:245px;flex:1;font-size:12px;font-weight:750;color:#315273}
.mj-admin-form input,.mj-admin-permission select,.mj-admin-request input,.mj-admin-request textarea{padding:11px;border:1px solid #cbd9eb;border-radius:9px;background:white;color:#153455;font:inherit;max-width:100%}
.mj-admin-form button{margin-top:0}
.mj-admin-notice{background:#eff7ff;border:1px solid #c1dcf7;padding:12px 15px;border-radius:10px;color:#27587f;font-size:12px;line-height:1.6}
.mj-admin-roster{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.mj-admin-member{border:1px solid #e0e9f3;border-radius:12px;padding:17px;background:#fafcff}
.mj-admin-member-head{display:flex;justify-content:space-between;align-items:start;gap:12px;flex-wrap:wrap}
.mj-admin-member-head strong{display:block;word-break:break-word;color:#164064}
.mj-admin-member-head small{display:block;margin-top:6px;font-size:11px;color:#6e869c}
.mj-admin-permissions{margin-top:17px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mj-admin-permission{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#294969}
.mj-admin-permission select{font-weight:500;font-size:12px;width:100%}
.mj-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}
.mj-admin-actions button{font-size:12px}
.mj-admin-request{border-top:1px solid #dfeaf8;padding:14px 0;font-size:13px;color:#2b4a69}
.mj-admin-request div{line-height:1.7;overflow-wrap:anywhere}
.mj-admin-request .mj-admin-actions{margin-top:9px}
.mj-admin-request textarea{width:100%;min-height:95px;resize:vertical;box-sizing:border-box}
.mj-admin-alert{color:#bc2730;font-weight:750}
.mj-admin-feedback{font-size:13px;min-height:20px;color:#276b61;line-height:1.5}
.mj-admin-feedback.error{color:#b22934}
.mj-admin-request-meta{font-size:11px;color:#7891a9}
@media(max-width:700px){.mj-admin-permissions{grid-template-columns:1fr}.sidebar-brand .brand-logo-original{max-height:110px}.login-brand .brand-logo-original{max-width:270px}}

/* Confirmação explícita das permissões, sem salvamento automático */
.mj-admin-confirmation{margin-top:16px;padding:15px;border:1px solid #c8ddf4;border-radius:12px;background:#f4f9ff;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mj-admin-save-status{flex:1 1 100%;margin:0;font-size:12px;line-height:1.5;color:#247755;font-weight:650}
.mj-admin-save-status.unsaved{color:#9c6412}
.mj-admin-save-button{border:0;color:#fff;font-size:13px;font-weight:800;background:linear-gradient(115deg,#0873f8,#005bca);border-radius:10px;padding:12px 18px}
.mj-admin-save-button:not(:disabled):hover{filter:brightness(1.06)}
.mj-admin-save-button:disabled{cursor:not-allowed;opacity:.45}
.mj-admin-confirmation .secondary-button:disabled{cursor:not-allowed;opacity:.45}

/* Identificação dinâmica do cargo administrativo */
.sidebar-brand #sidebar-role {
  max-width: 100%;
  font-size: 11px;
  letter-spacing: .6px;
  line-height: 1.4;
  text-transform: none;
  text-align: center;
  white-space: normal;
}
