/* PurpleVMS admin theme - matches the Purple Penguin Vending logo (purple + gold). */

:root,
html[data-theme="light"] {
    --primary: #6a1b9a;
    --primary-fg: #fff;
    --secondary: #4a148c;
    --accent: #f7c600;

    --header-color: #f7e9a0;
    --header-branding-color: #fff;
    --header-bg: var(--secondary);
    --header-link-color: #fff;

    --breadcrumbs-fg: #f0d9ff;
    --breadcrumbs-link-fg: #fff;
    --breadcrumbs-bg: var(--primary);

    --link-fg: #6a1b9a;
    --link-hover-color: #4a148c;
    --link-selected-fg: #4a148c;

    --selected-bg: #f4e6ff;
    --selected-row: #fdf6d9;

    --button-bg: var(--primary);
    --button-fg: #fff;
    --button-hover-bg: var(--secondary);
    --default-button-bg: var(--secondary);
    --default-button-hover-bg: #38105e;

    --object-tools-bg: #f7c600;
    --object-tools-fg: #4a148c;
    --object-tools-hover-bg: #e0b400;
}

@media (prefers-color-scheme: dark) {
    :root {
        --primary: #a855e6;
        --header-bg: #2d0f4a;
        --header-color: #f7e9a0;
        --link-fg: #c184f0;
        --link-hover-color: #d9adf7;
    }
}

#branding h1,
#branding h1 a:link,
#branding h1 a:visited {
    color: var(--header-branding-color);
    display: flex;
    align-items: center;
    gap: 10px;
}

#branding img.brand-logo {
    height: 40px;
    width: auto;
    display: inline-block;
}

div.breadcrumbs a {
    color: var(--breadcrumbs-link-fg);
}

/* Compact, single-line list rows: long names/locations truncate with an
   ellipsis (hover to see the full text) instead of wrapping and making
   every row several lines tall. */
#changelist table th,
#changelist table td {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 320px;
    padding-top: 6px;
    padding-bottom: 6px;
}

#changelist table th.action-checkbox-column,
#changelist table td.action-checkbox-column {
    max-width: none;
}


/* Mileage entry: reorderable stop rows (see core/js/stop-reorder.js) */
#stops-group th.stop-handle, #stops-group td.stop-handle { width: 92px; white-space: nowrap; vertical-align: middle; }
#stops-group .drag-grip { cursor: grab; color: #8e3fc4; font-size: 15px; letter-spacing: -3px; padding: 4px 6px 4px 2px; user-select: none; }
#stops-group .stop-number { display: inline-block; min-width: 14px; font-weight: bold; color: #4a148c; }
#stops-group .stop-arrows button { border: 1px solid #c9b3df; background: #f6f0fb; color: #4a148c; border-radius: 4px;
  font-size: 10px; line-height: 1; padding: 4px 6px; margin-left: 2px; cursor: pointer; }
#stops-group .stop-arrows button:hover { background: #ead9f7; }
#stops-group tr.stop-dragging { opacity: 0.45; outline: 2px dashed #8e3fc4; }
