body{
    margin:0;
    background:#f5f7fb;
    font-family:'Segoe UI',sans-serif;
    color: #45464D;
    zoom: 0.8;
}

/* .dashboard-wrapper{
    display:flex;
    min-height:100vh;
} */

.bg-primary {
    background-color: #04234B!important;
}

.text-primary {
    color: #04234B!important;
}

.btn-primary {
    background-color: #04234B!important;
    border-color: #04234B!important;
}

.form-group {
    margin-bottom: 0.875rem;
}

label {
    font-weight: 600;
    margin-bottom: 5px;
}

.form-control {
    padding: 10px 20px;
    border-radius: 0;
}

.modal-header, .modal-footer {
    padding: 12px 30px;
}

.modal-body {
    padding: 20px 30px;
}

.ark-sidebar{
    width:260px;
    border-right: 1px solid #C6C6CD;
    background: #FFF;
    padding:25px 15px;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    z-index: 1000;
    zoom: 1.1;
}

.logo-section{
    margin-bottom:30px;
}

.logo-text{
    font-size:12px;
    color:#666;
    font-weight:500;
}

.sidebar-menu{
    list-style:none;
    padding:0;
}

.sidebar-menu li{
    margin-bottom:8px;
}

.sidebar-menu li a{
    display:flex;
    gap:12px;
    align-items:center;
    padding:14px 16px;
    color:#555;
    text-decoration:none;
    border-radius:10px;
}

.sidebar-menu li.active a{
    background:#082b63;
    color:#fff;
}

.menu-bottom-bar {
    border-top: 1px solid rgba(198, 198, 205, 0.30);
    padding-top: 2px;
}

.top-navbar{
    margin-left: 286px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:15px 30px;
    border-bottom: 1px solid #C6C6CD;
    background: rgba(247, 249, 251, 0.80);
    backdrop-filter: blur(6px);
    position: sticky;
    top: 0;
    z-index: 100;
}

.clipart-mobile-toggle {
    display: none;
}

.search-box{
    max-width:500px;
    width:100%;
    border-radius: 9999px;
    border: 1px solid #C6C6CD;
    background: #F2F4F6;
    padding:10px 20px;
}

.search-box input{
    border:none;
    width:90%;
    outline:none;
    background:transparent;
}

.top-icons{
    display:flex;
    align-items:center;
    gap:20px;
    font-size: 20px;
}

.profile-circle{
    width:40px;
    height:40px;
    border-radius:50%;
    border:2px solid #18b6ff;
}

.main-content{
    flex:1;
    padding:25px 30px;
    padding-left: 316px;
}


.page-title{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:25px;
}

.page-title h1{
    font-size: 28px;
    font-weight:700;
    color:#0b2b61;
}

.page-title p{
    color:#666;
    margin-bottom:0;
}

.iso-badge{
    border-radius: 4px;
    border: 1px solid #C6C6CD;
    background: #F2F4F6;
    padding:8px 14px;
    margin-left:10px;
    font-size:14px;
    font-weight: 500;
}

.kpi-card{
    padding:20px;
    height:100%;
    border-radius: 12px;
    border: 1px solid #C6C6CD;
    background: #FFF;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.card-top{
    display:flex;
    justify-content:space-between;
    margin-bottom:20px;
}

.readiness-circle{
    width:90px;
    height:90px;
    border:6px solid #0b2b61;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:28px;
    font-weight:700;
}

.kpi-card h2{
    font-size:60px;
    font-weight:700;
}

.danger-text{
    color:#e53935;
}

.card-box{
    padding:25px;
    border-radius: 12px;
    border: 1px solid #C6C6CD;
    background: #FFF;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.card-box h3{
    color:#0b2b61;
    font-weight:700;
    font-size: 22px;
}

.dept-card {
    border:1px solid #ddd;
    border-radius:16px;
    padding:18px;
}

.dept-header{
    display:flex;
    justify-content:space-between;
}

.status{
    padding:6px 12px;
    border-radius:4px;
    font-size:12px;
    font-weight:700;
}

.dept-header .danger{
    color:#d32f2f;
    background: #FFDAD6;
}

.success{
    background:#dcf8dd;
    color:#2e7d32;
}

.primary{
    background:#dbeafe;
    color:#0b2b61;
}

.dept-stats{
    display:flex;
    justify-content:space-between;
    text-align:center;
    margin: 10px 0;
    padding: 12px 0;
    border-top: 1px solid #C6C6CD;
    border-bottom: 1px solid #C6C6CD;
}

.dept-stats div{
    display:flex;
    flex-direction:column;
}

.progress, .progress-stacked {
    height: 10px;
}

.action-card{
    padding:20px;
    margin-top:20px;
    position: relative;
    border-radius: 8px;
    border: 1px solid #C6C6CD;
    background: #F2F4F6;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.action-card .dots{
    width:10px;
    height:10px;
    background:#00B5E2;
    border-radius:50%;
    position: absolute;
    right: 20px;
    top: 20px;
}

.tag{
    background:#f1f1f1;
    padding:4px 10px;
    border-radius:4px;
    font-size:12px;
}

.action-card a{
    color:#00aef0;
    text-decoration:none;
    font-weight:600;
}

.footer {
    border-top: 1px solid #C6C6CD;
    padding: 15px 30px;
    padding-left: 290px;
}

.checklist-actions{
    display:flex;
    gap:15px;
}

.export-btn{
    border-radius:12px;
    height:50px;
}

.new-btn{
    border-radius:12px;
    height:50px;
    background:#082b63;
    text-wrap: nowrap;
}

.ark-upload-wrapper{
    width:100%;
}

.ark-upload-label{
    display:block;
    font-size:15px;
    font-weight:600;
    color:#1f2937;
    margin-bottom:8px;
}

.ark-upload-box{
    position:relative;
    border:2px dashed #d1d5db;
    border-radius:8px;
    background:#fafafa;
    transition:all .3s ease;
}

.ark-upload-box:hover{
    border-color:#94a3b8;
    background:#f8fafc;
}

.ark-upload-input{
    display:none;
}

.ark-upload-content{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:80px;
    cursor:pointer;
    color:#6b7280;
    font-size:15px;
    margin:0;
}

.ark-upload-content i{
    font-size:16px;
    color:#9ca3af;
}

.file-item{
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px 12px;
    margin-top:8px;
    border:1px solid #e5e7eb;
    border-radius:8px;
    background:#f8fafc;
    font-size:14px;
}

.file-item i{
    color:#2563eb;
}

.drag-active{
    border-color:#2563eb;
    background:#eff6ff;
}

.cm-card{
    border-radius: 12px;
    border: 1px solid #C6C6CD;
    background: #F2F4F6;
    padding:24px;
    height:100%;
}

.section-heading{
    font-size:24px;
    color:#082b63;
    font-weight:700;
    margin-bottom:25px;
}

.cm-card select {
    border-radius: 8px;
    border: 1px solid #C6C6CD;
    background: #ECEEF0;
}

.readiness-row{
    display:flex;
    align-items:center;
    margin-bottom:25px;
}

.readiness-row span{
    width:180px;
    font-weight:600;
}

.readiness-row .progress{
    height:12px;
    border-radius:30px;
}

.checklist-table th{
    background:#f6f8fc;
    padding:18px;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.checklist-table td{
    padding:22px 18px;
}

.item-title{
    font-weight:700;
    color:#082b63;
}

.item-desc{
    color:#6b7280;
    margin-top:4px;
}

.owner-info{
    display:flex;
    align-items:center;
    gap:10px;
}

.owner-avatar{
    width:36px;
    height:36px;
    border-radius:50%;
    background:#dbeafe;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:700;
    color:#082b63;
}

.reset-btn{
    border-radius: 8px;
    border: 1px solid #C6C6CD;
    background: #E6E8EA;
}

/* ==========================
   POLICY PAGE
========================== */

/* ==========================
   STAT CARDS
========================== */

.policy-stat-card{
    background:#fff;
    border:1px solid #d9dee8;
    border-radius:20px;
    padding:30px;
    display:flex;
    align-items:center;
    gap:64px;
    height:100%;
    transition:.3s;
    position: relative;
}

.policy-stat-card:hover{
    transform:translateY(-3px);
    box-shadow:0 8px 20px rgba(0,0,0,.06);
}

.policy-stat-card h2{
    font-size:60px;
    font-weight:700;
    color:#082b63;
    margin-bottom:0;
    position: relative;
}

.policy-stat-card .stat-icon {
    position: relative;
}

.policy-stat-card .stat-icon:before {
    content:'';
    position:absolute;
    right: -50px;
    bottom: -15px;
    width: 70px;
    height: 70px;
    background: #000;
    border-radius: 50%;
}

.policy-stat-card .stat-icon:after {
    content:'';
    position:absolute;
    right: -50px;
    bottom: -10px;
    width: 45px;
    height: 45px;
    background: #666;
    border-radius: 50%;
}

.policy-stat-card .stat-icon.blue:before{
    background:#e8eef8;
}

.policy-stat-card .stat-icon.blue:after{
    background:#c7d6f1;
}

.policy-stat-card .stat-icon.cyan:before{
    background:#e2f6f8;
}

.policy-stat-card .stat-icon.cyan:after{
    background:#b8e7ed;
}

.policy-stat-card .stat-icon.orange:before{
    background:#f8f1e7;
}

.policy-stat-card .stat-icon.orange:after{
    background:#fb9735;
}

.policy-stat-card h4{
    color:#1e293b;
    font-size:26px;
    font-weight:600;
}

.policy-stat-card p{
    margin:0;
    color:#64748b;
    font-size:16px;
}

/* ==========================
   TABLE CARD
========================== */

.policy-table-card{
    background:#fff;
    border:1px solid #d9dee8;
    border-radius:20px;
    overflow:hidden;
}

.policy-table{
    margin-bottom:0;
}

.policy-table thead th{
    background:#f8fafc;
    color:#475569;
    font-weight:700;
    font-size:15px;
    padding:12px 20px;
    border-bottom:1px solid #d9dee8;
}

.policy-table tbody td{
    padding:12px 20px;
    font-size:16px;
    color:#334155;
    border-color:#edf2f7;
}

/* ==========================
   STATUS
========================== */

.status-pill{
    padding:5px 15px;
    border-radius:50px;
    font-size:14px;
    font-weight:600;
    display:inline-block;
}

.status-primary{
    background:#e8f0ff;
    color:#2454d3;
}

.status-warning{
    background:#fff1d9;
    color:#c96b00;
}

/* ===============================
   CHECKLIST MANAGER PAGE
================================= */

/* Tabs */

.department-tabs{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:35px;
}

.dept-tab{
    border:none;
    background:#fff;
    border:1px solid #d9dee8;
    color:#475569;
    padding:10px 22px;
    border-radius:30px;
    font-weight:500;
    transition:.3s;
}

.dept-tab.active{
    background:#2563eb;
    color:#fff;
    border-color:#2563eb;
}

.dept-tab:hover{
    background:#eff6ff;
}

/* Filter Card */

.filter-card{
    background:#fff;
    border:1px solid #d9dee8;
    border-radius:20px;
    padding:25px;
    margin-bottom:30px;
}

.filter-title{
    color:#082b63;
    font-weight:700;
    margin-bottom:20px;
}

.filter-card .form-label{
    font-weight:600;
    color:#64748b;
    margin-bottom:8px;
}

.filter-card .form-select{
    height:52px;
    border-radius:12px;
    border:1px solid #d9dee8;
}

/* Table */

.checklist-table-card{
    background:#fff;
    border:1px solid #d9dee8;
    border-radius:20px;
    overflow:hidden;
}

.checklist-manager-table{
    margin-bottom:0;
}

.checklist-manager-table thead th{
    background:#f8fafc;
    color:#64748b;
    font-weight:700;
    font-size:14px;
    padding:22px 24px;
    border-bottom:1px solid #e5e7eb;
}

.checklist-manager-table tbody td{
    padding:22px 24px;
    color:#475569;
    font-size:16px;
    vertical-align:middle;
}

/* Status Badges */

.status-badge{
    min-width:130px;
    text-align:center;
    display:inline-block;
    padding:10px 18px;
    border-radius:50px;
    font-size:14px;
    font-weight:600;
}

.pending{
    background:#fef3c7;
    color:#b45309;
}

.review{
    background:#dbeafe;
    color:#0369a1;
}

.na{
    background:#eef2f7;
    color:#2563eb;
}

.done{
    background:#dcfce7;
    color:#15803d;
}

/* Cards */

.smart-card{
    background:#fff;
    border:1px solid #d9dee8;
    border-radius:20px;
    padding:25px;
    height:100%;
    position:relative;
}

.card-icon{
    position:absolute;
    top:20px;
    right:20px;
    font-size:42px;
    color:#e2e8f0;
}

.card-label{
    text-transform:uppercase;
    letter-spacing:1px;
    color:#475569;
    margin-bottom:20px;
}

.probability-box{
    display:flex;
    align-items:center;
    gap:15px;
}

.probability-box h2{
    font-size:64px;
    font-weight:700;
    color:#082b63;
}

.risk-pill{
    background:#dbeafe;
    color:#1e40af;
    padding:8px 16px;
    border-radius:10px;
    font-weight:600;
}

.card-desc{
    color:#64748b;
    font-size:18px;
}

/* Critical */

.critical-card{
    background:#fff2f2;
    border-color:#fecaca;
}

.critical-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:#dc2626;
    font-weight:700;
    text-transform:uppercase;
}

.critical-icon{
    font-size:50px;
    opacity:.4;
}

.resolve-link{
    color:#dc2626;
    text-decoration:none;
    font-weight:600;
}

/* Task */

.overview-header{
    display:flex;
    justify-content:space-between;
    margin-bottom:20px;
}

.overview-count{
    background:#f1f5f9;
    padding:8px 15px;
    border-radius:20px;
}

.overview-item{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:20px;
}

.overview-item strong{
    margin-left:auto;
}

.done-dot,
.pending-dot{
    width:10px;
    height:10px;
    border-radius:50%;
}

.done-dot{
    background:#10b981;
}

.pending-dot{
    background:#f59e0b;
}

.overview-progress{
    height:8px;
    border-radius:20px;
}

/* Table */

.smart-table-card{
    background:#fff;
    border:1px solid #d9dee8;
    border-radius:20px;
    overflow:hidden;
}

.table-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:24px;
    border-bottom:1px solid #e5e7eb;
}

.table-header h3{
    margin:0;
    color:#082b63;
    font-weight:700;
}

.table-actions{
    display:flex;
    gap:10px;
}

.smart-checklist-table{
    margin-bottom:0;
}

.smart-checklist-table th{
    background:#f8fafc;
    padding:18px 24px;
    color:#64748b;
}

.smart-checklist-table td{
    padding:20px 24px;
}

.item-title{
    font-weight:600;
    color:#1e293b;
}

.item-ai{
    margin-top:8px;
    color:#64748b;
    font-size:14px;
}

.risk-reference{
    margin-top:10px;
    color:#dc2626;
    font-weight:600;
}

/* Status */

.status-pill{
    padding:8px 16px;
    border-radius:10px;
    font-weight:600;
    display:inline-block;
}

.pending{
    background:#fef3c7;
    color:#b45309;
}

.review{
    background:#dbeafe;
    color:#0369a1;
}

.na{
    background:#e2e8f0;
    color:#64748b;
}

.done{
    background:#dcfce7;
    color:#15803d;
}

/* Audit Success */

.success-score{
    width:80px;
    height:8px;
    border-radius:20px;
    display:inline-block;
    margin-right:10px;
}

.low{
    background:#dc2626;
}

.medium{
    background:#f59e0b;
}

.high{
    background:#10b981;
}

.low-text{
    color:#dc2626;
    font-weight:600;
}

.medium-text{
    color:#d97706;
    font-weight:600;
}

.high-text{
    color:#15803d;
    font-weight:600;
}

/* =====================================
   IT OPERATIONS CHECKLIST PAGE
===================================== */

.it-card{
    background:#fff;
    border:1px solid #d9dee8;
    border-radius:18px;
    padding:30px;
    height:100%;
    position: relative;
}

.it-card h4{
    font-size:24px;
    font-weight:700;
    color:#111827;
}

.card-subtitle{
    color:#64748b;
    margin-bottom:25px;
}

/* Compliance */

.readiness-score{
    display:flex;
    align-items:flex-end;
    gap:12px;
    margin-bottom:20px;
}

.score{
    font-size:72px;
    font-weight:700;
    line-height:1;
}

.growth{
    color:#16a34a;
    font-size:30px;
    font-weight:600;
    margin-bottom:10px;
}

.readiness-progress{
    height:12px;
    border-radius:20px;
}

.readiness-progress .progress-bar{
    background:#111827;
}

/* Overview */

.overview-stats{
    display:flex;
    justify-content:space-between;
    text-align:center;
}

.overview-stats h2{
    font-size:52px;
    font-weight:700;
    margin-bottom:5px;
}

.overview-stats span{
    color:#64748b;
    font-size:14px;
}

/* Critical */

.critical-card{
    background:#fff1f1;
    border-color:#fecaca;
}

.critical-title{
    color:#b91c1c;
    font-size:24px;
    font-weight:700;
    margin-bottom:20px;
}

.critical-text{
    color:#991b1b;
    font-size:18px;
    margin-bottom:25px;
}

.resolve-btn{
    width:100%;
    border-radius:10px;
    height:52px;
}

/* Table */

.it-table-card{
    background:#fff;
    border:1px solid #d9dee8;
    border-radius:18px;
    overflow:hidden;
}

.table-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:25px 30px;
    border-bottom:1px solid #e5e7eb;
}

.table-top h3{
    margin:0;
    font-size:38px;
    color:#082b63;
    font-weight:700;
}

.table-icons{
    display:flex;
    gap:20px;
    font-size:24px;
    color:#64748b;
}

.ai-checklist-table{
    margin-bottom:0;
}

.ai-checklist-table th{
    background:#f8fafc;
    padding:18px 24px;
    color:#64748b;
    font-weight:700;
}

.ai-checklist-table td{
    padding:22px 24px;
    vertical-align:middle;
}

/* Status */

.status-pill{
    display:inline-block;
    padding:10px 18px;
    border-radius:30px;
    font-weight:600;
}

.poc{
    background:#dbeafe;
    color:#1d4ed8;
}

.wip{
    background:#f3f4f6;
    color:#374151;
}

/* Forecast */

.forecast{
    display:flex;
    align-items:center;
    gap:10px;
}

.forecast-bar{
    width:70px;
    height:8px;
    border-radius:20px;
}

.high{
    background:#22c55e;
}

.medium{
    background:#f59e0b;
}

.low{
    background:#ef4444;
}

.high-text{
    color:#15803d;
    font-weight:600;
}

.medium-text{
    color:#d97706;
    font-weight:600;
}

.low-text{
    color:#dc2626;
    font-weight:600;
}

.table-footer{
    padding:18px 30px;
    color:#94a3b8;
    border-top:1px solid #e5e7eb;
}

/* =====================================
   CISO PAGE
===================================== */

/* Cards */

.ciso-card{
    background:#fff;
    border:1px solid #d9dee8;
    border-radius:18px;
    padding:30px;
    min-height:180px;
    position:relative;
}

.card-icon{
    position:absolute;
    top:24px;
    right:24px;
    font-size:32px;
}

.success-icon{
    color:#16a34a;
}

.primary-icon{
    color:#2563eb;
}

.danger-icon{
    color:#dc2626;
}

.ciso-card h6{
    font-size:18px;
    color:#475569;
    margin-bottom:30px;
}

.metric-row{
    display:flex;
    align-items:flex-end;
    gap:12px;
}

.metric-value{
    font-size:72px;
    line-height:1;
    font-weight:700;
    color:#111827;
}

.metric-growth{
    color:#16a34a;
    font-size:32px;
    font-weight:600;
    margin-bottom:8px;
}

.audit-ready{
    display:flex;
    align-items:flex-end;
}

.ready-count{
    font-size:72px;
    font-weight:700;
    color:#111827;
    line-height:1;
}

.ready-total{
    font-size:34px;
    color:#52525b;
    margin-bottom:10px;
}

.critical-card{
    border-color:#fecaca;
}

.critical-card h6{
    color:#dc2626;
}

.critical-number{
    font-size:72px;
    font-weight:700;
    color:#dc2626;
}

/* Table */

.ciso-table-card{
    background:#fff;
    border:1px solid #d9dee8;
    border-radius:18px;
    overflow:hidden;
}

.ciso-table{
    margin-bottom:0;
}

.ciso-table thead th{
    background:#f8fafc;
    color:#475569;
    font-size:15px;
    font-weight:700;
    padding:20px;
    border-bottom:1px solid #d9dee8;
}

.ciso-table tbody td{
    padding:24px 20px;
    font-size:16px;
    color:#334155;
    vertical-align:top;
}

/* Status */

.status-pill{
    display:inline-block;
    padding:5px 15px;
    border-radius:50px;
    font-weight:600;
}

.poc{
    background:#dbeafe;
    color:#1d4ed8;
}

.wip{
    background:#fef3c7;
    color:#a16207;
}

.done{
    background:#dcfce7;
    color:#15803d;
}

/* Audit Success */

.audit-track{
    width:100%;
    height:12px;
    background:#e5e7eb;
    border-radius:30px;
    overflow:hidden;
}

.audit-fill{
    height:100%;
    border-radius:30px;
}

.blue-fill{
    background:#3b82f6;
}

.warning-fill{
    background:#eab308;
}

.success-fill{
    background:#22c55e;
}

.facility-title{
    font-size:48px;
    font-weight:700;
    color:#082b63;
}

.facility-subtitle{
    color:#64748b;
    font-size:18px;
    margin-bottom:30px;
}

.forecast{
    display:flex;
    align-items:center;
    gap:12px;
}

.forecast-track{
    width:120px;
    height:10px;
    background:#e5e7eb;
    border-radius:20px;
    overflow:hidden;
}

.forecast-fill{
    height:100%;
    border-radius:20px;
}

.forecast-fill.high{
    background:#22c55e;
}

.forecast-fill.medium{
    background:#f59e0b;
}

.forecast-fill.low{
    background:#ef4444;
}

.facility-table td{
    vertical-align:top;
}

/* Cards */

.pims-card{
    background:#fff;
    border:1px solid #d9dee8;
    border-radius:18px;
    padding:28px;
    height:100%;
}

.card-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:25px;
}

.card-top h5{
    margin:0;
    font-weight:700;
}

.card-top i{
    color:#64748b;
    font-size:22px;
}

.probability-value{
    font-size:72px;
    font-weight:700;
    line-height:1;
}

.probability-growth{
    color:#16a34a;
    font-size:28px;
    font-weight:600;
}

.critical-card{
    border-color:#fecaca;
}

.critical-card i,
.critical-card h5,
.critical-number{
    color:#dc2626;
}

.critical-number{
    font-size:72px;
    font-weight:700;
}

.evidence-count{
    font-size:54px;
    font-weight:700;
}

/* Table */

.privacy-card{
    background:#fff;
    border:1px solid #d9dee8;
    border-radius:18px;
    overflow:hidden;
}

.privacy-header{
    padding:24px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-bottom:1px solid #e5e7eb;
}

.privacy-header h3{
    margin:0;
    font-size:36px;
    font-weight:700;
    color:#082b63;
}

.privacy-actions{
    display:flex;
    gap:10px;
}

.priority-row{
    background:#f8fbff;
}

.ai-suggestion{
    background:#e8f0ff;
    color:#1e3a8a;
    border-radius:12px;
    padding:14px 16px;
    margin-top:12px;
    font-size:14px;
}

.forecast-wrapper{
    text-align:center;
}

.forecast-bars{
    display:flex;
    gap:4px;
    justify-content:center;
    margin-bottom:5px;
}

.forecast-bars span{
    width:18px;
    height:8px;
    border-radius:20px;
}

.low-bars span:nth-child(1){
    background:#ef4444;
}
.low-bars span:nth-child(2),
.low-bars span:nth-child(3){
    background:#e5e7eb;
}

.medium-bars span:nth-child(1),
.medium-bars span:nth-child(2){
    background:#f59e0b;
}
.medium-bars span:nth-child(3){
    background:#e5e7eb;
}

.high-bars span{
    background:#22c55e;
}

.view-all{
    padding:16px;
    text-align:center;
    font-weight:600;
    border-top:1px solid #e5e7eb;
    cursor:pointer;
}

.risk-header-actions{
    display:flex;
    gap:12px;
}

.risk-btn{
    border-radius:12px;
    padding:12px 22px;
}

.risk-btn-primary{
    border-radius:12px;
    padding:12px 22px;
}

.risk-kpi-card{
    background:#fff;
    border:1px solid #d9dee8;
    border-radius:18px;
    padding:28px;
    position:relative;
    min-height:200px;
}

.risk-kpi-icon{
    position:absolute;
    right:20px;
    top:20px;
    width:60px;
    height:60px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
}

.incident-bg{
    background:#eff6ff;
    color:#3b82f6;
}

.dev-bg{
    background:#f3e8ff;
    color:#a855f7;
}

.vendor-bg{
    background:#fff7ed;
    color:#f59e0b;
}

.risk-score{
    font-size:64px;
    font-weight:700;
}

.risk-score span{
    color:#16a34a;
    font-size:24px;
}

.risk-progress{
    height:10px;
    border-radius:50px;
}

.grade-circle{
    width:72px;
    height:72px;
    border:4px solid #a855f7;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    font-weight:700;
}

.risk-level-pill{
    background:#fef3c7;
    color:#b45309;
    padding:10px 18px;
    border-radius:30px;
    font-weight:600;
}

.ark-item{
    border:1px solid #d9dee8 !important;
    border-radius:18px !important;
    overflow:hidden;
}

.ark-item h2 button {
    font-size:20px;
    font-weight:700;
    color:#082b63;
}

.control-count{
    background:#f1f5f9;
    color:#64748b;
    padding:8px 14px;
    border-radius:8px;
    font-size:14px;
    position: absolute;
    right: 60px;
}

.risk-table th{
    background:#f8fafc;
    color:#64748b;
}

.risk-table td{
    padding:20px;
    vertical-align:top;
}

.ai-suggestion-box{
    background:#eef4ff;
    border:1px solid #dbeafe;
    padding:14px;
    border-radius:10px;
    margin-top:12px;
    color:#1d4ed8;
}

.confidence-high{
    color:#16a34a;
    font-weight:600;
}

.confidence-warning{
    color:#f97316;
    font-weight:600;
}

.nc-title{
    font-size:48px;
    font-weight:700;
    color:#082b63;
}

.nc-subtitle{
    color:#64748b;
    font-size:18px;
}

.export-btn{
    border-radius:12px;
    padding:12px 20px;
    text-wrap: nowrap;
}

.nc-card,
.ark-card{
    background:#fff;
    border:1px solid #d9dee8;
    border-radius:18px;
}

.nc-card{
    padding:24px;
    height:100%;
    position:relative;
}

.nc-card h4 {
    font-size:18px;
    font-weight:700;
}

.card-icon{
    position:absolute;
    right:20px;
    top:20px;
    font-size:26px;
    color:#64748b;
}

.card-icon.danger{
    color:#dc2626;
}

.metric-row{
    display:flex;
    align-items:end;
    gap:8px;
    margin-top:20px;
}

.metric-value{
    font-size:72px;
    font-weight:700;
    line-height:1;
}

.metric-unit{
    font-size:24px;
    margin-bottom:10px;
}

.metric-badge{
    display:inline-block;
    margin-top:10px;
    background:#dbeafe;
    color:#1d4ed8;
    padding:8px 12px;
    border-radius:8px;
}

.critical-box{
    display:flex;
    align-items:center;
    gap:15px;
    margin-top:25px;
}

.critical-number{
    font-size:72px;
    color:#dc2626;
    font-weight:700;
}

.critical-text{
    background:#fee2e2;
    color:#b91c1c;
    padding:12px;
    border-radius:10px;
}

.progress-label{
    display:flex;
    justify-content:space-between;
    margin-top:15px;
    margin-bottom:8px;
    font-weight:600;
}

.ark-card-header{
    padding:24px;
    border-bottom:1px solid #e5e7eb;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.ark-card-header h3{
    margin:0;
    font-size:22px;
    font-weight:700;
}

.table-actions{
    display:flex;
    gap:18px;
    font-size:20px;
}

.nc-table th{
    background:#f8fafc;
}

.nc-table td{
    padding:18px;
}

.priority{
    padding:8px 14px;
    border-radius:8px;
    font-weight:600;
}

.priority.high{
    background:#fee2e2;
    color:#dc2626;
}

.priority.medium{
    background:#fef3c7;
    color:#b45309;
}

.priority.low{
    background:#dbeafe;
    color:#1d4ed8;
}

.priority.critical{
    background:#7f1d1d;
    color:#fff;
}

.risk-high{
    color:#dc2626;
    font-weight:700;
}

.risk-medium{
    color:#a16207;
    font-weight:700;
}

.risk-low{
    color:#475569;
    font-weight:700;
}

.view-all{
    text-align:center;
    padding:14px;
    border-top:1px solid #e5e7eb;
    font-weight:600;
}

.pipeline{
    padding:40px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
}

.pipeline-item{
    text-align:center;
    width:180px;
}

.pipeline-icon{
    width:50px;
    height:50px;
    border-radius:50%;
    border:2px solid #d1d5db;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 15px;
}

.pipeline-item.active .pipeline-icon,
.pipeline-item.current .pipeline-icon{
    border-color:#082b63;
}

.pipeline-line{
    height:2px;
    background:#d1d5db;
    flex:1;
    margin-top:25px;
}

.pipeline-line.active{
    background:#082b63;
}

.section-heading{
    font-size:18px;
    font-weight:700;
    color:#082b63;
    display:flex;
    align-items:center;
    gap:10px;
}

.role-card,
.smart-card,
.forecast-card{
    background:#fff;
    border:1px solid #d9dee8;
    border-radius:18px;
}

.role-card{
    padding:22px;
    height:100%;
}

.role-top{
    display:flex;
    justify-content:space-between;
    margin-bottom:15px;
}

.role-number{
    width:48px;
    height:48px;
    border-radius:50%;
    background:#dbeafe;
    color:#1d4ed8;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
}

.role-card h4{
    font-weight:700;
    color:#082b63;
}

.role-tag{
    display:block;
    color:#64748b;
    margin-bottom:15px;
}

.impact-footer{
    border-top:1px solid #e5e7eb;
    margin-top:15px;
    padding-top:15px;
    display:flex;
    justify-content:space-between;
}

.smart-card{
    padding:20px;
    height:100%;
}

.role-label{
    color:#64748b;
    font-weight:600;
}

.task-item{
    border-radius:12px;
    padding:15px;
    margin-bottom:15px;
    background:#fff;
    border: 1px solid #ddd;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.task-item.danger{
    border-left:4px solid #dc2626;
}

.task-item.dark{
    border-left:4px solid #111827;
}

.task-item.light{
    border-left:4px solid #cbd5e1;
}

.forecast-card{
    padding:30px;
}

.timeline-wrapper{
    position:relative;
    display:flex;
    justify-content:space-between;
    margin-top:40px;
}

.timeline-line{
    position:absolute;
    top:25px;
    left:0;
    right:0;
    height:4px;
    background:#e5e7eb;
}

.timeline-step{
    position:relative;
    width:24%;
    text-align:center;
}

.step-circle{
    width:50px;
    height:50px;
    border-radius:50%;
    background:#e5e7eb;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 15px;
    font-weight:700;
    position:relative;
    z-index:2;
}

.completed .step-circle,
.active .step-circle{
    background:#082b63;
    color:#fff;
}

.header-actions{
    display:flex;
    gap:12px;
}

.ark-btn,
.ark-btn-primary{
    padding:12px 22px;
    border-radius:12px;
}

.ark-stat-card{
    background:#fff;
    border:1px solid #d9dee8;
    border-radius:18px;
    padding:24px;
    position:relative;
    height:100%;
}

.ark-stat-card .stat-icon{
    position:absolute;
    right: 30px;
    top:20px;
    font-size:24px;
    color:#475569;
}

.ark-stat-card .stat-icon.success{
    color:#16a34a;
}

.ark-stat-card .stat-icon.warning{
    color:#ea580c;
}

.stat-value{
    font-size:48px;
    font-weight:700;
    margin-top:8px;
}

.success-chip{
    background:#dcfce7;
    color:#15803d;
    padding:6px 12px;
    border-radius:20px;
    display:inline-block;
    margin-top:10px;
}

.danger-chip{
    background:#fee2e2;
    color:#dc2626;
    padding:6px 12px;
    border-radius:20px;
    display:inline-block;
    margin-top:10px;
}

.stat-subtext{
    margin-top:8px;
    color:#64748b;
}

.user-directory-card{
    background:#fff;
    border:1px solid #d9dee8;
    border-radius:18px;
    overflow:hidden;
}

.directory-header{
    padding:22px 24px;
    border-bottom:1px solid #e5e7eb;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.directory-header h3{
    margin:0;
    font-size:24px;
    font-weight:700;
    color:#082b63;
}

.directory-actions{
    display:flex;
    gap:10px;
}

.user-table th{
    background:#f8fafc;
    color:#64748b;
    padding:16px;
}

.user-table td{
    padding:16px;
}

.user-info{
    display:flex;
    align-items:center;
    gap:15px;
}

.user-avatar{
    width:50px;
    height:50px;
    border-radius:50%;
    object-fit:cover;
}

.user-avatar.initials{
    background:#e2e8f0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    color:#475569;
}

.user-name{
    font-size:20px;
    font-weight:600;
    color:#082b63;
}

.user-email{
    color:#64748b;
}

.user-role-switch-card{
    width:100%;
    margin:0;
    cursor:pointer;
}

.user-role-switch-card input{
    display:none;
}

.user-role-switch-content{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:15px;
    border:2px solid transparent;
    border-radius: 4px;
    transition:0.3s ease;
}

.user-role-switch-card.active .user-role-switch-content{
    background:#DCE9FF;
    border-color:#DCE9FF;
}

.change-role-dropdown-menu {
    width: 300px;
    border-radius: 8px;
    border: 1px solid #C6C6CD;
    background: #FFF;
    padding: 0;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.10), 0 4px 6px -4px rgba(0, 0, 0, 0.10);
}

.dropdown-header {
   border-bottom: 1px solid #C6C6CD;
    background: #EFF4FF;
}

.change-role-dropdown-menu .dropdown-body {
    padding: 15px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.user-role-switch-group{
    display:flex;
    flex-direction:column;
    gap:18px;
}

/* =================================
    CHECK ICON
================================= */

.user-role-switch-check{
    width: 26px;
    height: 26px;
    min-width: 26px;
    border-radius: 50%;
    border: 3px solid #0b7b6d;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0b7b6d;
    opacity: 0;
    transform: scale(0.7);
    transition: 0.3s ease;
}

.user-role-switch-card.active .user-role-switch-check{
    opacity:1;
    transform:scale(1);
}

/* =================================
    HOVER
================================= */

.user-role-switch-content:hover{
    border-color:#dfe8fb;
    background:#f5f8ff;
}

.role-badge{
    background:#f1f5f9;
    padding:8px 12px;
    border-radius:8px;
    margin-right:8px;
}

.dept-badge{
    padding:8px 12px;
    border-radius:8px;
}

.engineering{
    background:#dbeafe;
    color:#1d4ed8;
}

.finance{
    background:#f3e8ff;
    color:#9333ea;
}

.quality{
    background:#dcfce7;
    color:#15803d;
}

.status-wrap{
    display:flex;
    align-items:center;
    gap:12px;
}

.status-progress{
    width:130px;
    height:10px;
    background:#e5e7eb;
    border-radius:50px;
}

.status-fill{
    height:100%;
    border-radius:50px;
}

.success-fill{
    background:#16a34a;
}

.warning-fill{
    background:#f59e0b;
}

.success-text{
    color:#15803d;
    font-weight:600;
}

.warning-text{
    color:#ea580c;
    font-weight:600;
}

@media (min-width: 992px) {
    .clipart-sidebar-close {
        display: none;
    }
}

@media (max-width: 991px) {

    .clipart-mobile-toggle {
        display: inline-flex;
        padding: 6px 7px;
        font-size: 16px;
        border-radius: 6px;
        border: 2px solid #18b6ff;
    }

    .ark-sidebar {
        width: 300px;
        opacity: 0;
        visibility: hidden;
        left: -400px;
        transition: all 0.2s ease-in-out;
        z-index: 1000;
    }

    .ark-sidebar.active {
        left: 0;
        visibility: visible;
        opacity: 1;
    }

    .clipart-sidebar-close {
        position: absolute;
        right: 10px;
        top: 15px;
        padding: 0px 7px;
        font-size: 20px;
        border-radius: 10px;
        border: 2px solid #006A61;
        cursor: pointer;
    }

    .top-navbar {
        margin-left: 0;
        padding: 12px 15px;
        gap: 10px;
        justify-content: space-between;
    }

    .search-box {
        padding: 8px 15px;
        display: flex;
        align-items: center;
        font-size: 14px;
    }

    .top-icons {
        gap: 12px;
        font-size: 16px;
    }

    .profile-circle {
        width: 30px;
        height: 30px;
    }

    .main-content {
        padding: 15px 15px;
    }

    .page-title {
        margin-bottom: 10px;
    }

    .page-title h1 {
        font-size: 20px;
    }

    .page-title p {
        font-size: 14px;
    }

    .card-top {
        margin-bottom: 10px;
    }

    .kpi-card h2 {
        font-size: 36px;
    }

    .kpi-card p {
        margin-bottom: 0;
    }

    .card-box {
        padding: 20px 15px;
    }

    .card-box h3 {
        font-size: 18px;
    }

    .footer {
        padding: 10px 15px;
        font-size: 14px;
    }
}

@media (max-width: 767px) {
    .page-title {
        flex-direction: column;
    }

    .department-tabs {
        gap: 5px;
    }

    .dept-tab {
        padding: 5px 15px;
        font-size: 13px;
    }

    .filter-title {
        font-size: 18px;
    }

    .risk-btn, .risk-btn-primary {
        padding: 8px 15px;
    }

    .risk-kpi-card {
        min-height: auto;
    }

    .risk-kpi-card h3 {
        font-size: 16px;
    }

    .risk-kpi-icon {
        width: 50px;
        height: 50px;
    }

    .risk-score {
        margin-bottom: 1rem;
        font-size: 34px;
    }

    .ark-item h2 button {
        font-size: 16px;
    }

    .control-count {
        position: relative;
        right: 0;
    }
}

.modal-backdrop {
    width: 125vw !important;
    height: 125vh !important;
    top: 0 !important;
    left: 0 !important;
    background-color: rgba(0, 0, 0, 0.45) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

/* Responsive Ellipsis Truncation Rules */
.truncate-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    vertical-align: middle !important;
}
.w-title { max-width: 320px; }
.w-dept { max-width: 180px; }
.w-owner { max-width: 160px; }
.w-desc { max-width: 300px; }

/* Perfect alignment for table rows */
.table th, .table td {
    vertical-align: middle !important;
}
.table td > * {
    vertical-align: middle !important;
}

/* Responsive Adjustments for Truncated Cells on Tablets/Mobile */
@media (max-width: 1024px) {
    .w-title { max-width: 200px; }
    .w-dept { max-width: 120px; }
    .w-owner { max-width: 110px; }
    .w-desc { max-width: 250px; }
}
@media (max-width: 768px) {
    .w-title { max-width: 140px; }
    .w-dept { max-width: 90px; }
    .w-owner { max-width: 80px; }
    .w-desc { max-width: 160px; }
}

/* ===== User Management — Clean Select & Action Styles ===== */
.um-select {
    border-radius: 8px !important;
    border: 1.5px solid #dee2e6 !important;
    padding: 5px 30px 5px 10px !important;
    font-size: 0.82rem !important;
    color: #1a2a3a !important;
    background-color: #fff !important;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    min-width: 130px;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 10px;
}
.um-select:focus {
    border-color: var(--ark-primary, #04234B) !important;
    box-shadow: 0 0 0 3px rgba(4,35,75,0.1) !important;
    outline: none;
}
.um-select:hover {
    border-color: #adb5bd !important;
}
.um-role-select {
    min-width: 85px;
}
.um-action-btn {
    border-radius: 8px !important;
    width: 32px;
    height: 32px;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
    transition: all 0.2s ease;
}
.um-action-btn:hover {
    transform: scale(1.08);
}
