/* Generative UI: a swipeable gallery of cards an Axis agent renders in chat. */
#v2-generative-ui{margin:0;min-width:0}
#v2-generative-ui .v2g{position:relative;font-family:'DM Sans',ui-sans-serif,system-ui,sans-serif;color:#f7f7f5}
#v2-generative-ui .v2g-track{display:flex;gap:16px;overflow-x:auto;padding:8px 22% 56px 4px;margin-bottom:-34px;scroll-snap-type:x mandatory;scroll-padding-left:4px;scrollbar-width:none;overscroll-behavior-x:contain;outline:0;mask-image:linear-gradient(90deg,#000 0,#000 78%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0,#000 78%,transparent 100%)}
#v2-generative-ui .v2g-track::-webkit-scrollbar{display:none}
#v2-generative-ui .v2g-track:focus-visible{box-shadow:inset 0 0 0 2px #35cdbc55;border-radius:22px}
#v2-generative-ui .v2g-card{position:relative;display:flex;width:min(380px,84%);flex:none;flex-direction:column;min-height:392px;padding:20px;scroll-snap-align:start;border:1px solid #29292b;border-top-color:#3a3a3d;border-radius:20px;background:linear-gradient(180deg,#151517,#0c0c0d 70%);box-shadow:0 26px 60px #000b,inset 0 1px 0 #ffffff10;opacity:.55;transform:scale(.97);transform-origin:left center;transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
#v2-generative-ui .v2g-card.is-active{opacity:1;transform:none}
#v2-generative-ui .v2g-cap{margin:0 0 8px;color:#35cdbc;font:600 10.5px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase}
#v2-generative-ui h3{margin:0 0 16px;font-size:19px;font-weight:650;line-height:1.2;letter-spacing:-.025em}
#v2-generative-ui .v2g-foot{margin:auto 0 0;padding-top:14px;color:#a2a2a5;font-size:13px;line-height:1.45}
#v2-generative-ui .v2g-tag{display:inline-block;margin-right:7px;padding:2px 7px;border-radius:6px;background:#35cdbc1f;color:#71e0d4;font-size:11px;font-weight:700}

/* Map */
#v2-generative-ui .v2g-map{display:block;width:100%;height:auto;border-radius:12px}
#v2-generative-ui .v2g-pin text{font:700 11px 'DM Sans',sans-serif;fill:#050505}
#v2-generative-ui .v2g-card.is-active .v2g-pin{animation:v2g-drop .55s cubic-bezier(.2,.9,.3,1.3) both;animation-delay:var(--d)}
@keyframes v2g-drop{from{transform:translateY(-14px);opacity:0}}
#v2-generative-ui .v2g-places{display:grid;gap:2px;margin:12px 0 0;padding:0;list-style:none}
#v2-generative-ui .v2g-places li{display:flex;align-items:center;gap:11px;padding:7px 2px;border-bottom:1px solid #1f1f21;font-size:14px}
#v2-generative-ui .v2g-places li:last-child{border:0}
#v2-generative-ui .v2g-places b{display:grid;width:22px;height:22px;flex:none;place-items:center;border-radius:50%;background:#f3efe8;color:#050505;font-size:11px}
#v2-generative-ui .v2g-places b.is-top{background:#35cdbc}
#v2-generative-ui .v2g-places span{flex:1;font-weight:550}
#v2-generative-ui .v2g-places small{display:block;color:#8c8d91;font-size:11.5px;font-weight:450}
#v2-generative-ui .v2g-places em{color:#c9cfcc;font-size:12.5px;font-style:normal}

/* Choice */
#v2-generative-ui .v2g-options{display:grid;gap:8px}
#v2-generative-ui .v2g-opt{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid #2a2a2c;border-radius:13px;background:#111113;cursor:pointer;font-size:14px}
#v2-generative-ui .v2g-opt input{position:absolute;opacity:0;pointer-events:none}
#v2-generative-ui .v2g-opt.is-picked{border-color:#35cdbc;background:#35cdbc12;box-shadow:0 0 0 3px #35cdbc14}
#v2-generative-ui .v2g-swatch{width:30px;height:30px;flex:none;border-radius:9px;background:linear-gradient(140deg,var(--a),var(--b))}
#v2-generative-ui .v2g-opt b{display:block;font-weight:600}
#v2-generative-ui .v2g-opt small{display:block;color:#8c8d91;font-size:12px}
#v2-generative-ui .v2g-opt em{margin-left:auto;color:#71e0d4;font-size:11px;font-style:normal;font-weight:600;white-space:nowrap}
#v2-generative-ui .v2g-btn{min-height:40px;padding:0 16px;border:1px solid #333336;border-radius:11px;background:#18181a;color:#f7f7f5;font:650 13px 'DM Sans',sans-serif;cursor:pointer}
#v2-generative-ui .v2g-btn-main{border-color:#f5f4f1;background:#f5f4f1;color:#111}
#v2-generative-ui .v2g-btn-ghost{border-color:transparent;background:transparent;color:#a2a2a5}
#v2-generative-ui .v2g-options + .v2g-btn{margin-top:auto;width:100%}
#v2-generative-ui .v2g-options{margin-bottom:16px}

/* Chart */
#v2-generative-ui .v2g-kpi{display:flex;align-items:baseline;gap:12px;margin:-4px 0 16px}
#v2-generative-ui .v2g-kpi strong{font-size:38px;font-weight:600;letter-spacing:-.04em}
#v2-generative-ui .v2g-up{color:#71e0d4;font-size:13px;font-weight:600}
#v2-generative-ui .v2g-bars{display:grid;gap:10px}
#v2-generative-ui .v2g-bars div{display:grid;grid-template-columns:92px 1fr 48px;align-items:center;gap:10px;font-size:12.5px}
#v2-generative-ui .v2g-bars span{color:#c9cfcc}
#v2-generative-ui .v2g-bars i{height:10px;border-radius:5px;background:linear-gradient(90deg,#1e2a29,#1e2a29);overflow:hidden;position:relative}
#v2-generative-ui .v2g-bars i:after{content:'';position:absolute;inset:0;border-radius:5px;background:#35cdbc;transform:scaleX(var(--v));transform-origin:left;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
#v2-generative-ui .v2g-bars div:not(:first-child) i:after{background:#3d6f69}
#v2-generative-ui .v2g-card:not(.is-active) .v2g-bars i:after{transform:scaleX(.04)}
#v2-generative-ui .v2g-bars b{text-align:right;font-weight:600}

/* Table */
#v2-generative-ui .v2g-table{width:100%;border-collapse:collapse;font-size:13px}
#v2-generative-ui .v2g-table th{padding:0 6px 9px;color:#8c8d91;font-size:11.5px;font-weight:600;text-align:left}
#v2-generative-ui .v2g-table td{padding:10px 6px;border-top:1px solid #1f1f21;color:#c9cfcc}
#v2-generative-ui .v2g-table td:first-child{color:#8c8d91}
#v2-generative-ui .v2g-table th:nth-child(2),#v2-generative-ui .v2g-table td:nth-child(2){background:#35cdbc0d;color:#f7f7f5}
#v2-generative-ui .v2g-table th:nth-child(2){border-radius:8px 8px 0 0;color:#71e0d4}
#v2-generative-ui .v2g-table td.is-best{font-weight:650}

/* Approval */
#v2-generative-ui .v2g-change{display:flex;align-items:center;gap:14px;margin-bottom:16px}
#v2-generative-ui .v2g-change span{font-size:28px;font-weight:600;letter-spacing:-.03em;color:#8c8d91;text-decoration:line-through;text-decoration-thickness:1.5px}
#v2-generative-ui .v2g-change span.is-new{color:#f7f7f5;text-decoration:none}
#v2-generative-ui .v2g-change small{font-size:13px;font-weight:500}
#v2-generative-ui .v2g-change svg{width:28px}
#v2-generative-ui .v2g-stats{display:flex;gap:22px;margin:0}
#v2-generative-ui .v2g-stats dt{color:#8c8d91;font-size:11.5px}
#v2-generative-ui .v2g-stats dd{margin:2px 0 0;font-size:16px;font-weight:600}
#v2-generative-ui .v2g-actions{display:flex;gap:8px;margin-top:16px}
#v2-generative-ui .v2g-actions .v2g-btn-main{flex:1}

/* Timeline */
#v2-generative-ui .v2g-progress{margin-bottom:16px}
#v2-generative-ui .v2g-progress i{display:block;height:6px;border-radius:3px;background:#222224;position:relative;overflow:hidden}
#v2-generative-ui .v2g-progress i:after{content:'';position:absolute;inset:0;background:#35cdbc;transform:scaleX(var(--p));transform-origin:left;transition:transform 1s ease}
#v2-generative-ui .v2g-card:not(.is-active) .v2g-progress i:after{transform:scaleX(.05)}
#v2-generative-ui .v2g-progress span{display:block;margin-top:7px;color:#a2a2a5;font-size:12px}
#v2-generative-ui .v2g-timeline{position:relative;display:grid;gap:12px;margin:0;padding:0 0 0 22px;list-style:none}
#v2-generative-ui .v2g-timeline:before{content:'';position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:#2a2a2c}
#v2-generative-ui .v2g-timeline li{position:relative;display:flex;align-items:center;gap:12px;font-size:14px;color:#a2a2a5}
#v2-generative-ui .v2g-timeline li:before{content:'';position:absolute;left:-21px;width:10px;height:10px;border:2px solid #3a3a3d;border-radius:50%;background:#0c0c0d}
#v2-generative-ui .v2g-timeline li.is-done:before{border-color:#35cdbc;background:#35cdbc}
#v2-generative-ui .v2g-timeline li.is-now:before{border-color:#35cdbc;box-shadow:0 0 0 4px #35cdbc2a}
#v2-generative-ui .v2g-timeline li.is-done,#v2-generative-ui .v2g-timeline li.is-now{color:#f7f7f5}
#v2-generative-ui .v2g-timeline b{width:48px;flex:none;color:#8c8d91;font:600 11px/1 'JetBrains Mono',ui-monospace,monospace}
#v2-generative-ui .v2g-timeline em{margin-left:auto;padding:2px 8px;border-radius:6px;background:#35cdbc1f;color:#71e0d4;font-size:11px;font-style:normal;font-weight:700}

/* Controls */
#v2-generative-ui .v2g-controls{position:relative;z-index:2;display:flex;align-items:center;gap:14px;padding-left:4px}
#v2-generative-ui .v2g-arrow{display:grid;width:38px;height:38px;place-items:center;padding:0;border:1px solid #333336;border-radius:50%;background:#111113;color:#f7f7f5;cursor:pointer;transition:border-color .2s,opacity .2s}
#v2-generative-ui .v2g-arrow svg{width:18px;height:18px}
#v2-generative-ui .v2g-arrow:hover{border-color:#35cdbc}
#v2-generative-ui .v2g-arrow:disabled{opacity:.35;cursor:default}
#v2-generative-ui .v2g-arrow:focus-visible,#v2-generative-ui .v2g-dots button:focus-visible{outline:2px solid #35cdbc;outline-offset:3px}
#v2-generative-ui .v2g-dots{display:flex;gap:7px}
#v2-generative-ui .v2g-dots button{width:8px;height:8px;padding:0;border:0;border-radius:4px;background:#3a3a3d;cursor:pointer;transition:width .3s,background .3s}
#v2-generative-ui .v2g-dots button[aria-selected="true"]{width:24px;background:#35cdbc}

/* Phone: one card per view, full width, swipe. */
@media (max-width:640px){
  #v2-generative-ui .v2g-track{gap:12px;padding:6px 20px 48px;margin-bottom:-30px;scroll-padding-left:20px;scroll-snap-type:x mandatory;mask-image:none;-webkit-mask-image:none;margin-inline:-20px}
  #v2-generative-ui .v2g-card{width:calc(100vw - 52px);min-height:400px;padding:18px;scroll-snap-align:center;opacity:1;transform:none}
  #v2-generative-ui .v2g-controls{justify-content:center}
  #v2-generative-ui .v2g-arrow{display:none}
  #v2-generative-ui .v2g-bars div{grid-template-columns:84px 1fr 44px}
}
@media (prefers-reduced-motion:reduce){
  #v2-generative-ui *{animation:none!important;transition:none!important}
  #v2-generative-ui .v2g-card{opacity:1;transform:none}
  #v2-generative-ui .v2g-card:not(.is-active) .v2g-bars i:after{transform:scaleX(var(--v))}
  #v2-generative-ui .v2g-card:not(.is-active) .v2g-progress i:after{transform:scaleX(var(--p))}
}
