:root{--ink:#15324c;--muted:#4b6175;--nav:#102e49;--blue:#15538a;--blue-deep:#103e69;--paper:#fff;--bg:#f3f6f9;--stroke:#d6dfe6;--border:#8799a8;--focus:#b25703;--danger:#8a2426;--soft:#eaf3f8;--teal:#136051;--gold:#efbd75;color-scheme:light;font:16px/1.55 "Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--bg)}
*,*::before,*::after{box-sizing:border-box}
body,h1,h2,h3,p,ul,ol,fieldset{margin:0}
body{min-width:275px}
button,input,select,textarea{font:inherit;color:inherit}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:7px;min-height:44px;background:var(--blue);color:white;font-weight:650;font-size:.94rem;padding:.62rem 1rem;cursor:pointer;text-decoration:none;text-align:center}
button:hover,.button:hover{background:var(--blue-deep)}
button:disabled{cursor:wait;opacity:.65}
.secondary{background:white;color:var(--blue);border-color:var(--border)}
.secondary:hover{background:#edf4f8}
.text-btn{background:transparent;color:var(--blue);padding-inline:.4rem}
.text-btn:hover{background:var(--soft)}
.text-btn.danger{color:var(--danger)}
.inverse{background:transparent;border-color:#7f9aaf;color:#fff}
.inverse:hover{background:#284964}
.skip{position:absolute;left:1rem;top:-5rem;z-index:12;background:#fff;padding:.65rem 1rem;color:var(--ink)}
.skip:focus{top:1rem}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
h1,h2,h3,legend{line-height:1.18;letter-spacing:-.035em}
h1{font-size:clamp(1.9rem,3.2vw,2.65rem);font-weight:700}
h2{font-size:1.36rem}h3,legend{font-size:1.03rem;font-weight:690}
.muted,.fine{color:var(--muted)}.fine,small{font-size:.84rem}.fine{line-height:1.45}
.eyebrow{display:block;font-size:.74rem;line-height:1.5;font-weight:720;letter-spacing:.11em;text-transform:uppercase;color:#456378}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.initial{margin:3rem auto;max-width:30rem;padding-inline:1rem}
.auth{min-height:100svh;display:grid;grid-template-columns:minmax(330px,.9fr) minmax(420px,1.1fr)}
.auth-brand{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#0d2943 0%,#123753 70%,#174460 100%);color:#fff;min-height:100%;padding:clamp(2rem,5.2vw,5rem);display:flex;flex-direction:column;justify-content:space-between;gap:clamp(2rem,8vh,6rem)}
.auth-brand::after{content:"";position:absolute;width:600px;height:600px;right:-410px;bottom:-270px;border:1px solid #5886a1;border-radius:50%;box-shadow:0 0 0 32px #ffffff06,0 0 0 64px #ffffff06,0 0 0 96px #ffffff06,0 0 0 128px #ffffff06;z-index:-1}
.auth-logo{width:clamp(170px,17vw,230px);margin-left:-7px;height:auto;display:block}
.brand-copy{max-width:28rem}
.brand-copy .eyebrow{color:#b7d9e5;display:flex;align-items:center;gap:.6rem}
.brand-copy .eyebrow::before{content:"";width:30px;height:2px;background:var(--gold)}
.brand-title{font-size:clamp(2.35rem,4.6vw,4.65rem);font-weight:650;line-height:1.03;letter-spacing:-.055em;margin:.9rem 0 1rem}
.brand-desc{color:#d9e7f0;max-width:26rem;font-size:1.05rem;line-height:1.6}
.brand-foot{color:#c6d9e5;font-size:.85rem}
.auth-body{display:grid;align-items:center;justify-items:center;padding:clamp(1.4rem,5vw,5.5rem) 1.5rem;background:#fbfcfd}
.auth-form{max-width:25.5rem;width:100%}
.auth-form h1{margin:.35rem 0 .65rem}
.auth-form form{display:grid;gap:1rem;margin-top:1.8rem}
.auth-form button.primary{width:100%;min-height:48px}
.auth-help{border-top:1px solid var(--stroke);padding-top:1.1rem;margin-top:1.65rem;color:var(--muted);font-size:.92rem}
.field{display:grid;gap:.35rem;min-width:0}
.field label,.field-label{font-size:.9rem;font-weight:650}
input,select,textarea{width:100%;min-width:0;border:1px solid var(--border);border-radius:6px;background:white;padding:.64rem .75rem;min-height:44px}
textarea{resize:vertical}input[type=file]{font-size:.89rem}
input[type=file]::file-selector-button{border:0;border-radius:4px;background:#eaf1f6;color:var(--blue);padding:.4rem .65rem;margin-right:.65rem;font:inherit;font-weight:600;cursor:pointer}
input[type=checkbox]{width:1.1rem;min-height:1.1rem;height:1.1rem;accent-color:var(--blue);flex:none;margin:.2rem .45rem 0 0}
.check{display:flex;align-items:flex-start;gap:.3rem;font-size:.92rem}
.alert,.notice{border-left:3px solid var(--blue);border-radius:4px;background:var(--soft);padding:.7rem .9rem;font-size:.91rem}
.alert{border-color:var(--danger);background:#fff0ef;color:var(--danger)}
[hidden],.alert:empty,.notice:empty{display:none!important}
.top{background:var(--nav);color:#fff}
.top-inner,.shell{width:min(1200px,100%);margin-inline:auto;padding-inline:clamp(1rem,3.5vw,2.5rem)}
.top-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}
.top-brand,.toolbar,.actions,.filters,.detail-top,.row-title,.account{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.top-brand{gap:1rem;font-weight:620;letter-spacing:-.02em}.top-brand img{width:100px;display:block}.top-brand span{padding-left:1rem;border-left:1px solid #648095}
.account{justify-content:flex-end}.identity{font-size:.82rem;color:#d5e6ee;overflow-wrap:anywhere}
.shell{padding-block:clamp(1.4rem,3.3vw,3rem) 3rem}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.3rem}
.page-head h1{margin:.25rem 0 .3rem}.page-head p{max-width:65ch}
.panel{background:#fff;border:1px solid var(--stroke);border-radius:12px;min-width:0}
.filters{align-items:flex-end;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--stroke)}
.filters .search{flex:1 1 15rem}.filters .filter{flex:0 1 15rem}
.total{font-size:.85rem;color:var(--muted);padding:.8rem 1.25rem .35rem}
.collection{list-style:none;padding:0}
.doc-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.32fr) auto;align-items:center;gap:1.1rem;border-top:1px solid #e5ebf0;padding:.95rem 1.25rem;overflow-wrap:anywhere}
.doc-row:first-child{border:0}.doc-row strong{font-size:.98rem;display:block}
.chip{display:inline-flex;align-items:center;align-self:flex-start;width:max-content;max-width:100%;gap:.35rem;border-radius:5px;padding:.2rem .5rem;font-size:.77rem;font-weight:650;background:#edf1f5;color:#47596a}
.chip.pending{background:#fbefd7;color:#785014}.chip.submitted{background:#e8f1fb;color:#1e527d}.chip.verified{background:#e3f3ed;color:#155d4e}.chip.rejected{background:#fff0ef;color:#852e29}
.blank{padding:2.4rem 1.25rem;max-width:45rem}
.blank p{margin:.4rem 0}
.detail-top{margin-bottom:.85rem}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);gap:1rem;align-items:start}
.detail-grid>.panel,.content-panel{padding:clamp(1rem,2vw,1.6rem)}
.stack{display:grid;gap:1rem;min-width:0}.compact{gap:.55rem}
.person,.return{border-top:1px solid var(--stroke);padding-block:.9rem;overflow-wrap:anywhere}
.person:last-child,.return:last-child{padding-bottom:0}.person p{margin-top:.25rem}
.number{display:inline-grid;place-items:center;border-radius:50%;width:1.55rem;height:1.55rem;background:var(--soft);color:#345870;font-size:.82rem;font-weight:700}
.hash{font-family:ui-monospace,monospace;font-size:.78rem;overflow-wrap:anywhere}
.status-bar:not(:empty){margin-bottom:1rem}
.dialog{width:min(600px,calc(100% - 1.5rem));padding:0;border:1px solid var(--stroke);border-radius:12px;max-height:90svh;color:var(--ink);box-shadow:0 18px 60px #112d4433}
.dialog::backdrop{background:#0d243b99}
.modal-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:1rem 1.3rem;border-bottom:1px solid var(--stroke);background:white}
.modal-body{padding:1.2rem 1.3rem}
.form-cols{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
fieldset{border:1px solid var(--stroke);border-radius:7px;min-width:0;padding:.75rem 1rem 1rem}
legend{padding-inline:.3rem;font-size:.94rem}
.signer-fields{display:grid;gap:.7rem;margin-top:.7rem}
.directory-panel{border:1px solid var(--stroke);border-radius:7px;background:#f7fafc;padding:.65rem .8rem;min-width:0}
.directory-panel summary{cursor:pointer;color:var(--blue);font-weight:650}
.directory-search,.directory-selected{margin-top:.65rem}
.directory-panel [data-directory-state]:not(:empty){margin-top:.5rem}
.directory-selected{display:grid;gap:.35rem;border-top:1px solid var(--stroke);padding-top:.65rem;overflow-wrap:anywhere}
.directory-selected button{justify-self:start}
.directory-contact{border-left:2px solid var(--stroke);padding:.15rem .7rem}
.directory-contact button{justify-self:start}
.directory-selected [data-qualification]>div{margin-top:.4rem}
.directory-results{display:grid;gap:.25rem;max-height:14rem;overflow:auto;overscroll-behavior:contain;list-style:none;padding:0}
.directory-choice{display:flex;flex-direction:column;align-items:start;justify-content:center;width:100%;min-height:44px;color:var(--ink);background:white;border:1px solid var(--stroke);text-align:left;gap:0;overflow-wrap:anywhere}
.directory-choice:hover{background:var(--soft);border-color:#8799a8}
.directory-choice:focus-visible{outline-offset:-3px}
.foot{padding:1.1rem 0;color:var(--muted);font-size:.8rem}
.signing-shell:has(.sign-task){max-width:1400px}
.sign-task{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(265px,.85fr);gap:1rem;align-items:start}
.reader-panel,.signing-actions{padding:clamp(.85rem,2.0vw,1.35rem)}
.reader-panel>div:first-child{margin-bottom:.8rem}
.signing-actions h2,.signing-actions h3{margin-bottom:.33rem}
.signing-actions .actions{align-items:stretch}
.signing-actions [data-launch],.bridge-test [data-launch]{background:transparent;color:var(--blue);border-color:var(--border)}
.signing-actions [data-launch]:hover,.bridge-test [data-launch]:hover{background:var(--soft)}
.reader-tools{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.reader-zoom{display:flex;gap:.5rem;align-items:center;margin-left:auto;font-size:.87rem}
.reader-zoom select{width:auto}
.reader-surface{background:#e4eaf0;border:1px solid var(--stroke);border-radius:5px;height:min(74svh,890px);min-height:250px;overflow:auto;margin:.65rem 0;padding:10px;overscroll-behavior:contain}
.reader-sheet{min-height:60px}.reader-sheet canvas{display:block;width:100%;height:auto;box-shadow:0 1px 4px #102e4933}
.reader-sheet[data-zoom="1.5"]{width:150%}.reader-sheet[data-zoom="2"]{width:200%}
.reader-text{white-space:pre-wrap;max-height:15rem;overflow:auto;padding:.6rem 0;overflow-wrap:anywhere}
.bridge-test{max-width:850px}.bridge-test h1{overflow-wrap:anywhere}
@media(max-width:820px){.sign-task{grid-template-columns:1fr}.reader-surface{height:60svh;min-height:260px}.reader-zoom{margin-left:0}}
.content-panel{margin-top:1rem}.signing-shell{max-width:1050px}
.prep-section{margin-bottom:1.3rem}
.cancel-history{margin-top:1.1rem}.cancel-history>summary{cursor:pointer;font-weight:650;padding:1rem 1.25rem}
.cancel-history[open]>summary{border-bottom:1px solid var(--stroke)}
.cancel-confirm{background:#842f31}.cancel-confirm:hover{background:#672326}
.cancel-link{color:#842f31;border-color:#aa7778}.cancel-link:hover{background:#fbf0f0}
.chip.cancelled{background:#efeaf0;color:#654361}
.archived-notice{margin-bottom:1rem}
.returned-draft{box-shadow:inset 4px 0 0 #19766b;background:#edf7f4}
.returned-draft [data-return-marker]{margin:.3rem .4rem .3rem 0;background:#d9eee8;color:#1e5c51}
.doc-row.queue-row{grid-template-columns:minmax(0,1fr) auto auto}
@media(max-width:760px){.doc-row.queue-row{grid-template-columns:1fr}.doc-row.queue-row>div{grid-column:1}.doc-row.queue-row .actions{margin-top:.2rem}}
.section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.65rem;padding:1rem 1.25rem;border-bottom:1px solid var(--stroke)}
.section-header p{margin-top:.25rem}.draft-state{margin:1rem 1.25rem}
.draft-row{grid-template-columns:minmax(0,1fr) auto auto}
@media(max-width:760px){.draft-row.doc-row{grid-template-columns:1fr}.draft-row.doc-row>div{grid-column:1}.draft-row .actions{margin-top:.25rem}}
.steps{display:grid;gap:1.15rem}.steps>div{display:grid;justify-items:start;gap:.4rem}
.steps h3{display:flex;gap:.55rem;align-items:center}.steps .number{flex:none}
.steps p{font-size:.96rem}.signing-shell .page-head h1{overflow-wrap:anywhere}
@media(max-width:760px){
 .auth{grid-template-columns:1fr;min-height:100svh;grid-template-rows:auto 1fr}.auth-brand{min-height:0;padding:1rem 1.5rem 1.35rem;gap:.55rem}.auth-logo{width:112px}.brand-title{font-size:1.55rem;margin:.15rem 0}.brand-copy .eyebrow,.brand-foot,.brand-desc{display:none}.auth-body{align-items:start;padding:2rem 1.5rem 2.5rem}.detail-grid{grid-template-columns:1fr}.top-inner{min-height:66px}.identity{display:none}.top-brand img{width:76px}.top-brand{gap:.5rem}.top-brand span{padding-left:.6rem;font-size:.92rem}.doc-row{grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.doc-row>div:nth-child(2){grid-column:1;grid-row:auto}.doc-row>button{grid-column:2;grid-row:1/3}.form-cols{grid-template-columns:1fr}
}
@media(max-width:465px){.filters{display:grid;grid-template-columns:1fr;gap:.6rem}.doc-row,.filters{padding-inline:.9rem}.toolbar,.actions{gap:.5rem}.brand-copy{max-width:none}.top-inner{gap:.3rem}.top-brand span{max-width:115px;line-height:1.15}.modal-body,.modal-header{padding-inline:.9rem}.shell{padding-top:1.25rem}.page-head h1{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
