:root{--bg:#F7F6F3;--surface:#FFFFFF;--surface2:#F0EEE9;--border:rgba(0,0,0,.08);--border2:rgba(0,0,0,.14);--text:#1A1917;--text2:#6B6A65;--text3:#A09E99;--accent:#4A42B0;--accent-lt:#EEEDFE;--accent-tx:#3C3489;--green:#1D9E75;--green-lt:#E1F5EE;--green-tx:#0F6E56;--amber:#BA7517;--amber-lt:#FAEEDA;--amber-tx:#633806;--red:#A32D2D;--red-lt:#FCEBEB;--red-tx:#791F1F;--blue:#185FA5;--blue-lt:#E6F1FB;--blue-tx:#0C447C;--r:10px;--rsm:6px;}
*,*::before,*::after{box-sizing:border-box;}
body{font-family:"DM Sans",sans-serif;background:var(--bg);color:var(--text);}
.lr-shell{display:flex;min-height:100vh;}
.lr-sidebar{width:224px;height:100vh;overflow:hidden;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:100;}
.lr-logo{display:flex;align-items:center;gap:10px;padding:18px 16px 14px;border-bottom:1px solid var(--border);}
.lr-logo-mark{width:32px;height:32px;border-radius:8px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;}
.lr-logo-name{font-size:15px;font-weight:600;}.lr-logo-sub{font-size:11px;color:var(--text3);}
.lr-nav{padding:10px 8px;flex:1;overflow-y:auto;}
.lr-nav-section{font-size:10px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.07em;padding:10px 8px 4px;}
.lr-nav-item{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:var(--rsm);font-size:13px;color:var(--text2);text-decoration:none;transition:background .12s,color .12s;margin-bottom:1px;}
.lr-nav-item:hover,.lr-nav-item.active{background:var(--accent-lt);color:var(--accent-tx);font-weight:500;}
.lr-nav-item i{font-size:16px;flex-shrink:0;}
.lr-sidebar-footer{padding:12px 16px;border-top:1px solid var(--border);}
.lr-user-row{display:flex;align-items:center;gap:10px;}
.lr-avatar{width:30px;height:30px;border-radius:50%;background:var(--accent-lt);color:var(--accent-tx);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.lr-user-name{font-size:12px;font-weight:500;}.lr-user-role{font-size:11px;color:var(--text3);}
.lr-main{margin-left:224px;flex:1;display:flex;flex-direction:column;}
.lr-topbar{height:56px;background:var(--surface);border-bottom:1px solid var(--border);padding:0 24px;display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:50;}
.lr-topbar-title{font-size:15px;font-weight:500;margin:0;}
.lr-breadcrumb{font-size:12px;color:var(--text3);}
.lr-content{padding:22px 24px;flex:1;}
.lr-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:18px 20px;}
.lr-card-head{display:flex;align-items:center;margin-bottom:14px;gap:8px;}
.lr-card-title{font-size:13px;font-weight:500;flex:1;margin:0;}
.lr-card-action{font-size:12px;color:var(--accent);cursor:pointer;font-weight:500;text-decoration:none;}
.lr-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:16px 18px;}
.lr-kpi-label{font-size:12px;color:var(--text2);}
.lr-kpi-value{font-size:24px;font-weight:600;letter-spacing:-.5px;line-height:1;margin:4px 0;}
.lr-kpi-delta{font-size:11px;}
.lr-kpi-icon{width:28px;height:28px;border-radius:var(--rsm);display:flex;align-items:center;justify-content:center;font-size:15px;}
.lr-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px;display:inline-block;white-space:nowrap;}
.lr-badge-active{background:var(--green-lt);color:var(--green-tx);}
.lr-badge-suspended{background:var(--red-lt);color:var(--red-tx);}
.lr-badge-trial{background:var(--amber-lt);color:var(--amber-tx);}
.lr-badge-info{background:var(--blue-lt);color:var(--blue-tx);}
.lr-badge-accent{background:var(--accent-lt);color:var(--accent-tx);}
.lr-badge-gray{background:var(--surface2);color:var(--text2);}
.lr-table{font-size:13px;}
.lr-table thead th{font-size:11px;font-weight:500;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);background:var(--surface2);white-space:nowrap;}
.lr-table tbody tr{cursor:pointer;transition:background .1s;}
.lr-table tbody tr:hover{background:var(--surface2);}
.lr-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:6px 14px;border-radius:var(--rsm);border:1px solid var(--border2);background:var(--surface);color:var(--text2);text-decoration:none;transition:background .12s;cursor:pointer;white-space:nowrap;font-family:"DM Sans",sans-serif;}
.lr-btn:hover{background:var(--surface2);color:var(--text);}
.lr-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);}
.lr-btn-primary:hover{background:var(--accent-tx);color:#fff;}
.lr-btn-danger{background:var(--red-lt);color:var(--red-tx);border-color:transparent;}
.lr-btn-ghost{background:transparent;border-color:transparent;}
.lr-btn-sm{padding:4px 10px;font-size:11px;}
.lr-form-label{font-size:12px;font-weight:500;color:var(--text2);}
.lr-form-section{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text3);border-bottom:1px solid var(--border);padding-bottom:4px;margin:16px 0 8px;}
.lr-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text3);margin-bottom:10px;}
.lr-alert{border-radius:var(--rsm);font-size:13px;}
.lr-tipo-activo{background:var(--blue-lt);color:var(--blue-tx);}
.lr-tipo-pasivo{background:var(--red-lt);color:var(--red-tx);}
.lr-tipo-patrimonio{background:var(--accent-lt);color:var(--accent-tx);}
.lr-tipo-ingreso{background:var(--green-lt);color:var(--green-tx);}
.lr-tipo-gasto{background:var(--amber-lt);color:var(--amber-tx);}
.lr-tipo-costo{background:#FAECE7;color:#712B13;}
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:10px;}

.lr-sidebar{height:100vh;overflow:hidden;}
.lr-sidebar-footer{margin-top:auto;}

.lr-btn-ghost{background:transparent;border:none;color:var(--text2);padding:4px 6px;border-radius:var(--rsm);cursor:pointer;transition:background .12s,color .12s;}.lr-btn-ghost:hover{background:var(--accent-lt);color:var(--accent);}
