  * {
      margin: 0;
      padding: 0;
      font-size: 14px;
    }
    html, body {
    height: 100%;
    background-color: #f8f9fa;

    background-image:
        repeating-linear-gradient(
            135deg,
            rgba(255,221,92,0.18) 0px,
            rgba(255,221,92,0.18) 1px,
            transparent 1px,
            transparent 12px
        ),
        linear-gradient(
            135deg,
            #ffffff,
            #f1f3f8
        );

    background-size: auto, cover;
    background-attachment: fixed;
}
    .wrapper {
      min-height: 80%;
      display: flex;
      flex-direction: column;
    }
    .content {
      flex: 1;
      padding: 20px;
    }
    footer {
      background: #333;
      color: white;
      text-align: center;
      padding: 10px;
    }
    .content {
      padding: 2rem;
      margin-top: 70px; /* space for fixed navbar */
    }
    .system-card {
        width: 90%;
        margin: 80px auto;
        border-radius: 1rem;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
        padding: 2rem;
        background: #fff;
    }
    /* Mobile view */
    @media (max-width: 768px) {
        .system-card {
            width: 98%;
            padding: 1rem;
            margin: 40px auto;
        }
    }

    .form-floating label {
      color: #6c757d;
    }

    .system-header {
      text-align: left;
      margin-bottom: 1.5rem;
    }

    .material-icons {
      vertical-align: middle;
      margin-right: 8px;
    }

    .btn-primary {
      border-radius: 2rem;
    }
    .error-container {
      max-width: 500px;
      margin: 80px auto;
    }

    .error-code {
      font-size: 8rem;
      font-weight: 700;
      color: #dc3545;
    }

    .error-message {
      font-size: 1.25rem;
      margin-bottom: 1.5rem;
      color: #6c757d;
    }
    .fixed-logo {
       position: fixed;
      bottom: 44px;
      right: 10px;
      width: 80px; /* Adjust size as needed */
      height: auto;
      z-index: 9999;
      animation: rotateLogo 5s linear infinite;
    }
    @keyframes rotateLogo {
      0% {
        transform: rotate(0deg);
      }
      100% {
        transform: rotate(360deg);
      }
    }
    .custom-navbar{
    background-color:#CCA100;
    background-image:
        repeating-linear-gradient(
            45deg,
            rgba(255,255,255,.12) 0px,
            rgba(255,255,255,.12) 1px,
            transparent 1px,
            transparent 18px
        ),
        repeating-linear-gradient(
            -45deg,
            rgba(255,255,255,.12) 0px,
            rgba(255,255,255,.12) 1px,
            transparent 1px,
            transparent 18px
        );
    height:100px;
    box-shadow:0 2px 8px rgba(0,0,0,.2);
}

.custom-navbar .navbar-brand{
    color:#fff;
    font-size:2.0rem;
    font-weight:700;
    letter-spacing:1px;
}
/* CCA100 Premium Small Button */
.btn-primary {
    background: linear-gradient(135deg, #A26802, #FFD700);
    border: 1px solid #FFD700;
    color: #fff;
    font-weight: 700;
    font-size: 0.80rem;
    border-radius: 8px;
    padding: 6px 14px;
    position: relative;
    overflow: hidden;
    box-shadow:
        0 4px 12px rgba(162,104,2,0.45),
        inset 0 0 8px rgba(255,255,255,0.3);
    transition: all .35s ease;
}

/* Shine animation */
.btn-primary::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 80%;
    height: 100%;
    background: linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,.6),
        transparent
    );
    transform: skewX(-25deg);
    transition: .6s;
}

.btn-primary:hover::before {
    left: 130%;
}

.btn-primary:hover {
    background: linear-gradient(135deg, #FFD700, #A26802);
    transform: translateY(-2px);
    box-shadow:
        0 8px 20px rgba(162,104,2,.6),
        0 0 15px rgba(255,215,0,.8);
    color:#fff;
}

.btn-primary:active {
    transform:scale(.95);
}
.custom-info-alert {
    position: relative;
    overflow: hidden;
    background: #FFEAA8;
    border: 1px solid #F5D76E;
    border-radius: 15px;
    padding: 14px 16px;
    color: #5C4500;
}

/* Icon */
.info-circle {
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 50%;
    background: #FFDD5C;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 8px rgba(90,67,0,.25);
    z-index: 2;
}

.info-circle .material-icons {
    font-size: 22px;
    color: #765400;
}

/* Text */
.info-text {
    font-size: 13px;
    line-height: 1.55;
    z-index: 2;
}

.info-text strong {
    color: #634600;
}

.sw-text {
    color: #806400;
}


/* Vector decoration */
.alert-shape::before,
.alert-shape::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: #FFD966;
    opacity: .35;
}

.alert-shape::before {
    width: 150px;
    height: 150px;
    right: -50px;
    top: -70px;
}

.alert-shape::after {
    width: 80px;
    height: 80px;
    right: 80px;
    bottom: -45px;
}


/* Mobile adjustment */
@media(max-width:576px){
    .custom-info-alert {
        padding: 12px;
    }

    .info-text {
        font-size: 12px;
    }

    .info-circle {
        width:34px;
        height:34px;
        min-width:34px;
    }

    .info-circle .material-icons {
        font-size:20px;
    }
}
.alert-success {
    background: #DFF7E8;
    border: 1px solid #28C76F;
    color: #087830;
    border-radius: 10px;
    font-size: 13px;
    padding: 10px 15px;
}

.alert-danger {
    background: #FFE0E0;
    border: 1px solid #FF6B6B;
    color: #8B0000;
    border-radius: 10px;
    font-size: 13px;
    padding: 10px 15px;
}
/* Hover Effect */
.form-control:hover,
.form-select:hover,
.form-check-input:hover,
textarea:hover,
input:hover,
select:hover {
    border-color: #FFDD5C;
    box-shadow: 0 0 8px rgba(255, 221, 92, 0.35);
    transition: all .3s ease;
}

/* Focus Effect */
.form-control:focus,
.form-select:focus,
.form-check-input:focus,
textarea:focus,
input:focus,
select:focus {
    border-color: #FFDD5C;
    box-shadow: 0 0 0 .2rem rgba(255, 221, 92, .35);
    outline: none;
}

/* Optional: Input group icons */
.input-group-text:hover {
    background: #FFDD5C;
    border-color: #FFDD5C;
}
.custom-tabs{
    display:flex;
    width:100%;
    gap:8px;
}

.custom-tabs .nav-item{
    flex:1;
}

.custom-tabs .nav-link{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:46px;
    padding:.45rem .5rem;
    border:2px solid #CCA100;
    border-radius:12px;
    background:#fff;
    color:#8A6D00;
    font-size:.88rem;
    font-weight:600;
    transition:.3s;
    text-align:center;
}

.custom-tabs .material-icons{
    font-size:18px;
    color:#CCA100;
}

.custom-tabs .nav-link.active{
    background:linear-gradient(135deg,#CCA100,#E8C84A);
    color:#fff;
    border-color:#CCA100;
    box-shadow:0 4px 12px rgba(204,161,0,.25);
}

.custom-tabs .nav-link.active .material-icons{
    color:#fff;
}

.custom-tabs .nav-link:hover:not(.disabled){
    background:#FFF7DA;
}

.custom-tabs .nav-link.disabled{
    background:#f8f8f8;
    border-color:#ddd;
    color:#b5b5b5;
    cursor:not-allowed;
}

.custom-tabs .nav-link.disabled .material-icons{
    color:#d9534f;
}

/* Mobile */
@media (max-width:576px){

    .custom-tabs{
        gap:5px;
    }

    .custom-tabs .nav-link{
        flex-direction:column;
        gap:2px;
        min-height:58px;
        padding:6px 2px;
        font-size:11px;
        line-height:1.2;
    }

    .custom-tabs .material-icons{
        font-size:18px;
    }
}
.section-title{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin:15px 0 25px;
    color:#8A6D00;
    font-size:22px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
}

.section-title::before,
.section-title::after{
    content:"";
    flex:1;
    max-width:120px;
    height:2px;
    background:linear-gradient(to right,transparent,#CCA100);
}

.section-title::after{
    background:linear-gradient(to left,transparent,#CCA100);
}

.section-title .material-icons{
    color:#CCA100;
    font-size:28px;
}

@media(max-width:576px){

    .section-title{
        font-size:16px;
        gap:6px;
    }

    .section-title::before,
    .section-title::after{
        max-width:50px;
    }

    .section-title .material-icons{
        font-size:22px;
    }

}
