html, body { margin: 0; height: 100%; }

.shell-loading {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.shell-topbar .shell-brand { font-weight: 600; letter-spacing: .3px; }

.shell-drawer .mud-nav-link { border-radius: 0; color: rgba(255,255,255,.82); }
.shell-drawer .mud-nav-link:hover { color: #fff; }

.shell-main {
    padding: 0;
    display: flex;
    flex-direction: column;
    height: calc(100vh - 64px);
}

.shell-welcome {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #1F2A44;
}
.shell-welcome h2 { margin: 0; font-weight: 500; }
.shell-welcome p { margin: 0; }

/* Casca principal — mesmas proporções e linguagem visual do Protec. */
.app-topbar { height:64px; padding:0 18px; background:#fff; color:#1F2A44; border-bottom:1px solid rgba(22,34,60,.08); z-index:1200; transition:left .2s; }
.app-topbar--sidebar-expanded { left:260px; }
.app-topbar--sidebar-collapsed { left:72px; }
.app-topbar-empresa { font-weight:600; margin-left:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.topbar-search { height:36px; align-items:center; gap:8px; min-width:260px; color:#687386; background:#f4f6fa; border:1px solid #e7eaf0; border-radius:7px; padding:0 9px; margin-right:12px; font-size:.82rem; }
.topbar-search kbd { margin-left:auto; border:1px solid #d7dce5; border-radius:4px; padding:1px 5px; font-size:.68rem; background:#fff; }
.topbar-notif { width:280px; }.topbar-notif__head { font-weight:600; padding:12px 16px; border-bottom:1px solid #edf0f4; }.topbar-notif__empty { color:#697586; padding:20px 16px; font-size:.86rem; }
.app-sidebar { width:260px; background:#16223C; color:rgba(255,255,255,.85); transition:width .2s; overflow-x:hidden; }
.app-sidebar--collapsed { width:72px!important; }.app-sidebar--collapsed .app-sidebar-brand span,.app-sidebar--collapsed .mud-nav-link-text,.app-sidebar--collapsed .mud-nav-group-title { display:none; }
.app-sidebar-brand { height:64px; display:flex; align-items:center; gap:11px; padding:0 20px; color:#fff; font-size:1.12rem; font-weight:650; white-space:nowrap; border-bottom:1px solid rgba(255,255,255,.08); }
.app-sidebar .mud-nav-link,.app-sidebar .mud-nav-group { color:rgba(255,255,255,.8); }.app-sidebar .mud-nav-link:hover,.app-sidebar .mud-nav-link.active { color:#fff; background:rgba(255,255,255,.09); }.app-sidebar .mud-nav-link.active { border-right:3px solid #7DA3F5; }.app-sidebar .mud-nav-group .mud-nav-link { padding-left:36px; font-size:.88rem; }
.app-sidebar-footer { position:absolute; bottom:0; left:0; right:0; display:flex; gap:10px; align-items:center; padding:16px 20px; color:rgba(255,255,255,.58); font-size:.82rem; border-top:1px solid rgba(255,255,255,.08); white-space:nowrap; }
.app-main-content { min-height:calc(100vh - 64px); padding:0; background:#f6f6f4; transition:margin-left .2s; }.app-main-content--sidebar-expanded { margin-left:260px; }.app-main-content--sidebar-collapsed { margin-left:72px; }
.home-dashboard { max-width:1280px; margin:0 auto; padding:34px 32px 48px; }.home-hero { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; padding-bottom:28px; }.home-eyebrow { color:#2F5FE0; font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.home-hero h1 { margin:6px 0; color:#1F2A44; font-size:1.7rem; }.home-hero p { margin:0; color:#6b7280; }.home-date { display:flex; align-items:center; gap:8px; color:#667085; font-size:.86rem; text-transform:capitalize; }
.home-section { margin-top:0; }.home-section-heading { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:14px; }.home-section-heading h2 { margin:0 0 3px; color:#1F2A44; font-size:1.08rem; }.home-section-heading p { margin:0; color:#7a8494; font-size:.86rem; }.home-stat { display:flex; gap:15px; min-height:118px; align-items:center; padding:20px; border:1px solid #edf0f3; border-radius:10px; background:#fff; }.home-stat-icon,.home-quick-icon { width:42px; height:42px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; background:rgba(47,95,224,.09); color:#2F5FE0; border-radius:9px; }.home-stat-value { color:#1F2A44; font-weight:700; font-size:1.55rem; }.home-stat-label { color:#344054; font-weight:600; font-size:.9rem; }.home-stat-hint { color:#98a2b3; font-size:.76rem; margin-top:3px; }
.home-quick-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; }.home-quick-card { position:relative; min-height:126px; padding:18px; background:#fff; border:1px solid #e8ecf2; border-radius:10px; cursor:pointer; transition:transform .18s,box-shadow .18s; }.home-quick-card:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(16,24,40,.08); }.home-quick-title { margin-top:14px; color:#27354d; font-weight:600; font-size:.9rem; }.home-quick-star { position:absolute; right:12px; bottom:12px; color:#e2a528; }.home-empty { padding:28px; text-align:center; border:1px dashed #cdd5df; background:#fff; border-radius:10px; }.home-empty__badge { display:inline-flex; width:38px; height:38px; align-items:center; justify-content:center; background:rgba(47,95,224,.1); color:#2F5FE0; border-radius:50%; }.home-empty__title { margin-top:10px; color:#344054; font-weight:600; }.home-empty__hint { max-width:540px; margin:6px auto 0; color:#7a8494; font-size:.87rem; }
@media(max-width:960px) { .app-topbar { left:0!important; }.app-sidebar { display:none; }.app-main-content { margin-left:0!important; }.home-dashboard { padding:24px 18px; }.home-hero { flex-direction:column; } }

/* Alinhamento da casca ao CSS do Protec.SistemaV2. Estas regras ficam no fim para
   prevalecer sobre a primeira versão do shell, mantendo os mesmos tokens e dimensões. */
:root { --app-chrome-size:48px; --app-sidebar-expanded:280px; --app-sidebar-collapsed:64px; --mud-appbar-height:var(--app-chrome-size)!important; }
.app-topbar.mud-appbar,.app-topbar .mud-toolbar { min-height:var(--app-chrome-size)!important; height:var(--app-chrome-size)!important; }
.app-topbar.mud-appbar { background-color:var(--mud-palette-appbar-background)!important; color:var(--mud-palette-appbar-text)!important; border-bottom:1px solid var(--mud-palette-lines-default,#E6E9EF); right:0; width:auto!important; transition:left .15s ease; }
.app-topbar--sidebar-expanded { left:var(--app-sidebar-expanded)!important; }.app-topbar--sidebar-collapsed { left:var(--app-sidebar-collapsed)!important; }.app-topbar .mud-icon-button-root { margin-left:8px; }.app-topbar .mud-icon-button-root:first-of-type { margin-left:0; }
.app-topbar-search { position:relative; display:flex; align-items:center; gap:8px; width:450px; margin-right:8px; padding:7px 12px; border-radius:10px; background:color-mix(in srgb,var(--mud-palette-text-primary) 7%,transparent); border:1px solid transparent; color:var(--mud-palette-text-secondary); font-size:14px; }.app-topbar-search:focus-within, .app-topbar-search--open { border-color:color-mix(in srgb,var(--mud-palette-primary) 45%,transparent); }.app-topbar-search .app-topbar-search__icon { color:var(--mud-palette-text-secondary); }.app-topbar-search input { min-width:0; flex:1; border:0; outline:0; background:transparent; color:var(--mud-palette-text-primary); font:inherit; }.app-topbar-search input::placeholder { color:var(--mud-palette-text-secondary); opacity:1; }.app-topbar-search kbd { margin-left:auto; color:var(--mud-palette-text-secondary); background:transparent; border:0; }.app-topbar-search__clear { cursor:pointer; color:var(--mud-palette-text-secondary); }.app-topbar-search__clear:hover { color:var(--mud-palette-text-primary); }.app-topbar-search__panel { position:absolute; top:calc(100% + 8px); left:0; right:0; z-index:1401; max-height:60vh; overflow-y:auto; padding:6px; border:1px solid var(--mud-palette-lines-default); border-radius:10px; background:var(--mud-palette-surface); box-shadow:0 12px 30px rgba(0,0,0,.16); }.app-topbar-search__hint { padding:8px 10px; color:var(--mud-palette-text-secondary); font-size:13px; }.app-topbar-search__group { padding:8px 10px 4px; font-size:11px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; color:var(--mud-palette-text-secondary); }.app-topbar-search__result { display:flex; align-items:center; gap:9px; width:100%; padding:9px 10px; border:0; border-radius:8px; background:transparent; color:var(--mud-palette-text-primary); cursor:pointer; text-align:left; font:inherit; }.app-topbar-search__result:hover { background:color-mix(in srgb,var(--mud-palette-primary) 10%,transparent); }.app-topbar-search__result--pessoa { align-items:flex-start; }.app-topbar-search__pessoa-info { display:flex; flex-direction:column; gap:2px; min-width:0; }.app-topbar-search__pessoa-nome { font-weight:600; line-height:1.3; }.app-topbar-search__pessoa-linha2 { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--mud-palette-text-secondary); }.app-topbar-search__pessoa-situacao { padding:1px 6px; border-radius:99px; background:color-mix(in srgb,var(--mud-palette-primary) 18%,transparent); color:var(--mud-palette-primary); font-size:11px; font-weight:600; }
.app-sidebar.mud-drawer { background-color:var(--mud-palette-drawer-background)!important; color:var(--mud-palette-drawer-text)!important; border-right:none; transition:width .15s ease; display:flex; flex-direction:column; top:0!important; height:100%!important; z-index:1250; }.app-sidebar.mud-drawer .mud-icon-root,.app-sidebar.mud-drawer .mud-typography,.app-sidebar.mud-drawer .mud-nav-link,.app-sidebar.mud-drawer .mud-nav-group-title { color:inherit; }
.app-sidebar.app-sidebar--expanded { width:var(--app-sidebar-expanded)!important; min-width:var(--app-sidebar-expanded)!important; max-width:var(--app-sidebar-expanded)!important; --mud-drawer-width:var(--app-sidebar-expanded); }.app-sidebar.app-sidebar--collapsed { width:var(--app-sidebar-collapsed)!important; min-width:var(--app-sidebar-collapsed)!important; max-width:var(--app-sidebar-collapsed)!important; --mud-drawer-width:var(--app-sidebar-collapsed); }
.app-sidebar-brand { height:var(--app-chrome-size); flex-shrink:0; padding:0 14px; }.app-sidebar--collapsed .app-sidebar-brand { justify-content:center; padding:0; }.app-sidebar-body { flex:1 1 auto; overflow-y:auto; overflow-x:hidden; min-height:0; padding:6px; }.app-sidebar .mud-nav-link { border-radius:12px; margin:2px 0; }.app-sidebar .mud-nav-link:hover,.app-sidebar .mud-nav-group > .mud-nav-link:hover { background:rgba(255,255,255,.06); }.app-sidebar-footer { position:static; flex-shrink:0; padding:12px 14px; }.app-sidebar-mini-body { flex:1 1 auto; display:flex; flex-direction:column; align-items:center; gap:4px; padding:8px 0; }.mini-nav-icon { width:40px; height:40px; margin:0; border:1px solid rgba(255,255,255,.10); border-radius:12px; background:rgba(255,255,255,.04); color:rgba(255,255,255,.8)!important; }.mini-nav-icon:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.25); }.mini-nav-icon--active { background:var(--mud-palette-primary)!important; border-color:var(--mud-palette-primary)!important; color:#fff!important; }
.app-sidebar-competencia{flex-shrink:0;margin:8px 10px 4px;padding:7px 8px 7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.7);font-size:.72rem;position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:4px}.app-sidebar-competencia__body{min-width:0;flex:1}.app-sidebar-competencia__body span{display:block;margin-bottom:2px}.app-sidebar-competencia__body strong{display:block;color:#fff;font-size:.82rem;font-weight:600;text-transform:capitalize;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-competencia__gear{color:rgba(255,255,255,.7)!important;width:26px;height:26px;margin-top:2px;flex-shrink:0}.app-sidebar-competencia__gear:hover,.app-sidebar-competencia__gear:focus-visible{color:#fff!important;background:rgba(255,255,255,.12)}.app-sidebar-competencia__menu .mud-menu-item{font-size:.8125rem}
.mud-main-content.app-main-content { position:fixed; top:var(--app-chrome-size); right:0; bottom:0; overflow:hidden; box-sizing:border-box; padding-top:16px; transition:left .15s ease; height:auto; background:var(--mud-palette-background); }.app-main-content.app-main-content--sidebar-expanded { left:var(--app-sidebar-expanded); margin-left:0!important; }.app-main-content.app-main-content--sidebar-collapsed { left:var(--app-sidebar-collapsed); margin-left:0!important; }
.app-content-stage { position:relative; width:100%; height:100%; overflow:hidden; }
/* Sobreposição exclusiva do conteúdo: o drawer permanece acima dela e pode iniciar outra navegação. */
.app-module-loading { position:absolute; inset:0; z-index:10; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb,var(--mud-palette-background) 76%,transparent); cursor:progress; }
.shell-process-overlay { position:fixed; inset:0; z-index:3000; display:flex; align-items:center; justify-content:center; padding:24px; overflow:hidden; touch-action:none; cursor:progress; background:rgba(7,10,16,.76); backdrop-filter:blur(5px); color:var(--mud-palette-text-primary); }
.shell-process-overlay { user-select:none; }
.shell-process-card { width:min(520px,100%); display:flex; flex-direction:column; gap:18px; padding:28px; border:1px solid var(--mud-palette-lines-default); border-radius:16px; background:var(--mud-palette-surface); box-shadow:0 24px 80px rgba(0,0,0,.38); }
.shell-process-card, .shell-process-card * { pointer-events:auto; }
.shell-process-card__heading { display:flex; align-items:center; gap:16px; }
.shell-process-card__status { display:flex; justify-content:space-between; align-items:center; color:var(--mud-palette-text-secondary); }
.shell-process-card__percent { font-weight:700; color:var(--mud-palette-primary); }
.shell-process-card__person { font-weight:600; }
.shell-process-card__actions { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:8px; }
body.shell-processando-folha { overflow:hidden!important; }
.home-dashboard { position:absolute; inset:0; overflow-y:auto; z-index:1; padding:28px 32px 0; background:var(--mud-palette-background); display:flex; flex-direction:column; max-width:none; margin:0; }.home-dashboard,.home-dashboard * { box-sizing:border-box; }.home-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:22px; }.home-greeting { margin:0; font-size:26px; font-weight:700; color:var(--mud-palette-text-primary); }.home-subtitle { margin:4px 0 0; color:var(--mud-palette-text-secondary); font-size:14px; }.home-topright { display:flex; align-items:center; gap:14px; flex-shrink:0; }.home-date { display:flex; align-items:center; gap:8px; color:var(--mud-palette-text-secondary); font-size:13px; white-space:nowrap; text-transform:capitalize; }
.home-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px; margin-bottom:20px; }.home-stat { display:flex; align-items:center; gap:14px; min-height:0; padding:16px 18px; border-radius:14px; background:var(--mud-palette-surface); border:1px solid var(--mud-palette-lines-default,#E6E9EF); box-shadow:none; }.home-stat__icon { width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; background:color-mix(in srgb,var(--mud-palette-primary) 10%,transparent); color:var(--mud-palette-primary); }.home-stat__label { font-size:13px; color:var(--mud-palette-text-secondary); }.home-stat__value { font-size:26px; font-weight:700; line-height:1.1; color:var(--mud-palette-text-primary); }.home-stat__hint { font-size:12px; color:var(--mud-palette-text-secondary); }
.home-section-head { margin-bottom:12px; position:relative; }.home-section-title { margin:0; font-size:18px; font-weight:700; color:var(--mud-palette-text-primary); }.home-section-sub { margin:2px 0 0; font-size:13px; color:var(--mud-palette-text-secondary); }.home-section-head .mud-button-root { position:absolute; right:0; top:0; }.home-fav-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:14px; }.home-fav-card { position:relative; cursor:pointer; padding:16px; border-radius:14px; background:var(--mud-palette-surface); border:1px solid var(--mud-palette-lines-default,#E6E9EF); transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease; }.home-fav-card:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(20,30,60,.08); border-color:color-mix(in srgb,var(--mud-palette-primary) 40%,transparent); }.home-fav-card__icon { width:40px; height:40px; border-radius:10px; margin-bottom:12px; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb,var(--mud-palette-primary) 10%,transparent); color:var(--mud-palette-primary); }.home-fav-card__title { font-weight:600; font-size:14px; color:var(--mud-palette-text-primary); }.home-fav-card__chevron { position:absolute; top:14px; right:12px; color:var(--mud-palette-text-secondary); }
@media(max-width:1100px){.home-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.home-stats{grid-template-columns:1fr}.home-dashboard{padding:20px 16px 0}.app-topbar-search{width:auto}.app-sidebar{display:none}.app-topbar.mud-appbar{left:0!important}.app-main-content{left:0!important}}

/* Seleção de empresa: mesma hierarquia visual da casca do Protec. */
.empresa-picker { max-width: 960px; margin: 0 auto; padding: 40px 20px; }
.empresa-picker-header { text-align: center; margin-bottom: 24px; }
.empresa-picker-toolbar { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.empresa-picker-search { flex: 1 1 260px; }
.empresa-card { cursor: pointer; transition: all .2s; padding: 8px; height: 100%; }
.empresa-card:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,.1); }
.empresa-card--inativa { opacity: .65; }
.empresa-icon { width: 48px; height: 48px; border-radius: 8px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: rgba(47,95,224,.08); }

.content-host-frame {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.content-host-frame iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: none;
    background: #fff;
}

/* Densidade conservadora e raios do Orchestrator Protec.v2. */
.mud-button-root { padding-top: 4px; padding-bottom: 4px; border-radius: 9px; font-size: .8125rem; }
.mud-input-control { min-width: 0; margin-top: 0; }
.mud-input-control .mud-input:not(.mud-input-multiline) {
    box-sizing: border-box;
    height: 38px !important;
    min-height: 38px !important;
}
.mud-input-control-input-container { min-height: 38px; }
.mud-input-slot,
.mud-select-input,
.mud-input-root,
.mud-input input,
.mud-input textarea,
.mud-select .mud-select-input {
    box-sizing: border-box;
    padding: 8px 11px !important;
    font-size: 13.5px !important;
    line-height: 1.25;
}
/* O slot do MudSelect não deve somar o padding vertical à linha do valor dentro
   do controle de 38px; alguns valores selecionados ficavam cortados verticalmente. */
.mud-select .mud-select-input { padding-block: 4px !important; }
.mud-input-control .mud-input.mud-input-underline:not(.mud-input-multiline) {
    padding-inline: 0;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    background: var(--mud-palette-background);
    transition: border-color .12s, box-shadow .12s, background .12s;
}
.mud-input-control .mud-input.mud-input-underline::before,
.mud-input-control .mud-input.mud-input-underline::after { display: none; }
.mud-input-control .mud-input.mud-input-underline:focus-within {
    border-color: var(--mud-palette-primary) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--mud-palette-primary) 14%, transparent);
}
.mud-input-outlined { box-sizing: border-box; border-radius: 8px; background: var(--mud-palette-background); }
.mud-input-outlined:not(.mud-input-multiline) { height: 38px !important; min-height: 38px !important; }
.mud-input-outlined-border { border: 1px solid var(--mud-palette-lines-default); border-radius: 8px; }
.mud-input.mud-input-outlined:focus-within .mud-input-outlined-border {
    border-width: 1px;
    border-color: var(--mud-palette-primary) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--mud-palette-primary) 14%, transparent);
}
.mud-input-label {
    color: var(--mud-palette-text-secondary) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
}
.mud-shrink ~ label.mud-input-label.mud-input-label-inputcontrol { font-size: 14.67px !important; }
.mud-input-adornment-end { box-sizing: border-box; padding-right: 8px !important; }
.mud-input-adornment-end .mud-icon-button { box-sizing: border-box; width: 30px; min-width: 30px; height: 30px; padding: 5px; }
.mud-checkbox .mud-icon-button-root,
.mud-radio .mud-icon-button-root { width: 26px; min-width: 26px; height: 26px; min-height: 26px; padding: 3px; }
.mud-checkbox .mud-icon-root,
.mud-radio .mud-icon-root { width: 17px; height: 17px; font-size: 17px; }
.mud-checkbox .mud-typography,
.mud-radio .mud-typography,
.mud-switch .mud-typography { font-size: 13.5px; line-height: 1.35; }
.mud-table-cell { padding-top: 6px; padding-bottom: 6px; font-size: .8125rem; }
.mud-toolbar { min-height: 48px; }
.mud-paper,
.mud-alert,
.mud-popover,
.mud-menu,
.mud-dialog { border-radius: 14px; }
.app-sidebar .mud-nav-link { min-height: 38px; border-radius: 8px; margin: 2px 0; font-size: .8125rem; }
.app-sidebar .mud-nav-group-title { font-size: .8125rem; }
.app-sidebar-brand { font-size: 1rem; }
.app-sidebar-competencia { border-radius: 10px; }
.empresa-card { border-radius: 14px !important; }
.empresa-icon { border-radius: 10px; }

/* Medidas e ícones da casca de referência. */
.app-topbar.mud-appbar,
.app-topbar .mud-toolbar {
    height: var(--app-chrome-size) !important;
    min-height: var(--app-chrome-size) !important;
}

.app-topbar.mud-appbar { padding: 0; }
.app-sidebar-brand__logo { width: 26px; height: 26px; font-size: 26px; }
.app-sidebar-brand__title { font-weight: 700; letter-spacing: .2px; white-space: nowrap; }
.app-sidebar-brand__collapse { color: rgba(255,255,255,.7) !important; }
.app-sidebar-brand__collapse:hover { color: #fff !important; }
.app-sidebar-footer { padding: 6px; }
.app-sidebar-footer .mud-nav-link { width: 100%; }
.app-sidebar .mud-nav-link { display:flex; align-items:center; position:relative; }
.app-sidebar .mud-nav-link { box-sizing:border-box; min-width:0; padding-inline:10px!important; border-radius:14px!important; }
.app-sidebar .mud-nav-link .mud-nav-link-icon { display:inline-flex; flex:0 0 24px; justify-content:center; margin-inline:0 10px!important; }
.app-sidebar .mud-nav-link .mud-nav-link-text { box-sizing:border-box; flex:1 1 auto; width:auto; min-width:0; margin-inline:0 8px!important; }
.app-sidebar .mud-nav-group > .mud-nav-link { padding-inline:10px!important; }
.app-sidebar .mud-nav-group > .mud-nav-link .mud-nav-link-expand-icon { flex:0 0 20px; margin-inline-start:auto; }
.app-sidebar .mud-nav-group .mud-navmenu .mud-nav-item .mud-nav-link { padding-inline:32px 10px!important; }
.app-sidebar .mud-nav-group .mud-navmenu .mud-nav-item .mud-nav-link .mud-nav-link-icon { margin-inline:0 10px!important; }
.app-sidebar-item-label { min-width:0; flex:1; padding-right:26px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.app-sidebar-favorite { position:absolute; right:12px; top:50%; transform:translateY(-50%); color:#f6c453!important; font-size:15px!important; pointer-events:none; }
/* Aba ativa do menu lateral — réplica do Protec (app.css 217-224): fundo azul do acento,
   texto e ícone brancos, peso 600. O var(--mud-palette-primary) resolve para #2F5FE0 (claro)
   / #7DA3F5 (escuro), os mesmos hex do Protec. */
.app-sidebar .sidebar-item--active .mud-nav-link,
.app-sidebar .sidebar-item--active .mud-nav-link:hover,
.app-sidebar .sidebar-item--active .mud-nav-link.active {
    background: var(--mud-palette-primary) !important;
    color: #FFFFFF !important;
    font-weight: 600;
}
.app-sidebar .sidebar-item--active .mud-icon-root,
.app-sidebar .sidebar-item--active .mud-nav-link .mud-icon-root { color: #FFFFFF !important; }
.mini-nav-wrap { position:relative; display:inline-flex; }
.mini-nav-favorite { position:absolute; right:-2px; bottom:-2px; width:14px!important; height:14px!important; padding:2px; border-radius:50%; background:var(--mud-palette-drawer-background); color:#f6c453!important; font-size:10px!important; pointer-events:none; }

/* Alinha cabeçalhos de grupos e links aninhados à mesma coluna do menu Protec. */
.app-sidebar .mud-nav-group .mud-nav-link {
    box-sizing: border-box;
    padding-inline: 10px !important;
    border-radius: 14px !important;
}
.app-sidebar-body .mud-nav-link { padding-inline: 10px !important; }
.app-sidebar-body .mud-nav-group .mud-navmenu .mud-nav-link { padding-inline: 32px 10px !important; }
.app-sidebar .mud-nav-link .mud-nav-link-icon {
    flex: 0 0 24px;
    justify-content: center;
    margin-inline: 0 10px !important;
}
.app-sidebar .mud-nav-link .mud-nav-link-text {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
    margin-inline: 0 8px !important;
}
.app-sidebar .mud-nav-group .mud-nav-link-expand-icon { flex: 0 0 20px; margin-inline-start: auto; }

/* Os atalhos recolhidos usam cantos arredondados como os botões do menu Protec. */
.app-sidebar .mini-nav-icon,
.app-sidebar .app-sidebar-footer .mud-icon-button-root {
    border-radius: 14px !important;
}
.app-sidebar .app-sidebar-mini-body .mini-nav-icon.mud-icon-button-root { border-radius: 14px !important; }
/* ===== Tela de bloqueio (estilo Protec/WhatsApp Web) ====================================
   Cores hardcoded de propósito (mesmo raciocínio do Protec): esta tela pode aparecer no ramo
   em que o MudThemeProvider ainda não renderizou. Claro é o padrão; o escuro sobrescreve via
   [data-theme="dark"], gravado por rhBridge.broadcastTheme a partir do cookie ui.theme. */
.app-lock {
  --lk-bg: #f1f5f9; --lk-card: #fff; --lk-input: #f8fafc; --lk-border: #e2e8f0;
  --lk-text: #0f172a; --lk-muted: #64748b; --lk-accent: #2563eb; --lk-accent-hover: #1d4ed8;
  --lk-danger: #dc2626;
}
[data-theme="dark"] .app-lock {
  --lk-bg: #0f172a; --lk-card: #1e293b; --lk-input: #0f172a; --lk-border: #334155;
  --lk-text: #f1f5f9; --lk-muted: #94a3b8; --lk-accent: #3b82f6; --lk-accent-hover: #2563eb;
  --lk-danger: #ef4444;
}

.app-lock {
  position: fixed; inset: 0; z-index: 1000001;
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
  background: var(--lk-bg); color: var(--lk-text);
  font-family: 'DM Sans', 'Roboto', 'Segoe UI', sans-serif;
}

.app-lock__card {
  width: 100%; max-width: 440px;
  display: flex; flex-direction: column; align-items: center;
  padding: 40px 32px; border-radius: 16px;
  background: var(--lk-card); border: 1px solid var(--lk-border);
  box-shadow: 0 10px 40px rgba(0,0,0,.10);
}
.app-lock__avatar {
  width: 84px; height: 84px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--lk-accent); color: #fff;
  font-size: 30px; font-weight: 700; letter-spacing: 1px;
  user-select: none;
  overflow: hidden;
}
.app-lock__nome { margin-top: 16px; font-size: 21px; font-weight: 500; text-align: center; }
.app-lock__msg {
  margin: 12px 0 24px; text-align: center; font-size: 14px; line-height: 1.5;
  color: var(--lk-muted); max-width: 340px;
}
.app-lock__form { width: 100%; max-width: 300px; display: flex; flex-direction: column; gap: 16px; }

/* Fora da tela, mas ainda focável pelo gerenciador de senha. */
.app-lock__hidden-user {
  position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none;
}

.app-lock__campo { position: relative; display: flex; align-items: center; }
.app-lock__input {
  box-sizing: border-box; width: 100%; height: 38px; padding: 8px 40px 8px 11px;
  background: var(--lk-input); color: var(--lk-text);
  border: 1px solid var(--lk-border); border-bottom-width: 2px;
  border-radius: 8px;
  font-size: 13.5px; font-family: inherit; outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.app-lock__input::placeholder { color: var(--lk-muted); opacity: 1; }
.app-lock__input:focus {
  border-color: var(--lk-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--lk-accent) 18%, transparent);
}
.app-lock__input:disabled { opacity: .6; }
.app-lock__olho {
  position: absolute; right: 6px;
  display: flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; padding: 0; border: 0; background: none; cursor: pointer;
  color: var(--lk-muted); border-radius: 6px;
}
.app-lock__olho:hover { color: var(--lk-accent); background: color-mix(in srgb, var(--lk-accent) 10%, transparent); }

.app-lock__erro {
  font-size: 13px; line-height: 1.4; text-align: center; color: var(--lk-danger);
}
.app-lock__btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  align-self: center; min-width: 150px; padding: 11px 28px;
  border: 0; border-radius: 999px; cursor: pointer;
  background: var(--lk-accent); color: #fff;
  font-size: 14px; font-weight: 700; font-family: inherit;
  transition: background .12s, opacity .12s;
}
.app-lock__btn:hover:not(:disabled) { background: var(--lk-accent-hover); }
.app-lock__btn:disabled { opacity: .5; cursor: default; }
.app-lock__spinner {
  width: 14px; height: 14px; border-radius: 50%;
  border: 2px solid rgba(255,255,255,.35); border-top-color: #fff;
  animation: app-lock-spin .7s linear infinite;
}
@keyframes app-lock-spin { to { transform: rotate(360deg); } }

.app-lock__sair {
  margin-top: 28px; padding: 6px 10px; border: 0; background: none; cursor: pointer;
  color: var(--lk-muted); font-size: 13px; font-family: inherit; border-radius: 6px;
}
.app-lock__sair:hover:not(:disabled) { color: var(--lk-accent); }
.app-lock__sair strong { color: var(--lk-accent); }
.app-lock__sair:disabled { opacity: .5; cursor: default; }

@media (max-width: 520px) {
  .app-lock__card { padding: 32px 20px; }
}

/* Dashboard da Folha: conteúdo na grade do Protec (cards no topo, relógio/clima, suplementares,
   acesso rápido abaixo e aniversariantes à direita de todo o conteúdo). */
/* ---- Zona superior (igual ao Protec): SEM card de fundo geral — saudação à esquerda, data/hora
   e clima juntos à direita; cada elemento "solto" na tela. O clima fica no próprio mini-card. ---- */
.home-date__day { font-weight: 600; color: var(--mud-palette-text-primary); }
.home-date__time { text-align: right; font-variant-numeric: tabular-nums; }

/* Clima sempre dentro do seu card (fundo + borda), lado a lado com a data. */
.home-clima {
    display: flex; align-items: center; gap: 8px;
    padding: 8px 12px; border-radius: 12px;
    background: var(--mud-palette-background);
    border: 1px solid var(--mud-palette-lines-default, #E6E9EF);
    white-space: nowrap;
}
.home-clima__icon { color: var(--mud-palette-primary); }
.home-clima__temp { font-weight: 700; font-size: 15px; color: var(--mud-palette-text-primary); }
.home-clima__local { font-size: 13px; color: var(--mud-palette-text-secondary); }

.home-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(270px, 1fr); gap: 22px; align-items: start; padding-bottom: 32px; }
.home-main-col { min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.home-side-col { min-width: 0; display: flex; flex-direction: column; gap: 16px; align-self: stretch; }
.home-side-col .home-panel--aniversariantes { position: sticky; top: 16px; }

/* Card "Configurar Acesso Rápido" do dashboard — mesmo tamanho dos demais, tracejado, sem chevron. */
.home-fav-card--config {
    display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
    border-style: dashed; color: var(--mud-palette-text-secondary);
}
.home-fav-card--config .home-fav-card__icon { background: transparent; color: inherit; margin-bottom: 8px; }

/* Empty state do acesso rápido — o painel INTEIRO é o botão de "adicionar" (igual Protec). */
.home-empty {
    cursor: pointer; position: relative;
    display: flex; flex-direction: column; align-items: center; text-align: center;
    gap: 8px; padding: 48px 24px; border-radius: 18px;
    background: linear-gradient(180deg, color-mix(in srgb, var(--mud-palette-primary) 7%, var(--mud-palette-surface)) 0%, var(--mud-palette-surface) 65%);
    border: 2px dashed color-mix(in srgb, var(--mud-palette-primary) 35%, transparent);
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.home-empty:hover {
    border-color: var(--mud-palette-primary);
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(47,95,224,.14);
}
.home-empty__badge {
    position: relative; width: 68px; height: 68px; border-radius: 50%; margin-bottom: 4px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--mud-palette-primary), color-mix(in srgb, var(--mud-palette-primary) 55%, #7C3AED));
    color: #fff;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--mud-palette-primary) 45%, transparent);
    animation: home-empty-pulse 2.6s ease-in-out infinite;
}
.home-empty__badge .mud-icon-root { font-size: 32px; }
.home-empty__plus {
    position: absolute; right: -2px; bottom: -2px; width: 26px; height: 26px; border-radius: 50%;
    background: var(--mud-palette-surface); color: var(--mud-palette-primary);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 6px rgba(16,24,40,.2);
    font-weight: 800; font-size: 16px; line-height: 1;
}
.home-empty__title { font-weight: 700; font-size: 16px; color: var(--mud-palette-text-primary); }
.home-empty__hint { font-size: 13px; color: var(--mud-palette-text-secondary); max-width: 26rem; }
.home-empty__cta {
    margin-top: 6px; font-size: 13px; font-weight: 700; color: var(--mud-palette-primary);
    display: inline-flex; align-items: center; gap: 6px;
}
@keyframes home-empty-pulse {
    0%, 100% { box-shadow: 0 10px 24px color-mix(in srgb, var(--mud-palette-primary) 45%, transparent); }
    50% { box-shadow: 0 10px 30px color-mix(in srgb, var(--mud-palette-primary) 65%, transparent), 0 0 0 8px color-mix(in srgb, var(--mud-palette-primary) 12%, transparent); }
}

/* ---- Modal "Configurar Acesso Rápido" (ConfigurarFavoritosDialog) — cards-toggle do Protec ---- */
.qar-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 16px;
}
.qar-card {
    position: relative; cursor: pointer;
    padding: 20px; border-radius: 16px;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default, #E6E9EF);
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease;
    display: flex; flex-direction: column;
}
.qar-card__desc {
    font-size: 12px; line-height: 1.45;
    color: var(--mud-palette-text-secondary);
    margin-top: 5px;
}
.qar-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(20,30,60,.08);
    border-color: color-mix(in srgb, var(--mud-palette-primary) 40%, transparent);
}
.qar-card__icon {
    width: 40px; height: 40px; border-radius: 10px; margin-bottom: 12px;
    display: flex; align-items: center; justify-content: center;
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent);
    color: var(--mud-palette-primary);
}
.qar-card__title { font-weight: 600; font-size: 14px; color: var(--mud-palette-text-primary); }
.qar-card--selecionado {
    border-color: var(--mud-palette-primary);
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, var(--mud-palette-surface));
    box-shadow: 0 0 0 2px var(--mud-palette-primary);
}
.qar-card--selecionado:hover {
    border-color: var(--mud-palette-primary);
    box-shadow: 0 0 0 2px var(--mud-palette-primary), 0 8px 22px rgba(20,30,60,.08);
}
.qar-card__check { position: absolute; top: 10px; right: 10px; color: var(--mud-palette-primary); }
.home-panel { padding: 16px 18px; border: 1px solid var(--mud-palette-lines-default, #E6E9EF); border-radius: 14px; background: var(--mud-palette-surface); }
.home-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.home-panel__title { display: flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 700; color: var(--mud-palette-text-primary); }
.home-panel__count { display: inline-flex; min-width: 20px; height: 20px; align-items: center; justify-content: center; margin-left: 3px; padding: 0 6px; border-radius: 10px; background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent); color: var(--mud-palette-primary); font-size: 11px; }
.home-panel__link { padding: 0; border: 0; background: transparent; color: var(--mud-palette-primary); cursor: pointer; font-size: 12px; font-weight: 600; }
.home-panel__empty { padding: 12px 0; color: var(--mud-palette-text-secondary); font-size: 12px; }
.home-action { display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--mud-palette-lines-default,#E6E9EF) }
.home-action:last-child { border-bottom:0 }
.home-action--loading { display:grid;grid-template-columns:34px minmax(0,1fr) }
.home-action__icon { display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:color-mix(in srgb,var(--mud-palette-primary) 12%,transparent);color:var(--mud-palette-primary) }
.home-action__icon--inclusao { background:color-mix(in srgb,var(--mud-palette-success) 14%,transparent);color:var(--mud-palette-success) }
.home-action__icon--exclusao { background:color-mix(in srgb,var(--mud-palette-error) 13%,transparent);color:var(--mud-palette-error) }
.home-action__body { min-width:0;flex:1 }
.home-action__description { display:-webkit-box;overflow:hidden;color:var(--mud-palette-text-primary);font-size:11px;font-weight:650;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2 }
.home-action__meta { display:flex;gap:7px;margin-top:3px;color:var(--mud-palette-text-secondary);font-size:10px }
.home-action__meta span:first-child { color:var(--mud-palette-primary);font-weight:600 }
.home-action__time { flex:0 0 auto;color:var(--mud-palette-text-secondary);font-size:10px;white-space:nowrap }
.dashboard-movement-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.dashboard-movement { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid var(--mud-palette-lines-default, #E6E9EF); border-radius: 14px; cursor: pointer; }
.dashboard-movement:hover { border-color: color-mix(in srgb, var(--mud-palette-primary) 35%, transparent); }
.dashboard-movement > .mud-icon-root { font-size: 28px; }
.dashboard-movement span, .dashboard-movement strong, .dashboard-movement small { display: block; }
.dashboard-movement span { color: var(--mud-palette-text-primary); font-size: 13px; font-weight: 600; }
.dashboard-movement strong { font-size: 23px; line-height: 1.15; }
.dashboard-movement small { color: var(--mud-palette-text-secondary); font-size: 10px; }
.home-birthday { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--mud-palette-lines-default, #E6E9EF); }
.home-birthday:last-child { border-bottom: 0; }
.home-birthday__body { min-width: 0; flex: 1; }
.home-birthday__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--mud-palette-text-primary); font-size: 12px; font-weight: 600; }
.home-birthday__meta, .home-birthday__day { color: var(--mud-palette-text-secondary); font-size: 11px; }
.home-stat__hint.is-up { color: var(--mud-palette-success); }
.home-stat__hint.is-down { color: var(--mud-palette-error); }

@media (max-width: 1000px) {
    .home-layout { grid-template-columns: 1fr; }
    .home-side-col .home-panel--aniversariantes { position: static; }
}

@media (max-width: 700px) {
    .dashboard-movement-grid { grid-template-columns: 1fr; }
}

/* O seletor compartilhado usa itens com metade da densidade visual anterior. */
.competencia-dropdown__lista .mud-list-item {
    font-size: .5rem;
    min-height: 24px;
    height: 24px;
    padding: 3px 8px;
    line-height: 1;
}
/* Modais administrativas seguem o tema do Folha e a proporção do diálogo MagIA. */
.mud-dialog.folha-admin-dialog { width:94vw!important; max-width:min(94vw,1600px)!important; height:92vh!important; max-height:92vh!important; margin:0!important; border-radius:14px!important; overflow:hidden; display:flex; flex-direction:column; background:var(--mud-palette-surface)!important; color:var(--mud-palette-text-primary)!important; }
.folha-admin-dialog .mud-dialog-content { padding:0!important; overflow:hidden; flex:1; min-height:0; }
.folha-auditoria, .folha-permissoes { box-sizing:border-box; height:100%; min-height:0; overflow:hidden; padding:22px clamp(18px,2vw,32px); background:var(--mud-palette-background); color:var(--mud-palette-text-primary); }
.folha-auditoria,.folha-permissoes { display:flex;flex-direction:column; }
.folha-auditoria__header, .folha-permissoes__topo { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 18px; }
.folha-auditoria__header-acoes,.folha-permissoes__topo-acoes { display:flex;align-items:center;gap:8px }
.folha-auditoria__resumo { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin:0 0 16px; }
.folha-auditoria__card { display:flex; align-items:center; gap:12px; padding:12px 15px; border:1px solid var(--mud-palette-lines-default); border-radius:10px; background:var(--mud-palette-surface); min-height:64px; }
.folha-auditoria__card-icon { width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--mud-palette-primary) 16%,transparent);color:var(--mud-palette-primary); }
.folha-auditoria__card-icon--green { color:var(--mud-palette-success) }.folha-auditoria__card-icon--orange { color:var(--mud-palette-warning) }.folha-auditoria__card-icon--red { color:var(--mud-palette-error) }.folha-auditoria__card-icon--purple { color:#9b8afb }
.folha-auditoria__card strong { display:block;font-size:1.2rem;line-height:1.1 }.folha-auditoria__card small { display:block;margin-top:3px;font-size:.65rem;letter-spacing:.07em;color:var(--mud-palette-text-secondary) }
.folha-auditoria__filtros,.folha-auditoria__tabela,.folha-permissoes__barra,.folha-permissoes__painel { background:var(--mud-palette-surface)!important; border:1px solid var(--mud-palette-lines-default)!important; border-radius:12px!important; }
.folha-auditoria__filtros { flex:0 0 auto;margin:0 0 16px!important; }
.folha-auditoria__tabela { flex:1;min-height:0;display:flex;flex-direction:column;margin:0!important; }
.folha-auditoria__filtros { padding:16px!important }.folha-auditoria__filtros-grid { display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:12px }
.folha-auditoria__filtros-grid > * { min-width:0 }.folha-auditoria__filtros-grid > :nth-child(-n+6) { grid-column:span 2 }.folha-auditoria__filtros-grid > :nth-child(7),.folha-auditoria__filtros-grid > :nth-child(8) { grid-column:span 3 }.folha-auditoria__filtros-grid > :nth-child(9) { grid-column:span 2 }.folha-auditoria__filtros-grid > :nth-child(10) { grid-column:span 4 }
.folha-auditoria__filtro-acoes { display:flex;gap:8px;align-items:center;min-height:40px }.folha-auditoria__tabela { overflow:hidden }
.folha-auditoria__scroll { flex:1;min-height:0;overflow:auto; }
.folha-auditoria__grid { width:100%;border-collapse:collapse;font-size:.78rem;white-space:nowrap }
.folha-auditoria__grid th { position:sticky;top:0;z-index:1;background:var(--mud-palette-surface);color:var(--mud-palette-text-secondary);text-align:left;font-size:.65rem;letter-spacing:.05em;padding:10px 9px;border-bottom:1px solid var(--mud-palette-lines-default) }
.folha-auditoria__grid td { padding:8px 9px;border-bottom:1px solid var(--mud-palette-lines-default);color:var(--mud-palette-text-primary);max-width:420px;overflow:hidden;text-overflow:ellipsis }
.folha-auditoria__grid td.folha-auditoria__dados { min-width:320px;max-width:560px;white-space:normal;line-height:1.45;overflow-wrap:anywhere }
.folha-auditoria__grid tbody tr:hover { background:color-mix(in srgb,var(--mud-palette-primary) 6%,var(--mud-palette-surface)) }.folha-auditoria__grid td small { display:block;color:var(--mud-palette-text-secondary);margin-top:2px }
.folha-auditoria__tipo,.folha-auditoria__acao,.folha-auditoria__status { display:inline-flex;border-radius:20px;padding:3px 8px;background:color-mix(in srgb,var(--mud-palette-primary) 12%,transparent);color:var(--mud-palette-text-secondary);font-size:.65rem;font-weight:700 }
.folha-auditoria__acao { color:var(--mud-palette-primary) }.folha-auditoria__status--ok { color:var(--mud-palette-success) }.folha-auditoria__status--erro { color:var(--mud-palette-error) }
.folha-auditoria__vazio { text-align:center!important;padding:40px!important;color:var(--mud-palette-text-secondary)!important }.folha-auditoria__rodape { padding:9px 12px;text-align:right;color:var(--mud-palette-text-secondary);font-size:.72rem;border-top:1px solid var(--mud-palette-lines-default) }
.folha-permissoes { display:flex;flex-direction:column;gap:14px; }
.folha-permissoes__topo { margin:0;padding:4px 0 12px;border-bottom:1px solid var(--mud-palette-lines-default) }
.folha-permissoes__barra { display:grid;grid-template-columns:minmax(180px,260px) minmax(160px,240px) auto minmax(200px,280px);gap:12px;align-items:center;padding:10px 14px!important;margin:0!important }
.folha-permissoes__painel { flex:1;min-height:260px;overflow:hidden;display:flex;flex-direction:column }
.folha-permissoes__painel .mud-tabs-panels { flex:1;min-height:0;overflow:hidden }
.folha-permissoes__painel .mud-tab-panel { height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden }
.folha-permissoes__descricao { padding:12px 16px;color:var(--mud-palette-text-secondary);font-size:.85rem }
.folha-permissoes__matrix-scroll { flex:1;min-height:0;overflow:auto;max-height:none;padding-bottom:8px }
.folha-permissoes__matrix { width:max-content;min-width:100%;border-collapse:separate;border-spacing:0 }
.folha-permissoes__matrix--grupo { width:100%;min-width:680px;max-width:1040px;table-layout:fixed;margin:0 auto }
.folha-permissoes__matrix--grupo th:first-child,.folha-permissoes__matrix--grupo td:first-child { width:40% }
.folha-permissoes__matrix--grupo th:not(:first-child),.folha-permissoes__matrix--grupo td:not(:first-child) { width:20% }
.folha-permissoes__matrix th { position:sticky;top:0;background:var(--mud-palette-surface);color:var(--mud-palette-text-primary);padding:8px 10px;text-align:center;font-size:.72rem;letter-spacing:.04em;z-index:2;white-space:nowrap;border-bottom:1px solid var(--mud-palette-lines-default) }
.folha-permissoes__coluna-todos { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px }
.folha-permissoes__celula-check { padding:3px!important;text-align:center!important;vertical-align:middle }
.folha-permissoes__celula-check .mud-checkbox { display:flex;justify-content:center;margin:0 auto }
.folha-permissoes__coluna-todos .mud-checkbox { margin:0 }
.folha-permissoes__matrix thead tr:nth-child(2) th { top:36px;padding:7px 8px;font-size:.63rem }
.folha-permissoes__matrix th:first-child { text-align:left;min-width:220px }.folha-permissoes__matrix td { padding:5px 7px;text-align:center;vertical-align:middle;border:1px solid var(--mud-palette-lines-default);height:38px }
.folha-permissoes__matrix .matrix-pin { position:sticky;left:0;z-index:3;background:var(--mud-palette-surface) }
.folha-permissoes__matrix .matrix-pin--user { left:0;min-width:220px }
.folha-permissoes__matrix .matrix-pin--group { left:220px;min-width:165px }
.folha-permissoes__matrix thead .matrix-pin { z-index:4;background:var(--mud-palette-surface) }
.folha-permissoes__grupo-linha { min-width:130px;max-width:155px }
.folha-permissoes__matrix tr:nth-child(even) { background:color-mix(in srgb,var(--mud-palette-primary) 4%,var(--mud-palette-surface)) }.folha-permissoes__matrix td:first-child { text-align:left }.folha-permissoes__matrix td strong,.folha-permissoes__matrix td small { display:block }.folha-permissoes__matrix td small { color:var(--mud-palette-text-secondary);font-size:.68rem;margin-top:2px }
.folha-permissoes__usuario-selecao { display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:12px 16px 0 }
.folha-permissoes__legenda,.folha-permissoes__rodape { display:flex;align-items:center;gap:18px;padding:12px 16px;color:var(--mud-palette-text-secondary);font-size:.78rem }.folha-permissoes__legenda i,.folha-permissoes__legenda-item i { display:inline-block;width:11px;height:11px;flex:0 0 11px;border-radius:50%;background:var(--mud-palette-text-disabled);margin-right:5px }.folha-permissoes__legenda i.liberar,.folha-permissoes__legenda-item i.liberar { background:var(--mud-palette-success) }.folha-permissoes__legenda i.negar,.folha-permissoes__legenda-item i.negar { background:var(--mud-palette-error) }
.folha-permissoes__rodape { justify-content:flex-start;gap:24px;border-top:1px solid var(--mud-palette-lines-default);flex-wrap:wrap }.folha-permissoes__legenda-item { display:inline-flex;align-items:center;white-space:nowrap }.folha-permissoes__dica { margin-left:auto }.folha-permissoes__estado { min-width:116px;font-size:.72rem!important }.folha-permissoes__estado--liberar { color:var(--mud-palette-success)!important }.folha-permissoes__estado--negar { color:var(--mud-palette-error)!important }.folha-permissoes__estado--herdar { color:var(--mud-palette-text-secondary)!important }
@media(max-width:1100px){.folha-auditoria__resumo{grid-template-columns:repeat(3,minmax(0,1fr))}.folha-auditoria__filtros-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.folha-auditoria__filtros-grid > :nth-child(n){grid-column:span 2}.folha-auditoria__filtros-grid > :nth-child(7),.folha-auditoria__filtros-grid > :nth-child(8){grid-column:span 3}.folha-auditoria__filtros-grid > :nth-child(10){grid-column:span 3}.folha-permissoes__barra{grid-template-columns:repeat(2,minmax(180px,280px))}}
@media(max-width:650px){.mud-dialog.folha-admin-dialog{width:96vw!important;max-width:96vw!important;height:94vh!important;max-height:94vh!important}.folha-auditoria,.folha-permissoes{padding:16px 12px}.folha-auditoria__resumo{grid-template-columns:repeat(2,minmax(0,1fr))}.folha-auditoria__filtros-grid{grid-template-columns:1fr 1fr}.folha-auditoria__filtros-grid > :nth-child(n){grid-column:span 1}.folha-auditoria__filtros-grid > :nth-child(10){grid-column:1/-1}.folha-auditoria__header,.folha-permissoes__topo{align-items:flex-start}.folha-permissoes__barra,.folha-permissoes__usuario-selecao{grid-template-columns:1fr}.folha-permissoes__rodape{align-items:flex-start;flex-direction:column}}
.topbar-favorites { min-width:250px; max-width:min(360px,calc(100vw - 24px)); padding:4px; }
.topbar-favorites__head { padding:10px 12px 8px; color:var(--mud-palette-text-primary); font-size:.85rem; font-weight:700; }
.topbar-favorites__empty { padding:12px; color:var(--mud-palette-text-secondary); font-size:.82rem; }
.release-notes-dialog .mud-dialog-content { max-height:min(68vh,720px); overflow:auto; }
.release-notes-title { display:flex;align-items:center;gap:12px; }
.release-notes-title .mud-icon-root { font-size:28px; }
.release-notes-loading { min-height:180px;display:grid;place-items:center; }
.release-notes-list { padding:2px 4px 6px; }
.release-note-card { padding:16px 18px;border-radius:12px!important; }
.release-note-card__heading { display:flex;align-items:flex-start;justify-content:space-between;gap:12px; }
.release-note-card__title { font-weight:700!important; }
.release-note-card__content { margin-top:12px;white-space:pre-wrap;line-height:1.55;color:var(--mud-palette-text-primary); }
.release-note-card__actions { display:flex;justify-content:flex-end;margin-top:12px; }

/* Redimensiona o trilho do menu uma vez; a área principal desliza em camada de composição. */
.app-sidebar.mud-drawer {
    transform: translateX(0) !important;
    transition: none !important;
    will-change: auto;
}

.app-sidebar.mud-drawer.app-sidebar--expanded {
    transform: translateX(0) !important;
}

.app-sidebar.mud-drawer.app-sidebar--collapsed {
    transform: translateX(0) !important;
}

.app-topbar.mud-appbar {
    left: var(--app-sidebar-collapsed) !important;
    right: 0 !important;
    transition: transform .2s cubic-bezier(.2,.8,.2,1), right 0s !important;
    will-change: transform;
}

.app-topbar--sidebar-expanded {
    left: var(--app-sidebar-collapsed) !important;
    right: calc(var(--app-sidebar-expanded) - var(--app-sidebar-collapsed)) !important;
    transform: translateX(calc(var(--app-sidebar-expanded) - var(--app-sidebar-collapsed)));
}

.app-topbar--sidebar-collapsed {
    right: 0 !important;
    transform: translateX(0);
}

/* O topo precisa ocupar toda a largura restante; transformar e reservar o mesmo
   espaço reduzia a toolbar e empurrava os controles da direita para fora da tela. */
.app-topbar.mud-appbar.app-topbar--sidebar-expanded {
    left: var(--app-sidebar-expanded) !important;
    right: 0 !important;
    transform: none !important;
    transition: left .15s ease !important;
    will-change: auto;
}

.app-topbar.mud-appbar.app-topbar--sidebar-collapsed {
    left: var(--app-sidebar-collapsed) !important;
    right: 0 !important;
    transform: none !important;
    transition: left .15s ease !important;
    will-change: auto;
}

.mud-main-content.app-main-content {
    left: var(--app-sidebar-collapsed) !important;
    right: 0 !important;
    transition: transform .2s cubic-bezier(.2,.8,.2,1), right 0s !important;
    will-change: transform;
}

.mud-main-content.app-main-content--sidebar-expanded {
    left: var(--app-sidebar-collapsed) !important;
    right: calc(var(--app-sidebar-expanded) - var(--app-sidebar-collapsed)) !important;
    transform: translateX(calc(var(--app-sidebar-expanded) - var(--app-sidebar-collapsed)));
}

.mud-main-content.app-main-content--sidebar-collapsed {
    right: 0 !important;
    transform: translateX(0);
}

@media (max-width: 960px) {
    .app-sidebar.mud-drawer {
        display: none !important;
    }

    .app-topbar.mud-appbar.app-topbar--sidebar-expanded,
    .app-topbar.mud-appbar.app-topbar--sidebar-collapsed {
        left: 0 !important;
        right: 0 !important;
        transform: none !important;
        transition: none !important;
        will-change: auto;
    }

    .mud-main-content.app-main-content.app-main-content--sidebar-expanded,
    .mud-main-content.app-main-content.app-main-content--sidebar-collapsed {
        left: 0 !important;
        right: 0 !important;
        transform: none !important;
        transition: none !important;
        will-change: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .app-sidebar.mud-drawer,
    .app-topbar.mud-appbar,
    .mud-main-content.app-main-content {
        transition: none !important;
        will-change: auto;
    }
}

.mud-dialog.busca-pessoa-dialog { width: min(96vw, 1500px) !important; max-width: 96vw !important; }
.busca-pessoa-dialog .mud-dialog-title { padding: 16px 20px 10px; }
.busca-pessoa-dialog .mud-dialog-content { display: flex; height: min(76vh, 850px); min-height: 360px; padding: 0; overflow: hidden; }
.busca-pessoa-dialog__title { display: flex; align-items: center; gap: 12px; }
.busca-pessoa-dialog__cadastro { width: 100%; height: 100%; min-width: 0; min-height: 0; overflow: hidden; }
.busca-pessoa-dialog__cadastro > .rh-page.rh-detail-page { width: 100%; height: 100%; max-width: none; min-height: 0; margin: 0; padding: 14px 20px 0; }
.busca-pessoa-dialog .mud-dialog-actions { padding: 10px 20px; }
@media (max-width:600px) {
    .mud-dialog.busca-pessoa-dialog { width: 100vw; max-width: 100vw; margin: 0; }
    .busca-pessoa-dialog .mud-dialog-content { height: calc(100dvh - 150px); min-height: 0; }
    .busca-pessoa-dialog__cadastro > .rh-page.rh-detail-page { padding: 10px 12px 0; }
}
