/**
 * PROPRIETARY SOFTWARE NOTICE
 *
 * Copyright (c) Pro Star CMS Development. All rights reserved.
 *
 * This website, its source code, database structure, administrative system,
 * content management system, visual editor, assistant, and all related
 * components, documentation, and methods (the "Software") were designed and
 * developed by Pro Star CMS Development and are its exclusive proprietary and
 * confidential property. The Software is protected by United States copyright
 * law, trade secret law, and other applicable intellectual property laws.
 *
 * No license or other right is granted by access to, possession of, or display
 * of this source code, whether express or implied, by estoppel or otherwise.
 * Except as permitted in a written agreement signed by Pro Star CMS Development,
 * no person may copy, modify, adapt, translate, distribute, publish, sublicense,
 * disclose, decompile, reverse engineer, extract, reuse, or reproduce any portion
 * of the Software, or create derivative works from it, in whole or in part.
 *
 * Review of this code is limited to personnel authorized in writing, and only as
 * necessary to perform approved hosting, maintenance, security, or support
 * services. Any unauthorized use or disclosure may result in civil liability and
 * criminal prosecution to the fullest extent permitted by law.
 *
 * This notice must not be removed, altered, or obscured.
 *
 * For questions, requests for authorization, or technical information, contact
 * Chad Sanders directly:
 *
 * Pro Star Web Design
 * Chad Sanders
 * Phone: 256-550-1988
 */

/*
 * South Eastern Campers: Billing look and feel (additive theme, 2026-11-12).
 *
 * This file only changes how the app LOOKS: colours, fonts, radii, shadows, gradients, backgrounds.
 * It adds no behaviour. It is loaded LAST (after main, billing-ui, glass, motion, day-schedule,
 * weather and the inline <style> in index.php), and works through the existing CSS variables and
 * existing selectors. Delete this one file and remove its <link> line and the app is exactly as before.
 *
 * Palette follows the website (custom.css): maroon #660000 (deep #3a0000 / #2c0000 / #260000),
 * amber #d97706 / #f6ad2a, cream #fbf4ea, line #e6d9c8, ink #241a16.
 * Every text colour set here is at least 4.5:1 on the surface it sits on (measured, see BILLING-RESTYLE.md).
 * Nothing here relies on CSS transitions for essential behaviour; the OmniaMotion engine still drives
 * every open/close.
 */

/* ======================================================================
   Tokens. brand_css_vars() prints the --brand-* values in an inline <style>
   before this file, so these win by order; company.json carries the same values.
   ====================================================================== */
:root {
    --sec-maroon:       #660000;
    --sec-maroon-hi:    #8c1212;
    --sec-maroon-lo:    #4d0000;
    --sec-deep:         #3a0000;
    --sec-deeper:       #2c0000;
    --sec-ink-bg:       #260000;
    --sec-amber:        #d97706;
    --sec-gold:         #f6ad2a;
    --sec-gold-hi:      #f8b232;
    --sec-on-amber:     #1a1206;
    --sec-cream:        #fbf4ea;
    --sec-paper:        #f7f0e8;
    --sec-line:         #e6d9c8;
    --sec-ink:          #241a16;
    --sec-muted:        #5d524b;
    --sec-rim:          rgba(255, 226, 190, .30);
    --sec-gold-grad:    linear-gradient(180deg, #f8b232 0%, #e38a0c 55%, #d97706 100%);
    --sec-maroon-grad:  linear-gradient(180deg, #8c1212 0%, #660000 55%, #4d0000 100%);
    --sec-sh-sm:        0 1px 2px rgba(48, 8, 0, .10), 0 6px 14px -6px rgba(48, 8, 0, .22);
    --sec-sh-md:        0 2px 4px rgba(48, 8, 0, .10), 0 14px 30px -10px rgba(48, 8, 0, .34), 0 30px 60px -34px rgba(48, 8, 0, .40);
    --sec-sh-lg:        0 4px 8px rgba(30, 0, 0, .14), 0 26px 52px -16px rgba(30, 0, 0, .48), 0 50px 90px -40px rgba(30, 0, 0, .55);
    --sec-btn-shadow:   inset 0 1px 0 rgba(255, 255, 255, .26), 0 2px 6px -2px rgba(40, 0, 0, .45);
    --sec-gold-shadow:  inset 0 1px 0 rgba(255, 255, 255, .45), inset 0 -2px 0 rgba(120, 50, 0, .35), 0 8px 18px -8px rgba(217, 119, 6, .75);
    --sec-focus:        0 0 0 3px rgba(246, 173, 42, .55);
    --sec-font-display: "Barlow Condensed", "Bahnschrift SemiCondensed", "Avenir Next Condensed", "Roboto Condensed", "Arial Narrow", sans-serif-condensed, "Segoe UI", system-ui, sans-serif;
    --sec-font-body:    "Barlow", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;

    /* existing brand variables, re-pointed */
    --brand-primary:         #660000;
    --brand-secondary:       #3a0000;
    --brand-accent:          #d97706;
    --brand-header-bg:       #2c0000;
    --brand-text:            #241a16;
    --brand-btn:             #660000;
    --brand-btn-hover:       #4d0000;
    --brand-border:          #e6d9c8;
    --brand-inv-grad-top:    #660000;
    --brand-inv-grad-bottom: #3a0000;
    --brand-dashboard-bg:    #260000;
    --brand-radius:          12px;

    --ui-bg:         #f7f0e8;
    --ui-surface:    #fffdf9;
    --ui-shadow:     var(--sec-sh-sm);
    --ui-shadow-lg:  var(--sec-sh-lg);
    --ui-font:       var(--sec-font-body);

    /* glass system (glass.css and index.php read these) */
    --glass-panel-bg:            rgba(44, 0, 0, .72);
    --glass-panel-border:        rgba(255, 226, 190, .34);
    --glass-panel-shadow-outer:  0 10px 40px rgba(20, 0, 0, .55);
    --glass-card-bg:             rgba(255, 240, 220, .08);
    --glass-card-border:         rgba(255, 226, 190, .22);
    --glass-card-hover-bg:       rgba(255, 240, 220, .17);
    --glass-card-hover-border:   rgba(246, 173, 42, .65);
    --glass-card-hover-glow:     0 4px 24px rgba(246, 173, 42, .26);
    --glass-status-bg:           rgba(44, 0, 0, .55);
    --glass-status-border:       rgba(255, 226, 190, .28);
}

/* >>> AUTO-MAP START : the original app's cold colours (blue, slate, teal, purple) re-expressed in the brand palette.
   Same selectors as the original rules, same cascade order, colour values only. Colours keep the
   same relative luminance as the original so every existing text/background contrast ratio is preserved.
   Status colours (continued / completed / rescheduled / status chips / calendar chips) and the
   network graph are deliberately NOT remapped. Hand-written rules further down win over this block. */

/* from css/main.css */
body { background-color: rgb(245, 241, 237); }
button { background-color: rgb(192, 78, 56); }
button:hover { background-color: rgb(163, 47, 38); }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-top-color: rgb(202, 95, 74); border-right-color: rgb(202, 95, 74); border-bottom-color: rgb(202, 95, 74); border-left-color: rgb(202, 95, 74); box-shadow: rgba(202, 95, 74, 0.15) 0px 0px 0px 2px; }
.btn-secondary { background-color: rgb(130, 113, 98); }
.btn-secondary:hover { background-color: rgb(101, 88, 76); }
.data-table th { background-color: rgb(64, 56, 48); }
.data-table td { border-bottom-color: rgb(241, 235, 229); }
.data-table tbody tr:nth-child(2n):hover { background-color: rgb(241, 235, 229); }
.cal-day { border-top-color: rgb(234, 224, 215); border-right-color: rgb(234, 224, 215); border-bottom-color: rgb(234, 224, 215); border-left-color: rgb(234, 224, 215); }
.cal-day.empty { border-top-color: rgb(241, 235, 229); border-right-color: rgb(241, 235, 229); border-bottom-color: rgb(241, 235, 229); border-left-color: rgb(241, 235, 229); }
.cal-day:not(.empty):hover { background-color: rgb(246, 242, 239); border-top-color: rgb(243, 138, 33); border-right-color: rgb(243, 138, 33); border-bottom-color: rgb(243, 138, 33); border-left-color: rgb(243, 138, 33); box-shadow: rgba(182, 74, 53, 0.08) 0px 2px 8px; }
.cal-day.today { border-top-color: rgb(182, 74, 53); border-right-color: rgb(182, 74, 53); border-bottom-color: rgb(182, 74, 53); border-left-color: rgb(182, 74, 53); background-color: rgb(245, 241, 237); }
.cal-day.today .cal-day-num { color: rgb(182, 74, 53); }
.cal-hover-preview { color: rgb(39, 19, 19); border-top-color: rgb(45, 39, 34); border-right-color: rgb(45, 39, 34); border-bottom-color: rgb(45, 39, 34); border-left-color: rgb(45, 39, 34); box-shadow: rgba(38, 18, 18, 0.35) 0px 22px 50px, rgba(38, 18, 18, 0.18) 0px 8px 18px, rgba(38, 18, 18, 0.1) 0px 1px 3px; }
.cal-hover-preview-head { border-bottom-color: rgb(238, 230, 223); }
.cal-hover-preview-title { color: rgb(39, 19, 19); }
.cal-hover-preview-count { color: rgb(127, 111, 96); background-color: rgb(238, 230, 223); }
.cal-hover-preview-close { color: rgb(127, 111, 96); }
.cal-hover-preview-close:hover { background-color: rgb(238, 230, 223); color: rgb(39, 19, 19); }
.dispatch-card.dcard-ghost .dcard-time { color: rgb(127, 111, 96); }
.dispatch-card.dcard-ghost .dcard-notes { color: rgb(174, 160, 148); }
.dcard-name-block { background-color: rgb(45, 39, 34); border-bottom-color: rgb(38, 18, 18); }
.dcard-name-caption { color: rgb(174, 160, 148); }
.dcard-stat-return { color: rgb(150, 43, 35); }
.dcard-chain-ctx { color: rgb(127, 111, 96); }
.dcard-chain-orig { color: rgb(72, 63, 54); }
.dcard-chain-toggle { color: rgb(183, 75, 53); }
.dcard-chain-toggle:hover { color: rgb(154, 63, 45); }
.dcard-timeline { border-left-color: rgb(238, 230, 223); color: rgb(127, 111, 96); }
.dcard-timeline .dcard-tl-row::before { background-color: rgb(224, 210, 198); box-shadow: rgb(224, 210, 198) 0px 0px 0px 1px; }
.dcard-timeline .dcard-tl-this .dcard-tl-date { color: rgb(72, 63, 54); }
.dcard-tl-tag { color: rgb(127, 111, 96); }
.btn-print { background-color: rgb(89, 77, 67); }
.btn-print:hover { background-color: rgb(64, 56, 48); }
.btn-email { background-color: rgb(182, 74, 53); }
.btn-email:hover { background-color: rgb(155, 44, 36); }
.btn-preview { background-color: rgb(158, 64, 46); }
.btn-preview:hover { background-color: rgb(139, 40, 33); }

/* from css/billing-ui.css */
.btn-secondary { background-color: rgb(130, 113, 98); }
.btn-secondary:hover { background-color: rgb(101, 88, 76); }
.btn-print, .btn-email, .btn-preview { background-color: rgb(61, 53, 46); border-top-color: rgb(51, 24, 24); border-right-color: rgb(51, 24, 24); border-bottom-color: rgb(51, 24, 24); border-left-color: rgb(51, 24, 24); }
.btn-print:hover, .btn-email:hover, .btn-preview:hover { background-color: rgb(51, 24, 24); }
.btn-print { border-bottom-color: rgb(142, 124, 107); }
.btn-email { border-bottom-color: rgb(205, 104, 84); }
.btn-preview { border-bottom-color: rgb(200, 89, 66); }
.btn-field-action { background-color: rgb(237, 229, 222); border-top-color: rgb(191, 180, 170); border-right-color: rgb(191, 180, 170); border-bottom-color: rgb(191, 180, 170); border-left-color: rgb(191, 180, 170); }
.form-group input, .form-group select, .form-group textarea { border-top-color: rgb(224, 210, 198); border-right-color: rgb(224, 210, 198); border-bottom-color: rgb(224, 210, 198); border-left-color: rgb(224, 210, 198); }
.part-actual-cost-group label, .part-markup-group label { color: rgb(168, 152, 139); }
.data-table td { border-bottom-color: rgb(244, 239, 234); }
.data-table tbody tr:hover { background-color: rgb(249, 246, 244); }
.data-table tbody tr:nth-child(2n):hover { background-color: rgb(245, 241, 237); }
.cal-day { border-top-color: rgb(238, 230, 223); border-right-color: rgb(238, 230, 223); border-bottom-color: rgb(238, 230, 223); border-left-color: rgb(238, 230, 223); }
.cal-day:not(.empty):hover { background-color: rgb(246, 242, 238); }
.cal-day.today { background-color: rgb(246, 242, 238); }
.ticket-actions { border-top-color: rgb(238, 230, 223); border-right-color: rgb(238, 230, 223); border-bottom-color: rgb(238, 230, 223); border-left-color: rgb(238, 230, 223); }
.ticket-actions-left { border-right-color: rgb(238, 230, 223); }
#submitTicketBtn { background-color: rgb(138, 40, 32); border-top-color: rgb(119, 34, 28); border-right-color: rgb(119, 34, 28); border-left-color: rgb(119, 34, 28); border-bottom-color: rgb(205, 104, 84); box-shadow: rgba(138, 40, 32, 0.25) 0px 2px 4px; }
#submitTicketBtn:hover { background-color: rgb(119, 34, 28); }
.ticket-actions-right .btn-secondary { background-color: rgb(94, 82, 71); border-top-color: rgb(72, 62, 54); border-right-color: rgb(72, 62, 54); border-left-color: rgb(72, 62, 54); border-bottom-color: rgb(129, 112, 97); }
.ticket-actions-right .btn-secondary:hover { background-color: rgb(72, 62, 54); }
.ticket-workflow-section { border-right-color: rgb(238, 230, 223); border-bottom-color: rgb(238, 230, 223); border-left-color: rgb(238, 230, 223); border-top-color: rgb(238, 230, 223); }
.ticket-card { border-top-color: rgb(241, 234, 229); border-right-color: rgb(241, 234, 229); border-bottom-color: rgb(241, 234, 229); border-left-color: rgb(241, 234, 229); }
.owo-chip-count { color: rgb(45, 39, 34); }
.ticket-search-bar input { border-top-color: rgb(224, 210, 198); border-right-color: rgb(224, 210, 198); border-bottom-color: rgb(224, 210, 198); border-left-color: rgb(224, 210, 198); }
.ticket-filter-row select, .ticket-search-bar select { border-top-color: rgb(224, 210, 198); border-right-color: rgb(224, 210, 198); border-bottom-color: rgb(224, 210, 198); border-left-color: rgb(224, 210, 198); }
.brand-config-section { border-top-color: rgb(238, 230, 223); border-right-color: rgb(238, 230, 223); border-bottom-color: rgb(238, 230, 223); border-left-color: rgb(238, 230, 223); }
.color-item input[type="text"] { border-top-color: rgb(224, 210, 198); border-right-color: rgb(224, 210, 198); border-bottom-color: rgb(224, 210, 198); border-left-color: rgb(224, 210, 198); }
.logo-upload-area { border-top-color: rgb(222, 207, 194); border-right-color: rgb(222, 207, 194); border-bottom-color: rgb(222, 207, 194); border-left-color: rgb(222, 207, 194); }
#ticketList li, #fileList li { border-bottom-color: rgb(245, 240, 236); }
#ticketList li:hover, #fileList li:hover { background-color: rgb(249, 246, 244); }
#adminScheduleForm { border-top-color: rgb(238, 230, 223); border-right-color: rgb(238, 230, 223); border-bottom-color: rgb(238, 230, 223); border-left-color: rgb(238, 230, 223); }
.sched-tech-group select { background-color: rgb(247, 243, 240); border-top-color: rgb(202, 95, 73); border-right-color: rgb(202, 95, 73); border-bottom-color: rgb(202, 95, 73); border-left-color: rgb(202, 95, 73); color: rgb(110, 31, 26); }
.sched-tech-group select:focus { border-top-color: rgb(183, 75, 53); border-right-color: rgb(183, 75, 53); border-bottom-color: rgb(183, 75, 53); border-left-color: rgb(183, 75, 53); box-shadow: rgba(183, 75, 53, 0.18) 0px 0px 0px 3px; }
.btn-continue-job { background-color: rgb(182, 74, 53); }
.btn-continue-job:hover { background-color: rgb(155, 44, 36); }
.btn-capture-sig { background-color: rgb(119, 34, 28); border-top-color: rgb(87, 25, 20); border-right-color: rgb(87, 25, 20); border-left-color: rgb(87, 25, 20); border-bottom-color: rgb(183, 75, 53); }
.btn-capture-sig:hover { background-color: rgb(87, 25, 20); }
.dispatch-card { border-top-color: rgb(234, 225, 216); border-right-color: rgb(234, 225, 216); border-bottom-color: rgb(234, 225, 216); border-left-color: rgb(234, 225, 216); }
@media (max-width: 640px) {
  .dispatch-card.dcard-ghost .dcard-name-block { border-bottom-color: rgb(238, 230, 223) !important; }
}
@media (max-width: 640px) {
  .dispatch-card.dcard-ghost .dcard-name-caption { color: rgb(174, 160, 148) !important; }
}
@media (max-width: 640px) {
  .dispatch-card.dcard-ghost .dcard-name-text { color: rgb(127, 111, 96) !important; }
}
.dcard-time { color: rgb(38, 18, 18); }
.file-card { border-top-color: rgb(234, 225, 216); border-right-color: rgb(234, 225, 216); border-bottom-color: rgb(234, 225, 216); border-left-color: rgb(234, 225, 216); }
.cust-card { border-top-color: rgb(234, 225, 216); border-right-color: rgb(234, 225, 216); border-bottom-color: rgb(234, 225, 216); border-left-color: rgb(234, 225, 216); }
.cust-ticket-id { color: rgb(182, 74, 53); }
.ccard { border-top-color: rgb(239, 232, 226); border-right-color: rgb(239, 232, 226); border-bottom-color: rgb(239, 232, 226); border-left-color: rgb(239, 232, 226); }
.ccard-name { color: rgb(46, 22, 22); }
.ccard-lbl { color: rgb(182, 169, 158); }
.ccard-link { color: rgb(182, 74, 53); }
.sec-appointment { border-top-color: rgb(220, 204, 189); border-right-color: rgb(220, 204, 189); border-bottom-color: rgb(220, 204, 189); border-left-color: rgb(220, 204, 189); }
.sec-appointment h3 { color: rgb(61, 53, 46); border-bottom-color: rgb(188, 177, 167) !important; }
.sec-appliance { background-color: rgb(243, 238, 233); border-top-color: rgb(247, 173, 99); border-right-color: rgb(247, 173, 99); border-bottom-color: rgb(247, 173, 99); border-left-color: rgb(247, 173, 99); }
.sec-appliance h3 { color: rgb(123, 35, 29); border-bottom-color: rgb(243, 138, 33) !important; }
.part-inline-info { background-color: rgb(246, 242, 238); color: rgb(150, 61, 44); border-top-color: rgb(242, 205, 141); border-right-color: rgb(242, 205, 141); border-bottom-color: rgb(242, 205, 141); border-left-color: rgb(242, 205, 141); }
.about-panel { border-top-color: rgba(204, 101, 81, 0.25); border-right-color: rgba(204, 101, 81, 0.25); border-bottom-color: rgba(204, 101, 81, 0.25); border-left-color: rgba(204, 101, 81, 0.25); background-color: rgb(49, 24, 24) !important; }
.about-header { background-image: linear-gradient(135deg, rgb(61, 29, 29) 0%, rgb(52, 45, 39) 100%); border-bottom-color: rgba(204, 101, 81, 0.15); }
.about-title { color: rgb(241, 235, 229); }
.about-subtitle { color: rgba(246, 160, 75, 0.7); }
.about-row { border-bottom-color: rgba(204, 101, 81, 0.08); }
.about-label { color: rgba(246, 160, 75, 0.6); }
.about-value { color: rgb(222, 207, 194); }
.about-close-btn { border-top-color: rgba(204, 101, 81, 0.3); border-right-color: rgba(204, 101, 81, 0.3); border-bottom-color: rgba(204, 101, 81, 0.3); border-left-color: rgba(204, 101, 81, 0.3); background-color: rgba(192, 78, 56, 0.08); color: rgb(245, 154, 64); }
.about-close-btn:hover { background-color: rgba(192, 78, 56, 0.18); border-top-color: rgba(204, 101, 81, 0.5); border-right-color: rgba(204, 101, 81, 0.5); border-bottom-color: rgba(204, 101, 81, 0.5); border-left-color: rgba(204, 101, 81, 0.5); color: rgb(228, 216, 205); }
.sec-notes { border-top-color: rgb(208, 199, 192); border-right-color: rgb(208, 199, 192); border-bottom-color: rgb(208, 199, 192); border-left-color: rgb(208, 199, 192); }
.sec-notes h3 { color: rgb(70, 60, 53); border-bottom-color: rgb(180, 167, 156) !important; }
.visit-pill.visit-active { color: rgb(72, 62, 54); border-top-color: rgb(173, 159, 147); border-right-color: rgb(173, 159, 147); border-bottom-color: rgb(173, 159, 147); border-left-color: rgb(173, 159, 147); }
.sec-photos { border-top-color: rgb(220, 204, 189); border-right-color: rgb(220, 204, 189); border-bottom-color: rgb(220, 204, 189); border-left-color: rgb(220, 204, 189); }
.sec-photos h3 { color: rgb(61, 53, 46); border-bottom-color: rgb(188, 177, 167) !important; }
.btn-photo-departure { border-top-color: rgb(196, 80, 57); border-right-color: rgb(196, 80, 57); border-bottom-color: rgb(196, 80, 57); border-left-color: rgb(196, 80, 57); color: rgb(171, 70, 50); }
.sec-payment { border-top-color: rgb(220, 204, 189); border-right-color: rgb(220, 204, 189); border-bottom-color: rgb(220, 204, 189); border-left-color: rgb(220, 204, 189); }
.sec-payment h3 { color: rgb(61, 53, 46); border-bottom-color: rgb(188, 177, 167) !important; }
.parts-suggestions { border-right-color: rgb(224, 210, 198); border-bottom-color: rgb(224, 210, 198); border-left-color: rgb(224, 210, 198); }
.parts-suggestion-item:hover { background-color: rgb(248, 245, 242); }
.parts-db-search { border-top-color: rgb(224, 210, 198); border-right-color: rgb(224, 210, 198); border-bottom-color: rgb(224, 210, 198); border-left-color: rgb(224, 210, 198); }
.part-add-form { background-image: linear-gradient(135deg, rgb(38, 18, 18) 0%, rgb(46, 40, 34) 100%); border-top-color: rgb(72, 62, 54); border-right-color: rgb(72, 62, 54); border-bottom-color: rgb(72, 62, 54); border-left-color: rgb(72, 62, 54); }
.part-add-form h3 { color: rgb(243, 134, 26) !important; }
.part-add-form label { color: rgb(173, 159, 147); }
.part-add-form input[type="text"], .part-add-form input[type="number"] { background-color: rgb(38, 18, 18); color: rgb(238, 230, 223); border-top-color: rgb(72, 62, 54); border-right-color: rgb(72, 62, 54); border-bottom-color: rgb(72, 62, 54); border-left-color: rgb(72, 62, 54); }
.part-add-form input[type="text"]:focus, .part-add-form input[type="number"]:focus { border-top-color: rgb(205, 104, 84); border-right-color: rgb(205, 104, 84); border-bottom-color: rgb(205, 104, 84); border-left-color: rgb(205, 104, 84); box-shadow: rgba(205, 104, 84, 0.15) 0px 0px 0px 2px; }
.part-img-preview { border-top-color: rgb(224, 210, 198); border-right-color: rgb(224, 210, 198); border-bottom-color: rgb(224, 210, 198); border-left-color: rgb(224, 210, 198); }
.part-img-thumb { border-top-color: rgb(238, 230, 223); border-right-color: rgb(238, 230, 223); border-bottom-color: rgb(238, 230, 223); border-left-color: rgb(238, 230, 223); }
.part-img-full-wrap { border-top-color: rgb(224, 210, 198); border-right-color: rgb(224, 210, 198); border-bottom-color: rgb(224, 210, 198); border-left-color: rgb(224, 210, 198); }
.part-edit-inline { background-color: rgb(252, 251, 250); border-top-color: rgb(247, 179, 111); border-right-color: rgb(247, 179, 111); border-bottom-color: rgb(247, 179, 111); border-left-color: rgb(247, 179, 111); }
.part-edit-inline .form-group input[type="text"], .part-edit-inline .form-group input[type="number"] { border-top-color: rgb(247, 179, 111); border-right-color: rgb(247, 179, 111); border-bottom-color: rgb(247, 179, 111); border-left-color: rgb(247, 179, 111); }
.parts-db-table { background-color: rgb(38, 18, 18); border-top-color: rgb(46, 40, 34); border-right-color: rgb(46, 40, 34); border-bottom-color: rgb(46, 40, 34); border-left-color: rgb(46, 40, 34); }
.parts-db-table thead tr { background-image: linear-gradient(135deg, rgb(46, 40, 34) 0%, rgb(38, 18, 18) 100%) !important; }
.parts-db-table thead th { color: rgb(173, 159, 147) !important; border-bottom-color: rgb(72, 62, 54) !important; }
.parts-db-table tbody tr { border-bottom-color: rgb(46, 40, 34); background-color: rgb(38, 18, 18) !important; }
.parts-db-table tbody tr:nth-child(2n) { background-color: rgb(45, 22, 22) !important; }
.parts-db-table tbody tr:hover { background-color: rgb(53, 25, 25) !important; }
.parts-db-table tbody td { color: rgb(224, 210, 197); border-bottom-color: rgb(46, 40, 34) !important; }
.pdb-edit-btn { background-color: rgba(192, 78, 56, 0.15); color: rgb(243, 134, 26); border-top-color: rgba(205, 104, 84, 0.3); border-right-color: rgba(205, 104, 84, 0.3); border-bottom-color: rgba(205, 104, 84, 0.3); border-left-color: rgba(205, 104, 84, 0.3); }
.pdb-edit-btn:hover { background-color: rgba(192, 78, 56, 0.3); color: rgb(246, 169, 92); }
.pdb-edit-card { background-image: linear-gradient(135deg, rgb(38, 18, 18) 0%, rgb(46, 40, 34) 100%); border-top-color: rgb(72, 62, 54); border-right-color: rgb(72, 62, 54); border-bottom-color: rgb(72, 62, 54); border-left-color: rgb(72, 62, 54); }
.pdb-edit-card label { color: rgb(173, 159, 147); }
.pdb-edit-card input[type="text"], .pdb-edit-card input[type="number"] { background-color: rgb(38, 18, 18); color: rgb(238, 230, 223); border-top-color: rgb(72, 62, 54); border-right-color: rgb(72, 62, 54); border-bottom-color: rgb(72, 62, 54); border-left-color: rgb(72, 62, 54); }
.pdb-edit-card input[type="text"]:focus, .pdb-edit-card input[type="number"]:focus { border-top-color: rgb(205, 104, 84); border-right-color: rgb(205, 104, 84); border-bottom-color: rgb(205, 104, 84); border-left-color: rgb(205, 104, 84); box-shadow: rgba(205, 104, 84, 0.15) 0px 0px 0px 2px; }
.pdb-edit-card .pdb-cost-group input { border-top-color: rgb(94, 82, 71); border-right-color: rgb(94, 82, 71); border-bottom-color: rgb(94, 82, 71); border-left-color: rgb(94, 82, 71); }
.pdb-edit-card .pdb-markup-group input { border-top-color: rgb(94, 82, 71); border-right-color: rgb(94, 82, 71); border-bottom-color: rgb(94, 82, 71); border-left-color: rgb(94, 82, 71); }
.pdb-edit-card .pdb-markup-group input:focus { border-top-color: rgb(240, 126, 13); border-right-color: rgb(240, 126, 13); border-bottom-color: rgb(240, 126, 13); border-left-color: rgb(240, 126, 13); box-shadow: rgba(240, 126, 13, 0.15) 0px 0px 0px 2px; }
.pdb-edit-card .pdb-markup-group label { color: rgb(247, 176, 105); }
.pdb-edit-card .pdb-price-group input { border-top-color: rgb(94, 82, 71); border-right-color: rgb(94, 82, 71); border-bottom-color: rgb(94, 82, 71); border-left-color: rgb(94, 82, 71); }
.pdb-save-btn { background-image: linear-gradient(135deg, rgb(169, 97, 14), rgb(237, 139, 27)); }
.pdb-save-btn:hover { background-image: linear-gradient(135deg, rgb(155, 89, 13), rgb(169, 97, 14)); box-shadow: rgba(237, 139, 27, 0.3) 0px 2px 8px; }
.pdb-cancel-btn { color: rgb(173, 159, 147); border-top-color: rgb(94, 82, 71); border-right-color: rgb(94, 82, 71); border-bottom-color: rgb(94, 82, 71); border-left-color: rgb(94, 82, 71); }
.pdb-cancel-btn:hover { color: rgb(238, 230, 223); border-top-color: rgb(129, 112, 97); border-right-color: rgb(129, 112, 97); border-bottom-color: rgb(129, 112, 97); border-left-color: rgb(129, 112, 97); background-color: rgba(129, 112, 97, 0.1); }
.vendor-search-row .vendor-name { border-top-color: rgb(224, 210, 198); border-right-color: rgb(224, 210, 198); border-bottom-color: rgb(224, 210, 198); border-left-color: rgb(224, 210, 198); }
.vendor-search-row .vendor-url { border-top-color: rgb(224, 210, 198); border-right-color: rgb(224, 210, 198); border-bottom-color: rgb(224, 210, 198); border-left-color: rgb(224, 210, 198); }
.sears-link { color: rgb(154, 63, 45); }
.sears-link:hover { color: rgb(138, 40, 32); }
.customer-suggestions { border-right-color: rgb(224, 210, 198); border-bottom-color: rgb(224, 210, 198); border-left-color: rgb(224, 210, 198); }
.customer-suggestion-item .cust-ac-detail { color: rgb(127, 111, 96); }
@media (max-width: 599px) {
  .ticket-actions { background-color: rgb(45, 39, 34); border-top-color: rgb(39, 19, 19); border-right-color: rgb(39, 19, 19); border-bottom-color: rgb(39, 19, 19); border-left-color: rgb(39, 19, 19); }
}
@media (max-width: 599px) {
  .ticket-actions-left { border-bottom-color: rgb(39, 19, 19) !important; }
}
@media (max-width: 599px) {
  .ticket-actions-left button { background-color: rgb(61, 53, 46) !important; color: rgb(247, 244, 241) !important; }
}
@media (max-width: 599px) {
  .ticket-actions-left button:not(:last-child) { border-right-color: rgb(39, 19, 19) !important; }
}
@media (max-width: 599px) {
  .ticket-actions-left button:active { background-color: rgb(39, 19, 19) !important; }
}
@media (max-width: 599px) {
  .ticket-actions-left .btn-print { box-shadow: rgb(173, 159, 147) 0px 2px 0px inset !important; color: rgb(247, 244, 241) !important; }
}
@media (max-width: 599px) {
  .ticket-actions-left .btn-email { box-shadow: rgb(243, 134, 26) 0px 2px 0px inset !important; color: rgb(247, 244, 241) !important; }
}
@media (max-width: 599px) {
  .ticket-actions-left .btn-preview { box-shadow: rgb(240, 126, 13) 0px 2px 0px inset !important; color: rgb(247, 244, 241) !important; }
}
@media (max-width: 599px) {
  .ticket-actions-right .btn-secondary { background-color: rgb(94, 82, 71) !important; border-right-color: rgb(39, 19, 19) !important; }
}
@media (max-width: 599px) {
  .ticket-actions-right .btn-secondary:active { background-color: rgb(72, 62, 54) !important; }
}
@media (max-width: 599px) {
  .ticket-actions-right #submitTicketBtn { background-color: rgb(138, 40, 32) !important; }
}
@media (max-width: 599px) {
  .ticket-actions-right #submitTicketBtn:active { background-color: rgb(119, 34, 28) !important; }
}
@media (max-width: 599px) {
  .cal-day { border-top-color: rgb(173, 159, 147); border-right-color: rgb(173, 159, 147); border-bottom-color: rgb(173, 159, 147); border-left-color: rgb(173, 159, 147); }
}
@media (max-width: 599px) {
  .cal-day.empty { background-color: rgb(247, 244, 241); border-top-color: rgb(224, 210, 197); border-right-color: rgb(224, 210, 197); border-bottom-color: rgb(224, 210, 197); border-left-color: rgb(224, 210, 197); }
}
@media (max-width: 599px) {
  .cal-day:not(.empty):not(.has-dispatch):not(.today) { border-top-color: rgb(173, 159, 147); border-right-color: rgb(173, 159, 147); border-bottom-color: rgb(173, 159, 147); border-left-color: rgb(173, 159, 147); }
}
@media (max-width: 599px) {
  #partsDbTableWrap .data-table tbody tr { border-top-color: rgb(46, 40, 34); border-right-color: rgb(46, 40, 34); border-bottom-color: rgb(46, 40, 34); border-left-color: rgb(46, 40, 34); background-color: rgb(38, 18, 18); }
}
@media (max-width: 599px) {
  #partsDbTableWrap .data-table tbody tr:nth-child(2n) { background-color: rgb(45, 22, 22); }
}
@media (max-width: 599px) {
  #partsDbTableWrap .data-table tbody tr:hover { background-color: rgb(53, 25, 25); }
}
.pm-card { border-top-color: rgb(235, 226, 218); border-right-color: rgb(235, 226, 218); border-bottom-color: rgb(235, 226, 218); border-left-color: rgb(235, 226, 218); }
.pm-type-link { background-color: rgb(244, 239, 235); color: rgb(171, 70, 50); }
.pm-type-zelle { background-color: rgb(244, 232, 213); color: rgb(152, 27, 58); }
.pm-btn-edit:hover { background-color: rgb(244, 239, 235); border-top-color: rgb(248, 183, 118); border-right-color: rgb(248, 183, 118); border-bottom-color: rgb(248, 183, 118); border-left-color: rgb(248, 183, 118); color: rgb(171, 70, 50); }
.payment-details-card { border-top-color: rgb(235, 226, 218); border-right-color: rgb(235, 226, 218); border-bottom-color: rgb(235, 226, 218); }

/* from css/tech_location.css */
.tl-content { background-color: rgb(23, 11, 11); }
.tl-header { background-color: rgba(35, 17, 17, 0.9); }
.tl-tech-name { color: rgb(238, 230, 223); }
.tl-close { color: rgb(173, 159, 147); }
.tl-toggle-btn { color: rgb(129, 112, 97); }
.tl-toggle-btn:hover { color: rgb(173, 159, 147); }
.tl-viewer { background-color: rgb(23, 11, 11); }
.tl-viewer .leaflet-container { background-color: rgb(23, 11, 11); }
.tl-sidebar { background-color: rgba(35, 17, 17, 0.85); }
.tl-info-value { color: rgb(238, 230, 223); }
.tl-info-value-dim { color: rgb(94, 82, 71); }
.tl-empty { color: rgb(72, 62, 54); }
.geo-perm-box { background-color: rgb(33, 16, 16); }
.geo-perm-body { color: rgb(224, 210, 197); }
.geo-perm-body-sub { color: rgb(173, 159, 147); }
.geo-perm-hint { color: rgba(173, 159, 147, 0.6); }
.geo-perm-remind { background-color: rgba(192, 78, 56, 0.1); border-top-color: rgba(205, 104, 84, 0.2); border-right-color: rgba(205, 104, 84, 0.2); border-bottom-color: rgba(205, 104, 84, 0.2); border-left-color: rgba(205, 104, 84, 0.2); color: rgb(243, 134, 26); }
.geo-perm-remind:hover { background-color: rgba(192, 78, 56, 0.2); border-top-color: rgba(205, 104, 84, 0.35); border-right-color: rgba(205, 104, 84, 0.35); border-bottom-color: rgba(205, 104, 84, 0.35); border-left-color: rgba(205, 104, 84, 0.35); }
.geo-perm-skip { color: rgb(129, 112, 97); }
.geo-perm-skip:hover { color: rgb(173, 159, 147); }
.tl-scan-overlay { background-color: rgba(23, 11, 11, 0.85); }
.tl-scan-text { color: rgb(224, 210, 197); }

/* from css/notes-editor.css */
.omnia-notes-editor:focus-within { box-shadow: rgba(183, 75, 53, 0.15) 0px 0px 0px 2px; }
.omnia-notes-editable:empty::before { color: rgb(174, 160, 148); }
.glass .omnia-notes-editable, [data-theme="dark"] .omnia-notes-editable { color: rgb(238, 230, 223); }
.glass .omnia-tb-btn, [data-theme="dark"] .omnia-tb-btn { color: rgb(224, 210, 198); }

/* from css/day-schedule.css */
.ds-box { color: rgb(45, 39, 34); }
.ds-help { color: rgb(94, 82, 71); }
.ds-msg-info { background-color: rgb(248, 245, 242); color: rgb(138, 40, 32); }
.ds-empty { color: rgb(127, 111, 96); }
.ds-note { color: rgb(127, 111, 96); }
.ds-slot { border-top-color: rgb(238, 230, 223); }
.ds-time { color: rgb(72, 63, 54); }
.ds-open-label { border-top-color: rgb(224, 210, 198); border-right-color: rgb(224, 210, 198); border-bottom-color: rgb(224, 210, 198); border-left-color: rgb(224, 210, 198); color: rgb(174, 160, 148); }
.ds-card { background-color: rgb(119, 34, 28); }
.ds-card.is-locked { background-color: rgb(238, 230, 223); color: rgb(72, 63, 54); }
.ds-lock { color: rgb(127, 111, 96); }
.ds-foot { border-top-color: rgb(238, 230, 223); }
.ds-allhours { color: rgb(94, 82, 71); }
.ds-btn-plain { background-color: rgb(238, 230, 223); color: rgb(72, 63, 54); }
.ds-pk-hint { color: rgb(94, 82, 71); }
.ds-picker { border-bottom-color: rgb(238, 230, 223); }
.ds-pk-nav { border-top-color: rgb(224, 210, 198); border-right-color: rgb(224, 210, 198); border-bottom-color: rgb(224, 210, 198); border-left-color: rgb(224, 210, 198); color: rgb(45, 39, 34); }
.ds-pk-dow { color: rgb(127, 111, 96); }
.ds-pk-day { border-top-color: rgb(238, 230, 223); border-right-color: rgb(238, 230, 223); border-bottom-color: rgb(238, 230, 223); border-left-color: rgb(238, 230, 223); color: rgb(45, 39, 34); }
.ds-pk-day.is-today { border-top-color: rgb(243, 134, 26); border-right-color: rgb(243, 134, 26); border-bottom-color: rgb(243, 134, 26); border-left-color: rgb(243, 134, 26); background-color: rgb(248, 245, 242); }
.ds-pk-n { background-color: rgb(119, 34, 28); }
.ds-pk-day.is-sel .ds-pk-n { color: rgb(45, 39, 34); }

/* from css/glass.css */
@supports not (backdrop-filter: blur(1px)) {
  .dash-body-inner { background-color: rgba(43, 21, 21, 0.82) !important; }
}
.dash-section-label { text-shadow: rgba(245, 153, 62, 0.3) 0px 0px 8px; color: rgba(231, 221, 211, 0.55) !important; }
.dash-body-inner .dash-card { color: rgba(239, 232, 226, 0.92) !important; }
.dash-body-inner .dash-card-title { color: rgba(245, 240, 236, 0.95) !important; }
.dash-body-inner .dash-card-desc { color: rgba(248, 185, 122, 0.65) !important; }
.dash-body-inner .dash-about-btn { color: rgba(247, 178, 109, 0.75) !important; border-top-color: rgba(245, 157, 69, 0.25) !important; border-right-color: rgba(245, 157, 69, 0.25) !important; border-bottom-color: rgba(245, 157, 69, 0.25) !important; border-left-color: rgba(245, 157, 69, 0.25) !important; }
.dash-body-inner .dash-about-btn:hover { background-color: rgba(245, 157, 69, 0.12) !important; border-top-color: rgba(245, 157, 69, 0.45) !important; border-right-color: rgba(245, 157, 69, 0.45) !important; border-bottom-color: rgba(245, 157, 69, 0.45) !important; border-left-color: rgba(245, 157, 69, 0.45) !important; color: rgba(229, 217, 206, 0.95) !important; }

/* from inline:*, *::before, *::after  box-s */
.dash-datetime-clock { text-shadow: rgba(245, 153, 62, 0.35) 0px 0px 10px; }
.dash-body-inner { background-color: rgba(245, 241, 237, 0.9); }
.dash-section--primary { box-shadow: var(--glass-panel-shadow-outer, 0 8px 48px rgba(0,0,0,.55)),
                    0 0 0 1px rgba(255,255,255,.1),
                    0 4px 28px rgba(245, 153, 62, 0.18); }
.view-toggle-btn { border-top-color: rgb(224, 210, 198); border-right-color: rgb(224, 210, 198); border-bottom-color: rgb(224, 210, 198); border-left-color: rgb(224, 210, 198); }
.view-toggle-btn:hover { border-top-color: rgb(182, 74, 53); border-right-color: rgb(182, 74, 53); border-bottom-color: rgb(182, 74, 53); border-left-color: rgb(182, 74, 53); color: rgb(182, 74, 53); }
.view-toggle-active { background-color: rgb(182, 74, 53); border-top-color: rgb(182, 74, 53); border-right-color: rgb(182, 74, 53); border-bottom-color: rgb(182, 74, 53); border-left-color: rgb(182, 74, 53); }
.view-toggle-active:hover { background-color: rgb(163, 47, 38); border-top-color: rgb(163, 47, 38); border-right-color: rgb(163, 47, 38); border-bottom-color: rgb(163, 47, 38); border-left-color: rgb(163, 47, 38); }
.dash-about-btn { border-top-color: rgba(153, 136, 120, 0.35); border-right-color: rgba(153, 136, 120, 0.35); border-bottom-color: rgba(153, 136, 120, 0.35); border-left-color: rgba(153, 136, 120, 0.35); }
.dash-about-btn:hover { background-color: rgba(153, 136, 120, 0.12); border-top-color: rgba(153, 136, 120, 0.55); border-right-color: rgba(153, 136, 120, 0.55); border-bottom-color: rgba(153, 136, 120, 0.55); border-left-color: rgba(153, 136, 120, 0.55); }
.dash-email-btn { border-top-color: rgba(208, 112, 92, 0.4); border-right-color: rgba(208, 112, 92, 0.4); border-bottom-color: rgba(208, 112, 92, 0.4); border-left-color: rgba(208, 112, 92, 0.4); color: rgb(183, 75, 53); }
.dash-email-btn:hover { background-color: rgba(183, 75, 53, 0.1); border-top-color: rgba(183, 75, 53, 0.6); border-right-color: rgba(183, 75, 53, 0.6); border-bottom-color: rgba(183, 75, 53, 0.6); border-left-color: rgba(183, 75, 53, 0.6); }
.alog-panel-header { border-bottom-color: rgba(59, 51, 44, 0.5); }
.alog-panel-title, .alog-modal-title { color: rgb(238, 230, 223); }
.alog-panel-close, .alog-modal-close { color: rgb(173, 159, 147); }
.alog-filters { border-bottom-color: rgba(59, 51, 44, 0.4); }
.alog-filter-field label { color: rgb(94, 82, 71); }
.alog-filter-field input[type="date"], .alog-search-row input { background-color: rgba(38, 18, 18, 0.7); border-top-color: rgba(72, 62, 54, 0.5); border-right-color: rgba(72, 62, 54, 0.5); border-bottom-color: rgba(72, 62, 54, 0.5); border-left-color: rgba(72, 62, 54, 0.5); color: rgb(238, 230, 223); }
.alog-scroll::-webkit-scrollbar-thumb { background-color: rgb(46, 40, 34); }
.alog-empty { color: rgb(94, 82, 71); }
.alog-date-header { color: rgb(94, 82, 71); border-bottom-color: rgba(46, 40, 34, 0.5); }
.alog-entry:hover { background-color: rgba(46, 40, 34, 0.4); }
.alog-msg { color: rgb(224, 210, 197); }
.alog-meta { color: rgb(94, 82, 71); }
.alog-user { color: rgb(129, 112, 97); }
.alog-tid { background-color: rgba(72, 62, 54, 0.3); color: rgb(129, 112, 97); }
.alog-modal { background-color: rgba(24, 12, 12, 0.95); border-top-color: rgba(59, 51, 44, 0.6); border-right-color: rgba(59, 51, 44, 0.6); border-bottom-color: rgba(59, 51, 44, 0.6); border-left-color: rgba(59, 51, 44, 0.6); }
.alog-modal-header { border-bottom-color: rgba(59, 51, 44, 0.5); }
#activeUsersPanel { background-color: rgba(35, 17, 17, 0.55); border-top-color: rgba(59, 51, 44, 0.6); }
.au-label { color: rgb(59, 51, 44); }

/* from inline:@keyframes tcPulse0%,100%tra */
.tc-unread-flash { outline-color: rgba(237, 144, 38, 0) !important; }
.dc-new-flash { outline-color: rgba(229, 120, 12, 0) !important; }

/* from inline:.sync-status-pilldisplay:inli */
#offlineSyncToast { background-color: rgb(171, 70, 50); }

/* from inline: ── Splash Container ─────── */
#splashScreen { background-image: radial-gradient(at 25% 25%, rgba(124, 35, 29, 0.13) 0%, transparent 55%), radial-gradient(at 75% 70%, rgba(169, 69, 49, 0.1) 0%, transparent 50%), radial-gradient(at 50% 45%, rgb(41, 20, 20) 0%, rgb(25, 12, 12) 40%, rgb(13, 6, 6) 100%); }
.splash-grid-overlay { background-image: linear-gradient(rgba(192, 78, 56, 0.02) 1px, transparent 1px), linear-gradient(90deg, rgba(192, 78, 56, 0.02) 1px, transparent 1px); }
.splash-scanline { background-image: linear-gradient(90deg, transparent 0%, rgba(239, 126, 13, 0.04) 15%, rgba(192, 78, 56, 0.1) 40%, rgba(241, 168, 85, 0.12) 60%, rgba(239, 126, 13, 0.04) 85%, transparent 100%); }
.splash-hud { border-top-color: rgba(209, 116, 97, 0.18); border-right-color: rgba(209, 116, 97, 0.18); border-bottom-color: rgba(209, 116, 97, 0.18); border-left-color: rgba(209, 116, 97, 0.18); }
.splash-boot-label { color: rgba(242, 127, 13, 0.28); }
.splash-boot-panel { background-color: rgba(23, 11, 11, 0.75); border-top-color: rgba(209, 116, 97, 0.12); border-right-color: rgba(209, 116, 97, 0.12); border-bottom-color: rgba(209, 116, 97, 0.12); border-left-color: rgba(209, 116, 97, 0.12); box-shadow: rgba(173, 71, 50, 0.06) 0px 0px 24px, rgba(245, 153, 62, 0.05) 0px 1px 0px inset; }
@supports (backdrop-filter: blur(10px)) {
  .splash-boot-panel { background-color: rgba(23, 11, 11, 0.5); }
}
#bootLog { color: rgba(227, 214, 203, 0.7); }
.boot-line .boot-label { color: rgba(206, 197, 190, 0.55); }
.boot-line .boot-load { color: rgba(245, 153, 60, 0.7); }
.splash-mileage-label, .splash-mileage-history-label { color: rgba(241, 199, 126, 0.7); text-shadow: rgba(242, 127, 13, 0.2) 0px 0px 8px; }
.splash-mileage-field label { color: rgba(228, 216, 205, 0.7); }
.splash-mileage-field input { background-color: rgba(23, 11, 11, 0.65); border-top-color: rgba(209, 116, 97, 0.15); border-right-color: rgba(209, 116, 97, 0.15); border-bottom-color: rgba(209, 116, 97, 0.15); border-left-color: rgba(209, 116, 97, 0.15); color: rgba(236, 228, 220, 0.9); }
.splash-mileage-field input:focus { border-top-color: rgba(242, 127, 13, 0.4); border-right-color: rgba(242, 127, 13, 0.4); border-bottom-color: rgba(242, 127, 13, 0.4); border-left-color: rgba(242, 127, 13, 0.4); box-shadow: rgba(209, 116, 97, 0.15) 0px 0px 8px; }
.splash-mileage-field input::placeholder { color: rgba(206, 197, 190, 0.2); }
.splash-mileage-save { background-color: rgba(192, 78, 56, 0.15); border-top-color: rgba(209, 116, 97, 0.25); border-right-color: rgba(209, 116, 97, 0.25); border-bottom-color: rgba(209, 116, 97, 0.25); border-left-color: rgba(209, 116, 97, 0.25); color: rgba(242, 202, 135, 0.8); }
.splash-mileage-save:hover { background-color: rgba(192, 78, 56, 0.25); border-top-color: rgba(209, 116, 97, 0.4); border-right-color: rgba(209, 116, 97, 0.4); border-bottom-color: rgba(209, 116, 97, 0.4); border-left-color: rgba(209, 116, 97, 0.4); }
.splash-mileage-history { background-color: rgba(23, 11, 11, 0.55); border-top-color: rgba(209, 116, 97, 0.1); border-right-color: rgba(209, 116, 97, 0.1); border-bottom-color: rgba(209, 116, 97, 0.1); border-left-color: rgba(209, 116, 97, 0.1); }
.splash-mileage-history th { color: rgba(247, 176, 105, 0.65); border-bottom-color: rgba(209, 116, 97, 0.12); }
.splash-mileage-history td { color: rgba(232, 222, 213, 0.75); border-bottom-color: rgba(209, 116, 97, 0.06); }
.splash-mileage-history tr:hover td { color: rgba(239, 232, 226, 0.9); background-color: rgba(192, 78, 56, 0.04); }
.mileage-edit-btn { color: rgba(248, 185, 122, 0.4); }
.mileage-edit-btn:hover { color: rgba(241, 199, 126, 0.85); }
.mileage-inline-input { background-color: rgba(23, 11, 11, 0.8); border-top-color: rgba(242, 127, 13, 0.35); border-right-color: rgba(242, 127, 13, 0.35); border-bottom-color: rgba(242, 127, 13, 0.35); border-left-color: rgba(242, 127, 13, 0.35); color: rgba(236, 228, 220, 0.9); }
.mileage-inline-input:focus { border-top-color: rgba(242, 127, 13, 0.6); border-right-color: rgba(242, 127, 13, 0.6); border-bottom-color: rgba(242, 127, 13, 0.6); border-left-color: rgba(242, 127, 13, 0.6); box-shadow: rgba(209, 116, 97, 0.2) 0px 0px 6px; }
.mileage-inline-save { background-color: rgba(192, 78, 56, 0.2); border-top-color: rgba(209, 116, 97, 0.3); border-right-color: rgba(209, 116, 97, 0.3); border-bottom-color: rgba(209, 116, 97, 0.3); border-left-color: rgba(209, 116, 97, 0.3); color: rgba(242, 202, 135, 0.8); }
.mileage-inline-save:hover { background-color: rgba(192, 78, 56, 0.35); }
.splash-mileage-more { border-top-color: rgba(209, 116, 97, 0.1); border-right-color: rgba(209, 116, 97, 0.1); border-bottom-color: rgba(209, 116, 97, 0.1); border-left-color: rgba(209, 116, 97, 0.1); color: rgba(242, 127, 13, 0.35); }
.splash-mileage-more:hover { color: rgba(242, 127, 13, 0.6); border-top-color: rgba(209, 116, 97, 0.25); border-right-color: rgba(209, 116, 97, 0.25); border-bottom-color: rgba(209, 116, 97, 0.25); border-left-color: rgba(209, 116, 97, 0.25); }
.splash-engage-btn { border-top-color: rgba(242, 127, 13, 0.35); border-right-color: rgba(242, 127, 13, 0.35); border-bottom-color: rgba(242, 127, 13, 0.35); border-left-color: rgba(242, 127, 13, 0.35); color: rgba(229, 217, 206, 0.85); }
.splash-engage-btn::before { background-image: linear-gradient(135deg, rgba(192, 78, 56, 0.08), rgba(196, 80, 57, 0.06)); }
.splash-engage-btn:hover { border-top-color: rgba(245, 153, 62, 0.6); border-right-color: rgba(245, 153, 62, 0.6); border-bottom-color: rgba(245, 153, 62, 0.6); border-left-color: rgba(245, 153, 62, 0.6); color: rgb(239, 232, 226); box-shadow: rgba(209, 116, 97, 0.15) 0px 0px 20px, rgba(209, 116, 97, 0.06) 0px 0px 40px; }

/* inline style="..." colours written by the JavaScript screens, matched by attribute (colour only). Only the ones that occur on the screens are kept, to keep style recalculation fast. */
[style^="background:#7c3aed"],
[style*=";background:#7c3aed"],
[style*=" background:#7c3aed"],
[style^="background: #7c3aed"],
[style*=";background: #7c3aed"],
[style*=" background: #7c3aed"],
[style^="background: rgb(124, 58, 237)"],
[style*="; background: rgb(124, 58, 237)"] { background-color: rgb(172, 70, 50) !important; }
[style^="color:#1e293b"],
[style*=";color:#1e293b"],
[style*=" color:#1e293b"],
[style^="color: #1e293b"],
[style*=";color: #1e293b"],
[style*=" color: #1e293b"],
[style^="color: rgb(30, 41, 59)"],
[style*="; color: rgb(30, 41, 59)"] { color: rgb(46, 40, 34) !important; }
[style^="background:#2563eb"],
[style*=";background:#2563eb"],
[style*=" background:#2563eb"],
[style^="background: #2563eb"],
[style*=";background: #2563eb"],
[style*=" background: #2563eb"],
[style^="background: rgb(37, 99, 235)"],
[style*="; background: rgb(37, 99, 235)"] { background-color: rgb(183, 75, 53) !important; }
[style^="background:#0d9488"],
[style*=";background:#0d9488"],
[style*=" background:#0d9488"],
[style^="background: #0d9488"],
[style*=";background: #0d9488"],
[style*=" background: #0d9488"],
[style^="background: rgb(13, 148, 136)"],
[style*="; background: rgb(13, 148, 136)"] { background-color: rgb(169, 97, 14) !important; }
[style^="color:#0069d9"],
[style*=";color:#0069d9"],
[style*=" color:#0069d9"],
[style^="color: #0069d9"],
[style*=";color: #0069d9"],
[style*=" color: #0069d9"],
[style^="color: rgb(0, 105, 217)"],
[style*="; color: rgb(0, 105, 217)"] { color: rgb(182, 74, 53) !important; }
[style^="background:#0069d9"],
[style*=";background:#0069d9"],
[style*=" background:#0069d9"],
[style^="background: #0069d9"],
[style*=";background: #0069d9"],
[style*=" background: #0069d9"],
[style^="background: rgb(0, 105, 217)"],
[style*="; background: rgb(0, 105, 217)"] { background-color: rgb(182, 74, 53) !important; }
[style^="color:#065f46"],
[style*=";color:#065f46"],
[style*=" color:#065f46"],
[style^="color: #065f46"],
[style*=";color: #065f46"],
[style*=" color: #065f46"],
[style^="color: rgb(6, 95, 70)"],
[style*="; color: rgb(6, 95, 70)"] { color: rgb(140, 58, 11) !important; }
[style^="background:#1565c0"],
[style*=";background:#1565c0"],
[style*=" background:#1565c0"],
[style^="background: #1565c0"],
[style*=";background: #1565c0"],
[style*=" background: #1565c0"],
[style^="background: rgb(21, 101, 192)"],
[style*="; background: rgb(21, 101, 192)"] { background-color: rgb(171, 70, 50) !important; }
[style^="color:#1565c0"],
[style*=";color:#1565c0"],
[style*=" color:#1565c0"],
[style^="color: #1565c0"],
[style*=";color: #1565c0"],
[style*=" color: #1565c0"],
[style^="color: rgb(21, 101, 192)"],
[style*="; color: rgb(21, 101, 192)"] { color: rgb(171, 70, 50) !important; }
[style^="background:#1e40af"],
[style*=";background:#1e40af"],
[style*=" background:#1e40af"],
[style^="background: #1e40af"],
[style*=";background: #1e40af"],
[style*=" background: #1e40af"],
[style^="background: rgb(30, 64, 175)"],
[style*="; background: rgb(30, 64, 175)"] { background-color: rgb(153, 12, 12) !important; }
[style^="color:#1d4ed8"],
[style*=";color:#1d4ed8"],
[style*=" color:#1d4ed8"],
[style^="color: #1d4ed8"],
[style*=";color: #1d4ed8"],
[style*=" color: #1d4ed8"],
[style^="color: rgb(29, 78, 216)"],
[style*="; color: rgb(29, 78, 216)"] { color: rgb(154, 63, 45) !important; }
[style^="color:#93c5fd"],
[style*=";color:#93c5fd"],
[style*=" color:#93c5fd"],
[style^="color: #93c5fd"],
[style*=";color: #93c5fd"],
[style*=" color: #93c5fd"],
[style^="color: rgb(147, 197, 253)"],
[style*="; color: rgb(147, 197, 253)"] { color: rgb(247, 179, 111) !important; }
[style^="color:#1e40af"],
[style*=";color:#1e40af"],
[style*=" color:#1e40af"],
[style^="color: #1e40af"],
[style*=";color: #1e40af"],
[style*=" color: #1e40af"],
[style^="color: rgb(30, 64, 175)"],
[style*="; color: rgb(30, 64, 175)"] { color: rgb(153, 12, 12) !important; }
[style^="color:#2a3545"],
[style*=";color:#2a3545"],
[style*=" color:#2a3545"],
[style^="color: #2a3545"],
[style*=";color: #2a3545"],
[style*=" color: #2a3545"],
[style^="color: rgb(42, 53, 69)"],
[style*="; color: rgb(42, 53, 69)"] { color: rgb(59, 51, 44) !important; }
[style^="background:#0f1729"],
[style*=";background:#0f1729"],
[style*=" background:#0f1729"],
[style^="background: #0f1729"],
[style*=";background: #0f1729"],
[style*=" background: #0f1729"],
[style^="background: rgb(15, 23, 41)"],
[style*="; background: rgb(15, 23, 41)"] { background-color: rgb(37, 18, 18) !important; }
[style^="background:#0891b2"],
[style*=";background:#0891b2"],
[style*=" background:#0891b2"],
[style^="background: #0891b2"],
[style*=";background: #0891b2"],
[style*=" background: #0891b2"],
[style^="background: rgb(8, 145, 178)"],
[style*="; background: rgb(8, 145, 178)"] { background-color: rgb(192, 78, 56) !important; }
[style^="background:#0b1222"],
[style*=";background:#0b1222"],
[style*=" background:#0b1222"],
[style^="background: #0b1222"],
[style*=";background: #0b1222"],
[style*=" background: #0b1222"],
[style^="background: rgb(11, 18, 34)"],
[style*="; background: rgb(11, 18, 34)"] { background-color: rgb(29, 14, 14) !important; }
[style^="background:#1a2332"],
[style*=";background:#1a2332"],
[style*=" background:#1a2332"],
[style^="background: #1a2332"],
[style*=";background: #1a2332"],
[style*=" background: #1a2332"],
[style^="background: rgb(26, 35, 50)"],
[style*="; background: rgb(26, 35, 50)"] { background-color: rgb(55, 27, 27) !important; }
[style^="color:#10b981"],
[style*=";color:#10b981"],
[style*=" color:#10b981"],
[style^="color: #10b981"],
[style*=";color: #10b981"],
[style*=" color: #10b981"],
[style^="color: rgb(16, 185, 129)"],
[style*="; color: rgb(16, 185, 129)"] { color: rgb(237, 139, 27) !important; }
[style^="color:#2563eb"],
[style*=";color:#2563eb"],
[style*=" color:#2563eb"],
[style^="color: #2563eb"],
[style*=";color: #2563eb"],
[style*=" color: #2563eb"],
[style^="color: rgb(37, 99, 235)"],
[style*="; color: rgb(37, 99, 235)"] { color: rgb(183, 75, 53) !important; }
[style^="color:#a78bfa"],
[style*=";color:#a78bfa"],
[style*=" color:#a78bfa"],
[style^="color: #a78bfa"],
[style*=";color: #a78bfa"],
[style*=" color: #a78bfa"],
[style^="color: rgb(167, 139, 250)"],
[style*="; color: rgb(167, 139, 250)"] { color: rgb(240, 126, 13) !important; }
[style^="color:#7c3aed"],
[style*=";color:#7c3aed"],
[style*=" color:#7c3aed"],
[style^="color: #7c3aed"],
[style*=";color: #7c3aed"],
[style*=" color: #7c3aed"],
[style^="color: rgb(124, 58, 237)"],
[style*="; color: rgb(124, 58, 237)"] { color: rgb(172, 70, 50) !important; }

/* AUTO-MAP END <<< */

/* ======================================================================
   Base
   ====================================================================== */
html body {
    font-family: var(--sec-font-body);
    color: var(--sec-ink);
    background-color: #260000;
}
html body:not(.role-guest)::before { /* wallpaper tint (the guest demo banner uses body::before too, so it is left alone) (index.php prints this layer only when a wallpaper is set) */
    background:
        radial-gradient(70% 60% at 85% 0%, rgba(217, 119, 6, .20), transparent 60%),
        linear-gradient(180deg, rgba(58, 0, 0, .58) 0%, rgba(38, 0, 0, .78) 100%) !important;
    opacity: 1 !important;
}
:focus-visible {
    outline: 3px solid var(--sec-gold) !important;
    outline-offset: 2px;
}
/* on the light (paper) surfaces gold is too pale to see, so use the deep maroon ring there */
.modal-content :focus-visible { outline-color: #8c1212 !important; }
/* text fields already get the amber ring below, so keep their outline tight (it must not reach the label above) */
html body input:focus-visible, html body select:focus-visible, html body textarea:focus-visible { outline-width: 2px !important; outline-offset: 0 !important; }
input:focus, select:focus, textarea:focus {
    border-color: var(--sec-amber) !important;
    box-shadow: var(--sec-focus) !important;
    outline: none;
}
::selection { background: rgba(246, 173, 42, .45); color: #1a0000; }
h1, h2, h3, .modal-content > h2, .modal-header, .section-head, .dash-hero-name, .dash-card-title {
    font-family: var(--sec-font-display);
}

/* ======================================================================
   Top bar, hero, panels
   ====================================================================== */
html body .dash-nav {
    background: linear-gradient(180deg, #4d0000 0%, #2c0000 100%);
    border-bottom: 2px solid var(--sec-amber);
    box-shadow: 0 10px 26px -12px rgba(20, 0, 0, .8);
}
.dash-nav-logo {
    height: 42px;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .5)) !important;
    margin: 4px 0;
}
.dash-nav-avatar {
    background: var(--sec-gold-grad);
    color: var(--sec-on-amber);
    border: 2px solid rgba(255, 255, 255, .55);
}
.dash-nav-user-tag { color: rgba(255, 236, 214, .72); }
.dash-nav-admin-badge {
    background: var(--sec-gold-grad);
    color: var(--sec-on-amber);
}
html body .dash-nav-logout {
    background: rgba(255, 240, 220, .10);
    border: 1px solid rgba(255, 226, 190, .45);
    color: #fff;
    border-radius: 9px;
    min-height: 34px;
    padding: 6px 14px;
}
html body .dash-nav-logout:hover {
    background: var(--sec-gold-grad);
    color: var(--sec-on-amber);
    border-color: transparent;
}

html body .dash-hero {
    background:
        radial-gradient(60% 140% at 100% 0%, rgba(217, 119, 6, .30), transparent 60%),
        linear-gradient(135deg, #3a0000 0%, #660000 100%);
    border-bottom: 1px solid rgba(255, 226, 190, .18);
}
.dash-hero::after { background: rgba(246, 173, 42, .07); }
.dash-hero-greeting, .dash-hero-tag { color: rgba(255, 226, 190, .82); }
html body .dash-hero-name {
    text-transform: uppercase;
    letter-spacing: .02em;
    font-weight: 700;
}
.dash-hero-sub { color: rgba(255, 240, 225, .82); }
.dash-hero-sub strong { color: #fff; }

.dash-datetime-greeting { color: rgba(255, 226, 190, .82); }
.dash-datetime-clock { text-shadow: 0 0 10px rgba(246, 173, 42, .35); font-family: var(--sec-font-display); font-weight: 700; letter-spacing: .06em; }
.dash-geo-status { color: rgba(255, 226, 190, .72); }
.dash-geo-status.geo-live { color: #8ee0a3; }
.dash-geo-status.geo-error { color: #ffb4a8; }

html body .dash-body-inner,
html body .dash-section,
html body .dash-datetime-bar {
    border-color: var(--glass-panel-border);
    box-shadow:
        var(--glass-panel-shadow-outer),
        inset 0 1px 0 rgba(255, 236, 214, .45),
        inset 0 0 32px rgba(255, 226, 190, .05) !important;
}
html body .dash-section--primary {
    border-color: rgba(246, 173, 42, .55);
}
html body .dash-section .section-head {
    color: #fff;
    border-bottom-color: rgba(255, 226, 190, .24);
    background: linear-gradient(180deg, rgba(246, 173, 42, .14), rgba(246, 173, 42, .03));
    font-size: 14px;
    letter-spacing: .08em;
}
html body .dash-section--primary .section-head { color: #fff; }
.dash-section-label { color: rgba(255, 226, 190, .8) !important; text-shadow: none !important; }

/* Dashboard cards: glass tile, warm accent line, brand icon wells */
html body .dash-body-inner .dash-card {
    color: #fff5e8 !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 8px rgba(20, 0, 0, .35), inset 0 1px 0 rgba(255, 236, 214, .22) !important;
}
html body .dash-body-inner .dash-card::before { opacity: .95; height: 3px; }
html body .dash-body-inner .dash-card-title {
    color: #fff !important;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .03em;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .5);
}
html body .dash-body-inner .dash-card-desc { color: rgba(255, 232, 205, .82) !important; }
html body .dash-body-inner .dash-card-icon {
    background: rgba(246, 173, 42, .16) !important;
    border-color: rgba(246, 173, 42, .38);
    border-radius: 10px;
}
/* accent colours per card family: one warm family, still distinguishable by position and label */
.card-green    { --card-accent: #f6ad2a; }
.card-blue      { --card-accent: #e8793a; }
.card-indigo    { --card-accent: #d95b5b; }
.card-orange    { --card-accent: #f8b232; }
.card-teal      { --card-accent: #c98a3a; }
.card-slate     { --card-accent: #b8a58f; }
.card-purple    { --card-accent: #c2475a; }
.card-cyan      { --card-accent: #e0a24a; }
.card-config    { --card-accent: #d97706; }
.card-database  { --card-accent: #e8793a; }
.card-backup    { --card-accent: #f6ad2a; }

html body .dash-body-inner .dash-status-bar {
    color: rgba(255, 240, 225, .9) !important;
    border-radius: 12px !important;
}
html body .dash-body-inner .dash-status-bar strong { color: #fff !important; }
html body .dash-body-inner .dash-about-btn,
html body .dash-body-inner .dash-email-btn,
html body .dash-body-inner .dash-reboot-btn {
    color: rgba(255, 240, 225, .92) !important;
    border-color: rgba(255, 226, 190, .38) !important;
}
html body .dash-body-inner .dash-about-btn:hover,
html body .dash-body-inner .dash-email-btn:hover,
html body .dash-body-inner .dash-reboot-btn:hover {
    background: rgba(246, 173, 42, .18) !important;
    border-color: var(--sec-gold) !important;
    color: #fff !important;
}

/* Activity log docked panel and its modal */
html body #activityLogPanel, html body .alog-modal {
    background: rgba(44, 0, 0, .78);
    border-color: var(--glass-panel-border);
    border-radius: 16px;
}
.alog-panel-title, .alog-modal-title { color: #fff; font-family: var(--sec-font-display); font-size: 16px; letter-spacing: .05em; }
.alog-panel-close, .alog-modal-close { color: #ffe3c2; background: rgba(255, 240, 220, .10); }
.alog-panel-close:hover, .alog-modal-close:hover { background: rgba(246, 173, 42, .25); color: #fff; }
.alog-panel-header, .alog-modal-header, .alog-filters { border-bottom-color: rgba(255, 226, 190, .18); }
.alog-filter-field label, .alog-date-header, .alog-empty, .alog-meta { color: rgba(255, 226, 190, .78); }
.alog-user { color: #ffe3c2; }
.alog-msg { color: #fff5e8; }
.alog-tid { color: #ffe3c2; background: rgba(255, 226, 190, .12); }
.alog-filter-field input[type="date"], .alog-search-row input {
    background: rgba(26, 0, 0, .65);
    border-color: rgba(255, 226, 190, .30);
    color: #fff;
}
.alog-entry:hover { background: rgba(255, 226, 190, .09); }
.alog-clickable:hover { background: rgba(246, 173, 42, .14); }

/* Network strip and active users */
html body #netStrip {
    background: #1c0000;
    border-top: 2px solid var(--sec-amber);
}
html body #activeUsersPanel {
    background: rgba(58, 0, 0, .65);
    border-top-color: rgba(255, 226, 190, .22);
}
.au-label { color: rgba(255, 226, 190, .75); }
.au-pill {
    background: rgba(246, 173, 42, .14);
    border-color: rgba(246, 173, 42, .5);
    color: #ffd27a;
}
.au-pill-admin { background: rgba(246, 173, 42, .26); border-color: rgba(246, 173, 42, .7); }
.au-pill:hover { box-shadow: 0 2px 10px rgba(246, 173, 42, .3); background: rgba(246, 173, 42, .28); }

/* ======================================================================
   Buttons. Element selector so every class-coloured button (danger, secondary, ...) keeps its own colour.
   ====================================================================== */
button, .btn {
    font-family: var(--sec-font-body);
    font-weight: 700;
    letter-spacing: .02em;
    border-radius: 12px;
    background: var(--sec-maroon-grad);
    color: #fff;
    box-shadow: var(--sec-btn-shadow);
}
button:hover, .btn:hover {
    background: linear-gradient(180deg, #a01818 0%, #7a0a0a 55%, #5c0000 100%);
    box-shadow: var(--sec-btn-shadow), 0 4px 10px -4px rgba(40, 0, 0, .5);
}
button:disabled { filter: saturate(.6); }
html body #submitTicketBtn,
html body .btn-complete-job {
    background: var(--sec-gold-grad);
    color: var(--sec-on-amber);
    border: 1px solid #b45309;
    border-bottom: 3px solid #9a4a05;
    box-shadow: var(--sec-gold-shadow);
    font-weight: 800;
}
html body #submitTicketBtn:hover,
html body .btn-complete-job:hover {
    background: linear-gradient(180deg, #ffc44d 0%, #ee9610 55%, #e07d0a 100%);
    color: var(--sec-on-amber);
}
.btn-secondary { background: linear-gradient(180deg, #6f625a 0%, #5a4e47 100%); }
.btn-secondary:hover { background: linear-gradient(180deg, #5a4e47 0%, #463b35 100%); }
html body .ticket-actions-right .btn-secondary { background: linear-gradient(180deg, #6f625a 0%, #5a4e47 100%); border-color: #3f352f; border-bottom-color: #8a7d73; }
html body .ticket-actions-right .btn-secondary:hover { background: #463b35; }

/* ======================================================================
   Modals: warm paper card, maroon header with an amber rule
   ====================================================================== */
html body .modal { background: rgba(26, 0, 0, .66); }
html body .modal-content {
    background: var(--ui-surface);
    border-radius: 18px;
    box-shadow: var(--sec-sh-lg);
    border: 1px solid rgba(255, 226, 190, .5);
}
html body .modal-content > h2,
html body .modal-content > .modal-header {
    background:
        radial-gradient(70% 160% at 100% 0%, rgba(217, 119, 6, .30), transparent 60%),
        linear-gradient(180deg, #6f0a0a 0%, #3a0000 100%);
    border-bottom: 3px solid var(--sec-amber);
    border-radius: 14px 14px 0 0;
    letter-spacing: .05em;
    font-size: 1.3rem;
    text-transform: uppercase;
}
.modal-content h3 { font-family: var(--sec-font-display); letter-spacing: .06em; }
.modal-content hr { border-color: var(--sec-line); }

/* Ticket form: semantic section tints, re-toned warm but still four different colours */
.sec-customer   { background: #fdf3dd; border-color: #ecd08e; }
.sec-customer h3   { color: #6f3a00; border-bottom-color: #e3b765 !important; }
.sec-appointment { background: #f4efe8; border-color: #d6ccc0; }
.sec-appointment h3 { color: #3a2f2a; border-bottom-color: #bfb2a4 !important; }
.sec-contact    { background: #f1e5d2; border-color: #d5bf9d; }
.sec-contact h3, .sec-contact.collapsed h3.section-toggle { color: #5a3b12; border-bottom-color: #c7aa7a !important; }
.sec-contact.collapsed { background: #ead9bf; border-color: #c7aa7a; }
#visitsBar.visits-bar { background: #f6ead5; border-color: #e3c690; }
#visitsBar .visits-label { color: #6f3a00; }
.sec-appliance  { background: #edf3e8; border-color: #b9cfae; }
.sec-appliance h3  { color: #2c5a27; border-bottom-color: #93b886 !important; }
.sec-parts      { background: #fbebea; border-color: #e3b0ae; }
.sec-parts h3      { color: #7a0f0f; border-bottom-color: #d58a88 !important; }
html body .ticket-summary-bar { background: #f6e6c4; border-color: #e3b765; color: #2b1d10; }
.ticket-summary-title { color: #6f3a00; }
.ticket-summary-total strong { color: var(--sec-maroon); }
html body .ticket-actions,
html body .ticket-workflow-section { background: #f7f0e8; border-color: var(--sec-line); }
html body .ticket-actions-left { border-right-color: var(--sec-line); }
.part-no-number-label input[type="checkbox"] { accent-color: var(--sec-maroon); }

/* ======================================================================
   Login page (css/login.css supplies structure; this paints it)
   ====================================================================== */
html body .login-stars-bg, html body #ambientBg { display: none !important; }
body:has(.login-wrapper) {
    background:
        radial-gradient(90% 70% at 50% 40%, rgba(38, 0, 0, .15) 0%, rgba(26, 0, 0, .78) 100%),
        linear-gradient(180deg, rgba(58, 0, 0, .55) 0%, rgba(26, 0, 0, .72) 100%),
        url("../company/assets/sec-wallpaper.webp") center / cover no-repeat,
        #260000;
    font-family: var(--sec-font-body);
}
.login-wrapper { max-width: 440px; }
.login-brand .brand-icon {
    width: 104px; height: 106px; border-radius: 0;
    background: url("../company/assets/sec-logo.png") center / contain no-repeat;
    box-shadow: none;
    filter: drop-shadow(0 10px 24px rgba(0, 0, 0, .6));
    margin-bottom: 16px;
}
.login-brand .brand-icon svg { display: none; }
.login-brand h1 {
    font-family: var(--sec-font-display);
    font-size: 34px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #fff;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .6);
}
.login-brand p { color: rgba(255, 240, 225, .9); font-size: 14px; text-shadow: 0 1px 6px rgba(0, 0, 0, .6); }
html body .login-card {
    background: linear-gradient(180deg, rgba(70, 6, 6, .58) 0%, rgba(38, 0, 0, .70) 100%);
    -webkit-backdrop-filter: blur(14px) saturate(1.15);
            backdrop-filter: blur(14px) saturate(1.15);
    border: 1px solid rgba(255, 226, 190, .32);
    border-radius: 22px;
    box-shadow: inset 0 1px 0 rgba(255, 236, 214, .5), 0 4px 8px rgba(0, 0, 0, .25), 0 28px 60px -12px rgba(0, 0, 0, .65);
}
.login-wrapper .field label { color: #ffe3c2; font-size: 12px; font-weight: 600; letter-spacing: .1em; }
.login-wrapper .field input {
    background: rgba(24, 0, 0, .62);
    border: 1px solid rgba(255, 226, 190, .34);
    border-radius: 12px;
    color: #fff;
    font-family: var(--sec-font-body);
    font-size: 16px; /* 16px stops iOS zooming into the field */
    min-height: 46px;
}
.login-wrapper .field input::placeholder { color: rgba(255, 236, 214, .66); }
.login-wrapper .field input:focus { border-color: var(--sec-gold) !important; box-shadow: var(--sec-focus) !important; }
.login-wrapper .field-input-wrap svg { stroke: #ffd9a3; }
.login-wrapper .field input:focus + svg, .login-wrapper .field-input-wrap:focus-within svg { stroke: var(--sec-gold); }
.login-wrapper .error-msg { background: rgba(120, 0, 0, .55); border-color: rgba(255, 150, 140, .55); color: #ffe1dc; border-radius: 12px; }
.login-wrapper .error-msg svg { stroke: #ffb4a8; }
html body .login-card button[type="submit"] {
    background: var(--sec-gold-grad);
    color: var(--sec-on-amber);
    font-family: var(--sec-font-display);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .09em;
    border-radius: 12px;
    min-height: 50px;
    box-shadow: var(--sec-gold-shadow);
    text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
}
html body .login-card button[type="submit"]:hover { opacity: 1; filter: brightness(1.07); background: var(--sec-gold-grad); }
.login-wrapper .login-footer { color: rgba(255, 240, 225, .82); }
.login-wrapper .login-footer a { color: #ffd27a; }
.login-wrapper .login-footer a:hover { color: #fff; }
.login-version { color: #fff !important; }

/* ======================================================================
   Splash / boot screen (loading.php): same stage, warm instead of cold
   ====================================================================== */
html body #splashScreen {
    background:
        radial-gradient(ellipse at 20% 20%, rgba(217, 119, 6, .20) 0%, transparent 55%),
        radial-gradient(ellipse at 80% 80%, rgba(140, 18, 18, .35) 0%, transparent 55%),
        radial-gradient(ellipse at 50% 45%, #4d0000 0%, #2c0000 45%, #180000 100%);
}
html body #splashCanvas { filter: sepia(1) saturate(2.4) hue-rotate(-14deg); opacity: .9; }
html body .splash-grid-overlay {
    background-image:
        linear-gradient(rgba(246, 173, 42, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(246, 173, 42, .035) 1px, transparent 1px);
}
html body .splash-scanline { background: linear-gradient(90deg, transparent 0%, rgba(246, 173, 42, .06) 20%, rgba(246, 173, 42, .18) 50%, rgba(246, 173, 42, .06) 80%, transparent 100%); }
html body .splash-hud { border-color: rgba(246, 173, 42, .35); animation: none; }
html body .splash-logo {
    height: 118px;
    animation: secLogoFloat 4s ease-in-out infinite;
}
@keyframes secLogoFloat {
    0%, 100% { transform: translateY(0);    filter: drop-shadow(0 0 22px rgba(246, 173, 42, .30)) drop-shadow(0 6px 14px rgba(0, 0, 0, .45)); }
    50%      { transform: translateY(-8px); filter: drop-shadow(0 0 34px rgba(246, 173, 42, .45)) drop-shadow(0 12px 20px rgba(0, 0, 0, .35)); }
}
html body .splash-logo-reflect { display: none; }
html body .splash-company {
    font-family: var(--sec-font-display);
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #fff;
    font-size: clamp(1.5rem, 4vw, 2.1rem);
    animation: none;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .55);
}
html body .splash-byline { color: rgba(255, 226, 190, .85); }
html body .splash-copy { color: rgba(255, 226, 190, .72); }
html body .splash-version { color: rgba(255, 226, 190, .65); }
html body .splash-engage-btn {
    background: var(--sec-gold-grad) !important;
    color: var(--sec-on-amber) !important;
    border: 1px solid #b45309 !important;
    border-radius: 12px !important;
    font-family: var(--sec-font-display) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .25) !important;
    box-shadow: var(--sec-gold-shadow) !important;
}
html body .splash-boot-label { color: rgba(255, 226, 190, .75); }
html body .splash-boot-panel {
    background: rgba(26, 0, 0, .6);
    border-color: rgba(255, 226, 190, .26);
    box-shadow: 0 0 24px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 226, 190, .12);
    animation: none;
}
html body #bootLog { color: rgba(255, 240, 225, .88); }
html body .boot-line .boot-label { color: rgba(255, 226, 190, .8); }
html body .boot-line .boot-ok { color: #8ee0a3; }
html body .boot-line .boot-warn { color: #ffd27a; }
html body .boot-line .boot-load { color: #f6ad2a; }
html body .boot-line .boot-dots { color: rgba(255, 226, 190, .35); }
html body .splash-mileage-label, html body .splash-mileage-history-label { color: rgba(255, 226, 190, .85); }
html body .splash-mileage-field label { color: rgba(255, 226, 190, .85); }
html body .splash-mileage input {
    background: rgba(26, 0, 0, .65) !important;
    border-color: rgba(255, 226, 190, .38) !important;
    color: #fff !important;
    border-radius: 10px !important;
}
html body .splash-mileage input::placeholder { color: rgba(255, 236, 214, .62); }
html body .splash-mileage-save, html body .splash-mileage-more {
    background: rgba(246, 173, 42, .16) !important;
    border-color: rgba(246, 173, 42, .6) !important;
    color: #ffe3b0 !important;
    border-radius: 10px !important;
}
html body .splash-mileage-history { background: rgba(26, 0, 0, .45) !important; border-color: rgba(255, 226, 190, .22) !important; }
html body .splash-mileage-msg { color: #ffd27a; }
html body .splash-mileage-hint { color: rgba(255, 226, 190, .85); }

/* Location prompt (tech_location.css) */
html body .geo-perm-box {
    background: linear-gradient(180deg, rgba(70, 6, 6, .96) 0%, rgba(38, 0, 0, .97) 100%);
    border: 1px solid rgba(255, 226, 190, .34);
    border-radius: 20px;
    box-shadow: inset 0 1px 0 rgba(255, 236, 214, .4), 0 28px 60px -10px rgba(0, 0, 0, .7);
}
html body .geo-perm-title { color: #ffd27a; font-family: var(--sec-font-display); font-size: 24px; letter-spacing: .05em; text-transform: uppercase; }
html body .geo-perm-body { color: #fff5e8; }
html body .geo-perm-hint { color: rgba(255, 226, 190, .8); }
html body .geo-perm-btn { border-radius: 12px; font-weight: 700; }
html body .geo-perm-allow { background: var(--sec-gold-grad); color: var(--sec-on-amber); border-color: #b45309; box-shadow: var(--sec-gold-shadow); }
html body .geo-perm-remind { background: rgba(255, 240, 220, .10); color: #ffe3b0; border-color: rgba(255, 226, 190, .45); box-shadow: none; }
html body .geo-perm-skip { background: rgba(0, 0, 0, .25); color: #ffe3c2; border-color: rgba(255, 226, 190, .3); box-shadow: none; }

/* Custom confirm / alert dialogs (inline-styled in custom-dialogs.js) */
#customConfirmOverlay > div, #customAlertOverlay > div { border-radius: 18px !important; box-shadow: var(--sec-sh-lg) !important; }


/* ======================================================================
   Tech Chat (its markup is styled inline by js/tech_chat.js, so these use !important)
   ====================================================================== */
#tcModalContent { background: #1d0707 !important; border: 1px solid rgba(255, 226, 190, .25) !important; border-radius: 18px; }
#tcModalContent [style*="#0c1a2e" i] {
    background: linear-gradient(135deg, #5a0c0c 0%, #3a0000 60%, #2c0000 100%) !important;
    border-bottom: 2px solid var(--sec-amber) !important;
}
#tcModalContent [style*="#0891b2" i] { background: var(--sec-gold-grad) !important; color: var(--sec-on-amber) !important; box-shadow: none !important; }
#tcModalContent h2 { font-family: var(--sec-font-display); text-transform: uppercase; letter-spacing: .05em; }
.tc-meta .tc-self { color: #ffd27a; }
.tc-meta .tc-role-a { background: rgba(246, 173, 42, .2); color: #ffd27a; }
.tc-size-btn:active { background: rgba(246, 173, 42, .3); }


/* ======================================================================
   Contrast touch-ups: places where the original text was already under 4.5:1 and a small change fixes it
   ====================================================================== */
:root {
    --brand-active:      #6f6259;   /* status chip: Active (was slate #94a3b8, white text 2.6:1) */
    --brand-rescheduled: #b45309;   /* status chip: Rescheduled (was #d97706, white text 3.2:1) */
}
html body .tsf-chip.tsf-on.tsf-active, html body .tsf-chip:has(input:checked).tsf-active       { background: #6f6259; border-color: #574c45; }
html body .tsf-chip.tsf-on.tsf-rescheduled, html body .tsf-chip:has(input:checked).tsf-rescheduled { background: #b45309; border-color: #8f3f07; }
html body .geo-perm-btn.geo-perm-allow {
    background: var(--sec-gold-grad) !important; color: var(--sec-on-amber) !important;
    border-color: #b45309 !important; box-shadow: var(--sec-gold-shadow) !important;
}
html body .modal-content .part-actual-cost-group label,
html body .modal-content .part-markup-group label { color: #6b5a4d !important; }
html body .modal-content .part-customer-price-group label { color: #1f6b33 !important; }
html body button[onclick*="saveTicketReschedule"] {
    background: var(--sec-gold-grad) !important; color: var(--sec-on-amber) !important;
}
html body .splash-mileage-history div { color: rgba(255, 226, 190, .85) !important; }
html body .about-label { color: #ecc79a; }
html body .about-subtitle { color: #f0c27a; }
html body #netStrip #ssCountdown { color: rgba(255, 226, 190, .78) !important; }
html body #alogSearch::placeholder { color: rgba(255, 236, 214, .78); }
html body #visitsBar .visits-none { color: #6b5a4d; }


/* Buttons the JavaScript screens colour inline: amber ones get dark text (white on amber is about 2:1),
   and the bright green ones are deepened so their white text reaches 4.5:1. Matched by attribute, colour only. */
[style^="background:#f59e0b"], [style*=";background:#f59e0b"], [style*=" background:#f59e0b"],
[style^="background:#f9a825"], [style*=";background:#f9a825"], [style*=" background:#f9a825"],
[style^="background: rgb(245, 158, 11)"], [style*="; background: rgb(245, 158, 11)"],
[style^="background: rgb(249, 168, 37)"], [style*="; background: rgb(249, 168, 37)"] { color: #1a1206 !important; }
[style^="background:#16a34a"], [style*=";background:#16a34a"], [style*=" background:#16a34a"],
[style^="background: rgb(22, 163, 74)"], [style*="; background: rgb(22, 163, 74)"] { background-color: #15803d !important; }
/* Tech Chat captions (dark panel, slate text written inline) */
#tcModalContent p, #tcModalContent #tcOnlineCount, .tc-meta, .tc-meta .tc-time, .tc-date-sep span { color: #e0c3a2 !important; }
#tcInput::placeholder { color: rgba(255, 236, 214, .78); }
#tcMessages > div, #tcModalContent .tc-size-ctrl span { color: #e0c3a2 !important; }
/* Parts Database: the muted cost / updated columns on the dark rows */
.parts-db-table td[style*="#64748b"], .parts-db-table td[style*="100, 116, 139"] { color: #c9b4a2 !important; }
/* green text written inline (white-on-green and green-on-white were both under 4.5:1) */
[style^="color:#16a34a"], [style*=";color:#16a34a"], [style*=" color:#16a34a"],
[style^="color: rgb(22, 163, 74)"], [style*="; color: rgb(22, 163, 74)"] { color: #15803d !important; }

/* ======================================================================
   Phones: keep tap targets, keep the 16px input size that stops iOS zoom
   ====================================================================== */
@media (max-width: 599px) {
    html body .dash-nav-logo { height: 36px; }
    html body .modal-content > h2, html body .modal-content > .modal-header { font-size: 1.1rem; }
}
@media (prefers-reduced-motion: reduce) {
    html body .splash-logo { animation: none; }
}
