/* Body */
body {
    margin: 0;
    font-family: Arial, sans-serif;
    background: #f4f4f4;
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow: hidden;
}

/* Top Bar */
.top-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: #2c3e50;
    color: white;
    display: flex;
    align-items: center;
    padding: 0 20px;
    box-sizing: border-box;
    z-index: 10;
}
.logo {
    height: 40px;
    margin-right: 10px;
}
.title {
    font-size: 20px;
    font-weight: bold;

}

/* Main Container */
.container {
    display: flex;
    gap: 10px;
    width: 97%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 60px 5px 60px 5px;
    box-sizing: border-box;
    flex: 1;
    overflow: hidden;



}

/* Left & Right Columns */
.left {
    flex: 1.5;
    display: flex;
    flex-direction: column;
    gap: 15px;
    overflow: hidden;
}
.right {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Tiles */
.tile {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    padding: 10px;
    display: flex;
    flex-direction: column;
    overflow: auto;
    min-height: 0;

}

/* Tile Header */
.tile-header {
    font-size: 16px;
    font-weight: bold;
    color: #2c3e50;
    margin-bottom: 8px;
    padding-bottom: 6px;
    border-bottom: 2px solid #ddd;

}

/* Tile Content */
.tile-content {
    flex: 1;
    overflow: auto;
    font-size: 13px;
    
}


/* Tall Tiles (scrollable) */
.tile.tall {
    flex: 1;
    overflow: auto;
}

/* Table Styling */
.tile table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    table-layout: fixed;
    text-overflow: ellipsis;
}
.tile th, .tile td {
    padding: 4px 6px;
    border: 1px solid #ddd;
    text-align: left;
    font-weight: bold;
}
.tile th {
    background: #2c3e50;
    color: white;
    position: sticky;
    top: 0;
    z-index: 2;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.tile tr:nth-child(even) {
    background-color: #f9f9f9;
}
.tile tr:hover {
    background-color: #eef;
}

/* Ticker (Popup Style) */
.ticker {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 44px; /* 2 rows = line-height * 2 */
    background: #34495e;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 12px;
    padding: 5px 10px;
    box-sizing: border-box;
    overflow: hidden;
}




#ticker-text {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    text-align: center;
}


.ticker-popup {
    opacity: 0;
    transition: opacity 0.6s ease, transform 0.6s ease;
    position: absolute;
    text-align: center;
    white-space: pre-wrap;
    word-wrap: break-word;
    padding: 0 15px;
    font-size: 12px;
    line-height: 1.2em;   /* each line ~ 22px */
    max-height: 2.4em;    /* force max 2 lines */
    overflow: hidden;     /* cut off extra */
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}


/* Show state */
.ticker-popup.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    
}
/* New CSS for the announcement tile */
.announcement-text {
    color: #e74c3c; /* You can change this color code */
    animation: blink-animation 1.5s infinite;
}

/* Keyframe animation for blinking */
@keyframes blink-animation {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}
