
:root{color-scheme:light;--primary:#0d6efd;--primary-dark:#084298;--primary-light:#eaf3ff;--background:#f5f7fb;--surface:#fff;--text-main:#172033;--text-secondary:#667085;--border:#e4e7ec;--shadow-soft:0 4px 18px rgba(20,40,80,.06);--radius:16px}
body{min-height:100vh;background:var(--background);color:var(--text-main);font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.app-container{width:100%;max-width:1400px;margin:auto;padding-left:24px;padding-right:24px}
.app-header{background:linear-gradient(110deg,#084298,#125dca);color:white}.nav-container{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.navbar{min-height:76px}.navbar-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.15rem;margin-right:12px}.brand-mark{display:grid;place-items:center;border:1px solid #ffffff70;border-radius:10px;width:38px;height:42px;background:#ffffff15}.brand-subtitle{display:block;font-weight:400;font-size:.65rem;color:#e2edff;margin-top:2px}.navbar .nav-link{border:0;background:transparent;color:#eff5ff;border-radius:8px;padding:10px 12px;font-size:.9rem}.navbar .nav-link:hover,.navbar .nav-link.active{background:#ffffff20;color:#fff}.account-toggle{display:flex;align-items:center;gap:8px}.account-name{max-width:120px;overflow:hidden;text-overflow:ellipsis}.user-avatar{display:inline-grid;place-items:center;width:32px;height:32px;background:#fff;color:#084298;border-radius:50%;font-weight:700}.dropdown-menu{border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:12px}.dropdown-item{padding:10px 16px;white-space:normal}.skip-link{position:absolute;left:16px;top:-100px;z-index:2000;background:white;padding:12px}.skip-link:focus{top:8px}
h1,.page-title{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:750;letter-spacing:-.035em}h2{letter-spacing:-.02em}.eyebrow{color:var(--primary-dark);text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:.72rem;margin-bottom:10px}.home-hero{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:12px 0 36px}.hero-description{color:var(--text-secondary);font-size:1.05rem;margin-bottom:0}.metric-card{min-width:230px;border-left:3px solid var(--primary);background:var(--primary-light);border-radius:0 14px 14px 0;padding:20px 28px}.metric-card strong{font-size:2.4rem;line-height:1.2;display:block;color:var(--primary-dark);font-variant-numeric:tabular-nums}.metric-card span,.metric-card small{display:block}.metric-card small{color:var(--text-secondary);font-size:.73rem;margin-top:4px}.feature-card{display:flex;flex-direction:column;height:100%;padding:26px;background:white;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);text-decoration:none;color:var(--text-main);transition:transform .15s ease,box-shadow .15s ease}.feature-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #173c7614}.feature-card h2{font-size:1.15rem;margin:20px 0 10px}.feature-card p{font-size:.92rem;color:var(--text-secondary);line-height:1.6}.feature-icon{display:grid;place-items:center;background:#eaf3ff;color:#084298;border-radius:12px;width:48px;height:48px;font-size:1.6rem}.purple{background:#f0ecff;color:#6140a2}.teal{background:#e6f5f2;color:#176958}.amber{background:#fff3dd;color:#895900}.feature-link{margin-top:auto;padding-top:12px;font-size:.85rem;font-weight:600;color:#084298}.home-cta{margin-top:28px;padding:28px;border:1px solid #d9e7fc;background:#edf4ff;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:24px}.home-cta h2{font-size:1.2rem}.home-cta p{margin:0;color:var(--text-secondary);font-size:.9rem}
.card{border-radius:var(--radius);box-shadow:var(--shadow-soft)}.btn{border-radius:9px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:500}.btn-sm{min-height:36px}.form-control,.form-select{min-height:42px;border-radius:9px;border-color:#d0d5dd}.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0d6efd1a}.form-label{font-size:.85rem}.form-check-input{cursor:pointer}.result-count{padding:10px 16px;border-radius:12px;background:var(--primary-light);color:var(--primary-dark);font-weight:700;font-variant-numeric:tabular-nums}.search-button{min-width:130px}.category-badge{background:#edf2ff;color:#314b8a;border:1px solid #dce5fb;font-weight:500;white-space:normal;text-align:left}.export-excel{background:#eaf7ef;color:#176b3a;border:1px solid #c8e8d3}.export-pdf{background:#fff0f0;color:#a12635;border:1px solid #f1d2d6}.export-excel:hover{background:#d4efdf;color:#145b32}.export-pdf:hover{background:#ffe0e2;color:#891e2b}.attorney-table{font-size:.85rem}.attorney-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.035em;color:#58647a;padding:16px 12px;background:#f8faff}.attorney-table td{padding:18px 12px;border-color:#eef1f5}.attorney-table a,.attorney-mobile a:not(.btn){color:#193f7e;text-decoration:none}.attorney-table a:hover,.attorney-mobile a:hover{text-decoration:underline}.attorney-avatar{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eaf0fa;color:#355a8d;font-size:.7rem;font-weight:700;margin-right:8px;flex-shrink:0;vertical-align:middle}.status-label{white-space:nowrap;font-size:.8rem}.status-label:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:#8993a2}.status-label.is-active:before{background:#198754}.attorney-mobile h2{line-height:1.6}.attorney-mobile .card-body{padding:20px}.text-secondary{color:var(--text-secondary)!important}a:focus-visible,button:focus-visible{outline:3px solid #75aaff;outline-offset:3px}.badge{line-height:1.4}.alert{border-radius:12px}
@media(min-width:768px) and (max-width:1100px){.brand-subtitle,.account-name{display:none}.navbar .nav-link{padding:10px 7px;font-size:.8rem}.navbar-brand{font-size:1rem}}
@media(max-width:767px){.app-container{padding-left:16px;padding-right:16px}.navbar{min-height:64px}.nav-container{justify-content:space-between}.brand-subtitle{display:none}.navbar-collapse{flex-basis:100%}.navbar-nav .nav-link{width:100%;text-align:left;min-height:44px}.account-menu{padding-top:12px;border-top:1px solid #ffffff30;margin-top:12px}.navbar .dropdown-menu{position:static}.home-hero{flex-direction:column;align-items:stretch;gap:22px;padding-bottom:24px}.metric-card{min-width:0}.home-cta{flex-direction:column;align-items:stretch;padding:22px}.feature-card{padding:22px}.feature-card h2{margin-top:14px}.search-button{width:100%}.btn{min-height:44px}.export-toolbar>.btn{flex:1;min-width:0;font-size:.85rem}.export-toolbar>span{flex-basis:100%}.attorney-mobile{overflow-wrap:anywhere}.filter-panel .dropdown-menu{max-height:300px;overflow:auto}.result-count{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}

/* Identidad y autoría compartidas por todas las pantallas. */
body{display:flex;flex-direction:column}
main.app-container{flex:1;margin-top:0;margin-bottom:0}
.brand-logo,.login-logo,.feature-icon img,.cta-emblem img{object-fit:contain;flex-shrink:0}
.brand-logo{width:44px;height:44px}
.cta-emblem{display:grid;place-items:center;background:var(--primary-dark);border-radius:14px;min-width:70px;height:70px}
.home-cta>div{flex:1}
.site-footer{padding:20px 0;border-top:1px solid var(--border);text-align:center;color:var(--text-secondary);font-size:.8rem;background:#fff}
.site-footer span{font-weight:600;color:var(--text-main)}
@media(max-width:767px){.cta-emblem{align-self:flex-start}.site-footer{padding:16px 0;font-size:.75rem}}
