/* AIOS-12.3 — Vuexy-inspired Admin/Portal visual reconciliation
   Additive layer only: no business logic, no route changes. */
:root{
  --aios123-primary:#7367f0;
  --aios123-primary-dark:#5e50ee;
  --aios123-primary-soft:#f1f0ff;
  --aios123-surface:#ffffff;
  --aios123-body:#f8f7fb;
  --aios123-text:#2f2b3d;
  --aios123-muted:#6f6b7d;
  --aios123-border:#e6e6e8;
  --aios123-radius:1.125rem;
  --aios123-radius-lg:1.5rem;
  --aios123-shadow:0 .25rem 1.125rem rgba(47,43,61,.10);
  --aios123-shadow-soft:0 .125rem .75rem rgba(47,43,61,.08);
  --aios123-topbar-h:68px;
}
html,body{width:100%;max-width:100%;overflow-x:hidden;}
body[data-control-panel="1"]{background:var(--aios123-body)!important;color:var(--aios123-text)!important;font-family:Cairo,"Public Sans",Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;}
body[data-control-panel="1"] *,body[data-control-panel="1"] *::before,body[data-control-panel="1"] *::after{box-sizing:border-box;}
body[data-control-panel="1"] img,body[data-control-panel="1"] svg,body[data-control-panel="1"] canvas,body[data-control-panel="1"] video{max-width:100%;height:auto;}
body[data-control-panel="1"] a{text-decoration:none!important;}
body[data-control-panel="1"] :where(.cp-shell__main,.cp-shell__main-inner,.cp-page__hero,.card,.cp-card,section,article,.rev38-card,.rev38-kpi,.cp056-command,.cp056-grid,.cp056-item){min-width:0;}
body[data-control-panel="1"] :where(.cp-shell__main-inner,.container,.container-fluid){max-width:1480px;margin-inline:auto;}
body[data-control-panel="1"] .cp-shell{width:100%;max-width:100%;}
body[data-control-panel="1"] .cp-shell--horizontal{display:block!important;min-height:100vh;}
body[data-control-panel="1"] .cp-shell__main{width:100%!important;max-width:100%;padding:0!important;grid-column:auto!important;}
body[data-control-panel="1"] .cp-shell__main-inner{padding:1.25rem clamp(.875rem,2vw,1.75rem) 2.25rem!important;}
/* Top navigation */
.cp-top-shell{position:sticky;top:0;z-index:1100;background:rgba(255,255,255,.965)!important;backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--aios123-border)!important;box-shadow:0 .25rem 1rem rgba(47,43,61,.06)!important;}
.cp-top-shell__brand-row{min-height:var(--aios123-topbar-h);display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(100%,1480px);margin-inline:auto;padding:.65rem clamp(.875rem,2vw,1.75rem)!important;}
.cp-top-shell__brand{display:flex;align-items:center;gap:.75rem;min-width:0;color:var(--aios123-text)!important;}
.cp-top-shell__logo{width:42px!important;height:42px!important;border-radius:.95rem!important;background:#fff;box-shadow:var(--aios123-shadow-soft);border:1px solid var(--aios123-border);flex:0 0 auto;}
.cp-top-shell__logo img{max-width:32px!important;max-height:32px!important;object-fit:contain;}
.cp-top-shell__brand strong{font-size:.98rem;line-height:1.15;font-weight:800;color:var(--aios123-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cp-top-shell__brand small{font-size:.76rem;line-height:1.25;color:var(--aios123-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cp-top-shell__quick-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;min-width:0;flex-wrap:wrap;}
.cp-top-shell__locale{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem;border:1px solid #dedbf8;border-radius:999px;background:var(--aios123-primary-soft);}
.cp-top-shell__locale a,.cp-top-shell__pill,.cp-top-shell__logout,.cp-top-shell__user,.cp-top-shell__mobile-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:34px;padding:.45rem .7rem;border-radius:999px;font-size:.78rem;font-weight:800;line-height:1.15;white-space:nowrap;border:1px solid transparent;}
.cp-top-shell__locale a{min-width:34px;color:var(--aios123-muted)!important;}
.cp-top-shell__locale a.is-active{background:#fff;color:var(--aios123-primary)!important;box-shadow:0 .25rem .8rem rgba(115,103,240,.18);}
.cp-top-shell__user{max-width:220px;background:#fff;border-color:var(--aios123-border);color:var(--aios123-text);overflow:hidden;text-overflow:ellipsis;}
.cp-top-shell__pill{background:#f1f0ff;border-color:#dedbf8;color:var(--aios123-primary)!important;}
.cp-top-shell__logout{background:#fff2f2;border-color:#ffd6d6;color:#ff4c51!important;}
.cp-top-shell__mobile-toggle{background:var(--aios123-primary)!important;color:#fff!important;border:0!important;box-shadow:0 .25rem .8rem rgba(115,103,240,.22);cursor:pointer;}
/* Horizontal menu */
.cp-horizontal-menu{width:min(100%,1480px);margin-inline:auto;padding:0 clamp(.875rem,2vw,1.75rem) .75rem!important;display:flex;align-items:center;gap:.45rem;overflow-x:auto;overflow-y:visible;scrollbar-width:thin;scroll-padding-inline:1rem;}
.cp-horizontal-menu::-webkit-scrollbar{height:7px}.cp-horizontal-menu::-webkit-scrollbar-thumb{background:#d7d3fb;border-radius:999px}
.cp-horizontal-menu__item{position:relative;flex:0 0 auto;}
.cp-horizontal-menu__trigger{height:40px;max-width:260px;display:inline-flex;align-items:center;gap:.45rem;border:1px solid transparent;background:transparent;color:#5d596c;border-radius:999px;padding:.55rem .78rem;font-weight:800;font-size:.82rem;line-height:1.15;cursor:pointer;white-space:nowrap;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;}
.cp-horizontal-menu__trigger span{overflow:hidden;text-overflow:ellipsis;}
.cp-horizontal-menu__trigger i{font-size:1rem;flex:0 0 auto;}
.cp-horizontal-menu__item.is-active>.cp-horizontal-menu__trigger,.cp-horizontal-menu__item.is-open>.cp-horizontal-menu__trigger,.cp-horizontal-menu__trigger:hover{background:var(--aios123-primary-soft)!important;color:var(--aios123-primary)!important;border-color:#dedbf8!important;box-shadow:0 .2rem .7rem rgba(115,103,240,.10);}
.cp-horizontal-menu__dropdown{position:fixed!important;top:auto;left:auto;right:auto;width:min(410px,calc(100vw - 24px))!important;max-height:min(620px,calc(100vh - 132px))!important;overflow-y:auto;overscroll-behavior:contain;display:none;grid-template-columns:1fr;gap:.35rem;padding:.65rem!important;border:1px solid var(--aios123-border)!important;border-radius:1.25rem!important;background:#fff!important;box-shadow:0 1.25rem 3.5rem rgba(47,43,61,.20)!important;z-index:1300!important;}
.cp-horizontal-menu__item.is-open>.cp-horizontal-menu__dropdown{display:grid!important;}
.cp-horizontal-menu__link{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:.65rem;min-width:0;padding:.68rem!important;border-radius:.95rem!important;color:var(--aios123-text)!important;border:1px solid transparent;}
.cp-horizontal-menu__link:hover,.cp-horizontal-menu__link.is-active{background:#f7f6ff!important;color:var(--aios123-primary)!important;border-color:#ebe9ff;}
.cp-horizontal-menu__link-icon{width:36px!important;height:36px!important;border-radius:.8rem!important;background:#f1f0ff!important;color:var(--aios123-primary)!important;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;flex:0 0 auto;}
.cp-horizontal-menu__link strong,.cp-horizontal-menu__link small{display:block;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;}
.cp-horizontal-menu__link strong{font-size:.84rem;line-height:1.35;font-weight:900;}
.cp-horizontal-menu__link small{margin-top:.18rem;font-size:.73rem;line-height:1.45;color:var(--aios123-muted);}
/* Page blocks */
.cp-page__header{display:flex!important;align-items:flex-start;justify-content:space-between;gap:1rem;margin:.2rem 0 1.1rem!important;padding:1.1rem 1.25rem!important;background:#fff!important;border:1px solid var(--aios123-border)!important;border-radius:var(--aios123-radius-lg)!important;box-shadow:var(--aios123-shadow)!important;}
.cp-page__eyebrow{margin:0 0 .35rem!important;color:var(--aios123-primary)!important;font-size:.78rem!important;font-weight:900!important;letter-spacing:.02em!important;text-transform:none!important;}
.cp-page__title{margin:0!important;color:var(--aios123-text)!important;font-size:clamp(1.5rem,2.6vw,2.3rem)!important;line-height:1.18!important;font-weight:900!important;}
.cp-page__subtitle{margin:.55rem 0 0!important;max-width:920px;color:var(--aios123-muted)!important;font-size:.96rem!important;line-height:1.8!important;}
.cp-page__actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;}
.cp-button,.cp-badge,button.cp-button,a.cp-button{min-height:38px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.45rem!important;padding:.55rem .85rem!important;border-radius:999px!important;border:1px solid var(--aios123-border)!important;background:#fff!important;color:#5d596c!important;font-size:.78rem!important;font-weight:900!important;line-height:1.2!important;box-shadow:none!important;}
.cp-button:hover,.cp-badge:hover{transform:translateY(-1px);box-shadow:var(--aios123-shadow-soft)!important;}
.cp-button--primary,.btn-primary,.bg-primary{background:linear-gradient(135deg,var(--aios123-primary),var(--aios123-primary-dark))!important;border-color:var(--aios123-primary)!important;color:#fff!important;box-shadow:0 .35rem 1rem rgba(115,103,240,.25)!important;}
.cp-button--danger{background:#fff2f2!important;border-color:#ffd6d6!important;color:#ff4c51!important;}
/* Cards, tables and forms */
body[data-control-panel="1"] :where(.card,.cp-card,.rev38-card,.rev38-kpi,.cp056-command,.cp055-empty-state--auto,section[class*="card"]){background:#fff;border:1px solid var(--aios123-border);border-radius:var(--aios123-radius-lg);box-shadow:var(--aios123-shadow-soft);}
body[data-control-panel="1"] :where(.card,.cp-card,.rev38-card,.rev38-kpi){overflow:hidden;}
body[data-control-panel="1"] :where(.card-body,.cp-card__body,.rev38-card,.rev38-kpi){padding:1rem;}
.table-responsive,.overflow-x-auto,.rev38-scroll{width:100%;max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch;border-radius:var(--aios123-radius);}
table{width:100%;border-collapse:separate;border-spacing:0;max-width:100%;}
th{font-size:.75rem!important;letter-spacing:.02em;color:#5d596c;background:#f6f6f8;font-weight:900!important;white-space:nowrap;}
td{color:#4b465c;vertical-align:middle;}
th,td{padding:.8rem .85rem!important;border-bottom:1px solid #eeeeef;}
td,td *{overflow-wrap:anywhere;}
form .form-control,form .form-select,input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="date"],select,textarea{max-width:100%;border-radius:.75rem!important;border-color:#dbdade!important;box-shadow:none!important;}
form .form-control:focus,form .form-select:focus,input:focus,select:focus,textarea:focus{border-color:var(--aios123-primary)!important;box-shadow:0 0 0 .18rem rgba(115,103,240,.14)!important;outline:0!important;}
.badge,[class*="badge"]{border-radius:999px;line-height:1.1;white-space:normal;}
.dropdown-menu{border-radius:1rem!important;border:1px solid var(--aios123-border)!important;box-shadow:0 1rem 3rem rgba(47,43,61,.18)!important;overflow:hidden;}
/* Defensive fixes for previous animated/AIOS blocks */
.rev38-grid,.rev38-two,.cp056-cards,.cp056-samples,.cp056-grid{min-width:0;gap:1rem;}
.rev38-kpi strong,.rev38-card strong,.cp056-item strong{overflow-wrap:anywhere;}
.cp056-item{min-width:0;overflow:hidden;}
.cp056-action{white-space:normal!important;text-align:center;}
[class*="absolute"],[class*="fixed"]{max-width:100vw;}
/* RTL/LTR parity */
html[dir="rtl"] body[data-control-panel="1"],.cp-dir-rtl{direction:rtl;text-align:right;}
html[dir="ltr"] body[data-control-panel="1"],.cp-dir-ltr{direction:ltr;text-align:left;}
html[dir="rtl"] .cp-horizontal-menu__link{text-align:right;}
html[dir="ltr"] .cp-horizontal-menu__link{text-align:left;}
html[dir="rtl"] .cp-page__actions{justify-content:flex-start;}
/* Mobile */
@media (max-width:1180px){
  .cp-top-shell__brand-row{align-items:center;}
  .cp-top-shell__mobile-toggle{display:inline-flex!important;}
  .cp-top-shell__user{display:none!important;}
  .cp-horizontal-menu{display:none;position:fixed;inset-inline:0;top:var(--aios123-topbar-h);width:100%;max-height:calc(100vh - var(--aios123-topbar-h));overflow:auto;background:#fff;border-bottom:1px solid var(--aios123-border);box-shadow:0 1rem 2rem rgba(47,43,61,.14);padding:1rem!important;flex-direction:column;align-items:stretch;z-index:1050;}
  .cp-horizontal-menu.is-open{display:flex!important;}
  .cp-horizontal-menu__item{width:100%;}
  .cp-horizontal-menu__trigger{width:100%;max-width:none;height:auto;min-height:44px;justify-content:space-between;border-radius:1rem;background:#fff;border-color:#eeeeef;}
  .cp-horizontal-menu__dropdown{position:static!important;width:100%!important;max-height:none!important;margin-top:.45rem;box-shadow:none!important;border-radius:1rem!important;background:#fbfbff!important;}
  .cp-page__header{flex-direction:column;}
  .cp-page__actions{width:100%;justify-content:flex-start;}
}
@media (max-width:760px){
  :root{--aios123-topbar-h:62px;}
  .cp-shell__main-inner{padding:1rem .7rem 1.75rem!important;}
  .cp-top-shell__brand-row{padding:.55rem .7rem!important;gap:.55rem;}
  .cp-top-shell__brand{max-width:52vw;}
  .cp-top-shell__brand small,.cp-top-shell__pill span,.cp-top-shell__logout span,.cp-top-shell__mobile-toggle span{display:none!important;}
  .cp-top-shell__quick-actions{gap:.35rem;}
  .cp-top-shell__locale{display:none!important;}
  .cp-page__header{padding:1rem!important;border-radius:1.1rem!important;}
  .cp-page__title{font-size:1.45rem!important;}
  .cp-button,.cp-badge{width:auto;min-height:36px!important;padding:.5rem .7rem!important;}
  .rev38-grid,.rev38-two,.cp056-cards,.cp056-samples,.cp056-grid{grid-template-columns:1fr!important;}
  th,td{padding:.65rem!important;font-size:.84rem;}
}

/* AIOS-12.3.1 — Admin dropdown/top-offset emergency visual hotfix
   Fixes: phantom top whitespace from legacy fixed-shell padding, unstable fixed dropdown anchoring,
   dropdowns covering content unpredictably, RTL clipping on left edge. */
html,body{margin:0!important;padding:0!important;}
body[data-control-panel="1"]{padding-top:0!important;margin-top:0!important;}
body[data-control-panel="1"] .cp-shell,
body[data-control-panel="1"] .cp-shell.cp-shell--horizontal,
body[data-control-panel="1"] .cp-shell--horizontal,
body[data-control-panel="1"] .cp-shell--horizontal .cp-shell__main{padding-top:0!important;margin-top:0!important;}
body[data-control-panel="1"] .cp-shell__main-inner{margin-top:0!important;}
.cp-top-shell{position:sticky!important;top:0!important;inset-inline:0!important;margin-top:0!important;z-index:1200!important;}
.cp-top-shell + .cp-shell__main,
.cp-top-shell ~ .cp-shell__main{padding-top:0!important;margin-top:0!important;}

/* Keep horizontal menu and dropdown behavior Vuexy-like and bounded. */
.cp-horizontal-menu{position:relative!important;overflow-x:auto!important;overflow-y:visible!important;}
.cp-horizontal-menu__item{position:static!important;}
.cp-horizontal-menu__dropdown{
  position:fixed!important;
  display:none!important;
  width:min(360px,calc(100vw - 24px))!important;
  min-width:260px!important;
  max-width:calc(100vw - 24px)!important;
  max-height:min(430px,calc(100vh - 170px))!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:.55rem!important;
  border-radius:1rem!important;
  box-shadow:0 1rem 2.75rem rgba(47,43,61,.18)!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:1600!important;
}
.cp-horizontal-menu__item.is-open>.cp-horizontal-menu__dropdown{display:grid!important;}
.cp-horizontal-menu__link{grid-template-columns:auto minmax(0,1fr)!important;gap:.55rem!important;padding:.55rem!important;align-items:center!important;}
.cp-horizontal-menu__link-icon{width:32px!important;height:32px!important;border-radius:.7rem!important;}
.cp-horizontal-menu__link strong{font-size:.78rem!important;line-height:1.25!important;}
.cp-horizontal-menu__link small{font-size:.68rem!important;line-height:1.35!important;}

/* Prevent page content from sliding under large floating dropdowns and keep screenshots clean. */
body.aios123-dropdown-open .cp-shell__main-inner{filter:none!important;}

@media (min-width:1181px){
  .cp-top-shell__brand-row{min-height:64px!important;height:auto!important;}
  .cp-horizontal-menu{min-height:52px!important;padding-bottom:.55rem!important;}
}
@media (max-width:1180px){
  .cp-horizontal-menu{position:fixed!important;top:var(--aios123-topbar-h)!important;inset-inline:0!important;overflow:auto!important;}
  .cp-horizontal-menu__item{position:relative!important;}
  .cp-horizontal-menu__dropdown{position:static!important;width:100%!important;min-width:0!important;max-height:none!important;display:none!important;}
  .cp-horizontal-menu__item.is-open>.cp-horizontal-menu__dropdown{display:grid!important;}
}
