/*
 * Socket Sam 1.1.47 — Dark Theme Restoration
 *
 * Additive override layer only. Loaded after the existing app.css so later
 * application behavior and layout CSS remain untouched.
 */

:root{
  color-scheme:dark;
  --ss-bg:#0b0d10;
  --ss-surface:#15191f;
  --ss-surface-2:#1b2027;
  --ss-surface-3:#222831;
  --ss-border:#343b46;
  --ss-border-soft:#2a3039;
  --ss-text:#f3f5f7;
  --ss-muted:#a8b0ba;
  --ss-link:#ff6670;
  --ss-red:#d5101d;
  --ss-red-hover:#ed1c2a;
}

html,body{
  background:var(--ss-bg)!important;
  color:var(--ss-text)!important;
}

body,.shell,.main,.loginwrap,.publicwrap{
  background:var(--ss-bg)!important;
  color:var(--ss-text)!important;
}

.boot p,
.pagehead p,
.field .hint,
.help,
.empty,
.timelineitem time,
.kicker,
.compact-row span,
.publicbrand p,
.switchtext span{
  color:var(--ss-muted)!important;
}

/* Core surfaces */
.card,
.stat,
.authcard,
.tablewrap,
.compact-row,
.modal,
.modalhead,
.modalbody,
.modalfoot,
.sectiontabs button,
.statusbar select{
  background:var(--ss-surface)!important;
  color:var(--ss-text)!important;
  border-color:var(--ss-border)!important;
}

.modalhead,
.modalfoot{
  background:var(--ss-surface-2)!important;
}

.card,
.stat,
.authcard,
.tablewrap,
.compact-row{
  box-shadow:none!important;
}

/* Navigation / top bar */
.topbar{
  background:#0b0b0c!important;
  color:#fff!important;
  border-bottom-color:var(--ss-red)!important;
}
.nav{
  background:#111419!important;
  color:#e7ebef!important;
  border-right:1px solid var(--ss-border-soft);
}
.nav a{color:#d5dbe1!important}
.nav a:hover,.nav a.active{
  background:#272d35!important;
  color:#fff!important;
}
.nav .section{color:#9099a4!important}
.top-actions button,.iconbtn{
  background:#20252c!important;
  color:#fff!important;
  border-color:#424a55!important;
}

/* Forms */
.field input,
.field select,
.field textarea,
input,
select,
textarea{
  background:var(--ss-surface-2)!important;
  color:var(--ss-text)!important;
  border-color:#47505c!important;
  caret-color:#fff;
}
input::placeholder,textarea::placeholder{color:#808995!important}
input:disabled,select:disabled,textarea:disabled{
  background:#12161b!important;
  color:#7f8791!important;
  opacity:1;
}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator{
  filter:invert(1);
}

/* Buttons */
.btn,
.tabs button,
.sectiontabs button,
.closebtn{
  background:var(--ss-surface-2)!important;
  color:var(--ss-text)!important;
  border-color:#47505c!important;
}
.btn:hover,
.tabs button:hover,
.sectiontabs button:hover{
  background:var(--ss-surface-3)!important;
}
.btn.primary{
  background:var(--ss-red)!important;
  border-color:var(--ss-red)!important;
  color:#fff!important;
}
.btn.primary:hover{background:var(--ss-red-hover)!important}
.btn.dark,
.tabs button.active,
.sectiontabs button.active{
  background:#050607!important;
  border-color:#4a515c!important;
  color:#fff!important;
}
.btn.danger{
  background:#a91520!important;
  border-color:#a91520!important;
  color:#fff!important;
}

/* Tables */
table{background:var(--ss-surface)!important;color:var(--ss-text)!important}
th{
  background:#1d2229!important;
  color:#b9c0c9!important;
  border-bottom-color:var(--ss-border)!important;
}
td{
  background:var(--ss-surface)!important;
  color:var(--ss-text)!important;
  border-bottom-color:var(--ss-border-soft)!important;
}
tr:hover td{background:#191e24!important}
.link,a.link{color:var(--ss-link)!important}

/* Switches and separators */
.switchrow{border-bottom-color:var(--ss-border-soft)!important}
.switch span{background:#59616c!important}
.switch span:after{background:#f5f5f5!important}
.switch input:checked+span{background:var(--ss-red)!important}

/* Status / alerts retain semantic distinction while dark-safe */
.badge{
  background:#2a3038!important;
  color:#e6ebef!important;
}
.badge.warn{
  background:#4b3b13!important;
  color:#ffe39a!important;
}
.badge.good{
  background:#163a26!important;
  color:#9be4b7!important;
}
.badge.bad{
  background:#4a1c22!important;
  color:#ffb0b6!important;
}
.readonly{
  background:#3e3517!important;
  border-color:#75642b!important;
  color:#ffe7a0!important;
}

/* Dialogs / signature */
.modal::backdrop{background:rgba(0,0,0,.72)!important}
.closebtn{background:transparent!important}
.sigcanvas{
  background:#fff!important; /* signature canvas intentionally remains white */
  border-color:#69727d!important;
}

/* Schedule/calendar surfaces used across the PWA generations. */
[class*="calendar"],
[class*="schedule-grid"],
[class*="week-grid"],
[class*="day-grid"],
[class*="month-grid"],
[class*="month-cell"],
[class*="time-grid"],
[class*="time-slot"],
[class*="unscheduled"]{
  border-color:var(--ss-border)!important;
}
[class*="calendar-head"],
[class*="day-head"],
[class*="week-head"],
[class*="month-head"]{
  background:#171c22!important;
  color:var(--ss-text)!important;
  border-color:var(--ss-border)!important;
}
[class*="month-cell"],
[class*="time-slot"]{
  background:#11151a!important;
  color:var(--ss-text)!important;
}
[class*="off-hours"],
[class*="closed-day"]{
  background:#0d1014!important;
}

/* VIN OCR/barcode enhancement introduced in 1.1.45/1.1.46. */
.vin-overlay,
.vin-stage{
  color:#fff!important;
}
.vin-bottom,
.vin-top,
.vin-confirm{
  background:rgba(17,20,25,.96)!important;
  color:#fff!important;
  border-color:var(--ss-border)!important;
}
.vin-confirm-input{
  background:#1b2027!important;
  color:#fff!important;
  border-color:#59616c!important;
}
.vin-status{color:#e8edf2!important}

/* Keep native branding artwork readable. */
.brandmark img{
  background:#fff!important;
}

/* Scrollbars where supported. */
*{
  scrollbar-color:#4a525d #11151a;
}
