
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

:root {
--text-light: #FFFFFF;
--text-dark: #6b6b6b;
--primary-red: #F50005;
--text-danger: #F50005;
--bg-danger: #F50005;
--light-beige: #EAE1DD;
--bs-nav-tabs-link-active-color: #EAE1DD;
--dark-brown: #321F28;
--dark-purple: #3B0944;
}

/*
@font-face {
    font-family: 'Colgate Ready';
    src: local('Colgate Ready'), local('ColgateReady'),
        url('fonts/ColgateReady.woff2') format('woff2'),
        url('fonts/ColgateReady.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Colgate Ready CY Web ExLight';
    src: local('Colgate Ready CY Web ExLight'), local('ColgateReadyCYWeb-ExLight'),
        url('fonts/ColgateReadyCYWeb-ExLight.woff2') format('woff2'),
        url('fonts/ColgateReadyCYWeb-ExLight.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
*/
body {
background: linear-gradient(140deg, #F50005 40%, #EAE1DD 100%);
background-attachment: fixed;
background-image: url(images/bg.png);
background-size: cover;
background-repeat: no-repeat;
height: auto;
width: 100%;
background-position: bottom center;
font-family: 'Colgate Ready', Tahoma, Geneva, Verdana, sans-serif;
}

.main-container {
border-radius: 20px;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
max-width: 1400px;
margin: 40px auto;
padding: 40px;
backdrop-filter: blur(10px);
}

.header-section {
text-align: center;
margin-bottom: 10px;
}

.header-section h1 {
color: var(--dark-brown);
font-weight: 300;
margin-bottom: 10px;
font-size: 1rem;
}

.header-section p {
color: var(--dark-purple);
font-size: 0.95rem;
font-weight: 200;
font-family: 'Colgate Ready CY Web ExLight', Tahoma, Geneva, Verdana, sans-serif;
}

/* ============================================================================
PINCODE INPUT STYLES
============================================================================ */

.pincode-section {
/* background: linear-gradient(135deg, var(--primary-red) 0%, var(--dark-purple) 100%); */
border-radius: 10px;
padding: 30px 20px;
margin-bottom: 25px;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.pincode-title {
color: var(--text-dark);
font-size: 0.95rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 20px;
text-align: center;
}

.pincode-input-group-x {
display: flex;
gap: 10px;
justify-content: center;
flex-wrap: wrap;
margin-bottom: 20px;
}

.pincode-digit {
width: 50px;
height: 50px;
text-align: center;
font-size: 1.5rem;
font-weight: bold;
border: 2px solid var(--text-dark);
border-radius: 8px;
background: white;
color: var(--dark-brown);
padding: 0;
line-height: 50px;
cursor: text;
outline: none;
transition: all 0.3s ease;
}

.pincode-digit:focus {
border-color: var(--light-beige);
background: var(--light-beige);
box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3);
transform: scale(1.05);
}

.pincode-digit::-webkit-outer-spin-button,
.pincode-digit::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}

.pincode-digit[type=number] {
-moz-appearance: textfield;
}

.pincode-status {
text-align: center;
color: var(--text-dark);
font-size: 0.9rem;
font-weight: 500;
min-height: 20px;
margin-bottom: 15px;
}

.search-btn {
background: white;
border: none;
color: var(--dark-purple);
font-weight: 700;
padding: 12px 35px;
border-radius: 8px;
transition: all 0.3s ease;
cursor: pointer;
display: block;
margin: 0 auto;
font-size: 1rem;
text-transform: uppercase;
letter-spacing: 0.5px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.search-btn:hover:not(:disabled) {
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}

.search-btn:disabled {
background: rgba(255, 255, 255, 0.5);
cursor: not-allowed;
opacity: 0.6;
}

.nav-tabs {
border-bottom: 3px solid var(--primary-red);
margin-bottom: 30px;
gap: 10px;
flex-wrap: wrap;
}

.nav-link {
border: none;
color: var(--dark-brown);
font-weight: 600;
padding: 12px 20px;
border-radius: 8px 8px 0 0;
transition: all 0.3s ease;
background-color: #f0f0f0;
}

.nav-link:hover {
background-color: var(--light-beige);
color: var(--primary-red);
}

.nav-link.active {
background: linear-gradient(135deg, var(--primary-red) 0%, var(--dark-purple) 100%);
color: var(--light-beige) !important;
}

.tab-content {
background: var(--light-beige);
border-radius: 15px;
padding: 30px;
}

/* ============================================================================
HUMAN PICTORIAL STACKED CHART STYLES
============================================================================ */

.human-pictorial-container {
background: white;
border-radius: 12px;
padding: 30px;
box-shadow: 0 4px 12px rgba(245, 0, 5, 0.15);
}

.human-row {
margin-bottom: 35px;
display: flex;
align-items: flex-end;
gap: 20px;
}

.human-label {
font-weight: 600;
color: var(--dark-brown);
min-width: 120px;
font-size: 0.95rem;
text-align: right;
}

.human-figures {
display: flex;
gap: 8px;
align-items: flex-end;
flex: 1;
flex-wrap: wrap;
}

.human-figure {
display: flex;
flex-direction: column;
align-items: center;
cursor: pointer;
transition: all 0.3s ease;
position: relative;
}

.human-figure:hover {
transform: scale(1.15);
}

.human-figure:hover .human-tooltip {
opacity: 1;
visibility: visible;
}

.human-head {
width: 18px;
height: 18px;
border-radius: 50%;
margin-bottom: 2px;
background: linear-gradient(90deg, currentColor 0%, currentColor 55%, transparent 50%, transparent 50%, currentColor 50%, currentColor 100%);
}

.human-body {
width: 12px;
height: 20px;
border-radius: 3px;
margin-bottom: 2px;
background: linear-gradient(90deg, currentColor 0%, currentColor 55%, transparent 50%, transparent 50%, currentColor 50%, currentColor 100%);
}

.human-legs {
width: 12px;
height: 16px;
background: linear-gradient(90deg, currentColor 0%, currentColor 45%, transparent 45%, transparent 55%, currentColor 55%, currentColor 100%);
}


.human-tooltip {
position: absolute;
bottom: 100%;
left: 50%;
transform: translateX(-50%);
background: rgba(0, 0, 0, 0.9);
color: white;
padding: 6px 12px;
border-radius: 6px;
font-size: 0.75rem;
font-weight: 700;
white-space: nowrap;
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
margin-bottom: 8px;
z-index: 10;
}

.human-value {
min-width: 80px;
text-align: right;
font-weight: 700;
color: var(--primary-red);
font-size: 0.95rem;
}

.capsule-badge {
display: inline-block;
color: var(--light-beige);
padding: 10px 18px;
font-size: 0.95rem;
margin-bottom: 20px;
font-weight: 600;
}
.capsule-badge.left{
	border-radius: 25px 0 0 25px;
	background: linear-gradient(90deg, var(--primary-red) 0%, var(--dark-purple) 100%);
	text-align: right;
}
.capsule-badge.right{
	border-radius: 0 25px 25px 0;
	background: linear-gradient(270deg, var(--primary-red) 0%, var(--dark-purple) 100%);
	text-align: left;
	border-left: 1px solid #853d3d;
}

.stats-row {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 15px;
margin-top: 15px;
}

.stat-box {
background: linear-gradient(135deg, var(--primary-red) 0%, var(--dark-purple) 100%);
color: var(--light-beige);
padding: 15px;
border-radius: 12px;
text-align: center;
}

.stat-value { font-size: 1.9rem; font-weight: bold; }
.stat-label { font-size: 0.85rem; opacity: 0.9; margin-top: 5px; }

/* ============================================================================
CHART FOOTER - PERCENTAGE BREAKDOWN STYLES
============================================================================ */

.chart-footer {
margin-top: 20px;
padding: 15px;
background: #f9f9f9;
border-radius: 8px;
border-left: 4px solid var(--primary-red);
}

.chart-footer-title {
font-weight: 700;
color: var(--dark-brown);
font-size: 0.95rem;
margin-bottom: 10px;
text-transform: uppercase;
letter-spacing: 0.5px;
}

.percentage-description {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 12px;
}

.percentage-item {
display: flex;
align-items: center;
gap: 10px;
padding: 8px 12px;
background: white;
border-radius: 6px;
border-left: 3px solid var(--primary-red);
font-size: 0.9rem;
}

.percentage-color-dot {
width: 16px;
height: 16px;
border-radius: 50%;
flex-shrink: 0;
box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.percentage-text {
display: flex;
flex-direction: column;
}

.percentage-label {
font-weight: 600;
color: var(--dark-brown);
font-size: 0.85rem;
}

.percentage-value {
font-weight: 700;
color: var(--primary-red);
font-size: 0.95rem;
}

@media (max-width: 768px) {
.pincode-digit {
width: 40px;
height: 40px;
font-size: 1.2rem;
line-height: 40px;
}

.human-row {
flex-direction: column;
align-items: flex-start;
}

.human-label { min-width: auto; text-align: left; }
.human-figures { width: 100%; }

.percentage-description {
grid-template-columns: 1fr;
}
}


.pincode-input-group {
display: flex;
gap: 5px;  /* Increased gap for up/down buttons on right */
justify-content: center;
flex-wrap: wrap;
margin-bottom: 30px;
padding-top: 20px;  /* Extra padding for buttons */
}

.pincode-spinner {
position: relative;
width: 32px;
height: 40px;
perspective: 1000px;
}

.pincode-spinner-display {
min-width: 32px;
width: 100%;
height: 100%;
background: linear-gradient(135deg, var(--light-beige) 0%, #f5f0eb 100%);
border: 1px solid #c3c3c3;
border-radius: 0;
display: flex;
align-items: center;
justify-content: center;
font-size: 2rem;
font-weight: 900;
color: var(--dark-brown);
cursor: pointer;
user-select: none;
position: relative;
box-shadow: 
inset 0 2px 4px rgba(0,0,0,0.1),
inset 0 -2px 4px rgba(255,255,255,0.5),
0 4px 8px rgba(0,0,0,0.2);
transition: all 0.1s ease;
}

.pincode-spinner-display:active {
transform: scale(0.95);
box-shadow: 
inset 0 2px 4px rgba(0,0,0,0.2),
inset 0 -2px 4px rgba(255,255,255,0.3),
0 2px 4px rgba(0,0,0,0.1);
}

.pincode-spinner-display.flipping {
animation: digitFlip 0.3s ease-in-out;
}

@keyframes digitFlip {
0% {
transform: rotateX(0deg) scale(1);
}
50% {
transform: rotateX(90deg) scale(0.8);
}
100% {
transform: rotateX(0deg) scale(1);
}
}

.spinner-controls {
position: absolute;
left: 0px;
top: 54%;
transform: translateY(-50%);
display: flex;
flex-direction: column;
gap: 34px;
width: 32px;
}

.spinner-btn {
width: 32px;
height: 25px;
background: linear-gradient(135deg, var(--primary-red) 0%, var(--dark-purple) 100%);
border: none;
color: var(--light-beige);
border-radius: 0;
cursor: pointer;
font-weight: 700;
font-size: 0.8rem;
transition: all 0.2s ease;
box-shadow: 0 2px 4px rgba(0,0,0,0.2);
display: flex;
align-items: center;
justify-content: center;
user-select: none;
padding: 0;
}

.spinner-btn:hover {
transform: scale(1.1);
box-shadow: 0 3px 6px rgba(0,0,0,0.3);
}

.spinner-btn:active {
transform: scale(0.95);
}

.spinner-btn-up::before {
content: '▲';
font-size: 0.6rem;
}

.spinner-btn-down::before {
content: '▼';
font-size: 0.6rem;
}

@media (max-width: 768px) {

.main-container {
    border-radius: 20px;
    box-shadow: 0;
    max-width: 600px;
    margin: 5% auto;
    padding: 15px;	
}
	
.spinner-controls {
right: -35px;
}

.spinner-btn {
width: 32px;
height: 18px;
font-size: 0.7rem;
}
}