:root{color:#17233c;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box}html,body{background:#f4f7fb;min-width:320px;min-height:100%;margin:0}body{min-height:100vh}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}#app{min-height:100vh}:root{--ink:#17233c;--muted:#62708a;--line:#dce3ee;--panel:#fff;--primary:#176b87;--primary-dark:#0f526a;--danger:#a63c47;--success:#16745a;--shadow:0 18px 45px #1e314f17}.page-shell{background:radial-gradient(circle at 12% 10%,#176b871c,#0000 28rem),linear-gradient(#f8fafc,#eef3f8);min-height:100vh}.brand-bar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;border-bottom:1px solid #dce3eee6;justify-content:space-between;align-items:center;min-height:76px;padding:0 5vw;display:flex}.brand{color:var(--ink);align-items:center;gap:.75rem;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;background:linear-gradient(145deg, var(--primary), #2596a8);border-radius:13px;place-items:center;width:42px;height:42px;font-size:1.35rem;font-weight:800;display:grid;box-shadow:0 8px 18px #176b8738}.brand strong,.brand small{display:block}.brand strong{letter-spacing:-.02em;font-size:1.05rem}.brand small{color:var(--muted);margin-top:.1rem;font-size:.75rem}.secure-label{color:var(--success);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:700}.secure-label:before{content:"";background:var(--success);border-radius:50%;width:7px;height:7px;margin-right:.5rem;display:inline-block;box-shadow:0 0 0 4px #16745a1c}.content-shell{width:min(860px,100% - 2rem);margin:0 auto;padding:4rem 0 3rem}.signing-shell{width:min(1120px,100% - 2rem);margin:0 auto;padding:2.5rem 0 3rem}.signing-heading{justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem;display:flex}.signing-heading h1{color:var(--ink);margin:.15rem 0 .45rem}.signing-heading p:not(.eyebrow){color:var(--muted);margin:0}.document-frame-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:20px;margin-bottom:1.5rem;overflow:hidden}.document-frame-card iframe{border:0;width:100%;height:min(65vh,720px);display:block}.document-frame-card>p{color:var(--muted);margin:0;padding:.8rem 1rem;font-size:.72rem}.document-frame-card code{overflow-wrap:anywhere}.signing-confirmation{margin-bottom:1.5rem;padding:1.7rem}.signature-code-fieldset{border:0;min-width:0;margin:.55rem 0 0;padding:0}.signature-code-fieldset .field-label{padding:0}.signature-code{flex-wrap:wrap;gap:.55rem;margin-top:.65rem;display:flex}.signature-code__digit{text-align:center;letter-spacing:0;width:48px;min-height:52px;padding:.55rem .25rem;font-size:1.35rem;font-weight:750}.consent-row{width:fit-content;max-width:620px;color:var(--ink);align-items:flex-start;gap:.55rem;margin:.8rem 0 1rem;font-size:.88rem;line-height:1.45;display:flex}.consent-row input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--primary);border-radius:3px;flex:none;margin:.15rem 0 0;padding:0}.hero{justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:2rem;display:flex}.hero h1,.state-card h1{color:var(--ink);letter-spacing:-.045em;margin:.2rem 0 .75rem;font-size:clamp(2rem,5vw,3.2rem);line-height:1.05}.hero p:not(.eyebrow){max-width:620px;color:var(--muted);margin:0;font-size:1.03rem;line-height:1.7}.eyebrow{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .5rem;font-size:.76rem;font-weight:800}.context-chip,.status-pill{border:1px solid var(--line);color:var(--muted);background:#ffffffb8;border-radius:999px;flex:none;padding:.55rem .8rem;font-size:.8rem;font-weight:700}.status-card,.form-card,.confirmation-card,.state-card,.method-grid{background:var(--panel);box-shadow:var(--shadow);border:1px solid #dce3eef2;border-radius:22px}.status-card{justify-content:space-between;align-items:center;padding:1.5rem 1.7rem;display:flex}.status-card h2,.section-heading h2,.confirmation-card h2{color:var(--ink);letter-spacing:-.025em;margin:0;font-size:1.35rem}.status-card .muted{margin:.35rem 0 0;font-size:.86rem}.muted,.caption{color:var(--muted)}.status-pill--ready{color:var(--success);background:#edf9f5;border-color:#16745a33}.method-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem;padding:1.7rem;display:grid}.section-heading--wide{grid-column:1/-1;margin-bottom:.25rem}.section-heading>p:not(.eyebrow){color:var(--muted);margin:.5rem 0 0;line-height:1.6}.method-card{border:1px solid var(--line);min-height:128px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:17px;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.2rem;transition:border-color .16s,transform .16s,box-shadow .16s;display:grid}.method-card:hover,.method-card:focus-visible{border-color:#176b8780;outline:none;transform:translateY(-2px);box-shadow:0 12px 26px #176b871a}.method-card strong,.method-card small{display:block}.method-card strong{margin-bottom:.35rem}.method-card small{color:var(--muted);line-height:1.45}.method-icon{width:48px;height:48px;color:var(--primary-dark);letter-spacing:.06em;background:#e8f5f7;border-radius:14px;place-items:center;font-size:.83rem;font-weight:900;display:grid}.method-icon--totp{color:#7b5618;background:#fff4dd;font-size:1.4rem}.method-arrow{color:var(--primary);font-size:1.3rem}.form-card,.confirmation-card{margin-top:1.25rem;padding:1.7rem}.confirmation-card{background:#fffaf0;border-color:#e7a83e73}.confirmation-card>p:not(.eyebrow){color:#6f5a35;line-height:1.6}form{gap:.65rem;margin-top:1.5rem;display:grid}label{color:var(--ink);margin-top:.55rem;font-size:.88rem;font-weight:700}input{width:100%;min-height:48px;color:var(--ink);letter-spacing:.08em;background:#fff;border:1px solid #cbd5e2;border-radius:12px;padding:.75rem .9rem;font-size:1.1rem}input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #176b871f}.button-row{justify-content:flex-end;gap:.75rem;margin-top:1.1rem;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:11px;min-height:44px;padding:.68rem 1.05rem;font-weight:750;transition:background .15s,border-color .15s,transform .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:focus-visible{outline:none;box-shadow:0 0 0 4px #176b8724}.button:disabled{cursor:wait;opacity:.62}.button--primary{color:#fff;background:var(--primary)}.button--primary:hover:not(:disabled){background:var(--primary-dark)}.button--secondary{border-color:var(--line);color:var(--ink);background:#fff}.button--danger{color:#fff;background:var(--danger)}.alert{border-radius:12px;padding:.9rem 1rem;line-height:1.45}.alert--error{color:#8c2d38;background:#fff0f1}.alert--success{color:#0f6049;background:#eaf8f3;margin-bottom:1.25rem}.totp-grid{grid-template-columns:auto 1fr;align-items:center;gap:1.5rem;margin-top:1.5rem;display:grid}.qr-frame{border:1px solid var(--line);text-align:center;background:#fff;border-radius:15px;min-width:230px;padding:.4rem}.qr-frame canvas{max-width:100%;margin:0 auto;display:block;height:auto!important}.manual-key code{overflow-wrap:anywhere;color:var(--ink);letter-spacing:.08em;background:#f7f9fc;border:1px dashed #b9c5d5;border-radius:10px;margin:.8rem 0;padding:.9rem;font-size:.92rem;display:block}.caption{font-size:.78rem}.state-card{text-align:center;max-width:620px;margin:8vh auto 0;padding:3rem}.state-card.compact{margin:1.25rem 0 0;padding:1.7rem}.state-card p{color:var(--muted);line-height:1.6}.state-card .button{margin-top:.75rem}.state-icon{color:#8c2d38;background:#fff0f1;border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 1.2rem;font-size:1.45rem;font-weight:900;display:grid}.state-icon--success{color:var(--success);background:#eaf8f3}.spinner{border:3px solid #dbe7ec;border-top-color:var(--primary);border-radius:50%;width:34px;height:34px;margin-bottom:1rem;animation:.8s linear infinite spin;display:inline-block}.page-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.25rem;display:flex}.page-actions p{color:var(--muted);margin:0;font-size:.82rem}.verification-shell{width:min(1040px,100% - 2rem);margin:0 auto;padding:3rem 0}.verification-hero{box-shadow:var(--shadow);background:#edf9f5;border:1px solid #16745a33;border-radius:22px;grid-template-columns:auto 1fr auto;align-items:center;gap:1.25rem;padding:1.8rem;display:grid}.verification-hero--revoked{background:#fff4f4;border-color:#a63c4738}.verification-hero .state-icon{margin:0}.verification-hero h1{color:var(--ink);margin:.15rem 0 .35rem;font-size:clamp(1.75rem,4vw,2.55rem)}.verification-hero p:not(.eyebrow){color:var(--muted);margin:0}.state-icon--revoked{color:var(--danger);background:#ffe3e6}.verification-revocation{flex-direction:column;gap:.25rem;margin:1rem 0;display:flex}.verification-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:22px;margin-top:1.25rem;overflow:hidden}.verification-summary{background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.verification-summary>div{background:#fff;padding:1.25rem}.verification-summary span,.verification-hash>span,.verification-signer span{color:var(--muted);text-transform:uppercase;margin-bottom:.3rem;font-size:.72rem;font-weight:700;display:block}.verification-summary strong{color:var(--ink)}.verification-hash{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8fafc;padding:1.25rem}.verification-hash code{overflow-wrap:anywhere;color:var(--ink);font-size:.8rem;display:block}.verification-signers{padding:1.5rem}.verification-signer{border:1px solid var(--line);border-radius:15px;grid-template-columns:auto 1.4fr repeat(3,1fr);align-items:center;gap:1rem;margin-top:.85rem;padding:1rem;display:grid}.verification-signer strong,.verification-signer small{color:var(--ink);display:block}.verification-signer small{color:var(--muted);margin-top:.2rem}.signer-order{background:var(--primary);border-radius:50%;place-items:center;width:32px;height:32px;color:#fff!important;margin:0!important;font-size:.85rem!important;display:grid!important}.verification-footer{border-top:1px solid var(--line);background:#f8fafc;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.verification-footer p{color:var(--muted);margin:0;font-size:.82rem}.verification-footer .button{text-decoration:none}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=680px){.brand-bar{padding:0 1rem}.secure-label{font-size:0}.secure-label:before{margin-right:0}.content-shell{padding-top:2rem}.hero,.status-card,.page-actions{flex-direction:column;align-items:flex-start}.method-grid,.totp-grid{grid-template-columns:1fr}.qr-frame{min-width:0}.button-row{flex-direction:column-reverse}.button-row .button,.page-actions .button{width:100%}.state-card,.form-card,.confirmation-card,.method-grid{border-radius:17px;padding:1.25rem}.verification-shell{padding-top:1.5rem}.verification-hero{grid-template-columns:auto 1fr;padding:1.25rem}.verification-hero .context-chip{grid-column:1/-1}.verification-summary{grid-template-columns:1fr}.verification-signer{grid-template-columns:auto 1fr}.verification-signer>div:nth-of-type(n+2){grid-column:2}.verification-footer{flex-direction:column;align-items:stretch}.verification-footer .button{text-align:center}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
