/* ============================================================
   ENTRIES IGNITE — SERVICE PAGES SHARED DESIGN SYSTEM
   Primary: #2e36fd | Secondary: #f18911 | Dark: #202e54
   Header font: Poppins | Body font: Inter
   ============================================================ */

/* GST DASHBOARD MOCKUP */
.gst-dash {
   background: #fff;
   border: 1px solid var(--border);
   border-radius: var(--r20);
   box-shadow: var(--shadow-lg);
   overflow: hidden;
}

.gd-head {
   background: var(--D);
   padding: 13px 18px;
   display: flex;
   align-items: center;
   justify-content: space-between;
}

.gd-dots {
   display: flex;
   gap: 5px;
}

.gd-dot {
   width: 9px;
   height: 9px;
   border-radius: 50%;
}

.gd-lbl {
   font-size: 11px;
   color: rgba(255, 255, 255, .4);
}

.gd-body {
   padding: 18px;
}

/* GST summary metrics */
.gst-summary {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 10px;
   margin-bottom: 16px;
}

.gs-stat {
   background: var(--g50);
   border: 1px solid var(--border);
   border-radius: var(--r12);
   padding: 12px 14px;
}

.gss-label {
   font-size: 9.5px;
   color: var(--ink60);
   text-transform: uppercase;
   letter-spacing: .3px;
   margin-bottom: 4px;
}

.gss-val {
   font-family: 'Poppins', sans-serif;
   font-size: 16px;
   font-weight: 600;
   color: var(--ink);
   line-height: 1;
}

.gss-sub {
   font-size: 9px;
   margin-top: 3px;
}

/* Return filing rows */
.gst-row {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 11px 14px;
   border: 1px solid var(--border);
   border-radius: var(--r12);
   margin-bottom: 9px;
   background: #fff;
   transition: box-shadow .2s;
   justify-content: space-between;
}

.gst-row:hover {
   box-shadow: var(--sh-sm);
}

.gr-form {
   font-family: 'Poppins', sans-serif;
   font-size: 13.5px;
   font-weight: 600;
   color: var(--ink);
   min-width: 68px;
   max-width: 100px;
}

.gr-desc {
   font-size: 12px;
   color: var(--ink60);
   flex: 1;
   max-width: 200px;
}

.gr-period {
   font-size: 11px;
   color: var(--ink30);
   white-space: nowrap;
}

.gr-pill {
   font-size: 10px;
   font-weight: 600;
   padding: 2px 10px;
   border-radius: var(--r99);
   white-space: nowrap;
}

.gp-g {
   background: rgba(22, 163, 74, .1);
   color: #16a34a;
}

.gp-a {
   background: rgba(241, 137, 17, .1);
   color: #b45309;
}

.gp-b {
   background: rgba(46, 54, 253, .1);
   color: var(--P);
}

.gp-r {
   background: rgba(220, 38, 38, .1);
   color: #dc2626;
}

/* ITC reconciliation mini view */
.itc-card {
   background: var(--g50);
   border: 1px solid var(--border);
   border-radius: var(--r12);
   padding: 14px 16px;
   margin-top: 12px;
}

.itc-title {
   font-size: 11px;
   font-weight: 600;
   color: var(--ink30);
   text-transform: uppercase;
   letter-spacing: .7px;
   margin-bottom: 10px;
}

.itc-row {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-bottom: 6px;
}

.itc-row:last-child {
   margin-bottom: 0;
}

.itc-label {
   font-size: 12px;
   color: var(--ink60);
}

.itc-val {
   font-family: 'Poppins', sans-serif;
   font-size: 12.5px;
   font-weight: 600;
}

.itc-bar {
   height: 4px;
   background: #e9eaf0;
   border-radius: 2px;
   overflow: hidden;
   margin-top: 3px;
}

.itc-fill {
   height: 100%;
   border-radius: 2px;
}

.ai-n {
   background: linear-gradient(135deg, rgba(46, 54, 253, .06), rgba(91, 99, 255, .03));
   border: 1px solid rgba(46, 54, 253, .12);
   border-radius: var(--r12);
   padding: 11px 14px;
   margin-top: 12px;
   display: flex;
   align-items: flex-start;
   gap: 10px;
}

.ai-n i {
   color: var(--P);
   font-size: 17px;
   flex-shrink: 0;
   margin-top: 2px;
}

.ai-n strong {
   font-size: 12px;
   color: var(--ink);
   display: block;
   margin-bottom: 2px;
}

.ai-n span {
   font-size: 11px;
   color: var(--ink60);
}


/* RETURN CALENDAR SECTION */
.cal-sec {
   background: #fff;
}

/* Return filing table */
.ret-table {
   background: #fff;
   border: 1px solid var(--border);
   border-radius: var(--r16);
   overflow: hidden;
}

.rt-head {
   display: grid;
   grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
   padding: 12px 20px;
   background: var(--surface);
   border-bottom: 1px solid var(--border);
   font-size: 11px;
   font-weight: 600;
   color: var(--ink30);
   text-transform: uppercase;
   letter-spacing: .7px;
}

.rt-row {
   display: grid;
   grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
   padding: 16px 20px;
   border-bottom: 1px solid var(--border);
   align-items: center;
}

.rt-row:last-child {
   border-bottom: none;
}

.rtr-form {
   font-family: 'Poppins', sans-serif;
   font-size: 14px;
   font-weight: 600;
   color: var(--ink);
}

.rtr-sub {
   font-size: 11px;
   color: var(--ink30);
}

.rtr-cell {
   font-size: 13px;
   color: var(--ink60);
}

.rtr-pill {
   display: inline-block;
   font-size: 10.5px;
   font-weight: 600;
   padding: 3px 11px;
   border-radius: var(--r99);
}

@media(max-width:767px) {

   .rt-head,
   .rt-row {
      grid-template-columns: 1.5fr 1fr 1fr;
   }

   .rt-head span:nth-child(n+4),
   .rt-row div:nth-child(n+4) {
      display: none;
   }
}

/* RECONCILIATION EXPLAINER */
.recon-sec {
   background: var(--white);
}

.recon-card {
   background: #fff;
   border: 1px solid var(--border);
   border-radius: var(--r16);
   padding: 28px;
   height: 100%;
   transition: all .25s;
   position: relative;
   overflow: hidden;
}

.recon-card::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   height: 3px;
   transform: scaleX(0);
   transform-origin: left;
   transition: transform .3s;
}

.recon-card:hover {
   box-shadow: var(--sh-md);
   transform: translateY(-3px);
}

.recon-card:hover::before {
   transform: scaleX(1);
}

.rc-step {
   display: flex;
   align-items: flex-start;
   gap: 14px;
   padding: 14px 0;
   border-bottom: 1px solid var(--border);
}

.rc-step:last-child {
   border-bottom: none;
}

.rc-num {
   width: 28px;
   height: 28px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   font-family: 'Poppins', sans-serif;
   font-size: 14px;
   font-weight: 600;
   color: #fff;
   flex-shrink: 0;
   margin-top: 2px;
}

.rc-info strong {
   font-size: 16px;
   font-weight: 600;
   color: var(--dark);
   display: block;
   margin-bottom: 3px;
}

.rc-info span {
   font-size: 13.5px;
   color: var(--ink60);
   line-height: 1.55;
}

/* GST AI PLATFORM */
.platform-dark {
   background: linear-gradient(135deg, var(--dark2) 0%, #1a2450 100%);
   position: relative;
   overflow: hidden;
}

.platform-dark::before {
   content: '';
   position: absolute;
   inset: 0;
   background: radial-gradient(circle at 80% 50%, rgba(217, 119, 6, .2) 0%, transparent 55%), radial-gradient(circle at 10% 80%, rgba(46, 54, 253, .25) 0%, transparent 50%);
}

.platform-dark::after {
   content: '';
   position: absolute;
   inset: 0;
   background-image: linear-gradient(rgba(255, 255, 255, .03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .03) 1px, transparent 1px);
   background-size: 36px 36px;
}

.pd-inner {
   position: relative;
   z-index: 1;
}

.pd-pill {
   display: inline-flex;
   align-items: center;
   gap: 7px;
   background: rgba(255, 255, 255, .1);
   border: 1px solid rgba(255, 255, 255, .15);
   border-radius: var(--r99);
   padding: 6px 16px;
   font-size: 12px;
   font-weight: 600;
   color: rgba(255, 255, 255, .85);
   margin-bottom: 20px;
}

.pd-h {
   font-family: 'Poppins', sans-serif;
   font-size: clamp(26px, 3.5vw, 42px);
   font-weight: 600;
   color: #fff;
   line-height: 1.1;
   letter-spacing: -.5px;
   margin-bottom: 16px;
}

.pd-h span {
   color: var(--S);
}

.pd-sub {
   font-size: 16px;
   color: rgba(255, 255, 255, .6);
   line-height: 1.75;
   max-width: 480px;
   margin-bottom: 32px;
}

.pd-features {
   display: flex;
   flex-direction: column;
   gap: 14px;
}

.pd-feat {
   display: flex;
   align-items: flex-start;
   gap: 12px;
   background: rgba(255, 255, 255, .06);
   border: 1px solid rgba(255, 255, 255, .1);
   border-radius: var(--r12);
   padding: 14px 16px;
}

.pdf-ico {
   width: 36px;
   height: 36px;
   border-radius: var(--r8);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 18px;
   flex-shrink: 0;
   background: rgba(255, 255, 255, .08);
}

.pdf-title {
   font-size: 16px;
   font-weight: 600;
   color: #fff;
   display: block;
   margin-bottom: 3px;
}

.pdf-desc {
   font-size: 13.5px;
   color: rgba(255, 255, 255, .55);
   line-height: 1.5;
}

/* GST compliance right card */
.gst-live {
   background: rgba(255, 255, 255, .06);
   border: 1px solid rgba(255, 255, 255, .12);
   border-radius: var(--r16);
   padding: 22px;
   backdrop-filter: blur(10px);
}

.gl-title {
   font-size: 11px;
   color: rgba(255, 255, 255, .35);
   text-transform: uppercase;
   letter-spacing: 1px;
   margin-bottom: 16px;
}

.gl-row {
   display: flex;
   align-items: center;
   gap: 10px;
   background: rgba(255, 255, 255, .06);
   border: 1px solid rgba(255, 255, 255, .08);
   border-radius: var(--r12);
   padding: 12px 14px;
   margin-bottom: 8px;
}

.gl-row:last-child {
   margin-bottom: 0;
}

.gl-ico {
   width: 32px;
   height: 32px;
   border-radius: 7px;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 15px;
   flex-shrink: 0;
}

.gl-label {
   font-size: 12.5px;
   font-weight: 600;
   color: rgba(255, 255, 255, .8);
   flex: 1;
}

.gl-pill {
   font-size: 10px;
   font-weight: 600;
   padding: 2px 9px;
   border-radius: var(--r99);
}

.glp-g {
   background: rgba(22, 163, 74, .15);
   color: #4ade80;
}

.glp-a {
   background: rgba(241, 137, 17, .15);
   color: #fbbf24;
}

.glp-b {
   background: rgba(46, 54, 253, .2);
   color: #a5b4fc;
}