/* Restrict custom hyperlink color to only links inside the info panel */
#info-panel a, .info-panel a, .widget-box.info-panel a {
    color: #ffc300 !important;
    text-decoration: underline !important;
}
body {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #ABE2Fe;
}

/* Core Widget Box Style */
.widget-box {
    background-color: #ffffff;
    border: 4px solid #000000;
    border-radius: 12px;
    box-shadow: 5px 5px 0px #ffc300;
    padding: 10px;
    overflow: visible;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    margin: 5px;
    scrollbar-color: #ffc300 #fff;
}

/* Scrollable Content */
.widget-box > div {
    overflow-y: auto;
}

.outbound-buttons {
    background-color: #000000;
    color: #ffffff;
    border: 1px solid #000000;
    border-radius: 10px;
    box-shadow: 3px 3px 0px #ffc300;
    padding: 10px 14px;
    font-size: 10pt;
    font-weight: bold;
    cursor: pointer;
    text-transform: uppercase;
    transition: background-color 0.3s, color 0.3s;
}

.outbound-buttons:hover:not(:disabled) {
    background-color: #555555;
}

.outbound-buttons:disabled {
    opacity: 0.35;
    box-shadow: none;
}


/* Tab Buttons */
.tab-button {
    background-color: #000000;
    color: #ffffff;
    border: 1px solid #000000;
    border-radius: 10px;
    box-shadow: 3px 3px 0px #ffc300;
    padding: 5px 5px;
    display: flex;
    font-size: 10pt;
    align-items: center;
    cursor: pointer;
    font-weight: bold;
    text-transform: uppercase;
    margin: 5px;
    flex: 1;
    justify-content: center;
    transition: background-color 0.3s, color 0.3s;
}

.tab-button:hover {
    background-color: #555555;
}

.tab-button img {
    margin-right: 8px;
}

/* Active Tab Button */
.tab-button.active {
    background-color: #ffffff;
    color: #000000;
}

.tab-button.active img {
    filter: brightness(0);
}

/* Info Button (Footer Toggle) */
.info-button {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 10px;
    background-color: #000000;
    cursor: pointer;
    font-weight: bold;
    transition: background-color 0.3s;
}

.info-button:hover {
    background-color: #555555;
}

/* Scrollbar Customization (Optional) */
.widget-box::-webkit-scrollbar {
    width: 8px;
}

.widget-box::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 8px;
}

.widget-box::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 8px;
}

.widget-box::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Layout Adjustment for Info Panel */
.app-layout {
    display: flex;
    flex-direction: row;
    height: 100vh;
    width: 100vw;
    background-color: #ffffff;
    color: #000000;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    overflow: hidden;
    scrollbar-color: #ffc300 #fff;
}

.main-section {
    display: flex;
    flex-direction: column;
    width: 75%;
    margin-right: 10px;
    height: 120%; /* restored original ratio */
    scrollbar-color: #ffc300 #fff;
}

.bottom-section {
    display: flex;
    height: 30%; /* restored original ratio */
    margin-top: 10px;
}

.footer-box {
    width: 25%; /* widened by 5% */
    margin-right: 10px;
    position: relative;
    overflow-y: auto;
}

.tabbed-widget-box {
    width: 50%;
    margin-right: 10px;
    position: relative;
}

.channel-info-box {
    width: 30%; /* narrowed by 5% */
    position: relative;
}


.info-panel {
    width: 25%;
    overflow-y: auto;
    height: 98%;
}

.widget-box:first-child {
    height: 100%;
}

/* Ensure no outer frame or unnecessary scroll */
html, body {
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #ffffff;
    width: 100%;
    height: 100%;
}

/* Force Plotly graphs to fill their parent */
.js-plotly-plot {
    height: 100% !important;
    width: 100% !important;
}

.DateInput_input {
    font-size: 12px !important;
}

.DayPicker {
    font-size: 11px !important;
    transform: scale(1);
    transform-origin: top left;
}

button:disabled {
    opacity: 0.25;
    cursor: not-allowed;
}

@media screen and (max-width: 1440px) {
    .footer-box {
    display: none !important;
    }

    .channel-info-box {
    display: none !important;
    }

    .tabbed-widget-box {
    width: 100% !important;
    }
}
