:root{--ink:#18202c;--muted:#657080;--line:#dfe4ea;--bg:#f5f7fa;--brand:#185adb;--brand-dark:#1146ad;--brand-soft:#edf2ff;--good:#087f5b;--warn:#b35c00;--bad:#b42318;--shadow:0 8px 28px rgba(24,32,44,.08)}*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}header{min-height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(24px,calc((100% - 1240px)/2));gap:38px}.brand{font-size:21px;font-weight:800;color:var(--ink);text-decoration:none;white-space:nowrap}nav{display:flex;align-items:center;gap:22px;flex:1}nav a,.link{color:#445064;text-decoration:none;background:none;border:0;padding:0;font:inherit}nav a:hover,.back:hover{color:var(--brand)}nav form{margin-left:auto}.signed-in{color:var(--muted);font-size:13px;white-space:nowrap}.signed-in strong{color:var(--ink)}.count{background:var(--bad);color:#fff;border-radius:20px;padding:1px 7px;font-size:11px}main{max-width:1240px;margin:32px auto;padding:0 24px}h1{font-size:30px;line-height:1.2;margin:.2em 0}h2{font-size:20px;line-height:1.3;margin-top:0}h3{font-size:16px;line-height:1.35}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.muted,small{color:var(--muted)}small{display:block}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:20px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.metrics>*{background:#fff;padding:18px;border:1px solid var(--line);border-radius:9px;text-decoration:none;color:inherit}.metrics strong{font-size:28px;display:block}.metrics span{color:var(--muted)}.filters{display:flex;gap:10px;margin:18px 0}.filters input{flex:1}input,select,textarea{width:100%;padding:10px;border:1px solid #b8c0cc;border-radius:6px;background:#fff;color:var(--ink);font:inherit}input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:3px solid rgba(24,90,219,.14)}textarea{resize:vertical}button,.button{display:inline-block;background:var(--brand);color:#fff;border:0;border-radius:6px;padding:10px 15px;font-weight:650;text-decoration:none;cursor:pointer;line-height:1.4}button:hover,.button:hover{background:var(--brand-dark)}button:focus-visible,.button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid rgba(24,90,219,.25);outline-offset:2px}.secondary{background:var(--brand-soft);color:#174ea6}.secondary:hover{background:#dfe8ff}.danger{background:var(--bad)}.danger:hover{background:#8f1c14}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;color:var(--muted)}td a{color:#174ea6;text-decoration:none}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px}.badge{display:inline-block;padding:4px 9px;border-radius:20px;background:#e9edf3;font-size:12px;font-weight:700;white-space:nowrap}.badge.active,.badge.approved{background:#dff7ed;color:var(--good)}.badge.changes{background:#fff0df;color:var(--warn)}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:20px}.summary div{background:#fff;padding:16px;min-width:0}.summary strong{display:block;overflow-wrap:anywhere}.workflow{list-style:none;padding:0;display:flex;gap:8px}.workflow li{flex:1;display:flex;gap:9px;padding:12px;background:#f2f4f7;border-radius:7px;min-width:0}.workflow li>span{border-radius:50%;background:#d6dbe3;flex:0 0 25px;height:25px;text-align:center;line-height:25px;font-size:13px;font-weight:700}.workflow li>div{min-width:0}.workflow li strong{display:block;overflow-wrap:anywhere}.workflow .active{outline:2px solid var(--brand);outline-offset:-2px;background:#f4f7ff}.workflow .active>span{background:var(--brand);color:#fff}.workflow .approved{background:#e7f8f1}.workflow .approved>span{background:var(--good);color:#fff}.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.actions{display:flex;gap:8px}.cards .card{display:flex;justify-content:space-between}.event{border-bottom:1px solid var(--line);padding:10px 0}.event:last-child{border:0}.tag{background:#edf2f7;border-radius:4px;padding:2px 7px;margin-right:4px}.message{padding:12px;border-radius:6px;margin-bottom:12px;background:#edf2ff}.message.error{background:#ffe7e5;color:var(--bad)}.message.success{background:#e3f8ef;color:var(--good)}.narrow,.login{max-width:680px;margin:auto}.form label{font-weight:650}.back{color:var(--muted);text-decoration:none}.empty{text-align:center;color:var(--muted);padding:30px}

/* Document detail: focused signing workspace and optional full record. */
.document-heading{align-items:flex-end;gap:24px}.document-heading p{margin:4px 0 0;color:var(--muted)}.heading-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.view-toggle{display:inline-flex;padding:3px;background:#e8ecf2;border-radius:8px}.view-toggle a{padding:6px 11px;border-radius:6px;color:#4c586b;text-decoration:none;font-size:13px;font-weight:650}.view-toggle a:hover{color:var(--ink)}.view-toggle a.selected{background:#fff;color:var(--brand);box-shadow:0 1px 4px rgba(24,32,44,.16)}.focused-summary small{text-transform:uppercase;letter-spacing:.045em;font-size:11px;margin-bottom:3px}.section-heading{display:flex;justify-content:space-between;gap:16px}.section-heading h2,.section-heading p{margin-bottom:0}.section-heading p{margin-top:4px}.eyebrow{display:block;color:var(--brand);font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.handoff-card{border-color:#b9ccf4;box-shadow:var(--shadow);padding:0;overflow:hidden}.action-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid #dce6fa;background:linear-gradient(135deg,#f7f9ff 0%,#fff 68%)}.action-header h2{margin:4px 0 0;font-size:23px}.version-pill{border:1px solid #b9ccf4;border-radius:999px;padding:5px 10px;color:var(--brand);background:#fff;font-size:12px;font-weight:750;white-space:nowrap}.handoff-flow{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,.75fr) minmax(280px,1.4fr);padding:24px}.handoff-step{position:relative;display:flex;gap:12px;padding:4px 24px 4px 0;min-width:0}.handoff-step+.handoff-step{padding-left:24px;border-left:1px solid var(--line)}.step-number{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:800}.handoff-step h3{margin:3px 0 4px}.handoff-step p{margin:0 0 12px;color:var(--muted)}.upload-step{padding-right:0}.upload-step form{width:100%}.upload-step form>p{margin:0 0 12px}.upload-step label{display:block;color:var(--ink);font-weight:650;margin-bottom:4px}.upload-step input[type=file]{padding:8px;background:#f8fafc;border-style:dashed}.upload-step textarea{min-height:68px}.upload-step button{width:100%;padding:11px 14px}.upload-step .form-hint{margin:7px 0 0;text-align:center;font-size:12px}.reject-panel{border-top:1px solid var(--line);background:#fbfcfe;padding:14px 24px}.reject-panel summary{width:max-content;max-width:100%;color:var(--bad);cursor:pointer;font-weight:650}.reject-panel form{max-width:620px;padding-top:14px}.reject-panel form p{margin-top:0}.reject-panel label{display:block;font-weight:650;margin-bottom:4px}.correction-card{border-color:#efc391;border-left:4px solid var(--warn);box-shadow:var(--shadow)}.correction-card h2{margin:4px 0 10px}.correction-card form{max-width:680px;margin-top:18px}.correction-card form p{margin:0 0 12px}.correction-card form label{display:block;font-weight:650;margin-bottom:4px}.correction-card input[type=file]{background:#fffaf4;border-style:dashed}.change-reason{margin:14px 0;padding:12px 14px;border-radius:7px;background:#fff4e6;color:#74400a}.change-reason p{margin:3px 0 0;white-space:pre-wrap}.waiting-card{display:flex;align-items:center;gap:18px;border-left:4px solid #e0a43a}.waiting-card h2{margin:3px 0 5px}.waiting-card p{margin:0;color:var(--muted)}.waiting-card .identity-note{margin-top:10px;font-size:13px}.waiting-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:50%;background:#fff3d9;font-size:20px}.current-version-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.current-version-card h2{margin:4px 0}.current-version-card p{margin:0}.current-version-card .button{white-space:nowrap}.extended-divider{display:flex;align-items:center;gap:14px;margin:30px 0 20px;color:var(--muted);font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.extended-divider::before,.extended-divider::after{content:"";height:1px;background:var(--line);flex:1}.archive-form{margin-top:14px}
.owner-revision-card{padding:0}.owner-revision-card>summary{cursor:pointer;padding:18px 22px;color:var(--brand);list-style-position:inside}.owner-revision-card[open]>summary{border-bottom:1px solid var(--line)}.owner-revision-body{padding:20px 22px}.owner-revision-body>p{margin-top:0}.owner-revision-body form{max-width:660px}.warning-box{background:#fff7e8;border:1px solid #efcf91;border-radius:8px;padding:13px 15px;margin-bottom:16px;color:#6f4300}.warning-box p{margin:3px 0 0}.admin-grid{align-items:start}.invite-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-grid .event:first-of-type{padding-top:0}

@media(max-width:960px){.signed-in{display:none}.handoff-flow{grid-template-columns:1fr 1fr}.upload-step{grid-column:1/-1;border-left:0!important;border-top:1px solid var(--line);margin-top:20px;padding:20px 0 0!important}.upload-step form{max-width:620px}.handoff-step:nth-child(2){padding-right:0}}
@media(max-width:800px){header{height:auto;padding:14px;align-items:flex-start}nav{flex-wrap:wrap;gap:12px}nav form{margin-left:0}.metrics,.summary,.two-col{grid-template-columns:1fr 1fr}.workflow{flex-direction:column}.cards .card{display:block}.actions{margin-top:14px}.document-heading{align-items:flex-start}.current-version-card{align-items:flex-start}.current-version-card>div{min-width:0}.current-version-card h2{overflow-wrap:anywhere}}
@media(max-width:600px){main{margin-top:22px;padding:0 16px}.document-heading{display:block}.heading-actions{align-items:flex-start;margin-top:14px}.focused-summary{grid-template-columns:1fr 1fr}.action-header{align-items:flex-start;padding:19px 18px}.action-header h2{font-size:20px}.handoff-flow{display:block;padding:18px}.handoff-step,.handoff-step+.handoff-step{border-left:0;border-top:1px solid var(--line);padding:18px 0;margin:0}.handoff-step:first-child{border-top:0;padding-top:2px}.upload-step{margin-top:0}.reject-panel{padding:14px 18px}.waiting-card{align-items:flex-start}.current-version-card{display:block}.current-version-card .button{margin-top:16px;width:100%;text-align:center}}
@media(max-width:520px){.metrics,.summary,.two-col{grid-template-columns:1fr}.focused-summary{grid-template-columns:1fr 1fr}.filters{display:block}.filters>*{margin-bottom:8px}.card{padding:18px}.action-header{display:block}.version-pill{display:inline-block;margin-top:12px}.workflow li{padding:11px}.view-toggle{width:100%}.view-toggle a{flex:1;text-align:center}}

/* UX refinement: navigation, task clarity, accounts and invitations. */
:root{--focus:rgba(24,90,219,.2);--surface-soft:#f8fafc;--navy:#0f2747}
body{min-width:320px}
.skip-link{position:fixed;z-index:100;top:8px;left:8px;transform:translateY(-150%);padding:9px 13px;border-radius:6px;background:var(--ink);color:#fff}.skip-link:focus{transform:none}
.app-header{min-height:68px;padding:0;background:rgba(255,255,255,.97);position:sticky;top:0;z-index:20}.header-inner{width:100%;max-width:1240px;margin:auto;padding:0 24px;display:flex;align-items:center;gap:28px;min-height:68px}.brand{display:flex;align-items:center;gap:9px}.brand-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:linear-gradient(145deg,var(--brand),#123e91);color:#fff;font-size:16px;font-weight:850;box-shadow:0 3px 9px rgba(24,90,219,.2)}.brand-mark.large{width:48px;height:48px;border-radius:13px;font-size:23px;margin-bottom:22px}.app-header nav{gap:4px}.app-header nav a{padding:8px 10px;border-radius:6px;font-size:14px;font-weight:600}.app-header nav a.nav-current{color:var(--brand);background:var(--brand-soft)}.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.header-create{padding:8px 12px;white-space:nowrap}.account-menu{position:relative}.account-menu summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;padding:4px;border-radius:8px}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:hover{background:#f3f5f8}.avatar{display:inline-grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:#e8efff;color:var(--brand);font-size:13px;font-weight:800}.account-label{display:block;max-width:145px}.account-label small{font-size:10px;line-height:1.1}.account-label strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-popover{position:absolute;right:0;top:calc(100% + 8px);width:220px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.account-popover a,.account-popover .link{display:block;width:100%;padding:8px 9px;border-radius:5px;text-align:left;color:#39465a}.account-popover a:hover,.account-popover .link:hover{background:#f3f6fa;color:var(--brand)}.account-role{display:block;padding:5px 9px 8px;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:750;letter-spacing:.04em}.message-stack:empty{display:none}.message{border:1px solid #cfdbf7}.message.success{border-color:#b3e5d1}.message.error{border-color:#f2b8b3}
.page-heading{align-items:flex-end}.page-heading h1{margin-top:5px}.page-heading p{margin:5px 0 0}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.align-right{text-align:right}
.metrics .metric{position:relative;min-height:132px;padding:18px 18px 16px;overflow:hidden}.metric strong{line-height:1.1}.metric>span:not(.metric-icon){display:block;margin-top:3px;color:var(--ink);font-weight:700}.metric small{margin-top:7px}.metric-icon{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#eef2f7;color:#718096;font-weight:800}.metric-action{border-color:#b9ccf4!important;background:linear-gradient(135deg,#fff,#f4f7ff)!important}.metric-action .metric-icon{background:var(--brand);color:#fff}.metric-action:hover{box-shadow:0 6px 20px rgba(24,90,219,.1);transform:translateY(-1px)}.metric-urgent{border-color:#efcf91!important}.metric-urgent .metric-icon{background:#fff0d7;color:#925000}.list-section{margin-top:28px}.list-heading{margin-bottom:12px}.list-heading h2{margin-bottom:2px}.list-heading p{margin:0}.filters{padding:12px;background:#edf1f6;border-radius:9px}.filters select{max-width:210px}.document-link{display:block}.document-link strong{display:block;margin-bottom:2px}.step-count{white-space:nowrap}.status-dot{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.status-dot::before{content:"";width:7px;height:7px;border-radius:50%;background:#8c96a5}.status-dot.good::before{background:var(--good)}.status-dot.bad::before{background:var(--bad)}.empty-state{display:flex;align-items:center;flex-direction:column;padding:28px 16px;color:var(--muted);text-align:center}.empty-state>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#eef2f7;font-size:19px;margin-bottom:9px}.empty-state strong{color:var(--ink);font-size:16px}.empty-state p{margin:3px 0 13px}.empty-state.compact{padding:24px 8px}.empty-check{background:#e4f6ef!important;color:var(--good)}
.task-list{display:grid;gap:14px}.task-card{align-items:center!important;margin:0!important;border-left:4px solid var(--brand);padding:20px 22px}.task-main{min-width:0}.task-topline{display:flex;align-items:center;gap:12px}.task-deadline{color:var(--muted);font-size:12px;font-weight:650}.task-card h2{margin:10px 0 2px}.task-card h2 a{color:var(--ink);text-decoration:none}.task-card h2 a:hover{color:var(--brand)}.task-context{margin:0;color:var(--muted)}.task-actions{flex-shrink:0}.mini-flow{display:flex;list-style:none;padding:0;margin:14px 0 0;gap:0;color:var(--muted);font-size:12px}.mini-flow li{display:flex;align-items:center}.mini-flow li:not(:last-child)::after{content:"";width:24px;height:1px;background:#ccd3dd;margin:0 8px}.mini-flow span{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;margin-right:5px;background:#edf1f5;font-size:10px;font-weight:750}.mini-flow .current{color:var(--brand);font-weight:700}.mini-flow .current span{background:var(--brand);color:#fff}.task-empty{margin:0;min-height:245px;justify-content:center!important}
.admin-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:20px;border:1px solid var(--line);border-radius:9px;background:var(--line);overflow:hidden}.admin-summary>div{padding:15px 18px;background:#fff}.admin-summary strong,.admin-summary span{display:block}.admin-summary strong{font-size:17px}.admin-summary span{color:var(--muted);font-size:12px}.invite-card,.invite-status-card{min-height:100%}.invite-status-card{max-height:570px;overflow:auto}.invite-list{margin-top:10px}.invite-person{min-width:0}.invite-person strong{display:block;overflow-wrap:anywhere}.role-label{display:inline-block;padding:3px 7px;border-radius:5px;background:#eef1f5;color:#4c586a;font-size:11px;font-weight:750}.role-label.admin{background:#e9efff;color:#184fae}.role-label.staff{background:#f0edff;color:#6345a0}.badge.pending{background:#fff2db;color:#8a5200}.badge.inactive{background:#eef0f3;color:#687386}.user-table-card{margin-top:20px}.user-cell{display:flex;align-items:center;gap:10px}.current-account{display:inline-block;padding:5px 8px;border-radius:5px;background:#eef2f7;color:var(--muted);font-size:12px}.small-button{padding:7px 10px;font-size:12px}.quiet-danger{background:#fff0ee;color:var(--bad);border:1px solid #f1c1bd}.quiet-danger:hover{background:#ffe2df;color:#8f1c14}
.delivery-banner{display:flex;align-items:flex-start;gap:12px;margin:-4px 0 20px;padding:14px 16px;border:1px solid #e7c26f;border-radius:9px;background:#fff8e8;color:#6f4700}.delivery-banner p{margin:3px 0 0;color:#795b22;font-size:13px}.delivery-icon{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#f4d58e;color:#664100;font-weight:850}
.stacked-form{display:grid;gap:16px}.stacked-form>p{margin:0}.stacked-form>p label,.field>label,.label-row label{display:block;margin-bottom:5px;color:var(--ink);font-weight:700}.field label span{color:var(--muted);font-size:11px;font-weight:500}.field small{margin-top:5px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.label-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.label-row a{font-size:12px}.check-row{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:7px;cursor:pointer}.check-row:hover{background:#f8fafc}.check-row input{width:auto;margin-top:4px}.check-row strong,.check-row small{display:block}.errorlist{list-style:none;margin:5px 0 0;padding:0;color:var(--bad);font-size:12px}.field-error input{border-color:var(--bad)}.form-errors{padding:10px 12px;border-radius:6px;background:#fff0ee;color:var(--bad)}.form-errors .errorlist{margin:0}.full-button{width:100%;text-align:center}.warning-button{background:#9b5700}.warning-button:hover{background:#744100}
.auth-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.75fr);gap:72px;align-items:center;min-height:calc(100vh - 132px);max-width:1050px;margin:auto}.auth-intro{padding:28px}.auth-intro h1{max-width:600px;font-size:44px;color:var(--navy);letter-spacing:-.035em}.auth-intro>p{max-width:550px;color:#536176;font-size:18px}.auth-intro ul{list-style:none;padding:10px 0 0;margin:0}.auth-intro li{position:relative;padding:6px 0 6px 27px;color:#435168}.auth-intro li::before{content:"✓";position:absolute;left:0;top:6px;color:var(--good);font-weight:800}.auth-card{padding:30px;margin:0;border-radius:13px;box-shadow:var(--shadow)}.auth-card h1,.auth-card h2{margin:5px 0 8px}.auth-card h2{font-size:24px}.auth-heading{margin-bottom:23px}.auth-heading p{margin:0}.auth-help,.expiry-note,.security-note{margin:20px 0 0;padding-top:17px;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:12px}.auth-single{max-width:540px;margin:55px auto}.invite-seal,.auth-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;margin-bottom:16px;background:var(--brand-soft);color:var(--brand);font-size:20px}.auth-icon.success{background:#e1f6ee;color:var(--good)}.auth-icon.warning{background:#fff0d7;color:#975300}.invited-email{position:relative;margin:20px 0;padding:13px 14px;border:1px solid #cbd8f3;border-radius:8px;background:#f7f9ff}.invited-email small,.invited-email strong{display:block}.invited-email strong{overflow-wrap:anywhere}.invited-email .role-label{position:absolute;right:10px;top:10px}.next-steps{margin:20px 0;padding:15px;border-radius:8px;background:#f5f7fa;text-align:left}.next-steps ol{margin:8px 0 0;padding-left:20px}.next-steps p{margin:5px 0}.auth-result{text-align:center}.auth-result .auth-icon{margin-left:auto;margin-right:auto}.password-help{margin-top:8px;color:var(--muted);font-size:12px}.password-help ul{margin:5px 0;padding-left:19px}
.next-action-summary{box-shadow:inset 3px 0 var(--brand)}.owner-revision-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none}.owner-revision-card>summary::-webkit-details-marker{display:none}.owner-revision-card>summary span:first-child small{margin-top:2px;font-weight:400}.summary-action{font-size:12px;color:var(--muted)}.owner-revision-card[open] .summary-action{font-size:0}.owner-revision-card[open] .summary-action::after{content:"Close controls";font-size:12px}
.admin-override-label{color:#6d48a8}.override-copy{margin:5px 0 0!important;max-width:650px;color:var(--muted);font-size:13px}.handoff-card:has(.admin-override-label){border-color:#cfc1e8}.handoff-card:has(.admin-override-label) .action-header{background:linear-gradient(135deg,#faf8ff,#fff 68%);border-color:#e5ddf2}
.language-form{margin:4px 0;padding:8px 9px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.language-form label{display:block;margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.language-form select{padding:6px 8px;font-size:13px}
@media(max-width:1080px){.header-inner{gap:14px}.app-header nav a{padding:8px 7px}.account-label{display:none}.auth-shell{gap:32px}.auth-intro h1{font-size:38px}}
@media(max-width:900px){.app-header{position:static}.header-inner{flex-wrap:wrap;padding:10px 16px}.app-header nav{order:3;flex-basis:100%;overflow:auto;flex-wrap:nowrap;padding-bottom:2px}.app-header nav a{white-space:nowrap}.auth-shell{grid-template-columns:1fr;min-height:auto;max-width:560px;gap:8px}.auth-intro{padding:15px 28px 0}.auth-intro h1{font-size:32px}.auth-intro ul{display:none}.metrics{grid-template-columns:1fr 1fr}.admin-summary{grid-template-columns:1fr 1fr}.admin-summary>div:last-child{grid-column:1/-1}.task-card{display:block!important}.task-actions{margin-top:18px}}
@media(max-width:680px){.header-create{font-size:0;padding:8px 10px}.header-create::after{content:"+ New";font-size:13px}.auth-intro{display:none}.auth-shell{display:block;margin-top:38px}.auth-card{padding:24px}.auth-single{margin:35px auto}.field-row{grid-template-columns:1fr}.admin-summary{grid-template-columns:1fr}.admin-summary>div:last-child{grid-column:auto}.mini-flow{display:none}.task-actions{display:grid;grid-template-columns:1fr 1fr}.task-actions .button{text-align:center}.filters{padding:10px}.filters select{max-width:none}.account-popover{position:fixed;right:16px;top:62px}.invite-row{align-items:flex-start}}
@media(max-width:460px){.brand>span:last-child{display:none}.header-inner{gap:8px}.header-actions{gap:6px}.metrics{grid-template-columns:1fr}.metric{min-height:105px!important}.focused-summary{grid-template-columns:1fr}.task-actions{grid-template-columns:1fr}.auth-card{padding:21px}.auth-single{margin-top:20px}.owner-revision-card>summary{align-items:flex-start;flex-direction:column}.summary-action{margin-left:0}}

/* Authentication visibility control and ordered signer picker. */
.password-input-wrap{position:relative}.password-input-wrap input{padding-right:46px}.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:36px;padding:7px;border-radius:5px;background:transparent;color:#526074}.password-toggle:hover{background:var(--brand-soft);color:var(--brand)}.password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-toggle .eye-closed{display:none}.password-toggle[aria-pressed="true"] .eye-open{display:none}.password-toggle[aria-pressed="true"] .eye-closed{display:block}
.document-create-shell{max-width:980px;margin:auto}.document-create-heading{margin-bottom:22px}.document-create-heading p{margin:6px 0 0}.document-create-form{padding:0;overflow:hidden}.form-section{padding:26px 28px}.form-section+.form-section{border-top:1px solid var(--line)}.form-section-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:20px}.form-section-heading h2{margin:0 0 3px}.form-section-heading p{margin:0;color:var(--muted)}.section-number{display:grid;place-items:center;flex:0 0 29px;height:29px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:800}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px}.form-grid .field-wide{grid-column:1/-1}.form-grid label{display:block;margin-bottom:5px;font-weight:700}.form-grid label span{color:var(--muted);font-size:11px;font-weight:500}.form-grid textarea{min-height:76px}.form-grid input[type=file]{border-style:dashed;background:var(--surface-soft)}
.signer-picker{display:grid;grid-template-columns:1fr 1fr;gap:16px}.signer-panel{min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);overflow:hidden}.signer-sequence-panel{background:#f7f9ff;border-color:#cbd8f3}.signer-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid var(--line);background:#fff}.signer-panel-heading h3{margin:0}.signer-count{display:grid;place-items:center;min-width:26px;height:24px;padding:0 7px;border-radius:999px;background:#e9edf3;color:#4f5b6c;font-size:11px;font-weight:800}.signer-search-wrap{position:relative;margin:12px}.signer-search-wrap span{position:absolute;left:11px;top:50%;transform:translateY(-53%);color:var(--muted)}.signer-search-wrap input{padding-left:32px;background:#fff}.signer-list{list-style:none;margin:0;padding:0 10px 10px;max-height:340px;overflow:auto}.signer-list li{display:flex;align-items:center;gap:10px;min-height:58px;margin-top:7px;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:#fff}.signer-identity{min-width:0;flex:1}.signer-identity strong,.signer-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signer-identity strong{font-size:13px}.signer-add,.signer-order-button,.signer-remove{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;padding:0;border-radius:6px;font-size:18px}.signer-add{background:var(--brand-soft);color:var(--brand)}.signer-add:hover{background:#dce6ff}.signer-add:disabled,.signer-order-button:disabled{opacity:.35;cursor:not-allowed}.signer-position{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:50%;background:var(--brand);color:#fff;font-size:12px;font-weight:800}.signer-order-actions{display:flex;gap:4px}.signer-order-button{background:#edf1f7;color:#39475a;font-size:15px}.signer-order-button:hover{background:#dfe5ed}.signer-remove{background:#fff0ee;color:var(--bad)}.signer-remove:hover{background:#ffe1de}.signer-empty{padding:42px 20px;text-align:center;color:var(--muted)}.signer-empty[hidden]{display:none}.signer-empty span,.signer-empty strong,.signer-empty small{display:block}.signer-empty span{font-size:25px;color:#8290a5}.signer-list-message{justify-content:center!important;color:var(--muted);text-align:center;border-style:dashed!important}.signer-errors{margin-bottom:14px}.form-submit-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 28px;border-top:1px solid var(--line);background:#fbfcfe}.form-submit-row p{margin:0}.form-submit-row strong,.form-submit-row small{display:block}.form-submit-row button{min-width:160px}
@media(max-width:760px){.form-grid,.signer-picker{grid-template-columns:1fr}.form-grid .field-wide{grid-column:auto}.signer-list{max-height:260px}.form-section{padding:22px 18px}.form-submit-row{padding:18px;align-items:flex-start;flex-direction:column}.form-submit-row button{width:100%}}
.dashboard-filters{display:grid;grid-template-columns:minmax(220px,1.7fr) repeat(4,minmax(135px,1fr)) auto;align-items:end;gap:10px}.dashboard-filters .filter-field{display:grid;gap:5px}.dashboard-filters label{color:var(--ink);font-size:12px;font-weight:700}.dashboard-filters input,.dashboard-filters select{max-width:none}.filter-actions{display:flex;gap:8px;align-items:center}.sort-link{display:inline-flex;align-items:center;gap:5px;color:inherit;text-decoration:none;white-space:nowrap}.sort-link span{color:#929bab;font-size:11px}.sort-link:hover,.sort-link.active{color:var(--brand)}.sort-link.active span{color:var(--brand)}.summary-only{cursor:default}.summary-only small{color:var(--muted)}
@media(max-width:1100px){.dashboard-filters{grid-template-columns:repeat(3,minmax(150px,1fr))}.dashboard-filters .filter-search{grid-column:span 2}}
@media(max-width:700px){.dashboard-filters{grid-template-columns:1fr}.dashboard-filters .filter-search{grid-column:auto}.filter-actions{align-items:stretch}.filter-actions button,.filter-actions .button{flex:1;text-align:center}}
.role-label.owner{background:#e3f5ed;color:#156845}.role-action{display:flex;align-items:center;gap:8px}.role-action .small-button{margin-left:auto}
.language-form-public{margin:0 0 0 auto;padding:0;border:0}.language-form-public select{min-width:105px}
.pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:18px 0 0}.pagination .button{padding:7px 12px}.pagination span{color:var(--muted);font-size:13px;font-weight:650}
.local-invite-card{display:flex;align-items:center;justify-content:space-between;gap:24px;border-color:#b9ccf4;background:linear-gradient(135deg,#f7f9ff,#fff);box-shadow:var(--shadow)}.local-invite-card h2{margin:4px 0 5px}.local-invite-card p{margin:0;color:var(--muted)}.local-invite-card .button{flex:0 0 auto;text-align:center}@media(max-width:700px){.local-invite-card{display:block}.local-invite-card .button{width:100%;margin-top:16px}}

/* Danyel-inspired client theme: their navy, blue, teal and Lato visual language. */
:root{
  --ink:#2c3e50;
  --muted:#687784;
  --line:#dbe3e8;
  --bg:#f4f7f9;
  --brand:#1860ac;
  --brand-dark:#155395;
  --brand-soft:#eaf2fa;
  --good:#168f78;
  --warn:#a85a00;
  --bad:#b42318;
  --navy:#021d3a;
  --surface-soft:#f7f9fa;
  --focus:rgba(24,96,172,.2);
  --shadow:0 10px 28px rgba(2,29,58,.09);
}
body{font-family:Lato,Arial,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,h3{color:#2c3e50;font-weight:900}
.eyebrow{color:var(--brand);letter-spacing:.09em}
.app-header{background:var(--navy);border-bottom:3px solid var(--brand);box-shadow:0 4px 16px rgba(2,29,58,.15)}
.app-header .brand{color:#fff;letter-spacing:.01em}
.brand-mark{border-radius:3px;border-left:4px solid #1abc9c;background:var(--brand);box-shadow:none}
.brand-mark.large{border-radius:5px;box-shadow:0 8px 20px rgba(2,29,58,.16)}
.app-header nav a{color:#dce7f2;font-size:13px;font-weight:900;letter-spacing:.035em;text-transform:uppercase}
.app-header nav a:hover{color:#fff;background:rgba(255,255,255,.08)}
.app-header nav a.nav-current{color:#fff;background:rgba(24,96,172,.55);box-shadow:inset 0 -2px 0 #1abc9c}
.account-menu summary{color:#fff}
.account-menu summary:hover{background:rgba(255,255,255,.1)}
.account-label small{color:#a9bed0}.account-label strong{color:#fff}
.avatar{background:#eaf2fa;color:var(--brand);border:2px solid rgba(255,255,255,.32)}
.language-form-public select{border-color:#42617f;background:#fff;color:var(--navy)}
.card,.metrics>*,.table-wrap,.summary,.admin-summary,.signer-panel{border-radius:6px}
.card{box-shadow:0 2px 8px rgba(2,29,58,.035)}
button,.button{border-radius:4px;background:var(--brand);font-weight:900;letter-spacing:.01em}
button:hover,.button:hover{background:var(--brand-dark)}
.secondary{background:var(--brand-soft);color:var(--brand)}
.secondary:hover{background:#dceaf6}
input,select,textarea{border-radius:4px;border-color:#b8c7d1}
input:focus,select:focus,textarea:focus{border-color:var(--brand);outline-color:var(--focus)}
.filters{border:1px solid var(--line);border-radius:6px;background:#eaf0f4}
.metrics>*{border-top:3px solid #a1b1bc}
.metrics .metric-action{border-color:#a9c7e4!important;border-top:3px solid var(--brand)!important;background:#fff!important}
.metric-action .metric-icon{background:var(--brand)}
.metrics .metric-urgent{border-top-color:#d49333!important}
.metric-icon{border-radius:3px}
.table-wrap{box-shadow:0 2px 8px rgba(2,29,58,.035)}
th{color:#536879;background:#eef3f6;font-weight:900;letter-spacing:.035em}
tbody tr:hover{background:#f5f9fc}
td a,.sort-link.active,.sort-link:hover{color:var(--brand)}
.badge{border-radius:3px}
.badge.active,.badge.approved{background:#dff4ef;color:#116f5d}
.auth-intro{position:relative}
.auth-intro::before{content:"";position:absolute;left:0;top:28px;bottom:28px;width:4px;background:linear-gradient(#1860ac 0 72%,#1abc9c 72%)}
.auth-intro h1{color:var(--navy)}
.auth-card{border-top:4px solid var(--brand);border-radius:6px}
.auth-card .full-button{border-left:4px solid #1abc9c}
.workflow .active{background:#edf4fb}.workflow .active>span,.signer-position{background:var(--brand)}
.signer-sequence-panel{background:#f1f6fb;border-color:#b8cee2}
.signer-panel-heading{border-top:3px solid var(--brand)}
.section-number,.step-number,.invite-seal,.auth-icon{border-radius:3px}
.delivery-banner,.message,.warning-box{border-radius:4px}
@media(max-width:900px){.app-header{border-bottom-width:2px}}

/* Live document viewer: large, resizable, and expandable to the full window. */
.doc-viewer{padding:0;overflow:hidden;scroll-margin-top:84px}
.doc-viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 22px;border-bottom:1px solid var(--line);background:#fff}
.doc-viewer-title{min-width:0}.doc-viewer-title h2{margin:2px 0;font-size:18px;overflow-wrap:anywhere}.doc-viewer-title p{margin:0;font-size:13px}
.doc-viewer-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex:0 0 auto}.doc-viewer-actions .button,.doc-viewer-actions button{padding:7px 12px;font-size:13px}
.doc-viewer-body{height:min(78vh,920px);min-height:320px;resize:vertical;overflow:auto;background:#e9eef2}
.doc-frame{display:block;width:100%;height:100%;border:0;background:#525659}
.doc-preview{height:100%;overflow:auto;padding:20px 16px 36px;outline-offset:-3px}
.doc-preview-note{max-width:820px;margin:0 auto 14px;padding:9px 13px;border:1px solid #d5e0ea;border-radius:4px;background:#f4f8fb;color:var(--muted);font-size:13px}
.doc-page{max-width:820px;margin:0 auto;padding:44px 52px;background:#fff;border:1px solid #d3dbe1;box-shadow:0 3px 14px rgba(2,29,58,.1);font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.doc-page p{margin:0 0 11px}.doc-page .doc-h1{margin:6px 0 14px;font-size:23px}.doc-page .doc-h2{margin:18px 0 9px;font-size:18px}.doc-page .doc-h3{margin:14px 0 7px;font-size:15px}
.doc-page .doc-list-item{padding-left:22px;position:relative}.doc-page .doc-list-item::before{content:"•";position:absolute;left:7px;color:var(--muted)}
.doc-table-wrap{overflow-x:auto;margin:6px 0 14px}.doc-table{width:100%;border-collapse:collapse;font-size:14px}.doc-table td{border:1px solid #cfd8de;padding:6px 9px;vertical-align:top;background:#fff}.doc-table tbody tr:hover{background:transparent}
.doc-unavailable{padding:40px 22px;text-align:center}
.doc-viewer.is-hidden .doc-viewer-body{display:none}.doc-viewer.is-hidden .doc-viewer-bar{border-bottom:0}
.doc-viewer.is-expanded{position:fixed;inset:0;z-index:60;margin:0;border:0;border-radius:0;display:flex;flex-direction:column;box-shadow:none}
.doc-viewer.is-expanded .doc-viewer-body{flex:1;height:auto;min-height:0;resize:none}
.doc-viewer.is-expanded [data-doc-toggle]{display:none}
body.doc-viewer-open{overflow:hidden}
.approve-step form,.upload-step form{min-width:0;width:100%}
.approve-step textarea,.upload-step textarea,.upload-step input[type=file]{width:100%;max-width:none}
.confirm-check{display:flex;align-items:flex-start;gap:9px;margin:8px 0 12px;padding:10px 12px;border:1px solid #b8cee2;border-radius:4px;background:#f1f6fb;font-weight:700;cursor:pointer}
.confirm-check input{flex:0 0 auto;width:18px;height:18px;margin-top:2px}
.approve-step button,.upload-step button{width:100%}
.step-number.alt{font-size:11px;text-transform:uppercase;background:#eef3f6;color:#536879}
.step-copy{margin:0 0 10px;color:var(--muted);font-size:13px}
.handoff-flow{grid-template-columns:minmax(0,.7fr) minmax(250px,1.15fr) minmax(250px,1.15fr)}
@media(max-width:960px){.handoff-flow{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.doc-viewer-bar{display:block}.doc-viewer-actions{justify-content:flex-start;margin-top:12px}.doc-viewer-body{height:70vh}.doc-page{padding:24px 20px}.doc-viewer [data-doc-expand]{order:-1}}
@media print{.doc-viewer-actions{display:none}.doc-viewer-body{height:auto;overflow:visible}}

/* Owner queue: corrections requested by a signer. */
.task-corrections{margin-bottom:14px}.task-card.task-correction{border-left-color:#d49333}
.task-reason{margin:8px 0 0;padding:8px 11px;border-left:3px solid #efcf91;background:#fff8e8;color:#6f4700;font-size:13px;overflow-wrap:anywhere}

/* Invitations: copyable one-time link, resend and cancel. */
.invite-link-main{min-width:0;flex:1}.copy-row{display:flex;gap:8px;margin-top:12px}.copy-row input{flex:1;min-width:0;font-family:ui-monospace,Consolas,monospace;font-size:12px;background:#fff}
.invite-controls{display:flex;align-items:center;gap:6px;flex:0 0 auto}.invite-controls form{margin:0}
@media(max-width:700px){.copy-row{flex-direction:column}.invite-row{flex-wrap:wrap}}

/* AI assistant: header entry and settings page. */
.header-ai{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid rgba(255,255,255,.35);border-radius:4px;color:#fff;font-size:13px;font-weight:900;text-decoration:none;white-space:nowrap}
.header-ai:hover{background:rgba(255,255,255,.1)}.header-ai.connected{border-color:rgba(26,188,156,.7)}.header-ai .status-dot{margin:0}
.assistant-status{margin-bottom:18px;padding:12px 14px;border:1px solid #bfe3d9;border-radius:4px;background:#f1faf7}.assistant-status p{margin:4px 0 0}
.assistant-secondary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.assistant-facts ul{margin:0;padding-left:20px}.assistant-facts li{margin-bottom:9px}
@media(max-width:680px){.header-ai{padding:7px 8px;font-size:12px}}

/* AI assistant chat drawer. */
.assistant-open{white-space:nowrap}
.assistant-panel{position:fixed;top:0;right:0;bottom:0;z-index:50;width:min(440px,100vw);display:flex;flex-direction:column;background:#fff;border-left:1px solid var(--line);box-shadow:-10px 0 30px rgba(2,29,58,.16)}
.assistant-panel[hidden]{display:none}
.assistant-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:var(--navy);color:#fff}
.assistant-head .eyebrow{color:#9fd8cb}.assistant-head strong{display:block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.assistant-head-actions{display:flex;align-items:center;gap:6px}.assistant-head-actions select{max-width:120px;padding:5px 6px;font-size:12px}
.assistant-thread{flex:1;overflow-y:auto;padding:16px;background:var(--bg);display:flex;flex-direction:column;gap:10px}
.assistant-welcome p{margin:0 0 12px;color:var(--muted)}.assistant-suggestions{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.assistant-message{max-width:92%;padding:9px 12px;border-radius:8px;background:#fff;border:1px solid var(--line)}
.assistant-message small{display:block;margin-bottom:2px;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.assistant-message.is-user{align-self:flex-end;background:var(--brand-soft);border-color:#c7dcf0}
.assistant-message.is-notice{align-self:center;max-width:100%;background:#fff8e8;border-color:#efcf91;color:#6f4700;font-size:13px}
.assistant-text{white-space:pre-wrap;overflow-wrap:anywhere}
.assistant-pending{align-self:flex-start;color:var(--muted);font-size:13px;font-style:italic}
.assistant-draft{padding:11px 12px;border:1px solid #bfe3d9;border-left:4px solid #1abc9c;border-radius:6px;background:#f6fcfa}
.assistant-draft small{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.assistant-draft p{margin:5px 0 9px;font-size:13px}.assistant-draft strong{display:block;overflow-wrap:anywhere;margin-bottom:6px}
.assistant-draft .button,.assistant-draft button{margin-right:6px}
.assistant-composer{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--line);background:#fff}
.assistant-composer textarea{flex:1;min-width:0;resize:none;max-width:none}.assistant-composer button{align-self:flex-end}
.assistant-foot{margin:0;padding:0 14px 10px;color:var(--muted);font-size:11px;background:#fff}
@media(min-width:1500px){body.assistant-open-body main{margin-right:460px}}
@media print{.assistant-panel,.assistant-open{display:none}}

/* User guide page and the dashboard quick guide. */
.quick-guide{padding:0;margin-bottom:18px}.quick-guide>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;cursor:pointer;list-style:none}.quick-guide>summary::-webkit-details-marker{display:none}
.quick-guide>summary small{display:block;color:var(--muted);font-weight:400}.quick-guide[open]>summary{border-bottom:1px solid var(--line)}.quick-guide-body{padding:16px 20px}.quick-guide-body p{margin:14px 0 0}
.help-steps{list-style:none;counter-reset:help;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0}
.help-steps li{counter-increment:help;position:relative;padding:12px 14px 12px 46px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft)}
.help-steps li::before{content:counter(help);position:absolute;left:12px;top:12px;display:grid;place-items:center;width:24px;height:24px;border-radius:3px;background:var(--brand);color:#fff;font-weight:900;font-size:13px}
.help-steps strong{display:block}.help-steps span{display:block;margin-top:3px;color:var(--muted);font-size:13px}
.help-toc{display:flex;flex-wrap:wrap;gap:8px 18px;padding:14px 20px}.help-toc a{font-weight:700;text-decoration:none}.help-toc a:hover{text-decoration:underline}
.help-section{scroll-margin-top:84px}.help-section h2{margin-top:0}.help-section li{margin-bottom:7px}.help-section ul ul,.help-section ol ul{margin-top:7px}
.help-terms{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:18px 0 0}.help-terms dt{font-weight:900}.help-terms dd{margin:0;color:var(--muted)}
.help-note{padding:9px 12px;border:1px solid #efcf91;border-radius:4px;background:#fff8e8;color:#6f4700}
.help-section details{border-top:1px solid var(--line);padding:11px 0}.help-section details summary{cursor:pointer;font-weight:700}.help-section details p{margin:8px 0 0;color:var(--muted)}
@media(max-width:800px){.help-steps{grid-template-columns:1fr}.help-terms{grid-template-columns:1fr;gap:2px}.help-terms dd{margin-bottom:10px}}

/* Automatic document check and suggested next step. */
.doc-check{border-left:4px solid #1abc9c;scroll-margin-top:84px}.doc-check.has-findings{border-left-color:#d49333}
.doc-check-head h2{margin:2px 0 4px}.doc-check-head p{margin:0;font-size:13px}
.doc-check-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.doc-check-list li{display:flex;gap:12px;align-items:flex-start;padding:9px 12px;border:1px solid var(--line);border-radius:5px;background:var(--surface-soft)}
.doc-check-list strong{display:block;font-weight:700}.doc-check-list small{display:block;color:var(--muted);overflow-wrap:anywhere}
.check-kind{flex:0 0 118px;padding:2px 7px;border-radius:3px;font-size:11px;font-weight:900;text-transform:uppercase;text-align:center;background:#fff3d6;color:#7a4d00}
.check-wrong_calculation .check-kind{background:#fde3e0;color:#9c1c10}.check-unreadable .check-kind{background:#e8ecf2;color:#4c586b}
.doc-check-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.doc-check-actions>.eyebrow{flex-basis:100%}.doc-check-actions form{margin:0}
.suggest>summary{list-style:none;cursor:pointer;display:inline-block}.suggest>summary::-webkit-details-marker{display:none}
.suggest[open]{flex-basis:100%}.suggest form{display:grid;gap:8px;max-width:720px;margin-top:10px}.suggest textarea{width:100%;max-width:none}.suggest label{font-weight:700}
.owner-revision-card{scroll-margin-top:84px}
@media(max-width:600px){.doc-check-list li{flex-direction:column;gap:5px}.check-kind{flex:none}}

/* Assistant: suggested next steps and the free built-in notice. */
.assistant-actions{padding:11px 12px;border:1px solid #c7dcf0;border-left:4px solid var(--brand);border-radius:6px;background:#f4f8fc}
.assistant-actions small{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}
.assistant-actions p{margin:6px 0 8px;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.assistant-actions button{margin:4px 6px 0 0}
.assistant-ready{border-left:4px solid #1abc9c}.assistant-ready h2{margin:2px 0 6px}
.assistant-own{padding:0}.assistant-own>summary{padding:14px 20px;cursor:pointer}.assistant-own .assistant-settings{padding:0 20px 20px}

/* Assistant answers: formatted text (bold, lists, headings). */
.assistant-text.is-formatted{white-space:normal}
.assistant-text.is-formatted p{margin:0 0 8px}.assistant-text.is-formatted>:last-child{margin-bottom:0}
.assistant-text.is-formatted ul,.assistant-text.is-formatted ol{margin:0 0 8px;padding-left:20px}.assistant-text.is-formatted li{margin-bottom:3px}
.assistant-text.is-formatted .assistant-heading{margin:10px 0 4px;font-weight:900;color:var(--ink)}.assistant-text.is-formatted .assistant-heading:first-child{margin-top:0}
.assistant-text.is-formatted code{padding:1px 4px;border-radius:3px;background:#eef2f6;font-family:ui-monospace,Consolas,monospace;font-size:.92em}

/* Document lifecycle: every stage end to end, current one marked, later ones greyed. */
.lifecycle-wrap{margin:0 0 18px;padding:16px 18px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 2px 8px rgba(2,29,58,.035);overflow-x:auto}
.lifecycle{display:flex;gap:0;list-style:none;margin:0;padding:0;min-width:640px}
.lifecycle-stage{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 6px;min-width:0}
.lifecycle-stage::before{content:"";position:absolute;top:15px;left:-50%;width:100%;height:3px;background:var(--line);z-index:0}
.lifecycle-stage:first-child::before{display:none}
.lifecycle-stage.is-done::before,.lifecycle-stage.is-current::before,.lifecycle-stage.is-attention::before,.lifecycle-stage.is-stopped::before{background:#1abc9c}
.lifecycle-dot{position:relative;z-index:1;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:2px solid var(--line);background:#fff;color:#8795a1;font-weight:900;font-size:14px}
.lifecycle-text{margin-top:7px;min-width:0}.lifecycle-text strong{display:block;font-size:14px}.lifecycle-text small{display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.lifecycle-stage.is-done .lifecycle-dot{border-color:#1abc9c;background:#1abc9c;color:#fff}
.lifecycle-stage.is-current .lifecycle-dot{border-color:var(--brand);background:var(--brand);color:#fff;box-shadow:0 0 0 5px var(--brand-soft)}
.lifecycle-stage.is-current .lifecycle-text strong{color:var(--brand)}
.lifecycle-stage.is-attention .lifecycle-dot{border-color:#d49333;background:#d49333;color:#fff;box-shadow:0 0 0 5px #fff3d6}
.lifecycle-stage.is-attention .lifecycle-text strong{color:#8a5200}
.lifecycle-stage.is-stopped .lifecycle-dot{border-color:var(--bad);background:var(--bad);color:#fff;box-shadow:0 0 0 5px #fde3e0}
.lifecycle-stage.is-stopped .lifecycle-text strong{color:var(--bad)}
.lifecycle-stage.is-upcoming,.lifecycle-stage.is-skipped{opacity:.55}
.lifecycle-stage.is-upcoming .lifecycle-text strong,.lifecycle-stage.is-skipped .lifecycle-text strong{color:#8795a1;font-weight:700}
.lifecycle-stage.is-upcoming .lifecycle-dot,.lifecycle-stage.is-skipped .lifecycle-dot{background:#f1f4f7}
@media(max-width:700px){.lifecycle-wrap{overflow:visible;padding:14px 16px}.lifecycle{flex-direction:column;gap:12px;min-width:0}
  .lifecycle-stage{flex-direction:row;align-items:flex-start;text-align:left;gap:12px;padding:0}.lifecycle-text{margin-top:4px}
  .lifecycle-stage::before{top:-12px;left:15px;width:3px;height:12px}}
@media print{.lifecycle-wrap{box-shadow:none}}

/* Dashboard: a five-segment lifecycle track under each stage badge. */
.mini-life{display:flex;gap:3px;margin-top:6px;width:96px}
.mini-life i{flex:1;height:5px;border-radius:3px;background:#e1e7ec}
.mini-life i.is-done{background:#1abc9c}.mini-life i.is-current{background:var(--brand)}
.mini-life i.is-attention{background:#d49333}.mini-life i.is-stopped{background:var(--bad)}
.mini-life i.is-skipped{background:repeating-linear-gradient(90deg,#cfd8de 0 4px,#fff 4px 7px)}

/* Document page on wide screens: the document on the left stays in view while
   the workflow, the automatic check and the actions scroll on the right.
   Below 1280px nothing changes: the wrappers are plain blocks in page order. */
.doc-side-rest{min-width:0}
@media(min-width:1280px){
  main:has(.doc-layout){max-width:1680px}
  .doc-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(420px,1fr);grid-template-rows:auto 1fr;column-gap:20px;align-items:start}
  .doc-layout>.doc-workflow{grid-column:2;grid-row:1;min-width:0}
  .doc-layout>.doc-side-rest{grid-column:2;grid-row:2}
  .doc-layout>.doc-viewer{grid-column:1;grid-row:1 / span 2;min-width:0}
  .doc-layout>.doc-viewer:not(.is-expanded){position:sticky;top:84px;margin-bottom:0}
  .doc-layout>.doc-viewer:not(.is-expanded):not(.is-hidden) .doc-viewer-body{height:calc(100vh - 200px);min-height:420px;resize:none}
  .doc-layout .doc-viewer-bar{flex-wrap:wrap}
  .doc-layout .doc-workflow .workflow{flex-wrap:wrap}.doc-layout .doc-workflow .workflow li{flex:1 1 180px}
  .doc-side-rest .handoff-flow{display:block;padding:20px 22px}
  .doc-side-rest .handoff-step,.doc-side-rest .handoff-step+.handoff-step{padding:0;border-left:0}
  .doc-side-rest .handoff-step+.handoff-step{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
  .doc-side-rest .upload-step{margin-top:18px;padding-top:18px!important}
  .doc-side-rest .action-header{padding:18px 22px}
  .doc-side-rest .doc-check-list li{flex-direction:column;gap:5px}.doc-side-rest .check-kind{flex:none}
  .doc-side-rest .waiting-card,.doc-side-rest .current-version-card{flex-wrap:wrap}
}
/* With the assistant drawer docked beside the page there is no room for two columns. */
@media(min-width:1500px){body.assistant-open-body .doc-layout{display:block}
  body.assistant-open-body .doc-layout>.doc-viewer:not(.is-expanded){position:static;margin-bottom:20px}
  body.assistant-open-body .doc-layout>.doc-viewer:not(.is-expanded):not(.is-hidden) .doc-viewer-body{height:min(78vh,920px);resize:vertical}}
@media print{.doc-layout{display:block}}

/* The step after approval: record the submission, then archive. */
.next-stage-card{border-left:4px solid var(--brand);scroll-margin-top:84px}.next-stage-card h2{margin:2px 0 6px}
.next-stage-card form{max-width:560px}.next-stage-card input[name=comment]{width:100%;max-width:none}
.next-stage-actions{display:flex;flex-wrap:wrap;gap:10px}.next-stage-actions form{margin:0}
.badge.submitted{background:#e3ecfb;color:#1a4f9c}

/* Platform operator: organisations */
.platform-list { display: grid; gap: 12px; }
.platform-row { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; justify-content: space-between; padding: 16px; border: 1px solid var(--line, #e3e6ea); border-radius: 12px; }
.platform-row.inactive { opacity: .7; }
.platform-main { flex: 1 1 320px; min-width: 0; }
.platform-rename, .platform-invite { display: flex; gap: 8px; align-items: center; }
.platform-rename input { flex: 1 1 auto; min-width: 0; font-weight: 600; }
.platform-invite input { flex: 1 1 200px; min-width: 0; }
.platform-counts { margin: 10px 0 0; color: var(--muted, #5b6470); font-size: .92rem; }
.platform-warning { margin: 8px 0 0; color: #9a5b00; font-size: .92rem; }
.platform-actions { display: grid; gap: 8px; flex: 0 1 380px; justify-items: end; }
.platform-actions form { width: 100%; justify-content: flex-end; display: flex; }
.platform-steps { margin: 0 0 12px; padding-left: 20px; display: grid; gap: 6px; }
@media (max-width: 720px) { .platform-actions { flex-basis: 100%; justify-items: stretch; } }

/* In-app signature */
.signature-tag { display: inline-block; padding: 1px 7px; border-radius: 999px; border: 1px solid #c9a227; color: #7a5a00; font-size: .78rem; }
.signature-tag.done { border-color: #2e8b57; color: #1f6b41; }
.signer-must-sign { display: inline-flex; align-items: center; gap: 5px; font-size: .82rem; white-space: nowrap; color: var(--muted, #5b6470); cursor: pointer; }
.signer-must-sign input { width: auto; margin: 0; }
.sign-tabs { display: flex; flex-wrap: wrap; gap: 14px; margin: 10px 0; }
.sign-tabs label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.sign-tabs input { width: auto; margin: 0; }
.signature-pad { display: block; width: 100%; max-width: 480px; aspect-ratio: 3 / 1; height: auto; border: 1px dashed #9aa3ad; border-radius: 10px; background: #fff; touch-action: none; cursor: crosshair; }
/* Draft: make it obvious that signing has not started */
.draft-banner { border-left-color: #6b7a90; flex-wrap: wrap; margin-bottom: 18px; }
.draft-banner .draft-banner-body { flex: 1 1 320px; min-width: 0; }
.draft-banner form button { white-space: nowrap; padding: 11px 18px; }
.form-submit-buttons { display: inline-flex; flex-wrap: wrap; gap: 10px; }

/* Automatic refresh: shown instead of reloading while someone is typing */
.pulse-toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:40;display:flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;border-radius:10px;background:var(--navy);color:#fff;box-shadow:0 10px 30px rgba(2,29,58,.16);font-size:14px}
.pulse-toast button{padding:6px 12px}

/* Signer tools: reminder and replacement */
.signer-tools{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:14px}
.reminder-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.reminder-row p{margin:0}
.replace-signer summary{cursor:pointer;font-weight:650;color:var(--brand)}
.replace-form{display:grid;gap:10px;max-width:520px;margin-top:12px}
.replace-form p{margin:0}
.replace-form label{display:block;font-weight:650;margin-bottom:4px}
.replace-form button{justify-self:start}

/* The hidden attribute must win over the display rules above */
.pulse-toast[hidden],.count[hidden]{display:none}

/* Operator page: per-organisation assistant settings */
.platform-settings{flex:1 1 100%;order:3;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding-top:12px;border-top:1px dashed var(--line);font-size:14px}
.platform-settings input[type=number]{width:100px;display:inline-block;padding:6px 8px}
.platform-settings input[type=checkbox]{width:auto;margin:0 4px 0 0}
.platform-rename { flex-wrap: wrap; }
.platform-address { display: inline-flex; align-items: center; gap: 4px; flex: 0 1 220px; min-width: 0; }
.platform-address input { font-weight: 400; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .9rem; }
.platform-address small { color: var(--muted, #5b6470); white-space: nowrap; }
