:root {
    --ks-primary: #1b6ec2;
    --ks-primary-hover: #1861ac;
    --ks-success: #28a745;
    --ks-danger: #dc3545;
    --ks-border: #dee2e6;
    --ks-bg: #f4f7f6;
    --ks-text: #2d3436;
    --ks-fs-main: 14px;
}

body {
    background-color: var(--ks-bg);
    color: var(--ks-text);
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    font-size: var(--ks-fs-main);
}

/* --- UNIVERSAL TABLE ENTRY FIX --- */
.ks-table-master td,
.ks-table-master td span,
.ks-table-master td a,
.ks-table-master td .badge {
    line-height: 1.4;
    vertical-align: middle;
    font-size: var(--ks-fs-main);
}

/* Ensure the specific text-success/secondary helpers don't override the size */
.ks-table-master td .text-success,
.ks-table-master td .text-secondary {
    padding: 0;
    font-size: var(--ks-fs-main);
}

/* --- MASTER TABLE SYSTEM --- */
.ks-table-container {
    width: 100%;
    max-height: 75vh;
    overflow: auto;
    border: 1px solid var(--ks-border);
    border-radius: 8px;
    background: #fff;
    position: relative;
    font-size: var(--ks-fs-main);
}

.ks-table-master {
    margin-bottom: 0 !important;
    border-collapse: collapse; 
    font-size: var(--ks-fs-main);
}

.ks-table-master th {
    position: sticky;
    top: 0;
    z-index: 10;
    background-color: #f8fafc !important;
    border-bottom: 2px solid var(--ks-border) !important;
    padding: 8px !important;
    white-space: nowrap;
    color: #495057;
    font-size: var(--ks-fs-main);
}

/* Base TD styling */
.ks-table-master td .text-success{
    vertical-align: middle;
    padding: 8px 12px;
    white-space: nowrap;
    font-size: var(--ks-fs-main);
}

code, .ks-code-reset {
    color: #212529 !important;
    background-color: transparent !important;
    padding: 0 !important;
    font-family: inherit !important;
    font-size: var(--ks-fs-main);
}

.ks-search-group h4,
h4.fw-bold,
h4.mb-2 {
    font-size: 14px !important;
    margin-bottom: 12px; 
    line-height: 1.4;
    text-transform: uppercase; 
}

.container-fluid div, 
div.py-3 {
    margin-top: 0;
}
/* EDGE-TO-EDGE COLUMN FIX */
.td-edge-to-edge {
    padding: 0 !important; 
    font-size: var(--ks-fs-main);
}

/* --- UPDATED BADGE BUY/SELL (EDGE-TO-EDGE) --- */
.badge-buy, .badge-sell {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%; /* Spans full height of the row */
    min-height: 38px; /* Standardizes row height */
    font-weight: 700;
    color: white !important;
    border-radius: 0 !important; /* Forces square edges for block look */
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 !important;
    font-size: var(--ks-fs-main);
}

.badge-status{
    font-size: var(--ks-fs-main);
    color: var(--ks-success);
    font-weight: bold;
}
.badge-buy {
    background-color: var(--ks-success) !important;
    font-size: var(--ks-fs-main);
}

.badge-sell {
    background-color: var(--ks-danger) !important;
    font-size: var(--ks-fs-main);
}

.bg-success {
    background-color: transparent !important;
}

.bg-secondary {
    color: var(--ks-danger) !important;
    background-color: transparent !important;
}

/* --- UNIFIED SEARCH & INPUTS --- */
.ks-search-input {
    height: 35px !important;
    border: 1px solid var(--ks-border);
    border-radius: 4px;
    font-size: var(--ks-fs-main);
}

.btn-ks-primary {
    background-color: var(--ks-primary);
    border: none;
    color: white;
    font-weight: 600;
    height: 35px;
    padding: 0 15px;
    transition: all 0.2s;
    font-size: var(--ks-fs-main);
}

.btn-ks-primary:hover {
    background-color: var(--ks-primary-hover);
    transform: translateY(-1px);
    color: white;
    font-size: var(--ks-fs-main);
}

/* --- EXPORT / PDF --- */
.ks-pdf-btn {
    background-color: #8b0000 !important;
    color: white !important;
    border: none;
    height: 35px;
    padding: 0 15px;
    font-weight: 600;
}

/* --- NAVIGATION & MODALS --- */
.ks-main-nav .nav-link {
    color: #636e72;
    font-weight: 600;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    font-size: var(--ks-fs-main);
}

.ks-main-nav .nav-link.active {
    color: var(--ks-primary);
    background: rgba(27, 110, 194, 0.08);
    font-size: var(--ks-fs-main);
}

.ks-modal-overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,0.5); z-index: 1050;
    display: flex; align-items: center; justify-content: center;
    font-size: var(--ks-fs-main);
}

.ks-modal-card {
    background: white; border-radius: 12px; width: 320px; padding: 20px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.2);
    font-size: var(--ks-fs-main);
}

/* --- CAIF FORM COMPONENTS --- */
.ks-form-card {
    max-width: 900px;
    margin: 2rem auto;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    background: #fff;
    padding: 20px;
    font-size: var(--ks-fs-main);
}

.ks-section-header {
    border-bottom: 2px solid #f0f0f0;
    margin: 25px 0 15px 0;
    color: var(--ks-primary);
    font-weight: 700;
    text-transform: uppercase;
    font-size: var(--ks-fs-main);
}

.ks-label {
    font-weight: 600;
    color: #444;
    font-size: var(--ks-fs-main);
}

.table tbody tr td{
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-right: 0 !important;
    padding-left: 12px;
    height: auto !important;
    line-height: 1 !important;
    text-wrap: nowrap !important;
}
