/* legalti.cl Master · Tema unificado 1.15 */

:root{
    --lt-navy:#061b30!important;
    --lt-navy-2:#092b49!important;
    --lt-blue:#0877dc!important;
    --lt-cyan:#2fa6f5!important;
    --lt-orange:#fb6d50!important;
    --lt-bg:#f3f7fb!important;
    --lt-card:#ffffff!important;
    --lt-border:#dce7f0!important;
    --lt-text:#102a43!important;
    --lt-muted:#63778a!important;
    --legalti-font:"Segoe UI Variable","Aptos","Segoe UI","Helvetica Neue",Arial,sans-serif;
}

body,
button,
input,
select,
textarea{
    font-family:var(--legalti-font)!important;
}

body{
    background:
        radial-gradient(circle at 8% 6%,rgba(8,119,220,.075),transparent 25%),
        radial-gradient(circle at 96% 96%,rgba(251,109,80,.055),transparent 22%),
        #f3f7fb!important;
    color:#102a43!important;
}

.master-sidebar{
    width:282px!important;
    padding:21px 17px!important;
    background:
        radial-gradient(circle at 18% 4%,rgba(16,144,239,.32),transparent 27%),
        radial-gradient(circle at 110% 88%,rgba(251,109,80,.17),transparent 30%),
        linear-gradient(180deg,#092b49,#061b30)!important;
    border-right:1px solid rgba(255,255,255,.08)!important;
    box-shadow:18px 0 44px rgba(4,27,48,.12)!important;
}

.master-brand{
    min-height:70px;
    margin-bottom:15px!important;
    padding:7px 7px 17px!important;
    border-bottom:1px solid rgba(255,255,255,.1);
}

.master-brand .legalti-master-mark{
    width:49px!important;
    height:49px!important;
    flex:0 0 49px;
    object-fit:contain;
    filter:drop-shadow(0 8px 14px rgba(1,16,28,.22));
}

.master-brand strong{
    color:#fff!important;
    font-size:19px!important;
    font-weight:760!important;
    letter-spacing:-.055em!important;
}

.master-brand span{
    color:rgba(255,255,255,.64)!important;
    font-size:10px!important;
    letter-spacing:.055em!important;
}

.master-menu{
    gap:5px!important;
}

.master-menu a{
    min-height:42px;
    display:flex!important;
    align-items:center;
    padding:10px 12px!important;
    border:1px solid transparent!important;
    border-radius:12px!important;
    color:rgba(239,247,253,.82)!important;
    font-size:13px!important;
    font-weight:620!important;
    transition:background .16s ease,border-color .16s ease,transform .16s ease!important;
}

.master-menu a:hover{
    background:rgba(255,255,255,.075)!important;
    border-color:rgba(255,255,255,.08)!important;
    color:#fff!important;
    transform:translateX(2px);
}

.master-menu a.active{
    position:relative;
    background:linear-gradient(135deg,#0877dc,#075fb1)!important;
    color:#fff!important;
    border-color:rgba(255,255,255,.14)!important;
    box-shadow:0 12px 26px rgba(2,37,69,.26)!important;
}

.master-menu a.active::before{
    content:"";
    width:4px;
    align-self:stretch;
    margin:-5px 8px -5px -7px;
    border-radius:999px;
    background:#fb6d50;
}

.master-sidebar .menu-section{
    margin:19px 11px 8px!important;
    color:rgba(255,255,255,.46)!important;
    font-size:10px!important;
    font-weight:760;
    letter-spacing:.1em!important;
}

.master-user{
    border:1px solid rgba(255,255,255,.1)!important;
    border-radius:15px!important;
    background:rgba(255,255,255,.055)!important;
}

.master-content,
main.master-content,
.content,
main{
    padding:clamp(22px,2.6vw,38px)!important;
}

.topbar{
    background:transparent!important;
    color:#102a43!important;
    box-shadow:none!important;
    margin-bottom:22px!important;
}

.topbar h1,
.topbar h2,
main h1{
    color:#102a43!important;
    font-size:clamp(28px,3vw,38px)!important;
    font-weight:720!important;
    line-height:1.05!important;
    letter-spacing:-.055em!important;
}

.topbar p{
    color:#63778a!important;
}

.eyebrow{
    color:#0877dc!important;
    font-size:11px!important;
    font-weight:780!important;
    letter-spacing:.1em!important;
}

.card,
.panel,
.box,
.widget,
.stat-card,
.dashboard-card,
.table-card,
.module-card{
    background:rgba(255,255,255,.97)!important;
    border:1px solid #dce7f0!important;
    border-radius:18px!important;
    box-shadow:0 15px 42px rgba(16,42,67,.065)!important;
    padding:21px!important;
}

.card:hover,
.panel:hover{
    border-color:#cbdceb!important;
}

h2,
h3,
h4{
    color:#102a43!important;
    font-weight:710!important;
    letter-spacing:-.035em!important;
}

input,
select,
textarea{
    min-height:44px;
    border:1px solid #cedce8!important;
    border-radius:11px!important;
    background:#fbfdff!important;
    color:#102a43!important;
    padding:11px 13px!important;
}

input:focus,
select:focus,
textarea:focus{
    border-color:#0877dc!important;
    background:#fff!important;
    box-shadow:0 0 0 4px rgba(8,119,220,.095)!important;
}

button,
.btn,
.button,
input[type="submit"],
a.btn{
    min-height:42px;
    border-radius:11px!important;
    padding:10px 15px!important;
    background:linear-gradient(135deg,#0877dc,#075fb1)!important;
    color:#fff!important;
    border:1px solid rgba(5,91,166,.12)!important;
    box-shadow:0 10px 22px rgba(8,119,220,.18)!important;
    font-size:13px!important;
    font-weight:720!important;
}

.btn.secondary,
.button.secondary{
    background:#fff!important;
    color:#17415f!important;
    border:1px solid #cedce8!important;
    box-shadow:0 7px 16px rgba(16,42,67,.045)!important;
}

.btn.danger,
.button.danger{
    background:linear-gradient(135deg,#d84d3a,#b9362a)!important;
}

table{
    border:1px solid #e0e9f1!important;
    border-radius:14px!important;
    overflow:hidden!important;
}

th{
    background:#f2f7fb!important;
    color:#486077!important;
    border-bottom:1px solid #dce7f0!important;
    font-size:10px!important;
    font-weight:780!important;
    letter-spacing:.075em!important;
}

td{
    border-bottom:1px solid #ebf0f5!important;
    color:#29445b!important;
}

tbody tr:hover td{
    background:#f8fbfe!important;
}

.install-code,
pre,
code.code{
    border-radius:13px!important;
    background:#071d32!important;
    color:#e6f3fd!important;
}

.login-page{
    background:
        radial-gradient(circle at 10% 10%,rgba(8,119,220,.14),transparent 31%),
        radial-gradient(circle at 90% 90%,rgba(251,109,80,.12),transparent 30%),
        linear-gradient(135deg,#f8fbfe,#eef5fb)!important;
}

.login-card{
    border:1px solid #dce7f0!important;
    border-radius:24px!important;
    box-shadow:0 28px 75px rgba(16,42,67,.14)!important;
}

.legalti-provider-badge{
    min-height:39px!important;
    border:1px solid rgba(8,119,220,.14)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.94)!important;
    box-shadow:0 10px 28px rgba(16,42,67,.12)!important;
}

.legalti-provider-badge .legalti-footer-logo{
    width:154px!important;
    height:31px!important;
    object-fit:contain;
    display:block;
}

@media(max-width:900px){
    .master-sidebar{
        width:245px!important;
    }

    .master-content,
    main.master-content{
        padding:20px!important;
    }
}

@media(max-width:720px){
    .master-sidebar{
        position:relative!important;
        width:100%!important;
        height:auto!important;
    }

    .master-layout{
        display:block!important;
    }

    .master-menu{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .master-content,
    main.master-content{
        margin-left:0!important;
        padding:17px!important;
    }

    .legalti-provider-badge{
        position:static!important;
        width:max-content;
        margin:18px 12px 12px auto;
    }
}


/* Sesión Master visible · 1.17 */
.legalti-master-session-tools{
    position:fixed;
    top:13px;
    right:17px;
    z-index:6200;
    display:flex;
    align-items:center;
    gap:8px;
}

.legalti-master-session-tools > span{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    max-width:220px;
    padding:0 12px;
    overflow:hidden;
    border:1px solid rgba(8,119,220,.13);
    border-radius:11px;
    background:rgba(255,255,255,.94);
    box-shadow:0 9px 25px rgba(16,42,67,.11);
    color:#526a7e;
    font-size:11px;
    font-weight:650;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.legalti-master-session-tools a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:40px;
    padding:0 13px;
    border:1px solid rgba(251,109,80,.24);
    border-radius:11px;
    background:linear-gradient(135deg,#fb6d50,#e8593f);
    box-shadow:0 10px 24px rgba(251,109,80,.2);
    color:#fff;
    text-decoration:none;
    font-size:12px;
    font-weight:760;
}

.legalti-master-session-tools a:hover{
    filter:brightness(1.035);
    transform:translateY(-1px);
}

.legalti-master-session-tools b{
    font-size:17px;
}

@media(max-width:720px){
    .legalti-master-session-tools{
        top:10px;
        right:10px;
    }

    .legalti-master-session-tools > span{
        display:none;
    }

    .legalti-master-session-tools a{
        min-width:42px;
        padding:0 10px;
        font-size:0;
    }

    .legalti-master-session-tools b{
        font-size:17px;
    }
}

@media print{
    .legalti-master-session-tools{
        display:none!important;
    }
}
