:root{
  color-scheme:dark;
  --genio-bg:#061114;
  --genio-bg-deep:#001014;
  --genio-surface:#0b2025;
  --genio-surface-2:#0d272c;
  --genio-surface-3:#113238;
  --genio-border:rgba(167,223,226,.16);
  --genio-text:#f3f7f7;
  --genio-muted:#91a9ad;
  --genio-teal:#21c3bd;
  --genio-teal-strong:#149c9a;
  --genio-gold:#e9b94f;
  --genio-purple:#8b5cf6;
  --genio-blue:#2f9df4;
  --genio-green:#45ca72;
  --genio-orange:#ff845e;
  --genio-good:#5fd79b;
  --genio-bad:#ff8d8d;
  --genio-shadow:0 16px 36px rgba(0,0,0,.28);
}
html,body{margin:0;width:100%;height:100%;max-width:100%;overflow:hidden;background:var(--genio-bg-deep);color:var(--genio-text);overscroll-behavior:none}
body.genio-approved-mode{background:var(--genio-bg-deep)}
body.genio-approved-mode>.wrap,body.genio-approved-mode>.footer,body.genio-approved-mode>.devReportFab{display:none!important}
body.genio-legacy-mode{overflow:auto!important;background:#0b0f14}
body.genio-legacy-mode>.approved-shell{display:none!important}
body.genio-legacy-mode>.wrap{display:block!important}
body.genio-legacy-mode>.footer{display:block!important}
body.genio-legacy-mode>.approved-back{display:flex!important}
.approved-shell{width:min(100%,680px);height:100dvh;min-height:0;margin:0 auto;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);display:grid;grid-template-rows:58px minmax(0,1fr) 70px;overflow:hidden;position:relative;background:linear-gradient(180deg,#04171b 0,#06191d 9%,#061114 25%,#001014 100%);font-family:Roboto,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--genio-text)}
.approved-shell *{box-sizing:border-box}
.approved-shell button,.approved-shell input,.approved-shell textarea{font:inherit}
.approved-shell button{touch-action:manipulation}
.approved-topbar{min-height:58px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;padding:0 12px;border-bottom:1px solid rgba(172,225,226,.06);background:linear-gradient(180deg,#04171b 0,#06191d 100%);z-index:20}
.approved-icon-btn{width:42px;height:42px;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--genio-text);padding:0;cursor:pointer}.approved-icon-btn:active{background:rgba(255,255,255,.08)}
.approved-icon-btn svg,.approved-nav-btn svg,.approved-tool-card svg,.approved-inline-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.approved-brand{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}.approved-brand-word{font-size:18px;font-weight:500;letter-spacing:.32em;color:var(--genio-gold);margin-left:.28em;white-space:nowrap}.approved-brand img{width:34px;height:34px;object-fit:cover;border-radius:10px;border:1px solid rgba(233,185,79,.34);box-shadow:0 0 16px rgba(139,92,246,.16),0 3px 10px rgba(0,0,0,.28)}
.approved-stage{min-height:0;overflow:hidden;position:relative;width:100%}.approved-screen{width:100%;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y pinch-zoom;padding:0 10px 24px;scrollbar-gutter:stable both-edges}.approved-screen[hidden]{display:none!important}.approved-screen::-webkit-scrollbar{width:3px}.approved-screen::-webkit-scrollbar-thumb{background:rgba(68,190,188,.28);border-radius:999px}
.approved-screen-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 4px 14px}.approved-screen-head h1{font-size:23px;line-height:1.12;margin:4px 0 0}.approved-eyebrow{font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--genio-teal)}.approved-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--genio-border);background:rgba(13,42,48,.8);border-radius:999px;padding:6px 9px;font-size:10px;color:var(--genio-muted)}
.approved-card{border:1px solid var(--genio-border);background:linear-gradient(150deg,rgba(15,51,57,.95),rgba(7,31,36,.98));border-radius:20px;padding:14px;margin-bottom:11px;box-shadow:0 7px 20px rgba(0,0,0,.14)}
.approved-work-card{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:10px;align-items:center;min-height:126px}.approved-project-state{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#acd1d2}.approved-project-state i{width:8px;height:8px;border-radius:50%;background:var(--genio-teal);box-shadow:0 0 0 4px rgba(33,195,189,.08)}.approved-work-card h2{font-size:19px;margin:9px 0 5px;overflow-wrap:anywhere}.approved-work-card p{font-size:12px;line-height:1.42;color:var(--genio-muted);margin:0}.approved-work-lamp{display:grid;place-items:center}.approved-work-lamp img{width:72px;height:72px;object-fit:cover;border-radius:18px;border:1px solid rgba(233,185,79,.22);box-shadow:0 8px 26px rgba(0,0,0,.25)}
.approved-progress-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:12px}.approved-progress{height:7px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.approved-progress>i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--genio-teal),#5ed9d4);border-radius:inherit;transition:width .25s ease}.approved-progress-label{font-size:11px;color:#c7dbdc;white-space:nowrap}
.approved-section-title{display:flex;align-items:end;justify-content:space-between;gap:10px;padding:2px 2px 9px}.approved-section-title strong{font-size:15px}.approved-section-title span{font-size:11px;color:var(--genio-teal)}
.approved-file-list{display:grid;gap:7px}.approved-file-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;padding:7px 4px;border-bottom:1px solid rgba(255,255,255,.055)}.approved-file-row:last-child{border-bottom:0}.approved-file-icon{width:30px;height:30px;border-radius:8px;background:#0e3339;display:grid;place-items:center;color:var(--genio-teal);font-size:15px}.approved-file-row b{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approved-file-row small{display:block;font-size:10px;color:var(--genio-muted);margin-top:2px}.approved-empty{color:var(--genio-muted);font-size:12px;margin:4px 0}
.approved-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.approved-mini-card{border:1px solid var(--genio-border);background:rgba(7,31,36,.86);border-radius:17px;padding:12px;min-height:118px}.approved-mini-card h3{font-size:13px;margin:0 0 8px}.approved-notes{display:grid;gap:7px;color:#c5d7d8;font-size:11px}.approved-note{display:flex;gap:7px;align-items:flex-start}.approved-note i{width:6px;height:6px;border-radius:50%;background:var(--genio-teal);margin-top:5px;flex:0 0 auto}.approved-checks{display:grid;gap:7px;font-size:11px}.approved-check{display:flex;align-items:center;gap:7px;color:#c5d7d8}.approved-check i{width:17px;height:17px;border:1px solid #71898c;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:10px}.approved-check.done i{background:var(--genio-teal);border-color:var(--genio-teal);color:#021517}.approved-system-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.approved-system-row b{font-size:13px}.approved-system-row small{display:block;color:var(--genio-muted);font-size:10px;margin-top:3px}.approved-system-status{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--genio-good)}.approved-system-status i{width:8px;height:8px;border-radius:50%;background:var(--genio-good)}
.approved-chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 4px 7px}.approved-chat-title{font-size:21px;font-weight:760;max-width:72vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.approved-chat-state{font-size:10px;color:var(--genio-muted)}
.approved-chat-history{display:flex;flex-direction:column;gap:13px;min-height:calc(100% - 180px);padding:12px 2px 20px}.approved-msg{display:flex;align-items:flex-start;gap:9px}.approved-msg.user{justify-content:flex-end}.approved-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;overflow:hidden;background:#071a20;border:1px solid rgba(233,185,79,.48);box-shadow:0 0 0 2px rgba(139,92,246,.08),0 5px 15px rgba(0,0,0,.24)}.approved-avatar img{width:100%;height:100%;object-fit:cover;display:block}.approved-bubble{max-width:88%;padding:12px 14px;border-radius:20px;line-height:1.46;overflow-wrap:anywhere;white-space:normal}.approved-msg.assistant .approved-bubble{background:#10252a;border:1px solid rgba(172,225,226,.14);border-top-left-radius:8px;color:var(--genio-text);box-shadow:0 8px 24px rgba(0,0,0,.12)}.approved-msg.user .approved-bubble{background:linear-gradient(145deg,#0b8f90,#087477);border:1px solid rgba(60,220,213,.3);border-top-right-radius:8px;color:white}.approved-bubble small{display:none}.approved-bubble p{margin:0 0 9px}.approved-bubble p:last-child{margin-bottom:0}.approved-bubble pre{white-space:pre-wrap;overflow:auto;background:#07151a;color:#e9f6f6;border:1px solid rgba(0,0,0,.18);border-radius:12px;padding:10px;font-size:11px}.approved-bubble a{color:#6fe2de}.approved-bubble .friendlySteps{display:grid;gap:6px;margin-top:9px}.approved-bubble .friendlySteps>div{display:flex;gap:7px;font-size:12px}.approved-bubble .chatAttachmentSet{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.approved-bubble .attachmentChip{font-size:10px;border:1px solid rgba(255,255,255,.15);padding:4px 7px;border-radius:999px}.approved-greeting .approved-bubble{max-width:82%}
.approved-feedback{display:none;gap:7px;flex-wrap:wrap;margin:2px 0 8px;padding:0 2px}.approved-feedback.visible{display:flex}.approved-feedback button{border:1px solid var(--genio-border);border-radius:999px;background:#0b252a;color:var(--genio-text);padding:8px 10px;font-size:11px}.approved-feedback .good{color:var(--genio-good)}.approved-feedback .bad{color:#ffc0c0}.approved-feedback-status{font-size:10px;color:var(--genio-muted);align-self:center}
.approved-composer{position:sticky;bottom:0;z-index:16;background:linear-gradient(180deg,rgba(6,17,20,0),rgba(6,17,20,.96) 23%,var(--genio-bg) 42%);padding:26px 0 5px}.approved-composer-box{background:#0b272c;border:1px solid rgba(156,218,219,.18);border-radius:24px;padding:9px 10px 8px;box-shadow:0 -2px 24px rgba(0,0,0,.18),0 10px 30px rgba(0,0,0,.22)}.approved-composer textarea{width:100%;min-height:48px;max-height:150px;resize:none;background:transparent;color:var(--genio-text);border:0;padding:8px 9px 4px;outline:none}.approved-composer textarea::placeholder{color:#829b9e}.approved-composer-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.approved-attach-row{display:flex;gap:6px;flex-wrap:wrap}.approved-attach,.approved-send{border:1px solid var(--genio-border);border-radius:999px;padding:8px 10px;color:var(--genio-text);background:#0d3036;cursor:pointer}.approved-attach{font-size:11px}.approved-send{background:linear-gradient(135deg,var(--genio-teal-strong),#087477);border-color:rgba(72,231,224,.34);font-weight:800;padding:10px 15px}.approved-send:disabled{opacity:.55}.approved-composer-meta{display:flex;justify-content:space-between;gap:8px;color:#70898d;font-size:9px;padding:6px 8px 0}.approved-attachment-preview{display:flex;gap:5px;flex-wrap:wrap;padding:3px 4px 0}.approved-attachment-preview:empty{display:none}.approved-attachment-pill{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--genio-border);border-radius:999px;padding:4px 7px;font-size:10px;color:#bfd1d2;background:#082126}
.approved-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:12px}.approved-tool-card{min-height:122px;border:1px solid var(--genio-border);border-radius:17px;padding:11px 6px;color:var(--genio-text);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;text-align:center;background:linear-gradient(150deg,rgba(15,51,57,.95),rgba(7,31,36,.98));box-shadow:none;cursor:pointer}.approved-tool-card:active{transform:scale(.98);background:#12343a}.approved-tool-card strong{font-size:13px}.approved-tool-card small{font-size:10px;line-height:1.3;color:var(--genio-muted)}.approved-tool-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#08282d}.approved-tool-icon.teal{color:#39d6cf;background:rgba(33,195,189,.1)}.approved-tool-icon.violet{color:#a875ff;background:rgba(139,92,246,.11)}.approved-tool-icon.blue{color:#4aaefb;background:rgba(47,157,244,.11)}.approved-tool-icon.green{color:#62d883;background:rgba(69,202,114,.1)}.approved-tool-icon.cyan{color:#5ad8e5;background:rgba(90,216,229,.1)}.approved-tool-icon.orange{color:#ff9a75;background:rgba(255,132,94,.1)}.approved-tool-icon.purple{color:#a875ff;background:rgba(139,92,246,.11)}.approved-tool-icon.sky{color:#67bfff;background:rgba(47,157,244,.11)}.approved-tool-icon.silver{color:#c7d0d2;background:rgba(210,220,222,.08)}.approved-tool-icon.gold{color:var(--genio-gold);background:rgba(233,185,79,.09)}
.approved-memory-card{width:100%;border:1px solid var(--genio-border);background:linear-gradient(150deg,rgba(15,51,57,.95),rgba(7,31,36,.98));border-radius:19px;padding:12px;color:var(--genio-text);display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:11px;align-items:center;text-align:left;margin-bottom:12px}.approved-memory-card strong{display:block;font-size:13px}.approved-memory-card small{display:block;font-size:10px;color:var(--genio-muted);margin-top:3px}.approved-chevron{font-size:26px;color:#b9cdce}
.approved-bottom-nav{min-height:70px;padding:5px 10px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;background:#04171b;border-top:1px solid rgba(172,225,226,.1);z-index:30}.approved-nav-btn{min-width:0;min-height:56px;border:0;background:transparent;color:#8da2a5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;border-radius:16px}.approved-nav-btn.active{color:var(--genio-teal)}.approved-nav-btn svg{width:22px;height:22px}.approved-nav-btn:active{background:rgba(255,255,255,.04)}
.approved-menu{position:fixed;inset:0;z-index:100;background:rgba(0,8,10,.58);display:none;align-items:flex-end;justify-content:center;padding:16px}.approved-menu.open{display:flex}.approved-menu-sheet{width:min(100%,620px);max-height:82dvh;overflow:auto;background:#082126;border:1px solid var(--genio-border);border-radius:24px;padding:14px;box-shadow:0 24px 60px rgba(0,0,0,.5)}.approved-menu-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 4px 12px}.approved-menu-head h2{font-size:18px;margin:0}.approved-menu-list{display:grid;gap:7px}.approved-menu-item{width:100%;border:1px solid var(--genio-border);border-radius:15px;background:#0b292f;color:var(--genio-text);padding:11px 12px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px}.approved-menu-item small{color:var(--genio-muted)}.approved-menu-item.danger{color:#ffc0c0}.approved-menu-footer{font-size:10px;color:var(--genio-muted);padding:10px 4px 2px}
.approved-toast{position:absolute;left:50%;bottom:82px;transform:translate(-50%,12px);z-index:80;max-width:calc(100% - 32px);background:#113238;border:1px solid var(--genio-border);border-radius:999px;padding:9px 12px;font-size:11px;color:#e6f1f1;opacity:0;pointer-events:none;transition:.18s ease}.approved-toast.show{opacity:1;transform:translate(-50%,0)}
.approved-back{display:none;position:fixed;z-index:99999;left:12px;bottom:calc(14px + env(safe-area-inset-bottom));align-items:center;gap:7px;border:1px solid rgba(167,223,226,.25);border-radius:999px;padding:10px 14px;background:#082126;color:#f3f7f7;box-shadow:0 12px 34px rgba(0,0,0,.35);font:600 13px/1 system-ui;cursor:pointer}
@media(max-width:360px){.approved-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.approved-brand-word{font-size:16px}.approved-mini-grid{grid-template-columns:1fr}.approved-composer-meta span:last-child{display:none}}
@media(min-width:600px){.approved-screen{padding-left:16px;padding-right:16px}.approved-tool-grid{gap:10px}.approved-tool-card{min-height:138px}.approved-bubble{max-width:78%}.approved-mini-grid{gap:11px}}
@media(prefers-reduced-motion:reduce){.approved-shell *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Static-class replacements required by GENIO's HTML sanitizer. */
.approved-icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.approved-status-glyph{font-size:19px}
.approved-text-link{border:0;background:transparent;color:var(--genio-teal);font-size:11px;padding:4px 0;cursor:pointer}
.approved-card-gap{margin-top:10px}
