/* Shared by owner and driver; customer initial load does not include this file. */
.request-agreement { width:min(680px, calc(100% - 24px)); max-height:90dvh; box-sizing:border-box; padding:24px; border:1px solid var(--line); border-radius:12px; background:var(--paper-bg, #fffdf8); color:var(--ink); font-size:1rem; line-height:1.6; overflow:auto; }
.request-agreement::backdrop { background:rgba(0,0,0,.45); }
.request-agreement header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; position:sticky; top:-24px; padding-block:12px; background:var(--paper-bg, #fffdf8); z-index:1; }
.request-agreement h2 { margin:0; font-size:1.25rem; line-height:1.4; }
.request-agreement p, .request-pack p { overflow-wrap:anywhere; }
.request-agreement fieldset { border:0; margin:0; padding:0; min-width:0; }
.request-agreement label { display:block; margin:18px 0 6px; font-weight:700; }
.request-agreement input:not([type=checkbox]), .request-agreement textarea, .request-agreement select { display:block; width:100%; box-sizing:border-box; padding:10px; min-height:44px; font:inherit; background:var(--paper, #fff); color:var(--ink); border:1px solid var(--line); border-radius:8px; }
.request-agreement textarea { resize:vertical; }
.request-agreement .agreement-consent { display:flex; align-items:flex-start; gap:12px; font-weight:500; }
.request-agreement input[type=checkbox] { width:24px; height:24px; margin:4px 0; flex-shrink:0; }
.request-agreement .btn { min-height:44px; white-space:normal; }
.request-agreement .btn-row { display:flex; flex-wrap:wrap; gap:10px; }
.request-agreement .btn-row .btn { flex:1 1 240px; }
.request-agreement summary { min-height:44px; padding-block:10px; cursor:pointer; }
.request-agreement #agreementError { color:var(--owner-error, #a12736); }
.request-agreement :focus-visible { outline:3px solid var(--green, #1f6a43); outline-offset:3px; }
.request-pack { padding-block:14px; border-bottom:1px solid var(--line); font-size:1rem; line-height:1.6; }
.request-pack h4 { margin:0 0 10px; }
@media (max-width:600px) { .request-agreement { padding:16px; } .request-agreement header { flex-wrap:wrap; top:-16px; } }
