*{box-sizing:border-box}:root{--purple:#4c2a6b;--purple2:#2d183f;--orange:#f2761b;--bg:#f6f7fb;--card:#fff;--line:#e3e7ef;--text:#172033;--muted:#697386;--green:#16785a;--red:#bd2948;--shadow:0 8px 30px rgba(31,36,50,.08)}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr}.brand-panel{background:linear-gradient(145deg,var(--purple2),var(--purple));color:#fff;padding:8vw;display:flex;flex-direction:column;justify-content:center}.brand-panel h1{font-size:clamp(2.7rem,5vw,5rem);line-height:1;margin:.4rem 0 1rem}.brand-mark{width:64px;height:64px;border-radius:18px;background:var(--orange);display:grid;place-items:center;font-weight:900;font-size:24px}.brand-mark.small{width:44px;height:44px;border-radius:12px;font-size:17px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.74rem;color:var(--orange);margin:0 0 .4rem}.lead{font-size:1.15rem;opacity:.85}.flow-mini{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:30px}.flow-mini span{padding:9px 13px;border:1px solid #ffffff44;border-radius:999px}.login-card{margin:auto;width:min(440px,88%);background:#fff;padding:38px;border-radius:24px;box-shadow:var(--shadow)}label{display:grid;gap:7px;font-weight:700;margin:15px 0}input,select,textarea{border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff;outline:none;width:100%}textarea{min-height:110px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #4c2a6b20}.muted{color:var(--muted)}.fine{font-size:.8rem;color:var(--muted)}.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:800;cursor:pointer}.primary{background:var(--orange);color:#fff}.secondary{background:var(--purple);color:#fff}.danger{background:var(--red);color:#fff}.ghost{background:#eef1f6;color:var(--text)}.full{width:100%}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:26px;position:sticky;top:0;z-index:5}.logo-wrap,.userbox{display:flex;align-items:center;gap:11px}.logo-wrap small,.userbox small{display:block;color:var(--muted)}nav{display:flex;gap:4px;margin-left:auto}.nav{border:0;background:transparent;padding:10px 14px;border-radius:9px;font-weight:800;color:var(--muted);cursor:pointer}.nav.active{background:#f0eaf5;color:var(--purple)}main{max-width:1400px;margin:auto;padding:28px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-head h1{font-size:2.1rem;margin:.2rem 0}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px}.metric,.card,.detail-head,.history-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.metric b{font-size:1.8rem}.metric span{display:block;color:var(--muted);font-size:.85rem}.toolbar{display:flex;gap:12px;margin-bottom:18px}.toolbar input{flex:1}.cards{display:grid;gap:14px}.request-card{display:grid;grid-template-columns:1fr auto;gap:18px}.card-head{display:flex;justify-content:space-between;gap:14px}.card-head h3{margin:0}.meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:.88rem;margin:12px 0}.owner{background:#f6f0fa;border-left:4px solid var(--purple);padding:10px 12px;border-radius:8px;font-weight:700}.badge{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:800}.draft{background:#fff4cf;color:#775500}.manager{background:#fff0e5;color:#944a05}.returned{background:#fde8ed;color:#9d1938}.cr{background:#eee8f5;color:var(--purple)}.approved{background:#e2f4ec;color:var(--green)}.cancelled{background:#eceff3;color:#606b7a}.progress{height:8px;background:#edf0f4;border-radius:99px;overflow:hidden;margin-top:12px}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--orange),var(--purple))}.detail-head{margin:16px 0}.stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.step{background:#e9edf3;padding:11px;border-radius:10px;text-align:center;font-weight:800;font-size:.82rem}.step.active{background:var(--purple);color:#fff}.step.done{background:#dff1ea;color:var(--green)}.content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;background:#fff;padding:22px;border:1px solid var(--line);border-radius:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field small{color:var(--muted)}textarea:disabled{background:#f2f4f7;color:#687385}.actionbar{display:flex;justify-content:flex-end;gap:10px;margin:16px 0;flex-wrap:wrap}.history-item{display:grid;grid-template-columns:170px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.notice{padding:14px;border-radius:12px;margin:12px 0}.warning{background:#fff1e3;color:#8c4c0c;border:1px solid #ffd2a8}.empty{text-align:center;padding:60px;color:var(--muted)}dialog{border:0;border-radius:20px;padding:0;width:min(650px,92vw);box-shadow:0 30px 80px #0004}dialog::backdrop{background:#14101e88}.modal-form{padding:26px}.modal-head,.modal-actions{display:flex;align-items:center;justify-content:space-between}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px}.icon-btn{border:0;background:#edf0f4;border-radius:50%;width:36px;height:36px;font-size:22px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.toast{position:fixed;right:24px;top:92px;background:var(--text);color:#fff;padding:13px 18px;border-radius:11px;z-index:20;opacity:0;transform:translateY(-8px);transition:.2s}.toast.show{opacity:1;transform:none}@media(max-width:900px){.login-shell{grid-template-columns:1fr}.brand-panel{padding:50px 28px}.login-card{margin:28px auto}.metrics{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.request-card{grid-template-columns:1fr}.topbar{padding:0 14px}.stepper{grid-template-columns:1fr 1fr}main{padding:18px}}
.area-section{grid-column:1/-1;padding:14px 16px;border-radius:12px;margin-top:8px}.area-section.manager-area{background:#fff3e8;border-left:5px solid var(--orange)}.area-section.cr-area{background:#f2ecf7;border-left:5px solid var(--purple)}.area-section h3{margin:0 0 4px}.rule-card{display:grid;grid-template-columns:1fr 180px 140px;gap:14px;align-items:center}.required-mark{color:var(--red);font-weight:900}.flow-lane{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.lane{padding:15px;border-radius:12px}.lane.manager{background:#fff3e8}.lane.cr{background:#f2ecf7}@media(max-width:700px){.rule-card,.flow-lane{grid-template-columns:1fr}}
.field-help{color:var(--muted);font-size:.82rem;margin-top:-2px}.field-owner{font-size:.75rem;color:var(--muted);font-weight:700}.required-chip{background:#fde8ed;color:#9d1938;border-radius:999px;padding:3px 7px;font-size:.7rem}.optional-chip{background:#edf1f6;color:#657081;border-radius:999px;padding:3px 7px;font-size:.7rem}.field-actions{display:flex;gap:8px;justify-content:flex-end}.config-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.config-chip{padding:5px 9px;border-radius:999px;background:#eef1f6;font-size:.76rem;font-weight:800}.checkbox-control{display:flex!important;align-items:center;gap:9px}.checkbox-control input{width:auto}.select-control{min-height:44px}
.toolbar input{min-width:260px;display:block}.toolbar select{min-width:220px}.access-code-box{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:#f6f0fa;border:1px solid #ded2e8;border-radius:14px;padding:16px;margin:18px 0}.access-code-box small{grid-column:1/-1;color:var(--muted);font-weight:800}.access-code-box strong{font-size:1.25rem;letter-spacing:.06em;color:var(--purple)}.manager-created-highlight{outline:3px solid #f2761b33}@media(max-width:650px){.toolbar{flex-direction:column}.toolbar input,.toolbar select{min-width:0;width:100%}.access-code-box{grid-template-columns:1fr}}
.user-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.user-actions .btn{padding:8px 12px}.danger-soft{background:#fff0f2;color:#a51d3d;border:1px solid #f1c5ce}.user-card.inactive{opacity:.68}.code-note{padding:12px;background:#fff7ed;border-radius:10px;color:#8a4a14}
.help-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:6px;border:1px solid #79558f;border-radius:50%;background:#f7f1fa;color:#59336f;font-size:.75rem;font-weight:900;cursor:help;vertical-align:middle}.field-label-row{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.approved-readonly-note{grid-column:1/-1;padding:12px 14px;border-radius:12px;background:#edf8f2;color:#236141;font-weight:700;border:1px solid #cbe8d6}
.mapping-grid{display:grid;gap:12px}.mapping-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.4fr) minmax(160px,.8fr);gap:12px;align-items:end;padding:15px;background:#fff;border:1px solid #e4dce8;border-radius:14px}.mapping-marker{font-family:ui-monospace,monospace;font-weight:800;color:#59336f}.mapping-row label{margin:0}.mapping-row select,.mapping-row input{margin-top:5px}@media(max-width:800px){.mapping-row{grid-template-columns:1fr}}
/* Identidade visual HUB Carreira & Recompensa */
.hub-logo{display:block;object-fit:contain;background:#fff;border-radius:14px}
.hub-logo-login{width:min(320px,80%);max-height:210px;margin:0 0 22px;box-shadow:0 12px 30px rgba(50,17,90,.12)}
.hub-logo-header{width:58px;height:58px;border-radius:12px;box-shadow:0 4px 12px rgba(50,17,90,.12)}
.logo-wrap{gap:12px}
.logo-wrap strong{color:#4d168b}
@media(max-width:760px){.hub-logo-header{width:44px;height:44px}.logo-wrap strong{font-size:14px}.hub-logo-login{width:min(250px,75%);max-height:165px}}

/* Ajuste final: logo menor e sem cartao/fundo */
.hub-logo{background:transparent!important;border-radius:0!important;box-shadow:none!important}
.hub-logo-login{width:min(210px,58%)!important;max-height:150px!important;margin:0 0 18px!important}
.hub-logo-header{width:42px!important;height:42px!important}
@media(max-width:760px){.hub-logo-login{width:min(175px,52%)!important;max-height:125px!important}.hub-logo-header{width:36px!important;height:36px!important}}

/* Ajuste final: somente o simbolo HB */
.hub-logo-login{width:min(150px,42%)!important;max-height:125px!important;margin:0 0 20px!important}
.hub-logo-header{width:38px!important;height:38px!important}
@media(max-width:760px){.hub-logo-login{width:min(125px,38%)!important;max-height:105px!important}.hub-logo-header{width:34px!important;height:34px!important}}

/* Aviso de suporte no acesso */
.access-help{margin-top:12px;padding:14px 15px;border:1px solid #e4dce8;border-radius:12px;background:#f4f1f7;color:#352145;display:grid;gap:4px;line-height:1.4}
.access-help strong{font-size:14px;color:#4d168b}
.access-help span{font-size:13px;color:#665b70}

/* Mobile-first responsive improvements */
@media (max-width: 900px){
  body{overflow-x:hidden}
  .login-shell{grid-template-columns:1fr;min-height:100svh}
  .brand-panel{padding:34px 22px 28px;min-height:auto;justify-content:flex-start}
  .brand-panel h1{font-size:clamp(2rem,10vw,3rem);line-height:1.04;margin:.35rem 0 .75rem}
  .brand-panel .lead{font-size:1rem;line-height:1.5;margin:.35rem 0}
  .flow-mini{margin-top:18px;gap:7px}.flow-mini span{font-size:.84rem;padding:7px 10px}.flow-mini b{font-size:.8rem}
  .login-card{width:100%;max-width:none;margin:0;border-radius:0;padding:28px 22px;box-shadow:none}

  .topbar{height:auto;min-height:0;position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px 12px;background:#fff;border-bottom:1px solid var(--line)}
  .logo-wrap{min-width:0}.logo-wrap>div{min-width:0}.logo-wrap strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.86rem}.logo-wrap small{font-size:.7rem}
  .userbox{gap:7px;min-width:0}.userbox>div{display:none}.userbox .btn{padding:9px 11px}
  .topbar nav{grid-column:1/-1;order:3;width:100%;display:flex;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:2px 0 4px;-webkit-overflow-scrolling:touch}
  .topbar nav::-webkit-scrollbar{display:none}
  .nav{flex:0 0 auto;min-height:42px;padding:10px 15px;white-space:nowrap;border-radius:11px;background:#f3f1f6}
  .nav.active{background:var(--purple);color:#fff}
  main{padding:18px 12px 30px;max-width:100%;overflow:hidden}
  .page-head{align-items:flex-start;gap:12px;flex-direction:column}.page-head>div:last-child{width:100%;display:flex;gap:8px;flex-wrap:wrap}.page-head .btn{flex:1 1 auto}
  .filters{grid-template-columns:1fr!important;gap:10px}.row{grid-template-columns:1fr!important}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}.stat{padding:13px}.stat strong{font-size:1.35rem}
  .cards{grid-template-columns:1fr!important}.card{padding:15px;overflow-wrap:anywhere}.card-head{align-items:flex-start;gap:8px}.card-head>div:first-child{min-width:0}
  .meta{grid-template-columns:1fr!important;gap:7px}.user-actions,.modal-actions,#actions{display:flex;flex-wrap:wrap;gap:8px}.user-actions .btn,.modal-actions .btn,#actions .btn{flex:1 1 145px}
  dialog{width:calc(100% - 20px)!important;max-width:none!important;max-height:calc(100svh - 20px);margin:10px;border-radius:18px}.modal-form{padding:18px!important;max-height:calc(100svh - 20px);overflow:auto}
  .mapping-row{grid-template-columns:1fr!important}.mapping-grid{gap:9px}
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
}
@media (max-width: 520px){
  .brand-panel{padding:28px 18px 24px}.hub-logo-login{width:105px!important;max-height:82px!important;margin-bottom:14px!important}
  .login-card{padding:24px 18px}.login-card h2{font-size:1.7rem}.login-card .muted{font-size:.92rem;line-height:1.45}
  input,select,textarea{font-size:16px;padding:13px 12px}.btn{min-height:44px}
  .stats{grid-template-columns:1fr 1fr!important}.stat{min-width:0}
  .topbar{padding:9px 10px}.hub-logo-header{width:32px!important;height:32px!important}.logo-wrap small{display:none}
  .nav{padding:10px 13px;font-size:.88rem}.page-head h1{font-size:1.7rem}
  .flow-mini{display:grid;grid-template-columns:1fr}.flow-mini b{display:none}.flow-mini span{text-align:center}
  .access-help{padding:12px}
}

/* Mobile hardening */
html,body{max-width:100%;overflow-x:hidden}img{max-width:100%}main{min-width:0}.topbar>*{min-width:0}
@media(max-width:900px){
 .topbar{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px 12px;background:#fff;border-bottom:1px solid var(--line)}
 .topbar .logo-wrap{grid-column:1;min-width:0}.topbar .logo-wrap div{min-width:0}.topbar .logo-wrap strong,.topbar .logo-wrap small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
 .topbar .userbox{grid-column:2;grid-row:1;gap:6px}.topbar .userbox>div{display:none}.topbar .userbox .btn{padding:9px 12px}
 .topbar nav{grid-column:1/-1;grid-row:2;display:flex;width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;gap:7px;padding:2px 0 5px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .topbar nav::-webkit-scrollbar{display:none}.topbar nav .nav{flex:0 0 auto;min-height:42px;padding:9px 14px;scroll-snap-align:start;white-space:nowrap}.topbar nav .nav.active{background:var(--purple);color:#fff}
 main{padding:16px 12px 90px}.page-head{align-items:stretch;gap:12px}.page-head>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.page-head .btn{flex:1 1 auto}
 .cards,.stats,.grid,.detail-grid{grid-template-columns:1fr!important}.card{min-width:0;padding:15px}.meta{flex-direction:column;align-items:flex-start;gap:6px}
 .toolbar,.row,.modal-actions,.user-actions{flex-direction:column;align-items:stretch}.toolbar>*{width:100%;min-width:0}.user-actions .btn,.modal-actions .btn{width:100%}
 dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:92dvh;margin:auto;padding:0}.modal-form{padding:18px;max-height:92dvh;overflow:auto}.modal-head{position:sticky;top:-18px;background:#fff;z-index:2;padding-top:4px}
 table{min-width:680px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}textarea{min-height:130px}.mapping-row{grid-template-columns:1fr!important}
}
@media(max-width:620px){
 .login-shell{display:block;min-height:100dvh}.brand-panel{padding:30px 22px 24px;min-height:auto}.brand-panel h1{font-size:clamp(2.2rem,12vw,3.5rem)}.brand-panel .lead{font-size:1rem}.flow-mini{display:none}
 .login-card{width:100%;margin:0;border-radius:24px 24px 0 0;padding:26px 20px;box-shadow:none;min-height:52dvh}.login-card .eyebrow{margin-top:0}
 h1{font-size:1.8rem}h2{font-size:1.35rem}.page-head{flex-direction:column}.btn{min-height:44px}input,select,textarea{font-size:16px;min-height:46px}
 .toast{left:12px;right:12px;bottom:16px;max-width:none}.hub-logo-login{width:105px!important;max-height:90px!important}
}

/* Correcao de login em celulares */
#loginForm{position:relative;z-index:2}
#loginForm input,#loginForm button{touch-action:manipulation}
#loginForm .btn[type="submit"]{display:block;width:100%;min-height:48px;position:relative;z-index:3}
#loginForm .btn[type="submit"]:disabled{opacity:.72;cursor:wait}
@media(max-width:620px){
 body{min-height:100dvh}.login-shell{min-height:100dvh;overflow:visible}.brand-panel{min-height:260px}.login-card{display:block;overflow:visible;padding-bottom:max(28px,env(safe-area-inset-bottom))}#loginForm input{font-size:16px!important}#loginForm label{display:block}#loginForm label input{margin-top:7px}.toast{z-index:9999}
}

/* Auditoria - melhoria aditiva */
.audit-card time{color:var(--muted);font-size:.85rem;white-space:nowrap}.audit-changes{margin-top:10px;padding:10px 12px;background:#f6f0fa;border-left:4px solid var(--purple);border-radius:8px;font-size:.88rem}@media(max-width:700px){.audit-card .card-head{flex-direction:column}.audit-card time{white-space:normal}}


/* Login mobile v2: garante foco, teclado e clique em navegadores móveis */
#loginView,
.login-shell,
.login-card,
#loginForm,
#loginForm label,
#loginForm input,
#loginForm button {
  pointer-events: auto !important;
}
.login-card,
#loginForm {
  position: relative;
  z-index: 20;
  isolation: isolate;
}
#loginForm label,
#loginForm input,
#loginForm button {
  position: relative;
  z-index: 21;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(242,118,27,.18);
}
#loginForm input {
  user-select: text;
  -webkit-user-select: text;
  cursor: text;
}
#loginForm button {
  cursor: pointer;
}
@media (max-width: 620px) {
  html, body { min-height: 100%; overflow-x: hidden; }
  #loginView { min-height: 100dvh; position: relative; z-index: 1; }
  .login-shell { display: flex; flex-direction: column; min-height: 100dvh; }
  .brand-panel { position: relative; z-index: 1; flex: 0 0 auto; }
  .login-card { flex: 1 0 auto; width: 100%; margin: 0; overflow: visible; }
  #loginForm input, #loginForm button { min-height: 48px; font-size: 16px !important; }
}

.inline-admin-form{display:grid;grid-template-columns:1fr auto;gap:10px}.inline-admin-form select{grid-column:1/-1}.admin-list{display:grid;gap:8px;margin-top:16px}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.admin-row small{color:var(--muted)}.selected-manager{padding:10px 12px;background:#f4f1f7;border-radius:10px;margin-top:-8px}@media(max-width:620px){.inline-admin-form{grid-template-columns:1fr}.inline-admin-form select{grid-column:auto}}

.admin-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.danger-soft{background:#fff0f3;color:var(--red)}@media(max-width:700px){.admin-row{align-items:flex-start;flex-direction:column}.admin-actions{width:100%;justify-content:flex-start}}

/* Campos pesquisaveis com lista de sugestoes */
input[list]{background-color:#fff}input[list]::-webkit-calendar-picker-indicator{opacity:1;cursor:pointer}

.workflow-builder{margin-top:18px}.workflow-builder .inline-admin-form{grid-template-columns:repeat(3,minmax(150px,1fr))}@media(max-width:900px){.workflow-builder .inline-admin-form{grid-template-columns:1fr}}

.additional-approval{margin:18px 0;border-left:5px solid var(--purple)}.additional-approval .meta{display:flex;gap:16px;flex-wrap:wrap}.additional-approval textarea{min-height:88px}

.optional-flow-box{padding:14px;border:1px solid var(--line);border-radius:12px;background:#faf8fc;margin:14px 0}

.approval-chip{background:#fff3e8!important;color:#8a4100!important;border:1px solid #ffd1aa}

#managerIntakesBox{margin:18px 0}.request-kind{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:620px){.request-kind{grid-template-columns:1fr}}

#crFinalOptions{margin:18px 0;border-left:5px solid var(--orange)}.final-code-action{display:flex;align-items:end;padding-bottom:1px}.optional-review{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}

.intake-row .intake-owner{display:block;color:#5b2a86;margin-top:5px;font-weight:700}.badge.progress{background:#eee6f7;color:#5b2a86}.intake-claim{white-space:nowrap}@media(max-width:700px){.intake-row .admin-actions,.intake-row .intake-claim{width:100%}}

.intake-row{align-items:center;overflow:visible}.intake-content{min-width:0;overflow-wrap:anywhere}.intake-actions{flex:0 0 auto;max-width:42%}.intake-action,.intake-status{white-space:normal;width:auto;max-width:100%;text-align:center}.intake-status{display:inline-flex;padding:9px 12px;border-radius:999px;background:#eee6f7;color:#5b2a86;font-weight:800;line-height:1.2}.triage-summary{display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#faf8fc}.triage-summary span{color:#5b2a86;font-weight:700}@media(max-width:700px){.intake-row{align-items:stretch}.intake-actions{max-width:none;width:100%}.intake-action,.intake-status{width:100%}}

.request-detail-box{padding:14px;border:1px solid var(--line);border-radius:12px;background:#faf8fc;margin:14px 0}.update-field-choices{display:grid;gap:10px}.update-choice{display:grid!important;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.update-choice input{width:auto;margin-top:4px}.update-choice small{display:block;max-height:90px;overflow:auto;margin-top:4px;color:#667085;white-space:pre-wrap}.reference-grid{display:grid;gap:10px}.reference-answer{padding:12px;background:#faf8fc;border-radius:10px}.reference-answer p{white-space:pre-wrap;margin:6px 0 0}

.intake-status.rejected{background:#fff0f3;color:#a61b38;border-radius:12px}.current-source{margin:8px 0 10px;padding:10px 12px;background:#fff7ed;border-left:4px solid #f58220;border-radius:8px}.current-source b,.current-source span{display:block}.current-source span{white-space:pre-wrap;margin-top:5px;max-height:160px;overflow:auto;color:#5f485c}

.review-scope-note{margin:0 0 16px;padding:12px 14px;background:#eef6ff;border-left:4px solid #2563eb;border-radius:9px;color:#173b69}#detailBackBtn{position:relative;z-index:2;cursor:pointer}

.update-choice-card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.update-choice-card .update-choice{border:0;border-radius:0}.proposal-box{display:grid;gap:12px;padding:14px;background:#faf8fc;border-top:1px solid var(--line)}.proposal-box textarea{min-height:115px;white-space:pre-wrap}.proposal-box textarea[readonly]{background:#eef1f5;color:#4b5563}

.rule-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:12px}.rule-card .field-actions{display:flex;gap:8px;justify-content:flex-end}.admin-fields-empty{max-width:760px;margin:20px auto}.current-source span{font-size:14px;line-height:1.45}.field textarea:disabled,.field input:disabled{background:#f3f4f6;color:#4b5563}.field-section{margin-top:18px}.field-section+.field-section{margin-top:28px}@media(max-width:720px){.rule-card{grid-template-columns:1fr}.rule-card .field-actions{justify-content:flex-start}}

.open-request-btn{min-width:96px;min-height:48px;height:auto!important;align-self:center;white-space:nowrap}.open-request-btn:disabled{opacity:.65;cursor:wait}.request-card{align-items:stretch}.request-card>div:last-child{align-items:center}

.empty.compact{padding:14px!important;min-height:auto!important}.update-field-choices{min-height:60px}.current-preview{white-space:pre-wrap;max-height:80px;overflow:auto}

/* v27 - fluxo definitivo e escopo de sugestoes */
.reference-only{background:#f3f4f6;color:#4b5563}.workflow-closed-note{border-left:5px solid var(--green)}

/* Revisao de cargos existentes - v27 */
.update-choice-card.selected{border-color:#6552c7;box-shadow:0 0 0 3px rgba(101,82,199,.10);background:#fcfbff}
.update-choice-card small{color:#6e7280}.proposal-box textarea[readonly]{background:#f5f6f8;color:#3f4652}.proposal-box label{margin-top:10px}

/* Pre-analise C&R - v29 */
.review-preview{margin:12px 0;padding:12px;border:1px solid #e4def0;border-radius:10px;background:#faf8fd}.review-preview>b{display:block;margin-bottom:8px;color:#47246d}.review-preview-list{display:flex;gap:7px;flex-wrap:wrap}.review-chip{display:flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#efe8f7;color:#512c70;font-weight:700;font-size:12px}.review-chip small{font-family:ui-monospace,monospace;color:#715c83;font-weight:600}

/* Fluxo consolidado v30 */
.reference-answer b{color:#40205f}.reference-answer p{white-space:pre-wrap}.danger-soft{border-color:#c83e56!important;color:#a11f36!important}

/* Catalogo e formulario v31 */
.current-preview{white-space:pre-line;max-height:8.5em;overflow:auto}.proposal-box textarea{white-space:pre-wrap}.update-choice span b{font-size:14px}.update-choice-card{overflow:hidden}

/* Identidade visual v32 */
.brand-logos{display:flex;align-items:center;gap:12px}.brand-logos-login{margin:0 0 20px}.brand-logos-login .hub-logo-login{width:min(125px,34%)!important;max-height:105px!important;object-fit:contain;margin:0!important}.brand-logos-login .hub-logo-new{width:min(145px,38%)!important}.brand-logos-header{flex:none;gap:7px}.brand-logos-header .hub-logo-header{width:34px!important;height:34px!important;object-fit:contain}.brand-logos-header .hub-logo-new{width:42px!important}.logo-wrap{display:flex;align-items:center;gap:10px}@media(max-width:760px){.brand-logos-header{gap:4px}.brand-logos-header .hub-logo-header{width:28px!important;height:28px!important}.brand-logos-header .hub-logo-new{width:34px!important}.logo-wrap strong{max-width:190px}.brand-logos-login{justify-content:center}}

/* Escopo de atualização C&R v33 */
.update-choice-card.selected{background:#fbf9fe}.current-preview{white-space:pre-line}

/* Mapeamento definitivo v34 */
.current-preview{font-size:12px;line-height:1.4;color:#555f70}

/* Valores do pedido nas caixas oficiais v35 */
.field textarea:disabled,.field input:disabled,.field select:disabled{opacity:1;background:#f2f4f7;color:#263143;border-color:#d7dce5;cursor:not-allowed}.current-source{display:none!important}

/* Mobile definitivo v37 */
@media(max-width:600px){
 html,body{width:100%;max-width:100%;overflow-x:hidden}
 dialog{position:fixed!important;inset:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important;overflow:hidden!important}
 dialog[open]{display:block!important}
 dialog .modal-form{height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;overscroll-behavior:contain;padding:18px 16px calc(92px + env(safe-area-inset-bottom))!important}
 dialog .modal-head{position:sticky;top:-18px;z-index:8;background:#fff;padding:18px 0 12px;margin-bottom:8px}
 dialog .modal-head h2{font-size:1.65rem;margin:4px 0}
 dialog .row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
 dialog input,dialog select,dialog textarea{width:100%!important;max-width:100%!important;font-size:16px!important}
 dialog textarea{min-height:110px}
 dialog .modal-actions{position:sticky!important;bottom:calc(-92px - env(safe-area-inset-bottom));z-index:9;display:grid!important;grid-template-columns:1fr 1.35fr!important;gap:10px!important;background:#fff;border-top:1px solid #e3e6ed;margin:20px -16px 0!important;padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important}
 dialog .modal-actions .btn{width:100%!important;min-height:48px!important;height:auto!important;flex:none!important;padding:12px 14px!important;font-size:14px!important}
 #requestDialog .update-choice-card{padding:13px!important}
 #requestDialog .update-choice{align-items:flex-start!important}
 .toast{position:fixed!important;top:auto!important;bottom:calc(14px + env(safe-area-inset-bottom))!important;left:12px!important;right:12px!important;max-width:none!important;z-index:10000!important}
}

.suggestion-note{margin:8px 0 6px;padding:7px 10px;border-left:3px solid #ef7622;background:#fff4ea;color:#7a3510;font-size:12px;border-radius:6px}

/* Observacao obrigatoria do Gestor v51 */
.manager-change-note{width:100%;flex-basis:100%;padding:14px;border:1px solid #f0c59f;border-left:4px solid #ef7622;background:#fff8f1;border-radius:12px;margin-bottom:10px}.manager-change-note label{display:grid;gap:7px}.manager-change-note small{color:#667085}.manager-change-note textarea{width:100%;min-height:92px;font-size:16px;background:#fff}

/* Campos configurados do Gestor v52 */
.configured-manager-field{display:grid;gap:7px;margin:14px 0}.configured-manager-field>input,.configured-manager-field>select,.configured-manager-field>textarea{width:100%}.configured-example{color:#667085;font-size:12px}.configured-manager-field .field-label-row>label{font-weight:700}

/* v54 - seletor controlado de cargo vigente */
.job-picker{position:relative;margin:15px 0}.job-picker>label{display:block;margin:0 0 7px;font-weight:700}.job-picker-control{position:relative}.job-picker-control input{padding-right:44px}.job-picker-toggle{position:absolute;right:3px;top:3px;bottom:3px;width:40px;border:0;background:transparent;color:#172033;cursor:pointer;border-radius:9px}.job-picker-options{position:absolute;z-index:120;top:calc(100% + 5px);left:0;right:0;max-height:min(300px,42vh);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #d8dce5;border-radius:11px;box-shadow:0 12px 32px rgba(23,32,51,.18);padding:5px}.job-picker-option{display:grid;grid-template-columns:auto 1fr;gap:4px 9px;width:100%;padding:10px 11px;border:0;border-radius:8px;background:#fff;color:#172033;text-align:left;cursor:pointer}.job-picker-option b{color:#4c2a6b}.job-picker-option span{min-width:0;overflow-wrap:anywhere}.job-picker-option small{grid-column:1/-1;color:#697386}.job-picker-option:hover,.job-picker-option.active{background:#f2ecf7;outline:2px solid rgba(76,42,107,.12)}.job-picker-message{padding:13px;color:#697386}.job-picker+.selected-manager{margin-top:-7px}@media(max-width:600px){.job-picker-options{position:fixed;left:16px;right:16px;top:auto;bottom:18px;max-height:45dvh;z-index:1000}.job-picker-option{padding:13px 11px}}

/* V66 - seletor de cargos */
.job-combobox{position:relative;margin-top:8px}.job-combobox input{padding-right:46px}.job-search-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:24px;color:#6f4a91;pointer-events:none}.job-options{position:absolute;z-index:1000;left:0;right:0;top:calc(100% + 8px);max-height:320px;overflow:auto;background:#fff;border:1px solid #ded5e7;border-radius:16px;box-shadow:0 18px 50px rgba(34,20,52,.18);padding:8px}.job-option{width:100%;display:grid;grid-template-columns:90px 1fr;gap:14px;align-items:center;border:0;background:transparent;padding:12px;border-radius:12px;text-align:left;cursor:pointer;color:#20152c}.job-option:hover,.job-option:focus{background:#f6f0fa;outline:none}.job-option-code{font-weight:800;color:#ef7622;background:#fff3e9;border:1px solid #ffd8bb;border-radius:999px;padding:6px 10px;text-align:center}.job-option-main{display:flex;flex-direction:column;min-width:0}.job-option-main b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-option-main small{color:#776b81;margin-top:3px}.job-empty{padding:18px;text-align:center;color:#776b81}.selected-manager:not(.muted){display:flex;flex-direction:column;gap:4px}.selected-manager span{font-size:13px;color:#776b81}@media(max-width:640px){.job-option{grid-template-columns:1fr;gap:6px}.job-option-code{width:max-content}.job-options{max-height:260px}}

/* V68 - comparativo da validacao */
.change-comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 12px}.change-before,.change-suggested{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:12px}.change-before{background:#f4f5f7;border:1px solid #dde1e7}.change-suggested{background:#f7f0fb;border:1px solid #d9c3e8}.change-before b,.change-suggested b{font-size:12px;text-transform:uppercase;letter-spacing:.03em}.change-before span,.change-suggested span{white-space:pre-wrap;word-break:break-word}@media(max-width:640px){.change-comparison{grid-template-columns:1fr}}

/* V71 - etapa final aprovada e download no card */
.step.approved-final{background:#dff1ea;color:#16785a;border-color:#b9dfd1;font-weight:800}
.request-card>div:last-child{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;gap:10px!important}
.request-card>div:last-child .open-request-btn,.request-card>div:last-child .approved-download{width:100%;min-width:112px;margin:0!important}
.approved-download{background:#16785a;color:#fff;border:1px solid #16785a}
.approved-download:hover{background:#116247;border-color:#116247}

/* ===================================================================
   Base de cargos — atualização da planilha pelo ADMIN (v72)
   =================================================================== */
#jobBaseView .metrics{grid-template-columns:repeat(4,1fr)}
#jobBaseView .metric-value{font-size:1.35rem;line-height:1.25;word-break:break-word}
.import-status{margin:0 0 18px;padding:0;font-weight:700;color:var(--muted)}
.import-status:not(:empty){padding:13px 15px;border-radius:12px;background:#eef1f6;border:1px solid var(--line)}
.import-status.ok{background:#e2f4ec;border-color:#c3e6d6;color:var(--green)}
.import-status.warn{background:#fff1e3;border-color:#ffd2a8;color:#8c4c0c}
.import-status.error{background:#fde8ed;border-color:#f1c5ce;color:#9d1938}
.import-status.info{background:#eee8f5;border-color:#ded2e8;color:var(--purple)}
.import-step{margin-bottom:16px}
.step-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.step-head h2{margin:0 0 3px;font-size:1.2rem}
.step-head p{margin:0}
.step-num{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--purple);color:#fff;font-weight:900}
.step-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.file-drop{border:2px dashed #cfd5df;border-radius:16px;padding:34px 20px;text-align:center;background:#fafbfd;transition:.15s;cursor:pointer}
.file-drop.dragging{border-color:var(--orange);background:#fff6ee}
.file-drop p{margin:0 0 8px;font-weight:800}
.file-drop .btn{margin-left:6px}
.map-grid{display:grid;gap:20px}
.map-group h3{margin:0 0 10px;font-size:.9rem;text-transform:uppercase;letter-spacing:.09em;color:var(--purple)}
.map-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(220px,1.1fr) minmax(180px,.9fr);gap:14px;align-items:end;padding:13px 15px;background:#fff;border:1px solid #e4dce8;border-radius:13px;margin-bottom:9px}
.map-row.required{border-left:4px solid var(--orange)}
.map-target b{display:block}
.map-target small{font-family:ui-monospace,monospace;font-size:.74rem}
.map-row label{margin:0;font-size:.82rem;color:var(--muted)}
.map-row select{margin-top:5px}
.map-flags{display:flex;gap:6px;flex-wrap:wrap}
.map-tag{border-radius:999px;padding:5px 10px;font-size:.73rem;font-weight:800;background:#eceff3;color:#606b7a}
.map-tag.ok{background:#e2f4ec;color:var(--green)}
.map-tag.warn{background:#fff1e3;color:#8c4c0c}
.map-tag.danger{background:#fde8ed;color:#9d1938}
.danger-text{color:var(--red)}
.preview-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin:6px 0 12px}
.preview-table{border-collapse:collapse;width:100%;font-size:.83rem;min-width:760px}
.preview-table th,.preview-table td{text-align:left;padding:9px 11px;border-bottom:1px solid var(--line);vertical-align:top}
.preview-table th{background:#f6f0fa;color:var(--purple);font-weight:800;white-space:nowrap}
.preview-table tr:last-child td{border-bottom:0}
.checkbox-inline{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;font-weight:700;align-self:end;margin:0}
.checkbox-inline input{width:auto;min-width:0;justify-self:start}
.checkbox-inline > span{min-width:0}
#jobImportHistory .admin-row small{display:block;color:var(--muted);font-weight:600}
#jobProgress{height:10px;margin:6px 0 4px}
@media(max-width:900px){#jobBaseView .metrics{grid-template-columns:repeat(2,1fr)}.map-row{grid-template-columns:1fr}.step-actions{margin-left:0;width:100%}}
.checkbox-inline.standalone{margin:14px 0 4px;align-items:start}
.checkbox-inline.standalone input{margin-top:3px}
.checkbox-inline small{font-weight:600;display:block;margin-top:3px}
/* Cadastro manual de cargos e exportação (v74) */
.job-row{align-items:flex-start}
.job-row.inactive{opacity:.62}
.job-row-main{display:grid;gap:5px}
.job-row-main small{color:var(--muted)}
.job-row .admin-actions{display:flex;gap:8px;flex-wrap:wrap}
.job-row .admin-actions .btn{padding:8px 12px}
.list-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap}
.list-pager .btn:disabled{opacity:.45;cursor:default}
#jobBaseView .toolbar{align-items:center}
.wide-dialog{width:min(860px,94vw)}
.wide-dialog .modal-form{max-height:86vh;overflow-y:auto}
.form-section{margin:22px 0 2px;font-size:.85rem;text-transform:uppercase;letter-spacing:.09em;color:var(--purple);border-top:1px solid var(--line);padding-top:16px}
#jobFormOrigin{background:#f4f1f7;border:1px solid #e4dce8;color:#4a3358;font-size:.86rem;font-weight:600}
#jobForm textarea{min-height:72px}
/* Correções de layout do card de cargos */
#jobBaseView .card-head{align-items:flex-start}
#jobBaseView .card-head p{margin:.3rem 0 0}
#jobBaseView .card-head .btn{flex:0 0 auto;white-space:nowrap;align-self:flex-start}
#jobBaseView .toolbar .checkbox-inline{flex:0 0 auto;margin:0;white-space:nowrap}
#jobBaseView .toolbar .checkbox-inline input{flex:0 0 auto;width:auto;min-width:0}
.import-step .step-actions .checkbox-inline{margin:0;white-space:nowrap}
@media(max-width:700px){#jobBaseView .step-actions{flex-direction:column;align-items:stretch;gap:10px}#jobBaseView .step-actions .checkbox-inline{white-space:normal}#jobBaseView .row{grid-template-columns:1fr}#jobBaseView .toolbar{flex-direction:column;align-items:stretch}#jobBaseView .toolbar .checkbox-inline{white-space:normal}.job-row .admin-actions .btn{flex:1 1 auto}.list-pager{display:grid;grid-template-columns:1fr 1fr;gap:10px}#jobListCount{grid-column:1/-1;order:-1;text-align:center}}

/* ===================================================================
   Correções de mobile
   =================================================================== */
/* O bloco <style> do cabeçalho força #login.login-shell{display:block!important}
   abaixo de 700px. Como #login.login-shell (0,1,1,0) tem especificidade maior que
   .hidden (0,0,1,0), a tela de login continuava visível depois de entrar e o
   portal começava ~550px abaixo. Esta regra tem especificidade maior ainda. */
#login.login-shell.hidden,
#login.hidden { display:none!important; }

/* Pesquisa de cargo vigente: opcao em foco pelo teclado e cabecalho da lista */
.job-option:hover,.job-option.active{background:#f4eff9;outline:2px solid #6f4a91;outline-offset:-2px}
.job-hint{padding:8px 12px 10px;color:#776b81;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.job-search-icon{pointer-events:auto;cursor:pointer}

/* Aviso do cartão de login (cadastro inativo, não cadastrado, falha de conexão) */
.login-notice{margin:14px 0 0;padding:13px 15px;border-radius:12px;background:#fff1e3;border:1px solid #ffd2a8;color:#8a4a14;font-size:.9rem;font-weight:600;line-height:1.45}

/* Explicação do campo ("?"): o texto fica escondido no botão e é exibido em um
   balão posicionado na tela, que não é cortado pelo cartão nem pelo diálogo. */
.help-tip .help-popover{display:none}
.help-tip{cursor:help}
.help-bubble{position:fixed;z-index:2147483000;max-width:420px;max-height:min(60vh,420px);overflow:auto;padding:12px 14px;border-radius:12px;background:#1d2435;color:#fff;font-size:.86rem;font-weight:500;line-height:1.5;box-shadow:0 14px 38px rgba(17,24,39,.32);white-space:pre-line;overflow-wrap:anywhere}
.help-bubble.hidden{display:none}
@media(max-width:760px){.help-bubble{font-size:.9rem;max-width:calc(100vw - 24px)}}
.rule-card.chave-repetida{border-color:#f1c5ce;box-shadow:0 0 0 2px #fdecef inset}

/* v84/v85 - perfil ADMIN selecionavel, badges por perfil de usuario e seletor de area do ADMIN */
.admin-role{background:var(--purple2);color:#fff}
.approver-role{background:#e7f1ff;color:#1c5faa}
#newRoleAdminHint,#editRoleAdminHint{font-weight:600;color:var(--muted);margin-top:2px}
.area-picker-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--purple2),var(--purple));padding:32px}
.area-picker-card{width:min(560px,94%);background:#fff;border-radius:24px;padding:44px 40px;box-shadow:var(--shadow);text-align:center}
.area-picker-logos{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:18px}
.area-picker-logos .hub-logo{height:46px;width:auto;object-fit:contain}
.area-picker-card h1{margin:6px 0 10px;font-size:1.7rem;color:var(--purple2)}
.area-picker-card .eyebrow{margin-bottom:0}
.area-picker-card .muted{margin:0 0 26px;font-size:.94rem;line-height:1.5}
.area-picker-options{display:grid;gap:14px;text-align:left}
.area-picker-btn{border:2px solid var(--line);background:#fff;border-radius:16px;padding:18px 20px;display:grid;gap:6px;cursor:pointer;transition:.15s;text-align:left;width:100%}
.area-picker-btn:hover,.area-picker-btn:focus-visible{border-color:var(--orange);box-shadow:0 8px 22px rgba(242,118,27,.16);transform:translateY(-1px);outline:none}
.area-picker-btn-title{font-weight:900;font-size:1.05rem;color:var(--purple2)}
.area-picker-btn-desc{font-size:.86rem;color:var(--muted);line-height:1.4}
.area-picker-btn--portal{border-color:#ffd9b8;background:#fff8f2}
.area-picker-btn--admin{border-color:#e3d7f0;background:#f9f5fc}
.area-picker-logout{margin-top:26px}
@media(max-width:620px){.area-picker-card{padding:32px 22px;border-radius:18px}.area-picker-card h1{font-size:1.4rem}}

/* v86 - retentativa de detalhes do cargo (Atualizar cargo existente) */
.job-details-retry{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;grid-column:1/-1}
.job-details-retry .btn{flex:0 0 auto}
@media(max-width:640px){.job-details-retry{flex-direction:column;align-items:stretch}}

/* v88 - Natureza da carreira e trilha nivelada Junior/Pleno/Senior */
.job-levels-notice{background:#f2ecf7;color:#4c2a6b;border:1px solid #ded2e8;line-height:1.5}
.job-levels-notice.warning{background:#fff1e3;color:#8c4c0c;border:1px solid #ffd2a8}
#careerNatureField select{margin-top:5px}
.level-chip{display:inline-block;margin-left:8px;padding:3px 9px;border-radius:999px;font-size:.7rem;font-weight:800;letter-spacing:.02em;background:#f2ecf7;color:#4c2a6b;vertical-align:middle}
.level-chip-shared{background:#e2f4ec;color:var(--green)}
.update-choice-card--niveis{border-left:4px solid #4c2a6b}
.proposal-box-niveis .fine{margin:0 0 10px;color:var(--muted)}
.proposal-levels-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}
.proposal-level{background:#faf8fc;border:1px solid #e4dce8;border-radius:10px;padding:12px;display:grid;gap:8px}
.proposal-level b{color:#4c2a6b;font-size:.82rem}
.proposal-level textarea{width:100%}
@media(max-width:820px){.proposal-levels-grid{grid-template-columns:1fr}}
.niveis-suggestion-panel{background:#f6f0fa;border-left:4px solid #4c2a6b}
.niveis-linha{margin-top:10px;padding-top:10px;border-top:1px solid #e4dce8}
.niveis-linha:first-of-type{margin-top:6px;border-top:0;padding-top:0}
.niveis-linha-titulo{font-weight:800;color:#4c2a6b;margin-bottom:6px;font-size:.86rem}
.niveis-linha-colunas{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.niveis-col{background:#fff;border:1px solid #e4dce8;border-radius:9px;padding:9px 11px;font-size:.86rem}
.niveis-col b{display:block;color:#4c2a6b;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.niveis-col span{white-space:pre-wrap;word-break:break-word;color:#3a3145}
.niveis-col em{color:#9992a3;font-style:italic}
@media(max-width:820px){.niveis-linha-colunas{grid-template-columns:1fr}}

/* v89 - tela "O que precisa ser atualizado?" mais simples e limpa */
/* Conteudo atual recolhido: mostra so um resumo de 2 linhas com desvanecer.
   O texto completo aparece na caixa "Conteudo atual" ao marcar o item. */
.update-choice .current-preview{
 display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
 overflow:hidden;max-height:2.9em;white-space:normal;
 font-size:12px;line-height:1.45;color:#6b7280;margin-top:4px
}
.update-choice-card.selected .current-preview{
 -webkit-line-clamp:unset;max-height:none;color:#8a92a0
}
.update-choice-card{border:1px solid #e6e2ee;border-radius:12px;transition:border-color .15s,box-shadow .15s}
.update-choice-card.selected{border-color:#6552c7;box-shadow:0 2px 10px rgba(101,82,199,.10)}
.update-choice{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:14px}
.update-choice input{margin-top:3px;width:18px;height:18px;flex:none}
.update-choice span b{font-size:14px}
/* Aviso do cargo nivelado, versao compacta */
.compact-banner{padding:13px 15px}
.compact-banner .banner-title{font-weight:800;color:#4c2a6b;font-size:.95rem}
.nivel-code-row{display:flex;gap:8px;flex-wrap:wrap;margin:9px 0}
.nivel-code-pill{background:#fff;border:1px solid #ded2e8;border-radius:999px;padding:4px 11px;font-size:.8rem;color:#4c2a6b}
.nivel-code-pill b{color:#20152c}
.nivel-code-pill em{color:#9992a3}
.compact-banner .banner-hint{font-size:.83rem;color:#5f5470;line-height:1.45}
/* Selo por nivel / compartilhado, mais discreto */
.level-chip{font-size:.66rem;padding:2px 8px}

/* v89 - caixas de "Conteudo atual" (somente leitura) mais compactas */
.proposal-box textarea[readonly]{min-height:52px;max-height:120px;font-size:12.5px;background:#f4f2f8;color:#5b5470}
.proposal-box label{font-size:.82rem;color:#5f5470}
.proposal-level{padding:11px;gap:6px}
.proposal-level b{font-size:.8rem}
.proposal-box textarea:not([readonly]){min-height:70px}

/* v90 - suporte a trilhas com 3 (Tec.-Adm.) ou 4 niveis (Operacional) */
.proposal-levels-grid.niveis-cols-3{grid-template-columns:repeat(3,1fr)}
.proposal-levels-grid.niveis-cols-4{grid-template-columns:repeat(4,1fr)}
.niveis-linha-colunas.niveis-cols-3{grid-template-columns:repeat(3,1fr)}
.niveis-linha-colunas.niveis-cols-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1024px){.proposal-levels-grid.niveis-cols-4,.niveis-linha-colunas.niveis-cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.proposal-levels-grid,.niveis-linha-colunas,.proposal-levels-grid.niveis-cols-3,.proposal-levels-grid.niveis-cols-4,.niveis-linha-colunas.niveis-cols-3,.niveis-linha-colunas.niveis-cols-4{grid-template-columns:1fr}}

/* v91 - janela da solicitacao mais larga quando o cargo e nivelado */
#requestDialog.dialog-niveis-3{width:min(1040px,96vw)}
#requestDialog.dialog-niveis-4{width:min(1240px,97vw)}
/* Caixas por nivel maiores e mais confortaveis para digitar */
#requestDialog.dialog-niveis-3 .proposal-level,
#requestDialog.dialog-niveis-4 .proposal-level{padding:14px}
#requestDialog .proposal-level textarea[readonly]{min-height:64px;max-height:150px}
#requestDialog .proposal-level textarea:not([readonly]){min-height:110px}
#requestDialog .proposal-level b{font-size:.86rem}
/* Painel de sugestoes por nivel (tela de detalhe) tambem com colunas maiores */
.niveis-col{padding:11px 13px}
.niveis-col span{font-size:.9rem;line-height:1.5}
@media(max-width:1080px){#requestDialog.dialog-niveis-3,#requestDialog.dialog-niveis-4{width:min(96vw,1040px)}}

/* v92 - campos do Gestor por nivel na criacao de cargo novo nivelado */
.configured-manager-field--niveis{border:1px solid #e4dce8;border-radius:12px;padding:14px;background:#faf8fc;margin-bottom:12px}
.configured-manager-field--niveis .proposal-levels-grid{margin-top:8px}
.configured-manager-field--niveis .proposal-level textarea:not([readonly]){min-height:96px}
.configured-manager-field--niveis .proposal-level input,.configured-manager-field--niveis .proposal-level select{width:100%}

/* v95 - area de trabalho ampliada e leitura melhor */
#requestDialog{width:min(1040px,96vw);max-width:1040px}
#requestDialog.dialog-niveis-3,#requestDialog.dialog-niveis-4{width:min(1480px,98vw);max-width:1480px}
.configured-manager-field textarea{min-height:118px;line-height:1.55}
#requestDialog .modal-form,.modal-form{padding:26px 30px 34px}
.local-base-notice{padding:12px 14px;margin:0 0 14px;border-left:4px solid #ef7b22;background:#fff7ed;color:#6b3b13;font-weight:700;border-radius:8px}
#jobListBox{min-height:240px}
@media(max-width:800px){#requestDialog,#requestDialog.dialog-niveis-3,#requestDialog.dialog-niveis-4{width:98vw;max-width:98vw}.modal-form{padding:18px}}
/* V103 - triagem organizada */
#triageDialog{width:min(980px,96vw);max-width:980px}
#triageDialog .modal-form{max-width:none;padding:28px}
#triageSummary{display:block;background:#f7f5fb;border:1px solid #e5def0;border-radius:18px;padding:18px;max-height:52vh;overflow:auto}
.triage-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid #e5def0}
.triage-hero b{display:block;font-size:1.2rem;color:#111d35}.triage-hero span{display:block;color:#5f4a83;margin-top:4px}
.triage-badge{background:#5b2a82!important;color:#fff!important;padding:7px 12px;border-radius:999px;font-weight:700;white-space:nowrap}
.triage-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.triage-meta span{background:#fff;border:1px solid #e7e1ee;border-radius:12px;padding:10px}.triage-meta b{display:block;font-size:.72rem;text-transform:uppercase;color:#79539b;margin-bottom:4px}
.triage-note{background:#fff8ef;border-left:4px solid #f47721;border-radius:10px;padding:12px;margin-bottom:14px}.triage-note p{margin:5px 0 0;white-space:pre-wrap}
.triage-fields{display:grid;gap:12px}.triage-field{background:#fff;border:1px solid #e7e1ee;border-radius:14px;padding:14px}.triage-field h4{margin:0 0 10px;color:#30134a}.triage-level-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.triage-level{background:#faf9fc;border-radius:10px;padding:10px}.triage-level span{font-size:.72rem;text-transform:uppercase;font-weight:800;color:#f47721}.triage-level p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:700px){.triage-meta{grid-template-columns:1fr}.triage-hero{flex-direction:column}.triage-level-grid{grid-template-columns:1fr}}

/* ---------------------------------------------------------------------------
   Campos que se repetem por nível (Júnior/Pleno/Sênior, módulos do Operacional)
--------------------------------------------------------------------------- */
.nivel-campos{display:grid;gap:10px;margin-top:6px}
.nivel-campos-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.nivel-campos-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.nivel-campos-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.nivel-campo{display:flex;flex-direction:column;gap:5px;min-width:0;padding:10px;
  border:1px solid var(--line);border-radius:10px;background:#faf8fc}
.nivel-campo-titulo{font-size:.7rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--purple)}
.nivel-campo textarea{min-height:96px}
.nivel-campo textarea,.nivel-campo input,.nivel-campo select{width:100%;background:#fff}
.nivel-campo :disabled{background:#f4f5f8}

@media(max-width:900px){
  .nivel-campos-2,.nivel-campos-3,.nivel-campos-4{grid-template-columns:minmax(0,1fr)}
}
/* Campo obrigatório que ficou sem preenchimento, apontado antes de enviar. */
.field.campo-faltando{position:relative;border-radius:12px;
  box-shadow:0 0 0 2px #f3b0be inset;background:#fff7f8;padding:10px;margin:-10px -10px 4px}
.field.campo-faltando > .field-label-row label{color:#9d1938}

/* Códigos por nível nas Opções finais de C&R (Operacional 4, Téc.-Adm. 3). */
.codigos-nivel{padding:14px;border:1px solid var(--line);border-radius:12px;background:#faf8fc}
.codigos-nivel>b{color:var(--purple)}
.codigos-nivel>p{margin:6px 0 12px}
.codigos-nivel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:12px}
.codigos-nivel-grid label{margin:0;font-size:.9rem}
@media(max-width:700px){.codigos-nivel-grid{grid-template-columns:1fr}}

/* Controle de tema e idioma (barra superior, login e seletor de área). */
.prefs{display:flex;align-items:center;gap:6px}
.prefs-tema{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:9px;width:36px;height:36px;cursor:pointer;font-size:16px;line-height:1;display:grid;place-items:center;padding:0}
.prefs-tema:hover{border-color:var(--purple)}
.prefs-idioma{width:auto;min-width:64px;padding:8px 6px;border-radius:9px;font-weight:800;font-size:.82rem;cursor:pointer}
.login-card .prefs{justify-content:flex-end;margin-bottom:6px}
#areaPicker{position:relative}
#areaPicker .prefs{position:absolute;top:18px;right:18px}
@media(max-width:900px){.prefs-tema{width:32px;height:32px}.prefs-idioma{min-width:56px;padding:6px 4px}}

/* ===== TEMA ESCURO (gerado) ===== */
:root[data-tema="escuro"]{--bg:#141824;--card:#1c2130;--line:#333a4d;--text:#e8ebf3;--muted:#a3abbd;--purple:#a78bd0;--purple2:#2d183f;--orange:#f2761b;--green:#4ec79b;--red:#ef7a92;--shadow:0 8px 30px rgba(0,0,0,.45);color-scheme:dark}
[data-tema="escuro"] body{background:var(--bg);color:var(--text)}
[data-tema="escuro"] .flow-mini span{border:1px solid #4c4c4c}
[data-tema="escuro"] .login-card{background:#252525}
[data-tema="escuro"] input,[data-tema="escuro"] select,[data-tema="escuro"] textarea{background:#252525}
[data-tema="escuro"] input:focus,[data-tema="escuro"] select:focus,[data-tema="escuro"] textarea:focus{box-shadow:0 0 0 3px rgba(0,0,0,.45)}
[data-tema="escuro"] .ghost{background:#1d2635}
[data-tema="escuro"] .topbar{background:#252525}
[data-tema="escuro"] .nav.active{background:#2b1d36}
[data-tema="escuro"] .metric,[data-tema="escuro"] .card,[data-tema="escuro"] .detail-head,[data-tema="escuro"] .history-panel{background:#252525}
[data-tema="escuro"] .owner{background:#2a1c34}
[data-tema="escuro"] .draft{background:#39331f;color:#ece3cd}
[data-tema="escuro"] .manager{background:#35271d;color:#e8d4c2}
[data-tema="escuro"] .returned{background:#351d22;color:#e4b9c3}
[data-tema="escuro"] .cr{background:#291d37}
[data-tema="escuro"] .approved{background:#1e382c}
[data-tema="escuro"] .cancelled{background:#1e2835;color:#c0c5cd}
[data-tema="escuro"] .progress{background:#1d2836}
[data-tema="escuro"] .step{background:#1d2837}
[data-tema="escuro"] .step.done{background:#1f392f}
[data-tema="escuro"] .content-grid{background:#252525}
[data-tema="escuro"] textarea:disabled{background:#1c2634;color:#bbc0c9}
[data-tema="escuro"] .warning{background:#36291d;color:#e8d5c2;border:1px solid #5d4c3c}
[data-tema="escuro"] dialog{box-shadow:0 30px 80px rgba(0,0,0,.45)}
[data-tema="escuro"] .icon-btn{background:#1d2836}
[data-tema="escuro"] .area-section.manager-area{background:#35281c}
[data-tema="escuro"] .area-section.cr-area{background:#2a1d35}
[data-tema="escuro"] .lane.manager{background:#35281c}
[data-tema="escuro"] .lane.cr{background:#2a1d35}
[data-tema="escuro"] .required-chip{background:#351d22;color:#e4b9c3}
[data-tema="escuro"] .optional-chip{background:#1d2835;color:#bcc2cb}
[data-tema="escuro"] .config-chip{background:#1d2635}
[data-tema="escuro"] .access-code-box{background:#2a1c34;border:1px solid #4e3c5d}
[data-tema="escuro"] .code-note{background:#34291c;color:#e7d2c0}
[data-tema="escuro"] .help-tip{background:#2c1c34;color:#d7c3e3}
[data-tema="escuro"] .approved-readonly-note{background:#1d3528;color:#c9ead9;border:1px solid #3c5d48}
[data-tema="escuro"] .mapping-row{background:#252525;border:1px solid #523d5c}
[data-tema="escuro"] .mapping-marker{color:#d7c3e3}
[data-tema="escuro"] .logo-wrap strong{color:#d2bfe7}
[data-tema="escuro"] .access-help{border:1px solid #523d5c;background:#281c34;color:#e2d6eb}
[data-tema="escuro"] .access-help strong{color:#d2bfe7}
[data-tema="escuro"] .access-help span{color:#cac4cf}
[data-tema="escuro"] .audit-changes{background:#2a1c34}
[data-tema="escuro"] .selected-manager{background:#281c34}
[data-tema="escuro"] input[list]{background-color:#252525}
[data-tema="escuro"] .optional-flow-box{background:#261b32}
[data-tema="escuro"] .approval-chip{background:#35281c!important;color:#ead7c7!important;border:1px solid #5d4b3c}
[data-tema="escuro"] .intake-row .intake-owner{color:#d1bae5}
[data-tema="escuro"] .badge.progress{background:#291d37;color:#d1bae5}
[data-tema="escuro"] .intake-status{background:#291d37;color:#d1bae5}
[data-tema="escuro"] .triage-summary{background:#261b32}
[data-tema="escuro"] .triage-summary span{color:#d1bae5}
[data-tema="escuro"] .request-detail-box{background:#261b32}
[data-tema="escuro"] .update-choice{background:#252525}
[data-tema="escuro"] .update-choice small{color:#bac0ca}
[data-tema="escuro"] .reference-answer{background:#261b32}
[data-tema="escuro"] .intake-status.rejected{background:#331b20;color:#e3b5bf}
[data-tema="escuro"] .current-source{background:#34291c}
[data-tema="escuro"] .current-source span{color:#d8ccd6}
[data-tema="escuro"] .review-scope-note{background:#1c2733;color:#cad9eb}
[data-tema="escuro"] .update-choice-card{background:#252525}
[data-tema="escuro"] .proposal-box{background:#261b32}
[data-tema="escuro"] .proposal-box textarea[readonly]{background:#1d2735;color:#cacfd7}
[data-tema="escuro"] .field textarea:disabled,[data-tema="escuro"] .field input:disabled{background:#21262f;color:#cacfd7}
[data-tema="escuro"] .reference-only{background:#21262f;color:#cacfd7}
[data-tema="escuro"] .update-choice-card.selected{box-shadow:0 0 0 3px rgba(0,0,0,.45);background:#201a31}
[data-tema="escuro"] .update-choice-card small{color:#bdbfc6}
[data-tema="escuro"] .proposal-box textarea[readonly]{background:#1f2530;color:#d1d5dc}
[data-tema="escuro"] .review-preview{border:1px solid #473c5d;background:#241b32}
[data-tema="escuro"] .review-preview>b{color:#d6c5e9}
[data-tema="escuro"] .review-chip{background:#291d36;color:#d6c2e7}
[data-tema="escuro"] .review-chip small{color:#c6bbcf}
[data-tema="escuro"] .reference-answer b{color:#dbcaeb}
[data-tema="escuro"] .update-choice-card.selected{background:#241b31}
[data-tema="escuro"] .current-preview{color:#c4c9d2}
[data-tema="escuro"] .field textarea:disabled,[data-tema="escuro"] .field input:disabled,[data-tema="escuro"] .field select:disabled{background:#1c2634;color:#d7dee8;border-color:#3c485d}
[data-tema="escuro"] .suggestion-note{background:#34281c;color:#ead3c7}
[data-tema="escuro"] .manager-change-note{border:1px solid #5d4b3c;background:#33271b}
[data-tema="escuro"] .manager-change-note small{color:#bac0ca}
[data-tema="escuro"] .manager-change-note textarea{background:#252525}
[data-tema="escuro"] .configured-example{color:#bac0ca}
[data-tema="escuro"] .job-picker-toggle{color:#dee3f0}
[data-tema="escuro"] .job-picker-options{background:#252525;border:1px solid #3d475c;box-shadow:0 12px 32px rgba(0,0,0,.45)}
[data-tema="escuro"] .job-picker-option{background:#252525;color:#dee3f0}
[data-tema="escuro"] .job-picker-option b{color:#d7c4e8}
[data-tema="escuro"] .job-picker-option small{color:#babfc9}
[data-tema="escuro"] .job-picker-option:hover,[data-tema="escuro"] .job-picker-option.active{background:#2a1d35}
[data-tema="escuro"] .job-picker-message{color:#babfc9}
[data-tema="escuro"] .job-search-icon{color:#c7b4d9}
[data-tema="escuro"] .job-options{background:#252525;border:1px solid #4c3c5d;box-shadow:0 18px 50px rgba(0,0,0,.45)}
[data-tema="escuro"] .job-option{color:#e8e1f1}
[data-tema="escuro"] .job-option:hover,[data-tema="escuro"] .job-option:focus{background:#2a1c34}
[data-tema="escuro"] .job-option-code{color:#d9b49b;background:#34271c;border:1px solid #5d4a3c}
[data-tema="escuro"] .job-option-main small{color:#c3bdc8}
[data-tema="escuro"] .job-empty{color:#c3bdc8}
[data-tema="escuro"] .selected-manager span{color:#c3bdc8}
[data-tema="escuro"] .change-before{background:#202530;border:1px solid #3f4a5a}
[data-tema="escuro"] .change-suggested{background:#2b1c34;border:1px solid #503c5d}
[data-tema="escuro"] .step.approved-final{background:#1f392f;color:#c6e9de;border-color:#3c5d51}
[data-tema="escuro"] .import-status:not(:empty){background:#1d2635}
[data-tema="escuro"] .import-status.ok{background:#1e382c;border-color:#3c5d4e}
[data-tema="escuro"] .import-status.warn{background:#36291d;border-color:#5d4c3c;color:#e8d5c2}
[data-tema="escuro"] .import-status.error{background:#351d22;border-color:#5d3c43;color:#e4b9c3}
[data-tema="escuro"] .import-status.info{background:#291d37;border-color:#4e3c5d}
[data-tema="escuro"] .file-drop{border:2px dashed #3d495c;background:#1b2231}
[data-tema="escuro"] .file-drop.dragging{background:#33271c}
[data-tema="escuro"] .map-row{background:#252525;border:1px solid #523d5c}
[data-tema="escuro"] .map-tag{background:#1e2835;color:#c0c5cd}
[data-tema="escuro"] .map-tag.ok{background:#1e382c}
[data-tema="escuro"] .map-tag.warn{background:#36291d;color:#e8d5c2}
[data-tema="escuro"] .preview-table th{background:#2a1c34}
[data-tema="escuro"] #jobFormOrigin{background:#281c34;border:1px solid #523d5c;color:#dbcee2}
[data-tema="escuro"] .job-option:hover,[data-tema="escuro"] .job-option.active{background:#281c34}
[data-tema="escuro"] .job-hint{color:#c3bdc8}
[data-tema="escuro"] .login-notice{background:#36291d;border:1px solid #5d4c3c;color:#e7d2c0}
[data-tema="escuro"] .help-bubble{box-shadow:0 14px 38px rgba(0,0,0,.45)}
[data-tema="escuro"] .rule-card.chave-repetida{border-color:#5d3c43;box-shadow:0 0 0 2px rgba(0,0,0,.45) inset}
[data-tema="escuro"] .approver-role{background:#1c2735;color:#b3c9e2}
[data-tema="escuro"] .area-picker-card{background:#252525}
[data-tema="escuro"] .area-picker-btn{background:#252525}
[data-tema="escuro"] .area-picker-btn:hover,[data-tema="escuro"] .area-picker-btn:focus-visible{box-shadow:0 8px 22px rgba(0,0,0,.45)}
[data-tema="escuro"] .area-picker-btn--portal{border-color:#5d4b3c;background:#33261b}
[data-tema="escuro"] .area-picker-btn--admin{border-color:#4c3c5d;background:#291b33}
[data-tema="escuro"] .job-levels-notice{background:#2a1d35;color:#d7c4e8;border:1px solid #4e3c5d}
[data-tema="escuro"] .job-levels-notice.warning{background:#36291d;color:#e8d5c2;border:1px solid #5d4c3c}
[data-tema="escuro"] .level-chip{background:#2a1d35;color:#d7c4e8}
[data-tema="escuro"] .level-chip-shared{background:#1e382c}
[data-tema="escuro"] .proposal-level{background:#261b32;border:1px solid #523d5c}
[data-tema="escuro"] .proposal-level b{color:#d7c4e8}
[data-tema="escuro"] .niveis-suggestion-panel{background:#2a1c34}
[data-tema="escuro"] .niveis-linha{border-top:1px solid #523d5c}
[data-tema="escuro"] .niveis-linha-titulo{color:#d7c4e8}
[data-tema="escuro"] .niveis-col{background:#252525;border:1px solid #523d5c}
[data-tema="escuro"] .niveis-col b{color:#d7c4e8}
[data-tema="escuro"] .niveis-col span{color:#dcd7e3}
[data-tema="escuro"] .update-choice .current-preview{color:#bdc1c8}
[data-tema="escuro"] .update-choice-card{border:1px solid #473c5d}
[data-tema="escuro"] .update-choice-card.selected{box-shadow:0 2px 10px rgba(0,0,0,.45)}
[data-tema="escuro"] .compact-banner .banner-title{color:#d7c4e8}
[data-tema="escuro"] .nivel-code-pill{background:#252525;border:1px solid #4e3c5d;color:#d7c4e8}
[data-tema="escuro"] .nivel-code-pill b{color:#e8e1f1}
[data-tema="escuro"] .compact-banner .banner-hint{color:#cac4d3}
[data-tema="escuro"] .proposal-box textarea[readonly]{background:#241c34;color:#c8c4d3}
[data-tema="escuro"] .proposal-box label{color:#cac4d3}
[data-tema="escuro"] .configured-manager-field--niveis{border:1px solid #523d5c;background:#261b32}
[data-tema="escuro"] .local-base-notice{background:#34291c;color:#ebdacb}
[data-tema="escuro"] #triageSummary{background:#231b33;border:1px solid #493c5d}
[data-tema="escuro"] .triage-hero{border-bottom:1px solid #493c5d}
[data-tema="escuro"] .triage-hero b{color:#dde4f2}
[data-tema="escuro"] .triage-hero span{color:#c5bad8}
[data-tema="escuro"] .triage-meta span{background:#252525;border:1px solid #4b3c5d}
[data-tema="escuro"] .triage-meta b{color:#c3afd4}
[data-tema="escuro"] .triage-note{background:#33291c}
[data-tema="escuro"] .triage-field{background:#252525;border:1px solid #4b3c5d}
[data-tema="escuro"] .triage-field h4{color:#e3d6ef}
[data-tema="escuro"] .triage-level{background:#221b32}
[data-tema="escuro"] .triage-level span{color:#d9b39a}
[data-tema="escuro"] .nivel-campo{background:#261b32}
[data-tema="escuro"] .nivel-campo textarea,[data-tema="escuro"] .nivel-campo input,[data-tema="escuro"] .nivel-campo select{background:#252525}
[data-tema="escuro"] .nivel-campo :disabled{background:#1d2233}
[data-tema="escuro"] .field.campo-faltando{box-shadow:0 0 0 2px rgba(0,0,0,.45) inset;background:#321b1e}
[data-tema="escuro"] .field.campo-faltando > .field-label-row label{color:#e4b9c3}
[data-tema="escuro"] .codigos-nivel{background:#261b32}
@media (max-width: 900px){
[data-tema="escuro"] .topbar{background:#252525}
[data-tema="escuro"] .nav{background:#261d33}
}
@media(max-width:900px){
[data-tema="escuro"] .topbar{background:#252525}
[data-tema="escuro"] .modal-head{background:#252525}
}
@media(max-width:600px){
[data-tema="escuro"] dialog .modal-head{background:#252525}
[data-tema="escuro"] dialog .modal-actions{background:#252525;border-top:1px solid #3c465d}
}
[data-tema="escuro"] img.hub-logo{background:#fff;border-radius:8px}
[data-tema="escuro"] .badge{filter:none}
[data-tema="escuro"] ::placeholder{color:#8892a6}

/* Fluxos e aprovadores: cada área mostra quem responde por ela. */
.area-aprovadora{border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:12px;background:var(--card)}
.area-aprovadora .admin-row{padding:0 0 8px}
.membros-area{gap:8px;margin:6px 0 12px}
.membro-area{display:inline-flex;align-items:center;gap:8px}
.membro-area small{opacity:.75}
.membro-tirar{width:22px;height:22px;font-size:15px;line-height:1;padding:0}
.fluxo-oficial{margin:6px 0 14px}
/* A regra geral joga todo select para a linha inteira; aqui a pessoa e o
   botao precisam ficar lado a lado. */
.area-aprovadora .inline-admin-form{grid-template-columns:1fr auto}
.area-aprovadora .inline-admin-form select{grid-column:auto}
@media(max-width:700px){.area-aprovadora .inline-admin-form{grid-template-columns:1fr}
 .area-aprovadora .inline-admin-form select{grid-column:1/-1}}
.workflow-builder .content-grid{background:transparent;border:0;padding:0}

/* Barra do topo: com o carimbo de versao ao lado do perfil, os itens se
   sobrepunham nas larguras intermediarias. Agora a barra cresce em altura em vez
   de empilhar um item sobre o outro, e o subtitulo do usuario corta com "...". */
.topbar{height:auto;min-height:76px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap;row-gap:8px}
.topbar nav{flex-wrap:wrap;justify-content:flex-end;row-gap:4px}
.userbox > div:first-child{min-width:0}
.userbox strong{display:block;max-width:30ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.userbox small{display:block;max-width:48ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Rodapé: a versão publicada mora aqui, discreta, em vez de disputar espaço com
   o nome do usuário na barra do topo. */
.app-rodape{display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:space-between;align-items:baseline;
  margin:40px auto 0;padding:16px 0 4px;border-top:1px solid var(--line);
  color:var(--muted);font-size:.8rem}
.app-rodape span:last-child{font-variant-numeric:tabular-nums;letter-spacing:.02em}

/* Caminho oficial: o desvio opcional do parecer sai do passo 3 e fica visível no
   desenho, em vez de existir só no texto. */
.caminho-oficial{margin:4px 0 14px}
.ramo-linha{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;height:14px}
.ramo-fio{grid-column:3;justify-self:center;width:2px;height:100%;background:var(--line);display:block}
.ramo{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ramo-caixa{grid-column:3/-1;border:1px dashed var(--line);border-radius:10px;padding:10px 12px;background:var(--card)}
.ramo-caixa b{display:block;font-size:.9rem}
.ramo-caixa span{display:block;color:var(--muted);font-size:.84rem;margin-top:2px}
.caminho-nota{margin:0}
@media(max-width:760px){
  .ramo-linha{grid-template-columns:1fr}.ramo-fio{grid-column:1;justify-self:start;margin-left:12px}
  .ramo{grid-template-columns:1fr}.ramo-caixa{grid-column:1}
}

/* Aviso de aprovador sem area: as linhas ficam soltas dentro do aviso. */
#aprovadoresSemArea{margin:12px 0}
#aprovadoresSemArea .orfao-linha{margin-top:10px}
#aprovadoresSemArea .orfao-linha:last-child{margin-bottom:2px}
/* Aprovador sem área: o cartão do usuário mostra o alerta, não um texto solto. */
.meta .meta-alerta{background:#fff1e3;color:#8c4c0c;border:1px solid #ffd2a8;border-radius:8px;padding:5px 10px;font-weight:700}
/* Selo do parecer no cartão da solicitação e contador em destaque no painel. */
.selo-parecer{margin-top:10px;padding:9px 12px;border-radius:10px;background:#f2eef7;border-left:4px solid var(--purple);font-size:.86rem}
.selo-parecer b{display:block}
.selo-parecer small{color:var(--muted);display:block;margin-top:2px}
.selo-espera{background:#fff1e3;border-left-color:var(--orange);color:#8c4c0c}
.selo-espera small{color:#8c4c0c;opacity:.85}
.selo-ok{background:#e2f4ec;border-left-color:var(--green);color:#0f5c45}
.selo-ok small{color:#0f5c45;opacity:.85}
.selo-nao{background:#fde8ed;border-left-color:var(--red);color:#8e1c34}
.selo-nao small{color:#8e1c34;opacity:.85}
.metric-atencao{border-color:var(--orange);box-shadow:0 0 0 2px #f2761b22,var(--shadow)}
.metric-atencao b{color:var(--orange)}
/* Pessoa ligada à área mas com o acesso desativado: fica visível, apagada. */
.membro-inativo{opacity:.62;border-style:dashed}
/* Repasse manual do código: sempre disponível, mesmo sem a automação. */
.repasse-codigo{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.repasse-codigo .user-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.repasse-codigo a.btn{text-decoration:none;display:inline-flex;align-items:center}
/* Detalhe de cada envio de notificação. */
.envio-linha{align-items:flex-start}
.envio-corpo{background:#f4f6fa;border:1px solid var(--line);border-radius:8px;padding:10px;
  font-size:.76rem;max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-word;margin:6px 0 0}

/* Base de cargos — o botão "Limpar histórico" e a escolha do que limpar.
   Sem isto o <select> ocupa a linha inteira (input{width:100%}) e empurra o
   botão para baixo. */
.history-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.history-actions select{width:auto;min-width:210px}
@media(max-width:700px){
  .history-head{flex-direction:column;align-items:stretch;gap:10px}
  .history-actions{width:100%;justify-content:flex-start}
  .history-actions select{width:100%;min-width:0}
  .history-actions .btn{width:100%}
}

/* Celular: um <select> não encolhe sozinho — a opção mais comprida (nome +
   e-mail da pessoa) virava a largura mínima, esticava a coluna da lista e o
   cartão da área aprovadora ficava cortado pela borda da tela. */
.admin-list{grid-template-columns:minmax(0,1fr)}
.admin-list select,.inline-admin-form select,.area-aprovadora select{min-width:0;max-width:100%}
@media(max-width:700px){
  /* Alvo de toque: o "×" de tirar a pessoa da área tinha 22px. */
  .membro-tirar{width:32px;height:32px;font-size:18px}
}
