/* DC Terms & Consent */
.dcterms-box,.dcterms-box *,.dcterms-page,.dcterms-page *{box-sizing:border-box}
.dcterms-box{display:block;width:100%;margin:15px 0;padding:15px 18px;border:1px solid #d6dbe1;border-radius:8px;background:#f8fafc;text-align:start;font-size:14px;line-height:1.5}
.dcterms-box-title{font-weight:600;font-size:15px;margin-bottom:10px}
.dcterms-item{padding:8px 0;border-top:1px solid #e6e9ee}
.dcterms-item:first-of-type{border-top:0}
.dcterms-check{display:flex;gap:8px;align-items:flex-start;font-weight:normal;margin:0;cursor:pointer}
.dcterms-check input{margin-top:4px;flex:0 0 auto;width:16px;height:16px}
.dcterms-req{color:#c0392b;font-weight:bold}
.dcterms-muted{color:#6b7280}
.dcterms-content{max-height:320px;overflow:auto;margin:8px 0;padding:12px;border:1px solid #e1e5ea;border-radius:6px;background:#fff;font-size:13px}
.dcterms-content-links{margin-top:8px;font-size:12px}
.dcterms-sig{margin:8px 0 4px}
.dcterms-sig-label{font-size:12px;color:#6b7280;margin-bottom:4px}
.dcterms-sig-canvas{display:block;width:100%;max-width:520px;height:160px;border:1px dashed #9aa4b2;border-radius:6px;background:#fff;cursor:crosshair;touch-action:none}
.dcterms-sig-clear{margin-top:6px}
.dcterms-error{margin-top:10px;padding:8px 12px;border-radius:6px;background:#fdecea;color:#a12622;font-size:13px}
.dcterms-actions{margin-top:12px}
.dcterms-done{margin-top:6px;color:#1e7e34;font-weight:600}
.dcterms-banner{padding:10px 16px;background:#fff8e1;border-bottom:1px solid #f0d77a;color:#5c4400;text-align:center;font-size:14px}
.dcterms-banner a{font-weight:600;text-decoration:underline}
.dcterms-page .dcterms-doc{margin-bottom:22px;padding:18px;border:1px solid #e1e5ea;border-radius:8px;background:#fff}
.dcterms-page .dcterms-doc h3{margin-top:0;font-size:18px}
.dcterms-page .dcterms-doc-body{max-height:420px;overflow:auto;padding:12px;border:1px solid #eef0f3;border-radius:6px;background:#fbfcfd;margin:10px 0}
.dcterms-page .dcterms-note{padding:8px 12px;background:#eef6ff;border-radius:6px;margin:8px 0;font-size:13px}
.dcterms-diff{font-family:inherit;font-size:13px;border:1px solid #e1e5ea;border-radius:6px;overflow:hidden;margin:8px 0}
.dcterms-diff>div{padding:3px 8px;white-space:pre-wrap}
.dcterms-diff-add{background:#e6ffed}
.dcterms-diff-del{background:#ffeef0;text-decoration:line-through;color:#86181d}
.dcterms-diff-same{color:#6b7280}
.dcterms-diff-gap{color:#9aa4b2;text-align:center}
.dcterms-diff-sign{display:inline-block;width:16px;font-weight:bold}
.dcterms-verify-ok{padding:14px;border-radius:8px;background:#e6ffed;border:1px solid #9be9a8}
.dcterms-verify-bad{padding:14px;border-radius:8px;background:#ffeef0;border:1px solid #f5b5bd}
.dcterms-table{width:100%;border-collapse:collapse}
.dcterms-table th,.dcterms-table td{padding:8px;border-bottom:1px solid #eef0f3;text-align:start;vertical-align:top}
@media (max-width:600px){.dcterms-box{padding:12px}.dcterms-sig-canvas{height:140px}}
.dcterms-b64{white-space:pre-line}
.dcterms-scroll-hint{margin:6px 0;padding:6px 10px;border-radius:6px;background:#fff8e1;color:#7a5a00;font-size:13px}
.dcterms-scroll-hint.dcterms-scroll-done{background:#e6ffed;color:#1e7e34}
.dcterms-scroll-flash{animation:dctermsFlash .9s ease 2}
@keyframes dctermsFlash{50%{background:#ffd54f}}
.dcterms-check input[disabled]+span{opacity:.6}
.dcterms-scroll-hint{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.dcterms-timer{font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.85;direction:ltr}
