.dot {
    display: inline-block;
    width: 32px; 
    height: 32px;
    border-radius: 50%;
    margin-right: 10px;
    position: relative;
    vertical-align: middle;
}
.dot-green { background: #38a169; }  /* Tailwind green-500 */
.dot-yellow { background: #d69e2e; } /* Tailwind yellow-500 */
.dot-red { background: #e53e3e; }    /* Tailwind red-500 */
.dot-gray { background: #bbbbbb; }   /* Tailwind gray */
.dot-black { background: #000000; }  /* Black */
.dot-rejected { background: #bbbbbb; } /* Gray for rejected status */

/* Status symbols */
.dot-green::before {
    content: "✓";
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 20px;
    font-weight: bold;
}

.dot-black::before {
    content: "✓";
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 20px;
    font-weight: bold;
}

.dot-yellow::before {
    content: "!";
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 20px;
    font-weight: bold;
}

.dot-gray::before {
    content: "?";
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 20px;
    font-weight: bold;
}

.dot-rejected::before {
    content: "×";
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    font-weight: bold;
}

.dot-red::before {
    content: "×";
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    font-weight: bold;
}

.outage-status-table {
    width: 100%;
    border-collapse: collapse;
    margin: 1em 0;
}
.outage-status-table th,
.outage-status-table td {
    padding: .5em .8em;
    border-bottom: 1px solid #e2e8f0;
    text-align: left;
    vertical-align: middle;
}
.outage-status-table th {
    font-weight: bold;
    background-color: #f7fafc;
}
.outage-status-table tbody tr:hover {
    background: #f7fafc;
}

/* Fixed column widths for device status tables */
.device-status-table th:first-child,
.device-status-table td:first-child {
    width: 40%;
}

.device-status-table th:last-child,
.device-status-table td:last-child {
    width: 60%;
}