.document-signing-panel { border: 1px solid var(--border-color, #7776); border-radius: 14px; padding: 16px; margin: 14px 0; color: inherit; background: var(--card-bg, transparent); }
.document-signing-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.document-signing-heading button { min-height: 38px; padding: 7px 13px; color: #312e81; background: #e8e7ff; border: 1px solid #a5a1ed; border-radius: 8px; font-weight: 800; cursor: pointer; }
.document-signing-heading button:hover { background: #d8d5fc; border-color: #6963cb; }
:root[data-theme="dark"] .document-signing-heading button { color: #f8f7ff; background: #45336b; border-color: #9882d2; }
:root[data-theme="dark"] .document-signing-heading button:hover { background: #5a4383; border-color: #c2afea; }
.document-signing-panel p { line-height: 1.55; margin: 10px 0; }
.document-signing-identity { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap: 8px; margin-top: 12px; }
.document-signing-identity > div { border: 1px solid var(--border-color, #7776); border-radius: 9px; padding: 9px 11px; min-width: 0; }
.document-signing-identity span { display: block; opacity: .75; font-size: .78rem; margin-bottom: 4px; }
.document-signing-identity strong { display: block; line-height: 1.35; overflow-wrap: anywhere; }
.document-signing-panel summary { cursor: pointer; padding: 8px 0; font-weight: 600; }
.document-signing-panel dt { font-weight: 600; margin-top: 12px; }
.document-signing-panel dd { margin: 4px 0 0; overflow-wrap: anywhere; line-height: 1.5; }
.document-signing-panel code { font-size: .86em; }
.document-signing-panel :focus-visible { outline: 2px solid #8b5cf6; outline-offset: 3px; }

/* A cohesive card and visible actions at rest; no capability is granted here. */
:is(.document-signing-panel,.document-signing-office) {
  --sig-bg:#fff; --sig-soft:#f6f3fb; --sig-ink:#282136; --sig-muted:#645b73;
  --sig-line:#ddd5e9; --sig-accent:#7046ac; --sig-button:#6840a6; --sig-ok:#237056;
  padding:clamp(18px,3vw,28px); margin:18px 0; border:1px solid var(--sig-line);
  border-radius:20px; color:var(--sig-ink)!important; background:var(--sig-bg)!important;
  font-family:var(--section-heading-font,system-ui,sans-serif); line-height:1.6;
  min-width:0; box-shadow:0 8px 28px #27113c08;
}
:root[data-theme="dark"] :is(.document-signing-panel,.document-signing-office) {
  --sig-bg:#21182f; --sig-soft:#2c213d; --sig-ink:#f5efff; --sig-muted:#c5b9d5;
  --sig-line:#554269; --sig-accent:#d8b9ff; --sig-button:#794eb7; --sig-ok:#86d8b8;
}
:root[data-theme="sober"] :is(.document-signing-panel,.document-signing-office) {
  --sig-bg:var(--sober-surface-raised,#fff); --sig-soft:var(--sober-surface-muted,#f2f4f7);
  --sig-ink:var(--sober-ink,#243044); --sig-muted:var(--sober-ink-soft,#536175);
  --sig-line:var(--sober-border,#ccd4df); --sig-accent:var(--sober-accent-strong,#344968);
  --sig-button:var(--sober-accent-strong,#344968); --sig-ok:var(--sober-ink,#243044);
}
:root[data-theme="sober"][data-appearance-variant="graphite"] :is(.document-signing-panel,.document-signing-office) {
  --sig-bg:#363f44; --sig-soft:#3d474c; --sig-ink:#eff1f2; --sig-muted:#d6dbde;
  --sig-line:#59656b; --sig-accent:#e2e7e9; --sig-button:#52626a; --sig-ok:#c7d0d4;
}
:root[data-theme] :is(.document-signing-panel,.document-signing-office) :is(p,span,strong,h3,h4,dt,dd,label,summary,code) {font-family:inherit!important; color:inherit;}
:root[data-theme] .document-signing-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.document-signing-title {display:flex;align-items:center;gap:14px;min-width:0;}
.document-signing-icon {display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--sig-soft);border:1px solid var(--sig-line);color:var(--sig-accent)!important;flex-shrink:0;}
.document-signing-icon svg {width:27px;height:27px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
:root[data-theme] .document-signing-eyebrow {display:block;color:var(--sig-muted)!important;font-size:11px;font-weight:750;letter-spacing:.07em;text-transform:uppercase;margin-bottom:3px;}
:root[data-theme] :is(.document-signing-panel,.document-signing-office) h3 {margin:0!important;font-size:19px!important;font-weight:750!important;line-height:1.3;color:var(--sig-ink)!important;}
:root[data-theme] :is(.document-signing-panel,.document-signing-office) p {color:var(--sig-muted)!important;line-height:1.65;font-size:13px;margin:13px 0;}
.document-signing-status {display:inline-flex;align-items:center;gap:9px;max-width:100%;padding:7px 11px;margin-top:20px;background:var(--sig-soft);color:var(--sig-accent)!important;border:1px solid var(--sig-line);border-radius:9px;font-size:12px;}
.document-signing-status-dot {height:7px;width:7px;border-radius:50%;background:currentColor;flex-shrink:0;}
.signing-state-verified .document-signing-status {color:var(--sig-ok)!important;}
.document-signing-guarantees,.document-signing-identity {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;}
:is(.document-signing-guarantees,.document-signing-identity)>div {padding:12px 14px;border:1px solid var(--sig-line);border-radius:12px;background:var(--sig-soft);min-width:0;}
:root[data-theme] :is(.document-signing-guarantees,.document-signing-identity) span {display:block;color:var(--sig-muted)!important;font-size:11px;margin-bottom:4px;}
:is(.document-signing-guarantees,.document-signing-identity) strong {display:block;font-size:13px;line-height:1.5;overflow-wrap:anywhere;}
:root[data-theme] :is(.document-signing-panel,.document-signing-office) button {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 15px!important;border:1px solid var(--sig-line)!important;border-radius:11px!important;background:var(--sig-soft)!important;color:var(--sig-ink)!important;font-family:inherit!important;font-size:13px!important;font-weight:750!important;line-height:1.4;cursor:pointer;box-shadow:none!important;white-space:normal;text-align:center;}
:root[data-theme] :is(.document-signing-panel,.document-signing-office) .document-signing-primary {background:var(--sig-button)!important;color:#fff!important;border-color:var(--sig-button)!important;box-shadow:0 4px 14px #31214d1a!important;}
:root[data-theme] :is(.document-signing-panel,.document-signing-office) button:not(:disabled):hover {filter:brightness(1.08);transform:translateY(-1px);}
:root[data-theme] :is(.document-signing-panel,.document-signing-office) button:disabled {opacity:.55;cursor:not-allowed;transform:none;}
.document-signing-details {margin-top:18px;border:1px solid var(--sig-line);border-radius:13px;background:var(--sig-soft);overflow:hidden;}
:root[data-theme] .document-signing-details summary {cursor:pointer;padding:14px 16px;color:var(--sig-ink)!important;font-weight:750;font-size:13px;}
.document-signing-details[open] summary {border-bottom:1px solid var(--sig-line);}
.document-signing-details dl {display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,2fr);gap:13px 18px;margin:0;padding:18px;font-size:12px;}
:root[data-theme] .document-signing-details dt {color:var(--sig-muted)!important;margin:0;font-weight:650;}
.document-signing-details dd {margin:0;overflow-wrap:anywhere;line-height:1.65;min-width:0;}
.document-signing-details code {font-size:11px;padding:4px 6px;background:var(--sig-bg);border-radius:5px;white-space:normal;overflow-wrap:anywhere;}
.document-signing-details>p {padding:0 18px 16px;}
.document-signing-office .office-preview-result {padding:16px;border:1px solid var(--sig-line);border-radius:13px;background:var(--sig-soft);margin-top:16px;}
:root[data-theme] .document-signing-office a {display:inline-block;padding:9px 12px;color:var(--sig-accent)!important;border:1px solid var(--sig-line);border-radius:9px;font-weight:700;}
.document-signing-office li {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px;border-bottom:1px solid var(--sig-line);overflow-wrap:anywhere;}
:is(.document-signing-panel,.document-signing-office) :focus-visible {outline:3px solid var(--sig-accent);outline-offset:3px;}
@media(max-width:620px) {
 .document-signing-guarantees,.document-signing-identity {grid-template-columns:1fr;}
 .document-signing-title {gap:10px;}
 .document-signing-heading button {width:100%;}
 .document-signing-details dl {grid-template-columns:1fr;gap:5px;padding:14px;}
 .document-signing-details dd {margin-bottom:12px;}
}
