/* General Styles */
body {
    background-color: #1a1a1a;
    color: #c7c7c7;
    font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    margin: 0;
    padding: 20px;
    line-height: 1.6;
}

.container {
    max-width: 900px;
    margin: 0 auto;
}

h1, h2 {
    color: #e0e0e0;
    font-weight: 300;
    border-bottom: 1px solid #444;
    padding-bottom: 10px;
}

a {
    color: #a0c4ff;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#subscribe-button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    border-radius: 50%;
    transition: background-color 0.2s ease-in-out;
}

#subscribe-button:hover {
    background-color: #333;
}

/* Article Page Specific */
.article-container {
    max-width: 800px;
}

blockquote {
    border-left: 3px solid #a0c4ff;
    padding-left: 20px;
    margin-left: 0;
    font-style: italic;
    color: #a0c4ff;
}

.back-link {
    display: inline-block;
    margin-bottom: 20px;
}

.article-image {
    width: 100%;
    max-height: 400px;
    object-fit: cover;
    border-radius: 5px;
    margin-bottom: 20px;
}

.publication-date {
    font-size: 0.9em;
    color: #888;
    margin-top: -10px;
    margin-bottom: 20px;
}

/* Index Page - Cards */
.stories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
}

.card {
    background-color: #2b2b2b;
    border: 1px solid #444;
    border-radius: 5px;
    overflow: hidden;
    transition: transform 0.2s ease-in-out;
}

.card:hover {
    transform: translateY(-5px);
}

.card a {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: #c7c7c7;
}

.card img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    background-color: #333;
}

.card-content {
    padding: 15px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.card-content h2 {
    font-size: 1.2em;
    margin: 0 0 10px 0;
    border: none;
    padding: 0;
}

.card-date {
    font-size: 0.8em;
    color: #888;
    margin-top: auto;
    padding-top: 10px;
}

.admin-section {
    background-color: #2b2b2b;
    padding: 20px;
    margin-bottom: 20px;
    border-radius: 5px;
}
.admin-section h2 {
    margin-top: 0;
    border-bottom: 1px solid #444;
    padding-bottom: 10px;
}

/* PWA Install Banner */
#install-banner {
    background-color: #2c3e50;
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#install-banner p {
    margin: 0;
    padding-right: 15px;
}

#install-button {
    padding: 10px 15px;
    background-color: #a0c4ff;
    color: #1a1a1a;
    border: none;
    cursor: pointer;
    border-radius: 3px;
    white-space: nowrap;
}

/* Admin Pages */
.admin-container {
    max-width: 800px;
}

.admin-container ul { list-style: none; padding: 0; }
.admin-container li { background-color: #333; margin-bottom: 10px; padding: 15px; border-radius: 3px; }
.admin-container li a { font-size: 1.2em; }

.admin-container form { margin-top: 20px; }
.admin-container label { display: block; margin-bottom: 5px; color: #aaa; }
.admin-container input[type="text"], .admin-container input[type="file"] { width: 100%; padding: 10px; background-color: #333; border: 1px solid #555; color: #c7c7c7; border-radius: 3px; box-sizing: border-box; margin-bottom: 15px; }
.admin-container button, .admin-container input[type="submit"] { padding: 10px 20px; background-color: #a0c4ff; color: #1a1a1a; border: none; cursor: pointer; border-radius: 3px; }

.current-image { max-width: 200px; display: block; margin-top: 10px; border-radius: 5px; }

.message { padding: 10px; margin-bottom: 15px; border-radius: 3px; }
.success { background-color: #2a5c34; color: #c8e6c9; }
.error { background-color: #8c2c2c; color: #ffcdd2; }

/* Login Page */
.login-container { background-color: #2b2b2b; padding: 40px; border-radius: 5px; border: 1px solid #444; text-align: center; }
.login-container input[type="password"] { padding: 10px; width: 200px; }
.login-container input[type="submit"] { width: auto; margin-top: 10px; }

/* Responsive Font Size */
@media (min-width: 768px) {
    body {
        font-size: 18px;
    }
}

/* Subscription Management List */
.subscriptions-list ul {
    list-style: none;
    padding: 0;
}
.subscriptions-list li {
    background-color: #333;
    margin-bottom: 10px;
    padding: 15px;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    word-break: break-all;
}
.subscriptions-list .endpoint-text {
    margin-right: 15px;
}
.subscriptions-list .delete-btn {
    background-color: #c94c4c;
    color: white;
    padding: 5px 10px;
    border-radius: 3px;
    text-decoration: none;
    white-space: nowrap;
}
.subscriptions-list .delete-btn:hover {
    background-color: #e74c3c;
}

/* Subscriber Management Page */
.subscriber-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    background-color: #2b2b2b;
    padding: 15px;
    border-radius: 5px;
}
.subscriber-actions p {
    margin: 0;
}
.subscriber-card {
    background-color: #333;
    margin-bottom: 15px;
    padding: 20px;
    border-radius: 5px;
    border-left: 5px solid #4CAF50; /* Green for active */
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.subscriber-card.status-inactive {
    border-left-color: #f44336; /* Red for inactive */
    opacity: 0.7;
}
.subscriber-details p {
    margin: 0 0 8px 0;
    word-break: break-all;
}
.subscriber-details p strong {
    color: #a0c4ff;
}
.subscriber-card-actions .delete-btn {
    background-color: #c94c4c;
    color: white;
    padding: 8px 12px;
    border-radius: 3px;
    text-decoration: none;
    white-space: nowrap;
}
.subscriber-card-actions .delete-btn:hover {
    background-color: #e74c3c;
}

/* Admin Panel Specific */
.draft-label {
    color: #ffc107; /* Amber color for drafts */
    font-size: 0.8em;
    margin-left: 5px;
}
.publish-btn {
    background-color: #28a745; /* Green for publish */
    color: white;
    padding: 5px 10px;
    border-radius: 3px;
    text-decoration: none;
    margin-left: 10px;
    font-size: 0.9em;
    white-space: nowrap;
}
.publish-btn:hover {
    background-color: #218838;
}

/* Admin articles list */
.articles-list {
    list-style: none;
    padding: 0;
}

.articles-list li {
    background-color: #333;
    margin-bottom: 15px; /* Increased margin */
    padding: 15px;
    border-radius: 3px;
}

.article-info-block {
    margin-bottom: 15px; /* Space between info and actions */
}

.article-identifier {
    font-weight: bold;
    /* color: #a0c4ff; */ /* Base color removed */
    font-size: 1em;
}

.article-identifier.published {
    color: #28a745; /* Green */
}

.article-identifier.draft {
    color: #ffc107; /* Yellow */
}

.article-title {
    font-size: 1.2em;
    font-weight: bold;
    margin-top: 5px;
}

.article-title a {
    color: #c7c7c7;
    text-decoration: none;
}

.article-title a:hover {
    text-decoration: underline;
}

.article-status {
    font-size: 0.8em;
    color: #888;
    margin-top: 5px;
}

.article-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    border-top: 1px solid #444;
    padding-top: 15px;
}

.action-btn {
    color: white;
    padding: 8px 12px;
    border-radius: 3px;
    text-decoration: none;
    font-size: 0.9em;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
}

.action-btn:hover {
    opacity: 0.9;
    text-decoration: none;
}

.preview-btn {
    font-size: 1.2em;
    padding: 6px 10px;
    background-color: #6c757d;
}
.preview-btn:hover {
    background-color: #5a6268;
}

.publish-btn { background-color: #28a745; }
.unpublish-btn { background-color: #ffc107; color: #1a1a1a; }
.delete-btn { background-color: #dc3545; }

.published-label {
    color: #4caf50; /* Green color for published status */
    font-size: 0.8em;
    margin-left: 5px;
}

/* Make the tools list horizontal */
.tools-list {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 15px;
}
.tools-list li {
    background: none;
        margin: 0;
    }
    
    /* Subscriber Table */
    .subscriber-table-container {
        overflow-x: auto; /* Allows horizontal scrolling on small screens */
    }
    .subscriber-table {
        width: 100%;
        border-collapse: collapse;
        margin-top: 20px;
    }
    .subscriber-table th, .subscriber-table td {
        padding: 12px 15px;
        text-align: left;
        border-bottom: 1px solid #444;
        white-space: nowrap;
    }
    .subscriber-table th {
        background-color: #333;
        font-weight: bold;
        color: #e0e0e0;
    }
    .subscriber-table tbody tr {
        background-color: #2b2b2b;
        transition: background-color 0.2s ease;
    }
    .subscriber-table tbody tr:hover {
        background-color: #3c3c3c;
    }
    .subscriber-table tbody tr.status-inactive {
        opacity: 0.6;
    }
    .status-label {
        padding: 4px 8px;
        border-radius: 3px;
        font-size: 0.85em;
        text-transform: capitalize;
    }
    .status-label.status-active {
        background-color: #28a745;
        color: white;
    }
    .status-label.status-inactive {
        background-color: #6c757d;
        color: white;
    }
    .status-label.status-unknown {
        background-color: #ffc107;
            color: #1a1a1a;
        }
        
        /* Pagination */
        .pagination {
            margin-top: 40px;
            text-align: center;
        }
        .pagination ul {
            list-style: none;
            padding: 0;
            display: inline-flex;
            gap: 5px;
            align-items: center;
        }
        .pagination li a, .pagination li span {
            display: block;
            padding: 8px 14px;
            background-color: #2b2b2b;
            border: 1px solid #444;
            border-radius: 3px;
            color: #a0c4ff;
            text-decoration: none;
            transition: background-color 0.2s, color 0.2s;
        }
        .pagination li a:hover {
            background-color: #a0c4ff;
            color: #1a1a1a;
            text-decoration: none;
        }
        .pagination li.active a {
            background-color: #a0c4ff;
            color: #1a1a1a;
            border-color: #a0c4ff;
            cursor: default;
        }
        .pagination li.ellipsis span {
            background: none;
            border: none;
            padding: 8px 5px;
        }
        
