/* Nowa Reparatie App - v229.4 workshop focus polish
   Veilige extra CSS-laag bovenop v229.3. Geen routes, API's, databasevelden of formuliernamen gewijzigd. */
:root{
  --nowa-focus:#38bdf8;
  --nowa-ink:#0f172a;
  --nowa-panel:#ffffff;
  --nowa-panel-soft:#f8fbff;
}
.kiosk-screen .kpi-strip{
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr)) !important;
}
.kiosk-screen .kpi-strip .stat{
  appearance:none;
  border:1px solid rgba(203,213,225,.68) !important;
  text-align:left;
  cursor:pointer;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease;
}
.kiosk-screen .kpi-strip button.stat:hover,
.kiosk-screen .kpi-strip .stat.is-active{
  transform:translateY(-1px);
  border-color:#60a5fa !important;
  box-shadow:0 16px 34px rgba(37,99,235,.18) !important;
}
.kiosk-screen .kpi-strip .stat.is-active{
  background:linear-gradient(135deg,#eff6ff,#ffffff) !important;
}
.ws-toolbar-v2294{
  display:grid !important;
  grid-template-columns:auto minmax(320px,680px) auto !important;
  gap:12px !important;
  align-items:end !important;
  margin-bottom:12px !important;
}
.ws-kiosk-search-wrap{
  display:grid !important;
  gap:5px !important;
  margin:0 !important;
  color:#dbeafe !important;
  font-weight:950 !important;
}
.ws-kiosk-search-wrap span{
  font-size:12px !important;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.kiosk-screen .ws-search-input{
  min-height:46px !important;
  border-radius:16px !important;
  border:1px solid rgba(147,197,253,.75) !important;
  background:rgba(255,255,255,.98) !important;
  box-shadow:0 12px 28px rgba(15,23,42,.16) !important;
  font-size:18px !important;
  font-weight:850 !important;
}
.kiosk-screen .ws-search-input:focus{
  border-color:var(--nowa-focus) !important;
  box-shadow:0 0 0 5px rgba(56,189,248,.24),0 12px 28px rgba(15,23,42,.16) !important;
}
.kiosk-screen .ws-search-note{
  min-width:110px;
  color:#e0f2fe !important;
  font-weight:950 !important;
  text-align:right;
  padding-bottom:10px;
}
.kiosk-screen .ws-group-head{
  position:sticky;
  top:0;
  z-index:8;
  padding:6px 0;
  backdrop-filter:blur(8px);
}
.kiosk-screen .ws-group-head h2{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.kiosk-screen .ws-group-head h2:before{
  content:'';
  width:12px;
  height:12px;
  border-radius:999px;
  background:#60a5fa;
  box-shadow:0 0 0 5px rgba(96,165,250,.16);
}
.kiosk-screen .ws-row{
  border-left-width:12px !important;
}
.kiosk-screen .ws-row[data-status="klaar"]{
  border-left-color:#22c55e !important;
}
.kiosk-screen .ws-row[data-status="wachten op klant"],
.kiosk-screen .ws-row[data-status="wachten op onderdelen"]{
  border-left-color:#f59e0b !important;
}
.kiosk-screen .ws-row[data-status="niet herstelbaar"]{
  border-left-color:#ef4444 !important;
}
.kiosk-screen .ws-line1{
  align-items:center !important;
}
.kiosk-screen .ws-repairnr{
  font-size:clamp(20px,1.8vw,28px) !important;
}
.kiosk-screen .ws-age,
.kiosk-screen .ws-cost-inline,
.kiosk-screen .ws-bak-inline{
  letter-spacing:-.01em;
}
.kiosk-screen .ws-compact-trigger{
  min-height:44px !important;
}
.kiosk-screen .ws-choice-btn{
  min-height:42px !important;
}
.kiosk-screen .ws-dropdown-panel{
  border-color:#93c5fd !important;
  box-shadow:0 26px 70px rgba(15,23,42,.28) !important;
}
.kiosk-screen .ws-details{
  border-top-color:#dbeafe !important;
}
.kiosk-screen .ws-detail-grid div{
  background:linear-gradient(180deg,#fff,#f8fbff) !important;
}
.kiosk-screen .ws-actions .button{
  min-height:42px;
}
.kiosk-screen mark, .ws-scan-hit{
  scroll-margin-top:110px;
}
@media(max-width:1100px){
  .ws-toolbar-v2294{
    grid-template-columns:1fr !important;
    align-items:stretch !important;
  }
  .kiosk-screen .ws-search-note{
    text-align:left;
    padding-bottom:0;
  }
}
@media print{
  .ws-toolbar-v2294,.kiosk-topbar,.kpi-strip{display:none !important;}
}


/* v2294.1 remove workshop search bar */
.workshop-search,
.kiosk-search,
.toolbar-search,
input[type="search"]{
    display:none !important;
}


/* v2294.2 force dark readable text */
body,
.card,
.panel,
.table,
.kiosk-card,
.workshop-card,
.dashboard-card,
.form-control,
input,
textarea,
select,
label,
p,
span,
div,
h1,h2,h3,h4,h5,h6,
td,th,
small{
    color:#111 !important;
}

.badge,
.status-badge{
    color:#111 !important;
}


/* v2294.3 layout refinements */
.repair-number,
.ticket-number,
.order-number{
    font-size:0.78rem !important;
    font-weight:600 !important;
    opacity:0.85;
}

.customer-name,
.client-name{
    font-size:1.05rem !important;
    font-weight:700 !important;
    line-height:1.2;
}

.workshop-card,
.kiosk-card{
    overflow:hidden;
    word-break:break-word;
}


/* v2294.4 place day indicator next to bin number */
.bin-number,
.baknummer,
.location-bin{
    display:inline-flex !important;
    align-items:center;
    gap:8px;
}

.days-open,
.day-indicator,
.age-indicator{
    display:inline-flex !important;
    margin-left:8px !important;
    font-size:0.82rem !important;
    font-weight:600 !important;
    white-space:nowrap !important;
    vertical-align:middle !important;
}


/* v2294.5 kiosk-only scoping */

/* Reset global impact */
.customer-name,
.client-name,
.repair-number,
.ticket-number,
.order-number,
.days-open,
.day-indicator,
.age-indicator{
    all: revert;
}

/* Apply ONLY inside workshop kiosk */
.workshop-kiosk .repair-number,
.workshop-kiosk .ticket-number,
.workshop-kiosk .order-number,
.kiosk-view .repair-number,
.kiosk-view .ticket-number,
.kiosk-view .order-number{
    font-size:0.78rem !important;
    font-weight:600 !important;
    opacity:0.85 !important;
}

.workshop-kiosk .customer-name,
.workshop-kiosk .client-name,
.kiosk-view .customer-name,
.kiosk-view .client-name{
    font-size:1.05rem !important;
    font-weight:700 !important;
}

.workshop-kiosk .days-open,
.workshop-kiosk .day-indicator,
.workshop-kiosk .age-indicator,
.kiosk-view .days-open,
.kiosk-view .day-indicator,
.kiosk-view .age-indicator{
    display:inline-flex !important;
    margin-left:8px !important;
    font-size:0.82rem !important;
    font-weight:600 !important;
}


/* v2294.6 FORCE kiosk styling */

/* remove all search bars */
input[type="search"],
.kiosk-search,
.search-box,
.search-input,
.toolbar-search,
.filter-search{
    display:none !important;
}

/* force kiosk card layout */
.kiosk-card,
.workshop-card{
    overflow:hidden !important;
}

/* customer name first and larger */
.kiosk-card .customer-name,
.kiosk-card .client-name,
.workshop-card .customer-name,
.workshop-card .client-name{
    display:block !important;
    order:1 !important;
    font-size:1.08rem !important;
    font-weight:700 !important;
    color:#111 !important;
}

/* repair number smaller */
.kiosk-card .repair-number,
.kiosk-card .ticket-number,
.workshop-card .repair-number,
.workshop-card .ticket-number{
    display:block !important;
    order:2 !important;
    font-size:0.75rem !important;
    color:#333 !important;
    opacity:0.85 !important;
}

/* days next to bin */
.kiosk-card .bin-row,
.workshop-card .bin-row,
.kiosk-card .baknummer-row,
.workshop-card .baknummer-row{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    flex-wrap:nowrap !important;
}

.kiosk-card .days-open,
.kiosk-card .day-indicator,
.workshop-card .days-open,
.workshop-card .day-indicator{
    display:inline-flex !important;
    margin-left:8px !important;
    white-space:nowrap !important;
}

/* darker readable text */
.kiosk-card *,
.workshop-card *{
    color:#111 !important;
}


/* v2294.28 customer display white text */
body.customer-display,
body.balie-display,
.customer-display,
.balie-display,
#customerDisplay,
#balieDisplay{
  color:#ffffff!important;
}

body.customer-display *,
body.balie-display *,
.customer-display *,
.balie-display *,
#customerDisplay *,
#balieDisplay *{
  color:#ffffff!important;
}

/* keep buttons readable */
body.customer-display button,
body.balie-display button,
.customer-display button,
.balie-display button,
#customerDisplay button,
#balieDisplay button{
  color:#ffffff!important;
}

/* status/placeholder text */
body.customer-display input,
body.customer-display textarea,
body.customer-display select,
body.balie-display input,
body.balie-display textarea,
body.balie-display select{
  color:#ffffff!important;
}


/* v2294.29 force white customer display text */
body.customer-display .welcome-screen,
body.customer-display .welcome-slide,
body.customer-display .hero-slide,
body.customer-display .display-slide,
body.customer-display .swiper-slide,
body.customer-display .slide-content,
body.balie-display .welcome-screen,
body.balie-display .welcome-slide,
body.balie-display .hero-slide,
body.balie-display .display-slide,
body.balie-display .swiper-slide,
body.balie-display .slide-content{
  color:#ffffff!important;
}

body.customer-display .welcome-screen *,
body.customer-display .welcome-slide *,
body.customer-display .hero-slide *,
body.customer-display .display-slide *,
body.customer-display .swiper-slide *,
body.customer-display .slide-content *,
body.balie-display .welcome-screen *,
body.balie-display .welcome-slide *,
body.balie-display .hero-slide *,
body.balie-display .display-slide *,
body.balie-display .swiper-slide *,
body.balie-display .slide-content *{
  color:#ffffff!important;
  text-shadow:0 2px 10px rgba(0,0,0,.35)!important;
}

/* common welcome texts */
body.customer-display .welcome-title,
body.customer-display .hero-title,
body.customer-display h1,
body.customer-display h2,
body.customer-display h3,
body.customer-display .subtitle,
body.customer-display .tagline,
body.customer-display .welcome-message,
body.balie-display .welcome-title,
body.balie-display .hero-title,
body.balie-display h1,
body.balie-display h2,
body.balie-display h3,
body.balie-display .subtitle,
body.balie-display .tagline,
body.balie-display .welcome-message{
  color:#ffffff!important;
}


/* v2294.30 explicit white welcome titles */
.attract-title,
.welcome h1,
.welcome h2,
.welcome h3,
.welcome-title,
.hero-title{
    color:#ffffff !important;
}


/* v2294.31 targeted old balie-display welcome text fix
   Gebaseerd op de oude balie-display selectors:
   .welcome, .welcome h2, .welcome p, .attract-title, .attract-text,
   .attract-kicker, .attract-point, .attract-tip, .attract-chip, .attract-dots.
*/

/* Dark welcome/attract screen: all visible welcome text white */
.welcome,
.welcome *,
.attract-card,
.attract-card *,
.attract-title,
.attract-text,
.attract-kicker,
.attract-point,
.attract-tip,
.attract-chip,
.welcome h1,
.welcome h2,
.welcome h3,
.welcome p {
    color:#ffffff !important;
}

/* Specific old CSS overrides */
.welcome p,
.attract-text,
.attract-tip {
    color:#ffffff !important;
}

.attract-kicker {
    color:#ffffff !important;
    opacity:.92;
}

.attract-point {
    color:#ffffff !important;
}

.attract-chip {
    color:#ffffff !important;
}

/* Keep dots visible on dark background */
.attract-dot {
    background:rgba(255,255,255,.48) !important;
}

.attract-dot.active {
    background:#ffffff !important;
}

/* SVG/logo/image unaffected, form area not forced white */
.repair,
.repair *,
.card,
.card *,
.info,
.info *,
.choice,
.choice *,
.actions,
.actions *,
.thanks,
.thanks * {
    color:inherit;
}

/* Keep repair form normal readable dark text */
.repair .card,
.repair .card *,
#approvalForm,
#approvalForm *,
.info-grid,
.info-grid *,
.thanks,
.thanks * {
    color:var(--text, #0f172a);
}

/* But buttons remain white text */
#approvalForm .btn,
#approvalForm .btn *,
.actions .btn,
.actions .btn * {
    color:#ffffff !important;
}

#approvalForm .btn.secondary,
#approvalForm .btn.secondary * {
    color:#0f172a !important;
}

/* Costs block in repair view still white on blue */
.info.costs,
.info.costs *,
.costs,
.costs * {
    color:#ffffff !important;
}

.costs .label {
    color:#bfdbfe !important;
}
