:root{
  --ink:#252126;--ink-soft:#686168;--paper:#f4f2ee;--white:#fff;--line:#dedad3;
  --burgundy:#5d1731;--burgundy-dark:#401020;--gold:#ad8a4c;--green:#216c55;--amber:#8b6418;--red:#9a3232;
  --shadow:0 14px 42px rgba(30,24,27,.09);--radius:8px;--topbar:72px;
}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.45}a{color:inherit}button,input,select,textarea{font:inherit}.topbar{height:var(--topbar);background:#211d20;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:1000;box-shadow:0 2px 14px rgba(0,0,0,.18)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{width:37px;height:37px;border:1px solid rgba(255,255,255,.65);display:grid;place-items:center;font-family:Georgia,serif;font-size:22px}.brand small,.brand strong{display:block}.brand small{font-size:8px;letter-spacing:2.1px;color:#c9c3c6}.brand strong{font-size:18px;letter-spacing:1.4px}.topnav{display:flex;align-items:center;gap:22px;font-size:13px}.topnav>a{text-decoration:none;color:#e4dfe1}.topnav>a:hover{color:#fff}.user-chip{border-left:1px solid #51484d;padding-left:20px;color:#cfc7cb}.inline-form{display:inline;margin:0}.link-button{border:0;background:none;color:#cfc7cb;padding:0;cursor:pointer}.link-button:hover{color:#fff}.page-shell{width:min(1440px,calc(100% - 48px));margin:0 auto;padding:42px 0 70px}.site-footer{text-align:center;color:#847d80;font-size:11px;letter-spacing:.3px;padding:0 20px 28px}.flash{position:fixed;right:24px;top:88px;z-index:2000;padding:14px 18px;max-width:520px;border-radius:5px;background:#fff;box-shadow:var(--shadow);border-left:4px solid var(--burgundy);font-size:14px}.flash-success{border-color:var(--green)}.flash-error{border-color:var(--red)}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,Times,serif;font-size:38px;line-height:1.08;font-weight:500;margin-bottom:10px}h2{font-size:18px;margin-bottom:14px}h3{font-size:14px}.eyebrow{font-size:10px;letter-spacing:2.1px;color:var(--burgundy);font-weight:800;margin-bottom:10px}.page-heading{margin-bottom:30px}.page-heading p{color:var(--ink-soft);margin:0}.split-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.back-link{display:inline-block;font-size:12px;color:var(--ink-soft);text-decoration:none;margin-bottom:16px}.lede{font-size:16px;color:var(--ink-soft)}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 18px rgba(30,25,28,.035);margin-bottom:24px}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #ebe8e3}.panel-heading h2{margin:0}.panel-heading span{font-size:12px;color:var(--ink-soft)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:4px;border:1px solid transparent;font-size:11px;font-weight:800;letter-spacing:.65px;text-decoration:none;cursor:pointer;white-space:nowrap}.button-primary{background:var(--burgundy);color:#fff}.button-primary:hover{background:var(--burgundy-dark)}.button-secondary{background:#fff;border-color:#bbb4b8;color:#342e32}.button-secondary:hover{border-color:#5d5359}.button-danger{background:#fff;border-color:#c98888;color:var(--red)}.button-wide{width:100%}.mini-button{background:#fff;border:1px solid #c7c1c4;border-radius:4px;padding:7px 10px;font-size:11px;cursor:pointer;color:#433b40}.mini-button:hover{border-color:var(--burgundy);color:var(--burgundy)}.auth-shell{min-height:calc(100vh - var(--topbar) - 70px);display:grid;place-items:center}.auth-card{width:min(470px,100%);background:#fff;border:1px solid var(--line);padding:44px 46px;box-shadow:var(--shadow)}.fine-print,.field-help{font-size:11px;color:#817a7e}.fine-print{margin:22px 0 0;text-align:center}.stack-form{display:flex;flex-direction:column;gap:16px}.stack-form label,.envelope-form label,.properties-panel label,.sign-sidebar label{font-size:12px;font-weight:700;color:#494247;display:flex;flex-direction:column;gap:7px}.stack-form input,.stack-form select,.stack-form textarea,.envelope-form input,.envelope-form select,.envelope-form textarea,.properties-panel input,.properties-panel select,.sign-sidebar textarea{width:100%;border:1px solid #cfc9c5;background:#fff;padding:11px 12px;border-radius:4px;outline:none;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--burgundy);box-shadow:0 0 0 3px rgba(93,23,49,.08)}.check-label{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important;font-weight:500!important}.check-label input{width:auto!important;margin:0}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;color:#746d71;font-size:10px;letter-spacing:.8px;text-transform:uppercase;padding:12px 18px;background:#faf9f7;border-bottom:1px solid var(--line)}.data-table td{padding:16px 18px;border-bottom:1px solid #ece9e5;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table td small{display:block;color:var(--ink-soft);margin-top:3px}.compact td,.compact th{padding:12px 14px}.table-wrap{overflow:auto}.table-link{font-size:10px;font-weight:800;color:var(--burgundy);text-decoration:none;letter-spacing:.7px}.progress-numbers{font-size:11px;color:var(--ink-soft)}.progress-bar{width:110px;height:4px;background:#e8e5e1;margin-top:5px}.progress-bar i{display:block;height:100%;background:var(--burgundy)}.status{display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;font-size:9px;font-weight:900;letter-spacing:.65px;padding:5px 8px;border-radius:20px;background:#ece9e5;color:#615b5e;white-space:nowrap}.status-large{font-size:10px;padding:8px 12px}.status-completed,.status-signed{background:#e2f0e9;color:var(--green)}.status-in_progress,.status-sent,.status-viewed,.status-completing{background:#f7ecd4;color:var(--amber)}.status-draft,.status-pending{background:#ebe8e5;color:#686164}.status-declined,.status-voided,.status-expired,.status-completion_error{background:#f5dfdf;color:var(--red)}.document-grid{padding:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.document-card{display:grid;grid-template-columns:50px 1fr;gap:15px;border:1px solid #e3dfda;padding:18px;background:#fcfbfa}.document-icon{width:46px;height:56px;background:#ede8e4;display:grid;place-items:center;color:var(--burgundy);font-size:10px;font-weight:900}.document-card-body h3{font-size:16px;margin:9px 0 5px}.document-card-body p,.document-card-body small{color:var(--ink-soft);font-size:11px;margin:0}.document-card>.button{grid-column:1/-1}.empty-state{padding:36px;text-align:center;color:var(--ink-soft)}.two-column-admin{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}.sticky-panel{position:sticky;top:96px;padding-bottom:22px}.sticky-panel form{padding:0 22px}.actions-cell{display:flex;gap:7px;flex-wrap:wrap}.actions-cell form{margin:0}.form-section{display:grid;grid-template-columns:72px 1fr;padding:28px 30px}.section-number{font-family:Georgia,serif;font-size:29px;color:#b4adaf}.section-content{max-width:1120px}.section-content h2{font-family:Georgia,serif;font-size:24px;font-weight:500}.section-title-row{display:flex;align-items:center;justify-content:space-between}.file-drop{border:1px dashed #aaa1a6;background:#faf8f5;min-height:92px;padding:22px;cursor:pointer;display:flex!important;align-items:center;margin-bottom:18px}.file-drop input{position:absolute;opacity:0;width:1px!important;height:1px}.file-drop span{display:flex;flex-direction:column;gap:4px}.file-drop strong{font-size:14px;color:var(--burgundy)}.file-drop small{font-weight:400;color:var(--ink-soft)}.file-drop.compact{min-height:70px;margin:12px 0}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-row.three{grid-template-columns:1fr 1.2fr 1fr}.form-row.four{grid-template-columns:1.1fr 1fr 1fr 90px}.recipient-row{display:grid;grid-template-columns:44px 1fr 30px;gap:15px;padding:18px 0;border-top:1px solid #e5e1dd}.recipient-index{font-family:Georgia,serif;color:var(--burgundy);padding-top:27px}.recipient-fields{display:flex;flex-direction:column;gap:12px}.remove-recipient{border:0;background:none;color:#9d7e86;font-size:22px;cursor:pointer}.input-suffix{font-size:11px;color:var(--ink-soft);margin-top:-31px;margin-left:auto;margin-right:12px;pointer-events:none}.form-actions,.action-panel{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}.action-panel{background:#fff;border:1px solid var(--line);padding:18px;margin-bottom:24px}.action-panel form{margin:0}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.summary-card{background:#fff;border:1px solid var(--line);padding:19px 20px;display:flex;flex-direction:column;gap:4px}.summary-card small{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-soft)}.summary-card strong{font-size:15px}.summary-card span{font-size:11px;color:var(--ink-soft)}.party-list{padding:0 24px}.party-row{display:grid;grid-template-columns:38px minmax(220px,1fr) 75px 100px 145px;gap:15px;align-items:center;padding:15px 0;border-bottom:1px solid #ebe8e4;font-size:12px}.party-row:last-child{border-bottom:0}.avatar{width:34px;height:34px;background:#eee9e6;border-radius:50%;display:grid;place-items:center;color:var(--burgundy);font-weight:800}.party-main{display:flex;flex-direction:column}.party-main span,.party-row time,.party-order{color:var(--ink-soft);font-size:11px}.timeline{padding:22px 28px}.timeline-item{display:grid;grid-template-columns:16px 1fr;gap:13px;position:relative;padding-bottom:18px}.timeline-item:before{content:"";position:absolute;left:4px;top:9px;bottom:-4px;width:1px;background:#ddd7d9}.timeline-item:last-child:before{display:none}.timeline-item i{width:9px;height:9px;background:var(--burgundy);border-radius:50%;margin-top:4px;z-index:1}.timeline-item div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.timeline-item strong{font-size:11px}.timeline-item span{font-size:10px;color:var(--ink-soft)}.timeline-item code{font-size:9px;color:#8d8589}.editor-shell{width:100%;padding:0;margin:0;max-width:none}.editor-topline{height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:var(--topbar);z-index:90}.editor-topline h1{font-family:inherit;font-size:18px;font-weight:700;margin:0}.editor-topline .back-link{margin:0 0 4px}.editor-actions{display:flex;align-items:center;gap:9px}.editor-actions>span{font-size:11px;color:var(--ink-soft);margin-right:8px}.editor-layout{display:grid;grid-template-columns:228px minmax(680px,1fr) 260px;height:calc(100vh - var(--topbar) - 88px);overflow:hidden}.field-palette,.properties-panel{background:#fff;padding:20px 16px;overflow-y:auto}.field-palette{border-right:1px solid var(--line)}.properties-panel{border-left:1px solid var(--line)}.field-palette h2,.properties-panel h2{font-size:15px}.field-palette>p,.properties-panel p{font-size:11px;color:var(--ink-soft)}.field-palette h3{font-size:9px;letter-spacing:1.1px;text-transform:uppercase;color:#8a8186;margin:20px 5px 8px}.field-palette label{font-size:10px;font-weight:700}.field-palette select{width:100%;border:1px solid #ccc5c9;padding:9px;margin-top:5px}.palette-item{height:38px;border:1px solid #ded8db;background:#faf9f7;display:flex;align-items:center;gap:9px;padding:0 10px;margin:6px 0;font-size:11px;font-weight:700;cursor:grab;border-left:3px solid var(--burgundy)}.palette-item:active{cursor:grabbing}.system-field{border-left-color:var(--gold)}.pdf-workspace,.sign-document{overflow:auto;background:#d8d4d0;padding:34px}.pdf-page{width:min(820px,100%);margin:0 auto 34px;background:#fff;position:relative;box-shadow:0 8px 22px rgba(0,0,0,.16);line-height:0}.pdf-page>img{display:block;width:100%;height:auto;user-select:none}.page-number{position:absolute;right:0;bottom:-23px;color:#60595d;font-size:10px;line-height:1}.placed-field{position:absolute;z-index:4;border:2px solid var(--burgundy);background:rgba(255,255,255,.78);min-width:20px;min-height:16px;line-height:1.2;color:var(--burgundy);font-size:10px;font-weight:800;padding:4px;cursor:move;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.12)}.placed-field.selected{outline:3px solid rgba(93,23,49,.22)}.placed-field.system{border-color:var(--gold);color:#7c5a20}.resize-handle{position:absolute;right:-1px;bottom:-1px;width:13px;height:13px;background:var(--burgundy);cursor:nwse-resize}.system .resize-handle{background:var(--gold)}.properties-panel label{margin:14px 0}.properties-panel input,.properties-panel select{padding:9px 10px}.editor-help{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;font-size:11px;color:var(--ink-soft)}.editor-help strong{color:var(--burgundy)}.sign-shell{width:100%;max-width:none;padding:0;margin:0}.sign-header{background:#fff;border-bottom:1px solid var(--line);padding:24px 38px;display:flex;align-items:center;justify-content:space-between}.sign-header h1{font-size:28px}.sign-header p{color:var(--ink-soft);font-size:12px;margin:0}.completion-banner{margin:18px 28px 0;background:#e8f2ed;border-left:4px solid var(--green);padding:15px 18px;display:flex;align-items:center;gap:15px}.completion-banner span{font-size:12px;color:var(--ink-soft);flex:1}.completion-banner.waiting{background:#f8eed9;border-color:var(--amber)}.completion-banner.error{background:#f5dfdf;border-color:var(--red)}.sign-layout{display:grid;grid-template-columns:minmax(680px,1fr) 330px;height:calc(100vh - var(--topbar) - 119px);overflow:hidden}.sign-document{padding:34px}.sign-sidebar{background:#fff;border-left:1px solid var(--line);padding:22px;overflow-y:auto}.sign-progress{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:20px}.sign-progress>div{display:flex;align-items:center;gap:9px;margin:12px 0}.sign-progress p{margin:0;display:flex;flex-direction:column}.sign-progress strong{font-size:11px}.sign-progress small{font-size:9px;text-transform:uppercase;color:var(--ink-soft)}.party-dot{width:9px;height:9px;border-radius:50%;background:#aaa3a7}.party-dot-signed{background:var(--green)}.party-dot-viewed{background:var(--amber)}.consent-box{background:#f7f5f2;border:1px solid #e0dcd7;padding:18px}.consent-box p{font-size:11px;color:var(--ink-soft)}.consent-check{font-size:11px!important;margin:16px 0!important}.sign-message{font-size:11px;margin-top:10px;color:var(--red)}.decline-box{margin-top:18px;font-size:11px}.decline-box summary{cursor:pointer;color:var(--ink-soft)}.decline-box form{margin-top:12px}.sign-field{position:absolute;z-index:6;border:1.5px dashed var(--burgundy);background:rgba(255,255,255,.86);line-height:1.15;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--burgundy);font-size:10px}.sign-field.actionable{cursor:pointer;background:rgba(249,240,244,.9);border-style:solid}.sign-field.actionable:hover{box-shadow:0 0 0 4px rgba(93,23,49,.13)}.sign-field.completed{border-color:transparent;background:transparent}.sign-field img{width:100%;height:100%;object-fit:contain}.sign-field input[type=text],.sign-field input[type=email],.sign-field input[type=tel]{width:100%;height:100%;border:0;background:transparent;padding:3px 5px;outline:none;font-size:11px}.sign-field input[type=checkbox]{width:18px;height:18px}.field-placeholder{padding:4px;text-align:center;line-height:1.15}.signature-modal{position:fixed;inset:0;background:rgba(20,16,18,.76);z-index:3000;display:grid;place-items:center;padding:20px}.signature-modal[hidden]{display:none}.modal-card{width:min(720px,100%);background:#fff;padding:30px;position:relative;box-shadow:0 20px 70px rgba(0,0,0,.35)}.modal-close{position:absolute;right:14px;top:9px;border:0;background:none;font-size:27px;color:#777;cursor:pointer}.modal-card h2{font-family:Georgia,serif;font-size:28px;font-weight:500}.modal-card p{font-size:11px;color:var(--ink-soft)}#signature-canvas{display:block;width:100%;height:auto;border:1px solid #cfc8cc;background:#fff;touch-action:none}.or-divider{text-align:center;color:#a29a9e;font-size:10px;margin:11px 0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.verify-shell{display:grid;place-items:center}.verify-card{width:min(760px,100%);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:42px;text-align:center}.verification-emblem{width:68px;height:68px;margin:0 auto 18px;border:2px solid var(--green);color:var(--green);border-radius:50%;display:grid;place-items:center;font-size:32px}.verify-title{color:var(--ink-soft)}.verify-details{text-align:left;margin:30px 0;border-top:1px solid var(--line)}.verify-details div{display:grid;grid-template-columns:160px 1fr;gap:15px;padding:12px 0;border-bottom:1px solid #ebe8e4}.verify-details dt{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--ink-soft)}.verify-details dd{margin:0;font-size:12px;word-break:break-word}.verify-details code{font-size:9px}.verify-upload{background:#f7f5f2;padding:22px;text-align:left}.verify-upload h2{margin-bottom:5px}.verify-upload p{font-size:11px;color:var(--ink-soft)}.verify-upload input{margin:10px 10px 10px 0}.verification-result{margin-top:18px;padding:18px;display:flex;flex-direction:column;gap:6px}.verification-result.match{background:#e5f1eb;color:var(--green)}.verification-result.no-match{background:#f5dfdf;color:var(--red)}.verification-result span{font-size:10px;word-break:break-all}.privacy-note{font-size:10px;color:var(--ink-soft);margin:24px 0 0}
@media(max-width:1050px){.two-column-admin{grid-template-columns:1fr}.sticky-panel{position:static}.summary-grid{grid-template-columns:repeat(2,1fr)}.editor-layout{grid-template-columns:190px minmax(600px,1fr)}.properties-panel{position:fixed;right:0;top:160px;width:270px;height:calc(100vh - 160px);z-index:80;box-shadow:-8px 0 20px rgba(0,0,0,.1)}.sign-layout{grid-template-columns:1fr}.sign-sidebar{position:fixed;right:0;bottom:0;width:330px;max-height:75vh;z-index:80;box-shadow:-8px -8px 22px rgba(0,0,0,.12)}}
@media(max-width:760px){.topbar{padding:0 15px}.brand small{display:none}.topnav>a{display:none}.user-chip{display:none}.page-shell{width:calc(100% - 24px);padding-top:25px}.split-heading{align-items:flex-start;flex-direction:column}.form-section{grid-template-columns:1fr;padding:22px}.section-number{font-size:18px}.form-row,.form-row.three,.form-row.four{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr}.party-row{grid-template-columns:35px 1fr 90px}.party-order,.party-row time{display:none}.editor-layout{grid-template-columns:150px minmax(560px,1fr)}.properties-panel{display:none}.field-palette{padding:12px 8px}.palette-item span{display:none}.palette-item{justify-content:center}.sign-sidebar{width:100%;max-height:55vh}.verify-card{padding:28px 18px}.verify-details div{grid-template-columns:1fr;gap:3px}}

.status-sent,.status-captured_local{background:#e2f0e9;color:var(--green)}.status-failed{background:#f5dfdf;color:var(--red)}

/* Flash notifications: visible for 3 seconds and never block controls */
.flash {
    transition: opacity .3s ease, transform .3s ease;
    pointer-events: none;
}

.flash.flash-hide {
    opacity: 0;
    transform: translateY(-8px);
}


/* === BRAMSTON CERTIFY MOBILE SIGNING FIX START === */

@media (max-width: 900px) {

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    /* -------------------------------------------------
       SIGNING PAGE HEADER
       ------------------------------------------------- */

    .sign-shell {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .sign-header {
        width: 100%;
        padding: 22px 18px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .sign-header > div {
        width: 100%;
        min-width: 0;
    }

    .sign-header h1 {
        width: 100%;
        font-size: clamp(27px, 8vw, 38px);
        line-height: 1.06;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .sign-header p {
        width: 100%;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .sign-header .status,
    .sign-header .status-large {
        align-self: flex-start;
    }


    /* -------------------------------------------------
       COMPLETION / WAITING BANNER
       ------------------------------------------------- */

    .completion-banner {
        width: auto;
        margin: 14px 12px 0;
        padding: 16px;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .completion-banner > * {
        min-width: 0;
        max-width: 100%;
    }

    .completion-banner strong {
        display: block;
        width: 100%;
    }

    .completion-banner span {
        display: block;
        width: 100%;
    }

    .completion-banner .button,
    .completion-banner a.button,
    .completion-banner button {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        height: auto;
        min-height: 44px;
        padding: 12px 14px;
        white-space: normal !important;
        text-align: center;
        line-height: 1.3;
    }


    /* -------------------------------------------------
       REMOVE DESKTOP TWO-COLUMN LAYOUT
       ------------------------------------------------- */

    .sign-layout {
        display: flex !important;
        flex-direction: column !important;

        width: 100% !important;
        min-width: 0 !important;

        height: auto !important;
        min-height: 0 !important;

        overflow: visible !important;
    }


    /* -------------------------------------------------
       PDF DOCUMENT
       ------------------------------------------------- */

    .sign-document {
        order: 1;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        height: auto !important;

        overflow: visible !important;

        padding: 18px 10px 30px;
    }

    .sign-document .pdf-page,
    .sign-page {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        height: auto !important;

        margin: 0 auto 24px !important;
    }

    .sign-document .pdf-page > img,
    .sign-page > img {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }


    /* -------------------------------------------------
       SIGNATURE / INITIAL / OTHER FIELDS
       ------------------------------------------------- */

    .sign-field {
        max-width: 100%;
        touch-action: manipulation;
    }

    .sign-field img {
        width: 100%;
        height: 100%;
        max-width: 100%;
        object-fit: contain;
    }


    /* -------------------------------------------------
       PARTIES SIDEBAR
       Put it AFTER all PDF pages on mobile
       ------------------------------------------------- */

    .sign-sidebar {
        order: 2;

        position: static !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        height: auto !important;
        max-height: none !important;

        overflow: visible !important;

        border-left: 0 !important;
        border-top: 1px solid var(--line);

        padding: 22px 18px 30px;
    }

    .sign-progress {
        width: 100%;
    }

    .sign-progress > div {
        width: 100%;
        min-width: 0;
    }

    .sign-progress p {
        min-width: 0;
    }

    .sign-progress strong,
    .sign-progress small {
        overflow-wrap: anywhere;
    }


    /* -------------------------------------------------
       CONSENT / ACTIONS
       ------------------------------------------------- */

    .consent-box {
        width: 100%;
        max-width: 100%;
    }

    .sign-sidebar .button,
    .sign-sidebar button {
        max-width: 100%;
    }

    #validate-sign {
        width: 100%;
        white-space: normal;
    }


    /* -------------------------------------------------
       MODAL
       ------------------------------------------------- */

    .signature-modal {
        padding: 12px;
    }

    .modal-card {
        width: 100%;
        max-width: 100%;
        max-height: 92vh;
        overflow-y: auto;
        padding: 22px 16px;
    }

    .modal-actions {
        flex-direction: column;
    }

    .modal-actions .button,
    .modal-actions button {
        width: 100%;
    }

}


/* Extra-small phones */
@media (max-width: 480px) {

    .sign-header {
        padding: 20px 15px;
    }

    .sign-header h1 {
        font-size: 30px;
    }

    .completion-banner {
        margin-left: 8px;
        margin-right: 8px;
        padding: 14px;
    }

    .sign-document {
        padding-left: 6px;
        padding-right: 6px;
    }

    .sign-sidebar {
        padding-left: 16px;
        padding-right: 16px;
    }

}

/* === BRAMSTON CERTIFY MOBILE SIGNING FIX END === */


/* =========================================================
   BRAMSTON CERTIFY - PDF DRAG & DROP
   ========================================================= */

.file-drop {
    position: relative;
    transition:
        border-color .2s ease,
        background-color .2s ease,
        box-shadow .2s ease;
}

.file-drop-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.file-drop-or {
    margin-top: 3px;
    margin-bottom: 5px;
    font-size: 12px;
    font-weight: 600;
    color: #746d71;
}

.file-drop.drag-over {
    border-color: var(--burgundy);
    background: #f7eef1;
    box-shadow: inset 0 0 0 2px rgba(93,23,49,.08);
}

.file-drop.drag-over strong {
    color: var(--burgundy);
}

.file-drop.has-file {
    border-color: #27765e;
    background: #f1f8f5;
}

.file-selected-name {
    margin-top: 10px;
    padding: 7px 10px;
    max-width: 100%;
    border-radius: 4px;
    background: #e3f1eb;
    color: #216c55;
    font-size: 11px;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.file-drop-invalid {
    border-color: #9a3232;
    background: #fcf3f3;
}

.file-drop-error {
    margin-top: 10px;
    color: #9a3232;
    font-size: 11px;
    font-weight: 700;
}

@media (max-width: 600px) {
    .file-drop {
        min-height: 120px;
        padding: 20px 14px;
    }

    .file-drop-or {
        font-size: 11px;
    }
}

.pdf-clear-button {
    display: block;
    margin: -8px auto 18px;
}

.pdf-clear-button[hidden] {
    display: none !important;
}

.reset-password-button {
    border-color: #5d1731;
    color: #5d1731;
}

.reset-password-button:hover {
    background: #5d1731;
    color: #fff;
}

/* =========================================================
   BRAMSTON CERTIFY - SIGNING IMAGE DRAG & DROP
   Signature / Initials / Seal / Stamp / Image
   ========================================================= */

.sign-image-drop-zone {
    position: relative;
    width: 100%;
    min-height: 105px;
    padding: 20px 18px;
    border: 1.5px dashed #aaa1a6;
    border-radius: 5px;
    background: #faf8f5;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    text-align: center;
    cursor: pointer;
    transition:
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}

.sign-image-drop-zone strong {
    color: var(--burgundy);
    font-size: 13px;
}

.sign-image-drop-zone span {
    font-size: 11px;
    color: var(--ink-soft);
}

.sign-image-drop-zone small {
    font-size: 9px;
    color: #8e858a;
}

.sign-image-drop-zone:hover {
    border-color: var(--burgundy);
}

.sign-image-drop-zone.drag-over {
    border-color: var(--burgundy);
    background: #f7eef1;
    box-shadow:
        inset 0 0 0 2px rgba(93,23,49,.08);
}

.sign-image-drop-zone.drag-over strong {
    color: var(--burgundy-dark);
}

.sign-image-drop-zone.has-file {
    border-color: var(--green);
    background: #f0f7f3;
}

.sign-image-drop-zone.has-file
.sign-image-drop-status {
    color: var(--green);
    font-weight: 700;
    overflow-wrap: anywhere;
}

.sign-image-drop-zone.invalid {
    border-color: var(--red);
    background: #fcf2f2;
}

.sign-image-drop-zone.invalid
.sign-image-drop-status {
    color: var(--red);
    font-weight: 700;
}

.sign-image-file-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none;
}

@media (max-width: 600px) {
    .sign-image-drop-zone {
        min-height: 115px;
        padding: 18px 12px;
    }
}

/* Keep signing modal fully usable on shorter screens */
.signature-modal {
    overflow-y: auto !important;
}

.signature-modal .modal-card {
    max-height: calc(100vh - 40px) !important;
    overflow-y: auto !important;
}

.signature-modal .modal-actions {
    position: sticky;
    bottom: 0;
    z-index: 20;
    background: #fff;
    padding-top: 14px;
    padding-bottom: 4px;
}

/* =========================================================
   BRAMSTON CERTIFY - SIGNING MODAL VIEWPORT FIX
   ========================================================= */

.signature-modal {
    position: fixed !important;
    inset: 0 !important;

    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100dvh !important;

    padding: 10px !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;

    z-index: 3000 !important;
}

.signature-modal[hidden] {
    display: none !important;
}

.signature-modal .modal-card {
    position: relative !important;

    width: min(720px, 100%) !important;
    max-width: 720px !important;

    height: auto !important;
    max-height: calc(100dvh - 20px) !important;

    margin: 0 auto !important;
    padding: 22px 30px 0 !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;

    background: #fff !important;
}

/* Reduce drawing area slightly on short screens */
.signature-modal #signature-canvas {
    width: 100% !important;
    height: auto !important;
    max-height: 180px !important;
}

/* The bottom buttons must always remain visible */
.signature-modal .modal-actions {
    position: sticky !important;
    bottom: 0 !important;
    left: 0 !important;

    z-index: 100 !important;

    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 10px !important;

    width: 100% !important;

    margin: 18px 0 0 !important;
    padding: 14px 0 18px !important;

    background: #fff !important;
    border-top: 1px solid #e5e1dd !important;
}

.signature-modal #modal-cancel,
.signature-modal #use-image {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;

    min-height: 42px !important;
    flex-shrink: 0 !important;
}


/* Short desktop/laptop screens */
@media (max-height: 800px) {

    .signature-modal .modal-card {
        padding-top: 16px !important;
    }

    .signature-modal .modal-card h2 {
        font-size: 25px !important;
        margin-bottom: 8px !important;
    }

    .signature-modal #signature-canvas {
        max-height: 145px !important;
    }

    .signature-modal .sign-image-drop-zone {
        min-height: 85px !important;
        padding: 12px !important;
    }

    .signature-modal .or-divider {
        margin: 7px 0 !important;
    }

    .signature-modal .modal-actions {
        margin-top: 10px !important;
        padding-top: 10px !important;
        padding-bottom: 12px !important;
    }
}


/* Mobile */
@media (max-width: 600px) {

    .signature-modal {
        padding: 6px !important;
    }

    .signature-modal .modal-card {
        width: 100% !important;
        max-height: calc(100dvh - 12px) !important;
        padding: 18px 14px 0 !important;
    }

    .signature-modal #signature-canvas {
        max-height: 145px !important;
    }

    .signature-modal .modal-actions {
        flex-direction: column-reverse !important;
    }

    .signature-modal #modal-cancel,
    .signature-modal #use-image {
        width: 100% !important;
    }
}
