:root{--deca-navy:#14264c;--deca-blue:#325fba;--deca-bright:#648cff;--deca-bg:#f2f5fb;--deca-ink:#172845;--deca-muted:#697994;--deca-line:#e3e9f3}
body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--deca-bg);color:var(--deca-ink)}
a{color:var(--deca-blue)}
.btn-primary{--bs-btn-bg:#315fba;--bs-btn-border-color:#315fba;--bs-btn-hover-bg:#244e9e;--bs-btn-hover-border-color:#244e9e;border-radius:.75rem;font-weight:650;padding:.65rem 1.1rem}
.btn-outline-primary{--bs-btn-color:#315fba;--bs-btn-border-color:#bfd0ef;--bs-btn-hover-bg:#315fba;border-radius:.75rem;font-weight:600}
.btn-light,.btn-outline-secondary{border-radius:.75rem}
.form-control,.form-select{border:1px solid #d8e1ef;border-radius:.75rem;padding:.72rem .9rem;box-shadow:none}
.form-control:focus,.form-select:focus{border-color:#7295e8;box-shadow:0 0 0 .22rem rgba(100,140,255,.15)}
.form-label{font-weight:650;font-size:.89rem;color:#334360;margin-bottom:.45rem}
.form-text{color:var(--deca-muted)}
.app-shell{display:flex;min-height:100vh}
.sidebar{width:258px;flex:none;background:linear-gradient(155deg,#16274c 0%,#183462 58%,#224a89 100%);color:#e3eaf8;position:sticky;top:0;height:100vh;padding:1.6rem 1rem;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:.7rem;color:#fff;text-decoration:none;font-weight:800;font-size:1.28rem;letter-spacing:-.03em;padding:.15rem .55rem;margin-bottom:2.8rem}
.brand:hover{color:#fff}
.brand-mark{height:34px;width:34px;border-radius:10px;display:inline-grid;place-items:center;background:linear-gradient(135deg,#7996ff,#4d75e5);box-shadow:0 9px 20px rgba(19,31,72,.28);font-weight:800;color:#16274c}
.brand small{font-size:.68rem;display:block;letter-spacing:.09em;text-transform:uppercase;color:#aebfe6;line-height:1.1}
.nav-caption{font-size:.67rem;letter-spacing:.16em;text-transform:uppercase;font-weight:750;color:#91a7d0;padding:.45rem .8rem;margin-bottom:.35rem}
.side-link{display:block;text-decoration:none;color:#d2ddf1;font-size:.93rem;font-weight:600;padding:.72rem .85rem;border-radius:.8rem;margin:.13rem 0}
.side-link:hover,.side-link.active{background:rgba(255,255,255,.12);color:white}
.side-link.active{box-shadow:inset 3px 0 #85a5ff}
.side-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.13);padding:1rem .7rem .2rem;font-size:.77rem;color:#a9bce0}
.app-main{flex:1;min-width:0}
.topbar{background:#fff;border-bottom:1px solid var(--deca-line);min-height:73px;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.topbar-title{font-size:.8rem;color:var(--deca-muted);font-weight:600}
.user-chip{display:flex;align-items:center;gap:.65rem;font-size:.85rem;color:#425371}
.user-avatar{width:32px;height:32px;border-radius:10px;background:#dfe8fb;display:grid;place-items:center;color:#2f59aa;font-weight:800}
.page-wrap{max-width:1250px;padding:2.5rem 2rem 4rem;margin:auto}
.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:#5074be;font-weight:800;margin-bottom:.6rem}
.page-title{font-weight:800;letter-spacing:-.035em;color:#15274c;margin:0}
.page-subtitle{color:var(--deca-muted);margin:.55rem 0 0}
.panel-card{background:#fff;border:1px solid #e3eaf4;border-radius:1.15rem;box-shadow:0 12px 34px rgba(31,54,105,.045)}
.panel-card .card-header{background:transparent;border-bottom:1px solid #e9eef6;padding:1.25rem 1.45rem;font-weight:750}
.panel-card .card-body{padding:1.45rem}
.metric-card{padding:1.35rem 1.45rem;height:100%}
.metric-label{font-size:.78rem;color:#72809a;font-weight:650;margin-bottom:.7rem}
.metric-value{font-size:2.1rem;font-weight:800;line-height:1;letter-spacing:-.05em;color:#182b53}
.metric-accent{width:38px;height:5px;border-radius:99px;background:#6088f3;margin-top:1rem}
.metric-accent.success{background:#36b8a6}.metric-accent.warning{background:#e0a84a}.metric-accent.danger{background:#e97979}
.table{--bs-table-bg:transparent;margin:0}.table th{color:#74819a;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;font-weight:750;border-bottom-color:#e6ecf5;padding:.9rem 1rem}.table td{color:#263753;border-bottom-color:#edf1f7;padding:.95rem 1rem;vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}
.badge-state{border-radius:99px;padding:.48rem .7rem;font-size:.7rem;font-weight:700}
.badge-pendiente,.badge-en_cola,.badge-procesando{background:#edf3ff;color:#4066b1}.badge-aceptado{background:#e8f4ff;color:#2a6aab}.badge-entregado,.badge-leido{background:#dff7ee;color:#188061}.badge-fallido,.badge-desconocido{background:#fff0ef;color:#ba4f50}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,44%) 1fr}
.auth-hero{background:radial-gradient(circle at 90% 10%,rgba(117,153,255,.22),transparent 35%),linear-gradient(145deg,#17294f,#173365 70%,#244d91);color:white;padding:3rem clamp(2rem,5vw,6rem);display:flex;flex-direction:column;overflow:hidden;position:relative}
.auth-hero:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-250px;bottom:-220px}
.auth-hero .brand{padding:0;margin:0}.auth-hero-content{margin:auto 0;max-width:560px;position:relative;z-index:1}.auth-hero h1{font-size:clamp(2.4rem,4.4vw,4.5rem);font-weight:800;letter-spacing:-.055em;line-height:1.04}.auth-hero p{font-size:1.12rem;line-height:1.6;color:#c3d0e8;margin-top:1.5rem}.auth-hero-footer{font-size:.82rem;color:#a8bcdf}
.auth-main{background:#f3f6fc;display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem}.auth-box{width:min(100%,510px)}.auth-box h2{font-weight:800;color:#172950;letter-spacing:-.035em}.auth-box>p{color:#73819b}.auth-card{padding:2rem;border-radius:1.3rem;background:#fff;box-shadow:0 18px 55px rgba(29,51,102,.08);border:1px solid #e9eef7;margin-top:2rem}
.empty-state{padding:3rem;text-align:center;color:#76839a}.empty-state strong{display:block;color:#263959;font-size:1.07rem;margin-bottom:.3rem}
.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.break-all{overflow-wrap:anywhere}
@media(max-width:900px){.sidebar{width:210px}.page-wrap{padding:2rem 1.2rem}.topbar{padding:1rem 1.2rem}.auth-shell{grid-template-columns:1fr}.auth-hero{min-height:300px;padding:2rem}.auth-hero-content{margin:2rem 0 0}.auth-hero h1{font-size:2.6rem}}
@media(max-width:650px){.app-shell{display:block}.sidebar{width:100%;height:auto;position:relative;padding:.8rem}.sidebar .brand{margin-bottom:.5rem}.sidebar nav{display:flex;overflow-x:auto;gap:.2rem}.sidebar .nav-caption,.side-footer{display:none}.side-link{white-space:nowrap;padding:.55rem .7rem}.topbar{min-height:60px}.page-wrap{padding:1.5rem .9rem}.auth-hero{min-height:245px}.auth-hero p{font-size:.98rem;margin-top:.7rem}.auth-main{padding:2rem 1rem}.auth-card{padding:1.4rem}}
