.kv-launch{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom) + var(--kv-keyboard,0px));z-index:24000;border:0;border-radius:28px;background:#145b48;color:#fff;padding:14px 22px;font-size:17px;font-weight:700;min-height:52px;box-shadow:0 4px 18px #14352a38;cursor:pointer}.kv-overlay[hidden]{display:none!important}.kv-overlay{position:fixed;inset:0;z-index:30000;background:#123029bd;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}.kv-dialog{background:white;border-radius:20px;padding:24px;width:min(640px,100%);box-sizing:border-box;max-height:calc(var(--kv-height,100dvh) - 32px);overflow:auto;overscroll-behavior:contain;touch-action:pan-y;color:#193c32;scroll-padding-block:20px}.kv-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.kv-dialog h2{font-size:24px;margin:0 0 8px}.kv-dialog p{font-size:15px;line-height:1.65;overflow-wrap:anywhere}.kv-dialog label{font-size:17px;font-weight:700}.kv-dialog textarea,.kv-dialog select{display:block;width:100%;box-sizing:border-box;font:inherit;font-size:18px;min-height:50px;padding:12px;border:1px solid #bacfc3;border-radius:10px;margin:10px 0;line-height:1.65}.kv-dialog textarea{resize:vertical}.kv-dialog button{font:inherit;font-size:17px;min-height:48px;border:1px solid #bdd3c7;background:#eff7f2;color:#164c3d;border-radius:10px;padding:12px 16px;cursor:pointer}.kv-dialog button:disabled{opacity:.55;cursor:default}.kv-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.kv-actions button{flex:1}.kv-dialog .kv-check{display:flex;gap:10px;align-items:flex-start;font-size:15px;font-weight:500;line-height:1.6;margin:12px 0}.kv-check input{width:24px;height:24px;flex-shrink:0}.kv-privacy summary{min-height:44px;padding-top:10px;cursor:pointer}.kv-examples,.kv-note{padding:14px;background:#edf5f0;border-radius:10px}.kv-change{padding:16px;border:1px solid #cbded2;border-radius:12px;margin:12px 0}.kv-change p:last-child{font-weight:700;color:#145b48}.kv-dialog #kv-apply{width:100%;background:#145b48;color:#fff}.kv-dialog :focus-visible{outline:3px solid #62af90;outline-offset:3px}@media(max-width:600px){.kv-dialog{padding:18px}.kv-dialog h2{font-size:22px}.kv-dialog .kv-actions{display:grid;grid-template-columns:1fr}.kv-launch{right:12px;bottom:calc(12px + env(safe-area-inset-bottom) + var(--kv-keyboard,0px))}.kv-overlay{align-items:flex-start;padding-top:max(16px,env(safe-area-inset-top))}body [role="dialog"][aria-modal="true"]{scroll-padding-bottom:90px}body [role="dialog"][aria-modal="true"]:not(.kv-dialog){padding-bottom:88px!important}body .kv-dialog{max-height:calc(var(--kv-height,100dvh) - 32px)!important}}
@media print{.kv-launch,.kv-overlay{display:none!important}}

#kv-record-controls{position:sticky;bottom:0;background:white;padding:10px 0;z-index:2;border-top:1px solid #deebe4}#kv-text:disabled{opacity:1;color:#173f31;background:#f4faf6}


.kv-highlight{outline:4px solid #e3b35e!important;outline-offset:5px}

.kv-dialog header p{margin:0}.kv-dialog .kv-check{flex-wrap:wrap}.kv-check small{font-size:12px}.kv-dialog #kv-listen{width:100%;background:#145b48;color:white}.kv-examples{margin:12px 0;padding:10px}.kv-options summary{font-size:15px;min-height:44px;padding-top:8px;cursor:pointer}#kv-record-controls{display:grid;grid-template-columns:1fr 1fr!important}#kv-record-controls button{padding:10px 6px}.kv-dialog .kv-note{font-size:13px}

.kv-result[hidden]{display:none!important}.kv-result{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(88px + env(safe-area-inset-bottom));z-index:30001;max-width:min(560px,calc(100vw - 32px));box-sizing:border-box;padding:16px 20px;background:#143e31;color:white;border-radius:14px;box-shadow:0 4px 20px #0003;font-size:17px;line-height:1.6;overflow-wrap:anywhere}@media print{.kv-result{display:none!important}}

.kv-field-choices{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.kv-field-choices button{padding:10px 14px}.kv-dialog #kv-keyboard{width:100%;margin-bottom:10px}.kv-dialog #kv-browser-help{padding:12px;background:#fff4d9;border-radius:10px;line-height:1.6;font-size:15px}.kv-dialog #kv-browser-help[hidden]{display:none!important}

/* v99: non-modal voice dock. Page inputs remain visible and clickable. */
.kv-overlay{inset:auto 0 0;display:flex;align-items:flex-end;justify-content:center;background:transparent;padding:8px;pointer-events:none}
.kv-dialog{pointer-events:auto;width:min(760px,100%);padding:12px 16px;border:1px solid #bed2c7;box-shadow:0 -6px 26px #153b3033;border-radius:18px;max-height:42dvh!important;scroll-padding-block:8px}
.kv-dialog header{align-items:center}.kv-dialog h2{font-size:17px;margin:0}.kv-dialog header p{font-size:13px}.kv-dialog #kv-close{min-height:36px;padding:4px 12px}
.kv-dialog #kv-status{font-size:14px;margin:5px 0}.kv-text-label{display:none}.kv-dialog #kv-text{font-size:17px;min-height:52px;height:58px;resize:vertical;margin:6px 0;padding:7px 10px;line-height:1.35}
.kv-dialog .kv-check{margin:4px 0;font-size:13px}.kv-dialog .kv-check input{width:20px;height:20px}.kv-dialog .kv-actions{margin:6px 0}
.kv-dialog #kv-record-controls{position:static;border:0;padding:0;display:grid;grid-template-columns:1.1fr 1fr 1fr!important;gap:6px}.kv-dialog #kv-record-controls button{min-height:46px;font-size:15px;padding:8px 4px;margin:0;width:auto}
.kv-dialog .kv-options summary{min-height:30px;padding:6px 0;font-size:13px}.kv-dialog .kv-change{margin:6px 0;padding:9px}.kv-change p{margin:4px 0}.kv-dialog #kv-listen[aria-pressed=true]{background:#b83f35}
body.kv-open .kv-launch{display:none}body.kv-open [role=dialog][aria-modal=true]{padding-bottom:270px!important}
.kv-recording .kv-check,.kv-recording .kv-options{display:none}.kv-recording .kv-dialog{max-height:240px!important}.kv-result{bottom:calc(90px + env(safe-area-inset-bottom))}
@media(max-width:600px){.kv-overlay{align-items:flex-end;padding:6px;padding-top:0}.kv-dialog{padding:10px 12px;max-height:42dvh!important}.kv-dialog header p{max-width:78vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kv-dialog #kv-record-controls button{font-size:14px}.kv-dialog h2{font-size:16px}}

.kv-overlay{bottom:var(--kv-keyboard,0px)}.kv-dialog{max-height:min(42dvh,calc(var(--kv-height,100dvh) - 12px))!important}.kv-recording .kv-dialog{max-height:min(240px,calc(var(--kv-height,100dvh) - 12px))!important}

.kv-dialog header>div{display:flex;align-items:center;gap:10px;min-width:0}.kv-dialog header p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kv-recording #kv-send{display:none}.kv-recording #kv-record-controls{grid-template-columns:1.15fr 1fr!important}

.kv-mode select{width:100%;font-size:14px;padding:7px;border:1px solid #b9cfca;border-radius:8px}.kv-recording .kv-mode{display:none}.kv-consent-label{font-size:12px}

#kv-mic-info{display:block;font-size:12px;color:#a12d24;font-weight:700;margin-top:3px}#kv-mic-info[hidden]{display:none}.kv-edit-help{font-size:13px;line-height:1.6;color:#385952}

/* v103: recording occupies one toolbar, leaving the form available. */
.kv-recording .kv-dialog{position:relative;display:flex;align-items:center;gap:10px;padding:8px 44px 8px 12px;max-height:82px!important;min-height:64px;overflow:hidden;border-radius:14px}
.kv-recording .kv-dialog header{flex:1;min-width:0}
.kv-recording .kv-dialog header>div{display:block;min-width:0}
.kv-recording .kv-dialog h2{display:none}
.kv-recording .kv-dialog header p{display:block;max-width:none;font-size:14px;font-weight:700}
.kv-recording #kv-mic-info{font-size:12px;white-space:nowrap}
.kv-recording #kv-close{position:absolute;right:5px;top:50%;transform:translateY(-50%);min-width:32px;min-height:44px;padding:4px 8px}
.kv-recording #kv-status,.kv-recording #kv-text,.kv-recording #kv-browser-help,.kv-recording #kv-changes,.kv-recording #kv-apply{display:none!important}
.kv-recording #kv-record-controls{display:flex!important;flex:0 0 auto;margin:0;gap:0}
.kv-recording #kv-listen,.kv-recording #kv-send{display:none!important}
.kv-recording #kv-stop{min-width:88px;min-height:46px;background:#145b48;color:white;padding:8px!important;font-size:14px}
body.kv-open:has(.kv-recording) [role=dialog][aria-modal=true]{padding-bottom:100px!important}

.kv-customer-draft label{display:block;font-size:14px;margin:10px 0}.kv-customer-draft input{box-sizing:border-box;width:100%;min-height:46px;border:1px solid #b9cfca;border-radius:8px;padding:8px;font:inherit;font-size:17px}.kv-customer-draft p{font-size:14px}.kv-customer-draft select{font-size:15px}
