/* Matched to the current MyGentic build: app.mygentic.io CSS tokens (Outfit display, Source Sans 3 body, IBM Plex Mono,
   teal #0F766E / #0C7C72 / #18B8AA, ink #17181F, bg #F4F7FB, pastel brand gradient) and the Brain Builder UI layout
   (left sidebar with Workspace + Recent lists, white rounded sheet, step pills with ticks, violet "Build with AI" button). */
:root{
  --ink:#17181F;--ink2:#3A3F4A;--mute:#626A76;--line:rgba(23,24,31,.10);--line2:#E4E7EC;
  --teal:#18B8AA;--teal7:#0F766E;--teal8:#0C7C72;--teal-soft:#E7F5F2;
  --violet:#595CDF;--violet2:#7B6CF0;--rose:#B23A73;--amber:#A8631C;--amber-soft:#FBF0E1;--red:#B42318;--red-soft:#FDECEA;
  --bg:#F4F7FB;--side:#FFFFFFE6;
  --fd:"Outfit",system-ui,-apple-system,"Segoe UI",sans-serif;--fb:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;--fm:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --card:0 1px 2px rgba(23,24,31,.08),0 8px 18px -8px rgba(23,24,31,.24);--sheet:0 2px 4px rgba(23,24,31,.06),0 30px 60px -30px rgba(23,24,31,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg)}
body{min-height:100vh;color:var(--ink2);font:15px/1.5 var(--fb);-webkit-font-smoothing:antialiased;
  background:radial-gradient(50% 60% at 0% 0%,#feeaf1 0%,transparent 70%),radial-gradient(50% 60% at 100% 0%,#c8b8f580 0%,transparent 70%),radial-gradient(60% 60% at 80% 100%,#b5d9f780 0%,transparent 70%),var(--bg);background-attachment:fixed}
a{color:var(--teal8);text-decoration:none}a:hover{text-decoration:underline}
h1{font:700 26px/1.15 var(--fd);color:var(--ink);letter-spacing:-.02em}
h2{font:700 19px/1.25 var(--fd);color:var(--ink);letter-spacing:-.01em}
h3{font:600 15.5px/1.3 var(--fd);color:var(--ink)}
small,.muted{color:var(--mute)}
.proto-banner{position:sticky;top:0;z-index:50;background:#17181F;color:#fff;font:500 12.5px/1.4 var(--fd);padding:7px 16px;text-align:center}
.proto-banner a,.proto-banner .linkbtn{color:#7EE3D8;font:inherit;background:none;border:0;cursor:pointer;text-decoration:underline}
.shell{display:flex;min-height:calc(100vh - 32px)}
.side{width:248px;flex-shrink:0;background:var(--side);backdrop-filter:blur(12px);border-right:1px solid var(--line);padding:16px 10px;display:flex;flex-direction:column;gap:10px;position:sticky;top:32px;height:calc(100vh - 32px);overflow:auto}
.brand{display:flex;align-items:center;gap:8px;font:700 19px/1 var(--fd);color:var(--ink);padding:4px 8px;text-decoration:none!important}
.brand img{width:24px;height:25px}.brand .g{color:var(--teal7)}
.persona{display:flex;flex-wrap:wrap;gap:4px;padding:4px 6px}
.persona button{flex:1 1 auto;border:1px solid var(--line);background:#fff;border-radius:99px;font:600 11.5px var(--fd);padding:5px 8px;cursor:pointer;color:var(--ink2)}
.persona button[aria-pressed="true"]{background:var(--teal7);border-color:var(--teal7);color:#fff}
nav .grp{font:600 11px var(--fd);text-transform:uppercase;letter-spacing:.06em;color:var(--mute);padding:12px 10px 4px}
nav a{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:9px;color:var(--ink2);font:500 14px var(--fb);text-decoration:none!important}
nav a .i{width:18px;text-align:center;color:var(--mute)}
nav a:hover{background:#F1F3F7}
nav a.on{background:var(--teal-soft);color:var(--teal8);font-weight:600}nav a.on .i{color:var(--teal7)}
nav .dot{width:7px;height:7px;border-radius:50%;background:var(--teal);margin-left:auto}
.me{margin-top:auto;display:flex;gap:9px;align-items:center;padding:8px;border-top:1px solid var(--line)}
.me b{display:block;font:600 12.5px var(--fd);color:var(--ink)}.me small{font-size:11.5px}
.av{width:30px;height:30px;border-radius:50%;background:var(--teal7);color:#fff;display:inline-flex;align-items:center;justify-content:center;font:700 13px var(--fd);flex-shrink:0}
.av.v{background:var(--violet)}.av.r{background:var(--rose)}.av.a{background:var(--amber)}
.stage{flex:1;min-width:0;padding:18px 22px 48px}
.sheet{max-width:1180px;margin:0 auto;background:#fff;border:1px solid rgba(255,255,255,.7);border-radius:22px;padding:26px 30px 34px;box-shadow:var(--sheet);animation:in .25s ease both}
@keyframes in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.crumb{font:500 13px var(--fd);color:var(--mute);margin-bottom:6px}.crumb a{color:var(--mute)}
.head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between;margin-bottom:16px}
.head p{max-width:72ch;margin-top:4px}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.stack{display:flex;flex-direction:column;gap:12px}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.grid.k{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.two{display:grid;gap:16px;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
@media(max-width:900px){.two{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid rgba(23,24,31,.08);border-radius:14px;padding:16px;box-shadow:var(--card)}
.card.flat{box-shadow:none;background:#FAFBFC}
.card.sel{border-color:var(--teal7);box-shadow:0 0 0 3px #0F766E22}
.card h3{margin-bottom:6px}
.kpi{background:#fff;border:1px solid rgba(23,24,31,.07);border-radius:12px;padding:13px 15px;box-shadow:var(--card)}
.kpi b{display:block;font:800 22px/1.15 var(--fd);color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kpi span{font:600 11.5px var(--fd);text-transform:uppercase;letter-spacing:.05em;color:var(--mute)}
.kpi small{display:block;font-size:12.5px}
.btn{appearance:none;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:8px 14px;font:600 13.5px var(--fd);cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none!important}
.btn:hover{border-color:#C9CDD8}
.btn.p{background:linear-gradient(90deg,#0c7c72,#0f8f83 45%,#12a394);border-color:transparent;color:#fff}
.btn.ai{background:linear-gradient(135deg,var(--violet),var(--violet2));border-color:transparent;color:#fff}
.btn.d{color:var(--red);border-color:#F3C7C2}
.btn.sm{padding:5px 10px;font-size:12.5px;border-radius:8px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.chip{display:inline-flex;align-items:center;gap:5px;font:600 11.5px var(--fd);padding:3px 9px;border-radius:99px;background:#F1F3F7;color:var(--ink2);white-space:nowrap}
.chip.ok{background:var(--teal-soft);color:var(--teal8)}.chip.w{background:var(--amber-soft);color:var(--amber)}.chip.bad{background:var(--red-soft);color:var(--red)}.chip.v{background:#ECEBFC;color:var(--violet)}
.chip.ok::before,.chip.w::before,.chip.bad::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.steps{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 18px;padding-bottom:12px;border-bottom:2px solid #EEF1F4;position:relative}
.step{display:inline-flex;align-items:center;gap:7px;font:500 13.5px var(--fd);color:var(--mute);padding:5px 10px;border-radius:99px;cursor:pointer;border:1px solid transparent;background:none}
.step .n{width:20px;height:20px;border-radius:50%;border:1.5px solid #C9CDD8;display:inline-flex;align-items:center;justify-content:center;font-size:11px}
.step.done .n{background:var(--teal7);border-color:var(--teal7);color:#fff}
.step.cur{border-color:#0F766E55;background:var(--teal-soft);color:var(--teal8)}.step.cur .n{border-color:var(--teal7);color:var(--teal7)}
.step-meta{margin-left:auto;font:600 12px var(--fd);color:var(--ink)}
label.f{display:flex;flex-direction:column;gap:5px;font:600 12.5px var(--fd);color:var(--ink);flex:1 1 220px}
label.f small{font:400 12px var(--fb)}
input[type=text],input[type=number],input[type=email],textarea,select{font:15px var(--fb);color:var(--ink);border:1px solid #D5D9DF;border-radius:10px;padding:9px 11px;background:#F4F6F9;width:100%}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #18B8AA33;background:#fff}
textarea{min-height:84px;resize:vertical}
.check{display:flex;gap:8px;align-items:flex-start;font-size:14px;cursor:pointer}
.check input{margin-top:3px;accent-color:var(--teal7)}
table.t{width:100%;border-collapse:collapse;font-size:14px}
table.t th{text-align:left;font:600 11.5px var(--fd);text-transform:uppercase;letter-spacing:.05em;color:var(--mute);padding:8px 10px;border-bottom:1px solid var(--line2)}
table.t td{padding:9px 10px;border-bottom:1px solid #EEF1F4;vertical-align:middle}
table.t td.n,table.t th.n{text-align:right;font-variant-numeric:tabular-nums}
table.t tr.tot td{font-weight:700;color:var(--ink);border-top:2px solid var(--line2)}
.tw{overflow-x:auto}
.tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--line2);margin-bottom:16px}
.tabs a,.tabs button{padding:8px 12px;font:600 13.5px var(--fd);color:var(--mute);border:0;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;text-decoration:none!important}
.tabs .on{color:var(--teal8);border-bottom-color:var(--teal7)}
.seg{display:inline-flex;flex-wrap:wrap;gap:3px;background:#EFF3F8;border:1px solid var(--line);border-radius:11px;padding:3px}
.seg button{border:0;background:none;border-radius:8px;padding:6px 12px;font:600 13px var(--fd);color:var(--ink2);cursor:pointer}
.seg button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(23,24,31,.15)}
.mono{font:13px var(--fm);background:#F4F6F9;border:1px solid var(--line2);border-radius:9px;padding:9px 11px;word-break:break-all;color:var(--ink)}
.note{border-left:3px solid var(--teal);background:var(--teal-soft);border-radius:8px;padding:10px 12px;font-size:14px;color:var(--ink2)}
.note.w{border-left-color:#E8963A;background:var(--amber-soft)}
.note.v{border-left-color:var(--violet);background:#F1F0FD}
.vid{border-radius:12px;overflow:hidden;border:1px solid var(--line);cursor:pointer;background:#fff;box-shadow:var(--card)}
.vid .th{height:110px;background:linear-gradient(128deg,#feeaf1 0%,#fbc5db 18%,#c8b8f5 42%,#b5d9f7 70%,#e8f1fe 100%);display:flex;align-items:center;justify-content:center}
.vid .th span{width:42px;height:42px;border-radius:50%;background:#fffffff0;display:flex;align-items:center;justify-content:center;color:var(--teal7);font-size:16px;box-shadow:var(--card)}
.vid .b{padding:10px 12px}.vid .b b{display:block;font:600 14px var(--fd);color:var(--ink)}
.bar{height:8px;border-radius:99px;background:#EEF1F4;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#0c7c72,#18b8aa)}
.bar.w i{background:#E8963A}
.chat{display:flex;flex-direction:column;gap:10px;max-height:380px;overflow:auto;padding:4px}
.msg{max-width:85%;padding:9px 12px;border-radius:12px;font-size:14px}
.msg.u{align-self:flex-end;background:var(--teal7);color:#fff;border-bottom-right-radius:4px}
.msg.b{align-self:flex-start;background:#F4F6F9;border:1px solid var(--line2);border-bottom-left-radius:4px}
.msg.b small{display:block;margin-top:4px}
.dec{display:flex;flex-direction:column;gap:8px}
.opt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;background:#fff}
.opt input{margin-top:3px;accent-color:var(--teal7)}
.opt.on{border-color:var(--teal7);background:var(--teal-soft)}
.modal{position:fixed;inset:0;background:rgba(23,24,31,.45);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}
.modal[hidden]{display:none}
.modal-card{background:#fff;border-radius:18px;max-width:560px;width:100%;padding:22px;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.3);max-height:90vh;overflow:auto}
.modal-card .x{position:absolute;right:12px;top:8px;border:0;background:none;font-size:24px;cursor:pointer;color:var(--mute)}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;font:500 14px var(--fd);z-index:120;box-shadow:var(--card)}
.toast[hidden]{display:none}
.menu-btn{display:none}
.empty{border:1.5px dashed #C9CDD8;border-radius:12px;padding:18px;text-align:center;color:var(--mute)}
.src{font-size:12px;color:var(--mute)}
@media(max-width:860px){
  .side{position:fixed;left:0;top:32px;z-index:60;transform:translateX(-102%);transition:transform .25s;box-shadow:0 30px 80px #0000004d}
  .side.open{transform:none}
  .menu-btn{display:block;position:fixed;left:10px;bottom:14px;z-index:70;width:44px;height:44px;border-radius:50%;border:0;background:var(--teal7);color:#fff;font-size:18px;box-shadow:var(--card)}
  .stage{padding:10px}.sheet{padding:18px 16px;border-radius:16px}
}
