/* ============================================================
   ARGOS · Design System e acabamento visual · Etapa 11
   Carregado por último para unificar Diretoria, Gestão e Portal.
   ============================================================ */

:root {
  --c-accent: #f06435;
  --c-accent-2: #d94f23;
  --c-accent-soft: #fff0e8;
  --c-page: #f4f6f8;
  --c-page-2: #eef1f4;
  --c-card: #ffffff;
  --c-card-2: #f8fafb;
  --c-card-3: #f1f4f6;
  --c-ink: #18212f;
  --c-ink-2: #455165;
  --c-ink-3: #748094;
  --c-ink-4: #aab2bf;
  --c-line: #e4e8ed;
  --c-line-2: #d7dde5;
  --c-line-3: #b9c2ce;
  --c-sidebar: #111722;
  --c-sidebar-2: #18202d;
  --c-sidebar-3: #222c3b;
  --c-success: #238a5a;
  --c-success-soft: #e8f7ef;
  --c-danger: #c94335;
  --c-danger-soft: #fff0ee;
  --c-warn: #b87915;
  --c-warn-soft: #fff6df;
  --c-info: #356fbe;
  --c-info-soft: #ebf3ff;
  --r-sm: 8px;
  --r-md: 11px;
  --r-lg: 16px;
  --r-xl: 22px;
  --sh-1: 0 1px 2px rgba(17,24,39,.04), 0 1px 1px rgba(17,24,39,.03);
  --sh-2: 0 8px 24px rgba(17,24,39,.07), 0 1px 3px rgba(17,24,39,.04);
  --sh-3: 0 20px 48px rgba(17,24,39,.12);
  --font-display: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-ui: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ui-sidebar-width: 244px;
  --ui-director-sidebar-width: 276px;
}

html { background: var(--c-page); }
body {
  background:
    radial-gradient(circle at 100% 0, rgba(240,100,53,.035), transparent 28rem),
    var(--c-page);
  color: var(--c-ink);
}
::selection { background: rgba(240,100,53,.22); color: var(--c-ink); }
* { scrollbar-width: thin; scrollbar-color: #c9d0d9 transparent; }
*::-webkit-scrollbar { width: 9px; height: 9px; }
*::-webkit-scrollbar-thumb { background: #c9d0d9; border: 2px solid transparent; background-clip: padding-box; border-radius: 999px; }
*::-webkit-scrollbar-track { background: transparent; }

:where(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline: 3px solid rgba(240,100,53,.22);
  outline-offset: 2px;
}
button, input, select, textarea { accent-color: var(--c-accent); }
button { -webkit-tap-highlight-color: transparent; }
button:disabled, .is-disabled, [aria-disabled="true"] { opacity: .52; cursor: not-allowed !important; transform: none !important; }

/* Estrutura e cabeçalhos */
.main-content, .director-main { background: transparent; }
.topbar, .director-topbar {
  min-height: 72px;
  border-bottom: 1px solid rgba(215,221,229,.9) !important;
  background: rgba(244,246,248,.9) !important;
  backdrop-filter: blur(16px) saturate(1.25);
  -webkit-backdrop-filter: blur(16px) saturate(1.25);
}
.topbar { padding: 15px clamp(18px,3vw,34px) !important; }
.topbar__title, .director-topbar h1 { letter-spacing: -.025em; color: var(--c-ink); }
.topbar__title { font-size: clamp(19px,2vw,24px) !important; font-weight: 760 !important; }
.context, .portal-page-eyebrow, .g-eyebrow, .cab-eyebrow {
  color: var(--c-ink-3) !important;
  letter-spacing: .11em !important;
  font-weight: 750 !important;
}
.main-content > :where(.dashboard-content,.content,.page-content,.clientes-content,.kanban-wrap),
.director-content { width: 100%; }
.director-content { max-width: 1640px; margin-inline: auto; }

/* Cards e superfícies */
:where(.kpi-card,.proj-card,.progress-card,.director-card,.director-kpi,.op-card,.op-kpi,.prog-card,.preview-card,.templates-kpi,.editor-card,.pp-card,.proj-status-card,.portal-card,.dados-secao,.visao-sol-card,.metric,.health-kpi) {
  border-color: var(--c-line) !important;
  box-shadow: var(--sh-1) !important;
}
:where(.kpi-card,.director-kpi,.op-kpi,.templates-kpi,.health-kpi) {
  position: relative;
  overflow: hidden;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
:where(.kpi-card,.director-kpi,.op-kpi,.templates-kpi,.health-kpi):hover {
  border-color: #d8dee6 !important;
  box-shadow: var(--sh-2) !important;
  transform: translateY(-2px);
}
:where(.director-card,.op-card,.proj-card,.preview-card,.editor-card,.pp-card,.proj-status-card) {
  border-radius: var(--r-lg) !important;
  background: var(--c-card) !important;
}
:where(.director-card__head,.op-head,.proj-card-header,.modal-header,.director-modal__head) {
  background: linear-gradient(180deg,#fff,#fbfcfd);
}
.director-card__head h2, .op-head h2, .proj-card-title { letter-spacing: -.012em; }

/* Botões */
:where(.btn,.c-btn,.director-btn,.op-btn,.templates-btn,.health-btn,.btn-save,.btn-avancar,.docs-int-btn,.proj-tec-doc-btn,.portal-search-btn,.filter-btn) {
  min-height: 38px;
  border-radius: 9px !important;
  font-weight: 700 !important;
  letter-spacing: -.005em;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease, color .14s ease !important;
}
:where(.btn,.c-btn,.director-btn,.op-btn,.templates-btn,.health-btn,.btn-save,.btn-avancar,.docs-int-btn,.proj-tec-doc-btn,.portal-search-btn,.filter-btn):hover {
  transform: translateY(-1px);
  box-shadow: 0 5px 14px rgba(17,24,39,.08);
}
:where(.primary,.c-btn-accent,.director-btn.primary,.op-btn.primary,.btn-save,.btn-avancar) {
  background: linear-gradient(180deg,#f47448,#e8592e) !important;
  border-color: #df562d !important;
  color: #fff !important;
  box-shadow: 0 5px 14px rgba(240,100,53,.18) !important;
}
:where(.primary,.c-btn-accent,.director-btn.primary,.op-btn.primary,.btn-save,.btn-avancar):hover {
  background: linear-gradient(180deg,#e9663c,#d94f23) !important;
  box-shadow: 0 8px 18px rgba(240,100,53,.25) !important;
}
:where(.danger,.director-btn.danger,.op-btn.danger) { color: var(--c-danger) !important; border-color: #efcbc6 !important; background: #fffafa !important; }

/* Formulários */
:where(.c-field-input,.director-input,.director-select,.director-textarea,.op-input,.op-select,.op-textarea,.dado-input,.dado-textarea,.form-field input,.form-field select,.form-field textarea,.field input,.field select,.field textarea,.modal-field input,.modal-field select,.modal-field textarea) {
  border: 1px solid var(--c-line-2) !important;
  background: #fff !important;
  color: var(--c-ink) !important;
  border-radius: 10px !important;
  min-height: 42px;
  box-shadow: inset 0 1px 1px rgba(17,24,39,.018);
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease !important;
}
:where(.c-field-input,.director-input,.director-select,.director-textarea,.op-input,.op-select,.op-textarea,.dado-input,.dado-textarea,.form-field input,.form-field select,.form-field textarea,.field input,.field select,.field textarea,.modal-field input,.modal-field select,.modal-field textarea):focus,
.c-field-input:focus-within {
  border-color: rgba(240,100,53,.72) !important;
  box-shadow: 0 0 0 3px rgba(240,100,53,.1) !important;
  outline: none;
}
:where(label,.c-field-label,.director-field label,.op-field label,.dado-label) { color: var(--c-ink-2); }
::placeholder { color: #a1a9b5 !important; }

/* Tabelas */
:where(.director-table-wrap,.op-table-wrap,.table-wrap) {
  border-radius: 0 0 var(--r-lg) var(--r-lg);
  overscroll-behavior-x: contain;
}
:where(.director-table,.op-table,.proj-table) { border-collapse: separate !important; border-spacing: 0; }
:where(.director-table,.op-table,.proj-table) th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f7f9fb !important;
  color: #667286 !important;
  font-size: 10px !important;
  letter-spacing: .065em !important;
  border-bottom: 1px solid var(--c-line) !important;
}
:where(.director-table,.op-table,.proj-table) td { border-color: #edf0f3 !important; }
:where(.director-table,.op-table,.proj-table) tbody tr { transition: background .12s ease; }
:where(.director-table,.op-table,.proj-table) tbody tr:hover td { background: #fafbfd !important; }

/* Badges e alertas */
:where(.director-pill,.op-pill,.card-badge,.proj-card-tag,.sidebar__badge-soon) {
  border: 1px solid transparent;
  letter-spacing: .02em;
}
.director-pill { background: #f0ecfb !important; color: #654ca1 !important; }
.director-pill.ok, .op-pill.ok { background: var(--c-success-soft) !important; color: #176d46 !important; border-color: #cfeadb; }
.director-pill.warn, .op-pill.warn { background: var(--c-warn-soft) !important; color: #875b0d !important; border-color: #f2e1b7; }
.director-pill.off, .op-pill.danger { background: var(--c-danger-soft) !important; color: #963a30 !important; border-color: #f0d0cb; }
:where(.security-alert,.c-alert,.alert) {
  border-radius: 12px !important;
  box-shadow: var(--sh-1);
}
.security-alert { background: #fff5f1 !important; border-color: #f0d1c7 !important; color: #873e31 !important; }

/* Estados vazios */
:where(.director-empty,.op-empty,.preview-empty,.pp-vazio) {
  padding: 42px 24px !important;
  color: var(--c-ink-3) !important;
  background: linear-gradient(180deg,#fff,#fafbfd);
}
:where(.director-empty,.op-empty,.preview-empty,.pp-vazio)::before {
  content: '';
  display: block;
  width: 38px;
  height: 38px;
  margin: 0 auto 12px;
  border-radius: 12px;
  background:
    linear-gradient(var(--c-line-2),var(--c-line-2)) 11px 12px/16px 2px no-repeat,
    linear-gradient(var(--c-line-2),var(--c-line-2)) 11px 18px/12px 2px no-repeat,
    linear-gradient(var(--c-line-2),var(--c-line-2)) 11px 24px/9px 2px no-repeat,
    var(--c-card-3);
  border: 1px solid var(--c-line);
}

/* Sidebars — Gestão */
.sidebar {
  width: var(--ui-sidebar-width) !important;
  background: linear-gradient(180deg,#141b27 0%,#0d131d 100%) !important;
  border-right: 1px solid rgba(255,255,255,.04);
  box-shadow: 10px 0 32px rgba(13,19,29,.08);
  transition: width .2s ease, transform .22s ease;
}
.sidebar__logo { min-height: 72px; padding: 18px 16px !important; margin-bottom: 4px !important; }
.sidebar .c-brand-mark {
  border-radius: 10px !important;
  background: linear-gradient(145deg,#f4774c,#dc5228) !important;
  box-shadow: 0 7px 18px rgba(240,100,53,.28);
}
.sidebar__new-btn { margin: 8px 12px 13px !important; min-height: 40px; box-shadow: 0 7px 18px rgba(240,100,53,.18); }
.sidebar__nav { padding: 4px 9px 14px !important; gap: 2px !important; }
.sidebar__group { margin: 14px 10px 5px; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; color: rgba(255,255,255,.26); white-space: nowrap; }
.sidebar__group:first-child { margin-top: 6px; }
.sidebar__item { min-height: 39px; padding: 9px 11px !important; border-radius: 9px !important; color: rgba(255,255,255,.61) !important; }
.sidebar__item:hover { color: #fff !important; background: rgba(255,255,255,.065) !important; }
.sidebar__item.is-active {
  color: #fff !important;
  background: linear-gradient(90deg,rgba(240,100,53,.25),rgba(240,100,53,.09)) !important;
  box-shadow: inset 3px 0 0 #f4774c;
}
.sidebar__item.is-active .sidebar__icon { color: #ff9b77 !important; }
.sidebar__icon { width: 18px; height: 18px; }
.sidebar__user { margin: 8px 10px 12px !important; background: rgba(255,255,255,.055) !important; border: 1px solid rgba(255,255,255,.05); }
.sidebar__collapse, .director-sidebar__collapse {
  width: 28px; height: 28px; display: grid; place-items: center; margin-left: auto;
  border: 1px solid rgba(255,255,255,.1); border-radius: 8px; background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.52); cursor: pointer; flex: none;
}
.sidebar__collapse:hover, .director-sidebar__collapse:hover { color:#fff; background:rgba(255,255,255,.09); }

/* Sidebar — Diretoria */
.director-sidebar {
  width: var(--ui-director-sidebar-width) !important;
  background: linear-gradient(180deg,#171421 0%,#0d0c12 100%) !important;
  padding: 18px 14px !important;
  box-shadow: 10px 0 34px rgba(20,15,29,.1) !important;
  transition: width .2s ease, transform .22s ease;
}
.director-brand { min-height: 46px; padding: 0 8px !important; }
.director-brand__mark { border-radius: 11px !important; box-shadow: 0 8px 22px rgba(118,87,185,.28); }
.director-lock { margin: 16px 7px 8px !important; }
.director-nav { padding: 4px 0 12px; gap: 2px !important; }
.director-nav__group { margin: 14px 12px 5px; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; color: rgba(255,255,255,.27); white-space: nowrap; }
.director-nav__item { min-height: 39px; padding: 9px 11px !important; border-radius: 9px !important; }
.director-nav__item.is-active {
  background: linear-gradient(90deg,rgba(118,87,185,.32),rgba(118,87,185,.1)) !important;
  box-shadow: inset 3px 0 0 #ae91ec !important;
}
.director-main { margin-left: var(--ui-director-sidebar-width) !important; transition: margin-left .2s ease; }
.director-topbar { padding: 15px clamp(18px,3vw,34px) !important; }
.director-content { padding: 26px clamp(18px,3vw,34px) 54px !important; }
.director-grid { grid-template-columns: repeat(4,minmax(180px,1fr)); }

/* Sidebar recolhida em desktop */
@media (min-width: 901px) {
  body.ui-sidebar-collapsed .sidebar { width: 76px !important; }
  body.ui-sidebar-collapsed .sidebar__logo { justify-content: center; padding-inline: 10px !important; }
  body.ui-sidebar-collapsed .sidebar__logo > div:last-of-type,
  body.ui-sidebar-collapsed .sidebar__new-btn span,
  body.ui-sidebar-collapsed .sidebar__return-director,
  body.ui-sidebar-collapsed .sidebar__label,
  body.ui-sidebar-collapsed .sidebar__group,
  body.ui-sidebar-collapsed .sidebar__user-info,
  body.ui-sidebar-collapsed .sidebar__badge-soon { display:none !important; }
  body.ui-sidebar-collapsed .sidebar__new-btn { justify-content:center; padding-inline:0 !important; }
  body.ui-sidebar-collapsed .sidebar__item { justify-content:center; padding-inline:0 !important; }
  body.ui-sidebar-collapsed .sidebar__user { justify-content:center; padding-inline:8px !important; }
  body.ui-sidebar-collapsed .sidebar__logout { display:none; }
  body.ui-sidebar-collapsed .sidebar__collapse { position:absolute; right:-12px; top:22px; background:#1b2432; }

  body.ui-director-collapsed .director-sidebar { width: 82px !important; }
  body.ui-director-collapsed .director-main { margin-left:82px !important; }
  body.ui-director-collapsed .director-brand { justify-content:center; }
  body.ui-director-collapsed .director-brand > div:last-of-type,
  body.ui-director-collapsed .director-lock,
  body.ui-director-collapsed .director-nav__item span,
  body.ui-director-collapsed .director-nav__group,
  body.ui-director-collapsed .director-operation-link,
  body.ui-director-collapsed .director-user > div:last-child,
  body.ui-director-collapsed .director-logout { display:none !important; }
  body.ui-director-collapsed .director-nav__item { justify-content:center; padding-inline:0 !important; }
  body.ui-director-collapsed .director-user { justify-content:center; }
  body.ui-director-collapsed .director-sidebar__collapse { position:absolute; right:-12px; top:22px; background:#211c2d; }
}

/* Mobile navigation */
.ui-mobile-menu {
  display:none; position:fixed; left:14px; top:14px; z-index:240; width:42px; height:42px;
  place-items:center; border:1px solid var(--c-line-2); border-radius:11px; background:rgba(255,255,255,.94);
  color:var(--c-ink); box-shadow:var(--sh-2); backdrop-filter:blur(12px); cursor:pointer;
}
.ui-sidebar-overlay { display:none; position:fixed; inset:0; z-index:190; background:rgba(11,15,22,.48); backdrop-filter:blur(2px); }
@media (max-width: 900px) {
  .ui-mobile-menu { display:grid; }
  .sidebar, .director-sidebar { position:fixed !important; inset:0 auto 0 0; transform:translateX(-102%); z-index:220 !important; width:min(286px,86vw) !important; }
  body.ui-nav-open .sidebar, body.ui-nav-open .director-sidebar { transform:translateX(0); }
  body.ui-nav-open .ui-sidebar-overlay { display:block; }
  .director-main { margin-left:0 !important; }
  body.has-sidebar .topbar, body.has-director-sidebar .director-topbar { padding-left:70px !important; }
  .sidebar__collapse, .director-sidebar__collapse { display:none; }
  body.ui-nav-open { overflow:hidden; }
}

/* Diretoria */
body.has-director-sidebar { background: var(--c-page) !important; }
.director-kpi { padding: 19px !important; border-radius: var(--r-lg) !important; }
.director-kpi strong { font-size: clamp(28px,3vw,36px) !important; letter-spacing: -.04em; }
.director-kpi small { color: var(--c-ink-3) !important; }
.director-input { min-width: min(240px,100%) !important; }
.director-modal, .modal-overlay, .op-modal { backdrop-filter: blur(4px); }
.director-modal__box, .modal, .op-modal-box { border:1px solid rgba(255,255,255,.7); border-radius:18px !important; box-shadow:0 28px 90px rgba(17,24,39,.24) !important; }

/* Gestão */
body.has-sidebar { background:var(--c-page) !important; }
.main-content { min-height:100vh; }
.kpi-grid { gap:14px !important; }
.kpi-card { background:#fff !important; border:1px solid var(--c-line) !important; border-radius:var(--r-lg) !important; }
.kpi-value { letter-spacing:-.04em; color:var(--c-ink); }
.kpi-label { color:var(--c-ink-3); }
.kpi-trend { color:var(--c-ink-3) !important; }
.proj-card { overflow:hidden; }
.filter-btn { background:#fff !important; border-color:var(--c-line-2) !important; color:var(--c-ink-2) !important; }

/* Portal */
body.page-portal { background:var(--c-page) !important; }
.portal-topbar {
  height:68px !important; padding-inline:clamp(18px,4vw,42px) !important;
  background:rgba(255,255,255,.88) !important; border-bottom-color:var(--c-line) !important;
  backdrop-filter:blur(16px) saturate(1.2);
}
.portal-topbar__mark { background:linear-gradient(145deg,#f4774c,#dc5228) !important; box-shadow:0 5px 14px rgba(240,100,53,.2); }
.portal-body { max-width:1320px !important; padding:clamp(22px,3vw,36px) clamp(16px,4vw,42px) 56px !important; }
.portal-page-title { font-size:clamp(25px,3vw,34px) !important; letter-spacing:-.035em !important; }
.portal-proj-card { border-width:1px !important; border-color:var(--c-line) !important; box-shadow:var(--sh-1); }
.portal-proj-card:hover { box-shadow:var(--sh-2) !important; transform:translateY(-2px); }
.portal-proj-card.is-active { background:#fff8f4 !important; box-shadow:0 0 0 2px rgba(240,100,53,.12),var(--sh-1); }
.proj-status-card { padding:clamp(21px,3vw,30px) !important; }

/* Login */
body.page-gestor, body.page-diretoria {
  background:
    radial-gradient(circle at 12% 100%,rgba(240,100,53,.22),transparent 36rem),
    radial-gradient(circle at 88% 0,rgba(91,73,137,.22),transparent 34rem),
    #0d1118 !important;
  padding:24px;
}
body.page-diretoria { background:radial-gradient(circle at 12% 100%,rgba(118,87,185,.3),transparent 36rem),radial-gradient(circle at 88% 0,rgba(240,100,53,.08),transparent 34rem),#0c0c12 !important; }
.g-card {
  max-width:420px !important; padding:38px !important; border-radius:22px !important;
  background:rgba(24,31,43,.88) !important; border:1px solid rgba(255,255,255,.09) !important;
  box-shadow:0 30px 90px rgba(0,0,0,.46) !important; backdrop-filter:blur(18px);
}
.g-login-brand { display:flex; align-items:center; gap:11px; margin-bottom:28px; }
.g-login-brand .c-brand-mark { width:36px; height:36px; font-size:17px; border-radius:10px; }
.g-login-brand .c-brand-name { font-size:19px; }
.g-card .c-field-input { background:rgba(255,255,255,.065) !important; border-color:rgba(255,255,255,.12) !important; }
.g-card .c-field-input:focus-within { background:rgba(255,255,255,.085) !important; border-color:#f27b51 !important; }
.g-card .c-field-input input { color:#fff !important; }
.g-btn-submit { min-height:46px; border-radius:11px !important; }

body.page-login { background:#f2f5f8 !important; }
.cab { box-shadow:0 30px 80px rgba(17,24,39,.12) !important; border:1px solid var(--c-line); }
.cab-left { background:linear-gradient(150deg,#121a26,#1d2a39) !important; }
.cab-right { background:#fff !important; }

/* Landing */
body:has(.landing-shell) {
  background:
    radial-gradient(circle at 7% 100%,rgba(240,100,53,.2),transparent 34rem),
    radial-gradient(circle at 92% 0,rgba(118,87,185,.2),transparent 32rem),
    linear-gradient(145deg,#0d121b,#101722 55%,#0d1118) !important;
}
.landing-header { padding-top:28px !important; }
.landing-copy h1 { font-size:clamp(44px,5.7vw,78px) !important; max-width:780px; }
.landing-copy p { color:rgba(255,255,255,.64) !important; }
.access-card { background:rgba(255,255,255,.055) !important; backdrop-filter:blur(10px); }
.access-card:hover { transform:translateY(-3px) !important; box-shadow:0 20px 58px rgba(0,0,0,.24) !important; }

/* Relatórios e gráficos */
.report-bar-track { background:#edf0f4 !important; }
.report-bar-track > * { background:linear-gradient(90deg,#f27b51,#e1582d) !important; }

/* Feedback ao enviar formulário */
form.is-submitting :where(button[type="submit"],input[type="submit"]) { position:relative; pointer-events:none; opacity:.78; }
form.is-submitting :where(button[type="submit"],input[type="submit"])::after {
  content:''; width:13px; height:13px; margin-left:8px; border-radius:50%; display:inline-block;
  border:2px solid currentColor; border-right-color:transparent; vertical-align:-2px; animation:ui-spin .7s linear infinite;
}
@keyframes ui-spin { to { transform:rotate(360deg); } }

/* Responsividade */
@media (max-width: 1180px) {
  .director-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .portal-grid { grid-template-columns:1fr !important; }
}
@media (max-width: 760px) {
  .topbar__actions { gap:7px !important; }
  .director-content { padding-inline:14px !important; }
  .director-grid, .kpi-grid, .op-kpi-grid { grid-template-columns:1fr !important; }
  .director-section[style*="grid-template-columns"] { grid-template-columns:1fr !important; }
  .director-form-grid, .op-form-grid, .form-row-2, .form-row-3 { grid-template-columns:1fr !important; }
  .director-table th, .director-table td, .op-table th, .op-table td { white-space:nowrap; }
  .portal-topbar__uname, .topbar__user-role { display:none; }
  .portal-page-header { gap:14px; }
  .g-card { padding:30px 22px !important; }
}
@media (max-width: 480px) {
  body.page-gestor { padding:0; }
  .g-card { min-height:100vh; border-radius:0 !important; margin:0 !important; display:flex; flex-direction:column; justify-content:center; }
  .landing-copy h1 { font-size:38px !important; }
  .portal-topbar__logout { padding:8px !important; font-size:0 !important; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}

@media print {
  .sidebar,.director-sidebar,.topbar,.director-topbar,.ui-mobile-menu,.ui-sidebar-overlay { display:none !important; }
  .main-content,.director-main { margin:0 !important; }
  body { background:#fff !important; }
  .director-card,.op-card,.proj-card { box-shadow:none !important; break-inside:avoid; }
}
.access-icon svg { width:24px; height:24px; }
