/* =====================================================
   SPI UI Framework
   Inventory Dashboard
   Version : 1.0.0
===================================================== */


/* =====================================================
   HERO
===================================================== */

.spi-inventory-hero{
    overflow:hidden;
}

.spi-inventory-hero-content{
    min-width:0;
}

.spi-inventory-title{
    margin:0 0 8px;
    font-size:32px;
    line-height:1.2;
    font-weight:800;
}

.spi-inventory-subtitle{
    margin:0;
    max-width:760px;
    font-size:16px;
    line-height:1.7;
}


/* =====================================================
   DEMO NOTICE
===================================================== */

.spi-inventory-demo-notice{
    display:flex;
    align-items:center;
    gap:10px;

    padding:11px 14px;

    border:1px solid #dbe7f1;
    border-radius:12px;

    background:#f8fbfd;

    color:#64748b;

    font-size:13px;
    line-height:1.5;
}

.spi-inventory-demo-icon{
    display:flex;
    align-items:center;
    justify-content:center;

    width:22px;
    height:22px;

    flex:0 0 22px;

    border-radius:50%;

    background:#e8f3fb;

    color:#1683c5;

    font-size:12px;
    font-weight:800;
}


/* =====================================================
   KPI
===================================================== */

.spi-inventory-kpi{
    display:block;

    color:inherit;
    text-decoration:none;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.spi-inventory-kpi:hover{
    transform:translateY(-2px);
}

.spi-inventory-kpi-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
}

.spi-inventory-kpi-icon{
    display:flex;
    align-items:center;
    justify-content:center;

    min-width:34px;
    height:34px;

    padding:0 9px;

    border-radius:10px;

    background:#eef8f3;

    color:#16a866;

    font-size:13px;
    font-weight:800;
}

.spi-inventory-kpi-warning .spi-inventory-kpi-icon{
    background:#fff5d9;
    color:#b7791f;
}

.spi-inventory-kpi-danger .spi-inventory-kpi-icon{
    background:#fde7e7;
    color:#c93636;
}

.spi-inventory-value{
    white-space:nowrap;
}


/* =====================================================
   MAIN GRID
===================================================== */

.spi-inventory-main-grid{
    display:grid;

    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(320px, .8fr);

    gap:20px;

    align-items:stretch;
}


/* =====================================================
   ATTENTION
===================================================== */

.spi-inventory-attention-list{
    display:flex;
    flex-direction:column;
}

.spi-inventory-attention-item{
    display:flex;
    align-items:center;
    gap:14px;

    padding:16px 4px;

    border-bottom:1px solid #edf1f5;

    color:inherit;
    text-decoration:none;

    transition:
        background .18s ease,
        padding .18s ease;
}

.spi-inventory-attention-item:first-child{
    padding-top:4px;
}

.spi-inventory-attention-item:last-child{
    padding-bottom:4px;
    border-bottom:none;
}

.spi-inventory-attention-item:hover{
    padding-left:8px;
}

.spi-inventory-attention-indicator{
    width:9px;
    height:9px;

    flex:0 0 9px;

    border-radius:50%;
}

.spi-inventory-attention-indicator.spi-danger{
    background:#ef4444;
}

.spi-inventory-attention-indicator.spi-warning{
    background:#f59e0b;
}

.spi-inventory-attention-indicator.spi-info{
    background:#3b82f6;
}

.spi-inventory-attention-content{
    flex:1;
    min-width:0;
}

.spi-inventory-attention-title{
    margin-bottom:3px;

    color:#172033;

    font-weight:700;
}

.spi-inventory-attention-arrow{
    color:#94a3b8;

    font-size:24px;
    line-height:1;
}


/* =====================================================
   QUICK ACTION
===================================================== */

.spi-inventory-quick-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.spi-inventory-quick-item{
    display:flex;
    align-items:center;
    gap:12px;

    min-height:76px;

    padding:14px;

    border:1px solid #e2e8f0;
    border-radius:14px;

    background:#ffffff;

    color:inherit;
    text-decoration:none;

    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.spi-inventory-quick-item:hover{
    transform:translateY(-2px);
    border-color:#b9dfcf;

    box-shadow:
        0 8px 22px rgba(15,23,42,.06);
}

.spi-inventory-quick-icon{
    display:flex;
    align-items:center;
    justify-content:center;

    width:40px;
    height:40px;

    flex:0 0 40px;

    border-radius:12px;

    background:#ecf9f2;

    color:#16a866;

    font-size:20px;
    font-weight:800;
}

.spi-inventory-quick-title{
    margin-bottom:2px;

    color:#172033;

    font-weight:700;
}

.spi-inventory-more-actions{
    margin-top:16px;
}


/* =====================================================
   PRIORITY TABLE
===================================================== */

.spi-inventory-priority-table td{
    vertical-align:middle;
}


/* =====================================================
   SMART INSIGHT
===================================================== */

.spi-inventory-insight-card{
    display:flex;
    flex-direction:column;

    min-height:230px;

    padding:22px;

    border:1px solid #e2e8f0;
    border-radius:16px;

    color:inherit;
    text-decoration:none;

    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.spi-inventory-insight-card:hover{
    transform:translateY(-3px);

    box-shadow:
        0 12px 26px rgba(15,23,42,.07);
}

.spi-inventory-insight-warning{
    background:
        linear-gradient(
            180deg,
            #fffdf7 0%,
            #ffffff 100%
        );
}

.spi-inventory-insight-danger{
    background:
        linear-gradient(
            180deg,
            #fffafa 0%,
            #ffffff 100%
        );
}

.spi-inventory-insight-info{
    background:
        linear-gradient(
            180deg,
            #f8fbff 0%,
            #ffffff 100%
        );
}

.spi-inventory-insight-label{
    margin-bottom:16px;

    color:#94a3b8;

    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
}

.spi-inventory-insight-value{
    margin-bottom:3px;

    color:#172033;

    font-size:28px;
    line-height:1.2;
    font-weight:800;
}

.spi-inventory-insight-title{
    margin-bottom:10px;

    color:#334155;

    font-size:15px;
    font-weight:700;
}

.spi-inventory-insight-card p{
    margin:0;

    line-height:1.6;
}

.spi-inventory-insight-link{
    margin-top:auto;
    padding-top:18px;

    color:#16a866;

    font-weight:700;
}


/* =====================================================
   RECENT ACTIVITY
===================================================== */

.spi-inventory-activity-list{
    display:flex;
    flex-direction:column;
}

.spi-inventory-activity-item{
    display:flex;
    align-items:center;
    gap:14px;

    padding:16px 0;

    border-bottom:1px solid #edf1f5;
}

.spi-inventory-activity-item:first-child{
    padding-top:2px;
}

.spi-inventory-activity-item:last-child{
    padding-bottom:2px;
    border-bottom:none;
}

.spi-inventory-activity-icon{
    display:flex;
    align-items:center;
    justify-content:center;

    width:38px;
    height:38px;

    flex:0 0 38px;

    border-radius:11px;

    font-size:18px;
    font-weight:800;
}

.spi-activity-success{
    background:#eaf9f0;
    color:#16a866;
}

.spi-activity-info{
    background:#eaf3ff;
    color:#3274c7;
}

.spi-activity-danger{
    background:#fdeaea;
    color:#d03c3c;
}

.spi-inventory-activity-content{
    flex:1;
    min-width:0;
}

.spi-inventory-activity-title{
    margin-bottom:3px;

    color:#172033;

    font-weight:700;
}

.spi-inventory-activity-meta{
    display:flex;
    flex-direction:column;

    flex:0 0 auto;

    text-align:right;

    gap:2px;
}


/* =====================================================
   SECONDARY INVENTORY MENU
===================================================== */

.spi-inventory-menu-grid{
    display:grid;

    grid-template-columns:
        repeat(6,minmax(0,1fr));

    gap:10px;
}

.spi-inventory-menu-item{
    display:flex;
    flex-direction:column;
    gap:4px;

    padding:14px;

    border:1px solid #e2e8f0;
    border-radius:12px;

    background:#ffffff;

    color:inherit;
    text-decoration:none;

    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease;
}

.spi-inventory-menu-item:hover{
    transform:translateY(-2px);

    border-color:#b8dfcf;
    background:#fbfefc;
}

.spi-inventory-menu-item strong{
    color:#172033;

    font-size:14px;
}

.spi-inventory-menu-item span{
    color:#94a3b8;

    font-size:12px;
}

/* =====================================================
   INVENTORY NAVIGATION
===================================================== */

.spi-inventory-nav{
    position:relative;
    z-index:20;

    border:1px solid #e2e8f0;
    border-radius:15px;

    background:#ffffff;

    box-shadow:
        0 3px 14px rgba(15,23,42,.035);
}

.spi-inventory-nav-inner{
    display:flex;
    align-items:center;

    gap:4px;

    padding:7px;

    overflow:visible;
}


/* =====================================================
   NAV ITEM
===================================================== */

.spi-inventory-nav-item{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:7px;

    min-height:42px;

    padding:0 13px;

    border:0;
    border-radius:10px;

    background:transparent;

    color:#64748b;

    font-family:inherit;
    font-size:13px;
    font-weight:650;

    text-decoration:none;

    cursor:pointer;

    white-space:nowrap;

    transition:
        background .18s ease,
        color .18s ease,
        transform .18s ease;
}

.spi-inventory-nav-item:hover{
    background:#f4faf7;
    color:#15945c;
}

.spi-inventory-nav-item.spi-active{
    background:#eaf9f1;
    color:#15945c;
}


/* =====================================================
   NAV ICON
===================================================== */

.spi-inventory-nav-icon{
    display:flex;
    align-items:center;
    justify-content:center;

    min-width:24px;
    height:24px;

    padding:0 5px;

    border-radius:7px;

    background:#f1f5f9;

    color:#64748b;

    font-size:11px;
    font-weight:800;
}

.spi-inventory-nav-item.spi-active
.spi-inventory-nav-icon{
    background:#d8f3e4;
    color:#15945c;
}

.spi-inventory-nav-item:hover
.spi-inventory-nav-icon{
    color:#15945c;
}


/* =====================================================
   DROPDOWN
===================================================== */

.spi-inventory-nav-dropdown{
    position:relative;
}

.spi-inventory-nav-button{
    appearance:none;
}

.spi-inventory-nav-caret{
    margin-left:2px;

    color:#94a3b8;

    font-size:10px;
}


/* =====================================================
   DROPDOWN MENU
===================================================== */

.spi-inventory-nav-dropdown-menu{
    position:absolute;

    top:calc(100% + 7px);
    left:0;

    display:none;

    min-width:220px;

    padding:7px;

    border:1px solid #e2e8f0;
    border-radius:13px;

    background:#ffffff;

    box-shadow:
        0 12px 32px rgba(15,23,42,.12);
}

.spi-inventory-nav-dropdown-right{
    right:0;
    left:auto;
}

.spi-inventory-nav-dropdown:hover
.spi-inventory-nav-dropdown-menu{
    display:block;
}


/* =====================================================
   DROPDOWN ITEM
===================================================== */

.spi-inventory-nav-dropdown-item{
    display:block;

    padding:11px 12px;

    border-radius:9px;

    color:#475569;

    font-size:13px;
    font-weight:600;

    text-decoration:none;

    transition:
        background .15s ease,
        color .15s ease;
}

.spi-inventory-nav-dropdown-item:hover{
    background:#edf9f3;
    color:#15945c;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:1200px){

    .spi-inventory-main-grid{
        grid-template-columns:1fr;
    }

    .spi-inventory-menu-grid{
        grid-template-columns:
            repeat(4,minmax(0,1fr));
    }

}


@media(max-width:992px){

    .spi-inventory-menu-grid{
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }
    
    .spi-inventory-nav{
        overflow:hidden;
    }

    .spi-inventory-nav-inner{
        overflow-x:auto;
        overflow-y:hidden;

        -webkit-overflow-scrolling:touch;

        scrollbar-width:none;
    }

    .spi-inventory-nav-inner::-webkit-scrollbar{
        display:none;
    }

    .spi-inventory-nav-dropdown-menu{
        display:none !important;
    }

}


@media(max-width:768px){

    .spi-inventory-title{
        font-size:26px;
    }

    .spi-inventory-main-grid{
        gap:16px;
    }

    .spi-inventory-quick-grid{
        grid-template-columns:1fr;
    }

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

    .spi-inventory-activity-item{
        align-items:flex-start;
    }

    .spi-inventory-activity-meta{
        display:none;
    }
    
    .spi-inventory-nav-item{
        min-height:40px;

        padding:0 11px;

        font-size:12px;
    }

}


@media(max-width:560px){

    .spi-inventory-menu-grid{
        grid-template-columns:1fr;
    }

    .spi-inventory-insight-value{
        font-size:24px;
    }

}