.approval-dock {
  position: absolute;
  z-index: 18;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px clamp(10px, 3.2vw, 24px) calc(var(--composer-inset, 116px) - 2px);
  pointer-events: none;
  overflow: hidden;
}
.approval-dock[hidden] { display: none; }
.approval-dock::before { content: ""; position: absolute; inset: 30% 0 0; background: linear-gradient(to bottom, transparent, color-mix(in srgb, var(--bg) 48%, transparent) 52%, color-mix(in srgb, var(--bg) 82%, transparent)); pointer-events: none; }
.approval-dock-panel { position: relative; width: min(100%, 680px); max-height: min(72dvh, 720px); pointer-events: auto; animation: approval-sheet-rise .34s cubic-bezier(.2, .82, .25, 1) both; }
.approval-dock .approval-card,.approval-dock .approval-card.accepted { width: 100% !important; max-height: inherit; margin: 0 !important; padding: 9px 18px 16px !important; overflow: hidden; color: #1f1f1c !important; border: 1px solid rgba(54,51,45,.08) !important; border-radius: 28px !important; background: #fff !important; box-shadow: 0 18px 58px rgba(35,31,25,.16),inset 0 1px 0 rgba(255,255,255,.9) !important; -webkit-backdrop-filter:none!important;backdrop-filter:none!important;animation: none !important; }
.approval-dock .approval-card::before { display: none; }
.approval-sheet-grabber { width: 38px; height: 4px; margin: 0 auto 10px; border-radius: 999px; background: #dedbd5; }
.approval-dock .approval-card>header { display:flex!important;align-items:center;justify-content:space-between;gap:14px;padding:0 2px 11px;border-bottom:1px solid #efede9 }
.approval-dock .approval-card>header>div{display:grid;gap:2px}.approval-dock .approval-card header small{color:#8c8880!important;font-size:9px;font-weight:720;letter-spacing:.12em}.approval-dock .approval-card header strong{color:#20201d!important;font-size:18px;font-weight:640;letter-spacing:-.02em}.approval-dock .approval-card header>b{min-width:44px;padding:7px 10px;color:#68645e!important;border-radius:999px;background:#f2f0ec!important;font-size:10px;text-align:center}
.approval-dock .approval-structured-form{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:0;margin-top:0}.approval-carousel{display:flex;width:calc(100% + 36px);margin-inline:-18px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;touch-action:pan-x pan-y;isolation:isolate;contain:layout paint;background:#fff;transform:translateZ(0);backface-visibility:hidden}.approval-carousel::-webkit-scrollbar{display:none}
.approval-dock .approval-question{flex:0 0 100%;width:100%;min-width:100%;max-height:min(51dvh,520px);padding:18px 18px 8px!important;overflow-y:auto;scroll-snap-align:start;scroll-snap-stop:always;border:0!important;border-radius:0!important;color:#24231f!important;background:#fff!important;backface-visibility:hidden}.approval-dock .approval-question legend{width:100%;padding:0;color:#77736c!important;font-size:12px;font-weight:520}.approval-dock .approval-question>p{margin:5px 0 15px;color:#24231f!important;font-size:16px;font-weight:590;line-height:1.45}.approval-dock .approval-question.needs-answer{animation:approval-answer-nudge .32s ease}
.approval-dock .approval-choice-grid{display:grid;gap:0}.approval-dock .approval-choice-grid>label{min-height:66px;display:grid;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:8px;padding:11px 2px;border-bottom:1px solid #efede9;border-radius:0;color:#262520!important;background:transparent!important}.approval-dock .approval-choice-grid input[type=radio]{width:21px;height:21px;margin:0;accent-color:#20201d}.approval-dock .approval-choice-grid span{gap:3px}.approval-dock .approval-choice-grid b{color:#262520!important;font-size:14px;font-weight:560}.approval-dock .approval-choice-grid small{color:#817d75!important;font-size:11px;line-height:1.4}.approval-dock .approval-other-wrap{padding:10px 0 3px}
.approval-dock .approval-text-input,.approval-dock .approval-other-input,.approval-dock .approval-schema-field>input,.approval-dock .approval-schema-field>select{min-height:52px;padding:12px 14px;color:#272622!important;border:1px solid #e5e2dc!important;border-radius:14px;background:#f4f3f0!important;font-size:14px;outline:none}.approval-dock input:focus,.approval-dock select:focus{border-color:#a8a39a!important;box-shadow:0 0 0 3px rgba(59,56,51,.07)}
.approval-dock .approval-evidence{margin:0 0 12px;border:1px solid #ebe8e2!important;border-radius:14px;background:#f7f6f3!important}.approval-dock .approval-evidence>div{background:transparent!important}.approval-dock .approval-evidence span{color:#8b877f!important}.approval-dock .approval-evidence code{color:#484640!important;background:transparent!important}
.approval-carousel-actions{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding-top:12px;border-top:1px solid #efede9}.approval-carousel-actions button{min-height:44px;padding:0 17px;border:0;border-radius:999px;font-size:13px;font-weight:650}.approval-back{width:44px;padding:0!important;color:#5f5b54;background:#f1efeb}.approval-back[hidden],.approval-next[hidden],.approval-submit[hidden]{display:none}.approval-next,.approval-submit{color:#fff;background:#24231f}.approval-submit{min-width:92px}.approval-dots{display:flex;justify-content:center;gap:5px}.approval-dots i{width:6px;height:6px;border-radius:999px;background:#d7d3cc;transition:width .2s ease,background .2s ease}.approval-dots i.active{width:18px;background:#4b4842}
.approval-dock .approval-form-actions{grid-template-columns:minmax(0,1fr) auto;padding-top:12px;border-top:1px solid #efede9}.approval-dock .approval-form-actions button{color:#fff!important;background:#24231f!important;border-radius:999px}.approval-dock .approval-form-actions button.secondary{color:#615d56!important;background:#f1efeb!important}.approval-dock.submitting .approval-dock-panel{opacity:.68}body.approval-dock-open .composer-wrap{opacity:.38;pointer-events:none;transition:opacity .2s ease}
@keyframes approval-sheet-rise{from{opacity:0;transform:translateY(34px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes approval-answer-nudge{0%,100%{transform:translateX(0)}35%{transform:translateX(5px)}70%{transform:translateX(-4px)}}
@media(max-width:480px){.approval-dock{padding-inline:8px}.approval-dock-panel{max-height:70dvh}.approval-dock .approval-card{padding-inline:15px!important;border-radius:25px!important}.approval-carousel{width:calc(100% + 30px);margin-inline:-15px}.approval-dock .approval-question{padding-inline:15px!important}}
@media(max-height:560px) and (orientation:landscape){.approval-dock{padding:8px}.approval-dock-panel{max-height:calc(100dvh - 16px)}.approval-dock .approval-question{max-height:calc(100dvh - 145px)}body.approval-dock-open .composer-wrap{opacity:0}}
:root[data-theme=dark] .approval-dock::before{background:linear-gradient(to bottom,transparent,rgba(31,31,28,.55) 52%,rgba(31,31,28,.88))}:root[data-theme=dark] .approval-dock .approval-card{color:#ece9e2!important;border-color:#454139!important;background:#2b2a26!important;box-shadow:0 20px 64px rgba(0,0,0,.38)!important}:root[data-theme=dark] .approval-dock .approval-card>header,:root[data-theme=dark] .approval-dock .approval-choice-grid>label,:root[data-theme=dark] .approval-carousel-actions,:root[data-theme=dark] .approval-dock .approval-form-actions{border-color:#454139}:root[data-theme=dark] .approval-dock .approval-card header strong,:root[data-theme=dark] .approval-dock .approval-question>p,:root[data-theme=dark] .approval-dock .approval-choice-grid b{color:#ece9e2!important}:root[data-theme=dark] .approval-dock .approval-question legend,:root[data-theme=dark] .approval-dock .approval-choice-grid small{color:#aaa69d!important}:root[data-theme=dark] .approval-carousel,:root[data-theme=dark] .approval-dock .approval-question{background:#2b2a26!important}:root[data-theme=dark] .approval-dock .approval-choice-grid>label{background:transparent!important}:root[data-theme=dark] .approval-dock .approval-text-input,:root[data-theme=dark] .approval-dock .approval-other-input{color:#ece9e2!important;border-color:#514d45!important;background:#35332e!important}:root[data-theme=dark] .approval-dock .approval-evidence{border-color:#4b4740!important;background:#33312c!important}:root[data-theme=dark] .approval-dock .approval-evidence code{color:#d0cdc5!important}
@media(prefers-reduced-motion:reduce){.approval-dock-panel{animation:none}.approval-dots i{transition:none}}
