/*
 * IKALUM Sprint 2.6 — Salyaso Design Foundation
 * Visual adaptation of the Salyaso admin language for IKALUM.
 * Loaded after ikalum.css so the Operational Pilot keeps its existing markup
 * and behaviour while receiving one coherent application shell.
 */
:root{
    --ik-primary:#E35336;
    --ik-primary-strong:#C94730;
    --ik-primary-deep:#A83B29;
    --ik-primary-soft:#FBECE7;
    --ik-accent:#2C6673;
    --ik-accent-soft:#EAF2F3;
    --ik-info:#26718E;
    --ik-info-light:#3F829C;
    --ik-success:#27A556;
    --ik-success-light:#44B56E;
    --ik-warm:#E39036;
    --ik-warm-soft:#FFC688;
    --ik-bg:#FAF5F3;
    --ik-surface:#FFFFFF;
    --ik-surface-alt:#F7ECE9;
    --ik-border:#E8CEC8;
    --ik-border-strong:#D9ADA4;
    --ik-card-border:#C89B8F;
    --ik-card-shadow:0 .12rem .45rem rgba(0,0,0,.06);
    --ik-card-radius:22px;
    --ik-text:#26343A;
    --ik-text-secondary:#46585E;
    --ik-text-muted:#68767C;
    --ik-radius-sm:.85rem;
    --ik-radius-md:1.1rem;
    --ik-radius-lg:1.45rem;
    --ik-shadow-sm:0 8px 24px rgba(104,55,45,.055);
    --ik-shadow-md:0 18px 48px rgba(104,55,45,.085);
    --ik-shadow-lg:0 28px 70px rgba(104,55,45,.13);
    --ik-focus:0 0 0 .22rem rgba(227,83,54,.20);
}

html,body{min-height:100%}
body{
    background:linear-gradient(180deg,#FFFFFF 0%,var(--ik-bg) 100%);
    font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    font-size:1rem;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

/* Application shell */
.ik-shell{min-height:100vh;background:var(--ik-bg)}
.ik-sidebar{
    width:18rem;
    padding:1.35rem 1.1rem;
    background:
        radial-gradient(circle at 12% 0%,rgba(255,255,255,.94),transparent 25%),
        linear-gradient(180deg,#FAF0ED 0%,#F2E0DC 56%,#FBF5F3 100%);
    color:var(--ik-text);
    border-right:1px solid rgba(227,83,54,.16);
    box-shadow:18px 0 48px rgba(104,55,45,.07);
}
.ik-main{margin-left:18rem}
.ik-sidebar-brand{
    min-height:5.5rem;
    padding:.35rem .45rem 1.25rem;
    margin-bottom:1rem;
    border-bottom:1px solid rgba(227,83,54,.18);
}
.ik-sidebar-brand img{
    width:3.2rem;
    height:3.2rem;
    filter:sepia(1) saturate(5.2) hue-rotate(322deg) brightness(.92) drop-shadow(0 8px 16px rgba(104,55,45,.14));
}
.ik-sidebar-brand strong{
    color:var(--ik-primary-deep);
    font-size:1.28rem;
    font-weight:850;
    letter-spacing:.14em;
}
.ik-sidebar-brand small{
    margin-top:.18rem;
    color:var(--ik-text-secondary);
    font-size:.76rem;
    line-height:1.35;
}

.ik-workspace{
    margin-bottom:1.2rem;
    padding:.85rem;
    border:1px solid rgba(227,83,54,.20);
    border-radius:1.15rem;
    background:rgba(255,255,255,.76);
    box-shadow:0 12px 30px rgba(104,55,45,.055);
}
.ik-workspace label{
    margin:.05rem .25rem .55rem;
    color:var(--ik-primary-deep);
    font-size:.72rem;
    font-weight:750;
    letter-spacing:.13em;
}
.ik-workspace .form-select{
    min-height:3rem;
    border:0;
    border-radius:.85rem;
    color:var(--ik-text);
    background-color:rgba(255,255,255,.96);
    box-shadow:0 9px 24px rgba(104,55,45,.08);
    font-weight:750;
}

.ik-nav{gap:.38rem}
.ik-nav-link{
    min-height:3rem;
    padding:.76rem .85rem;
    gap:.8rem;
    border-radius:.9rem;
    color:#4C5A5F;
    font-weight:740;
    transition:background .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.ik-nav-link i{width:1.25rem;font-size:1.08rem;text-align:center}
.ik-nav-link:hover{
    color:var(--ik-primary-deep);
    background:rgba(255,255,255,.88);
    transform:translateX(2px);
    box-shadow:0 10px 24px rgba(104,55,45,.08);
}
.ik-nav-link.active{
    color:#fff;
    background:linear-gradient(135deg,var(--ik-primary),var(--ik-primary-strong));
    box-shadow:0 15px 34px rgba(201,71,48,.24);
}
.ik-nav-link.active i{color:#fff}
.ik-sidebar-bottom{
    margin-top:1.4rem;
    padding-top:1rem;
    border-top:1px solid rgba(227,83,54,.18);
}

/* Header follows the compact Salyaso topbar */
.ik-topbar{
    height:4.75rem;
    padding:0 1.9rem;
    background:rgba(255,255,255,.94);
    border-bottom:1px solid var(--ik-border);
    box-shadow:0 10px 28px rgba(15,23,42,.035);
    backdrop-filter:saturate(180%) blur(14px);
}
.ik-topbar>div:first-of-type{min-width:0}
.ik-topbar h1{
    color:var(--ik-text);
    font-size:1.12rem;
    font-weight:850;
    letter-spacing:-.025em;
}
.ik-topbar span{
    margin-top:.12rem;
    color:var(--ik-text-muted);
    font-size:.82rem;
}
.ik-user{
    min-width:9rem;
    padding:.58rem .82rem;
    border:1px solid #EEDDD9;
    border-radius:1rem;
    background:#fff;
    box-shadow:0 12px 28px rgba(15,23,42,.04);
    line-height:1.15;
}
.ik-user strong{font-size:.9rem;font-weight:820}
.ik-user small{margin-top:.25rem;color:var(--ik-text-muted);font-size:.76rem}
.ik-content{padding:1.9rem}

/* Page composition */
.ik-content>.d-flex:first-child,
.ik-content>.row:first-child{margin-bottom:1.25rem!important}
.ik-context-kicker,.ik-kicker{
    color:var(--ik-primary-deep);
    font-weight:850;
    letter-spacing:.12em;
}
.ik-content h1,.ik-content h2,.ik-content h3{
    color:var(--ik-text);
    letter-spacing:-.035em;
}
.ik-panel,.ik-stat,.ik-task-card,.ik-empty-state,.card{
    border:1px solid var(--ik-card-border);
    border-radius:var(--ik-card-radius);
    background:var(--ik-surface);
    box-shadow:var(--ik-card-shadow);
}
.ik-panel{padding:1.45rem}
.ik-panel.p-0{padding:0!important}

/* Buttons, forms and search bars */
.btn{
    min-height:2.9rem;
    padding:.7rem 1rem;
    border-radius:.85rem;
    font-weight:760;
    transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.btn-primary,.ik-btn-primary{
    border-color:var(--ik-primary-strong);
    color:#fff;
    background:linear-gradient(135deg,var(--ik-primary),var(--ik-primary-strong));
    box-shadow:0 14px 30px rgba(201,71,48,.22);
}
.btn-primary:hover,.ik-btn-primary:hover{
    color:#fff;
    border-color:var(--ik-primary-deep);
    background:linear-gradient(135deg,var(--ik-primary-strong),var(--ik-primary-deep));
    box-shadow:0 17px 34px rgba(201,71,48,.27);
    transform:translateY(-1px);
}
.btn-outline-primary{border-color:var(--ik-primary);color:var(--ik-primary-deep)}
.btn-outline-primary:hover{border-color:var(--ik-primary);background:var(--ik-primary);color:#fff}
.btn-outline-secondary{border-color:#9AB3B8;color:#405A61;background:#fff}
.btn-outline-secondary:hover{border-color:var(--ik-accent);background:var(--ik-accent);color:#fff}
.btn-link{color:var(--ik-primary-deep);font-weight:780}

.form-control,.form-select,.input-group-text{
    min-height:3rem;
    border-color:var(--ik-border);
    border-radius:.85rem;
    background-color:#fff;
    color:var(--ik-text);
    box-shadow:0 2px 5px rgba(15,23,42,.025);
}
.form-control,.form-select{padding:.72rem .9rem}
.form-control:hover,.form-select:hover{border-color:var(--ik-border-strong)}
.form-control:focus,.form-select:focus{
    border-color:var(--ik-primary);
    box-shadow:var(--ik-focus);
}
.form-label,.ik-field label{color:var(--ik-text-secondary);font-size:.9rem;font-weight:760}
.input-group>.input-group-text:first-child{
    padding-inline:1rem;
    border-radius:.85rem 0 0 .85rem;
    background:#FCF8F7;
}
.input-group>.btn:last-child{border-radius:0 .85rem .85rem 0}
.ik-tenant-scope .form-select{min-width:14rem}

/* Tables */
.table{--bs-table-bg:transparent;color:var(--ik-text)}
.table thead th{
    padding:1rem;
    border-bottom:1px solid var(--ik-border);
    background:linear-gradient(180deg,#FCF8F7,#F7ECE9);
    color:#4C5558;
    font-size:.82rem;
    font-weight:850;
    letter-spacing:.015em;
    white-space:nowrap;
}
.table tbody td{
    padding:1rem;
    border-color:#F2E5E2;
    vertical-align:middle;
}
.table tbody tr{transition:background .13s ease}
.table tbody tr:hover{background:#FFF9F7}
.table .btn{min-height:2.65rem}

/* Modals: stable header/footer and only the body scrolls */
.modal-backdrop.show{opacity:.48}
.modal-dialog{margin-top:1rem;margin-bottom:1rem}
.modal-content{
    max-height:calc(100vh - 2rem);
    max-height:calc(100dvh - 2rem);
    overflow:hidden;
    border:1px solid var(--ik-border);
    border-radius:1.4rem;
    box-shadow:0 32px 90px rgba(15,35,50,.24);
}
.modal-content>form,
form.modal-content{
    min-height:0;
    max-height:inherit;
    display:flex;
    flex-direction:column;
}
.modal-header,.modal-footer{flex:0 0 auto;background:#fff;border-color:var(--ik-border)}
.modal-header{padding:1.15rem 1.35rem}
.modal-title{color:var(--ik-text);font-weight:850;letter-spacing:-.025em}
.modal-body{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:1.25rem 1.35rem 1.6rem;
}
.modal-footer{
    padding:1rem 1.35rem;
    box-shadow:0 -.4rem 1rem rgba(15,45,70,.045);
}
.alert-light{background:#FCF8F7}

/* Task workspace */
.ik-tasks-context{
    border:1px solid var(--ik-border);
    background:linear-gradient(135deg,#fff 0%,#F7ECE9 100%);
    box-shadow:var(--ik-shadow-md);
}
.ik-task-card{transition:transform .15s ease,box-shadow .15s ease}
.ik-task-card:hover{transform:translateY(-2px);box-shadow:var(--ik-shadow-lg)}
.ik-task-icon,.ik-empty-icon{background:var(--ik-primary-soft);color:var(--ik-primary-deep)}
.ik-task-action{border-color:var(--ik-primary)!important;color:#fff!important;background:var(--ik-primary)!important;box-shadow:0 .35rem .9rem rgba(227,83,54,.18)}
.ik-task-action:hover,.ik-task-action:focus{border-color:var(--ik-primary-deep)!important;color:#fff!important;background:var(--ik-primary-deep)!important;box-shadow:0 .5rem 1rem rgba(227,83,54,.24);transform:translateY(-1px)}

@media(max-width:991.98px){
    .ik-sidebar{
        width:min(20rem,90vw);
        height:100dvh;
        padding:1.15rem;
        box-shadow:none;
    }
    .ik-sidebar.open{box-shadow:28px 0 70px rgba(15,23,42,.22)}
    .ik-sidebar-close{
        color:#fff;
        background:var(--ik-primary-deep);
        box-shadow:0 10px 22px rgba(168,59,41,.20);
    }
    .ik-main{margin-left:0}
    .ik-topbar{height:4.3rem;padding:0 1rem}
    .ik-topbar-menu{
        width:2.75rem;
        min-width:2.75rem;
        padding:0;
        color:#fff;
        background:var(--ik-primary-deep);
        border:1px solid var(--ik-primary-deep);
        box-shadow:0 10px 24px rgba(168,59,41,.24);
    }
    .ik-topbar-menu:hover,.ik-topbar-menu:focus{
        color:#fff;
        background:var(--ik-primary-strong);
        border-color:var(--ik-primary-strong);
    }
    .ik-user{display:none}
    .ik-content{padding:1.15rem}
}

/* Mobile login: a compact product introduction precedes authentication. */
.ik-login-mobile-intro{display:none}
@media(max-width:991.98px){
    body.ik-login-visual-page{background:var(--ik-bg)!important}
    .ik-login-shell{display:block!important}
    .ik-login-mobile-intro{
        position:relative;
        display:block;
        min-height:19rem;
        overflow:hidden;
        color:#fff;
        background:var(--ik-primary-deep);
    }
    .ik-login-mobile-intro>img{
        position:absolute;
        inset:0;
        width:100%;
        height:100%;
        object-fit:cover;
        object-position:center 46%;
    }
    .ik-login-mobile-intro-shade{
        position:absolute;
        inset:0;
        background:
            linear-gradient(180deg,rgba(6,42,61,.22) 0%,rgba(6,42,61,.52) 46%,rgba(6,42,61,.94) 100%),
            linear-gradient(90deg,rgba(6,42,61,.46),transparent 75%);
    }
    .ik-login-mobile-intro-content{
        position:relative;
        z-index:1;
        display:flex;
        min-height:19rem;
        flex-direction:column;
        justify-content:flex-end;
        padding:1.25rem;
    }
    .ik-login-mobile-brand{
        position:absolute;
        top:1rem;
        left:1.1rem;
        display:flex;
        align-items:center;
        gap:.65rem;
    }
    .ik-login-mobile-brand img{
        width:2.65rem;
        height:2.65rem;
        object-fit:contain;
        filter:drop-shadow(0 6px 12px rgba(0,0,0,.22));
    }
    .ik-login-mobile-brand strong{
        color:#fff;
        font-size:1.12rem;
        font-weight:850;
        letter-spacing:.15em;
    }
    .ik-login-mobile-intro-content>span{
        color:#8FF2EA;
        font-size:.72rem;
        font-weight:850;
        letter-spacing:.14em;
    }
    .ik-login-mobile-intro h1{
        max-width:30rem;
        margin:.4rem 0 .45rem;
        color:#fff;
        font-size:clamp(1.65rem,7vw,2.15rem);
        font-weight:850;
        line-height:1.04;
        letter-spacing:-.045em;
        text-shadow:0 3px 18px rgba(0,0,0,.28);
    }
    .ik-login-mobile-intro p{
        max-width:36rem;
        margin:0;
        color:rgba(255,255,255,.94);
        font-size:.96rem;
        line-height:1.45;
    }
    .ik-login-mobile-intro small{
        display:block;
        margin-top:.7rem;
        color:#fff;
        font-size:.76rem;
        font-weight:760;
    }
    .ik-login-panel{
        min-height:100dvh!important;
        padding:1rem!important;
        align-items:center!important;
        background:linear-gradient(180deg,#FAF5F3 0%,#F2E0DC 100%)!important;
    }
    .ik-login-card{
        margin:-.1rem auto 1rem!important;
        border-color:var(--ik-border)!important;
        box-shadow:0 20px 55px rgba(104,55,45,.13)!important;
    }
}

/* The public landing now explains IKALUM; login returns to fast authentication. */
body.ik-auth-page .ik-login-mobile-intro{display:none!important}

/* Terracotta authentication language */
body.ik-login-visual-page{background:var(--ik-bg)!important}
.ik-login-visual{background:#6B514A!important}
.ik-login-visual-shade{
    background:
        linear-gradient(90deg,rgba(38,31,29,.70) 0%,rgba(38,31,29,.34) 60%,rgba(38,31,29,.12) 100%),
        linear-gradient(180deg,rgba(201,71,48,.08),rgba(38,31,29,.40))!important;
}
.ik-login-panel{
    background:
        radial-gradient(circle at 86% 8%,rgba(227,83,54,.10),transparent 25%),
        linear-gradient(180deg,#FAF5F3,#F2E0DC)!important;
}
.ik-login-card{
    border-color:var(--ik-border)!important;
    background:rgba(255,255,255,.97)!important;
    box-shadow:0 30px 85px rgba(104,55,45,.14)!important;
}
.ik-login-card-mark{filter:sepia(1) saturate(5.2) hue-rotate(322deg) brightness(.92)}
.ik-login-kicker{color:#FFD2C8!important}
.ik-login-kicker::before{background:#FF927B!important}
.ik-login-language .form-select{
    border-color:var(--ik-border)!important;
    box-shadow:var(--ik-shadow-sm)!important;
}

@media(max-width:575.98px){
    .ik-content{padding:.85rem}
    .ik-panel{padding:1.05rem;border-radius:var(--ik-card-radius)}
    .ik-content>.d-flex:first-child{
        align-items:stretch!important;
        flex-direction:column;
    }
    .ik-content>.d-flex:first-child .btn{width:100%}
    .modal-dialog{margin:0;max-width:none;min-height:100dvh}
    .modal-content{
        min-height:100dvh;
        max-height:100dvh;
        border:0;
        border-radius:0;
    }
    .modal-header{padding:1rem}
    .modal-body{padding:1rem 1rem 1.5rem}
    .modal-footer{padding:.85rem 1rem}
    .modal-footer .btn{flex:1}
    .ik-tenant-scope .form-select{min-width:0;width:100%}
}

@media(prefers-reduced-motion:reduce){
    *,*:before,*:after{scroll-behavior:auto!important;transition:none!important}
}

/* Sprint 2.6.4 — unified authentication and semantic color language */
.ik-access-shell,
.ik-recovery-shell,
.ik-reset-shell,
.ik-invite-shell{
    background:
        radial-gradient(circle at 88% 10%,rgba(227,83,54,.09),transparent 24%),
        linear-gradient(180deg,#FAF5F3 0%,#F2E0DC 100%)!important;
}
.ik-access-brand,
.ik-recovery-brand,
.ik-reset-brand,
.ik-invite-brand{
    background:
        radial-gradient(circle at 14% 12%,rgba(255,198,136,.24),transparent 25%),
        linear-gradient(145deg,#E35336 0%,#C94730 58%,#A83B29 100%)!important;
}
.ik-access-card,
.ik-auth-card,
.ik-recovery-card,
.ik-reset-card,
.ik-invite-card{
    border-color:var(--ik-border)!important;
    background:rgba(255,255,255,.97)!important;
    box-shadow:0 24px 70px rgba(104,55,45,.14)!important;
}
.ik-access-symbol{
    filter:drop-shadow(0 18px 32px rgba(255,198,136,.30))!important;
    border:1px solid rgba(255,226,218,.58)!important;
    background:rgba(118,42,30,.36)!important;
    box-shadow:0 24px 55px rgba(109,38,27,.18),inset 0 1px 0 rgba(255,255,255,.16)!important;
}
.swal2-loader{
    border-color:var(--ik-primary) transparent var(--ik-primary) transparent!important;
}
.ik-topbar-actions{display:flex;align-items:center;gap:.75rem;margin-left:auto}
.ik-topbar-logout{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    min-height:2.65rem;
    padding:.55rem .85rem;
    border:1px solid var(--ik-border);
    border-radius:.85rem;
    color:var(--ik-primary-deep)!important;
    background:var(--ik-primary-soft);
    font-weight:800;
    text-decoration:none;
}
.ik-topbar-logout:hover{border-color:var(--ik-primary);color:#fff!important;background:var(--ik-primary)}
.ik-topbar-logout:hover i,
.ik-topbar-logout:hover span{color:#fff!important}
.ik-verify-mark{filter:sepia(1) saturate(5.2) hue-rotate(322deg) brightness(.92)}
.ik-kicker{color:var(--ik-primary-strong)!important}
.ik-choice label,
.ik-account-summary{
    border-color:var(--ik-border)!important;
    background:#FCF8F7!important;
}
.ik-choice label:has(input:checked){
    border-color:var(--ik-primary)!important;
    background:var(--ik-primary-soft)!important;
}
.ik-choice input:checked+span,
.ik-account-summary span{color:var(--ik-primary-deep)!important}
.ik-account-summary small{color:var(--ik-text-muted)!important}

/* Success means green; terracotta remains the IKALUM signature. */
.ik-empty-state{
    border-color:var(--ik-border)!important;
    box-shadow:0 12px 34px rgba(104,55,45,.055)!important;
}
.ik-empty-icon{
    border-color:#E8A99C!important;
    background:var(--ik-primary-soft)!important;
    color:var(--ik-success)!important;
}
.ik-empty-icon i{color:var(--ik-success)!important}
.ik-quick-access:hover{
    border-color:#E8A99C!important;
    color:var(--ik-primary-deep)!important;
}
.ik-quick-access>span{
    background:var(--ik-primary-soft)!important;
    color:var(--ik-primary-strong)!important;
}
.ik-quick-access>.bi-chevron-right{color:#B76655!important}

@media(max-width:991.98px){
    .ik-access-shell,
    .ik-recovery-shell,
    .ik-reset-shell,
    .ik-invite-shell{grid-template-columns:1fr!important}
    .ik-access-brand,
    .ik-recovery-brand,
    .ik-reset-brand,
    .ik-invite-brand{display:none!important}
    .ik-access-panel,
    .ik-recovery-panel,
    .ik-reset-panel,
    .ik-invite-panel{
        min-height:100dvh;
        padding:1rem!important;
    }
}
@media(max-width:575.98px){
    .ik-topbar-actions{gap:.45rem}
    .ik-topbar-actions .ik-user{display:none}
    .ik-topbar-logout{width:2.65rem;padding:.5rem}
    .ik-topbar-logout span{display:none}
}


/* IKALUM 2.8 LTS H02.2 — SUPERADMIN version popover in topbar */
.ik-version-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:2.65rem;
    height:2.65rem;
    padding:0;
    border:1px solid var(--ik-border);
    border-radius:.85rem;
    color:var(--ik-primary-deep);
    background:var(--ik-primary-soft);
    box-shadow:0 10px 24px rgba(104,55,45,.055);
    transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;
}
.ik-version-button:hover,
.ik-version-button:focus{
    border-color:var(--ik-primary);
    color:#fff;
    background:var(--ik-primary);
    outline:0;
    transform:translateY(-1px);
}
.ik-version-button i{font-size:1.08rem;line-height:1}
.popover{
    --bs-popover-border-color:var(--ik-border-strong);
    --bs-popover-header-bg:var(--ik-primary-soft);
    --bs-popover-header-color:var(--ik-primary-deep);
    --bs-popover-body-color:var(--ik-text-secondary);
    border-radius:.85rem;
    box-shadow:0 16px 38px rgba(104,55,45,.13);
}
.popover-header{font-weight:800}
.popover-body{font-size:.82rem}
@media(max-width:575.98px){
    .ik-version-button{width:2.5rem;height:2.5rem}
}
