* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, sans-serif;
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 50%, #a5d6a7 100%);
    color: #2e7d32;
    line-height: 1.6;
    min-height: 100vh;
    position: relative;
    overflow-x: hidden;
}

body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('data:image/svg+xml,%3Csvg width="100%25" height="100%25" xmlns="http://www.w3.org/2000/svg"%3E%3Cdefs%3E%3Cpattern id="nature3D" patternUnits="userSpaceOnUse" width="600" height="600"%3E%3C%21-- 3D Tree 1 --%3E%3Cpath d="M100,500 L100,400 L80,400 L80,500 Z" fill="%23654321" opacity="0.6"/%3E%3Cpath d="M90,400 Q50,350 90,300 Q130,350 90,400" fill="%23228B22" opacity="0.5"/%3E%3Cpath d="M90,350 Q40,300 90,250 Q140,300 90,350" fill="%2332CD32" opacity="0.5"/%3E%3Cpath d="M90,300 Q60,280 90,260 Q120,280 90,300" fill="%2339C639" opacity="0.4"/%3E%3C%21-- 3D Tree 2 --%3E%3Cpath d="M300,500 L300,380 L280,380 L280,500 Z" fill="%23654321" opacity="0.6"/%3E%3Cpath d="M290,380 Q240,320 290,260 Q340,320 290,380" fill="%23228B22" opacity="0.5"/%3E%3Cpath d="M290,320 Q220,250 290,180 Q360,250 290,320" fill="%2332CD32" opacity="0.5"/%3E%3Cpath d="M290,260 Q250,230 290,200 Q330,230 290,260" fill="%2339C639" opacity="0.4"/%3E%3C%21-- 3D Tree 3 --%3E%3Cpath d="M500,500 L500,420 L480,420 L480,500 Z" fill="%23654321" opacity="0.6"/%3E%3Cpath d="M490,420 Q440,360 490,300 Q540,360 490,420" fill="%23228B22" opacity="0.5"/%3E%3Cpath d="M490,360 Q420,290 490,220 Q560,290 490,360" fill="%2332CD32" opacity="0.5"/%3E%3Cpath d="M490,300 Q450,270 490,240 Q530,270 490,300" fill="%2339C639" opacity="0.4"/%3E%3C%21-- Grass --%3E%3Cpath d="M0,500 Q150,480 300,500 T600,500 L600,600 L0,600 Z" fill="%23228B22" opacity="0.3"/%3E%3C%21-- Clouds --%3E%3Cellipse cx="150" cy="100" rx="60" ry="30" fill="%23ffffff" opacity="0.3"/%3E%3Cellipse cx="450" cy="80" rx="70" ry="35" fill="%23ffffff" opacity="0.3"/%3E%3C%21-- Sun --%3E%3Ccircle cx="550" cy="120" r="40" fill="%23FFD700" opacity="0.2"/%3E%3C/pattern%3E%3C/defs%3E%3Crect width="100%25" height="100%25" fill="url(%23nature3D)"/%3E%3C/svg%3E');
    background-size: 600px 600px;
    background-position: center;
    background-repeat: repeat;
    opacity: 0.4;
    z-index: 0;
    pointer-events: none;
}

.container {
    max-width: 100%;
    margin: 0;
    padding: 0;
}

.input-section {
    width: 100%;
    min-height: 100vh;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    position: relative;
    z-index: 1;
}

header {
    background: rgba(0, 100, 0, 0.7); /* Dark blue with transparency */
    color: white;
    padding: 30px;
    text-align: center;
    border-bottom: 3px solid rgba(0, 80, 0, 0.8);
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('data:image/svg+xml,%3Csvg width="100%25" height="100%25" xmlns="http://www.w3.org/2000/svg"%3E%3Cdefs%3E%3Cpattern id="greenNature" patternUnits="userSpaceOnUse" width="400" height="400"%3E%3C%21-- Tree trunks --%3E%3Crect x="80" y="250" width="25" height="150" fill="%23006400" opacity="0.4"/%3E%3Crect x="280" y="220" width="20" height="180" fill="%23006400" opacity="0.4"/%3E%3Crect x="180" y="280" width="18" height="120" fill="%23006400" opacity="0.4"/%3E%3C%21-- Large leaf clusters --%3E%3Ccircle cx="92" cy="200" r="60" fill="%23228B22" opacity="0.3"/%3E%3Ccircle cx="290" cy="170" r="70" fill="%23228B22" opacity="0.3"/%3E%3Ccircle cx="189" cy="250" r="55" fill="%23228B22" opacity="0.3"/%3E%3C%21-- Medium leaves --%3E%3Cellipse cx="50" cy="180" rx="20" ry="35" fill="%2332CD32" opacity="0.25" transform="rotate(-25 50 180)"/%3E%3Cellipse cx="350" cy="150" rx="22" ry="38" fill="%2332CD32" opacity="0.25" transform="rotate(35 350 150)"/%3E%3Cellipse cx="120" cy="140" rx="18" ry="30" fill="%2332CD32" opacity="0.25" transform="rotate(-40 120 140)"/%3E%3Cellipse cx="250" cy="120" rx="18" ry="30" fill="%2332CD32" opacity="0.25" transform="rotate(50 250 120)"/%3E%3C%21-- Small leaves --%3E%3Cpath d="M60,220 Q70,200 80,220 Q70,210 60,220" fill="%23228B22" opacity="0.3"/%3E%3Cpath d="M320,190 Q330,170 340,190 Q330,180 320,190" fill="%23228B22" opacity="0.3"/%3E%3Cpath d="M150,240 Q160,220 170,240 Q160,230 150,240" fill="%23228B22" opacity="0.3"/%3E%3Cpath d="M200,100 Q210,80 220,100 Q210,90 200,100" fill="%2332CD32" opacity="0.25"/%3E%3Cpath d="M100,100 Q110,80 120,100 Q110,90 100,100" fill="%2332CD32" opacity="0.25"/%3E%3C%21-- Branches --%3E%3Cline x1="92" y1="200" x2="50" y2="180" stroke="%23006400" stroke-width="3" opacity="0.3"/%3E%3Cline x1="92" y1="200" x2="120" y2="140" stroke="%23006400" stroke-width="3" opacity="0.3"/%3E%3Cline x1="290" y1="170" x2="350" y2="150" stroke="%23006400" stroke-width="3" opacity="0.3"/%3E%3Cline x1="290" y1="170" x2="250" y2="120" stroke="%23006400" stroke-width="3" opacity="0.3"/%3E%3C/pattern%3E%3C/defs%3E%3Crect width="100%25" height="100%25" fill="url(%23greenNature)"/%3E%3C/svg%3E');
    background-size: 400px 400px;
    background-position: center;
    background-repeat: repeat;
    opacity: 0.6;
    z-index: 0;
}

header > * {
    position: relative;
    z-index: 1;
}

.logo-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    flex: 1;
}

.nin-logo {
    flex-shrink: 0;
}

.logo-circle {
    width: 160px;
    height: 100px;
    background: white;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url('logo.jpg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.logo-text {
    display: none;
}

.header-content {
    text-align: left;
}

header h1 {
    font-size: 2.2rem;
    margin-bottom: 8px;
    color: white;
    font-weight: bold;
}

.ministry-info {
    font-size: 1.1rem;
    color: #e0e0e0;
    margin-bottom: 5px;
}

.system-title {
    font-size: 1rem;
    color: #d0d0d0;
    font-style: italic;
}

.form-container {
    padding: 30px;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.form-container h2 {
    color: #1b5e20;
    margin-bottom: 30px;
    font-size: 1.8rem;
    text-align: center;
    border-bottom: 3px solid rgba(76, 175, 80, 0.5);
    padding-bottom: 15px;
    text-shadow: 0 2px 4px rgba(255, 255, 255, 0.8);
    background: linear-gradient(90deg, transparent, rgba(76, 175, 80, 0.1), transparent);
    padding: 15px;
    border-radius: 8px;
}

.form-section {
    background: rgba(255, 255, 255, 0.9);
    padding: 25px;
    margin-bottom: 25px;
    border-radius: 12px;
    border: 2px solid rgba(46, 125, 50, 0.3);
    box-shadow: 0 4px 15px rgba(46, 125, 50, 0.1);
    backdrop-filter: blur(5px);
    position: relative;
    overflow: hidden;
}

.form-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #4CAF50 0%, #66BB6A 50%, #4CAF50 100%);
    opacity: 0.6;
}

.form-section h3 {
    color: #2e7d32;
    margin-bottom: 20px;
    font-size: 1.2rem;
    text-align: center;
    border-bottom: 2px solid rgba(76, 175, 80, 0.4);
    padding-bottom: 10px;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.form-group {
    display: flex;
    flex-direction: column;
}

.form-group label {
    font-weight: bold;
    color: #2e7d32;
    margin-bottom: 8px;
    font-size: 0.95rem;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
}

.form-group input,
.form-group select {
    padding: 12px 15px;
    border: 2px solid rgba(46, 125, 50, 0.3);
    border-radius: 8px;
    font-size: 14px;
    transition: all 0.3s ease;
    background: rgba(255, 255, 255, 0.95);
    color: #1b5e20;
    box-shadow: inset 0 2px 4px rgba(46, 125, 50, 0.1);
}

.form-group input:hover,
.form-group select:hover {
    border-color: rgba(46, 125, 50, 0.5);
    box-shadow: 0 2px 8px rgba(76, 175, 80, 0.2);
}

.form-group input:focus,
.form-group select:focus {
    outline: none;
    border-color: #4CAF50;
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.2), 0 2px 8px rgba(76, 175, 80, 0.3);
    background: rgba(255, 255, 255, 1);
}

.form-actions {
    text-align: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 2px solid #e0e0e0;
}

.btn-primary,
.btn-secondary,
.btn-sample {
    padding: 12px 25px;
    margin: 0 10px;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-primary {
    background: linear-gradient(135deg, #4CAF50 0%, #66BB6A 100%);
    color: white;
    box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.btn-primary:hover {
    background: linear-gradient(135deg, #45a049 0%, #5cb660 100%);
    box-shadow: 0 6px 20px rgba(76, 175, 80, 0.4);
    transform: translateY(-2px);
}

.btn-secondary {
    background: #6c757d;
    color: white;
}

.btn-secondary:hover {
    background: #5a6268;
}

.btn-sample {
    background: linear-gradient(135deg, #66BB6A 0%, #81C784 100%);
    color: white;
    box-shadow: 0 4px 15px rgba(102, 187, 106, 0.3);
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.btn-sample:hover {
    background: linear-gradient(135deg, #5cb660 0%, #66BB6A 100%);
    box-shadow: 0 6px 20px rgba(102, 187, 106, 0.4);
    transform: translateY(-2px);
}

.salary-slip-section {
    width: 100%;
    min-height: 100vh;
    background: white;
    position: relative;
}

.salary-slip-section.hidden {
    display: none;
}

.slip-controls {
    background: #2c5aa0;
    padding: 15px 30px;
    display: flex;
    gap: 15px;
    align-items: center;
    border-bottom: 3px solid #1e3a8a;
}

.btn-back,
.btn-clear,
.btn-print {
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.btn-back {
    background: #6c757d;
    color: white;
}

.btn-back:hover {
    background: #5a6268;
}

.btn-clear {
    background: #dc3545;
    color: white;
}

.btn-clear:hover {
    background: #c82333;
}

.btn-print {
    background: #28a745;
    color: white;
}

.btn-print:hover {
    background: #218838;
}

.slip-content {
    padding: 30px;
    max-width: 100%;
    margin: 0 auto;
    background: white;
    position: relative;
}

.slip-content::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='nin-watermark' patternUnits='userSpaceOnUse' width='300' height='300'%3E%3Ccircle cx='150' cy='150' r='40' fill='%23f0f0f0' opacity='0.3'/%3E%3Ctext x='150' y='150' font-family='Arial' font-size='24' font-weight='bold' fill='%23e0e0e0' text-anchor='middle' dominant-baseline='middle' opacity='0.5' transform='rotate(-45 150 150)'%3ENIN%3C/text%3E%3C/pattern%3E%3C/defs%3E%3Crect width='100%25' height='100%25' fill='url(%23nin-watermark)'/%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 1;
}

.slip-header {
    text-align: center;
    margin-bottom: 30px;
    border-bottom: 3px solid #2c5aa0;
    padding-bottom: 20px;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
}

.slip-logo {
    flex-shrink: 0;
}

.nin-logo-pdf {
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo-circle-pdf {
    width: 140px;
    height: 80px;
    background: white;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url('logo.jpg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.logo-text-pdf {
    display: none;
}

.slip-title-section {
    text-align: left;
}

.slip-header h2 {
    color: #2c5aa0;
    font-size: 1.4rem;
    margin-bottom: 8px;
    font-weight: bold;
}

.slip-header p {
    color: #666;
    font-size: 0.9rem;
    margin-bottom: 10px;
}

.slip-header h3 {
    color: #333;
    font-size: 1.1rem;
    font-weight: bold;
}

.employee-info {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    margin-bottom: 30px;
    background: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    position: relative;
    z-index: 2;
}

.info-item {
    display: flex;
    flex-direction: column;
}

.info-item .label {
    font-weight: bold;
    color: #2c5aa0;
    font-size: 0.9rem;
    margin-bottom: 5px;
}

.info-item span:not(.label) {
    color: #333;
    font-size: 0.9rem;
}

.salary-sections {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 30px;
    position: relative;
    z-index: 2;
}

.earnings-section,
.deductions-section {
    background: white;
    border-radius: 8px;
    padding: 20px;
    border: 1px solid #e0e0e0;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.earnings-section h3,
.deductions-section h3 {
    text-align: center;
    font-size: 1rem;
    font-weight: bold;
    color: #2c5aa0;
    margin-bottom: 15px;
    padding: 10px;
    background: #e8f4fd;
    border-radius: 5px;
}

.salary-table {
    width: 100%;
    border-collapse: collapse;
}

.salary-table td {
    padding: 8px 12px;
    border-bottom: 1px solid #e0e0e0;
    font-size: 0.9rem;
}

.salary-table tr:nth-child(even) {
    background: #f8f9fa;
}

.total-row {
    background: #e8f4fd !important;
    font-weight: bold;
    border-top: 2px solid #2c5aa0;
}

.net-pay-section {
    background: #e8f5e8;
    border: 2px solid #28a745;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    text-align: center;
    position: relative;
    z-index: 2;
}

.net-pay-amount {
    font-size: 1.5rem;
    font-weight: bold;
    color: #28a745;
    margin-bottom: 10px;
}

.net-pay-words {
    font-style: italic;
    color: #28a745;
    font-weight: bold;
    font-size: 0.9rem;
}

.slip-footer {
    text-align: center;
    margin-top: 30px;
    padding: 20px;
    background: #fff3cd;
    border-radius: 8px;
    border: 1px solid #ffeaa7;
    position: relative;
    z-index: 2;
}

.slip-footer p {
    color: #856404;
    font-weight: bold;
    font-size: 1rem;
}

@media (max-width: 768px) {
    .form-grid {
        grid-template-columns: 1fr;
    }
    
    .employee-info {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .salary-sections {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .slip-header {
        flex-direction: column;
        gap: 15px;
    }
    
    .slip-controls {
        flex-wrap: wrap;
        gap: 10px;
    }
    
    .btn-back,
    .btn-clear,
    .btn-print {
        flex: 1;
        min-width: 100px;
    }
}

/* Login Page Styles */
.main-header {
    background: rgba(0, 100, 0, 0.7); /* Dark green with transparency */
    color: white;
    padding: 30px;
    text-align: center;
    border-bottom: 3px solid rgba(0, 80, 0, 0.8);
    position: relative;
    overflow: hidden;
}

.main-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('data:image/svg+xml,%3Csvg width="100%25" height="100%25" xmlns="http://www.w3.org/2000/svg"%3E%3Cdefs%3E%3Cpattern id="greenNature" patternUnits="userSpaceOnUse" width="400" height="400"%3E%3C%21-- Tree trunks --%3E%3Crect x="80" y="250" width="25" height="150" fill="%23006400" opacity="0.4"/%3E%3Crect x="280" y="220" width="20" height="180" fill="%23006400" opacity="0.4"/%3E%3Crect x="180" y="280" width="18" height="120" fill="%23006400" opacity="0.4"/%3E%3C%21-- Large leaf clusters --%3E%3Ccircle cx="92" cy="200" r="60" fill="%23228B22" opacity="0.3"/%3E%3Ccircle cx="290" cy="170" r="70" fill="%23228B22" opacity="0.3"/%3E%3Ccircle cx="189" cy="250" r="55" fill="%23228B22" opacity="0.3"/%3E%3C%21-- Medium leaves --%3E%3Cellipse cx="50" cy="180" rx="20" ry="35" fill="%2332CD32" opacity="0.25" transform="rotate(-25 50 180)"/%3E%3Cellipse cx="350" cy="150" rx="22" ry="38" fill="%2332CD32" opacity="0.25" transform="rotate(35 350 150)"/%3E%3Cellipse cx="120" cy="140" rx="18" ry="30" fill="%2332CD32" opacity="0.25" transform="rotate(-40 120 140)"/%3E%3Cellipse cx="250" cy="120" rx="18" ry="30" fill="%2332CD32" opacity="0.25" transform="rotate(50 250 120)"/%3E%3C%21-- Small leaves --%3E%3Cpath d="M60,220 Q70,200 80,220 Q70,210 60,220" fill="%23228B22" opacity="0.3"/%3E%3Cpath d="M320,190 Q330,170 340,190 Q330,180 320,190" fill="%23228B22" opacity="0.3"/%3E%3Cpath d="M150,240 Q160,220 170,240 Q160,230 150,240" fill="%23228B22" opacity="0.3"/%3E%3Cpath d="M200,100 Q210,80 220,100 Q210,90 200,100" fill="%2332CD32" opacity="0.25"/%3E%3Cpath d="M100,100 Q110,80 120,100 Q110,90 100,100" fill="%2332CD32" opacity="0.25"/%3E%3C%21-- Branches --%3E%3Cline x1="92" y1="200" x2="50" y2="180" stroke="%23006400" stroke-width="3" opacity="0.3"/%3E%3Cline x1="92" y1="200" x2="120" y2="140" stroke="%23006400" stroke-width="3" opacity="0.3"/%3E%3Cline x1="290" y1="170" x2="350" y2="150" stroke="%23006400" stroke-width="3" opacity="0.3"/%3E%3Cline x1="290" y1="170" x2="250" y2="120" stroke="%23006400" stroke-width="3" opacity="0.3"/%3E%3C/pattern%3E%3C/defs%3E%3Crect width="100%25" height="100%25" fill="url(%23greenNature)"/%3E%3C/svg%3E');
    background-size: 400px 400px;
    background-position: center;
    background-repeat: repeat;
    opacity: 0.6;
    z-index: 0;
}

.main-header > * {
    position: relative;
    z-index: 1;
}

.login-main {
    min-height: calc(100vh - 200px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    background: linear-gradient(135deg, #c8e6c9 0%, #a5d6a7 50%, #81c784 100%);
    position: relative;
    overflow: hidden;
}

.login-main::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('data:image/svg+xml,%3Csvg width="100%25" height="100%25" xmlns="http://www.w3.org/2000/svg"%3E%3Cdefs%3E%3Cpattern id="loginNature" patternUnits="userSpaceOnUse" width="500" height="500"%3E%3C%21-- 3D Trees --%3E%3Cpath d="M80,500 L80,400 L60,400 L60,500 Z" fill="%23654321" opacity="0.5"/%3E%3Cpath d="M70,400 Q30,350 70,300 Q110,350 70,400" fill="%23228B22" opacity="0.4"/%3E%3Cpath d="M70,350 Q20,300 70,250 Q120,300 70,350" fill="%2332CD32" opacity="0.4"/%3E%3Cpath d="M250,500 L250,380 L230,380 L230,500 Z" fill="%23654321" opacity="0.5"/%3E%3Cpath d="M240,380 Q190,320 240,260 Q290,320 240,380" fill="%23228B22" opacity="0.4"/%3E%3Cpath d="M240,320 Q170,250 240,180 Q310,250 240,320" fill="%2332CD32" opacity="0.4"/%3E%3Cpath d="M420,500 L420,420 L400,420 L400,500 Z" fill="%23654321" opacity="0.5"/%3E%3Cpath d="M410,420 Q360,360 410,300 Q460,360 410,420" fill="%23228B22" opacity="0.4"/%3E%3Cpath d="M410,360 Q340,290 410,220 Q480,290 410,360" fill="%2332CD32" opacity="0.4"/%3E%3C%21-- Leaves floating --%3E%3Cellipse cx="150" cy="200" rx="15" ry="25" fill="%2332CD32" opacity="0.3" transform="rotate(-25 150 200)"/%3E%3Cellipse cx="350" cy="180" rx="18" ry="28" fill="%23228B22" opacity="0.3" transform="rotate(35 350 180)"/%3E%3C/pattern%3E%3C/defs%3E%3Crect width="100%25" height="100%25" fill="url(%23loginNature)"/%3E%3C/svg%3E');
    background-size: 500px 500px;
    background-position: center;
    background-repeat: repeat;
    opacity: 0.3;
    z-index: 0;
}

.login-container {
    width: 100%;
    max-width: 450px;
}

.login-card {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(46, 125, 50, 0.3);
    backdrop-filter: blur(10px);
    border: 2px solid rgba(76, 175, 80, 0.3);
    position: relative;
    z-index: 1;
}

.login-card h2 {
    color: #1b5e20;
    text-align: center;
    margin-bottom: 10px;
    font-size: 2rem;
    text-shadow: 0 2px 4px rgba(255, 255, 255, 0.8);
}

.login-subtitle {
    text-align: center;
    color: #666;
    margin-bottom: 30px;
    font-size: 0.95rem;
}

.login-form {
    margin-bottom: 25px;
}

.login-form .form-group {
    margin-bottom: 20px;
}

.login-form .form-group label {
    display: block;
    margin-bottom: 8px;
    color: #2e7d32;
    font-weight: 600;
    font-size: 0.9rem;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
}

.login-form input[type="text"],
.login-form input[type="password"] {
    width: 100%;
    padding: 14px;
    border: 2px solid rgba(46, 125, 50, 0.3);
    border-radius: 8px;
    font-size: 15px;
    transition: all 0.3s ease;
    background: rgba(255, 255, 255, 0.95);
    color: #1b5e20;
    box-shadow: inset 0 2px 4px rgba(46, 125, 50, 0.1);
}

.login-form input[type="text"]:hover,
.login-form input[type="password"]:hover {
    border-color: rgba(46, 125, 50, 0.5);
    box-shadow: 0 2px 8px rgba(76, 175, 80, 0.2);
}

.login-form input[type="text"]:focus,
.login-form input[type="password"]:focus {
    outline: none;
    border-color: #4CAF50;
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.2), 0 2px 8px rgba(76, 175, 80, 0.3);
    background: rgba(255, 255, 255, 1);
}

.remember-me {
    margin-bottom: 25px;
}

.checkbox-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 0.9rem;
    color: #666;
}

.checkbox-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-right: 8px;
    cursor: pointer;
    accent-color: #2c5aa0;
}

.error-message {
    padding: 12px;
    border-radius: 6px;
    margin-bottom: 20px;
    font-size: 0.9rem;
    text-align: center;
}

.error-message.hidden {
    display: none;
}

.error-message.error {
    background: #fee;
    color: #c33;
    border: 1px solid #fcc;
}

.error-message.success {
    background: #efe;
    color: #3c3;
    border: 1px solid #cfc;
}

.btn-login {
    width: 100%;
    padding: 14px;
    background: linear-gradient(135deg, #4CAF50 0%, #66BB6A 100%);
    color: white;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
}

.btn-login:hover {
    background: linear-gradient(135deg, #45a049 0%, #5cb660 100%);
    box-shadow: 0 6px 20px rgba(76, 175, 80, 0.4);
    transform: translateY(-2px);
}

.btn-login:active {
    transform: scale(0.98);
}

.login-info {
    margin-top: 25px;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    text-align: center;
    font-size: 0.85rem;
    color: #666;
}

.login-info p {
    margin: 5px 0;
}

.login-info code {
    background: #e9ecef;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: 'Courier New', monospace;
    color: #2c5aa0;
    font-weight: bold;
}

/* Footer Styles */
.main-footer {
    background: rgba(0, 100, 0, 0.7); /* Dark green with transparency */
    color: white;
    padding: 25px;
    text-align: center;
    border-top: 3px solid rgba(0, 80, 0, 0.8);
    position: relative;
    overflow: hidden;
}

.main-footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('data:image/svg+xml,%3Csvg width="100%25" height="100%25" xmlns="http://www.w3.org/2000/svg"%3E%3Cdefs%3E%3Cpattern id="greenNature" patternUnits="userSpaceOnUse" width="400" height="400"%3E%3C%21-- Tree trunks --%3E%3Crect x="80" y="250" width="25" height="150" fill="%23006400" opacity="0.4"/%3E%3Crect x="280" y="220" width="20" height="180" fill="%23006400" opacity="0.4"/%3E%3Crect x="180" y="280" width="18" height="120" fill="%23006400" opacity="0.4"/%3E%3C%21-- Large leaf clusters --%3E%3Ccircle cx="92" cy="200" r="60" fill="%23228B22" opacity="0.3"/%3E%3Ccircle cx="290" cy="170" r="70" fill="%23228B22" opacity="0.3"/%3E%3Ccircle cx="189" cy="250" r="55" fill="%23228B22" opacity="0.3"/%3E%3C%21-- Medium leaves --%3E%3Cellipse cx="50" cy="180" rx="20" ry="35" fill="%2332CD32" opacity="0.25" transform="rotate(-25 50 180)"/%3E%3Cellipse cx="350" cy="150" rx="22" ry="38" fill="%2332CD32" opacity="0.25" transform="rotate(35 350 150)"/%3E%3Cellipse cx="120" cy="140" rx="18" ry="30" fill="%2332CD32" opacity="0.25" transform="rotate(-40 120 140)"/%3E%3Cellipse cx="250" cy="120" rx="18" ry="30" fill="%2332CD32" opacity="0.25" transform="rotate(50 250 120)"/%3E%3C%21-- Small leaves --%3E%3Cpath d="M60,220 Q70,200 80,220 Q70,210 60,220" fill="%23228B22" opacity="0.3"/%3E%3Cpath d="M320,190 Q330,170 340,190 Q330,180 320,190" fill="%23228B22" opacity="0.3"/%3E%3Cpath d="M150,240 Q160,220 170,240 Q160,230 150,240" fill="%23228B22" opacity="0.3"/%3E%3Cpath d="M200,100 Q210,80 220,100 Q210,90 200,100" fill="%2332CD32" opacity="0.25"/%3E%3Cpath d="M100,100 Q110,80 120,100 Q110,90 100,100" fill="%2332CD32" opacity="0.25"/%3E%3C%21-- Branches --%3E%3Cline x1="92" y1="200" x2="50" y2="180" stroke="%23006400" stroke-width="3" opacity="0.3"/%3E%3Cline x1="92" y1="200" x2="120" y2="140" stroke="%23006400" stroke-width="3" opacity="0.3"/%3E%3Cline x1="290" y1="170" x2="350" y2="150" stroke="%23006400" stroke-width="3" opacity="0.3"/%3E%3Cline x1="290" y1="170" x2="250" y2="120" stroke="%23006400" stroke-width="3" opacity="0.3"/%3E%3C/pattern%3E%3C/defs%3E%3Crect width="100%25" height="100%25" fill="url(%23greenNature)"/%3E%3C/svg%3E');
    background-size: 400px 400px;
    background-position: center;
    background-repeat: repeat;
    opacity: 0.6;
    z-index: 0;
}

.main-footer > * {
    position: relative;
    z-index: 1;
}

.footer-content p {
    margin: 5px 0;
    font-size: 0.9rem;
}

.footer-content p:first-child {
    font-weight: bold;
}

/* Dashboard Header Styles */
.dashboard-header {
    background: rgba(0, 100, 0, 0.7); /* Dark green with transparency */
    color: white;
    padding: 30px;
    border-bottom: 3px solid rgba(0, 80, 0, 0.8);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    position: relative;
    overflow: hidden;
}

.dashboard-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('data:image/svg+xml,%3Csvg width="100%25" height="100%25" xmlns="http://www.w3.org/2000/svg"%3E%3Cdefs%3E%3Cpattern id="greenNature" patternUnits="userSpaceOnUse" width="400" height="400"%3E%3C%21-- Tree trunks --%3E%3Crect x="80" y="250" width="25" height="150" fill="%23006400" opacity="0.4"/%3E%3Crect x="280" y="220" width="20" height="180" fill="%23006400" opacity="0.4"/%3E%3Crect x="180" y="280" width="18" height="120" fill="%23006400" opacity="0.4"/%3E%3C%21-- Large leaf clusters --%3E%3Ccircle cx="92" cy="200" r="60" fill="%23228B22" opacity="0.3"/%3E%3Ccircle cx="290" cy="170" r="70" fill="%23228B22" opacity="0.3"/%3E%3Ccircle cx="189" cy="250" r="55" fill="%23228B22" opacity="0.3"/%3E%3C%21-- Medium leaves --%3E%3Cellipse cx="50" cy="180" rx="20" ry="35" fill="%2332CD32" opacity="0.25" transform="rotate(-25 50 180)"/%3E%3Cellipse cx="350" cy="150" rx="22" ry="38" fill="%2332CD32" opacity="0.25" transform="rotate(35 350 150)"/%3E%3Cellipse cx="120" cy="140" rx="18" ry="30" fill="%2332CD32" opacity="0.25" transform="rotate(-40 120 140)"/%3E%3Cellipse cx="250" cy="120" rx="18" ry="30" fill="%2332CD32" opacity="0.25" transform="rotate(50 250 120)"/%3E%3C%21-- Small leaves --%3E%3Cpath d="M60,220 Q70,200 80,220 Q70,210 60,220" fill="%23228B22" opacity="0.3"/%3E%3Cpath d="M320,190 Q330,170 340,190 Q330,180 320,190" fill="%23228B22" opacity="0.3"/%3E%3Cpath d="M150,240 Q160,220 170,240 Q160,230 150,240" fill="%23228B22" opacity="0.3"/%3E%3Cpath d="M200,100 Q210,80 220,100 Q210,90 200,100" fill="%2332CD32" opacity="0.25"/%3E%3Cpath d="M100,100 Q110,80 120,100 Q110,90 100,100" fill="%2332CD32" opacity="0.25"/%3E%3C%21-- Branches --%3E%3Cline x1="92" y1="200" x2="50" y2="180" stroke="%23006400" stroke-width="3" opacity="0.3"/%3E%3Cline x1="92" y1="200" x2="120" y2="140" stroke="%23006400" stroke-width="3" opacity="0.3"/%3E%3Cline x1="290" y1="170" x2="350" y2="150" stroke="%23006400" stroke-width="3" opacity="0.3"/%3E%3Cline x1="290" y1="170" x2="250" y2="120" stroke="%23006400" stroke-width="3" opacity="0.3"/%3E%3C/pattern%3E%3C/defs%3E%3Crect width="100%25" height="100%25" fill="url(%23greenNature)"/%3E%3C/svg%3E');
    background-size: 400px 400px;
    background-position: center;
    background-repeat: repeat;
    opacity: 0.6;
    z-index: 0;
}

.dashboard-header > * {
    position: relative;
    z-index: 1;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}

.btn-back-home {
    padding: 10px 20px;
    background: linear-gradient(135deg, #4CAF50 0%, #66BB6A 100%);
    color: white;
    text-decoration: none;
    border: none;
    border-radius: 5px;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(76, 175, 80, 0.3);
    border: 2px solid rgba(255, 255, 255, 0.3);
    display: inline-block;
}

.btn-back-home:hover {
    background: linear-gradient(135deg, #45a049 0%, #5cb660 100%);
    box-shadow: 0 4px 12px rgba(76, 175, 80, 0.4);
    transform: translateY(-2px);
}

.btn-logout {
    padding: 10px 20px;
    background: #dc3545;
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.btn-logout:hover {
    background: #c82333;
}

@media (max-width: 768px) {
    .dashboard-header {
        flex-direction: column;
        text-align: center;
    }
    
    header {
        flex-direction: column;
    }
    
    .header-actions {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
    }
    
    .btn-back-home,
    .btn-logout {
        width: 100%;
        max-width: 200px;
    }
    
    .login-card {
        padding: 30px 25px;
    }
    
    .login-card h2 {
        font-size: 1.6rem;
    }
}

@media print {
    .input-section,
    .slip-controls,
    .dashboard-header {
        display: none;
    }
    
    .slip-content {
        padding: 20px;
    }
    
    .slip-content::before {
        display: none;
    }
}