/* ============================================================
   AKWIS — minimal design layer
   Loaded last. Restyles every screen without touching markup,
   so all behaviour is untouched.

   Approach: strip decoration, keep structure.
   Inline styles in the PHP add gradients, shadows, coloured
   panels and heavy radii. Those are neutralised here; layout
   (flex/grid positioning) is deliberately left alone so nothing
   collapses.
   ============================================================ */

:root{
  --ak-bg:#fbfbfc;
  --ak-surface:#fff;
  --ak-line:#e9e9ed;
  --ak-line-2:#f3f3f5;
  --ak-ink:#16161a;
  --ak-ink-2:#5c5c66;
  --ak-ink-3:#9a9aa4;
  --ak-accent:#4f46e5;
  --ak-good:#177245;
  --ak-bad:#b4232a;
  --ak-warn:#8a5a00;
  --ak-r:10px;
  --ak-r-sm:7px;
}

/* ---------- Canvas ---------- */
body{ background:var(--ak-bg); }
.akwis-ap-wrap,.akwis-tp-wrap,.akwis-biz{
  background:var(--ak-bg) !important;
  max-width:1140px; margin:0 auto; padding:24px 20px 64px;
}
.akwis-ap-wrap *,.akwis-tp-wrap *,.akwis-biz *{ box-sizing:border-box; }

/* ---------- Kill decoration ---------- */
/* Gradients and coloured hero bands become quiet surfaces. */
[style*="linear-gradient"]{
  background-image:none !important;
  background:var(--ak-surface) !important;
  color:var(--ak-ink) !important;
  border:1px solid var(--ak-line) !important;
}
[style*="linear-gradient"] h1,
[style*="linear-gradient"] h2,
[style*="linear-gradient"] .v,
[style*="linear-gradient"] strong{ color:var(--ak-ink) !important; }
[style*="linear-gradient"] p,
[style*="linear-gradient"] .l{ color:var(--ak-ink-2) !important; opacity:1 !important; }
/* Hero stat tiles sitting inside a former gradient band */
[style*="rgba(255,255,255"]{
  background:var(--ak-line-2) !important;
  border:1px solid var(--ak-line) !important;
}

/* Tinted notice panels (indigo / amber / red / green) flatten to
   a hairline card with a single accent rule on the left. */
[style*="background:#eef2ff"],[style*="background:#f9fafb"],
[style*="background:#fffbeb"],[style*="background:#fef2f2"],
[style*="background:#ecfdf5"],[style*="background:#f8fafc"],
[style*="background:#fef3c7"],[style*="background:#fcf0f1"]{
  background:var(--ak-surface) !important;
  border:1px solid var(--ak-line) !important;
  border-left:2px solid var(--ak-line) !important;
  box-shadow:none !important;
}
[style*="background:#ecfdf5"]{ border-left-color:var(--ak-good) !important; }
[style*="background:#fef2f2"],[style*="background:#fcf0f1"]{ border-left-color:var(--ak-bad) !important; }
[style*="background:#fffbeb"],[style*="background:#fef3c7"]{ border-left-color:var(--ak-warn) !important; }
[style*="background:#eef2ff"]{ border-left-color:var(--ak-accent) !important; }

/* Dashed placeholder boxes → plain */
[style*="dashed"]{ border-style:solid !important; border-color:var(--ak-line) !important; }

/* ---------- Cards ---------- */
.akwis-ap-card,.akwis-stmt-card,.akwis-tp-card{
  background:var(--ak-surface) !important;
  border:1px solid var(--ak-line) !important;
  border-radius:var(--ak-r) !important;
  box-shadow:none !important;
  padding:22px 24px !important;
  margin-bottom:14px !important;
}

/* ---------- Type ---------- */
.akwis-ap-card h2,.akwis-stmt-card h3,.akwis-tp-card h3{
  font-size:15px !important; font-weight:600 !important;
  letter-spacing:-.006em; color:var(--ak-ink) !important;
  margin:0 0 16px !important;
}
.akwis-ap-card h3{ font-size:13px !important; font-weight:600 !important; color:var(--ak-ink) !important; }
h1{ font-size:21px !important; font-weight:650 !important; letter-spacing:-.018em; }
p{ color:var(--ak-ink-2); }
code{ font-size:.9em; background:var(--ak-line-2); padding:1px 5px; border-radius:4px; color:var(--ak-ink); }

/* ---------- Stat tiles: flat, quiet, aligned ---------- */
.akwis-ap-stat,.akwis-stmt-tiles .t,.akwis-tp-stat{
  background:var(--ak-surface) !important;
  border:1px solid var(--ak-line) !important;
  border-radius:var(--ak-r-sm) !important;
  box-shadow:none !important;
  padding:14px 16px !important;
}
.akwis-ap-stat .label,.akwis-stmt-tiles .l,.akwis-tp-stat .l{
  font-size:10px !important; font-weight:600 !important;
  text-transform:uppercase; letter-spacing:.06em;
  color:var(--ak-ink-3) !important;
}
.akwis-ap-stat .value,.akwis-stmt-tiles .v,.akwis-tp-stat .v{
  font-size:21px !important; font-weight:650 !important;
  letter-spacing:-.02em; margin-top:4px !important;
  color:var(--ak-ink) !important;
  font-variant-numeric:tabular-nums;
}

/* ---------- Navigation: underline tabs, not pills ---------- */
.akwis-ap-nav{
  display:flex; gap:2px; flex-wrap:wrap;
  border-bottom:1px solid var(--ak-line);
  margin:0 0 22px !important; padding:0;
}
.akwis-ap-nav a{
  padding:9px 13px !important; border-radius:0 !important;
  font-size:13px !important; font-weight:500 !important;
  color:var(--ak-ink-2) !important; background:none !important;
  border:0 !important; border-bottom:2px solid transparent !important;
  margin-bottom:-1px; text-decoration:none;
}
.akwis-ap-nav a:hover{ color:var(--ak-ink) !important; background:none !important; }
.akwis-ap-nav a.current{
  color:var(--ak-ink) !important; font-weight:600 !important;
  background:none !important;
  border-bottom-color:var(--ak-ink) !important;
}

/* ---------- Buttons: one solid, rest quiet ---------- */
.akwis-ap-btn{
  display:inline-flex; align-items:center; gap:6px; justify-content:center;
  background:var(--ak-ink) !important; color:#fff !important;
  border:1px solid var(--ak-ink) !important;
  border-radius:var(--ak-r-sm) !important;
  padding:8px 14px !important; font-size:12.5px !important;
  font-weight:550 !important; line-height:1.25; cursor:pointer;
  text-decoration:none; box-shadow:none !important;
}
.akwis-ap-btn:hover{ background:#000 !important; border-color:#000 !important; color:#fff !important; }
.akwis-ap-btn.secondary{
  background:var(--ak-surface) !important; color:var(--ak-ink) !important;
  border-color:var(--ak-line) !important;
}
.akwis-ap-btn.secondary:hover{ background:var(--ak-line-2) !important; }

/* ---------- Inputs: one shape, quiet focus ---------- */
.akwis-ap-input,.akwis-ap-select,
input[type=text],input[type=number],input[type=date],input[type=search],
input[type=email],input[type=url],input[type=password],select,textarea{
  width:100%; background:var(--ak-surface) !important;
  border:1px solid var(--ak-line) !important;
  border-radius:var(--ak-r-sm) !important;
  padding:8px 11px !important; font-size:13px !important;
  color:var(--ak-ink) !important; box-shadow:none !important;
}
.akwis-ap-input:focus,.akwis-ap-select:focus,
input:focus,select:focus,textarea:focus{
  outline:none !important;
  border-color:var(--ak-ink) !important;
  box-shadow:none !important;
}
label{ color:var(--ak-ink-2) !important; font-size:11px !important; }

/* ---------- Tables: borderless, airy ---------- */
.akwis-ap-table,table.akwis-tbl,table.akwis-pl{
  width:100%; border-collapse:collapse; font-size:13px;
  background:transparent;
}
.akwis-ap-table th,table.akwis-tbl th{
  text-align:left; font-size:10px !important; font-weight:600 !important;
  text-transform:uppercase; letter-spacing:.07em;
  color:var(--ak-ink-3) !important;
  padding:8px 10px !important;
  border-bottom:1px solid var(--ak-line) !important;
  background:transparent !important; white-space:nowrap;
}
.akwis-ap-table td,table.akwis-tbl td{
  padding:13px 10px !important;
  border-bottom:1px solid var(--ak-line-2) !important;
  color:var(--ak-ink); vertical-align:middle;
}
.akwis-ap-table tbody tr:hover{ background:#fcfcfd; }
.akwis-ap-table tbody tr:last-child td,
table.akwis-tbl tbody tr:last-child td{ border-bottom:0 !important; }
.akwis-ap-table tfoot td,.akwis-ap-table tr[style*="background:#f3f4f6"] td{
  background:transparent !important;
  border-top:1px solid var(--ak-line) !important;
  font-weight:600 !important;
}

/* P&L statement table */
table.akwis-pl td{ padding:9px 0 !important; border-bottom:1px solid var(--ak-line-2) !important; }
table.akwis-pl tr.sub td{ background:transparent !important; font-weight:600 !important; }
table.akwis-pl tr.tot td{
  border-top:1px solid var(--ak-ink) !important; border-bottom:0 !important;
  font-weight:700 !important; padding-top:12px !important;
}

/* ---------- Status pills: outline, not filled ---------- */
[style*="border-radius:999px"],[style*="border-radius:99px"]{
  box-shadow:none !important;
}
.akwis-tp-badge{
  background:transparent !important;
  border:1px solid currentColor !important;
  font-weight:600 !important; font-size:10px !important;
  letter-spacing:.05em; padding:3px 9px !important;
}

/* ---------- Misc ---------- */
hr{ border:0 !important; border-top:1px solid var(--ak-line) !important; margin:26px 0 !important; }
details > summary{ font-size:12.5px !important; font-weight:600 !important; color:var(--ak-ink) !important; }
details{ border-radius:var(--ak-r-sm) !important; }
img{ max-width:100%; height:auto; }

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .akwis-ap-wrap,.akwis-tp-wrap,.akwis-biz{ padding:16px 14px 48px; }
  .akwis-ap-card,.akwis-stmt-card,.akwis-tp-card{ padding:16px !important; }
  /* Wide tables scroll rather than squash — the real mobile failure */
  .akwis-ap-table{ display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; white-space:nowrap; }
}
@media (max-width:640px){
  .akwis-ap-card,.akwis-stmt-card,.akwis-tp-card{ padding:14px !important; margin-bottom:10px !important; }
  h1{ font-size:18px !important; }
  .akwis-ap-card h2{ font-size:14px !important; }
  .akwis-ap-stat .value,.akwis-stmt-tiles .v{ font-size:18px !important; }
  .akwis-ap-btn{ padding:10px 14px !important; }   /* tap target */
  .akwis-ap-nav{ flex-wrap:nowrap; overflow-x:auto; }
  .akwis-ap-nav a{ white-space:nowrap; }
  /* Stacked forms instead of cramped columns */
  form[style*="grid-template-columns"]{ grid-template-columns:1fr !important; }
  div[style*="grid-template-columns"]{ grid-template-columns:1fr !important; }
  div[style*="display:flex"][style*="gap"]{ flex-wrap:wrap !important; }
}
@media (prefers-reduced-motion:reduce){ *{ transition:none !important; animation:none !important; } }

/* ---------- Print ---------- */
@media print{
  .akwis-ap-nav,.akwis-ap-btn,form{ display:none !important; }
  .akwis-ap-card{ border:0 !important; padding:0 !important; }
}

/* ============================================================
   GROUPED NAVIGATION — sidebar on wide screens, stacked on
   narrow. Replaces the sixteen-tab strip.
   ============================================================ */
.akwis-nav-grouped{
  display:block !important; border-bottom:0 !important;
  margin:0 0 20px !important;
}
.akwis-navgroup{ margin-bottom:14px; }
.akwis-navgroup-l{
  font-size:9.5px; font-weight:700; text-transform:uppercase;
  letter-spacing:.09em; color:var(--ak-ink-3);
  padding:0 0 5px 2px;
}
.akwis-nav-grouped a{
  display:flex; align-items:center; gap:8px;
  padding:7px 10px !important; border-radius:var(--ak-r-sm) !important;
  font-size:13px !important; font-weight:500 !important;
  color:var(--ak-ink-2) !important; text-decoration:none;
  border:0 !important; margin-bottom:1px;
}
.akwis-nav-grouped a span{ width:17px; text-align:center; flex:0 0 17px; }
.akwis-nav-grouped a:hover{ background:var(--ak-line-2) !important; color:var(--ak-ink) !important; }
.akwis-nav-grouped a.current{
  background:var(--ak-ink) !important; color:#fff !important;
  font-weight:600 !important;
}


/* Logo must never be resized by layout rules. */
.akwis-ap-wrap img, .akwis-tp-wrap img, .akwis-biz img,
.site-logo img, .custom-logo, header img{
  max-height:44px !important; width:auto !important; height:auto !important;
}
/* Nav stays a simple stacked/scrolling list — no page-level grid. */
.akwis-nav-grouped{ display:block !important; }

/* ============================================================
   LEFT CONTROL RAIL
   Section controls (handler switch, filters, queue tabs,
   search) move from stacked rows above the table into a rail
   on the left, beside the results.

   Deliberately scoped to .akwis-split only. A previous build
   put a grid on .akwis-ap-wrap and it reflowed the page header
   and stretched the logo — this touches nothing outside the
   card it is in.
   ============================================================ */
.akwis-split{
  display:grid;
  grid-template-columns:238px minmax(0,1fr);
  gap:20px;
  align-items:start;
}
.akwis-split-main{ min-width:0; }

.akwis-split-rail{
  display:flex; flex-direction:column; gap:10px;
  position:sticky; top:16px;
}

/* Filter form: one field per line so labels stay readable narrow */
.akwis-split-rail form[method="get"]{
  background:var(--ak-surface) !important;
  border:1px solid var(--ak-line) !important;
  border-radius:var(--ak-r-sm) !important;
  padding:12px !important;
  margin:0 !important;
}
.akwis-split-rail form[method="get"] > div{
  display:block !important;
  gap:0 !important;
}
.akwis-split-rail form[method="get"] > div > div{
  min-width:0 !important; width:100% !important;
  flex:none !important; padding-top:0 !important;
  margin-bottom:9px;
}
.akwis-split-rail select,
.akwis-split-rail input[type="search"],
.akwis-split-rail input[type="text"]{
  width:100% !important; min-width:0 !important;
}

/* Handler switch + queue tabs: stacked full-width rows */
.akwis-split-rail > div{
  display:flex !important; flex-direction:column;
  align-items:stretch !important; gap:4px !important;
  margin:0 !important;
}
.akwis-split-rail .akwis-ap-btn{
  justify-content:flex-start; text-align:left;
  width:100%; margin:0 !important;
}
/* Apply/Reset sit side by side, they're a pair */
.akwis-split-rail form[method="get"] .akwis-ap-btn{ width:auto; }

/* Search form keeps its own row */
.akwis-split-rail form[method="get"][action=""]{ margin-left:0 !important; }
.akwis-split-rail form[style*="margin-left:auto"]{
  margin-left:0 !important; flex-direction:column; gap:6px !important;
}

/* Small group headings so the rail reads as sections */
.akwis-split-rail > div:first-child::before{
  content:"Handler"; font-size:9.5px; font-weight:700;
  text-transform:uppercase; letter-spacing:.08em;
  color:var(--ak-ink-3); padding-bottom:3px;
}

/* Below 1000px the rail returns to being rows above the table,
   which is the right shape on a phone or tablet. */
@media (max-width:1000px){
  .akwis-split{ display:block; }
  .akwis-split-rail{ position:static; margin-bottom:14px; }
  .akwis-split-rail > div{ flex-direction:row !important; flex-wrap:wrap; }
  .akwis-split-rail .akwis-ap-btn{ width:auto; }
  .akwis-split-rail form[method="get"] > div{ display:flex !important; flex-wrap:wrap; gap:10px !important; }
  .akwis-split-rail form[method="get"] > div > div{ min-width:170px !important; width:auto !important; flex:1 !important; }
  .akwis-split-rail > div:first-child::before{ content:none; }
}

/* ============================================================
   LEFT SIDEBAR — real two-column app layout

   Applied to .akwis-shell, which contains ONLY the nav and the
   section content. The page header is outside it, so this can
   never reflow the header or stretch the logo (which is what
   the earlier .akwis-ap-wrap grid did).
   ============================================================ */
.akwis-shell{
  display:grid;
  grid-template-columns:216px minmax(0,1fr);
  gap:26px;
  align-items:start;
}
.akwis-shell-main{ min-width:0; }

.akwis-shell .akwis-nav-grouped{
  position:sticky; top:18px;
  display:block !important;
  border:0 !important; border-bottom:0 !important;
  margin:0 !important; padding:0 !important;
  background:transparent !important;
  max-height:calc(100vh - 36px); overflow-y:auto;
}
.akwis-shell .akwis-navgroup{
  display:block !important;
  margin:0 0 13px !important;
  overflow:visible !important;
}
.akwis-shell .akwis-navgroup-l{
  display:block; border:0 !important; margin:0 0 4px !important;
  padding:0 0 0 9px !important;
  font-size:9.5px; font-weight:700; text-transform:uppercase;
  letter-spacing:.09em; color:var(--ak-ink-3); white-space:nowrap;
}
.akwis-shell .akwis-nav-grouped a{
  display:flex !important; align-items:center; gap:9px;
  width:100%; padding:7px 10px !important;
  border-radius:var(--ak-r-sm) !important;
  font-size:13px !important; font-weight:500 !important;
  color:var(--ak-ink-2) !important; text-decoration:none;
  border:0 !important; background:none !important;
  margin:0 0 1px !important; white-space:nowrap;
}
.akwis-shell .akwis-nav-grouped a span{ flex:0 0 17px; text-align:center; }
.akwis-shell .akwis-nav-grouped a:hover{
  background:var(--ak-line-2) !important; color:var(--ak-ink) !important;
}
.akwis-shell .akwis-nav-grouped a.current{
  background:var(--ak-ink) !important; color:#fff !important;
  font-weight:600 !important;
}

/* Tablet and phone: sidebar becomes scrolling rows above content. */
@media (max-width:980px){
  .akwis-shell{ display:block; }
  .akwis-shell .akwis-nav-grouped{
    position:static; max-height:none; overflow:visible;
    margin:0 0 16px !important;
  }
  .akwis-shell .akwis-navgroup{
    display:flex !important; align-items:center; gap:4px;
    overflow-x:auto; -webkit-overflow-scrolling:touch;
    margin-bottom:6px !important;
  }
  .akwis-shell .akwis-navgroup-l{
    flex:0 0 auto; padding:0 8px 0 0 !important;
    border-right:1px solid var(--ak-line) !important;
    margin:0 4px 0 0 !important;
  }
  .akwis-shell .akwis-nav-grouped a{ width:auto; flex:0 0 auto; }
}

/* ===== FORCE LEFT SIDEBAR (desktop) ===== */
@media (min-width:981px){
  .akwis-shell{
    display:grid !important;
    grid-template-columns:220px minmax(0,1fr) !important;
    gap:24px !important;
    align-items:start !important;
  }
  .akwis-shell > .akwis-nav,
  .akwis-shell > .akwis-nav-grouped,
  .akwis-shell > nav.akwis-nav{
    grid-column:1;
    grid-row:1;
    position:sticky !important;
    top:16px !important;
    display:block !important;
    flex-wrap:nowrap !important;
    width:220px !important;
    max-width:220px !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    max-height:calc(100vh - 32px) !important;
    overflow-y:auto !important;
  }
  .akwis-shell > .akwis-shell-main,
  .akwis-shell > main{
    grid-column:2;
    grid-row:1;
    min-width:0 !important;
  }
  .akwis-shell .akwis-navgroup{
    display:block !important;
    flex-direction:column !important;
    margin:0 0 12px !important;
  }
  .akwis-shell .akwis-nav-grouped a,
  .akwis-shell .akwis-nav a{
    display:flex !important;
    width:100% !important;
    flex:none !important;
  }
}
