body .ttb-main { 
    background: #161e2e; 
    color: #fff; 
    max-width: 1024px; 
    padding: 24px 30px; 
    margin: 36px auto; 
    border-radius: 16px; 
    box-shadow: 0 2px 12px #0004; 
}

.ttb-title { 
    color: #fff; 
    font-family: sans-serif; 
    margin-bottom: 28px; 
    text-align: center; 
    filter: drop-shadow(0px 2px 1.5px #001c3d77); 
    font-weight: 700; 
}

.ttb-form { 
    font-family: sans-serif; 
}

.ttb-tabs { 
    text-align: center; 
    margin-bottom: 12px; 
}

.ttb-tab {
    background: #2565a6;
    border: none;
    display: inline-block;
    color: #fff;
    font-weight: 700;
    padding: 8px 14px;
    margin-right: 6px;
    border-radius: 9px 9px 0 0;
    cursor: pointer;
    font-size: 15px;
    box-shadow: 0 2px 6px rgb(0 0 0 / 0.35);
    transition: all 0.2s ease-in-out;
    outline: none;
}

.ttb-tab-active,
.ttb-tab:hover {
    background: #0e7bee;
    color: #fff;
}

/* Responsive table wrapper */
.ttb-table-wrapper {
    width: 100%;
    overflow-x: auto;
    margin-bottom: 8px;
}

.ttb-table { 
    width: 100%; 
    border-collapse: separate; 
    border-spacing: 0 8px; 
    min-width: 800px; /* Minimum width for horizontal scroll on mobile */
}

.ttb-table th, .ttb-table td { 
    padding: 9px 14px; 
    border: none; 
    text-align: center; 
    font-size: 16px; 
    color: #fff; 
    border-radius: 8px; 
    background: #222d43; 
}

.ttb-table th.ttb-th-dark { 
    background-color: #161e2e; 
    color: #fff; 
    font-weight: bold; 
    font-size: 18px; 
}

.ttb-num, .ttb-notes, .ttb-select {
    border-radius: 7px; 
    background: #2565a6; 
    border: 1.5px solid #0e223d; 
    color: #fff !important; 
    padding: 5px 7px; 
    width: 90%; 
    box-sizing: border-box;
}

.ttb-notes { 
    resize: vertical; 
    min-height: 34px; 
    font-size: 15px; 
    width: 96%; 
    color: #fff !important; 
    transition: height 0.3s ease;
}

.ttb-select { 
    font-size: 15px; 
    min-width: 64px; 
    max-width: 90px; 
    text-align: left; 
}

.ttb-submit { 
    background: linear-gradient(90deg,#00e6d6 20%, #0e7bee 80%); 
    color: #fff; 
    font-size: 16px; 
    font-weight: bold; 
    letter-spacing: 1.4px; 
    border: none; 
    border-radius: 8px; 
    margin-top: 10px; 
    padding: 9px 22px; 
    cursor: pointer; 
    transition: all 0.25s;
}

.ttb-submit:hover { 
    background: linear-gradient(90deg,#0e7bee 20%, #00e6d6 80%);
}

.ttb-reset { 
    background: linear-gradient(90deg,#ff4350 20%, #e41d26 80%); 
    margin-top: 0; 
}

.ttb-reset:hover { 
    background: linear-gradient(90deg,#e41d26 20%, #ff4350 80%); 
}

.ttb-note { 
    color: #a5e6f7; 
    font-size: 15px; 
    margin-top: 7px; 
    text-align: center;
}

.ttb-success { 
    background: #00dda356; 
    color: #fff; 
    font-weight: bold; 
    border-radius: 7px; 
    padding: 10px 0; 
    margin-bottom: 10px; 
    text-align: center;
}

.ttb-error { 
    background: #000000; 
    color: #ff6b6b; 
    font-weight: bold; 
    border-radius: 7px; 
    padding: 10px 0; 
    margin-bottom: 10px; 
    text-align: center;
    border: 2px solid #ff4444;
}

.ttb-warning { 
    background: #002b455c; 
    color: #ffe196; 
    font-weight: 600; 
    border-radius: 7px; 
    padding: 12px; 
    margin-bottom: 15px; 
    text-align: center; 
    border: 1.5px solid #ffa50044;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    body .ttb-main {
        margin: 10px;
        padding: 15px;
    }

    .ttb-table th, .ttb-table td {
        font-size: 14px;
        padding: 6px 8px;
    }

    .ttb-tab {
        font-size: 13px;
        padding: 6px 10px;
        margin-right: 4px;
    }
}
