/* ==========================================================================
   Compliance & Legal Pages Design System — One Source Financial Services
   ========================================================================== */

/* Page Hero Banner */
.pg-hero {
    background: linear-gradient(135deg, #022423, #1D8B8A);
    padding: 38px 48px 28px;
    text-align: center;
    border-radius: 12px 12px 0 0;
}

.pg-hero h1 {
    font-size: 26px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 4px;
}

.ph-tag {
    font-size: 13px;
    color: #FFB74D;
    font-style: italic;
    margin-bottom: 8px;
    font-weight: 600;
}

.ph-type {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 14px;
}

/* Callout Info Boxes */
.ibox,
.intro-box {
    background: #FEF0E4;
    border-left: 4px solid #E8720C;
    padding: 14px 18px;
    font-size: 14px;
    color: #374151;
    margin-bottom: 20px;
    border-radius: 0 6px 6px 0;
    line-height: 1.7;
}

.gbox,
.green-box,
.note-box {
    background: #EBF5E9;
    border-left: 4px solid #4A8A3F;
    padding: 14px 18px;
    font-size: 14px;
    color: #2D6B28;
    border-radius: 0 6px 6px 0;
    line-height: 1.7;
    margin: 16px 0;
}

.rbox,
.violations-box,
.warn-box,
.redbox {
    background: #FEE2E2;
    border-left: 4px solid #B91C1C;
    padding: 14px 18px;
    font-size: 13px;
    color: #7F1D1D;
    border-radius: 0 6px 6px 0;
    margin: 16px 0;
    line-height: 1.6;
}

.rbox strong,
.violations-box h4,
.redbox strong {
    color: #B91C1C;
    display: block;
    margin-bottom: 4px;
    font-size: 14px;
    font-weight: 700;
}

.bbox,
.blue-box,
.amfi-note {
    background: #E0F2F1;
    border-left: 4px solid #1D8B8A;
    padding: 12px 16px;
    font-size: 13px;
    color: #022423;
    border-radius: 0 6px 6px 0;
    margin: 16px 0;
    line-height: 1.6;
}

.ybox {
    background: #FFFBEB;
    border: 2px solid #F59E0B;
    border-radius: 8px;
    padding: 16px 18px;
    font-size: 14px;
    color: #78350F;
    margin: 20px 0;
    line-height: 1.7;
}

.ybox strong {
    color: #92400E;
    display: block;
    margin-bottom: 6px;
    font-size: 15px;
}

/* Disclaimer Specific Banners */
.not-ia-banner {
    background: #022423;
    border-left: 5px solid #E8720C;
    padding: 18px 22px;
    border-radius: 0 8px 8px 0;
    margin-bottom: 24px;
}

.not-ia-banner .nib-title {
    font-size: 16px;
    font-weight: 700;
    color: #FFB74D;
    margin-bottom: 8px;
}

.not-ia-banner p {
    font-size: 14px;
    color: #E5E7EB;
    line-height: 1.7;
    margin: 0;
}

.mf-disclaimer {
    background: #FEE2E2;
    border: 2px solid #B91C1C;
    border-radius: 8px;
    padding: 18px 22px;
    margin-bottom: 24px;
}

.mf-disclaimer .mfd-title {
    font-size: 15px;
    font-weight: 700;
    color: #B91C1C;
    margin-bottom: 8px;
}

.mf-disclaimer p {
    font-size: 14px;
    color: #374151;
    line-height: 1.8;
    font-style: italic;
    font-weight: 500;
    margin: 0;
}

/* Special Badges */
.dpdpa-badge {
    display: inline-block;
    background: #1D8B8A;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 99px;
    margin-bottom: 18px;
    letter-spacing: .04em;
}

/* Contact Info Boxes */
.contact-box {
    background: #F3F4F6;
    border-radius: 8px;
    padding: 18px;
    margin: 16px 0;
}

.contact-box h4 {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 12px;
}

.contact-row,
.gro-row {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 10px;
    font-size: 13px;
    margin-bottom: 8px;
}

.contact-row .cl,
.gro-row .gl {
    font-weight: 700;
    color: #6B7280;
    text-transform: uppercase;
    font-size: 11px;
}

.contact-row .cv,
.gro-row .gv {
    color: #374151;
}

/* Link Cards & Grid (Important Links Page) */
.link-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 0 0 6px;
    padding: 16px 0 6px;
}

.lcard {
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    padding: 14px 16px;
    background: #FAFAFA;
}

.lcard.highlight {
    border-color: #E8720C;
    background: #FEF0E4;
}

.lc-name {
    font-size: 14px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 4px;
}

.lc-url a {
    font-size: 13px;
    color: #1D8B8A;
    text-decoration: none;
    word-break: break-all;
}

.lc-desc {
    font-size: 12px;
    color: #6B7280;
    margin-top: 4px;
    line-height: 1.5;
}

/* Document Cards (SID/SAI/KIM) */
.doc-cards {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
    margin: 20px 0;
}

.doc-card {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
    background: #ffffff;
}

.doc-card .dc-head {
    padding: 14px 18px;
    color: #ffffff;
    font-weight: 700;
    font-size: 16px;
}

.doc-card .dc-body {
    padding: 16px 18px;
    background: #FAFAFA;
    border: 1px solid #E5E7EB;
    border-top: none;
}

.doc-card .dc-full {
    font-size: 12px;
    color: #6B7280;
    margin-bottom: 6px;
    font-style: italic;
}

.doc-card .dc-desc {
    font-size: 13px;
    color: #374151;
    line-height: 1.6;
    margin-bottom: 10px;
}

.doc-card .dc-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 99px;
    margin-top: 2px;
}

/* Checklist Cards & Access Grids */
.checklist,
.access-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 16px 0;
}

.cl-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #F9FAFB;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    padding: 12px 14px;
}

.cl-item .cli {
    font-size: 22px;
    flex-shrink: 0;
}

.cl-item h4 {
    font-size: 14px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 2px;
}

.cl-item p {
    font-size: 12px;
    color: #6B7280;
    line-height: 1.4;
    margin: 0;
}

.acc-card {
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    padding: 14px 16px;
    background: #FAFAFA;
}

.acc-card .ac-src {
    font-size: 13px;
    font-weight: 700;
    color: #E8720C;
    margin-bottom: 4px;
}

.acc-card .ac-url {
    font-size: 13px;
    color: #1D8B8A;
    margin-bottom: 4px;
}

.acc-card .ac-url a {
    color: #1D8B8A;
    text-decoration: none;
}

.acc-card .ac-desc {
    font-size: 12px;
    color: #6B7280;
    line-height: 1.4;
}

/* SEBI Link Box (SID/SAI/KIM page) */
.sebi-link-box {
    background: linear-gradient(135deg, #022423 0%, #1D8B8A 100%);
    border: 3px solid #E8720C;
    border-radius: 12px;
    padding: 28px;
    margin: 28px 0;
    text-align: center;
}

.sebi-link-box .slb-badge {
    display: inline-block;
    background: #E8720C;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 16px;
    border-radius: 99px;
    margin-bottom: 14px;
    letter-spacing: .06em;
}

.sebi-link-box h3 {
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 8px;
}

.sebi-link-box p {
    font-size: 14px;
    color: rgba(255, 255, 255, .85);
    margin-bottom: 20px;
    line-height: 1.6;
}

.sebi-link-box .link-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    text-align: left;
}

.sebi-link-box .link-item {
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 8px;
    padding: 14px 16px;
}

.sebi-link-box .link-item .li-org {
    font-size: 11px;
    font-weight: 700;
    color: #FFB74D;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 4px;
}

.sebi-link-box .link-item .li-url {
    font-size: 14px;
    font-weight: 700;
    color: #FFB74D;
    margin-bottom: 4px;
}

.sebi-link-box .link-item .li-url a {
    color: #FFB74D;
    text-decoration: none;
}

.sebi-link-box .link-item .li-desc {
    font-size: 12px;
    color: rgba(255, 255, 255, .8);
    line-height: 1.4;
}

/* Comparison Tables */
table.ct,
table.lt,
table.pp-table,
table.dt {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
    font-size: 13px;
}

table.ct th,
table.lt th,
table.pp-table th,
table.dt th {
    padding: 12px 14px;
    text-align: left;
    font-weight: 700;
    color: #ffffff;
    font-size: 13px;
}

table.ct th:first-child,
table.lt th:nth-child(1),
table.pp-table th:first-child,
table.dt th:first-child {
    background: #E8720C;
}

table.ct th:nth-child(2),
table.lt th:nth-child(2),
table.pp-table th:last-child,
table.dt th:last-child {
    background: #022423;
}

table.ct th:nth-child(3),
table.lt th:nth-child(3) {
    background: #4A8A3F;
}

table.ct th:nth-child(4) {
    background: #1D8B8A;
}

table.ct td,
table.lt td,
table.pp-table td,
table.dt td {
    padding: 10px 14px;
    border-bottom: 1px solid #E5E7EB;
    vertical-align: top;
    font-size: 13px;
}

table.ct tr:nth-child(even) td,
table.lt tr:nth-child(even) td,
table.pp-table tr:nth-child(even) td,
table.dt tr:nth-child(even) td {
    background: #FEF0E4;
}

table.ct td:first-child,
table.lt td:first-child,
table.pp-table td:first-child,
table.dt td:first-child {
    font-weight: 700;
    color: #374151;
}

/* Escalation Grid (Matching Screenshot 2) */
.escalation {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 12px !important;
    margin: 20px 0 28px !important;
    width: 100% !important;
}

.escalation .esc-step {
    background: #F8FAFC !important;
    border-radius: 12px !important;
    padding: 18px 10px !important;
    text-align: center !important;
    border-top: 4px solid #F97316 !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
    word-break: break-word !important;
}

.escalation .esc-step .en {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #F97316 !important;
    margin-bottom: 6px !important;
    line-height: 1 !important;
}

.escalation .esc-step .et {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin-bottom: 6px !important;
    line-height: 1.35 !important;
}

.escalation .esc-step .ed {
    font-size: 11px !important;
    color: #64748B !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
}

@media (max-width: 991px) {
    .escalation {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 575px) {
    .escalation {
        grid-template-columns: 1fr !important;
    }
}

/* Code of Conduct Table */
.coc-table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    font-size: 14px;
}

.coc-table th {
    padding: 12px 16px;
    text-align: left;
    font-size: 13px;
    font-weight: 700;
}

.coc-table th:first-child {
    background: #E8720C;
    color: #ffffff;
    width: 220px;
}

.coc-table th:last-child {
    background: #022423;
    color: #ffffff;
}

.coc-table td {
    padding: 12px 16px;
    border-bottom: 1px solid #E5E7EB;
    vertical-align: top;
}

.coc-table tr:nth-child(even) td {
    background: #FEF0E4;
}

.coc-table td:first-child {
    font-weight: 700;
    color: #E8720C;
}

/* Criteria Grid & Cards */
.criteria-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin: 16px 0;
}

.crit-card {
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    padding: 14px 16px;
    background: #ffffff;
}

.crit-card .ci {
    font-size: 24px;
    margin-bottom: 8px;
}

.crit-card h4 {
    font-size: 14px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 4px;
}

.crit-card p {
    font-size: 12px;
    color: #6B7280;
    line-height: 1.5;
    margin: 0;
}

/* Section & Sub-Section Headers */
h2.part-head {
    font-size: 17px;
    font-weight: 700;
    color: #ffffff;
    background: #022423;
    padding: 12px 18px;
    margin: 32px 0 18px;
    border-left: 4px solid #E8720C;
}

h2.sh,
h2.sec-head {
    font-size: 16px;
    font-weight: 700;
    color: #C5600A;
    margin: 24px 0 10px;
    border-bottom: 2px solid #FEF0E4;
    padding-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

h3.ssh {
    font-size: 15px;
    font-weight: 700;
    color: #2D6B28;
    margin: 18px 0 8px;
}

p.bt,
p.sec-intro,
p.body-text {
    font-size: 14px;
    color: #374151;
    margin-bottom: 10px;
    line-height: 1.7;
}

/* Bullet & Numbered Lists */
ul.bl,
ul.rlist {
    list-style: none;
    padding: 0;
    margin: 0 0 14px;
}

ul.bl li,
ul.rlist li {
    font-size: 14px;
    color: #374151;
    padding: 6px 0 6px 22px;
    position: relative;
    border-bottom: 1px solid #F3F4F6;
    line-height: 1.6;
}

ul.bl li:before,
ul.rlist li:before {
    content: "•";
    position: absolute;
    left: 0;
    color: #E8720C;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.2;
}

ul.nl {
    list-style: none;
    padding: 0;
    margin: 0 0 14px;
    counter-reset: nc;
}

ul.nl li {
    font-size: 14px;
    color: #374151;
    padding: 6px 0 6px 28px;
    position: relative;
    border-bottom: 1px solid #F3F4F6;
    line-height: 1.6;
    counter-increment: nc;
}

ul.nl li:before {
    content: counter(nc) ".";
    position: absolute;
    left: 0;
    color: #E8720C;
    font-weight: 700;
}

ul.vlist,
ul.plist {
    list-style: none;
    padding: 0;
    margin: 0;
}

ul.vlist li,
ul.plist li {
    font-size: 13px;
    color: #374151;
    padding: 6px 0 6px 22px;
    position: relative;
    border-bottom: 1px solid #FECACA;
}

ul.vlist li:before,
ul.plist li:before {
    content: "✗";
    position: absolute;
    left: 0;
    color: #B91C1C;
    font-weight: 700;
}

/* Grievance Redressal Card & Level Escalation */
.gro-box,
.gro-card {
    background: #0A192F !important;
    border-radius: 14px !important;
    padding: 24px 28px !important;
    margin: 20px 0 28px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15) !important;
}

.gro-box .gb-title,
.gro-card .gc-title {
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #F97316 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    margin-bottom: 16px !important;
    grid-column: 1 / -1;
}

.gro-box .gb-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px 24px !important;
}

.gro-box .gr,
.gro-card .gc-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.gro-box .gl,
.gro-card .gc-label {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #94A3B8 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}

.gro-box .gv,
.gro-card .gc-val {
    font-size: 15px !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
}

.gro-box .gv a,
.gro-card .gc-val a {
    color: #60A5FA !important;
    text-decoration: none !important;
}

/* 5-Column Horizontal Escalation Step Bar */
.esc-row {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    gap: 0 !important;
    margin: 20px 0 30px !important;
    overflow: hidden !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12) !important;
}

.esc-row .esc-step {
    flex: 1 1 0% !important;
    padding: 16px 8px !important;
    text-align: center !important;
    color: #FFFFFF !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    margin: 0 !important;
}

.esc-row .es-n {
    font-size: 22px !important;
    font-weight: 900 !important;
    color: #FFFFFF !important;
    margin-bottom: 4px !important;
    line-height: 1 !important;
}

.esc-row .esc-step h4 {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #FFFFFF !important;
    margin-bottom: 4px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.esc-row .esc-step p {
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.88) !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    font-weight: 500 !important;
}

/* 5 Separate Rounded Cards Grid for Investor Charter (Matching Screenshot 2) */
.esc-grid {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 12px !important;
    margin: 20px 0 30px !important;
}

.esc-card {
    border-radius: 12px !important;
    padding: 20px 12px !important;
    text-align: center !important;
    color: #FFFFFF !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15) !important;
    transition: transform 0.2s ease !important;
}

.esc-card:hover {
    transform: translateY(-4px) !important;
}

.esc-card .en {
    font-size: 24px !important;
    font-weight: 900 !important;
    color: #FFFFFF !important;
    margin-bottom: 8px !important;
    line-height: 1 !important;
}

.esc-card h4 {
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #FFFFFF !important;
    margin-bottom: 8px !important;
    line-height: 1.35 !important;
    text-align: center !important;
}

.esc-card p {
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.9) !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    font-weight: 500 !important;
    text-align: center !important;
}

@media (max-width: 991px) {
    .esc-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 575px) {
    .esc-grid {
        grid-template-columns: 1fr !important;
    }
}

.esc-container {
    margin: 20px 0;
}

.esc-level {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 0;
    margin-bottom: 10px;
    border-radius: 8px;
    overflow: hidden;
}

.esc-num {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    min-height: 80px;
}

.esc-body {
    padding: 14px 18px;
    background: #F9FAFB;
    border: 1px solid #E5E7EB;
    border-left: none;
}

.esc-body h4 {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 4px;
}

.esc-body .esc-contact {
    font-size: 13px;
    color: #1D8B8A;
    font-weight: 600;
}

.esc-body .esc-time {
    font-size: 12px;
    color: #4A8A3F;
    font-weight: 600;
    margin-top: 3px;
}

.esc-body .esc-desc {
    font-size: 12px;
    color: #6B7280;
    margin-top: 3px;
    line-height: 1.5;
}

/* Steps Cards Grid */
.steps-grid,
.step-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
    margin: 20px 0;
}

.step-card {
    border-radius: 8px;
    padding: 16px 14px;
    text-align: center;
    border: 1px solid #E5E7EB;
    background: #ffffff;
}

.step-card .sn {
    font-size: 24px;
    font-weight: 700;
    color: #E8720C;
    margin-bottom: 6px;
}

.step-card h4 {
    font-size: 14px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 6px;
}

.step-card p {
    font-size: 12px;
    color: #6B7280;
    line-height: 1.5;
    margin: 0;
}

/* Do's and Don'ts Grid */
.dos-donts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin: 16px 0;
}

.dos {
    background: #EBF5E9;
    border-radius: 8px;
    padding: 18px;
}

.dos h4 {
    color: #2D6B28;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 12px;
}

.donts {
    background: #FEE2E2;
    border-radius: 8px;
    padding: 18px;
}

.donts h4 {
    color: #B91C1C;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 12px;
}

.dos li,
.donts li {
    font-size: 13px;
    margin-bottom: 8px;
    padding-left: 20px;
    position: relative;
    list-style: none;
    line-height: 1.5;
}

.dos li:before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #4A8A3F;
    font-weight: 700;
}

.donts li:before {
    content: "✗";
    position: absolute;
    left: 0;
    color: #B91C1C;
    font-weight: 700;
}

/* Pledge Box & Signatures */
.pledge-box {
    background: #EBF5E9;
    border: 2px solid #4A8A3F;
    border-radius: 10px;
    padding: 24px;
    margin: 28px 0;
    font-size: 14px;
    color: #2D6B28;
    line-height: 1.8;
}

.pledge-box .pledge-title {
    font-size: 16px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.pledge-box .pledge-title span {
    background: #4A8A3F;
    color: #ffffff;
    padding: 3px 12px;
    border-radius: 99px;
    font-size: 12px;
}

.pledge-sign {
    margin-top: 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.sign-block {
    border-top: 1.5px solid #4A8A3F;
    padding-top: 12px;
    font-size: 13px;
    color: #2D6B28;
}

.sign-block strong {
    display: block;
    font-size: 14px;
    color: #1a1a2e;
}

/* Contact Cards */
.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 16px 0;
}

.contact-card {
    background: #F3F4F6;
    border-radius: 8px;
    padding: 14px 16px;
    font-size: 13px;
}

.contact-card .org {
    font-weight: 700;
    color: #E8720C;
    font-size: 14px;
    margin-bottom: 4px;
}

.contact-card .url {
    color: #1D8B8A;
    font-size: 13px;
}

/* SEBI Charter TAT Table */
.sebi-charter {
    background: #F3F4F6;
    border-radius: 8px;
    padding: 18px;
    margin: 16px 0;
}

.sebi-charter h4 {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 10px;
}

.tat-table,
table.rtable,
table.gt,
table.ft {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    margin-top: 10px;
}

.tat-table th,
table.rtable th,
table.gt th,
table.ft th {
    background: #022423;
    color: #ffffff;
    padding: 8px 12px;
    text-align: left;
}

table.gt th:first-child,
table.ft th:first-child {
    background: #E8720C;
}

table.gt th:nth-child(2),
table.ft th:nth-child(2) {
    background: #022423;
}

table.gt th:nth-child(3),
table.ft th:nth-child(3) {
    background: #4A8A3F;
}

table.ft th:nth-child(4) {
    background: #B91C1C;
}

table.ft th:nth-child(5) {
    background: #1D8B8A;
}

.tat-table td,
table.rtable td,
table.gt td,
table.ft td {
    padding: 8px 12px;
    border-bottom: 1px solid #E5E7EB;
}

/* Vision / Mission Cards */
.vm-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
    margin: 20px 0;
}

.vm-card {
    border-radius: 10px;
    padding: 20px 18px;
    text-align: center;
}

.vm-card .vc-icon {
    font-size: 32px;
    margin-bottom: 10px;
}

.vm-card h3 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 8px;
}

.vm-card p {
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
}

/* Official SEBI/AMFI Banner Box */
.official-box {
    background: linear-gradient(135deg, #0C192E 0%, #1E3A5F 100%) !important;
    border: 3px solid #F97316 !important;
    border-radius: 14px !important;
    padding: 28px 32px !important;
    margin: 28px 0 !important;
    text-align: center !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2) !important;
}

.official-box .ob-badge {
    display: inline-block !important;
    background: #F97316 !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    padding: 6px 18px !important;
    border-radius: 99px !important;
    margin-bottom: 14px !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

.official-box h3 {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin-bottom: 8px !important;
}

.official-box .ob-sub {
    font-size: 14px !important;
    color: #94A3B8 !important;
    margin-bottom: 22px !important;
    line-height: 1.6 !important;
}

.official-box .doc-links {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
    text-align: left !important;
    margin-bottom: 18px !important;
}

.official-box .dl-item {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1.5px solid rgba(249, 115, 22, 0.4) !important;
    border-radius: 12px !important;
    padding: 18px 20px !important;
    transition: border-color 0.2s ease, transform 0.2s ease !important;
}

.official-box .dl-item:hover {
    border-color: #F97316 !important;
    transform: translateY(-2px) !important;
}

.official-box .dl-item .dli-org {
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #F97316 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    margin-bottom: 6px !important;
}

.official-box .dl-item .dli-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin-bottom: 6px !important;
    line-height: 1.4 !important;
}

.official-box .dl-item .dli-url {
    font-size: 13px !important;
    font-weight: 700 !important;
}

.official-box .dl-item .dli-url a {
    color: #60A5FA !important;
    text-decoration: none !important;
}

.official-box .dl-item .dli-url a:hover {
    text-decoration: underline !important;
}

.official-box .dl-item .dli-desc {
    font-size: 12px !important;
    color: #CBD5E1 !important;
    margin-top: 4px !important;
    line-height: 1.4 !important;
}

.official-box .ob-note {
    font-size: 12px !important;
    color: #94A3B8 !important;
    font-style: italic !important;
}

/* Rights Grid & Cards */
.rights-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin: 16px 0;
}

.right-card {
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    padding: 14px 16px;
    background: #FAFAFA;
    border-left: 4px solid #E8720C;
}

.right-card .rc-num {
    font-size: 20px;
    font-weight: 700;
    color: #E8720C;
    margin-bottom: 4px;
}

.right-card h4 {
    font-size: 14px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 4px;
}

.right-card p {
    font-size: 12px;
    color: #6B7280;
    line-height: 1.5;
    margin: 0;
}

/* Pages Navigation Grid */
.pages-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 16px 0;
}

.pg-item {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #F9FAFB;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    padding: 12px 14px;
}

.pg-item .pi-icon {
    font-size: 20px;
    flex-shrink: 0;
}

.pg-item h4 {
    font-size: 13px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 2px;
}

.pg-item .pi-url {
    font-size: 12px;
    color: #1D8B8A;
}

/* Registration Badges */
.reg-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
}

.rb {
    background: rgba(232, 114, 12, 0.2);
    border: 1.5px solid #E8720C;
    border-radius: 7px;
    padding: 5px 13px;
    font-size: 12px;
    color: #ffffff;
    font-weight: 600;
}

/* Stats Counter Grid */
.stats-row {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 12px !important;
    margin: 20px 0 28px !important;
    width: 100% !important;
}

.sc {
    background: #0B132B !important;
    border-radius: 12px !important;
    padding: 22px 12px !important;
    text-align: center !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
}

.sc .sv {
    font-size: 32px !important;
    font-weight: 800 !important;
    color: #F97316 !important;
    margin-bottom: 6px !important;
    line-height: 1 !important;
}

.sc .sl {
    font-size: 11px !important;
    color: #94A3B8 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    line-height: 1.35 !important;
}

@media (max-width: 991px) {
    .stats-row {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 575px) {
    .stats-row {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Entity Cards */
.entity-card {
    background: #022423;
    border-radius: 12px;
    padding: 24px;
    margin: 20px 0;
}

.entity-card .ec-title {
    font-size: 14px;
    font-weight: 700;
    color: #FFB74D;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 16px;
}

.entity-card .ec-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.entity-card .ec-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.entity-card .ec-label {
    font-size: 11px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: .06em;
}

.entity-card .ec-val {
    font-size: 14px;
    color: #ffffff;
    font-weight: 600;
}

/* Status Badges */
.badge-active,
.ba {
    display: inline-block;
    background: #DCFCE7;
    color: #15803D;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 99px;
}

/* Key Information Tables */
table.it {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 6px;
    font-size: 13px;
}

table.it tr {
    border-bottom: 1px solid #F3F4F6;
}

table.it tr:last-child {
    border-bottom: none;
}

table.it td:first-child {
    padding: 8px 14px 8px 0;
    font-weight: 700;
    color: #577D7D;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
    width: 180px;
    vertical-align: top;
}

table.it td:last-child {
    padding: 8px 0;
    color: #022423;
    font-size: 13px;
}

/* Partners Grid & Cards */
.partners-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 10px;
    margin: 10px 0;
}

.partner-card {
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    padding: 12px 14px;
    background: #F9FAFB;
    border-left: 4px solid #E8720C;
}

.pc-role {
    font-size: 10px;
    font-weight: 700;
    color: #577D7D;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 3px;
}

.pc-name {
    font-size: 14px;
    font-weight: 700;
    color: #022423;
    margin-bottom: 3px;
}

.pc-euin {
    font-size: 11px;
    color: #E8720C;
    font-weight: 600;
}

/* Data & Registrations Tables */
table.rt,
table.comm-table,
table.at {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
    font-size: 13px;
}

table.rt th,
table.comm-table th,
table.at th {
    padding: 10px 14px;
    text-align: left;
    font-weight: 700;
    font-size: 12px;
    color: #ffffff;
    background: #022423;
}

table.rt th:nth-child(1),
table.comm-table th:first-child,
table.at th:nth-child(2) {
    background: #E8720C;
}

table.rt th:nth-child(2) {
    background: #022423;
}

table.rt th:nth-child(3),
table.at th:nth-child(3) {
    background: #4A8A3F;
}

table.at th:nth-child(4) {
    background: #7C3AED;
}

table.rt td,
table.comm-table td,
table.at td {
    padding: 10px 14px;
    border-bottom: 1px solid #E5E7EB;
    font-size: 13px;
    vertical-align: middle;
}

table.rt tr:nth-child(even) td,
table.comm-table tr:nth-child(even) td,
table.at tr:nth-child(even) td {
    background: #FEF0E4;
}

table.rt td:first-child,
table.comm-table td:first-child {
    font-weight: 700;
    color: #022423;
}

table.rt td:nth-child(2) {
    font-weight: 700;
    color: #E8720C;
}

table.comm-table td.rate {
    font-weight: 700;
    color: #4A8A3F;
    text-align: center;
}

table.comm-table td.type {
    color: #6B7280;
    text-align: center;
    font-size: 13px;
}

table.comm-table td.icon {
    text-align: center;
    font-size: 20px;
}

/* Policy Grids & Cards */
.policy-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 20px 0;
}

.policy-card {
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    padding: 16px 18px;
    background: #ffffff;
}

.policy-card .pc-icon {
    font-size: 26px;
    margin-bottom: 8px;
}

.policy-card h4 {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 6px;
}

.policy-card p {
    font-size: 13px;
    color: #6B7280;
    line-height: 1.6;
    margin: 0;
}

/* Demand Note */
.demand-note {
    background: #FFF7ED;
    border: 2px solid #E8720C;
    border-radius: 10px;
    padding: 22px 24px;
    margin: 32px 0;
    font-size: 14px;
    color: #374151;
    line-height: 1.8;
}

.demand-note strong {
    color: #C5600A;
    font-size: 16px;
    display: block;
    margin-bottom: 8px;
}

.demand-note .contact-line {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px dashed #E8720C;
    font-size: 14px;
    color: #C5600A;
    font-weight: 600;
}

/* Multi-column Custom Tables */
table.tt {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
    font-size: 13px;
}

table.tt th {
    padding: 12px 16px;
    text-align: left;
    font-weight: 700;
    color: #ffffff;
    font-size: 12px;
}

table.tt th:nth-child(1) {
    background: #E8720C;
}

table.tt th:nth-child(2) {
    background: #022423;
}

table.tt th:nth-child(3) {
    background: #4A8A3F;
}

table.tt th:nth-child(4) {
    background: #1D8B8A;
}

table.tt th:nth-child(5) {
    background: #7C3AED;
}

table.tt td {
    padding: 12px 16px;
    border-bottom: 1px solid #E5E7EB;
    vertical-align: top;
}

table.tt tr:nth-child(even) td {
    background: #FEF0E4;
}

table.tt td:first-child {
    font-weight: 700;
    color: #1a1a2e;
}

/* AMC Display Grid */
.amc-disp-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 10px;
    margin: 12px 0;
}

.amc-disp-item {
    background: #F9FAFB;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    padding: 10px 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ai-name {
    font-size: 12px;
    font-weight: 700;
    color: #022423;
}

.ai-sebi {
    font-size: 11px;
    font-weight: 600;
    color: #1D8B8A;
    background: #E0F2F1;
    padding: 2px 8px;
    border-radius: 99px;
    white-space: nowrap;
}

/* Verification Box (Matching Screenshot 2) */
.verify-box {
    background: #0C192E !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 14px !important;
    padding: 28px !important;
    margin: 24px 0 !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2) !important;
}

.verify-box .vb-title,
.verify-box h3 {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #FFFFFF !important;
    margin-bottom: 8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.verify-box .vb-sub,
.verify-box p {
    font-size: 13px !important;
    color: #94A3B8 !important;
    margin-bottom: 22px !important;
    line-height: 1.5 !important;
    font-weight: 500 !important;
}

.verify-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
}

.verify-item,
.vi {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 12px !important;
    padding: 18px 20px !important;
    transition: border-color 0.2s ease, transform 0.2s ease !important;
}

.verify-item:hover,
.vi:hover {
    border-color: rgba(96, 165, 250, 0.5) !important;
    transform: translateY(-2px) !important;
}

.verify-item .vi-org,
.vi .vo {
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #F97316 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    margin-bottom: 8px !important;
}

.verify-item .vi-url,
.vi .vu {
    font-size: 14px !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
}

.verify-item .vi-url a,
.vi .vu a {
    color: #60A5FA !important;
    text-decoration: none !important;
    display: inline-block !important;
}

.verify-item .vi-url a:hover,
.vi .vu a:hover {
    text-decoration: underline !important;
}

.verify-item .vi-desc,
.vi .vd {
    font-size: 12px !important;
    color: #CBD5E1 !important;
    line-height: 1.5 !important;
    font-weight: 500 !important;
}

@media (max-width: 767px) {
    .verify-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Compliance Disclaimer Strip */
.disc-strip {
    background: #061A19;
    padding: 26px 32px;
    border-radius: 0 0 12px 12px;
}

.disc-para {
    font-size: 12px;
    color: rgba(255, 255, 255, .8);
    line-height: 1.8;
    margin-bottom: 10px;
    text-align: justify;
}

.disc-para strong {
    color: #FFB74D;
}

/* Last Updated Footer Note */
.lu,
.last-updated {
    font-size: 12px;
    color: #9CA3AF;
    text-align: right;
    margin-top: 24px;
    padding-top: 12px;
    border-top: 1px solid #E5E7EB;
    font-style: italic;
}

/* Responsive Overrides */
@media (max-width: 768px) {

    .gb-grid,
    .entity-card .ec-grid,
    .policy-grid,
    .vm-grid,
    .rights-grid,
    .official-box .doc-links,
    .pages-grid,
    .dos-donts,
    .contact-grid,
    .criteria-grid,
    .pledge-sign,
    .doc-cards,
    .sebi-link-box .link-grid,
    .checklist,
    .access-grid,
    .link-grid,
    .contact-row,
    .gro-row {
        grid-template-columns: 1fr;
    }

    .verify-grid,
    .stats-row,
    .steps-grid,
    .step-grid,
    .escalation {
        grid-template-columns: 1fr 1fr;
    }

    .esc-row,
    .esc-level {
        flex-direction: column;
        grid-template-columns: 1fr;
    }
}

