/* ========================================================================== 
   VendeAki Admin — semantic palette application
   This is the final cascade layer while legacy page styles are consolidated.
   No layout, sizing, stacking or behavioural rules belong in this file.
   ========================================================================== */

body[data-layout="admin"]{
  --bg-0:var(--admin-bg);
  --bg-1:var(--admin-surface);
  --bg-2:var(--admin-bg-subtle);
  --panel:var(--admin-surface);
  --card-bg:var(--admin-surface);
  --line-1:var(--admin-border);
  --line-2:var(--admin-border-strong);
  --border:var(--admin-border);
  --panel-line:var(--admin-border);
  --text:var(--admin-text);
  --text-1:var(--admin-text);
  --text-2:var(--admin-text-secondary);
  --text-3:var(--admin-text-muted);
  --muted:var(--admin-text-secondary);
  --admin-500:var(--admin-primary);
  --admin-600:var(--admin-primary-hover);
  --brand-1:var(--admin-primary);
  --brand-2:var(--admin-primary-hover);
  --success:var(--admin-success);
  --warning:var(--admin-warning);
  --danger:var(--admin-danger);
  --info:var(--admin-info);
  --overlay:var(--admin-overlay);
  --focus-ring:var(--admin-focus-ring);
  background:var(--admin-bg);
  color:var(--admin-text);
}

body[data-layout="admin"]::before{background:none}

/* Surfaces and typography */
body[data-layout="admin"] :is(.card,.panel,.section,.dashboard-card,.kpi-card,.metric-card,.table-wrap,.table-card){
  background-color:var(--admin-surface);
  border-color:var(--admin-border);
  color:var(--admin-text);
}
body[data-layout="admin"] :is(h1,h2,h3,h4,h5,h6,.title,.card-title,.page-title){color:var(--admin-text)}
body[data-layout="admin"] :is(.muted,.subtitle,.helper-text,.description,.empty-state p){color:var(--admin-text-secondary)}

/* Shared controls */
body[data-layout="admin"] :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.input,.select){
  color:var(--admin-text);
  background-color:var(--admin-input-bg);
  border-color:var(--admin-input-border);
}
body[data-layout="admin"] :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.input,.select):hover:not(:disabled):not([readonly]){border-color:var(--admin-input-hover)}
body[data-layout="admin"] :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.input,.select):focus,
body[data-layout="admin"] :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.input,.select):focus-visible{
  outline:none;
  border-color:var(--admin-input-focus) !important;
  box-shadow:var(--admin-focus-ring) !important;
}
body[data-layout="admin"] :is(input,select,textarea,.input):disabled,
body[data-layout="admin"] :is(input,select,textarea,.input)[readonly]{background:var(--admin-bg-subtle);color:var(--admin-text-muted);border-color:var(--admin-border);cursor:not-allowed}
body[data-layout="admin"] :is(input,textarea)::placeholder{color:var(--admin-text-muted)}
body[data-layout="admin"] :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--admin-primary)}

body[data-layout="admin"] :is(button,.btn):focus-visible{outline:none;box-shadow:var(--admin-focus-ring)}
body[data-layout="admin"] :is(.btn-primary,.btn--primary,.btn.gradient,.btn-login,.btn-finalizar,.btn-theme){
  color:var(--admin-text-inverse) !important;
  background:var(--admin-button-primary) !important;
  border-color:var(--admin-button-primary) !important;
  box-shadow:0 6px 14px rgba(7,11,27,.16);
}
body[data-layout="admin"] :is(.btn-primary,.btn--primary,.btn.gradient,.btn-login,.btn-finalizar,.btn-theme):hover{background:var(--admin-button-primary-hover) !important;border-color:var(--admin-button-primary-hover) !important}
body[data-layout="admin"] :is(.btn-primary,.btn--primary,.btn.gradient,.btn-login,.btn-finalizar,.btn-theme):active{background:var(--admin-button-primary-active) !important}
body[data-layout="admin"] :is(.btn-secondary,.btn-outline,.btn-white){background:var(--admin-surface) !important;color:var(--admin-text) !important;border-color:var(--admin-border-strong) !important;box-shadow:none}
body[data-layout="admin"] :is(.btn-secondary,.btn-outline,.btn-white):hover{background:var(--admin-bg-subtle) !important;border-color:var(--admin-input-hover) !important}
body[data-layout="admin"] :is(.btn-ghost,.icon-btn){background:transparent;color:var(--admin-text)}
body[data-layout="admin"] :is(.btn-ghost,.icon-btn):hover{background:rgba(24,35,55,.07)}
body[data-layout="admin"] :is(button,.btn):disabled{opacity:.5;box-shadow:none;transform:none;cursor:not-allowed}

/* Tables, tabs, filtering and pagination */
body[data-layout="admin"] table{color:var(--admin-text)}
body[data-layout="admin"] thead,
body[data-layout="admin"] thead tr,
body[data-layout="admin"] thead th{background:var(--admin-bg-subtle);color:var(--admin-text-secondary);border-color:var(--admin-border)}
body[data-layout="admin"] tbody tr{background:var(--admin-surface)}
body[data-layout="admin"] tbody td{border-color:var(--admin-border)}
body[data-layout="admin"] tbody tr:hover{background:var(--admin-primary-subtle)}
body[data-layout="admin"] tbody tr:is(.selected,.is-selected,[aria-selected="true"]){background:var(--admin-primary-soft)}
body[data-layout="admin"] :is(.tabs .active,.tab.active,.tab-btn.active,.chip.active,.filter-chip.active,.pager .active,.pagination .active){background:var(--admin-primary) !important;color:var(--admin-text-inverse) !important;border-color:var(--admin-primary) !important}

/* Dialog layers */
body[data-layout="admin"] :is(.modal-overlay,.drawer-overlay,.va-drawer__overlay,.stock-modal-backdrop){background-color:var(--admin-overlay) !important}
body[data-layout="admin"] :is(.modal-box,.drawer-box,.dialog,.va-drawer__panel,.stock-modal-panel,.cp-modal){background:var(--admin-surface);color:var(--admin-text);border-color:var(--admin-border)}
body[data-layout="admin"] :is(.modal-header,.drawer-header,.modal-footer,.drawer-footer,.stock-modal-head){background:var(--admin-surface);border-color:var(--admin-border)}
body[data-layout="admin"] :is(.modal-close,.drawer-close,.cp-close-btn):hover{background:var(--admin-primary-soft);color:var(--admin-primary)}

/* Semantic statuses remain intentionally distinct from the brand colour. */
body[data-layout="admin"] :is(.badge.green,.badge.success,.status-success){background:var(--admin-success-bg);color:var(--admin-success);border-color:var(--admin-success-border)}
body[data-layout="admin"] :is(.badge.orange,.badge.yellow,.badge.warning,.status-warning){background:var(--admin-warning-bg);color:var(--admin-warning);border-color:var(--admin-warning-border)}
body[data-layout="admin"] :is(.badge.red,.badge.danger,.status-danger){background:var(--admin-danger-bg);color:var(--admin-danger);border-color:var(--admin-danger-border)}
body[data-layout="admin"] :is(.badge.blue,.badge.info,.status-info){background:var(--admin-info-bg);color:var(--admin-info);border-color:var(--admin-info-border)}
body[data-layout="admin"] :is(.badge.gray,.badge.slate,.badge.purple,.badge.neutral,.status-neutral){background:var(--admin-primary-soft);color:var(--admin-primary-hover);border-color:var(--admin-border-strong)}
body[data-layout="admin"] :is(.skeleton,.loading-skeleton){background:linear-gradient(90deg,var(--admin-primary-soft) 25%,var(--admin-bg-subtle) 50%,var(--admin-primary-soft) 75%);background-size:200% 100%}

/* Login uses the exact same canonical tokens, without turning Admin content dark. */
body[data-layout="auth"] .login-page{background:var(--admin-bg)}
body[data-layout="auth"] .login-page::before{background:radial-gradient(circle,rgba(255,255,255,.07),transparent 62%)}
body[data-layout="auth"] .login-card{background:var(--admin-surface);color:var(--admin-text);border:1px solid rgba(255,255,255,.55)}
body[data-layout="auth"] .login-header p{color:var(--admin-text-secondary)}
body[data-layout="auth"] .login-form input{color:var(--admin-text);background:var(--admin-input-bg);border-color:var(--admin-input-border)}
body[data-layout="auth"] .login-form input:focus{outline:none;border-color:var(--admin-input-focus);box-shadow:var(--admin-focus-ring)}
body[data-layout="auth"] .btn-login{background:var(--admin-button-primary);color:var(--admin-text-inverse)}
body[data-layout="auth"] .btn-login:hover{background:var(--admin-button-primary-hover)}
body[data-layout="auth"] .login-error{color:var(--admin-danger)}

@media (prefers-reduced-motion:reduce){body[data-layout="admin"] *,body[data-layout="auth"] *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:var(--admin-spinner-duration,.01ms)!important;animation-iteration-count:var(--admin-spinner-iterations,1)!important}}

/* Identity shared by authenticated pages, access flows and body-level portals. */
body{--primary:var(--admin-primary);--brand:var(--admin-primary);--va-bg:var(--admin-bg);--va-muted:var(--admin-text-secondary);font-family:var(--admin-font);color:var(--admin-text);background:var(--admin-bg)}
button,input,select,textarea{font:inherit}
:is(h1,h2,h3,h4,h5,h6){color:var(--admin-text);font-weight:700}
:is(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--admin-primary);outline-offset:3px}
:is(.login-page,.onboarding-page){background:var(--admin-bg)}
.login-page::before{content:none}
:is(.login-header,.onboarding-header) img,.global-splash img{width:184px;height:52px;object-fit:contain;border-radius:0;box-shadow:none;filter:none}
.login-card{border:1px solid var(--admin-border);box-shadow:var(--va-shadow-soft)}
body[data-layout="admin"] :is(.dash-premium-card,.dash-op-kanban,.dash-op-kpi-card){background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:16px;box-shadow:var(--va-shadow-soft)}
body[data-layout="admin"] .dash-op-kanban{padding:18px}
body[data-layout="admin"] .dash-op-kpi-icon{background:var(--admin-primary-soft);color:var(--admin-primary);border-radius:12px}
body[data-layout="admin"] :is(.dash-kpi-spark path,.dash-performance-line){stroke:var(--admin-primary)}
body[data-layout="admin"] :is(.dash-op-kpi-value,.dash-intro h1,.dash-card-heading h2,.dash-op-kanban-heading h2){color:var(--admin-text);font-weight:700}
body[data-layout="admin"] :is(.dash-op-kpi-label,.dash-intro p,.dash-intro span){color:var(--admin-text-secondary)}
body[data-layout="admin"] :is(.dash-op-alert.neutral){background:var(--admin-success-bg);border-color:var(--admin-success-border);color:var(--admin-success)}
body[data-layout="admin"] :is(.modal,.drawer,.va-drawer__panel,.admin-topbar__menu,.dropdown-menu,.toast){font-family:var(--admin-font)}
body[data-layout="admin"] :is(.table-wrap,.table-responsive,.va-table-wrap){max-width:100%;overflow-x:auto}
body[data-layout="admin"] :is(.main,.content,.page-container){min-width:0}
body[data-layout="admin"] :is(.btn-primary,.btn--primary,.btn-login):disabled{opacity:.5;cursor:not-allowed}
body[data-layout="admin"] :is(input,textarea,select)[aria-invalid="true"]{border-color:var(--admin-danger)!important}

:is(.login-header,.onboarding-header,.global-splash,.onboarding-loading-box) img[hidden]{display:none!important}
body[data-layout="admin"] :is(.btn-danger,.btn--danger,.btn.danger,.btn-destructive){background:var(--admin-danger);color:var(--admin-text-inverse);border-color:var(--admin-danger)}
body[data-layout="admin"] :is(.btn-danger,.btn--danger,.btn.danger,.btn-destructive):focus-visible{outline:2px solid var(--admin-danger);outline-offset:3px}
