/* approval-card.css - Talk To Gina motion kit */
.gm{--gm-surface:var(--bone-50,#FBF8F2);--gm-surface-2:var(--bone-100,#F7F3EC);--gm-line:var(--bone-border,#E4DDD3);--gm-text:var(--text-on-light,#14181F);--gm-mut:var(--text-on-light-mut,#55606E);--gm-blue:var(--cobalt-600,#1D4ED8);--gm-blue-2:var(--cobalt-700,#1740B0);--gm-blue-3:var(--cobalt-300,#7CA0F0);--gm-blue-soft:var(--cobalt-50,#EEF3FF);--gm-ok:var(--signal-approved,#0E9F6E);--gm-ok-soft:rgba(14,159,110,.12);--gm-wait:var(--signal-waiting,#C2740A);--gm-shadow:0 8px 30px rgba(11,14,20,.12);--gm-ease:cubic-bezier(.16,1,.3,1);--gm-soft:cubic-bezier(.4,0,.2,1);--gm-mono:var(--font-mono,'Geist Mono',ui-monospace,monospace);position:relative;width:100%;font-family:var(--font-body,'Outfit',system-ui,-apple-system,sans-serif);color:var(--gm-text);line-height:1.45;-webkit-font-smoothing:antialiased}.gm[data-theme=ink]{--gm-surface:var(--ink-700,#141A24);--gm-surface-2:var(--ink-800,#0D1117);--gm-line:var(--ink-600,#1E2530);--gm-text:var(--text-on-dark,#F4F6FA);--gm-mut:var(--text-on-dark-mut,#A6AEBD);--gm-blue-soft:rgba(124,160,240,.13);--gm-ok-soft:rgba(14,159,110,.2);--gm-shadow:0 12px 40px rgba(0,0,0,.35)}.gm *,.gm *::before,.gm *::after{box-sizing:border-box}.gm-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.gm-av{flex:none;display:inline-grid;place-items:center;width:2em;height:2em;border-radius:.6em;font-weight:700;font-size:1em;color:#fff;background:var(--gm-mut)}.gm-av--gina{background:linear-gradient(135deg,var(--gm-blue),var(--gm-blue-2))}.gm-btn{display:inline-flex;align-items:center;gap:.4em;font-weight:600;font-size:.86em;line-height:1;font-family:inherit;cursor:default;padding:.62em 1.05em;border-radius:999px;border:1px solid var(--gm-line);background:transparent;color:var(--gm-text);transition:transform .15s var(--gm-soft),background .2s,box-shadow .2s,border-color .2s}.gm-btn--p{background:var(--gm-blue);border-color:var(--gm-blue);color:#fff}.gm-btn.is-press{transform:scale(.93);box-shadow:0 0 0 5px color-mix(in srgb,var(--gm-blue) 22%,transparent)}.gm-wave{display:inline-block;width:1.9em;height:.9em;vertical-align:middle;color:var(--gm-blue)}.gm-wave path{stroke-dasharray:40;animation:gm-wave 1.1s linear infinite}@keyframes gm-wave{from{stroke-dashoffset:80}to{stroke-dashoffset:0}}.gm-dots{display:inline-flex;gap:3px;vertical-align:middle}.gm-dots i{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.35;animation:gm-dot 1s infinite}.gm-dots i:nth-child(2){animation-delay:.15s}.gm-dots i:nth-child(3){animation-delay:.3s}@keyframes gm-dot{30%{opacity:1;transform:translateY(-2px)}}.gm-paused,.gm-paused *,.gm-paused *::before,.gm-paused *::after{animation-play-state:paused!important}.gm-static *,.gm-static *::before,.gm-static *::after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.gm *,.gm *::before,.gm *::after{transition:none!important;animation:none!important}}
/* 2. Nothing goes live without you */
.gm-approve{container-type:inline-size;max-width:560px;margin-inline:auto;font-size:15px}
.gm .gm-alt{margin:0;color:var(--gm-mut)}
.gm.gm-ready .gm-alt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ap-stage{position:relative;display:grid;padding:2.4em 1.2em 1em .4em}
.ap-card{grid-area:1/1;align-self:end;background:var(--gm-surface);border:1px solid var(--gm-line);border-radius:18px;box-shadow:var(--gm-shadow);padding:1.25em 1.35em 1.3em;opacity:0;transform:translateY(34px) scale(.98);transition:transform .7s var(--gm-ease),opacity .5s var(--gm-soft);position:relative}
.ap-card.in{opacity:1;transform:none}
.ap-card.back{opacity:.6;transform:translateY(-1.9em) scale(.93);transition-duration:.8s}
.ap-card.back2{opacity:0;transform:translateY(-3.4em) scale(.86)}
.ap-card.out{opacity:0;transform:translateY(-10px)}
.ap-top{display:flex;align-items:center;justify-content:space-between;gap:1em;margin-bottom:.9em}
.ap-status{display:inline-flex;align-items:center;gap:.45em;font-size:.76em;font-weight:600;padding:.34em .8em;border-radius:999px;background:rgba(194,116,10,.12);color:var(--gm-wait);transition:background .35s,color .35s}
.ap-status i{width:.5em;height:.5em;border-radius:50%;background:currentColor}
.ap-status.is-sent{background:var(--gm-ok-soft);color:var(--gm-ok)}
.ap-top time{font-family:var(--gm-mono);font-size:.74em;color:var(--gm-mut)}
.ap-from{display:flex;align-items:center;gap:.6em;font-size:.8em;color:var(--gm-mut);margin-bottom:.35em}
.ap-from .gm-av{font-size:.78em}
.ap-card h3{margin:0 0 .7em;font-size:1.22em;font-weight:700;letter-spacing:-.012em;line-height:1.2}
.ap-body{font-size:.93em;line-height:1.55;border-radius:10px;padding:.7em .85em;margin:0 -.1em 1.1em;background:var(--gm-surface-2);border:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.ap-body.is-edit{border-color:var(--gm-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--gm-blue) 15%,transparent)}
.ap-body ul{margin:0;padding:0;list-style:none;display:grid;gap:.35em}
.ap-body li{display:flex;gap:.55em;align-items:baseline}
.ap-body li::before{content:"";flex:none;width:.4em;height:.4em;border-radius:2px;background:var(--gm-blue);transform:translateY(-.1em)}
.ap-body p{margin:0}
.ap-old{border-radius:3px;transition:background .25s,color .25s}
.ap-old.is-sel{background:color-mix(in srgb,var(--gm-blue) 22%,transparent)}
.ap-old.is-gone{display:none}
.ap-new{color:var(--gm-blue);font-weight:500}
.gm[data-theme=ink] .ap-new{color:var(--gm-blue-3)}
.ap-caret{display:none;width:2px;height:1.1em;background:var(--gm-blue);vertical-align:text-bottom;margin-left:1px;animation:ap-blink 1s steps(1) infinite}
.is-edit .ap-caret{display:inline-block}
@keyframes ap-blink{50%{opacity:0}}
.ap-edited{display:inline-block;font-size:.72em;font-weight:600;color:var(--gm-blue);margin-left:.5em;opacity:0;transition:opacity .3s}
.gm[data-theme=ink] .ap-edited{color:var(--gm-blue-3)}
.ap-edited.on{opacity:1}
.ap-actions{display:flex;flex-wrap:wrap;gap:.5em;align-items:center;min-height:2.6em}
.ap-actions .gm-btn{font-size:.9em}
.ap-actions .is-ok{background:var(--gm-ok);border-color:var(--gm-ok)}
.ap-actions .gm-btn svg{width:1.05em;height:1.05em}
.ap-sent{display:none;align-items:center;gap:.5em;font-size:.88em;color:var(--gm-mut)}
.ap-card.is-sent .ap-actions .gm-btn{display:none}
.ap-card.is-sent .ap-sent{display:inline-flex}
.ap-stamp{position:absolute;right:-.9em;top:-.9em;width:3em;height:3em;border-radius:50%;background:var(--gm-ok);color:#fff;display:grid;place-items:center;opacity:0;transform:scale(1.7) rotate(-14deg);transition:transform .5s cubic-bezier(.3,1.5,.5,1),opacity .2s;box-shadow:0 8px 22px rgba(14,159,110,.35)}
.ap-stamp svg{width:1.7em;height:1.7em}
.ap-stamp path{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .35s .15s ease-out}
.ap-card.is-ok .ap-stamp{opacity:1;transform:none}
.ap-card.is-ok .ap-stamp path{stroke-dashoffset:0}
.ap-cursor{position:absolute;left:0;top:0;width:22px;height:22px;z-index:3;opacity:0;pointer-events:none;transition:transform .9s cubic-bezier(.45,0,.2,1),opacity .3s;filter:drop-shadow(0 2px 4px rgba(11,14,20,.3))}
.ap-cursor.on{opacity:1}
.ap-cursor.tap{scale:.86;transition:transform .9s cubic-bezier(.45,0,.2,1),opacity .3s,scale .12s}
@container (max-width:420px){.gm-approve .ap-card{padding:1.05em 1em 1.1em}.gm-approve .ap-stage{font-size:14px;padding-inline:0 .9em}.gm-approve .ap-stamp{top:-.7em;right:-.4em;width:2.6em;height:2.6em}}
.ap-card.back .ap-stamp,.ap-card.back2 .ap-stamp{opacity:0}
/* reserve height before the script mounts (no layout shift) */
.gm-approve:not(.gm-ready){min-height:337px}
@media (max-width:700px){.gm-approve:not(.gm-ready){min-height:325px}}
.ap-card.is-ok .ap-top time{opacity:0}
