﻿/* ====================================================================
         Disciplinary & Inquiry page â€” page-specific styles.
         Pattern mirrors payroll.html / attendance.html for cross-page
         consistency. Shared tokens come from assets/css/style.css.
         ==================================================================== */

      .section-title {
        font-size: clamp(1.6rem, 3.2vw, 2.4rem);
        font-weight: 700;
        letter-spacing: -0.01em;
        line-height: 1.2;
        text-wrap: pretty;
      }
      .hero-title {
        font-size: clamp(2rem, 4.6vw, 3.4rem);
      }

      /* Hero infographic */
      .cs-hero-art {
        position: relative;
        padding: 8px;
      }
      .cs-hero-art svg {
        width: 100%;
        height: auto;
        display: block;
        filter: drop-shadow(0 24px 50px rgba(235, 80, 23, 0.14));
      }

      /* ===== Split (image + text) sections ===== */
      .py-split {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 56px;
        align-items: center;
      }
      @media (max-width: 991.98px) {
        .py-split {
          grid-template-columns: 1fr;
          gap: 32px;
        }
      }
      .py-split.is-reverse .py-split-media {
        order: 2;
      }
      @media (max-width: 991.98px) {
        .py-split.is-reverse .py-split-media {
          order: 0;
        }
      }
      .py-split-media {
        position: relative;
        border-radius: 24px;
        overflow: hidden;
        min-height: 500px;
        background: linear-gradient(160deg, #ffe1d2 0%, #fdeee7 55%, #fff6f0 100%);
        border: 1px solid #f0e3da;
        box-shadow: 0 24px 60px rgba(235, 80, 23, 0.1);
      }
      .py-split-media.is-cool {
        background: linear-gradient(160deg, #eaf5c7 0%, #f4fbdc 55%, #fbffe9 100%);
        border-color: #e6efc6;
        box-shadow: 0 24px 60px rgba(154, 171, 29, 0.12);
      }
      .py-split-media::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: repeating-linear-gradient(
          -45deg,
          rgba(235, 80, 23, 0.08) 0 1px,
          transparent 1px 16px
        );
        pointer-events: none;
        z-index: 1;
      }
      .py-split-media.is-cool::before {
        background-image: repeating-linear-gradient(
          -45deg,
          rgba(58, 65, 18, 0.1) 0 1px,
          transparent 1px 16px
        );
      }
      .py-split-media img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        z-index: 2;
      }
      .py-split-media .py-img-tag {
        position: absolute;
        left: 18px;
        bottom: 18px;
        background: rgba(26, 26, 26, 0.86);
        color: #fff;
        font-family: "Courier New", monospace;
        font-size: 0.72rem;
        padding: 7px 13px;
        border-radius: 999px;
        letter-spacing: 0.04em;
        z-index: 3;
        display: inline-flex;
        align-items: center;
        gap: 8px;
      }
      .py-split-media .py-img-tag::before {
        content: "";
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: #ff7849;
      }
      .py-split-media.is-cool .py-img-tag::before {
        background: #cddb37;
      }
      .py-split-media .py-img-caption {
        position: absolute;
        top: 22px;
        left: 22px;
        right: 22px;
        z-index: 2;
        font-family: "Courier New", monospace;
        font-size: 0.78rem;
        letter-spacing: 0.04em;
        color: #6b4133;
        text-transform: uppercase;
      }
      .py-split-media.is-cool .py-img-caption {
        color: #3a4112;
      }
      .py-split-lead {
        color: #4b5563;
        font-size: clamp(0.95rem, 1.2vw, 1.02rem);
        line-height: 1.6;
        margin: 0 0 8px;
      }
      .py-bullets {
        list-style: none;
        padding: 0;
        margin: 22px 0 0;
        display: flex;
        flex-direction: column;
        gap: 18px;
      }
      .py-bullets li {
        display: flex;
        gap: 14px;
        align-items: flex-start;
      }
      .py-bullets .pyb-ico {
        flex-shrink: 0;
        width: 40px;
        height: 40px;
        border-radius: 11px;
        background: #fff1ea;
        color: #eb5017;
        display: grid;
        place-items: center;
        font-size: 1.05rem;
      }
      .py-bullets.is-cool .pyb-ico {
        background: #f1fcc8;
        color: #3a4112;
      }
      .py-bullets h6 {
        margin: 0 0 3px;
        font-weight: 600;
        font-size: 1rem;
        color: #1a1a1a;
        letter-spacing: -0.01em;
        line-height: 1.35;
      }
      .py-bullets p {
        margin: 0;
        font-size: clamp(0.85rem, 1.1vw, 0.92rem);
        line-height: 1.55;
        color: #6b7280;
      }

      /* ===== Features (12 tile grid + show more) ===== */
      .cs-hl2-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 22px;
      }
      @media (max-width: 991.98px) {
        .cs-hl2-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
      }
      @media (max-width: 575.98px) {
        .cs-hl2-grid {
          grid-template-columns: 1fr;
        }
      }
      .cs-hl2-card {
        background: #fff;
        border: 1px solid #f0e3da;
        border-radius: 18px;
        padding: 24px 22px;
        transition: all 0.25s ease;
        display: flex;
        flex-direction: column;
        gap: 10px;
      }
      .cs-hl2-card:hover {
        transform: translateY(-3px);
        border-color: rgba(235, 80, 23, 0.3);
        box-shadow: 0 14px 32px rgba(235, 80, 23, 0.07);
      }
      .cs-hl2-head {
        display: flex;
        align-items: center;
        gap: 12px;
      }
      .cs-hl2-ico {
        flex-shrink: 0;
        width: 42px;
        height: 42px;
        border-radius: 12px;
        display: grid;
        place-items: center;
        font-size: 1.05rem;
        background: #fff1ea;
        color: #eb5017;
      }
      .cs-hl2-card.tone-l .cs-hl2-ico {
        background: #f1fcc8;
        color: #3a4112;
      }
      .cs-hl2-card.tone-g .cs-hl2-ico {
        background: #fff3cd;
        color: #7a5a00;
      }
      .cs-hl2-card h6 {
        margin: 0;
        font-weight: 600;
        font-size: 1rem;
        color: #1a1a1a;
        letter-spacing: -0.01em;
      }
      .cs-hl2-card p {
        margin: 0;
        font-size: clamp(0.84rem, 1.1vw, 0.9rem);
        line-height: 1.55;
        color: #6b7280;
      }
      .cs-hl2-card.is-hidden {
        display: none;
      }
      .cs-hl-more-wrap {
        display: flex;
        justify-content: center;
        margin-top: 28px;
      }
      .cs-hl-more {
        background: #fff;
        border: 1.5px solid #eb5017;
        color: #eb5017;
        font-weight: 700;
        padding: 10px 28px;
        border-radius: 999px;
        font-size: 0.92rem;
        transition: all 0.2s ease;
        display: inline-flex;
        align-items: center;
        gap: 8px;
      }
      .cs-hl-more:hover {
        background: #eb5017;
        color: #fff;
      }
      .cs-hl-more .bi {
        transition: transform 0.25s ease;
      }
      .cs-hl-more.is-open .bi {
        transform: rotate(180deg);
      }

      /* ===== Horizontal Workflow (Primary flow) ===== */
      .dp-flow-wrap {
        background: #fff;
        border: 1px solid #f0e3da;
        border-radius: 22px;
        padding: 30px 24px;
        box-shadow: 0 18px 50px rgba(15, 23, 42, 0.05);
        overflow-x: auto;
      }
      .dp-flow {
        display: grid;
        grid-template-columns: repeat(8, minmax(120px, 1fr));
        gap: 8px;
        align-items: stretch;
        min-width: 880px;
      }
      .dp-flow-node {
        position: relative;
        background: #fbf7f4;
        border: 1px solid #f0e3da;
        border-radius: 14px;
        padding: 18px 14px 16px;
        text-align: center;
        transition: all 0.25s ease;
      }
      .dp-flow-node:hover {
        background: #fff1ea;
        border-color: rgba(235, 80, 23, 0.4);
        transform: translateY(-3px);
      }
      .dp-flow-node.is-start {
        background: #eb5017;
        color: #fff;
        border-color: #eb5017;
      }
      .dp-flow-node.is-end {
        background: #cddb37;
        color: #1a1a1a;
        border-color: #cddb37;
      }
      .dp-flow-node .fn-step {
        font-family: "Poppins", sans-serif;
        font-weight: 800;
        font-size: 0.62rem;
        letter-spacing: 0.1em;
        color: #b9836b;
        margin-bottom: 8px;
      }
      .dp-flow-node.is-start .fn-step {
        color: rgba(255, 255, 255, 0.7);
      }
      .dp-flow-node.is-end .fn-step {
        color: rgba(26, 26, 26, 0.7);
      }
      .dp-flow-node .fn-ico {
        width: 38px;
        height: 38px;
        margin: 0 auto 10px;
        border-radius: 10px;
        background: #fff;
        color: #eb5017;
        display: grid;
        place-items: center;
        font-size: 1.05rem;
      }
      .dp-flow-node.is-start .fn-ico {
        background: rgba(255, 255, 255, 0.18);
        color: #fff;
      }
      .dp-flow-node.is-end .fn-ico {
        background: rgba(26, 26, 26, 0.08);
        color: #1a1a1a;
      }
      .dp-flow-node .fn-title {
        font-weight: 600;
        font-size: 0.86rem;
        line-height: 1.3;
        color: #1a1a1a;
      }
      .dp-flow-node.is-start .fn-title,
      .dp-flow-node.is-end .fn-title {
        color: inherit;
      }
      .dp-flow-arrow {
        align-self: center;
        text-align: center;
        color: #c97a5b;
        font-size: 1.2rem;
        opacity: 0.7;
      }

      /* ===== Lifecycle status pipeline ===== */
      .dp-stage-grid {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 14px;
      }
      @media (max-width: 1199.98px) {
        .dp-stage-grid {
          grid-template-columns: repeat(3, minmax(0, 1fr));
        }
      }
      @media (max-width: 575.98px) {
        .dp-stage-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
      }
      .dp-stage {
        background: #fff;
        border: 1px solid #f0e3da;
        border-radius: 16px;
        padding: 20px 18px;
        position: relative;
        transition: all 0.25s ease;
      }
      .dp-stage:hover {
        transform: translateY(-3px);
        border-color: rgba(235, 80, 23, 0.3);
        box-shadow: 0 14px 28px rgba(235, 80, 23, 0.08);
      }
      .dp-stage .ds-dot {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: #eb5017;
        margin-bottom: 14px;
        box-shadow: 0 0 0 4px rgba(235, 80, 23, 0.15);
      }
      .dp-stage.s-pending .ds-dot {
        background: #c1c8d0;
        box-shadow: 0 0 0 4px rgba(193, 200, 208, 0.25);
      }
      .dp-stage.s-review .ds-dot {
        background: #f0b429;
        box-shadow: 0 0 0 4px rgba(240, 180, 41, 0.22);
      }
      .dp-stage.s-hearing .ds-dot {
        background: #2569d6;
        box-shadow: 0 0 0 4px rgba(37, 105, 214, 0.18);
      }
      .dp-stage.s-decision .ds-dot {
        background: #eb5017;
      }
      .dp-stage.s-appeal .ds-dot {
        background: #9aab1d;
        box-shadow: 0 0 0 4px rgba(154, 171, 29, 0.2);
      }
      .dp-stage.s-closed .ds-dot {
        background: #2e5f15;
        box-shadow: 0 0 0 4px rgba(46, 95, 21, 0.2);
      }
      .dp-stage .ds-label {
        font-size: 0.62rem;
        font-weight: 800;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: #b9836b;
        margin-bottom: 6px;
      }
      .dp-stage h6 {
        font-weight: 600;
        font-size: 0.98rem;
        color: #1a1a1a;
        margin: 0 0 6px;
        letter-spacing: -0.01em;
      }
      .dp-stage p {
        font-size: 0.82rem;
        line-height: 1.5;
        color: #6b7280;
        margin: 0;
      }

      /* ===== Use case cards ===== */
      .py-uc {
        background: #fff;
        border: 1px solid #f0e6df;
        border-radius: 18px;
        padding: 24px 22px;
        height: 100%;
        transition: all 0.25s;
      }
      .py-uc:hover {
        background: #fdeee7;
        border-color: #eb5017;
        transform: translateY(-3px);
      }
      .py-uc .uc-icon {
        width: 46px;
        height: 46px;
        border-radius: 12px;
        background: #fdeee7;
        color: #eb5017;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 1.25rem;
        margin-bottom: 14px;
      }
      .py-uc:hover .uc-icon {
        background: #fff;
      }
      .py-uc h6 {
        font-weight: 600;
        font-size: 1rem;
        color: #1a1a1a;
        margin-bottom: 8px;
        letter-spacing: -0.01em;
      }
      .py-uc p {
        color: #6b7280;
        font-size: clamp(0.84rem, 1.1vw, 0.9rem);
        line-height: 1.55;
        margin: 0;
      }

      /* ===== Comparison table ===== */
      .cs-compare-wrap {
        border: 1px solid #eee;
        border-radius: 22px;
        overflow: hidden;
        background: #fff;
        box-shadow: 0 14px 40px rgba(15, 23, 42, 0.04);
      }
      .cs-compare-table {
        width: 100%;
        border-collapse: collapse;
        background: #fff;
        font-size: clamp(0.85rem, 1.1vw, 0.95rem);
      }
      .cs-compare-table th,
      .cs-compare-table td {
        padding: 16px 18px;
        text-align: left;
        vertical-align: middle;
        border-bottom: 1px solid #f1f1f1;
      }
      .cs-compare-table thead th {
        background: #fafafa;
        font-weight: 700;
        color: #1a1a1a;
        font-size: 0.78rem;
        text-transform: uppercase;
        letter-spacing: 0.06em;
      }
      .cs-compare-table thead th.cs-col-trackk {
        background: #eb5017;
        color: #fff;
        position: relative;
      }
      .cs-compare-table thead th.cs-col-trackk::before {
        content: "RECOMMENDED";
        position: absolute;
        top: 16px;
        right: 65px;
        font-size: 0.6rem;
        background: #f1fcc8;
        color: #1a1a1a;
        padding: 3px 8px;
        border-radius: 999px;
        letter-spacing: 0.08em;
        font-weight: 700;
      }
      .cs-compare-table tbody tr:last-child td {
        border-bottom: 0;
      }
      .cs-compare-table td.cs-feature {
        font-weight: 600;
        color: #1a1a1a;
        width: 34%;
      }
      .cs-compare-table td.cs-trackk {
        background: rgba(235, 80, 23, 0.04);
        color: #1a1a1a;
        font-weight: 600;
      }
      .cs-cell-tick {
        color: #2a8f3f;
        font-weight: 500;
        display: inline-flex;
        align-items: center;
        gap: 6px;
      }
      .cs-cell-cross {
        color: #b3261e;
        font-weight: 500;
        display: inline-flex;
        align-items: center;
        gap: 6px;
      }
      @media (max-width: 767.98px) {
        .cs-compare-table th,
        .cs-compare-table td {
          padding: 12px 10px;
          font-size: 0.82rem;
        }
        .cs-compare-table thead th.cs-col-trackk::before {
          display: none;
        }
      }
