*{box-sizing:border-box}body{margin:0;background:#f5f3ef;color:#242321;font:16px/1.7 system-ui,Arial,sans-serif}main{max-width:750px;margin:35px auto;background:white;padding:32px;border:1px solid #ded8cc;border-radius:14px}header{text-align:center;border-bottom:2px solid #b9a278;margin-bottom:24px}h1{color:#57452e}input,textarea{display:block;width:100%;padding:13px;margin:12px 0;border:1px solid #c8c4bd;border-radius:7px;font:inherit}button{background:#53432e;color:white;border:0;padding:12px 22px;border-radius:7px;cursor:pointer;font:inherit;margin:5px}.secondary{background:#777}canvas{width:100%;touch-action:none;border:2px dashed #aaa;border-radius:8px;background:white}.warning{color:#9c3327;font-weight:600}.actions{display:flex;justify-content:space-between;flex-wrap:wrap}#link{overflow-wrap:anywhere;color:#24547d}#msg{color:#9c3327}[hidden]{display:none!important}
.formal-contract{background:#eef1f5;padding:16px;border:1px solid #d2d8e0;border-radius:10px;line-height:1.75;color:#263247}
.contract-page{background:#fff;padding:clamp(20px,5vw,52px);margin:0 auto 18px;max-width:700px;min-height:700px;box-shadow:0 2px 14px #182b4315;border:1px solid #dbe2eb;overflow-wrap:anywhere}
.contract-brand{text-align:center;font:700 clamp(21px,4vw,31px)/1.3 Georgia,serif;letter-spacing:2px;color:#163b66}
.contract-brand span{display:block;font:500 11px/2 Arial,sans-serif;letter-spacing:5px;color:#537393}
.contract-rule{height:3px;background:#315e90;margin:17px 0 30px}
.contract-page h3{text-align:center;color:#153b68;font-size:21px;margin:16px 0 26px}
.contract-page h4{color:#214d7c;font-size:16px;border-bottom:1px solid #dce7f2;padding-bottom:5px;margin:22px 0 8px}
.contract-page p{font-size:14px;line-height:1.95;text-align:justify}
.contract-footer{text-align:center;color:#163b66;font-family:Georgia,serif}
@media print{body{background:white}main{max-width:none;margin:0;border:0;padding:0}header,#client,#details,#msg,#pad,#consent,.actions,button,body>main>p{display:none!important}.formal-contract{padding:0;border:0;background:white}.contract-page{max-width:none;box-shadow:none;border:0;break-after:page;min-height:0;padding:16mm}.contract-page:last-of-type{break-after:auto}}

.contract-image-page{position:relative;margin:0 auto 16px;max-width:720px;background:#fff;line-height:0}.contract-image-page>img{width:100%;height:auto;display:block}.contract-overlays{position:absolute;inset:0;pointer-events:none;font:600 clamp(9px,1.8vw,15px)/1.2 Arial,sans-serif;color:#263247}.contract-overlays span{position:absolute;display:block;background:#fffffff2;padding:2px 4px;line-height:1.3;max-width:44%;overflow-wrap:anywhere}.contract-overlays .overlay-name{right:33%;top:23.7%}.contract-overlays .overlay-identity{right:33%;top:25.8%}.contract-overlays .overlay-date{right:15%;top:12.1%}.contract-overlays.english .overlay-name{left:17%;right:auto;top:22.1%}.contract-overlays.english .overlay-identity{left:34%;right:auto;top:22.1%}.contract-overlays.english .overlay-date{left:40%;right:auto;top:12.2%}@media print{.contract-image-page{break-after:page;max-width:none;margin:0}.contract-image-page:last-of-type{break-after:auto}.contract-overlays span{background:white}}

.dashboard-card{border:1px solid #ded8cc;border-radius:12px;padding:18px;margin:18px 0;background:#fff}
.link-box{margin-top:14px;padding:12px;border:1px solid #d8d0c3;border-radius:9px;background:#faf8f4;overflow-wrap:anywhere}
.contract-list{display:grid;gap:10px}
.contract-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #e0ddd6;border-radius:9px;background:#fafafa}
.contract-row strong{display:block}
.contract-row small{display:block;color:#777;margin-top:3px}
.download-btn{display:inline-block;background:#53432e;color:#fff;text-decoration:none;padding:8px 12px;border-radius:7px;white-space:nowrap}
.status-pending{font-size:13px;color:#8a6a2f;background:#f3ead7;padding:5px 9px;border-radius:999px;white-space:nowrap}
.muted{color:#777;font-size:14px}
@media(max-width:600px){main{margin:0;border-radius:0;padding:18px}.contract-row{align-items:flex-start;flex-direction:column}.download-btn,.status-pending{align-self:flex-start}}
