:root{font-family:Arial,Helvetica,sans-serif;color:#213142;background:#f3f4f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:#0d5b86}.site-header{background:#152a3c;color:#fff}.header-inner{max-width:1050px;margin:auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between}.mark{font-size:20px;letter-spacing:.08em;font-weight:700}.mark strong{font-weight:400;color:#b8d4e1}.header-note{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#b8c5cf}.shell{max-width:1050px;padding:42px 24px 80px;margin:auto}.intro{max-width:720px;margin-bottom:40px}.eyebrow{margin:0 0 10px;color:#0a6684;letter-spacing:.15em;text-transform:uppercase;font-size:11px;font-weight:700}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#172b3b}h1{font-size:clamp(32px,5vw,51px);line-height:1.12;margin:0 0 14px}h2{font-size:clamp(24px,3vw,32px);margin:0}.intro>p:last-child{font-size:17px;line-height:1.6;color:#566471}.section{background:white;border:1px solid #dfe4e5;border-radius:7px;padding:29px;margin:24px 0;box-shadow:0 8px 24px #10263809}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:23px}.section-aside{font-size:12px;color:#79858c;text-align:right}.letter-pages{display:grid;gap:25px;justify-items:center}.letter-page{display:block;max-width:100%;width:auto;background:#fff;box-shadow:0 4px 20px #1f354526;border:1px solid #d9dcdb}.quiet{color:#687783;font-size:13px;line-height:1.5}.count{font-family:Arial,Helvetica,sans-serif;background:#e6f0f3;color:#135671;border-radius:20px;font-size:15px;padding:5px 11px;vertical-align:middle}.empty{color:#6c777e}.signature-card{display:grid;grid-template-columns:50px 1fr 180px;gap:16px;align-items:center;padding:20px 0;border-top:1px solid #e4e7e7}.signature-card:first-child{border-top:0}.sig-number{font-family:Georgia,serif;font-size:22px;color:#93a2a9}.sig-name{font-weight:700;font-size:17px}.sig-detail{font-size:13px;color:#5a6974;margin-top:5px}.sig-date{font-size:11px;color:#839097;margin-top:7px}.sig-image{max-width:170px;max-height:68px;object-fit:contain}.grid{display:grid;gap:18px}.two{grid-template-columns:1fr 1fr}.form-section>p{color:#5f6d77}.form-section label:not(.check):not(.draw-label){display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;margin:12px 0}input:not([type=checkbox]):not([type=file]),textarea{width:100%;border:1px solid #c6d0d4;border-radius:4px;padding:12px;color:#172b3b;background:#fff}input:focus,textarea:focus{outline:2px solid #2e829f;outline-offset:1px}.draw-label{display:block;font-size:13px;font-weight:700;margin:24px 0 8px}.canvas-frame{height:190px;background:#fff;border:1px solid #bdcbd0;border-radius:4px;touch-action:none}.canvas-frame canvas{display:block;width:100%;height:100%;touch-action:none}.text-button{border:0;background:none;color:#0c6585;text-decoration:underline;padding:8px 0}.check{display:flex;gap:11px;align-items:start;margin:20px 0;font-size:13px;line-height:1.55;color:#4b5b66}.check input{margin-top:3px}.primary,.secondary,.danger{border:0;border-radius:4px;padding:12px 20px;font-weight:700}.primary{background:#0c6585;color:white}.secondary{background:#174965;color:white}.danger{background:#8b3e3e;color:white}.notice{border-left:4px solid #0d7381;background:#e9f2f3;padding:18px 23px;margin-top:24px}.notice h2{font-size:24px}.notice p{margin-bottom:0}.actions{display:flex;gap:12px;flex-wrap:wrap}.table-wrap{overflow-x:auto;margin-top:18px}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th,td{padding:11px 8px;border-bottom:1px solid #e0e6e8;vertical-align:top}th{color:#60717b;font-size:11px;letter-spacing:.07em;text-transform:uppercase}td a{overflow-wrap:anywhere}textarea{resize:vertical}#new-links{background:#edf5f6;padding:15px;margin:20px 0;border-radius:4px}#flash{display:none;background:#fff3e6;border-left:4px solid #d3852d;padding:12px 16px;margin-bottom:20px;line-height:1.45}#flash:not(:empty){display:block}footer{text-align:center;color:#829098;font-size:12px;padding:28px}@media(max-width:650px){.shell{padding:28px 16px 55px}.section{padding:19px;margin:17px 0}.header-inner{padding:16px}.header-note{display:none}.section-aside{display:none}.two{grid-template-columns:1fr;gap:0}.signature-card{grid-template-columns:35px 1fr;gap:10px}.sig-image{grid-column:2;max-width:150px}.canvas-frame{height:180px}}
.sig-image{display:block;width:170px;height:72px;max-width:none;max-height:none;object-fit:contain;object-position:center}
.login-card{max-width:460px;margin:55px auto;padding:36px}.login-card h1{font-size:34px}.login-card label{display:block;font-size:13px;font-weight:700;margin:18px 0 8px}.login-card input{margin-top:7px}.login-card .primary{margin-top:18px}
.admin-intro{display:flex;justify-content:space-between;align-items:start;gap:20px;max-width:none}.admin-intro .text-button{white-space:nowrap}
.admin-single-invite{align-items:end;margin:20px 0 28px}.admin-single-invite label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700}.admin-single-invite button{justify-self:start}
.batch-invites{border-top:1px solid #e0e6e8;padding:18px 0}.batch-invites summary{color:#0c6585;cursor:pointer;font-weight:700}.batch-invites textarea{display:block;width:100%;margin:14px 0}
#admin-pdf-pages{padding:12px 0}
.link-actions{display:flex;align-items:center;gap:12px;white-space:nowrap}.link-actions .text-button{white-space:nowrap}#new-links table{min-width:580px}.status-table table{min-width:650px}
@media(max-width:650px){.sig-image{width:170px;height:72px}.login-card{padding:22px;margin:20px auto}.admin-intro{display:block}.admin-single-invite{display:block}.admin-single-invite button{margin-top:15px}}
