/* ISP360_GLOBAL_VIP_V1 */

:root{
    --vip-navy:#172554;
    --vip-blue:#2563eb;
    --vip-cyan:#0ea5e9;
    --vip-bg:#f4f7fb;
    --vip-panel:#ffffff;
    --vip-border:#dbe5f1;
    --vip-text:#0f172a;
    --vip-muted:#64748b;
    --vip-soft:#f8fafc;
    --vip-shadow:0 8px 25px rgba(15,23,42,.055);
    --vip-shadow-lg:0 14px 35px rgba(15,23,42,.075);
}

/* =========================
   GLOBAL ADMIN WORKSPACE
   ========================= */

body{
    background:
        radial-gradient(circle at 90% 0%,rgba(37,99,235,.055),transparent 28%),
        var(--vip-bg);
    color:var(--vip-text);
}

.main{
    padding-top:28px;
}


/* =========================
   SIDEBAR
   ========================= */

.sidebar{
    background:
        linear-gradient(
            180deg,
            #0b1635 0%,
            #111f46 48%,
            #172554 100%
        ) !important;

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

.sidebar a{
    border-radius:9px;
    transition:
        background .16s ease,
        color .16s ease,
        transform .16s ease;
}

.sidebar a:hover{
    transform:translateX(2px);
}

.sidebar a.active,
.sidebar .active > a,
.sidebar .active{
    box-shadow:
        inset 3px 0 0 #38bdf8,
        0 5px 14px rgba(0,0,0,.12);
}


/* =========================
   TYPOGRAPHY
   ========================= */

.main h1{
    margin-top:0;
    color:var(--vip-text);
    font-size:28px;
    font-weight:800;
    letter-spacing:-.45px;
}

.main h2{
    color:#172554;
    font-weight:800;
}

.main h3{
    color:#1e293b;
    font-weight:750;
}

.main .muted,
.main small{
    color:var(--vip-muted);
}


/* =========================
   PAGE CARDS / PANELS
   ========================= */

:where(
    .main .panel,
    .main .card,
    .main .box,
    .main .widget,
    .main .section-card,
    .main .summary-card,
    .main .metric-card,
    .main .stat-card
){
    border:1px solid var(--vip-border);
    border-radius:14px;
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #fbfdff
        );
    box-shadow:var(--vip-shadow);
}

.main .panel{
    overflow:auto;
}


/* =========================
   TOOLBARS / FILTER AREAS
   ========================= */

.main .toolbar,
.main .filters,
.main .filter-bar,
.main .search-bar,
.main .actions{
    border-radius:12px;
}


/* =========================
   TABLES
   ========================= */

.main table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
}

.main thead th{
    background:#f5f8fc;
    color:#475569;
    font-size:11px;
    font-weight:800;
    letter-spacing:.045em;
    text-transform:uppercase;
    white-space:nowrap;
    border-bottom:1px solid #dbe4ef;
}

.main th,
.main td{
    padding:13px 14px;
}

.main tbody td{
    color:#334155;
    border-bottom:1px solid #edf1f5;
}

.main tbody tr{
    transition:background .12s ease;
}

.main tbody tr:hover{
    background:#f8fbff;
}

.main tbody tr:last-child td{
    border-bottom:0;
}


/* =========================
   FORM CONTROLS
   ========================= */

.main input:not([type="checkbox"]):not([type="radio"]),
.main select,
.main textarea,
dialog input:not([type="checkbox"]):not([type="radio"]),
dialog select,
dialog textarea{
    min-height:42px;
    border:1px solid #cbd5e1;
    border-radius:9px;
    background:#fff;
    color:#0f172a;
    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}

.main textarea,
dialog textarea{
    padding-top:10px;
}

.main input:focus,
.main select:focus,
.main textarea:focus,
dialog input:focus,
dialog select:focus,
dialog textarea:focus{
    outline:none;
    border-color:#60a5fa;
    box-shadow:
        0 0 0 3px rgba(37,99,235,.11);
}


/* =========================
   BUTTONS
   ========================= */

.main button,
.main a.button,
.main .btn,
dialog button,
dialog a.button,
dialog .btn{
    min-height:40px;
    border-radius:9px;
    font-weight:700;
    transition:
        transform .14s ease,
        box-shadow .14s ease,
        opacity .14s ease,
        background .14s ease;
}

.main button:hover:not(:disabled),
.main a.button:hover,
.main .btn:hover,
dialog button:hover:not(:disabled),
dialog a.button:hover,
dialog .btn:hover{
    transform:translateY(-1px);
    box-shadow:0 6px 15px rgba(15,23,42,.12);
}

.main button:disabled,
.main .btn:disabled,
dialog button:disabled{
    opacity:.55;
    cursor:not-allowed;
    transform:none;
}


/* Primary buttons */

.main button:not(.danger):not(.delete):not(.remove):not(.secondary),
.main a.button:not(.danger):not(.delete):not(.remove):not(.secondary){
    border-color:transparent;
}


/* Destructive actions */

.main .danger,
.main .btn-danger,
.main .delete,
.main .remove,
dialog .danger,
dialog .btn-danger,
dialog .delete,
dialog .remove{
    background:#dc2626 !important;
    color:#fff !important;
}


/* =========================
   STATUS / BADGES
   ========================= */

.main .badge,
.main .status,
.main .pill,
.main .tag{
    border-radius:999px;
    font-weight:750;
}

.main .active,
.main .success,
.main .online{
    border-radius:999px;
}


/* =========================
   NOTICES
   ========================= */

.main .notice,
.main .alert,
.main .message{
    border-radius:10px;
    line-height:1.55;
}


/* =========================
   DIALOGS / MODALS
   ========================= */

dialog{
    border:1px solid var(--vip-border);
    border-radius:16px;
    background:#fff;
    box-shadow:
        0 24px 70px rgba(15,23,42,.28);
}

dialog::backdrop{
    background:rgba(15,23,42,.52);
    backdrop-filter:blur(2px);
}


/* =========================
   LINKS
   ========================= */

.main a{
    text-underline-offset:3px;
}


/* =========================
   SCROLLBARS
   ========================= */

.main *{
    scrollbar-width:thin;
    scrollbar-color:#cbd5e1 transparent;
}

.main *::-webkit-scrollbar{
    width:8px;
    height:8px;
}

.main *::-webkit-scrollbar-thumb{
    background:#cbd5e1;
    border-radius:999px;
}


/* =========================
   PREMIUM PAGE TOP ACCENT
   ========================= */

.main::before{
    content:"";
    display:block;
    height:4px;
    margin:-28px 0 22px;
    border-radius:0 0 6px 6px;
    background:
        linear-gradient(
            90deg,
            #172554,
            #2563eb,
            #0ea5e9,
            #38bdf8
        );
    opacity:.95;
}


/* =========================
   MOBILE
   ========================= */

@media(max-width:800px){

    .main{
        padding:18px !important;
    }

    .main::before{
        margin:-18px 0 18px;
    }

    .main h1{
        font-size:23px;
    }

    .main .panel,
    .main .card,
    .main .box{
        border-radius:12px;
    }

    .main th,
    .main td{
        padding:11px 10px;
    }

    .main button,
    .main a.button,
    .main .btn{
        min-height:42px;
    }
}


/* ISP360_GLOBAL_VIP_CARD_SPECIFICITY_FIX_V2
   Generic VIP styling is intentionally low-specificity.
   Dedicated page themes remain authoritative. */
