:root{
  --bg:#f6f7fb;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --nav:#1f3341;
  --nav2:#162734;
  --line:rgba(15,23,42,.08);
  --shadow:0 10px 30px rgba(2,6,23,.06);
  --shadow2:0 6px 18px rgba(2,6,23,.06);
  --radius:18px;
}
*{ box-sizing:border-box; }
/* utility */
body{ margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; background:var(--bg); color:var(--text); }
.gs-container{ max-width:1200px; margin:0 auto; }
.gs-shell{ display:flex; min-height:100vh; min-width:0; }
.gs-sidebar{
  width:260px;
  flex:0 0 260px;
  background: linear-gradient(180deg,var(--nav) 0%, var(--nav2) 100%);
  color:#fff;
  padding:18px 14px;
  box-shadow: inset -1px 0 0 rgba(255,255,255,.06);
  min-height:100vh;
  position:sticky;
  top:0;
  overflow-y:auto;
  overflow-x:hidden;
}
.gs-brand{
  display:flex; align-items:center; gap:10px;
  padding:10px 10px 16px 10px;
  margin-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.gs-logo{ height:28px; width:auto; object-fit:contain; border-radius:10px; background:#fff; padding:6px; box-shadow:0 8px 18px rgba(0,0,0,.18); }
.gs-title{ font-weight:800; letter-spacing:-.01em; }
.gs-section{ margin:16px 10px 8px; font-size:12px; text-transform:uppercase; letter-spacing:.08em; opacity:.65; }
.gs-nav{ display:flex; flex-direction:column; gap:6px; padding:0 6px 12px 6px; }
.gs-nav a{
  display:flex; align-items:center; gap:10px;
  color:#fff; text-decoration:none;
  padding:10px 12px;
  border-radius:14px;
  font-weight:700;
  opacity:.88;
  transition:all .12s ease;
  min-height:44px;
}
.gs-nav a:hover{ background:rgba(255,255,255,.10); opacity:1; transform:translateY(-1px); }
.gs-nav a.is-active{ background:rgba(255,255,255,.14); opacity:1; }
.gs-nav-badge{
  margin-left:auto;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:#55b35f;
  color:#fff;
  font-size:12px;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 16px rgba(85,179,95,.28);
}
.gs-ic, .gs-ico{ width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 18px; }
.gs-ic svg, .gs-ico svg{ width:18px; height:18px; display:block; }

.gs-sidebar{ z-index:20; }
.gs-nav-link{ position:relative; }

.gs-notif-list{ display:flex; flex-direction:column; gap:12px; }
.gs-notif-card{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%, #f8fafc 100%);
  box-shadow:var(--shadow2);
}
.gs-notif-copy{ min-width:0; flex:1; }
.gs-notif-title{ font-weight:900; font-size:20px; letter-spacing:-.02em; }
.gs-notif-meta{ margin-top:6px; color:var(--muted); font-size:13px; font-weight:700; }
.gs-notif-body{ margin-top:10px; color:var(--text); }
.gs-notif-actions{ display:flex; align-items:center; justify-content:flex-end; flex:0 0 auto; }
.gs-notif-empty{
  border:1px dashed rgba(100,116,139,.35);
  border-radius:18px;
  padding:18px;
  color:var(--muted);
  background:#fbfdff;
}
@media (max-width: 860px){
  .gs-notif-card{ flex-direction:column; align-items:stretch; }
  .gs-notif-actions{ justify-content:flex-start; }
}
.gs-main{ flex:1; min-width:0; overflow-x:hidden; padding:26px; }
.gs-page, .gs-container{ min-width:0; }
.gs-sidebar .gs-sidebar-notifications,
.gs-sidebar .gs-notifications-preview,
.gs-sidebar .sidebar-notification-panel,
.gs-sidebar .notification-preview,
.gs-sidebar .uudet-ilmoitukset,
.gs-sidebar [data-sidebar-notifications]{ display:none !important; }

/* settings sub-nav under sidebar */
.gs-nav-group{ display:flex; flex-direction:column; gap:6px; }
.gs-nav-sub{ display:flex; flex-direction:column; gap:6px; margin-left:34px; margin-top:-2px; }
.gs-nav-sublink{
  display:block;
  color:#fff; text-decoration:none;
  padding:8px 12px;
  border-radius:12px;
  font-weight:800;
  opacity:.78;
  font-size:13px;
  transition:all .12s ease;
}
.gs-nav-sublink:hover{ background:rgba(255,255,255,.10); opacity:1; transform:translateY(-1px); }
.gs-nav-sublink.is-active{ background:rgba(255,255,255,.14); opacity:1; }
.gs-ico{ width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; opacity:.95; }

.gs-main{ flex:1; padding:26px; }
.gs-header{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:18px; margin-bottom:16px;
}
.gs-h-title{ font-size:28px; font-weight:900; letter-spacing:-.02em; margin:0; }
.gs-h-sub{ color:var(--muted); margin-top:6px; }

.gs-actions{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; justify-content:flex-end; }
.gs-btn{
  border:1px solid var(--line);
  background:var(--card);
  padding:10px 14px;
  border-radius:14px;
  font-weight:800;
  cursor:pointer;
  box-shadow: var(--shadow2);
  text-decoration:none;
  color:var(--text);
}
.gs-btn:hover{ transform:translateY(-1px); }
.gs-btn.primary{ background:#16a34a; border-color:#16a34a; color:#fff; }
.gs-btn.primary:hover{ filter:brightness(1.02); }

/* form controls (uniform across pages) */
label{ display:block; font-size:12px; color:var(--muted); font-weight:800; margin-bottom:6px; }
.gs-input, .gs-select, .gs-textarea{
  width:100%;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
  font-weight:700;
  box-shadow: inset 0 1px 0 rgba(2,6,23,.04);
  outline:none;
}
.gs-textarea{ min-height:110px; resize:vertical; }
.gs-input::placeholder{ color:rgba(100,116,139,.85); font-weight:700; }
.gs-input:focus, .gs-select:focus, .gs-textarea:focus{ border-color:rgba(37,99,235,.45); box-shadow:0 0 0 4px rgba(37,99,235,.12); }
.gs-help{ margin-top:6px; color:var(--muted); font-size:12px; }
.gs-formgrid{ display:grid; gap:12px; align-items:end; }
.gs-formactions{ display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap; }

/* quote list filter row */
.qs-filters{ grid-template-columns: 1fr 220px auto; }
@media (max-width: 900px){ .qs-filters{ grid-template-columns: 1fr; } }

/* quote builder */
.q-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:16px; margin-top:14px; }
.q-btn{ border:1px solid var(--line); background:var(--card); padding:10px 14px; border-radius:14px; font-weight:800; cursor:pointer; box-shadow:var(--shadow2); }
.q-btn:hover{ transform:translateY(-1px); }
.q-btn.primary{ background:#16a34a; border-color:#16a34a; color:#fff; }

.q-table{ width:100%; border-collapse:separate; border-spacing:0 10px; }
.q-table th{ text-align:left; font-size:12px; color:var(--muted); font-weight:800; padding:0 10px 6px; }
.q-table td{ background:#fff; border:1px solid var(--line); padding:10px; vertical-align:top; }
.q-table td:first-child{ border-top-left-radius:14px; border-bottom-left-radius:14px; }
.q-table td:last-child{ border-top-right-radius:14px; border-bottom-right-radius:14px; }

.icon-btn{ border:1px solid var(--line); background:#fff; padding:8px 10px; border-radius:12px; font-weight:800; cursor:pointer; }
.icon-btn:hover{ transform:translateY(-1px); }

.inline{ display:flex; gap:10px; align-items:center; }
.right{ text-align:right; }

.js-discount{ display:flex; gap:8px; align-items:center; flex-wrap:nowrap; }
.js-discount select{ min-width:80px; }
.js-discount input{ width:110px; }

.discount-grid{ display:grid; grid-template-columns: 260px 260px 1fr; gap:14px; align-items:end; }
@media (max-width: 980px){ .discount-grid{ grid-template-columns: 1fr; } }

.gs-kpis{
  display:grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap:14px;
  margin-bottom:14px;
}
@media (max-width: 1200px){ .gs-kpis{ grid-template-columns: repeat(2, minmax(220px, 1fr)); } }
@media (max-width: 720px){ .gs-kpis{ grid-template-columns: 1fr; } }

.gs-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding:16px 16px;
}
.gs-label{ display:flex; justify-content:space-between; gap:10px; align-items:flex-start; color:var(--muted); font-weight:800; font-size:13px; }
.gs-pill{
  font-size:12px; padding:4px 10px; border-radius:999px;
  border:1px solid var(--line); background:#f8fafc; color:#334155;
  white-space:nowrap;
}
.gs-link{
  color:#2563eb;
  font-weight:900;
  text-decoration:none;
}
.gs-link:hover{ text-decoration:underline; }
.gs-value{ margin-top:10px; font-size:32px; font-weight:950; letter-spacing:-.02em; }
.gs-hint{ margin-top:6px; color:var(--muted); font-size:12px; }


/* --- GarageSoft global uniform pass --- */
html{
  font-size:15px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
body{ font-size:15px; line-height:1.45; }
button, input, select, textarea{ font:inherit; color:inherit; }

/* Make “default” controls look like GarageSoft even if classes are missing */
.gs-main input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not(.gs-input):not(.icon-btn):not(.q-btn),
.gs-main select:not(.gs-select),
.gs-main textarea:not(.gs-textarea){
  width:100%;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
  font-weight:700;
  box-shadow: inset 0 1px 0 rgba(2,6,23,.04);
  outline:none;
}
.gs-main input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not(.gs-input):focus,
.gs-main select:not(.gs-select):focus,
.gs-main textarea:not(.gs-textarea):focus{
  border-color:rgba(37,99,235,.45);
  box-shadow:0 0 0 4px rgba(37,99,235,.12);
}

/* Default buttons (when a page forgot to use .gs-btn) */
.gs-main button:not(.gs-btn):not(.q-btn):not(.icon-btn),
.gs-main input[type="submit"]:not(.gs-btn),
.gs-main button:not(.gs-btn):not(.q-btn):not(.icon-btn):hover,
.gs-main input[type="submit"]:not(.gs-btn):hover,
.gs-table thead th{
  text-align:left;
  font-size:12px;
  color:var(--muted);
  font-weight:900;
  padding:10px 12px;
  border-bottom:1px solid var(--line);
}
.gs-table tbody td{
  padding:12px;
  border-bottom:1px solid var(--line);
  background:#fff;
  vertical-align:top;
}
.gs-table tbody tr:hover td{ background:#fbfdff; }
.gs-table-wrap{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
}

/* If a page has a plain <table> without classes, make it look acceptable */
.gs-main table:not(.q-table):not(.gs-table){
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.gs-main table:not(.q-table):not(.gs-table) th{
  text-align:left;
  font-size:12px;
  color:var(--muted);
  font-weight:900;
  padding:10px 12px;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.gs-main table:not(.q-table):not(.gs-table) td{
  padding:12px;
  border-bottom:1px solid var(--line);
  background:#fff;
}

/* Modal (inventory etc.) */
.gs-modal-backdrop{
  position:fixed; inset:0;
  background:rgba(2,6,23,.45);
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
  z-index:50;
}
.gs-modal-backdrop.is-open{ display:flex; }
.gs-modal{
  width:min(620px, 100%);
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:0 22px 60px rgba(2,6,23,.24);
  padding:18px;
}
.gs-modal h3{ margin:0 0 10px 0; font-size:18px; font-weight:900; }
.gs-row{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
@media (max-width: 720px){ .gs-row{ grid-template-columns:1fr; } }

/* chat UI (AI pricing) */
.gs-chat{
  height:520px;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:12px;
  background:#fafafa;
}
.gs-msg{
  max-width:82%;
  padding:10px 12px;
  border-radius:14px;
  margin:8px 0;
  white-space:pre-wrap;
  line-height:1.35;
}
.gs-msg.me{ margin-left:auto; background:var(--text); color:#fff; border-bottom-right-radius:6px; }
.gs-msg.ai{ margin-right:auto; background:#fff; border:1px solid var(--line); border-bottom-left-radius:6px; color:var(--text); }
.gs-meta{ font-size:12px; color:var(--muted); margin-top:6px; }
.gs-err{ color:#b91c1c; font-size:13px; font-weight:800; }


/* ------------------------------
   FullCalendar tweaks (Calendar)
   ------------------------------ */
.fc .fc-col-header-cell,
.fc .fc-timegrid-axis,
.fc .fc-timegrid-slot-label,
.fc .fc-timegrid-slot {
  border-color: rgba(148, 163, 184, 0.35); /* softer grid */
}

.fc .fc-col-header-cell-cushion{
  font-weight: 600;
  color: #334155;
}

.fc .fc-timegrid-col:nth-child(even),
.fc .fc-daygrid-day:nth-child(even){
  background: rgba(15, 23, 42, 0.02); /* subtle day striping */
}

/* stronger separators between days */
.fc .fc-timegrid-col,
.fc .fc-daygrid-day{
  box-shadow: inset 1px 0 0 rgba(148, 163, 184, 0.35);
}

.fc .fc-timegrid-now-indicator-line{
  border-color: rgba(220, 38, 38, 0.8);
}

/* ========== FullCalendar: strong day separators (timeGrid) ========== */

/* Base grid borders (this is what actually draws the column lines) */
.fc.fc-theme-standard td,
.fc.fc-theme-standard th {
  border-color: rgba(15, 23, 42, .18) !important;
}

/* Vertical separators between day columns in the timeGrid */
.fc .fc-timegrid-cols table td {
  border-left: 2px solid rgba(15, 23, 42, .18) !important;
}
.fc .fc-timegrid-cols table td:first-child {
  border-left: 0 !important;
}

/* Make the header row also show clear separators */
.fc .fc-col-header-cell {
  background: rgba(15, 23, 42, .04);
  border-left: 2px solid rgba(15, 23, 42, .18) !important;
}
.fc .fc-col-header-cell:first-child {
  border-left: 0 !important;
}

/* Optional: subtle alternating day shading to further separate columns */
.fc .fc-timegrid-col:nth-child(2n) {
  background: rgba(15, 23, 42, .02);
}

/* Today highlight */
.fc .fc-day-today {
  background: rgba(59, 130, 246, .08) !important;
}

/* Force visible day separators even when FullCalendar collapses borders */
.fc .fc-timegrid-col-frame,
.fc .fc-daygrid-day-frame,
.fc .fc-col-header-cell {
  position: relative;
}

.fc .fc-timegrid-col-frame::before,
.fc .fc-daygrid-day-frame::before,
.fc .fc-col-header-cell::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: rgba(148, 163, 184, 0.55);
  pointer-events: none;
}

/* Don't draw a separator before the first day column */
.fc .fc-timegrid-col:first-child .fc-timegrid-col-frame::before,
.fc .fc-daygrid-day:first-child .fc-daygrid-day-frame::before,
.fc .fc-col-header-cell:first-child::before {
  display: none;
}

/* --- Calendar day separators: ensure visible over events (v3) --- */
.fc .fc-timegrid-col-frame::before,
.fc .fc-daygrid-day-frame::before,
.fc .fc-col-header-cell::before {
  z-index: 10;
}

/* Fallback: draw inset line on the background layer columns too */
.fc .fc-timegrid-col-bg .fc-timegrid-col {
  box-shadow: inset 4px 0 0 rgba(148, 163, 184, 0.55) !important;
}
.fc .fc-timegrid-col-bg .fc-timegrid-col:first-child {
  box-shadow: none !important;
}
/* ===== FullCalendar day separators v7: single aligned pseudo-element on columns ===== */

/* ===== FullCalendar day separators v7: single aligned pseudo-element on columns ===== */
/* Reset any previous separator attempts */
.fc .fc-timegrid-cols table td,
.fc .fc-timegrid-cols table th,
.fc .fc-col-header-cell,
.fc .fc-timegrid-col,
.fc .fc-daygrid-day,
.fc .fc-timegrid-col-frame,
.fc .fc-daygrid-day-frame {
  box-shadow: none !important;
  background-image: none !important;
}

.fc .fc-timegrid-col-frame::before,
.fc .fc-timegrid-col-frame::after,
.fc .fc-timegrid-col::after,
.fc .fc-daygrid-day-frame::before,
.fc .fc-daygrid-day-frame::after,
.fc .fc-daygrid-day::after,
.fc .fc-col-header-cell::before,
.fc .fc-col-header-cell::after {
  content: none !important;
}

/* Use one method only: pseudo-element on the actual day columns + header cells */
:root { --gs-cal-sep-v7: rgba(100, 116, 139, .35); }

.fc .fc-timegrid-col,
.fc .fc-daygrid-day,
.fc .fc-col-header-cell {
  position: relative;
}

.fc .fc-timegrid-col::before,
.fc .fc-daygrid-day::before,
.fc .fc-col-header-cell::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2px;
  background: var(--gs-cal-sep-v7);
  pointer-events: none;
  z-index: 6;
}

.fc .fc-timegrid-col:first-child::before,
.fc .fc-daygrid-day:first-child::before,
.fc .fc-col-header-cell:first-child::before {
  display: none;
}

/* Keep events above background but below the separator */
.fc .fc-event { z-index: 5; }


/* GarageSoft FullCalendar event styling (more "enterprise", less "bubble") */
.fc .fc-timegrid-event,
.fc .fc-event{
  background: transparent;
  border: 0;
}

.fc .fc-event.gs-fc-eventwrap{
  position: relative;
  border-radius: 10px;
  border: 1px solid rgba(15,23,42,0.12);
  background: #fff;
  box-shadow: 0 4px 14px rgba(15,23,42,0.08);
  overflow: hidden;
}

/* Left accent bar when linked to a work order (status inferred) */
.fc .fc-event.gs-fc-eventwrap.gs-has-wo::before{
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--gs-accent, #0EA5E9);
}

.fc .fc-event .gs-fc-event{ padding: 8px 10px; line-height: 1.15; color: #0f172a; }
.fc .fc-event.gs-fc-eventwrap.gs-has-wo .gs-fc-event{ padding-left: 12px; }
.fc .fc-event .gs-fc-time{ font-size: 12px; font-weight: 700; opacity: 0.9; }
.fc .fc-event .gs-fc-title{ font-size: 13px; font-weight: 800; letter-spacing: 0.2px; }
.fc .fc-event .gs-fc-desc{ margin-top: 4px; font-size: 12px; font-weight: 600; opacity: 0.75; white-space: normal; }

/* Make hover feel more subtle */
.fc .fc-event.gs-fc-eventwrap.hover{ box-shadow: 0 6px 18px rgba(15,23,42,0.12); }


.quote-status-pill{ display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border-radius:999px; font-size:12px; font-weight:900; border:1px solid transparent; }
.quote-status-pill::before{ content:""; width:8px; height:8px; border-radius:999px; background:currentColor; opacity:.85; }
.quote-status-pill.status-draft{ color:#334155; background:#f8fafc; border-color:#e2e8f0; }
.quote-status-pill.status-sent{ color:#0369a1; background:#ecfeff; border-color:#bae6fd; }
.quote-status-pill.status-accepted{ color:#166534; background:#ecfdf5; border-color:#bbf7d0; }
.quote-status-pill.status-rejected{ color:#b45309; background:#fff7ed; border-color:#fed7aa; }
.quote-status-pill.status-expired{ color:#6b7280; background:#f3f4f6; border-color:#d1d5db; }
.quote-list-card{ padding:18px; }
.quote-list-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:16px; }
.quote-list-stats{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.quote-stat{ border:1px solid var(--line); border-radius:16px; background:linear-gradient(180deg,#fff 0%,#f8fafc 100%); padding:14px 16px; }
.quote-stat-label{ color:var(--muted); font-size:12px; font-weight:800; margin-bottom:6px; }
.quote-stat-value{ font-size:24px; font-weight:900; letter-spacing:-.02em; }
.quote-list-table{ width:100%; border-collapse:separate; border-spacing:0 12px; }
.quote-list-table thead th{ text-align:left; font-size:12px; color:var(--muted); font-weight:900; padding:0 12px 4px; }
.quote-list-table tbody td{ background:#fff; border:1px solid var(--line); padding:14px 12px; vertical-align:middle; }
.quote-list-table tbody td:first-child{ border-top-left-radius:16px; border-bottom-left-radius:16px; }
.quote-list-table tbody td:last-child{ border-top-right-radius:16px; border-bottom-right-radius:16px; }
.quote-row-main{ display:flex; flex-direction:column; gap:4px; }
.quote-row-title{ font-weight:900; font-size:18px; letter-spacing:-.02em; }
.quote-row-meta{ color:var(--muted); font-size:13px; }
.quote-row-desc{ color:var(--text); font-weight:700; }
@media (max-width: 980px){
  .quote-list-stats{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 720px){
  .gs-main{ padding:18px; }
  .quote-list-stats{ grid-template-columns:1fr; }
  .quote-list-head{ flex-direction:column; }
}

/* Patch 528: multi-location switcher in sidebar */
.gs-location-switch{
  margin:0 6px 14px 6px;
  padding:10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(255,255,255,.07);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.gs-location-switch label{
  color:rgba(255,255,255,.78);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin:0 0 6px 0;
}
.gs-location-switch select{
  width:100%;
  min-height:38px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  background:#fff;
  color:#0f172a;
  padding:8px 10px;
  font-weight:900;
  outline:none;
}
.gs-location-switch select:focus{
  box-shadow:0 0 0 3px rgba(34,197,94,.22);
  border-color:rgba(34,197,94,.55);
}
.gs-location-switch__hint{
  margin-top:6px;
  font-size:11px;
  font-weight:800;
  color:rgba(255,255,255,.62);
}
