/* Owner AI workspace — Follows the dashboard theme (cream / orange by default, Premium Dark Glass for the owner who has it on). Scoped to #adminPanelAi so nothing else in the dashboard changes.
   Mobile: a full-height workspace between the top of the screen and the bottom nav (the composer never hides behind the nav or the keyboard).
   Desktop: a framed panel inside the dashboard. */

/* The panel follows the dashboard's look: the old cream / orange theme by default (and in "Classic"), the Dark Glass palette while the owner has Dark Glass on
   (html[data-gd-glass="on"] is set by js/owner-glass.js for the owner only). Every colour below comes from these tokens. */
#adminPanelAi {
  --ai-bg: #FFF9F1; --ai-bg2: #FFF3E3; --ai-glass: #FFFFFF; --ai-raised: #FFFDF9; --ai-line: #EADFCF; --ai-line2: #F0E6D6; --ai-line-hi: #D9CBB6;
  --ai-violet: #E8720C; --ai-violet-lt: #C25A02; --ai-cyan: #0F7F7A; --ai-ok: #1D6B32; --ai-warn: #8A5A00; --ai-err: #9A2A1B;
  --ai-tx: #1D1916; --ai-tx2: #6B5F57; --ai-tx3: #7A6F67;
  --ai-font: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ai-inset: #FBF6EE; --ai-hover: rgba(33, 26, 20, .05);
  --ai-acc: #C25A02; --ai-acc-bg: rgba(232, 114, 12, .12); --ai-acc-line: rgba(232, 114, 12, .35);
  --ai-grad: linear-gradient(135deg, #E8720C, #C85E03); --ai-on-grad: #FFFFFF; --ai-pri-sh: rgba(194, 90, 2, .45);
  --ai-grad-av: linear-gradient(135deg, #E8720C, #F2A33A); --ai-grad-bar: linear-gradient(90deg, #E8720C, #F2A33A);
  --ai-canvas: #FFF9F1; --ai-sheen: linear-gradient(180deg, transparent, transparent); --ai-hi-tint: linear-gradient(150deg, rgba(232, 114, 12, .08), rgba(232, 114, 12, 0) 58%);
  --ai-shadow: 0 1px 2px rgba(33, 26, 20, .06), 0 10px 22px -12px rgba(33, 26, 20, .18); --ai-panel-shadow: 0 24px 50px -28px rgba(33, 26, 20, .25);
  --ai-bar: rgba(255, 249, 241, .94); --ai-bar2: rgba(255, 249, 241, .97); --ai-field: #FFFFFF; --ai-field-sh: inset 0 1px 2px rgba(33, 26, 20, .06);
  --ai-focus: rgba(232, 114, 12, .5); --ai-focus-ring: rgba(232, 114, 12, .75); --ai-focus-glow: rgba(232, 114, 12, .16);
  --ai-track: #F0E6D6; --ai-sheet: #FFFDF9; --ai-sb: rgba(33, 26, 20, .22); --ai-strike: rgba(33, 26, 20, .35);
  --ai-note-warn: #7A4F00; --ai-note-err: #8E2418; --ai-note-ok: #1D6B32; --ai-note-info: #0F6F6A;
}
html[data-staff="owner"][data-gd-glass="on"] #adminPanelAi {
  --ai-bg: #080D23; --ai-bg2: #101936; --ai-glass: rgba(25, 36, 78, .68); --ai-raised: rgba(35, 46, 93, .84); --ai-line: rgba(255, 255, 255, .12); --ai-line2: rgba(255, 255, 255, .07); --ai-line-hi: rgba(255, 255, 255, .22);
  --ai-violet: #765BFF; --ai-violet-lt: #A795FF; --ai-cyan: #37D7D0; --ai-ok: #39D6A0; --ai-warn: #FFBD59; --ai-err: #FF6288; --ai-tx: #F6F7FF; --ai-tx2: #ABB7D7; --ai-tx3: #8391B8;
  --ai-inset: rgba(255, 255, 255, .04); --ai-hover: rgba(255, 255, 255, .08);
  --ai-acc: #C5B5FF; --ai-acc-bg: rgba(118, 91, 255, .16); --ai-acc-line: rgba(167, 149, 255, .4);
  --ai-grad: linear-gradient(135deg, #7A60FF, #9371FF); --ai-on-grad: #FFFFFF; --ai-pri-sh: rgba(4, 3, 26, .85);
  --ai-grad-av: linear-gradient(135deg, #765BFF, #37D7D0); --ai-grad-bar: linear-gradient(90deg, #765BFF, #37D7D0);
  --ai-canvas: radial-gradient(520px 320px at 8% -6%, rgba(118, 91, 255, .22), transparent 72%), radial-gradient(420px 340px at 104% 38%, rgba(55, 215, 208, .06), transparent 72%), linear-gradient(180deg, #0B1132 0%, #080D23 55%, #070B1D 100%);
  --ai-sheen: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, 0) 50%); --ai-hi-tint: linear-gradient(150deg, rgba(118, 91, 255, .16), rgba(118, 91, 255, 0) 58%);
  --ai-shadow: 0 1px 2px rgba(2, 4, 16, .4), 0 12px 26px -12px rgba(2, 4, 16, .6); --ai-panel-shadow: 0 24px 60px -24px rgba(8, 13, 35, .6);
  --ai-bar: rgba(8, 13, 35, .55); --ai-bar2: rgba(8, 13, 35, .7); --ai-field: rgba(8, 13, 35, .6); --ai-field-sh: inset 0 1px 2px rgba(0, 0, 0, .25);
  --ai-focus: rgba(167, 149, 255, .5); --ai-focus-ring: rgba(167, 149, 255, .7); --ai-focus-glow: rgba(118, 91, 255, .18);
  --ai-track: rgba(255, 255, 255, .07); --ai-sheet: rgba(13, 20, 46, .98); --ai-sb: rgba(255, 255, 255, .15); --ai-strike: rgba(255, 255, 255, .25);
  --ai-note-warn: #F2D3A2; --ai-note-err: #F3BFCB; --ai-note-ok: #AEE7D2; --ai-note-info: #A9E6E1;
}
#adminPanelAi[hidden] { display: none !important; }
#adminPanelAi .gdai { display: flex; flex-direction: column; height: 100%; min-height: 0; color: var(--ai-tx); font: 14px/1.5 "Inter", var(--ai-font); position: relative; overflow: hidden;
  background: var(--ai-canvas); }
#adminPanelAi .gdai *, #adminPanelAi .gdai *::before, #adminPanelAi .gdai *::after { box-sizing: border-box; }
:where(#adminPanelAi .gdai button) { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
#adminPanelAi .gdai :focus-visible { outline: 2px solid var(--ai-cyan); outline-offset: 2px; border-radius: 10px; }
#adminPanelAi .gdai .gdai-comp textarea:focus, #adminPanelAi .gdai .gdai-comp textarea:focus-visible { outline: 0; }
#adminPanelAi .gdai-num { font-variant-numeric: tabular-nums; font-family: var(--ai-font); }

@media (max-width: 900px) {
  #adminPanelAi.gdai-panel { position: fixed; left: 0; right: 0; top: 0; bottom: var(--gdai-nav, var(--owner-nav-h, 64px)); z-index: 25; margin: 0; padding: 0; border: 0; border-radius: 0; background: var(--ai-bg); }
  html.owner-kb #adminPanelAi.gdai-panel { bottom: 0; }
}
@media (min-width: 901px) {
  #adminPanelAi.gdai-panel { height: calc(100vh - 170px); min-height: 520px; border-radius: 22px; overflow: hidden; border: 1px solid var(--ai-line); box-shadow: var(--ai-panel-shadow); }
}

/* header */
.gdai-head { flex: none; display: flex; align-items: center; gap: 10px; padding: max(12px, env(safe-area-inset-top, 0px)) 14px 10px; border-bottom: 1px solid var(--ai-line2); background: var(--ai-bar); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.gdai-logo { flex: none; width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: var(--ai-grad); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 4px 10px -2px var(--ai-pri-sh); }
.gdai-logo svg { width: 20px; height: 20px; color: #fff; }
.gdai-title { flex: 1; min-width: 0; }
.gdai-title b { display: block; font: 800 17px var(--ai-font); letter-spacing: -.02em; }
.gdai-title small { display: block; color: var(--ai-tx3); font-size: 12px; margin-top: -1px; }
.gdai-ibtn { flex: none; width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; border: 1px solid var(--ai-line); background: var(--ai-inset); color: var(--ai-tx2); transition: background .18s, color .18s; }
.gdai-ibtn:hover { background: var(--ai-hover); color: var(--ai-tx); }
.gdai-ibtn svg { width: 18px; height: 18px; }
.gdai-ibtn[disabled] { opacity: .4; cursor: not-allowed; }

/* status + context strips */
.gdai-strip { flex: none; display: flex; gap: 8px; align-items: center; padding: 8px 14px; font-size: 12px; color: var(--ai-tx2); border-bottom: 1px solid var(--ai-line2); overflow-x: auto; scrollbar-width: none; }
.gdai-strip::-webkit-scrollbar { display: none; }
.gdai-chip { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border-radius: 99px; border: 1px solid var(--ai-line); background: var(--ai-inset); font: 700 11.5px var(--ai-font); color: var(--ai-tx2); white-space: nowrap; }
.gdai-chip.ctx { color: var(--ai-tx); border-color: var(--ai-acc-line); background: var(--ai-acc-bg); }
.gdai-chip.warn { color: var(--ai-warn); border-color: rgba(255, 189, 89, .3); background: rgba(255, 189, 89, .08); }
.gdai-chip button { color: var(--ai-tx3); font-size: 14px; line-height: 1; }
.gdai-more { flex: none; color: var(--ai-violet-lt); font: 700 12px var(--ai-font); min-height: 32px; padding: 0 6px; white-space: nowrap; }
.gdai-integ { flex: none; padding: 10px 14px; font-size: 12px; color: var(--ai-tx2); border-bottom: 1px solid var(--ai-line2); background: var(--ai-inset); }
.gdai-integ ul { margin: 6px 0 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.gdai-integ li b { color: var(--ai-tx); font-weight: 700; }
.gdai-integ .dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 6px; background: var(--ai-tx3); }
.gdai-integ .dot.on { background: var(--ai-ok); }

/* conversation */
.gdai-scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 14px 14px 8px; scrollbar-width: thin; scrollbar-color: var(--ai-sb) transparent; }
.gdai-welcome { max-width: 560px; margin: 6vh auto 0; text-align: left; }
.gdai-welcome h2 { margin: 0 0 4px; font: 800 24px/1.2 var(--ai-font); letter-spacing: -.025em; color: var(--ai-tx); }
.gdai-welcome p { margin: 0 0 16px; color: var(--ai-tx2); }
.gdai-quick { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.gdai-quick button { display: flex; align-items: center; gap: 10px; text-align: left; padding: 10px 12px; border-radius: 14px; border: 1px solid var(--ai-line); background: var(--ai-sheen), var(--ai-glass); min-height: 50px; transition: border-color .18s, transform .18s; }
.gdai-quick button:hover { border-color: var(--ai-line-hi); }
.gdai-quick button:active { transform: scale(.985); }
.gdai-quick .qi { flex: none; width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: var(--ai-acc-bg); color: var(--ai-acc); box-shadow: inset 0 0 0 1px var(--ai-line2); }
.gdai-quick .qi svg { width: 17px; height: 17px; }
.gdai-quick span.t { font: 700 13px var(--ai-font); line-height: 1.2; }
.gdai-quick span.t small { display: block; font: 500 11px "Inter", sans-serif; color: var(--ai-tx3); margin-top: 1px; }

.gdai-msg { display: flex; flex-direction: column; gap: 8px; margin: 0 0 16px; max-width: 100%; }
.gdai-msg.user { align-items: flex-end; }
.gdai-bubble { max-width: min(92%, 640px); padding: 10px 13px; border-radius: 16px; overflow-wrap: anywhere; white-space: pre-wrap; }
.gdai-msg.user .gdai-bubble { background: var(--ai-grad); color: var(--ai-on-grad); border-bottom-right-radius: 6px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2); }
.gdai-msg.ai .gdai-bubble { background: var(--ai-sheen), var(--ai-glass); border: 1px solid var(--ai-line); border-bottom-left-radius: 6px; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.gdai-meta { display: flex; gap: 4px; align-items: center; color: var(--ai-tx3); font-size: 11px; }
.gdai-meta button { height: 26px; padding: 0 8px; border-radius: 8px; color: var(--ai-tx3); font: 600 11.5px var(--ai-font); }
.gdai-meta button:hover { background: var(--ai-inset); color: var(--ai-tx); }
.gdai-meta .grow { flex: 1; }
.gdai-typing { display: inline-flex; align-items: center; gap: 9px; color: var(--ai-tx2); font-size: 13px; }
.gdai-typing i { width: 6px; height: 6px; border-radius: 50%; background: var(--ai-violet-lt); animation: gdai-pulse 1.1s infinite ease-in-out; }
.gdai-typing i:nth-child(2) { animation-delay: .15s; } .gdai-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes gdai-pulse { 0%, 80%, 100% { opacity: .25; transform: scale(.8); } 40% { opacity: 1; transform: scale(1); } }
.gdai-note { align-self: flex-start; font-size: 12px; color: var(--ai-warn); padding: 0 4px; }

/* cards */
.gdai-card { width: 100%; max-width: 680px; border-radius: 18px; border: 1px solid var(--ai-line); background: var(--ai-sheen), var(--ai-glass); box-shadow: var(--ai-shadow); overflow: hidden; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.gdai-card.hi { background: var(--ai-hi-tint), var(--ai-sheen), var(--ai-raised); border-color: var(--ai-line-hi); }
.gdai-ch { display: flex; align-items: center; gap: 10px; padding: 12px 14px 8px; }
.gdai-ch h3 { margin: 0; font: 800 15px var(--ai-font); letter-spacing: -.01em; flex: 1; min-width: 0; }
.gdai-ch small { color: var(--ai-tx3); font-size: 11.5px; display: block; font-weight: 500; }
.gdai-av { flex: none; width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; font: 800 15px var(--ai-font); color: #fff; background: var(--ai-grad-av); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16); }
.gdai-cb { padding: 4px 14px 12px; }
.gdai-badge { display: inline-flex; align-items: center; gap: 5px; height: 22px; padding: 0 9px; border-radius: 99px; font: 700 11px var(--ai-font); border: 1px solid transparent; white-space: nowrap; }
.gdai-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.gdai-badge.ok { color: var(--ai-ok); background: rgba(57, 214, 160, .10); border-color: rgba(57, 214, 160, .22); }
.gdai-badge.warn { color: var(--ai-warn); background: rgba(255, 189, 89, .10); border-color: rgba(255, 189, 89, .22); }
.gdai-badge.err { color: var(--ai-err); background: rgba(255, 98, 136, .10); border-color: rgba(255, 98, 136, .24); }
.gdai-badge.pri { color: var(--ai-acc); background: var(--ai-acc-bg); border-color: var(--ai-acc-line); }
.gdai-badge.mute { color: var(--ai-tx2); background: var(--ai-hover); border-color: var(--ai-line2); }
.gdai-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 560px) { .gdai-grid.c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.gdai-tile { padding: 9px 10px; border-radius: 13px; background: var(--ai-inset); border: 1px solid var(--ai-line2); min-width: 0; }
.gdai-tile small { display: block; font: 700 10px var(--ai-font); letter-spacing: .07em; text-transform: uppercase; color: var(--ai-tx3); }
.gdai-tile b { display: block; font: 800 16px var(--ai-font); margin-top: 2px; overflow-wrap: anywhere; }
.gdai-tile b.neg { color: var(--ai-err); } .gdai-tile b.pos { color: var(--ai-ok); } .gdai-tile b.cy { color: var(--ai-cyan); }
.gdai-kv { display: flex; flex-direction: column; }
.gdai-kv > div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--ai-line2); font-size: 13px; color: var(--ai-tx2); }
.gdai-kv > div:last-child { border: 0; }
.gdai-kv b { color: var(--ai-tx); font: 700 13px var(--ai-font); text-align: right; overflow-wrap: anywhere; }
.gdai-acts { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 14px 12px; }
.gdai-btn { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 13px; border-radius: 11px; border: 1px solid var(--ai-line); background: var(--ai-inset); font: 700 12.5px var(--ai-font); color: var(--ai-tx); text-decoration: none; transition: background .18s, border-color .18s; }
.gdai-btn:hover { background: var(--ai-hover); border-color: var(--ai-line-hi); }
.gdai-btn.pri { background: var(--ai-grad); border-color: rgba(255, 255, 255, .14); color: var(--ai-on-grad); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 8px 16px -8px var(--ai-pri-sh); }
.gdai-btn svg { width: 15px; height: 15px; }
.gdai-exp > summary { list-style: none; cursor: pointer; padding: 9px 14px; font: 700 12.5px var(--ai-font); color: var(--ai-violet-lt); border-top: 1px solid var(--ai-line2); display: flex; align-items: center; gap: 8px; }
.gdai-exp > summary::-webkit-details-marker { display: none; }
.gdai-exp > summary::after { content: "▾"; margin-left: auto; transition: transform .18s; }
.gdai-exp[open] > summary::after { transform: rotate(180deg); }
.gdai-exp .in { padding: 0 14px 12px; }
.gdai-tw { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 -2px; }
.gdai-t { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.gdai-t th { text-align: left; font: 700 10.5px var(--ai-font); letter-spacing: .06em; text-transform: uppercase; color: var(--ai-tx3); padding: 7px 8px; white-space: nowrap; border-bottom: 1px solid var(--ai-line); }
.gdai-t td { padding: 8px; border-bottom: 1px solid var(--ai-line2); vertical-align: top; }
.gdai-t tr:last-child td { border-bottom: 0; }
.gdai-t td.r, .gdai-t th.r { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.gdai-t td.neg { color: var(--ai-err); } .gdai-t td.sub { color: var(--ai-tx2); }
.gdai-t a, .gdai-t button.lnk { color: var(--ai-acc); font-weight: 700; text-decoration: none; text-align: left; }
.gdai-note-box { display: flex; gap: 8px; padding: 9px 11px; margin: 8px 0 0; border-radius: 12px; font-size: 12px; line-height: 1.45; border: 1px solid var(--ai-line2); background: var(--ai-inset); color: var(--ai-tx2); }
.gdai-note-box.warn { background: rgba(255, 189, 89, .07); border-color: rgba(255, 189, 89, .2); color: var(--ai-note-warn); }
.gdai-note-box.err { background: rgba(255, 98, 136, .07); border-color: rgba(255, 98, 136, .2); color: var(--ai-note-err); }
.gdai-note-box.ok { background: rgba(57, 214, 160, .07); border-color: rgba(57, 214, 160, .2); color: var(--ai-note-ok); }
.gdai-note-box.info { background: rgba(55, 215, 208, .06); border-color: rgba(55, 215, 208, .18); color: var(--ai-note-info); }
.gdai-total { display: flex; justify-content: space-between; align-items: baseline; padding: 10px 0 2px; margin-top: 4px; border-top: 1px solid var(--ai-line); }
.gdai-total b { font: 800 22px var(--ai-font); letter-spacing: -.02em; }
.gdai-formula { font-size: 12px; color: var(--ai-tx2); padding: 5px 0; border-bottom: 1px dashed var(--ai-line2); overflow-wrap: anywhere; }
.gdai-formula:last-child { border: 0; }
.gdai-bar { height: 7px; border-radius: 99px; background: var(--ai-track); overflow: hidden; margin-top: 5px; }
.gdai-bar i { display: block; height: 100%; border-radius: 99px; background: var(--ai-grad-bar); }

/* suggestions + composer */
.gdai-sug { flex: none; display: flex; gap: 8px; overflow-x: auto; padding: 4px 14px 8px; scrollbar-width: none; }
.gdai-sug::-webkit-scrollbar { display: none; }
.gdai-sug button { flex: none; height: 32px; padding: 0 12px; border-radius: 99px; border: 1px solid var(--ai-line); background: var(--ai-inset); font: 600 12.5px var(--ai-font); color: var(--ai-tx2); white-space: nowrap; }
.gdai-sug button:hover { color: var(--ai-tx); border-color: var(--ai-focus); }
.gdai-comp { flex: none; padding: 8px 12px max(12px, env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--ai-line2); background: var(--ai-bar2); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.gdai-comp-in { display: flex; align-items: flex-end; gap: 8px; padding: 6px 6px 6px 8px; border-radius: 20px; border: 1px solid var(--ai-line); background: var(--ai-field); box-shadow: var(--ai-field-sh); transition: border-color .18s, box-shadow .18s; }
.gdai-comp-in:focus-within { border-color: var(--ai-focus-ring); box-shadow: var(--ai-field-sh), 0 0 0 3px var(--ai-focus-glow); }
.gdai-comp textarea { flex: 1; min-width: 0; resize: none; overflow-y: hidden; border: 0; outline: 0; background: none; text-overflow: ellipsis; color: var(--ai-tx); font: 15px/1.45 "Inter", sans-serif; padding: 8px 4px; max-height: 140px; min-height: 22px; }
.gdai-comp textarea::placeholder { color: var(--ai-tx3); }
.gdai-comp .gdai-ibtn { width: 38px; height: 38px; border-radius: 14px; }
.gdai-send { flex: none; width: 40px; height: 40px; border-radius: 14px; display: grid; place-items: center; background: var(--ai-grad); color: var(--ai-on-grad); border: 1px solid rgba(255, 255, 255, .14); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 8px 16px -8px var(--ai-pri-sh); }
.gdai-send[disabled] { opacity: .4; cursor: not-allowed; box-shadow: none; }
.gdai-send.stop { background: rgba(255, 98, 136, .16); border-color: rgba(255, 98, 136, .4); color: var(--ai-err); box-shadow: none; }
.gdai-send svg { width: 18px; height: 18px; }
.gdai-hint { text-align: center; font-size: 11px; color: var(--ai-tx3); margin-top: 6px; }

/* history sheet */
.gdai-scrim { position: absolute; inset: 0; z-index: 20; background: rgba(3, 6, 18, .6); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
.gdai-sheet { position: absolute; left: 0; right: 0; bottom: 0; z-index: 21; max-height: 86%; display: flex; flex-direction: column; border-radius: 24px 24px 0 0; background: var(--ai-sheen), var(--ai-sheet); border: 1px solid var(--ai-line-hi); border-bottom: 0; box-shadow: 0 -18px 50px -10px rgba(0, 0, 0, .6); animation: gdai-up .24s cubic-bezier(.2, .8, .2, 1) both; }
@media (min-width: 901px) { .gdai-sheet { left: auto; width: 380px; top: 0; max-height: none; border-radius: 0; border: 0; border-left: 1px solid var(--ai-line-hi); animation-name: gdai-in; } }
@keyframes gdai-up { from { transform: translateY(30px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes gdai-in { from { transform: translateX(30px); opacity: 0; } to { transform: none; opacity: 1; } }
.gdai-sheet header { display: flex; align-items: center; gap: 10px; padding: 14px 16px 8px; }
.gdai-sheet header b { flex: 1; font: 800 17px var(--ai-font); }
.gdai-sheet .srch { padding: 0 16px 10px; }
.gdai-sheet .srch input { width: 100%; height: 42px; border-radius: 13px; border: 1px solid var(--ai-line); background: var(--ai-field); color: var(--ai-tx); padding: 0 13px; font: 14px "Inter", sans-serif; outline: 0; }
.gdai-sheet .srch input:focus { border-color: var(--ai-focus-ring); }
.gdai-list { overflow-y: auto; overscroll-behavior: contain; padding: 0 10px 16px; }
.gdai-li { display: flex; align-items: center; gap: 8px; padding: 10px 8px; border-radius: 13px; }
.gdai-li:hover { background: var(--ai-inset); }
.gdai-li .main { flex: 1; min-width: 0; text-align: left; }
.gdai-li .main b { display: block; font: 700 13.5px var(--ai-font); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gdai-li .main small { color: var(--ai-tx3); font-size: 11.5px; }
.gdai-li.on .main b { color: var(--ai-acc); }
.gdai-toast { position: absolute; left: 50%; bottom: 120px; transform: translateX(-50%); z-index: 30; padding: 9px 14px; border-radius: 99px; background: var(--ai-sheet); border: 1px solid rgba(57, 214, 160, .32); color: var(--ai-tx); font: 700 12.5px var(--ai-font); white-space: nowrap; max-width: calc(100% - 28px); overflow: hidden; text-overflow: ellipsis; animation: gdai-pop .2s ease both; }
.gdai-toast.err { border-color: rgba(255, 98, 136, .4); }
@keyframes gdai-pop { from { opacity: 0; transform: translate(-50%, 6px); } to { opacity: 1; transform: translate(-50%, 0); } }

/* the dashboard's own header / nav stay out of the way of the full-screen workspace on phones */
@media (max-width: 900px) { html.gdai-open .owner-home-header, html.gdai-open .admin-top, html.gdai-open #adminDashboardTitle { visibility: hidden; } }
@media (prefers-reduced-motion: reduce) { #adminPanelAi *, #adminPanelAi *::before, #adminPanelAi *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
@media (max-width: 380px) { .gdai-quick { grid-template-columns: 1fr; } .gdai-head { gap: 8px; padding-left: 10px; padding-right: 10px; } .gdai-scroll { padding-left: 10px; padding-right: 10px; } .gdai-comp { padding-left: 8px; padding-right: 8px; } }

/* live progress, streamed text, depth controls, editable drafts */
.gdai-steps { display: flex; flex-direction: column; gap: 5px; }
.gdai-step { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ai-tx3); }
.gdai-step.done { color: var(--ai-tx2); } .gdai-step.done::first-letter { color: var(--ai-ok); }
.gdai-step.cur { color: var(--ai-tx); }
.gdai-step i { flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--ai-violet-lt); animation: gdai-pulse 1.1s infinite ease-in-out; }
.gdai-live { white-space: pre-wrap; margin-bottom: 6px; }
.gdai-caret { display: inline-block; width: 7px; height: 14px; margin-left: 2px; vertical-align: -2px; background: var(--ai-violet-lt); animation: gdai-pulse 1s infinite; border-radius: 2px; }
.gdai-depth { display: flex; gap: 8px; }
.gdai-depth button { height: 30px; padding: 0 12px; border-radius: 99px; border: 1px solid var(--ai-line); background: var(--ai-inset); font: 700 12px var(--ai-font); color: var(--ai-tx2); }
.gdai-depth button:hover { color: var(--ai-tx); border-color: var(--ai-focus); }
.gdai-src { width: 100%; max-width: 680px; border: 1px solid var(--ai-line2); border-radius: 14px; background: var(--ai-inset); }
.gdai-src > summary { border-top: 0; padding: 8px 12px; color: var(--ai-tx3); font-weight: 600; }
.gdai-draft { width: 100%; min-height: 110px; resize: vertical; padding: 11px 12px; border-radius: 13px; border: 1px solid var(--ai-line); background: var(--ai-field); color: var(--ai-tx); font: 14px/1.5 "Inter", sans-serif; outline: 0; box-shadow: var(--ai-field-sh); }
.gdai-draft:focus { border-color: var(--ai-focus-ring); box-shadow: var(--ai-field-sh), 0 0 0 3px var(--ai-focus-glow); }

/* invoice workflow: status, readiness checks, provenance, versions, confirmation */
.gdai-card.final { border-color: rgba(57, 214, 160, .38); box-shadow: 0 0 0 1px rgba(57, 214, 160, .12), 0 18px 36px -24px rgba(57, 214, 160, .35); }
.gdai-btn.go { background: linear-gradient(135deg, #1FBF8A, #39D6A0); border-color: rgba(255, 255, 255, .18); color: #04281D; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 8px 16px -8px rgba(18, 140, 98, .6); }
.gdai-btn.go:hover { filter: brightness(1.06); background: linear-gradient(135deg, #1FBF8A, #39D6A0); }
.gdai-item { display: flex; flex-direction: column; gap: 1px; padding: 6px 0; border-bottom: 1px dashed var(--ai-line2); font-size: 12.5px; }
.gdai-item:last-child { border: 0; }
.gdai-item b { color: var(--ai-tx); font: 700 12.5px var(--ai-font); }
.gdai-item span { color: var(--ai-tx3); font-size: 11.5px; }
.gdai-item .auth { font-style: normal; color: var(--ai-ok); font-weight: 700; }
.gdai-ck { display: flex; gap: 10px; align-items: flex-start; padding: 7px 0; border-bottom: 1px dashed var(--ai-line2); }
.gdai-ck:last-child { border: 0; }
.gdai-ck i { flex: none; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font: 800 11px var(--ai-font); font-style: normal; margin-top: 1px; }
.gdai-ck.st-ok i { background: rgba(57, 214, 160, .16); color: var(--ai-ok); }
.gdai-ck.st-block i { background: rgba(255, 98, 136, .16); color: var(--ai-err); }
.gdai-ck.st-info i { background: rgba(55, 215, 208, .14); color: var(--ai-cyan); }
.gdai-ck div { min-width: 0; }
.gdai-ck b { display: block; font: 700 12.5px var(--ai-font); color: var(--ai-tx); }
.gdai-ck span { display: block; color: var(--ai-tx2); font-size: 12px; overflow-wrap: anywhere; }
.gdai-ck.st-block b { color: var(--ai-note-err); }
.gdai-ver { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-bottom: 1px dashed var(--ai-line2); font-size: 12.5px; color: var(--ai-tx2); }
.gdai-ver:last-child { border: 0; }
.gdai-ver span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.gdai-ver b { font: 700 12.5px var(--ai-font); color: var(--ai-tx); white-space: nowrap; font-variant-numeric: tabular-nums; }
.gdai-ver b em { font-style: normal; color: var(--ai-tx3); font-weight: 600; }
.gdai-ver .gdai-btn { height: 28px; padding: 0 10px; font-size: 11.5px; }
.gdai-conf { border-color: rgba(255, 189, 89, .38); background: linear-gradient(150deg, rgba(255, 189, 89, .10), rgba(255, 189, 89, 0) 60%), var(--ai-sheen), var(--ai-raised); }
.gdai-conf.st-done { border-color: rgba(57, 214, 160, .34); background: linear-gradient(150deg, rgba(57, 214, 160, .09), rgba(57, 214, 160, 0) 60%), var(--ai-raised); }
.gdai-conf.st-cancelled, .gdai-conf.st-expired, .gdai-conf.st-superseded { opacity: .78; border-color: var(--ai-line); background: var(--ai-glass); }
.gdai-conf-hint { align-self: center; color: var(--ai-tx3); font-size: 11.5px; }
@media (max-width: 520px) { .gdai-conf .gdai-acts .gdai-btn { flex: 1 1 140px; justify-content: center; } .gdai-conf-hint { flex-basis: 100%; } }
@media (prefers-reduced-motion: reduce) { .gdai-btn.go { transition: none; } }

/* confirmed actions: current → proposed, applied result */
.gdai-chg td.was { color: var(--ai-tx3); text-decoration: line-through; text-decoration-color: var(--ai-strike); }
.gdai-chg td.will { color: var(--ai-tx); font-weight: 700; }
.gdai-chg td:first-child { color: var(--ai-tx2); }
.gdai-conf .gdai-kv b { max-width: 62%; }

/* WhatsApp: exact message, share drafts */
.gdai-wa-box { margin: 8px 0 0; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--ai-line2); background: var(--ai-inset); }
.gdai-wa-box small { display: block; font: 700 10.5px var(--ai-font); letter-spacing: .06em; text-transform: uppercase; color: var(--ai-tx3); margin-bottom: 4px; }
.gdai-wa-msg { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; color: var(--ai-tx); }
.gdai-wa-r > summary { flex-wrap: wrap; row-gap: 4px; }
.gdai-wa-r .gdai-draft { width: 100%; }

/* long unbroken words (names, references, links, template names) must wrap instead of widening a card */
.gdai-card h3, .gdai-card small, .gdai-card .gdai-ch, .gdai-note-box, .gdai-formula, .gdai-item, .gdai-item b, .gdai-ck div, .gdai-ck b, .gdai-ck span, .gdai-ver span, .gdai-wa-msg, .gdai-wa-box, .gdai-kv > div > span, .gdai-tile small, .gdai-conf-hint { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.gdai-kv > div { min-width: 0; }
.gdai-kv > div > span { flex: 1 1 40%; }
.gdai-kv > div > b { flex: 1 1 50%; min-width: 0; }
.gdai-card .gdai-btn { max-width: 100%; white-space: normal; text-align: center; height: auto; min-height: 34px; padding-top: 6px; padding-bottom: 6px; overflow-wrap: anywhere; }
.gdai-card .gdai-acts { min-width: 0; }
.gdai-wa-r > summary { min-width: 0; overflow-wrap: anywhere; }
