/* styles.css */
/* This is just some basic formatting to get us started. */

/* Claude: Added CSS custom properties for dark mode theming */
body {
    --bg-color: #ffffff;
    --text-color: #333333;
    --heading-color: #333333;
    --border-color: #cccccc;
    --input-bg: #ffffff;
    --input-text: #333333;
    --btn-bg: #007bff;
    --btn-hover-bg: #0056b3;
    --btn-text: #ffffff;
    --highlight-shipment: #a8e6a3;
    --highlight-order: #f5a623;
    --msg-success-bg: #d4edda;
    --msg-success-text: #155724;
    --msg-error-bg: #f8d7da;
    --msg-error-text: #721c24;
}

body[data-theme="dark"] {
    --bg-color: #1e1e1e;
    --text-color: #e0e0e0;
    --heading-color: #e0e0e0;
    --border-color: #8b8484;
    --input-bg: #2c2c2c;
    --input-text: #e0e0e0;
    --btn-bg: #0d6efd;
    --btn-hover-bg: #3d8bfd;
    --btn-text: #ffffff;
    --highlight-shipment: #2e7d32;
    --highlight-order: #e65100;
    --msg-success-bg: #1b4332;
    --msg-success-text: #a8e6a3;
    --msg-error-bg: #4a1c1c;
    --msg-error-text: #f5a6a6;
}

/* Body styles */
body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    margin: 20px;
    background-color: var(--bg-color);
    color: var(--text-color);
    transition: background-color 0.3s, color 0.3s;
}

/* Heading styles */
h1, h2 {
    color: var(--heading-color);
}

/* Form and input styles */
input[type="number"], input[type="text"], select {
    margin-bottom: 10px;
    padding: 8px;
    width: 200px;
    background-color: var(--input-bg);
    color: var(--input-text);
    border: 1px solid var(--border-color);
    border-radius: 4px;
}

/* Button styles */
button {
    padding: 10px 20px;
    background-color: var(--btn-bg);
    color: var(--btn-text);
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

button:hover {
    background-color: var(--btn-hover-bg);
}

/* Claude: Clear history button styling */
.clear-btn {
    font-size: 12px;
    padding: 4px 10px;
    background-color: #dc3545;
    vertical-align: middle;
}

.clear-btn:hover {
    background-color: #a71d2a;
}

/* Claude: Boxed section for category/product management */
#manageCategoriesBox {
    margin-top: 15px;
    padding: 12px 15px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    display: block;
}

/* Inventory display styles */
#inventoryDisplay {
    margin-top: 20px;
    padding: 10px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
}


/* Claude: Added highlight animations for shipment/order feedback */
@keyframes highlight-shipment {
    0%   { background-color: var(--highlight-shipment); }
    100% { background-color: transparent; }
}

@keyframes highlight-order {
    0%   { background-color: var(--highlight-order); }
    100% { background-color: transparent; }
}

.highlight-shipment {
    animation: highlight-shipment 1.5s ease-out;
}

.highlight-order {
    animation: highlight-order 1.5s ease-out;
}

/* Claude: Dark mode toggle switch styling */
#themeToggleContainer {
    text-align: right;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.toggle-label {
    font-size: 14px;
}

.toggle-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}

.toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    border-radius: 24px;
    transition: background-color 0.3s;
}

.toggle-slider::before {
    content: "";
    position: absolute;
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    border-radius: 50%;
    transition: transform 0.3s;
}

.toggle-switch input:checked + .toggle-slider {
    background-color: var(--btn-bg);
}

.toggle-switch input:checked + .toggle-slider::before {
    transform: translateX(20px);
}

/* Claude: Message banner for user feedback */
.message-banner {
    padding: 10px 15px;
    border-radius: 4px;
    margin-bottom: 15px;
    font-size: 14px;
    transition: opacity 0.3s;
}

.message-banner.hidden {
    display: none;
}

.message-banner.success {
    background-color: var(--msg-success-bg);
    color: var(--msg-success-text);
    border: 1px solid var(--msg-success-text);
}

.message-banner.error {
    background-color: var(--msg-error-bg);
    color: var(--msg-error-text);
    border: 1px solid var(--msg-error-text);
}
