LEGALFINCH.CSS: :root {
--peach: #fcecd8;
--peach-deep: #f8dfc0;
--peach-soft: #fdf6ee;
--white: #ffffff;
--orange: #e07820;
--orange-hot: #f08828;
--orange-pale: #fff3e2;
--orange-mid: #fad9a8;
--ink: #1c1510;
--ink-mid: #4a3c30;
--ink-soft: #8a7060;
--ink-faint: #c4b0a0;
--border: #eddece;
--border-soft: #f5ede3;
--success: #2a7a4f;
--radius: 16px;
--radius-sm: 10px;
--shadow: 0 4px 20px rgba(160,100,40,0.10); --shadow-lg: 0 12px 48px rgba(160,100,40,0.16);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: 'Plus Jakarta Sans', sans-serif; background: var(--peach-soft);
color: var(--ink);
min-height: 100vh; -webkit-font-smoothing: antialiased;
}
.screen { display: none; min-height: 100vh; } .screen.active { display: flex; }
/* ══════════════ LOGIN ══════════════ */ #screen-login {
 flex-direction: column;
align-items: center;
justify-content: center;
padding: 24px;
background: linear-gradient(160deg, var(--peach) 0%, var(--peach-soft) 60%); position: relative;
overflow: hidden; }
#screen-login::before {
content: '';
position: absolute;
top: -120px; right: -120px;
width: 500px; height: 500px;
background: radial-gradient(circle, rgba(224,120,32,0.10) 0%, transparent 65%); pointer-events: none;
}
.login-wrap {
width: 420px;
max-width: 100%;
animation: fadeUp .5s cubic-bezier(0.16,1,0.3,1) both; position: relative; z-index: 1;
}
.login-logo-row { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 8px;
}
.login-logo-img {
width: 42px; height: 42px; object-fit: contain; border-radius: 10px;
}
.login-brand {
font-family: 'Playfair Display', serif; font-size: 28px;
font-weight: 700;
color: var(--ink);
letter-spacing: -0.01em; }
.login-tagline { text-align: center;

 font-size: 13px; color: var(--ink-soft); margin-bottom: 32px;
}
.login-card {
background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); padding: 36px 32px 32px; box-shadow: var(--shadow-lg);
}
.login-card-title {
font-family: 'Playfair Display', serif; font-size: 22px;
font-weight: 600;
color: var(--ink);
margin-bottom: 4px; }
.login-card-sub { font-size: 13px; color: var(--ink-soft); margin-bottom: 28px; line-height: 1.5;
}
.field { margin-bottom: 18px; } .field label {
display: block; font-size: 12px; font-weight: 600; color: var(--ink-mid); margin-bottom: 7px;
}
.field input {
width: 100%;
background: var(--peach-soft);
border: 1.5px solid var(--border); border-radius: var(--radius-sm);
padding: 12px 14px;
font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px;
color: var(--ink);
outline: none;
transition: all .2s;

 }
.field input:focus {
border-color: var(--orange);
background: #fff;
box-shadow: 0 0 0 3px rgba(224,120,32,0.10);
}
.field input::placeholder { color: var(--ink-faint); }
.btn-login {
width: 100%;
padding: 13px;
background: var(--orange); border: none;
border-radius: var(--radius-sm); color: #fff;
font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px;
font-weight: 700;
cursor: pointer;
transition: all .2s;
box-shadow: 0 4px 16px rgba(224,120,32,0.30); margin-top: 4px;
}
.btn-login:hover { background: var(--orange-hot); box-shadow: 0 6px 22px rgba(224,120,32,0.40); transform: translateY(-1px); }
.btn-login:active { transform: scale(0.99); }
.login-error { text-align: center; font-size: 12px; font-weight: 500; color: #c0392b; margin-top: 12px; min-height: 16px;
}
.login-demo {
margin-top: 20px;
background: var(--peach-soft); border: 1px solid var(--border-soft); border-radius: var(--radius-sm); padding: 12px 14px;
font-size: 11px;
color: var(--ink-soft);
line-height: 2;
}

 .login-demo strong { color: var(--ink-mid); font-weight: 600; }
/* ══════════════ NAVBAR ══════════════ */ .navbar {
background: rgba(255,255,255,0.92); backdrop-filter: blur(16px); border-bottom: 1px solid var(--border); height: 62px;
padding: 0 32px;
display: flex;
align-items: center; justify-content: space-between; flex-shrink: 0;
position: sticky; top: 0;
z-index: 100;
}
.navbar-brand {
display: flex; align-items: center; gap: 10px;
}
.navbar-logo { width: 30px; height: 30px; object-fit: contain; border-radius: 7px; } .navbar-name {
font-family: 'Playfair Display', serif; font-size: 18px;
font-weight: 700;
color: var(--ink);
}
.navbar-badge {
background: var(--orange-pale); border: 1px solid var(--orange-mid); color: var(--orange);
font-size: 10px;
font-weight: 700;
padding: 3px 10px;
border-radius: 100px; letter-spacing: 0.04em;
}
.navbar-right { display: flex; align-items: center; gap: 14px; } .navbar-user { font-size: 13px; color: var(--ink-soft); font-weight: 500; } .btn-outline {
background: transparent;
border: 1.5px solid var(--border); border-radius: var(--radius-sm);

 color: var(--ink-mid);
padding: 7px 16px;
font-family: 'Plus Jakarta Sans', sans-serif; font-size: 13px;
font-weight: 600;
cursor: pointer;
transition: all .2s;
}
.btn-outline:hover { border-color: var(--orange); color: var(--orange); background: var(--orange-pale); }
/* ══════════════ DASHBOARD ══════════════ */ #screen-dashboard { flex-direction: column; }
.dash-body {
flex: 1;
padding: 44px 36px; max-width: 1080px; margin: 0 auto; width: 100%;
}
/* Hero banner */ .dash-hero {
background: linear-gradient(130deg, var(--peach) 0%, var(--peach-deep) 100%); border: 1px solid var(--border);
border-radius: 20px;
padding: 36px 40px;
display: flex;
align-items: center; justify-content: space-between; margin-bottom: 44px;
gap: 20px;
overflow: hidden;
position: relative;
}
.dash-hero::after {
content: '';
position: absolute;
bottom: -60px; right: 160px;
width: 300px; height: 300px;
background: radial-gradient(circle, rgba(224,120,32,0.10) 0%, transparent 65%); pointer-events: none;
}
.dash-hero-left { position: relative; z-index: 1; } .dash-hero-pill {

 display: inline-flex;
align-items: center;
gap: 6px;
background: rgba(255,255,255,0.70); border: 1px solid var(--orange-mid); color: var(--orange);
font-size: 11px; font-weight: 700; padding: 4px 12px; border-radius: 100px; margin-bottom: 14px; letter-spacing: 0.03em; backdrop-filter: blur(4px);
}
.dash-hero h2 {
font-family: 'Playfair Display', serif; font-size: 40px;
font-weight: 700;
color: var(--ink);
line-height: 1.15; letter-spacing: -0.02em; margin-bottom: 10px;
}
.dash-hero h2 em { color: var(--orange); font-style: italic; } .dash-hero p {
font-size: 14px; color: var(--ink-mid); line-height: 1.65; max-width: 380px;
}
.dash-hero-img {
width: 90px; height: 90px;
object-fit: contain;
flex-shrink: 0;
position: relative; z-index: 1;
filter: drop-shadow(0 4px 12px rgba(160,100,40,0.15));
}
/* Section */ .section-head {
display: flex; align-items: center; gap: 14px; margin-bottom: 20px;
}

 .section-head-label { font-size: 11px; font-weight: 700; letter-spacing: 0.10em; text-transform: uppercase; color: var(--orange);
}
.section-head-line { flex: 1; height: 1px; background: var(--border); }
/* Grid */ .contracts-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px;
}
.contract-card {
background: var(--white);
border: 1.5px solid var(--border); border-radius: var(--radius);
padding: 24px;
cursor: pointer;
transition: all .22s cubic-bezier(0.16,1,0.3,1); display: flex;
flex-direction: column;
position: relative;
overflow: hidden;
}
.contract-card::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(224,120,32,0.03) 0%, transparent 60%); opacity: 0;
transition: opacity .22s;
}
.contract-card:hover {
border-color: var(--orange); box-shadow: var(--shadow-lg); transform: translateY(-3px);
}
.contract-card:hover::before { opacity: 1; }
.card-icon {
width: 46px; height: 46px;

 background: var(--orange-pale);
border: 1px solid var(--orange-mid);
border-radius: 12px;
display: flex; align-items: center; justify-content: center; font-size: 20px;
margin-bottom: 16px;
}
.card-num {
font-size: 10px; font-weight: 700;
color: var(--orange); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 4px;
}
.contract-card h3 {
font-family: 'Playfair Display', serif; font-size: 18px;
font-weight: 700;
color: var(--ink);
margin-bottom: 8px;
line-height: 1.2; }
.contract-card p { font-size: 13px; color: var(--ink-soft); line-height: 1.65; flex: 1; margin-bottom: 18px;
}
.card-footer {
display: flex;
align-items: center; justify-content: space-between;
}
.card-tags { display: flex; gap: 5px; flex-wrap: wrap; } .card-tag {
font-size: 10px;
font-weight: 600;
background: var(--peach-soft); color: var(--ink-mid);
border: 1px solid var(--border); padding: 3px 8px; border-radius: 100px;
}

 .card-arrow {
width: 32px; height: 32px;
background: var(--orange);
border-radius: 8px;
display: flex; align-items: center; justify-content: center; color: #fff;
font-size: 14px;
flex-shrink: 0;
transition: background .2s, transform .2s;
box-shadow: 0 3px 10px rgba(224,120,32,0.28);
}
.contract-card:hover .card-arrow { background: var(--orange-hot); transform: translateX(2px); }
/* ══════════════ FORM SCREEN ══════════════ */ #screen-form { flex-direction: column; }
.form-layout { flex: 1; display: flex; overflow: hidden; }
.form-sidebar {
width: 240px;
flex-shrink: 0;
background: var(--white); border-right: 1px solid var(--border); padding: 28px 0;
overflow-y: auto; }
.sidebar-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-faint); padding: 0 20px; margin-bottom: 14px;
}
.step-item {
display: flex;
align-items: center;
gap: 12px;
padding: 10px 20px; transition: background .15s; cursor: default;
}
.step-bullet {
width: 28px; height: 28px;

 border-radius: 50%;
border: 2px solid var(--border);
background: var(--peach-soft);
display: flex; align-items: center; justify-content: center; font-size: 11px;
font-weight: 700;
color: var(--ink-faint);
flex-shrink: 0;
transition: all .2s;
}
.step-label {
font-size: 13px; font-weight: 500; color: var(--ink-faint); transition: color .2s;
}
.step-item.done .step-bullet { background: var(--orange-pale); border-color: var(--orange-mid); color: var(--orange); } .step-item.done .step-label { color: var(--ink-mid); }
.step-item.active { background: var(--orange-pale); border-radius: 0; }
.step-item.active .step-bullet { background: var(--orange); border-color: var(--orange); color: #fff; box-shadow: 0 3px
10px rgba(224,120,32,0.30); }
.step-item.active .step-label { color: var(--orange); font-weight: 700; }
.progress-bar { height: 3px; background: var(--border); flex-shrink: 0; }
.progress-fill { height: 100%; background: var(--orange); transition: width .4s cubic-bezier(0.16,1,0.3,1); box-shadow: 0 0 8px rgba(224,120,32,0.40); }
.form-main {
flex: 1;
overflow-y: auto;
padding: 48px 52px; background: var(--peach-soft);
}
.form-section { display: none; }
.form-section.active { display: block; animation: fadeUp .3s ease both; }
.form-section-title {
font-family: 'Playfair Display', serif; font-size: 34px;
font-weight: 700;
color: var(--ink);
letter-spacing: -0.02em; margin-bottom: 4px;
}

 .form-section-title em { color: var(--orange); } .form-section-sub {
font-size: 13px; color: var(--ink-soft); margin-bottom: 36px;
}
.form-grid {
display: grid; grid-template-columns: 1fr 1fr; gap: 18px 24px;
}
.form-grid .full { grid-column: 1/-1; }
.form-field label {
display: block;
font-size: 11px; font-weight: 700;
color: var(--ink-mid); margin-bottom: 7px; letter-spacing: 0.02em; text-transform: uppercase;
}
.form-field input, .form-field select, .form-field textarea {
width: 100%;
background: var(--white);
border: 1.5px solid var(--border); border-radius: var(--radius-sm);
padding: 11px 14px;
font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px;
color: var(--ink);
outline: none;
transition: all .2s;
-webkit-appearance: none;
box-shadow: var(--shadow);
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus {
border-color: var(--orange);
box-shadow: 0 0 0 3px rgba(224,120,32,0.10), var(--shadow); }

 .form-field input::placeholder { color: var(--ink-faint); } .form-field textarea { resize: vertical; min-height: 88px; } .form-field select option { background: #fff; }
.form-actions { margin-top: 40px; display: flex;
gap: 12px; align-items: center;
}
.btn-next {
padding: 13px 36px; background: var(--orange); border: none;
border-radius: var(--radius-sm); color: #fff;
font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px;
font-weight: 700;
cursor: pointer;
transition: all .2s;
box-shadow: 0 4px 16px rgba(224,120,32,0.30); }
.btn-next:hover { background: var(--orange-hot); box-shadow: 0 6px 22px rgba(224,120,32,0.40); transform: translateY(-1px); }
.btn-back {
padding: 13px 22px;
background: var(--white);
border: 1.5px solid var(--border); border-radius: var(--radius-sm);
color: var(--ink-mid);
font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px;
font-weight: 600;
cursor: pointer;
transition: all .2s;
}
.btn-back:hover { border-color: var(--orange); color: var(--orange); }
/* ══════════════ OUTPUT SCREEN ══════════════ */ #screen-output { flex-direction: column; }
.output-layout { flex: 1; display: flex; overflow: hidden; } .output-sidebar {

 width: 270px;
flex-shrink: 0;
background: var(--white); border-right: 1px solid var(--border); padding: 36px 24px;
display: flex; flex-direction: column; gap: 10px;
}
.output-sidebar h3 {
font-family: 'Playfair Display', serif; font-size: 24px;
font-weight: 700;
color: var(--ink);
margin-bottom: 4px; }
.output-sidebar p { font-size: 13px; color: var(--ink-soft); line-height: 1.65; margin-bottom: 16px;
}
.success-chip {
display: flex;
align-items: center;
gap: 8px;
background: #edf7f1;
border: 1px solid #a8d8bc; border-radius: var(--radius-sm); padding: 10px 14px; margin-bottom: 6px;
}
.success-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--success); flex-shrink: 0; } .success-chip span { font-size: 12px; font-weight: 700; color: var(--success); }
.btn-action {
padding: 12px 16px;
background: var(--white);
border: 1.5px solid var(--border); border-radius: var(--radius-sm);
color: var(--ink-mid);
font-family: 'Plus Jakarta Sans', sans-serif; font-size: 13px;
font-weight: 600;

 cursor: pointer; transition: all .2s; display: flex; align-items: center; gap: 10px; text-align: left;
}
.btn-action:hover { border-color: var(--orange); color: var(--orange); background: var(--orange-pale); } .btn-action.primary {
background: var(--orange);
border-color: var(--orange);
color: #fff;
box-shadow: 0 4px 14px rgba(224,120,32,0.28);
}
.btn-action.primary:hover { background: var(--orange-hot); }
.output-doc-wrap { flex: 1;
overflow-y: auto; background: #f0f0f0; padding: 40px; display: flex; justify-content: center;
}
/* Document */ .doc-paper {
background: #fff;
width: 816px;
min-height: 1056px;
box-sizing: border-box;
max-width: 100%;
padding: 64px 68px;
box-shadow: 0 4px 40px rgba(0,0,0,0.10); font-family: 'Georgia', 'Times New Roman', serif; font-size: 14.5px;
line-height: 1.85; color: #1a1410; position: relative;
}
.doc-header {
display: flex;
align-items: center; justify-content: space-between;

 padding-bottom: 20px; margin-bottom: 32px; border-bottom: 2px solid #1a1410;
}
.doc-brand {
display: flex; align-items: center; gap: 9px;
}
.doc-brand-logo { height: 40px; width: auto; max-width: 160px; object-fit: contain; } .doc-brand-name {
font-family: 'Playfair Display', serif; font-size: 18px;
font-weight: 700;
color: #1a1410;
letter-spacing: -0.01em; }
.doc-stamp {
text-align: right;
font-family: 'Plus Jakarta Sans', sans-serif; font-size: 9px;
color: #8a7060;
letter-spacing: 0.05em;
line-height: 1.9;
text-transform: uppercase;
}
.doc-paper h1 {
font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15px;
font-weight: 800;
letter-spacing: 0.10em;
text-transform: uppercase;
text-align: center;
color: #1a1410;
margin: 8px 0 6px;
}
.doc-subtitle {
text-align: center;
font-family: 'Plus Jakarta Sans', sans-serif; font-size: 10px;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #8a7060;
margin-bottom: 28px;

 }
.doc-hr { border: none; border-top: 1px solid #e8ddd2; margin: 24px 0; } .doc-paper h2 {
font-family: 'Plus Jakarta Sans', sans-serif; font-size: 10px;
font-weight: 800;
letter-spacing: 0.18em;
text-transform: uppercase;
color: #e07820;
margin: 26px 0 8px; padding-bottom: 5px; border-bottom: 1px solid #fad9a8;
}
.doc-paper p { margin-bottom: 10px; }
.doc-hi { background: #fff3e2; padding: 1px 5px; border-radius: 3px; font-weight: 600; } .doc-quote {
border-left: 3px solid #e07820; padding: 10px 16px; background: #fdf6ee;
margin: 14px 0;
font-style: italic;
color: #4a3c30; border-radius: 0 6px 6px 0;
}
.doc-sigs {
display: grid; grid-template-columns: 1fr 1fr; gap: 48px;
margin-top: 60px;
}
.sig-line { border-top: 1px solid #1a1410; padding-top: 10px; } .sig-role {
font-family: 'Plus Jakarta Sans', sans-serif; font-size: 9px;
font-weight: 700;
letter-spacing: 0.15em;
text-transform: uppercase; color: #8a7060; margin-bottom: 4px;
}
.sig-name { font-size: 14px; font-weight: 600; color: #1a1410; }
.sig-rfc { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 10px; color: #c4b0a0; margin-top: 3px; }
/* ══════════════ LOADER ══════════════ */ .gen-overlay {

 position: fixed; inset: 0;
background: rgba(252,236,216,0.85); backdrop-filter: blur(8px);
display: none;
flex-direction: column;
align-items: center;
justify-content: center;
z-index: 9999;
}
.gen-overlay.show { display: flex; } .gen-card {
background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); padding: 40px 48px;
display: flex;
flex-direction: column; align-items: center;
gap: 16px;
box-shadow: var(--shadow-lg);
}
.gen-img {
width: 56px; height: 56px;
object-fit: contain;
border-radius: 12px;
animation: pulse 1.2s ease-in-out infinite;
}
@keyframes pulse {
0%,100% { transform: scale(1); opacity: 1; }
50% { transform: scale(0.9); opacity: 0.7; } }
.gen-text {
font-size: 15px; font-weight: 600; color: var(--ink-mid);
}
.gen-dots::after {
content: '';
animation: dots 1.2s steps(3,end) infinite; }
@keyframes dots { 0%{content:''} 33%{content:'.'} 66%{content:'..'} 100%{content:'...'} }
/* ══════════════ UTILS ══════════════ */ @keyframes fadeUp {
from { opacity: 0; transform: translateY(18px); }

 to { opacity: 1; transform: translateY(0); } }
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: var(--orange-mid); }
@page {
size: letter portrait; margin: 15mm 18mm;
}
@media print {
.navbar, .output-sidebar, .gen-overlay { display: none !important; }
.output-layout { display: block; }
.output-doc-wrap { padding: 0; background: #fff; }
.doc-paper { box-shadow: none; width: 100%; min-height: auto; padding: 0; margin: 0; font-size: 13px; line-height:
1.75; }
#screen-output { display: block !important; }
}
/* ── ADMIN PANEL ─────────────────────────────────────────────────── */ .btn-admin-portal{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--ink- soft);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s;}
.btn-admin-portal:hover{background:var(--ink);}
.admin-body{max-width:900px;margin:40px auto;padding:0 24px;} .admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;}
.admin-header h2{font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--ink);} .admin-form-card{background:#fff;border-radius:16px;padding:28px;margin-bottom:28px;box-shadow:0 2px 16px rgba(0,0,0,.07);}
.admin-form-card h3{font-size:1.1rem;font-weight:700;color:var(--ink);margin-bottom:20px;} .admin-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;} @media(max-width:680px){.admin-form-grid{grid-template-columns:1fr;}} .admin-form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px;} .admin-table-wrap{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 16px rgba(0,0,0,.07);} .admin-table{width:100%;border-collapse:collapse;}
.admin-table thead{background:var(--sand-deep);}
.admin-table th{padding:14px 20px;text-align:left;font-size:.8rem;font-weight:700;letter-spacing:.05em;text- transform:uppercase;color:var(--ink-soft);}
.admin-table td{padding:14px 20px;border-bottom:1px solid var(--sand);font-size:.9rem;}
.admin-table tr:last-child td{border-bottom:none;}
.btn-tbl-edit{padding:6px 14px;background:var(--sand-deep);color:var(--ink);border:none;border-radius:6px;font- size:.8rem;font-weight:600;cursor:pointer;margin-right:6px;transition:background .2s;} .btn-tbl-edit:hover{background:#e0d5c5;}

 .btn-tbl-del{padding:6px 14px;background:#fde8e8;color:#c0392b;border:none;border-radius:6px;font-size:.8rem;font- weight:600;cursor:pointer;transition:background .2s;}
.btn-tbl-del:hover{background:#f5b7b1;}
/* ── BOTÓN DOCUMENTOS Y CONTRATOS ─────────────────────────── */ .navbar-docs-btn {
display: inline-flex; align-items: center;
gap: 6px;
padding: 7px 16px; background: var(--accent); color: #fff;
border: none;
border-radius: 20px;
font-family: 'Plus Jakarta Sans', sans-serif; font-size: 13px;
font-weight: 600;
cursor: pointer;
letter-spacing: .01em;
transition: background .18s, transform .12s; white-space: nowrap;
}
.navbar-docs-btn:hover {
background: var(--accent-dark, #c4631a);
transform: translateY(-1px); }
/* ── SCREEN HOME ───────────────────────────────────────────────── */ #screen-home {
background: var(--bg); flex-direction: column !important; height: 100vh;
overflow: hidden;
}
.home-body {
flex: 1 1 auto;
display: flex !important; align-items: center; justify-content: center; padding: 60px 24px; overflow: auto;
}

 .home-welcome { text-align: center; max-width: 480px; width: 100%;
display: flex !important; flex-direction: column; align-items: center;
gap: 20px; }
.home-logo {
height: 64px;
width: auto; max-width: 200px; object-fit: contain; margin-bottom: 8px; display: block;
}
.home-title {
font-family: 'Playfair Display', serif; font-size: 2.2rem;
font-weight: 700;
color: var(--ink);
line-height: 1.2;
margin: 0;
}
.home-brand {
color: var(--accent);
}
.home-subtitle {
font-family: 'Plus Jakarta Sans', sans-serif; font-size: 1rem;
color: var(--ink-soft);
line-height: 1.6;
margin: 0;
max-width: 400px;
}
.home-cta {
display: inline-flex; align-items: center;

 gap: 10px;
padding: 14px 32px;
background: var(--accent);
color: #fff;
border: none;
border-radius: 32px;
font-family: 'Plus Jakarta Sans', sans-serif;
font-size: 1rem;
font-weight: 700;
cursor: pointer;
letter-spacing: .01em;
transition: background .18s, transform .15s, box-shadow .18s; box-shadow: 0 4px 18px rgba(0,0,0,.12);
margin-top: 8px;
}
.home-cta:hover {
background: var(--accent-dark, #c4631a); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.16);
}
/* ══════════════════════════════════════════════════════ ALERTAS JUDICIALES — Módulo Legal Finch
Integrado en los colores del tema (naranja/durazno)
══════════════════════════════════════════════════════ */
/* ── Botón navbar Alertas ── */ .navbar-alertas-btn {
display: inline-flex; align-items: center;
gap: 6px;
padding: 7px 18px; background: var(--orange); color: #fff;
border: 1.5px solid var(--orange); border-radius: 20px;
font-family: 'Plus Jakarta Sans', sans-serif; font-size: 13px;
font-weight: 600;
cursor: pointer;
letter-spacing: .01em;
transition: background .18s, transform .12s, box-shadow .18s; white-space: nowrap;

 box-shadow: 0 4px 16px rgba(224,120,32,.30); }
.navbar-alertas-btn:hover {
background: var(--orange-hot);
transform: translateY(-1px);
box-shadow: 0 6px 22px rgba(224,120,32,.40);
}
.navbar-alertas-btn.activo {
background: var(--orange-hot);
color: #fff;
border-color: var(--orange-hot);
box-shadow: 0 4px 16px rgba(224,120,32,.40);
}
/* ── Screen Alertas ── */ #screen-alertas {
flex-direction: column; }
.alertas-body {
flex: 1;
padding: 36px 36px; max-width: 1080px; margin: 0 auto; width: 100%;
}
/* ── Hero banner alertas ── */ .alertas-hero {
background: linear-gradient(130deg, var(--peach) 0%, var(--peach-deep) 100%); border: 1px solid var(--border);
border-radius: 20px;
padding: 28px 36px;
display: flex;
align-items: center; justify-content: space-between; margin-bottom: 32px;
gap: 16px;
position: relative;
overflow: hidden;
}
.alertas-hero::after {
content: '';
position: absolute;
bottom: -50px; right: 120px;

 width: 260px; height: 260px;
background: radial-gradient(circle, rgba(224,120,32,0.10) 0%, transparent 65%); pointer-events: none;
}
.alertas-hero-left { position: relative; z-index: 1; } .alertas-hero-pill {
display: inline-flex;
align-items: center;
gap: 6px;
background: rgba(255,255,255,0.70); border: 1px solid var(--orange-mid); color: var(--orange);
font-size: 11px; font-weight: 700; padding: 4px 12px; border-radius: 100px; margin-bottom: 10px; letter-spacing: 0.03em;
}
.alertas-hero h2 {
font-family: 'Playfair Display', serif; font-size: 28px;
font-weight: 700;
color: var(--ink);
line-height: 1.2; letter-spacing: -0.02em; margin-bottom: 6px;
}
.alertas-hero h2 em { color: var(--orange); font-style: italic; } .alertas-hero p {
font-size: 13px; color: var(--ink-mid); line-height: 1.6; max-width: 380px;
}
.alertas-hero-right {
display: flex; gap: 10px; flex-shrink: 0; position: relative; z-index: 1;
}
/* ── Stats row ── */ .alertas-stats {

 display: grid;
grid-template-columns: repeat(4, 1fr); gap: 14px;
margin-bottom: 28px;
}
.alertas-stat {
background: var(--white); border: 1px solid var(--border); border-radius: 14px;
padding: 18px 20px; transition: box-shadow .2s;
}
.alertas-stat:hover { box-shadow: var(--shadow); } .alertas-stat-label {
font-size: 10px; font-weight: 700; letter-spacing: 0.10em; text-transform: uppercase; color: var(--ink-faint); margin-bottom: 8px;
}
.alertas-stat-val {
font-family: 'Playfair Display', serif; font-size: 32px;
font-weight: 700;
color: var(--ink);
line-height: 1;
margin-bottom: 4px; }
.alertas-stat-val.accent { color: var(--orange); } .alertas-stat-val.success { color: var(--success); } .alertas-stat-sub {
font-size: 11px;
color: var(--ink-faint); }
/* ── Alert banner (publicaciones del día) ── */ .alertas-banner {
background: #edf7f1; border: 1px solid #a8d8bc; border-radius: 12px; padding: 14px 18px; margin-bottom: 24px; display: flex;
align-items: center;

 gap: 12px;
font-size: 13px; color: var(--ink-mid);
}
.alertas-banner-dot {
width: 8px; height: 8px; border-radius: 50%; background: var(--success); flex-shrink: 0;
animation: aj-pulse 2s ease-in-out infinite; }
@keyframes aj-pulse {
0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.5; transform:scale(.85); }
}
.alertas-banner strong { color: var(--success); }
/* ── Tarjetas de publicaciones ── */ .alertas-pub-card {
background: var(--white);
border: 1.5px solid var(--border); border-left: 4px solid var(--orange); border-radius: 0 14px 14px 0;
padding: 16px 20px;
margin-bottom: 10px;
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 16px;
transition: box-shadow .2s, border-color .2s; cursor: pointer;
}
.alertas-pub-card:hover {
box-shadow: var(--shadow);
border-color: var(--orange); }
.alertas-pub-meta { flex: 1; } .alertas-pub-exp {
font-family: 'Playfair Display', serif; font-size: 16px;
font-weight: 700;
color: var(--ink);
margin-bottom: 4px; }
.alertas-pub-desc {

 font-size: 12px; color: var(--ink-soft); line-height: 1.6;
}
.alertas-pub-right {
text-align: right;
flex-shrink: 0; }
.alertas-pub-date { font-size: 11px;
color: var(--ink-faint); margin-bottom: 8px;
}
.alertas-pub-btns {
display: flex;
gap: 6px; justify-content: flex-end;
}
.btn-pub {
padding: 5px 12px;
font-size: 11px;
font-weight: 600;
border-radius: 8px;
cursor: pointer;
font-family: 'Plus Jakarta Sans', sans-serif; transition: all .15s;
border: 1.5px solid var(--border); background: var(--peach-soft); color: var(--ink-mid);
}
.btn-pub:hover { border-color: var(--orange); color: var(--orange); background: var(--orange-pale); } .btn-pub.primary {
background: var(--orange); color: #fff;
border-color: var(--orange);
}
.btn-pub.primary:hover { background: var(--orange-hot); }
/* ── Tabla de expedientes ── */ .alertas-table-wrap {
background: var(--white); border: 1px solid var(--border); border-radius: 16px;
overflow: hidden; margin-bottom: 32px;

 }
.alertas-table {
width: 100%;
border-collapse: collapse; }
.alertas-table thead { background: var(--peach-soft);
}
.alertas-table th {
padding: 12px 16px;
text-align: left;
font-size: 10px;
font-weight: 700;
letter-spacing: 0.10em;
text-transform: uppercase;
color: var(--orange);
border-bottom: 1px solid var(--border);
}
.alertas-table td {
padding: 13px 16px;
font-size: 13px;
color: var(--ink-mid);
border-bottom: 1px solid var(--border-soft); vertical-align: middle;
}
.alertas-table tr:last-child td { border-bottom: none; } .alertas-table tr:hover td { background: var(--peach-soft); } .alertas-table td.num {
font-weight: 700; color: var(--ink); font-size: 14px;
}
/* ── Status pills ── */ .pill-status {
display: inline-flex; align-items: center;
gap: 5px;
font-size: 10px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding: 4px 10px; border-radius: 100px;
}

 .pill-status.publicado {
background: var(--orange-pale); color: var(--orange);
border: 1px solid var(--orange-mid);
}
.pill-status.activo {
background: #edf7f1; color: var(--success); border: 1px solid #a8d8bc;
}
.pill-status.inactivo {
background: var(--peach-soft); color: var(--ink-faint);
border: 1px solid var(--border);
}
/* ── Chip de juzgado ── */ .juzgado-chip {
font-size: 10px;
font-weight: 600;
background: var(--peach-soft); color: var(--ink-mid);
border: 1px solid var(--border); padding: 3px 8px; border-radius: 100px; white-space: nowrap;
}
/* ── Modal Nuevo Expediente ── */ .aj-modal-overlay {
position: fixed;
inset: 0;
background: rgba(252,236,216,0.75); backdrop-filter: blur(8px);
z-index: 9998;
display: none;
align-items: center;
justify-content: center;
}
.aj-modal-overlay.open { display: flex; } .aj-modal {
background: var(--white); border: 1px solid var(--border); border-radius: 20px;
width: 540px;

 max-width: 95vw;
max-height: 90vh;
overflow-y: auto;
padding: 36px 36px 28px;
box-shadow: var(--shadow-lg);
animation: fadeUp .3s cubic-bezier(0.16,1,0.3,1) both;
}
.aj-modal-title {
font-family: 'Playfair Display', serif; font-size: 24px;
font-weight: 700;
color: var(--ink);
margin-bottom: 4px; }
.aj-modal-sub { font-size: 13px; color: var(--ink-soft); margin-bottom: 24px; line-height: 1.5;
}
.aj-form-row {
display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
margin-bottom: 14px;
}
.aj-form-row.single { grid-template-columns: 1fr; } .aj-form-group { display: flex; flex-direction: column; gap: 6px; } .aj-form-label {
font-size: 11px; font-weight: 700;
color: var(--ink-mid); letter-spacing: 0.03em; text-transform: uppercase;
}
.aj-form-input, .aj-form-select {
background: var(--peach-soft); border: 1.5px solid var(--border); border-radius: var(--radius-sm); color: var(--ink);
padding: 10px 13px;
font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px;
outline: none;
transition: all .2s;

 -webkit-appearance: none; }
.aj-form-input:focus, .aj-form-select:focus { border-color: var(--orange);
background: #fff;
box-shadow: 0 0 0 3px rgba(224,120,32,0.10);
}
.aj-form-input::placeholder { color: var(--ink-faint); } .aj-modal-actions {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 24px;
padding-top: 20px;
border-top: 1px solid var(--border-soft);
}
/* ── Log de escaneos ── */ .scan-log-wrap {
background: var(--white); border: 1px solid var(--border); border-radius: 16px;
overflow: hidden;
}
.scan-entry {
display: flex;
align-items: center;
gap: 14px;
padding: 13px 18px;
border-bottom: 1px solid var(--border-soft); font-size: 13px;
transition: background .15s;
}
.scan-entry:last-child { border-bottom: none; }
.scan-entry:hover { background: var(--peach-soft); }
.scan-dot-ok { width:8px;height:8px;border-radius:50%;background:var(--success);flex-shrink:0; } .scan-dot-warn{ width:8px;height:8px;border-radius:50%;background:var(--orange);flex-shrink:0; }
/* ── Submenu tabs dentro de Alertas ── */ .alertas-tabs {
display: flex;
gap: 0;
border-bottom: 1px solid var(--border); margin-bottom: 28px;
}

 .alertas-tab {
padding: 10px 22px;
font-size: 12px;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--ink-faint);
cursor: pointer;
border-bottom: 2.5px solid transparent; margin-bottom: -1px;
transition: all .15s;
background: none;
border-top: none;
border-left: none;
border-right: none;
font-family: 'Plus Jakarta Sans', sans-serif;
}
.alertas-tab:hover { color: var(--orange); } .alertas-tab.active {
color: var(--orange);
border-bottom-color: var(--orange); }
/* ── Vistas internas ── */ .alertas-view { display: none; } .alertas-view.active { display: block; }
/* ── Paginación ── */ .alertas-pagination {
display: flex;
align-items: center;
justify-content: space-between; padding: 12px 16px;
border-top: 1px solid var(--border-soft); font-size: 12px;
color: var(--ink-faint);
}
.alertas-pag-btns { display: flex; gap: 5px; } .btn-pag {
padding: 5px 11px; background: var(--peach-soft); border: 1px solid var(--border); border-radius: 8px;
color: var(--ink-mid); font-size: 12px;

cursor: pointer;
font-family: 'Plus Jakarta Sans', sans-serif; transition: all .15s;
}
.btn-pag:hover, .btn-pag.active {
border-color: var(--orange); color: var(--orange); background: var(--orange-pale);
}
@media (max-width:768px) {
.alertas-stats { grid-template-columns: 1fr 1fr; } .aj-form-row { grid-template-columns: 1fr; } .alertas-hero { flex-direction: column; }
}