body {
    font-family: sans-serif;
    margin: 0;
    padding: 10px;
    background-color: var(--tg-theme-bg-color, #ffffff);
    color: var(--tg-theme-text-color, #000000);
}

.container {
    max-width: 600px;
    margin: 0 auto;
    padding: 15px;
}

h1, h2 {
    color: var(--tg-theme-text-color, #333333);
    text-align: center;
}

button {
    background-color: var(--tg-theme-button-color, #007bff);
    color: var(--tg-theme-button-text-color, white);
    border: none;
    padding: 10px 15px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1em;
    margin-top: 10px;
}

button:hover {
    opacity: 0.9;
}

#medicine-list .medicine-item, #settings-medicine-list li {
    background-color: var(--tg-theme-secondary-bg-color, #f9f9f9);
    border: 1px solid var(--tg-theme-hint-color, #ddd);
    padding: 15px;
    margin-bottom: 10px;
    border-radius: 5px;
}

.medicine-item h3 {
    margin-top: 0;
}

.medicine-item .status span {
    display: block;
    margin-bottom: 5px;
}

form div {
    margin-bottom: 10px;
}

form label {
    display: block;
    margin-bottom: 5px;
}

form input[type="text"],
form input[type="number"],
form select {
    width: calc(100% - 22px); /* Account for padding and border */
    padding: 10px;
    border: 1px solid var(--tg-theme-hint-color, #ccc);
    border-radius: 4px;
}

#go-to-settings, #back-to-main {
    display: block;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.error {
    color: var(--tg-theme-destructive-text-color, red);
    font-size: 0.9em;
}

.warning {
    color: #ffa500; /* Consider a Telegram theme variable if available */
    font-size: 0.9em;
}

.countdown {
    font-weight: bold;
}

.actions button {
    margin-right: 5px;
}

/* Message Area Styles */
.message-area {
    padding: 10px;
    margin-bottom: 15px;
    border-radius: 5px;
    text-align: center;
    font-size: 0.95em;
    display: none; /* Hidden by default */
}

.message-area.error {
    background-color: var(--tg-theme-destructive-text-color, #ffdddd);
    color: var(--tg-theme-text-color, #d8000c);
    border: 1px solid var(--tg-theme-destructive-text-color, #d8000c);
    display: block;
}

.message-area.success {
    background-color: #d4edda; /* Consider Telegram theme variable */
    color: #155724;            /* Consider Telegram theme variable */
    border: 1px solid #c3e6cb; /* Consider Telegram theme variable */
    display: block;
}

.message-area.loading, .message-area.info {
    background-color: #eef6fc; /* Consider Telegram theme variable */
    color: #31708f;            /* Consider Telegram theme variable */
    border: 1px solid #bce8f1; /* Consider Telegram theme variable */
    display: block;
}

/* Simple Spinner */
.spinner {
    border: 4px solid var(--tg-theme-hint-color, #f3f3f3); /* Light grey */
    border-top: 4px solid var(--tg-theme-button-color, #3498db); /* Blue */
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin 1s linear infinite;
    display: inline-block;
    margin-right: 8px;
    vertical-align: middle;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
} 