/* The same preparation workspace serves one document or a selected group. */
.quick-sign-home{max-width:1000px;margin:0 auto;overflow-wrap:anywhere}
.quick-sign-home header{max-width:650px;margin-bottom:24px}
.quick-sign-home h1{margin:6px 0 12px}
.quick-sign-home header p{margin:8px 0;line-height:1.5}
.quick-sign-home>.field{display:grid;gap:8px;margin-bottom:24px}
.quick-sign-home input[type=search]{min-height:48px;font-size:16px}
.quick-sign-files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.quick-sign-file{min-width:0;padding:24px;border:1px solid var(--border);border-radius:var(--radius-lg);
  background:var(--white);box-shadow:var(--shadow-panel);display:flex;flex-direction:column;gap:10px}
.quick-sign-file h2{font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.2;margin:0}
.quick-sign-file p{margin:0;line-height:1.5}
.quick-sign-file>.btn{margin-top:auto}
.quick-sign-file .btn{min-height:48px;white-space:normal;overflow-wrap:anywhere;text-align:center}
/* The start leads; saved packets fold under it, and "Open Signing"
   follows them rather than taking a second share of the card's free space. */
.quick-sign-file>.btn~.btn,.quick-sign-file>[data-quick-entity]+.btn{margin-top:0}
.quick-sign-file>[data-quick-entity]{margin-top:auto}
.quick-sign-file>[data-quick-party-limit]{padding:12px 14px;border:1px solid var(--border);
  border-left:3px solid var(--caution);border-radius:var(--radius);background:var(--cream)}
.quick-sign-saved>summary{min-height:var(--tap);display:flex;align-items:center;cursor:pointer;font-weight:600;
  list-style:none}
.quick-sign-saved>summary::-webkit-details-marker{display:none}
.quick-sign-saved>summary::after{content:'+';margin-left:auto;padding-left:12px;font-size:20px;font-weight:400;
  color:var(--stone)}
.quick-sign-saved[open]>summary::after{content:'−'}
.quick-sign-resumes{display:grid;gap:8px;margin:8px 0}
.quick-sign-resumes .btn{flex-direction:column;align-items:flex-start;text-align:left;gap:5px}
.quick-sign-resumes .btn span{font-size:12px;font-weight:400}
.quick-sign-archives{margin-top:24px}
.quick-sign-archives summary{min-height:44px;align-content:center;cursor:pointer;margin-bottom:12px}
.quick-sign-home :focus-visible{outline:2px solid var(--copper);outline-offset:3px}
.quick-sign-intro{margin:-8px 0 20px;color:var(--mid);font-size:14px;line-height:1.5}
.quick-sign-count{font-size:14px;font-weight:600;white-space:nowrap}
.document-work--quick .document-work-upload-start{margin:12px 0 0}
@media(max-width:650px){
  .quick-sign-files{grid-template-columns:1fr}
  .quick-sign-file{padding:20px}
  .quick-sign-file h2{font-size:26px}
  .document-work--quick .document-work-footer .quick-sign-count{flex-basis:100%;font-size:13px}
  .document-work--quick .backlink{margin-bottom:8px}
  #main .document-work--quick header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:14px}
  #main .document-work--quick h1{font-size:34px;margin:4px 0}
  .document-work--quick header p{font-size:13px;line-height:1.4}
  .document-work--quick .document-work-state{padding:7px 10px;font-size:11px;align-self:start;margin-top:22px}
  .document-work--quick .document-work-steps li{flex-direction:row;align-items:center;gap:6px;padding:8px 0;font-size:11px}
  .document-work--quick .document-work-steps li>span{width:24px;min-width:24px;height:24px;flex-basis:24px}
  .document-work--quick .document-work-search{margin-bottom:14px}
  .document-work--quick .document-work-search .btn:disabled{display:none}
}
.document-work{max-width:1160px;margin:0 auto;padding-bottom:24px}
.document-work .backlink{display:inline-flex;align-items:center;min-height:44px;margin-bottom:16px}
.document-work header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.document-work h1{margin:8px 0;font-size:44px}
.document-work h2{font:500 22px var(--sans);margin:0 0 16px}
.document-work header p{margin:0;color:var(--mid)}
.document-work-state{display:inline-flex;padding:9px 14px;border:1px solid var(--border);border-radius:30px;font-size:13px;white-space:nowrap}
.document-work-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;margin:0 0 24px}
.document-work-steps li{display:flex;align-items:center;gap:10px;min-width:0;padding:14px 8px;border-bottom:3px solid var(--border);color:var(--mid);font-size:14px}
.document-work-steps li[aria-current]{border-color:var(--forest);color:var(--forest);font-weight:500}
.document-work-steps li>span{display:grid;place-items:center;flex:0 0 28px;width:28px;min-width:28px;height:28px;border:1px solid var(--border);border-radius:50%}
.document-work-steps li[aria-current]>span{background:var(--forest);border-color:var(--forest);color:var(--ivory)}
.document-work-steps--copies{grid-template-columns:repeat(2,minmax(0,1fr))}
.document-work-upload-start{padding:20px;background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px}
.document-work-upload-start h2{margin:0 0 8px}
.document-work-upload-start p{margin:0 0 14px}
.document-work-upload-start>.hint:last-child{margin:12px 0 0;font-size:13px}
.document-work-upload-start .btn{min-width:180px}
.document-work .document-work-upload-start input[hidden]{display:none}
.document-work-packet-options{border-top:1px solid var(--border);margin-top:20px;padding-top:12px}
.document-work-earlier{margin:16px 0;border-top:1px solid var(--border)}
.document-work-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}
.document-work-main,.document-work-selected{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;min-width:0}
.document-work-selected{background:var(--cream);padding:20px}
.document-work-selected h2{display:flex;justify-content:space-between;gap:8px;font-size:18px}
.document-work-selected summary{font-weight:500;min-height:44px;font-size:17px}
.document-work-selected summary>span{float:right;margin-left:16px}
.document-work-selected ol{padding:0;list-style:none;margin:0}
.document-work-selected li{padding:16px 0;border-top:1px solid var(--border);overflow-wrap:anywhere}
.document-work-selected strong,.document-work-selected small{display:block}
.document-work-selected small{color:var(--mid);margin-top:4px}
.document-work-order{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.document-work label{display:block;font-size:15px}
.document-work input:not([type=checkbox]),.document-work select,.document-work textarea{display:block;width:100%;min-height:48px;margin:8px 0 18px;font-size:16px;box-sizing:border-box}
.document-work-title .hint{margin-left:8px}
.document-work-tabs{display:flex;gap:8px;margin:8px 0 20px;flex-wrap:wrap}
.document-work-tabs[hidden]{display:none}
.document-work-search{margin:0 0 22px}
.document-work-search>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.document-work .document-work-search input{flex:1 1 200px;min-width:0;margin:8px 0;
  padding:12px;border:1px solid var(--field-border);border-radius:var(--radius);
  background:var(--white);color:var(--charcoal);font-family:var(--sans)}
.document-work-search input:focus-visible{outline:2px solid var(--copper);outline-offset:2px}
.document-work-search .btn{flex:none}
.document-work-search .hint{margin:4px 0 0;font-size:13px}
.document-work-search-status{margin:0 0 20px;color:var(--mid);font-size:14px}
/* Where TRR work happens (audit X1): an explanation beside a TRR search, not
   a result, so it reads like the hints around it. */
.document-work-trr-note{margin:0 0 20px;padding:12px 14px;background:var(--cream);border-radius:8px}
.document-work-trr-note p{margin:0 0 10px;font-size:14px;line-height:1.5;color:var(--charcoal)}
.document-work-search-section:empty{display:none}
.document-work-search-section>h2{font-size:18px;margin:18px 0 12px}
.document-work-catalogue-count{margin:-8px 0 16px;color:var(--mid);font-size:14px}
.document-work .document-work-choice{display:flex;align-items:flex-start;gap:14px;padding:16px;margin:10px 0;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;min-height:60px;box-sizing:border-box}
.document-work-choice:hover{border-color:var(--forest);background:var(--cream)}
.document-work-choice input{flex:0 0 22px;width:22px;height:22px;margin:0;accent-color:var(--forest)}
.document-work-choice span{min-width:0;overflow-wrap:anywhere}
.document-work-choice strong,.document-work-choice small{display:block}
.document-work-choice small{margin-top:5px;color:var(--mid);line-height:1.5}
.document-work-choice:has(input:checked){border-color:var(--forest);background:var(--cream)}
.document-work-choice:has(input:disabled){cursor:default;opacity:.7}
.document-work-catalogue-more{margin-top:22px;border-top:1px solid var(--border)}
.document-work-catalogue-more>details{border-bottom:1px solid var(--border)}
.document-work-catalogue-more>details>summary{padding:12px 0;font-weight:600}
.document-work-catalogue-more>details>summary span{display:inline-grid;place-items:center;min-width:28px;height:28px;margin-left:8px;padding:0 8px;border-radius:20px;background:var(--cream);font-size:13px}
.document-work-catalogue-more ul{list-style:none;padding:0;margin:8px 0 14px}
.document-work-catalogue-more li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--border)}
.document-work-catalogue-more li>div{min-width:0;overflow-wrap:anywhere}
.document-work-catalogue-more strong,.document-work-catalogue-more small{display:block}
.document-work-catalogue-more small{margin-top:4px;color:var(--mid);line-height:1.4}
.document-work-catalogue-more .btn{flex:0 0 auto}
.document-work-supplied>h3{display:flex;align-items:center;gap:10px;font:600 17px/1.4 var(--sans);margin:20px 0 8px}
.document-work-supplied>h3>span{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:20px;background:var(--cream);font-size:13px}
.document-work-supplied>ul>li{margin:10px 0;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white)}
.document-work-supplied .btn{min-height:44px}
.document-work-library-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:10px;font-weight:600}
.document-work-add{padding-top:16px;border-top:1px solid var(--border);margin-top:20px}
.document-work summary{min-height:44px;display:list-item;align-content:center;cursor:pointer}
.document-work-docnav{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:24px}
.document-work-docnav span{text-align:center;font-size:13px;color:var(--mid)}
.document-work .btn{min-height:44px;white-space:normal;text-align:center}
.document-work [data-work-preview-status]{margin:18px 0 12px;font-size:14px}
.document-work-pdf{max-height:65vh;overflow:auto;overscroll-behavior:contain;min-width:0;background:var(--cream)}
.document-work-pdf canvas{max-width:100%;height:auto!important;display:block;margin:12px auto}
.document-work-pdf .pdfpage{max-width:100%;margin:0 auto}
.document-work-footer{position:sticky;bottom:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding:16px;background:var(--ivory);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.document-work-footer>div{display:flex;gap:8px;flex-wrap:wrap}
.document-work-discard{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0 0;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--cream)}
.document-work-discard p{margin:0;flex:1 1 240px}
.document-work-discard>div{display:flex;gap:8px;flex-wrap:wrap}
.document-work-footer .hint{max-width:260px;margin:0}
.document-work-error,.document-work-notice{padding:14px 16px;border-radius:var(--radius);overflow-wrap:anywhere;line-height:1.5}
.document-work-error{color:var(--warn);border:1px solid var(--warn);background:var(--white)}
.document-work-notice{color:var(--good);background:var(--cream)}
.document-work-error:empty,.document-work-notice:empty{display:none}
.document-work-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin:20px 0}
.document-work-entry h3{font:400 28px var(--serif);margin:0 0 8px}
.document-work-entry p{margin:0;max-width:580px}
.document-work-entry>.btn{min-height:44px}
.document-work-resume{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:10px;width:100%}
.document-work-resume a{display:flex;flex-direction:column;gap:5px;min-height:44px;padding:14px;background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;overflow-wrap:anywhere}
.document-work-resume span{font-size:13px;color:var(--mid)}
@media(max-width:760px){
  .document-work-layout{grid-template-columns:minmax(0,1fr);gap:16px}
  .document-work-selected{order:-1;padding:16px}
  .document-work-selected li{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .document-work-selected li>div:first-child{min-width:0}
  .document-work-order{flex:0 0 auto;margin:0}
  /* The empty packet panel above the picker pushed the choices off the first
     screen on the documents step; it follows the picker there and leads on
     the answer and review steps, where it is the map (Fable R-31). */
  .document-work-layout[data-step="documents"] .document-work-selected{order:1}
  .document-work-order .btn{padding:8px;min-width:var(--tap)}
  .document-work header{align-items:flex-start;flex-direction:column;gap:12px}
  .document-work h1{font-size:36px}
  .document-work-main{padding:18px}
  .document-work-upload-start{padding:16px}
  .document-work-upload-start .btn{width:100%;min-width:0}
  .document-work-steps{gap:6px;margin-bottom:16px}
  .document-work-steps li{flex-direction:column;align-items:flex-start;gap:8px;padding:10px 4px;font-size:12px}
  .document-work-docnav{flex-wrap:wrap}
  .document-work-docnav span{width:100%;order:-1}
  .document-work-docnav .btn{flex:1;font-size:13px;padding:8px}
  .document-work-footer{bottom:env(safe-area-inset-bottom);padding:12px;gap:8px;flex-wrap:wrap}
  .document-work-footer>div{flex:1}
  .document-work-footer>.btn{flex:1}
  .document-work-footer .hint{max-width:none;width:100%;font-size:12px}
  .document-work-entry{padding:18px}
  .document-work-entry>.btn{width:100%}
  .document-work-catalogue-more li{align-items:flex-start;flex-direction:column;gap:8px}
  .document-work-catalogue-more .btn{width:100%}
}
@media(max-width:380px){
  .document-work-selected li{display:block}
  .document-work-order{margin-top:8px}
  .document-work-tabs .btn{flex:1;padding:10px 8px;font-size:14px}
  .document-work-footer>div{flex-basis:100%}
  .document-work-footer>div>.btn{flex:1}
}
/* Quick Sign's checks, name fold and copy line (12 October 2026). A check
   that holds the primary says why at full width with its next step beside
   it; the hint under Prepare for signature takes the footer's whole width so
   the button's promise ("Nothing is sent.") is never squeezed beside it. */
.quick-sign-checks{display:grid;gap:10px;margin:0 0 14px}
.quick-sign-checks:empty{display:none}
.quick-sign-checks>.hint{margin:0}
.quick-sign-check{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;padding:12px 14px;
  border:1px solid var(--border);border-left:3px solid var(--caution);border-radius:var(--radius);
  background:var(--cream);overflow-wrap:anywhere}
.quick-sign-check p{flex:1 1 220px;margin:0;line-height:1.5}
/* A stop brought into view on arrival clears the sticky footer, which is up
   to about 150 px tall on a phone (third review, 13 October 2026).
   Its words take the focus; base.css rings a tabindex -1 element in the palette's copper. */
.quick-sign-check,.document-work-request.notice{scroll-margin-top:16px;scroll-margin-bottom:170px}
/* The same for the lock line under such a stop, and for the refusal said
   under "I checked every page of this copy.": at 320 by 568 both sat under
   the sticky footer (fifth review, 13 October 2026). */
[data-work-sent-lock],[data-work-sent-unknown],[data-quick-check-note],[data-work-conflict]{scroll-margin-top:16px;scroll-margin-bottom:170px}
/* And for what takes the keyboard on its own: the heading a step or Back
   focuses, and Check again after a check that still could not answer, each
   of which lay under the footer at 320 by 568 (seventh review). */
.document-work [data-work-heading],[data-work-sent-unknown] .btn{scroll-margin-top:16px;scroll-margin-bottom:170px}
.quick-sign-check .btn{min-height:var(--tap);flex:0 1 auto}
/* What became of a packet's request (third review, 13 October 2026): a line
   with its next step beside it in Quick Sign, and the same in Prepare
   documents, as a stop where the packet cannot be prepared now. */
.quick-sign-request-line,.document-work-request{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0}
.document-work-request{margin:0 0 14px}
.quick-sign-request-line p,.document-work-request p{flex:1 1 220px;margin:0;line-height:1.5;overflow-wrap:anywhere}
.quick-sign-request-line .btn,.document-work-request .btn{flex:0 1 auto}
.document-work-request.notice{padding:12px 14px;border:1px solid var(--border);border-left:3px solid var(--caution);
  border-radius:var(--radius);background:var(--cream)}
.quick-sign-name-fold{margin-top:16px}
.quick-sign-name-fold>summary{font-weight:600}
.quick-sign-files-as{margin:8px 0;overflow-wrap:anywhere}
.document-work-footer .quick-sign-primary-hint{flex-basis:100%;max-width:none;order:3}
.prepare-native { min-width: 0; scroll-margin-top: 20px; }
.document-work > [hidden], .prepare-native [hidden] { display: none !important; }
.prepare-native-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 24px; }
.prepare-native-header h2 { font-family: var(--serif); font-size: clamp(26px, 4vw, 38px); margin: 8px 0; overflow-wrap: anywhere; }
.prepare-native-card { border: 1px solid var(--border); border-radius: 16px; background: var(--white); padding: 24px; }
.prepare-native-card p { max-width: 64ch; }
.prepare-native-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.prepare-native .btn { min-height: 44px; white-space: normal; }
.prepare-native [data-native-error]:empty { display: none; }
@media (max-width: 860px) {
  .prepare-native { scroll-margin-top: 84px; }
}
@media (max-width: 600px) {
  .prepare-native-header { flex-direction: column; gap: 12px; }
  .prepare-native-card { padding: 16px; }
  .prepare-native-actions { flex-direction: column; }
  .prepare-native-actions .btn { width: 100%; }
}
