/* Nowa Reparatie App - v229.3 polish layer
   Doel: visuele professionalisering zonder routes, database, API's of formuliernamen te wijzigen. */
:root{
  --nowa-navy:#0b1220;
  --nowa-blue:#1d4ed8;
  --nowa-blue-2:#2563eb;
  --nowa-cyan:#0ea5e9;
  --nowa-border:#d8e2f0;
  --nowa-soft:#f5f8fc;
  --nowa-shadow:0 18px 48px rgba(15,23,42,.10);
  --nowa-shadow-soft:0 10px 28px rgba(15,23,42,.07);
}
html{font-size:16px;}
body{background:linear-gradient(135deg,#f6f9fd 0%,#eef4ff 45%,#f8fbff 100%) !important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.container{max-width:1280px;}
.nav{border-radius:28px !important;border-color:rgba(216,226,240,.92) !important;box-shadow:var(--nowa-shadow-soft) !important;}
.brand-title{font-size:22px !important;}
.brand-subtitle{font-weight:800;color:#334155;}
.brand-contact{font-weight:650;}
.links .button{min-height:42px;}
.button,button,.btn,.tab-btn,.kiosk-btn{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease;}
.button:hover,button:hover,.btn:hover,.tab-btn:hover,.kiosk-btn:hover{transform:translateY(-1px);}
.button:active,button:active,.btn:active,.tab-btn:active,.kiosk-btn:active{transform:translateY(0);}
.ghost{background:linear-gradient(180deg,#fff,#f8fbff) !important;border-color:var(--nowa-border) !important;}
.card,.dashboard-block,.compact-card,.stat,.note-box,.timeline-item{border-color:var(--nowa-border) !important;box-shadow:var(--nowa-shadow-soft);}
.card{border-radius:28px !important;}
.dashboard-block,.compact-card,.stat{border-radius:24px !important;}
.section-title{font-size:clamp(28px,3vw,40px) !important;font-weight:950;line-height:1.04;}
.section-copy{font-size:17px;line-height:1.55;color:#475569;}
.kpi-strip .stat{background:linear-gradient(180deg,#fff,#f7fbff);}
.stat .value{font-size:36px !important;color:#0f172a;}
.pill,.ws-age,.ws-sla-pill,.ws-bak-inline,.ws-cost-inline{box-shadow:inset 0 1px 0 rgba(255,255,255,.45);}
input,textarea,select{border-color:#cfd9e8 !important;background:#fff !important;}
input:hover,textarea:hover,select:hover{border-color:#aebdd0 !important;}
label{color:#1e293b;}
table{background:#fff;border-radius:18px;overflow:hidden;}
th{background:#f8fbff;color:#475569 !important;}
tr:hover td{background:#fbfdff;}
.flash{box-shadow:var(--nowa-shadow-soft);}
.dashboard-mini-item{border-color:var(--nowa-border) !important;transition:transform .14s ease,box-shadow .14s ease;}
.dashboard-mini-item:hover{transform:translateY(-1px);box-shadow:var(--nowa-shadow-soft);}
.ws-toolbar,.dashboard-toolbar,.toolbar,.inline-actions{gap:12px !important;}
.ws-row{border-radius:22px !important;border-color:var(--nowa-border) !important;box-shadow:var(--nowa-shadow-soft) !important;}
.ws-summary{background:linear-gradient(180deg,#fff,#fbfdff) !important;}
.ws-summary:hover{background:#f8fbff !important;}
.ws-col-problem{background:#f6f9fd !important;border-left:1px solid #edf2f7;}
.ws-line1{font-weight:950;letter-spacing:-.02em;}
.ws-repairnr{font-weight:950;}
.ws-status-btn,.ws-compact-trigger,.ws-choice-btn{border-color:#ccd8e8 !important;}
.ws-status-btn:hover,.ws-choice-btn:hover,.ws-compact-trigger:hover{border-color:#93b4e8 !important;box-shadow:0 8px 20px rgba(37,99,235,.10);}
.ws-details{background:linear-gradient(180deg,#fff,#f8fbff) !important;}
.ws-detail-grid div{border-color:var(--nowa-border) !important;}
.accessory-item{border-radius:14px !important;}
.signature-pad,.signature{box-shadow:inset 0 2px 10px rgba(15,23,42,.04);}
.tab-nav{background:#eef4ff;border:1px solid #dbeafe;border-radius:20px;padding:8px;display:inline-flex;}
.tab-btn{box-shadow:none !important;}
.tab-btn.active{box-shadow:0 8px 18px rgba(37,99,235,.18) !important;}
.footer-note{opacity:.72;}
/* Balie-display polish: alleen presentatie, geen JS/flow-aanpassingen. */
.screen{background:radial-gradient(circle at 30% 0%,rgba(96,165,250,.25),transparent 34%),linear-gradient(145deg,#eaf2ff,#f7fafc) !important;}
.panel{box-shadow:0 26px 90px rgba(15,23,42,.16) !important;border-color:rgba(216,226,240,.95) !important;}
.top{background:linear-gradient(180deg,#ffffff,#f7fbff) !important;}
.clock{color:#334155 !important;}
.info{border-color:#dce6f3 !important;}
.info.full{background:#fbfdff;}
.costs{background:linear-gradient(135deg,#0b1220,#1e40af 55%,#2563eb) !important;box-shadow:0 18px 44px rgba(37,99,235,.20);}
.choice label{border-color:#d6e2f1 !important;box-shadow:0 8px 20px rgba(15,23,42,.045);}
.choice label:has(input:checked){border-color:#2563eb !important;background:#eff6ff !important;}
.btn{letter-spacing:-.015em;}
.btn.secondary{background:linear-gradient(180deg,#fff,#f8fbff) !important;border-color:#d6e2f1 !important;}
@media(max-width:760px){
  .container{padding:14px !important;}
  .nav{position:relative !important;top:auto !important;border-radius:22px !important;}
  .brand-contact{display:none !important;}
  .links{width:100%;}
  .links .button{flex:1 1 145px;}
  .card{padding:18px !important;}
  th,td{padding:11px 8px !important;}
}
@media print{
  .nav,.footer-note,.toolbar,.inline-actions{display:none !important;}
  body{background:#fff !important;}
  .card{box-shadow:none !important;border-color:#999 !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;
}
