/* Eternal Ledger page-specific styles */
.el-card { background: rgba(26, 14, 6,0.55); border:1px solid rgba(71,85,105,0.12); border-radius:.5rem; padding:1.5rem; }
.el-label { font-size:.72rem; text-transform:uppercase; color:#94a3b8; letter-spacing:.06em; margin-bottom:.35rem; display:block; }
.el-input { width:100%; padding:.6rem .85rem; border-radius:.375rem; background:rgba(7,12,20,0.45); border:1px solid #374151; color:#e2e8f0; }
.el-input:focus { outline:2px solid #6366f1; outline-offset:1px; border-color:#6366f1; }
.el-textarea { width:100%; padding:.6rem .85rem; border-radius:.375rem; background:rgba(7,12,20,0.45); border:1px solid #374151; color:#e2e8f0; min-height:120px; resize:vertical; font-family:inherit; }
.el-textarea:focus { outline:2px solid #6366f1; outline-offset:1px; border-color:#6366f1; }
.el-hidden { display:none !important; }
.el-actions { display:flex; gap:.75rem; justify-content:flex-end; margin-top:1.5rem; flex-wrap:wrap; }
.el-note { font-size:.82rem; color:#94a3b8; margin-top:.5rem; }
.el-error { font-size:.82rem; color:#fca5a5; margin-top:.5rem; }
.el-heading { display:flex; align-items:center; gap:.5rem; margin-bottom:1rem; }
.el-heading i { margin-right:.25rem; }

/* Info boxes */
.el-info-box { background:rgba(59,130,246,0.08); border:1px solid rgba(59,130,246,0.2); padding:1rem; border-radius:.5rem; margin-bottom:1.5rem; display:flex; gap:0.75rem; align-items:start; }
.el-info-box strong { color:#60a5fa; }

/* Witness section */
.el-witness-section { background:rgba(255,255,255,0.02); border:1px solid rgba(148,163,184,0.1); padding:1rem; border-radius:.5rem; margin-bottom:.75rem; }

/* Print preview styles */
.el-print-preview { background:rgba(26, 14, 6,0.6); border:1px solid rgba(71,85,105,0.2); padding:1.5rem; border-radius:.5rem; margin-top:1.5rem; }
.el-print-preview #previewContent { background:#fff; color:#1a1a1a; padding:0; border-radius:.375rem; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,.3); }

/* — Document header / branding banner — */
.el-print-banner {
    background:linear-gradient(135deg, #3E2819 0%, #5A3A26 50%, #3E2819 100%);
    padding:1.75rem 2.5rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:3px solid #E09C3D;
}
.el-print-banner-logo {
    display:flex;
    align-items:center;
    gap:.75rem;
}
.el-print-banner-logo img {
    height:44px;
    width:44px;
    object-fit:cover;
    border-radius:50%;
    background-color:#1a0e06;
    border:2px solid #E09C3D;
    box-shadow:0 0 6px rgba(224,156,61,.45);
}
.el-print-banner-brand {
    color:#E09C3D;
    font-size:1.15rem;
    font-weight:700;
    letter-spacing:.03em;
    font-family:'Georgia', 'Times New Roman', serif;
}
.el-print-banner-tagline {
    color:rgba(220,166,91,0.7);
    font-size:.7rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-top:2px;
}
.el-print-banner-doctype {
    color:#DCA65B;
    font-size:.75rem;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-weight:600;
    text-align:right;
}

/* — Document body — */
.el-print-body {
    padding:2.5rem 2.5rem 2rem;
    font-family:'Georgia', 'Times New Roman', serif;
    font-size:1rem;
    line-height:1.7;
    color:#1a1a1a;
}

/* — Decorative title block — */
.el-print-header {
    text-align:center;
    margin-bottom:2rem;
    padding-bottom:1.25rem;
    border-bottom:none;
    position:relative;
}
.el-print-header::after {
    content:'';
    position:absolute;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
    width:200px;
    height:2px;
    background:linear-gradient(90deg, transparent, #3E2819, #E09C3D, #3E2819, transparent);
}
.el-print-title {
    font-size:1.65rem;
    font-weight:700;
    margin-bottom:.35rem;
    color:#2c1810;
    font-family:'Georgia', 'Times New Roman', serif;
    letter-spacing:.02em;
}
.el-print-date {
    margin-top:0.5rem;
    color:#7a6a5c;
    font-size:.85rem;
    font-style:italic;
}

/* — Sections — */
.el-print-section {
    margin-bottom:1.75rem;
    page-break-inside:avoid;
}
.el-print-section-title {
    font-size:1rem;
    font-weight:700;
    margin-bottom:.6rem;
    padding-bottom:.35rem;
    border-bottom:1.5px solid #d4c4b0;
    color:#3E2819;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-family:'Georgia', 'Times New Roman', serif;
}
.el-print-content {
    margin-left:0;
    padding-left:1rem;
    line-height:1.75;
    white-space:pre-wrap;
    color:#2d2d2d;
    border-left:3px solid #e8ddd0;
}

/* — Signatures — */
.el-print-signatures {
    margin-top:2.5rem;
    page-break-inside:avoid;
    padding-top:1rem;
    border-top:1px solid #e0d5c8;
}
.el-print-signature-block { margin-top:2.5rem; }
.el-print-signature-line {
    border-top:1px solid #333;
    margin-top:2.5rem;
    padding-top:.5rem;
    display:flex;
    justify-content:space-between;
    align-items:baseline;
}
.el-print-signature-name { font-weight:600; color:#1a1a1a; }
.el-print-signature-date { color:#666; font-style:italic; }

/* — Notary block — */
.el-print-notary {
    margin-top:2.5rem;
    padding:1.25rem;
    border:1.5px solid #c4b5a0;
    border-radius:.375rem;
    background:#faf8f5;
    page-break-inside:avoid;
}
.el-print-notary-title {
    font-weight:700;
    font-size:.95rem;
    color:#3E2819;
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:.75rem;
    text-align:center;
}
.el-print-notary-content {
    font-size:.85rem;
    line-height:1.8;
    color:#4a4a4a;
}

/* — Document footer — */
.el-print-footer {
    margin-top:2rem;
    padding-top:1rem;
    border-top:1.5px solid #e0d5c8;
    text-align:center;
    color:#999;
    font-size:.75rem;
    line-height:1.6;
}
.el-print-footer-brand {
    color:#7a6a5c;
    font-weight:600;
    letter-spacing:.03em;
}
.el-print-footer p { margin:0 0 .25rem; }

/* — Page number marker (for multi-page prints) — */
.el-print-pageinfo {
    text-align:right;
    font-size:.7rem;
    color:#bbb;
    margin-bottom:1rem;
}

/* Page-scoped button styles matching other modules */
.el-btn-primary { 
    display:inline-flex; 
    align-items:center; 
    gap:.5rem; 
    padding:.65rem 1.25rem; 
    border-radius:.5rem; 
    background:linear-gradient(135deg, #E09C3D, #D46A2A); 
    color:#fff; 
    font-size:.875rem; 
    font-weight:600; 
    box-shadow:0 4px 6px -1px rgba(0,0,0,.3),0 2px 4px -1px rgba(0,0,0,.2); 
    transition:all .2s; 
    border:0; 
    cursor:pointer;
}
.el-btn-primary:hover { 
    background:linear-gradient(135deg, #D46A2A, #C55A1C); 
    box-shadow:0 6px 10px -1px rgba(0,0,0,.4),0 4px 6px -1px rgba(0,0,0,.3); 
    transform:translateY(-1px);
}
.el-btn-primary:active { transform:translateY(0); }

.el-btn-secondary { 
    display:inline-flex; 
    align-items:center; 
    gap:.5rem; 
    padding:.65rem 1.25rem; 
    border-radius:.5rem; 
    background:rgba(51,65,85,0.8); 
    border:1px solid rgba(71,85,105,0.5); 
    color:#e2e8f0; 
    font-size:.875rem; 
    font-weight:600; 
    transition:all .2s; 
    cursor:pointer;
    box-shadow:0 2px 4px -1px rgba(0,0,0,.2);
}
.el-btn-secondary:hover { 
    background:rgba(71,85,105,0.9); 
    border-color:rgba(100,116,139,0.6);
    transform:translateY(-1px);
    box-shadow:0 4px 6px -1px rgba(0,0,0,.3);
}
.el-btn-secondary:active { transform:translateY(0); }

.el-btn-cancel {
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.65rem 1.25rem;
    border-radius:.5rem;
    background:rgba(71,85,105,0.3);
    border:1px solid rgba(100,116,139,0.4);
    color:#cbd5e1;
    font-size:.875rem;
    font-weight:500;
    transition:all .2s;
    cursor:pointer;
}
.el-btn-cancel:hover {
    background:rgba(71,85,105,0.5);
    border-color:rgba(100,116,139,0.6);
    color:#e2e8f0;
}

/* Resource Links */
.el-resource-link {
    display:flex;
    align-items:center;
    gap:0.75rem;
    padding:0.75rem 1rem;
    background:rgba(30,41,59,0.6);
    border:1px solid #334155;
    border-radius:0.5rem;
    color:#e2e8f0;
    text-decoration:none;
    transition:all 0.2s;
}
.el-resource-link:hover {
    border-color:#60a5fa;
    background:rgba(30,41,59,0.9);
}
.el-resource-link > i:first-child {
    color:#60a5fa;
    font-size:1.1rem;
    flex-shrink:0;
    width:1.25rem;
    text-align:center;
}
.el-resource-link div {
    flex:1;
    min-width:0;
}
.el-resource-link strong {
    display:block;
    font-size:0.8rem;
    color:#f1f5f9;
}
.el-resource-link span {
    display:block;
    font-size:0.7rem;
    color:#94a3b8;
    margin-top:0.1rem;
}
.el-resource-ext {
    color:#475569;
    font-size:0.65rem;
    flex-shrink:0;
}
.el-resource-link:hover .el-resource-ext { color:#60a5fa; }

/* Print media query - hide non-printable elements when printing */
@media print {
    body, body * { visibility:hidden; }
    #printPreview, #printPreview * { visibility:visible; }
    #printPreview { 
        position:absolute; 
        left:0; 
        top:0; 
        width:100%; 
        background:#fff !important; 
        border:none !important;
        padding:0 !important;
        margin:0 !important;
    }
    #previewContent {
        padding:0 !important;
        box-shadow:none !important;
        border-radius:0 !important;
    }
    .el-print-banner {
        -webkit-print-color-adjust:exact;
        print-color-adjust:exact;
        color-adjust:exact;
    }
    .el-print-banner-logo img { height:36px; width:36px; border-radius:50%; background-color:#1a0e06; border:2px solid #E09C3D; }
    .el-print-body { padding:0.5in 0.6in; }
    .el-print-header::after {
        background:#3E2819;
        -webkit-print-color-adjust:exact;
        print-color-adjust:exact;
    }
    .el-print-section-title { color:#3E2819 !important; }
    .el-print-content { border-left-color:#ccc; }
    .el-print-notary {
        -webkit-print-color-adjust:exact;
        print-color-adjust:exact;
        background:#faf8f5 !important;
    }
    .el-print-preview > div:first-child { display:none !important; } /* Hide close button row */

    @page {
        size:letter;
        margin:0.4in;
    }
}
