/* Diretoria: cenário decorativo; números, escalas e legendas permanecem reais. */
#directorPortal { display:grid; grid-template-rows:auto minmax(0,1fr); height:100dvh; min-height:0; overflow:hidden; }
#directorPortal .controller-layout { display:grid; position:relative; min-height:0; grid-template-columns:64px minmax(0,1fr); overflow:hidden; }
#directorPortal .controller-main { grid-column:2; min-height:0; overflow-x:hidden; overflow-y:auto; }
#directorPortal .controller-sidebar { position:absolute; inset:0 auto 0 0; z-index:90; width:64px; max-height:none; padding:10px 6px; overflow-x:hidden; overflow-y:auto; background:linear-gradient(180deg,#101d37,#071c30); transition:width .24s ease; }
#directorPortal.nav-expanded .controller-sidebar { width:min(288px,86vw); box-shadow:15px 0 36px #020c1eb0; }
#directorPortal #directorNavToggle { position:sticky; top:0; z-index:2; flex:none; width:42px; min-height:40px; margin:0 4px 12px; border:1px solid #8397b9; border-radius:8px; background:#1e3553; color:white; font-size:23px; cursor:pointer; }
#directorPortal #directorNavScrim { position:absolute; z-index:80; inset:0; border:0; border-radius:0; background:#03102188; cursor:pointer; }
#directorPortal .controller-sidebar nav { display:grid; gap:4px; }
#directorPortal .controller-sidebar .controller-nav-link { display:flex; align-items:center; justify-content:center; width:48px; min-height:44px; margin:0; padding:7px; font-size:0; border-radius:8px; }
#directorPortal .controller-sidebar .controller-nav-link::before { content:attr(data-nav-icon); flex:none; width:25px; text-align:center; font:21px Arial,sans-serif; color:#e2edfa; }
#directorPortal.nav-expanded .controller-sidebar .controller-nav-link { justify-content:flex-start; gap:12px; width:100%; font-size:12px; text-align:left; }
#directorPortal .controller-sidebar > p, #directorPortal .director-sector-heading { display:none; }
#directorPortal.nav-expanded .controller-sidebar > p, #directorPortal.nav-expanded .director-sector-heading { display:block; }
#directorPortal .controller-nav-link.active { background:#244972; box-shadow:inset 3px 0 #ffad43; }
#directorPortal :focus-visible { outline:2px solid #eea642; outline-offset:3px; }
#directorPortal.executive-view .controller-main { background:linear-gradient(180deg,#06142645,#061426a6),url('director-command-background-v1.png') center top/cover no-repeat; background-attachment:local; }
#directorPortal .director-executive { max-width:1560px; margin:0 auto; color:#edf4ff; }
#directorOverview { padding-top:clamp(12px,7vw,105px); }
#directorPortal .director-executive .controller-welcome, #directorPortal .director-glass { border:1px solid #db944b9e; border-radius:14px; background:linear-gradient(120deg,#16283eea,#0a2035e6); box-shadow:0 0 16px #f29b382b,0 16px 35px #020c2180; backdrop-filter:blur(10px); }
#directorPortal .director-executive .controller-welcome { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:30px 35px; }
#directorPortal .director-executive .controller-welcome h1 { margin:10px 0; color:#f7faff; font-size:clamp(26px,2.8vw,42px); line-height:1.14; }
#directorPortal .director-executive .controller-welcome h1 em { font-style:normal; color:#ffae45; }
#directorPortal #directorSectorView > .controller-welcome { display:block; }
#directorPortal #directorFavorites h2 { font-size:22px; margin:0 0 8px; }
#directorPortal .director-favorites { padding:22px; }
#directorPortal .director-executive .controller-welcome > div:first-child { border-left:2px solid #ffaa32; padding-left:23px; }
#directorPortal .director-executive .controller-welcome p { color:#cfdded; font-size:10px; letter-spacing:.2em; }
#directorPortal .director-hero-side { display:flex; align-items:center; gap:20px; border-left:1px solid #b8cae044; padding-left:26px; min-width:240px; font-size:14px; line-height:1.6; }
#directorPortal .director-hero-side > span:first-child { font-size:46px; color:#ffad43; }
#directorPortal .director-executive :is(.content-card,.controller-next,.dashboard-kpi,.hr-kpi,.finance-bi-center,.workforce-chart,.director-workforce-pin) { background:linear-gradient(140deg,#182c43ed,#071c31ef); border:1px solid #98abc24d; border-radius:12px; box-shadow:0 8px 22px #020c193d; color:#eaf2fc; }
#directorPortal .director-executive :is(h2,h3,h4,.dashboard-kpi strong,.hr-kpi strong,.finance-bi,.shared-request-bi-bar,.sector-breakdown-row,.kpi-target-form label) { color:#f0f5ff; }
#directorPortal .director-executive :is(.form-hint,.kpi-standard,.dashboard-kpi small,.dashboard-kpi span,.finance-bi-heading p,.finance-bi-column>span,.finance-bi-column small,.finance-bi-center-top span,.director-favorite-card small,.field-guidance) { color:#becfe1; }
#directorPortal .director-executive .dashboard-kpis { grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr)); gap:15px; }
#directorPortal .director-pulse { margin-top:20px; }
#directorPortal .director-executive .dashboard-kpi { display:flex; flex-direction:column; align-items:stretch; border-top:2px solid #e6a04d; padding:22px; min-width:0; }
#directorPortal .director-executive .dashboard-kpi > strong { font-size:clamp(24px,2.3vw,35px); margin:8px 0; overflow-wrap:anywhere; }
#directorPortal .director-executive .dashboard-kpi > span { color:#f2f6ff; font-weight:700; }
#directorPortal .director-executive .dashboard-kpi small { font-size:11px; line-height:1.5; }
#directorPortal .director-executive .kpi-standard { border-color:#b3c8db33; }
#directorPortal .director-executive :is(.secondary-action,.director-kpi-pin) { color:#e4eefc; background:#243e59; border-color:#839bb663; }
#directorPortal .director-executive .director-kpi-pin[aria-pressed=true] { color:#ffd596; border-color:#eda544; background:#523b24; }
#directorPortal .director-executive :is(input,select) { background:#10283e; color:#f5f8fc; border:1px solid #7a93ae; border-radius:6px; min-height:36px; }
#directorPortal .director-executive option { background:#10283e; color:#fff; }
#directorPortal .director-executive :is(.finance-bi-column-track,.finance-bi-bar-track,.workforce-chart-track) { background:#b7c9e01a; }
#directorPortal .director-executive .finance-bi-column-track>div, #directorPortal .director-executive .workforce-chart-fill { background:linear-gradient(180deg,#ffc567,#ea8b23); }
#directorPortal .director-executive .finance-bi-bar-track>div { background:linear-gradient(90deg,#4685c8,#79c9ec); }
#directorPortal .director-executive .finance-bi-donut span { background:#10283e; color:#ecf4ff; }
#directorPortal .director-executive :is(.dashboard-table th,.dashboard-table td) { border-color:#6985a344; color:#e1eaf5; background:transparent; }
#directorPortal .director-executive .dashboard-table th { background:#24405a; }
#directorPortal .director-executive .dashboard-table tr:nth-child(even) { background:#ffffff08; }
#directorPortal .director-executive .dashboard-table-wrap { border-color:#8099b544; }
#directorPortal .director-sparkline { width:100%; height:45px; margin:15px 0 4px; overflow:visible; }
#directorPortal .director-sparkline polyline { fill:none; stroke:#ffa62d; stroke-width:2; vector-effect:non-scaling-stroke; }
#directorPortal .director-detail-link { margin-top:auto; padding:14px 0 0; color:#d3e5f7; background:none; border:0; text-align:left; font:inherit; font-size:11px; cursor:pointer; }
#directorPortal .director-home-bottom { display:grid; grid-template-columns:1.2fr 1fr; gap:18px; margin-top:20px; }
#directorPortal .director-glass { padding:23px; min-width:0; }
#directorPortal .director-glass h2 { margin:0; font-size:20px; }
#directorPortal .director-glass .card-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:16px; }
#directorPortal .director-quick-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(100px,1fr)); gap:10px; margin-top:18px; }
#directorPortal .director-quick-links button { display:grid; justify-items:center; align-content:start; gap:12px; padding:16px 10px; border:1px solid #98abc244; border-radius:10px; background:#1a344a8c; color:white; font:inherit; font-size:12px; cursor:pointer; }
#directorPortal .director-quick-links button > span:first-child { color:#ffb64e; font-size:30px; }
#directorPortal .director-quick-links button:hover { background:#304c65; border-color:#ffb64e; }
#directorPortal #directorNotices { color:#c2d3e5; font-size:13px; line-height:1.6; }
#directorPortal .director-notice { display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; padding:14px 0; border:0; border-bottom:1px solid #aec4db29; background:none; color:#e9f1fb; text-align:left; font:inherit; cursor:pointer; }
#directorPortal .director-notice::before { content:''; width:8px; height:8px; border-radius:50%; flex:none; background:#ffa528; box-shadow:0 0 8px #ffa528; }
#directorPortal .director-notice span { flex:1; }
#directorPortal .director-notice time { color:#b8cadd; font-size:11px; white-space:nowrap; }
#directorPortal .director-home-footer { padding:25px 6px 0; color:#b4c9dd; font-size:11px; line-height:1.6; }
@media(min-width:1400px) { #directorPortal .director-pulse { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media(max-width:1050px) { #directorPortal .director-hero-side { display:none; } #directorPortal .director-home-bottom { grid-template-columns:1fr; } }
@media(max-width:700px) {
  #directorPortal .controller-layout { grid-template-columns:54px minmax(0,1fr); }
  #directorPortal .controller-sidebar { width:54px; padding-inline:3px; }
  #directorPortal .controller-sidebar .controller-nav-link { width:45px; }
  #directorPortal #directorNavToggle { margin-inline:3px; }
  #directorPortal .controller-main { padding:18px 12px; }
  #directorOverview { padding-top:0; }
  #directorPortal .director-executive .controller-welcome { padding:22px 18px; }
  #directorPortal .director-executive .controller-welcome > div:first-child { padding-left:12px; }
  #directorPortal .director-glass { padding:18px 14px; }
  #directorPortal .director-notice { flex-wrap:wrap; }
  #directorPortal .director-executive .finance-bi-columns { gap:4px; }
  #directorPortal .director-executive .finance-bi-column>span { white-space:normal; overflow-wrap:anywhere; font-size:10px; }
  #directorPortal .director-executive .finance-bi-chart { padding:14px; }
  #directorPortal .director-executive .sector-breakdown-row { grid-template-columns:10px minmax(65px,1fr) minmax(30px,1fr) 25px; gap:6px; }
}
@media(prefers-reduced-motion:reduce) { #directorPortal .controller-sidebar { transition:none; } }
