/* PICKVN design system "Thể thao mạnh mẽ" (DEC-0007): Forest & Lime, light canvas, Inter.
   Loaded after the legacy inline CSS; selectors are prefixed with `html body` so they win over legacy !important rules.
   Remove the <link> to this file to roll back to the legacy look. */
:root{
 --pv-forest-900:#102820;--pv-forest-800:#173528;--pv-forest-700:#214737;--pv-forest-600:#2c5c47;
 --pv-lime-400:#C8F36A;--pv-lime-500:#b5e64f;--pv-lime-100:#EFFBD9;
 --pv-canvas:#F4F6F1;--pv-surface:#FFFFFF;--pv-text:#17231C;--pv-muted:#647067;
 --pv-line:#E3E8DF;--pv-line-strong:#CDD6CA;
 --pv-success:#1f8a4c;--pv-success-bg:#dcf5e5;--pv-info:#1d5fae;--pv-info-bg:#dceafb;
 --pv-warn:#8a5a00;--pv-warn-bg:#fdf0c7;--pv-danger:#b42318;--pv-danger-bg:#fde3e1;
 --pv-r-sm:8px;--pv-r-md:12px;--pv-r-lg:16px;
 --pv-shadow:0 1px 2px rgba(16,40,32,.06),0 4px 16px rgba(16,40,32,.06);
 --pv-font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
 color-scheme:light;
}

/* ---------- base ---------- */
html body{background:var(--pv-canvas)!important;color:var(--pv-text)!important;font-family:var(--pv-font)!important;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
html body,html body button,html body input,html body select,html body textarea{font-family:var(--pv-font)!important}
html body h1{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-.01em;color:var(--pv-text)}
html body h2{font-size:22px;line-height:30px;font-weight:650;color:var(--pv-text)!important}
html body h3{font-size:18px;line-height:26px;font-weight:600;color:var(--pv-text)!important}
html body h4{font-size:16px;line-height:24px;font-weight:600;color:var(--pv-text)}
html body small,html body .muted,html body .pvhelp,html body .compact-help{color:var(--pv-muted)!important}
html body .warn{color:var(--pv-warn)!important}
html body a{color:var(--pv-forest-700)}
html body ::selection{background:var(--pv-lime-400);color:var(--pv-forest-900)}

/* ---------- app shell ---------- */
html body #pickvnSidebar{background:var(--pv-forest-900)!important;color:#dfe9e2!important;border-right:0!important;box-shadow:none!important}
html body #pickvnSidebar .brand{display:flex;align-items:center;gap:10px;color:#fff!important;font-weight:800;font-style:italic;letter-spacing:-.02em;font-size:24px}
html body #pickvnSidebar .brand img{width:34px;height:34px;flex:0 0 auto}
html body #pickvnSidebar .brand span{color:var(--pv-lime-400)!important;font-style:italic;font-size:inherit!important;font-weight:800}
html body #pickvnSidebar .brand .pv-dom{font-size:11px;font-style:normal;font-weight:600;color:#9db3a5!important;letter-spacing:.06em;display:block}
html body #roleBadge{display:inline-block!important;width:auto!important;margin:6px 0 14px;padding:3px 10px;border-radius:999px;background:rgba(200,243,106,.14)!important;color:var(--pv-lime-400)!important;font-size:12px;font-weight:600}
html body #roleTools button{background:transparent!important;color:#cfdcd3!important;border:0!important;border-radius:var(--pv-r-md)!important;box-shadow:none!important;filter:none!important;font-weight:500!important;font-size:15px!important;padding:11px 14px!important;text-align:left;position:relative}
html body #roleTools button:hover:not(:disabled){background:rgba(255,255,255,.06)!important;color:#fff!important;filter:none!important;box-shadow:none!important}
html body #roleTools button.active{background:var(--pv-forest-700)!important;color:#fff!important;font-weight:600!important}
html body #roleTools button.active::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:4px;background:var(--pv-lime-400)}
html body #workspace{background:var(--pv-canvas)!important}
html body .topbar{background:var(--pv-surface)!important;border-bottom:1px solid var(--pv-line)!important;box-shadow:none!important}
html body .topbar small{color:var(--pv-muted)!important;letter-spacing:.08em;font-size:12px;font-weight:600}
html body .topbar h1,html body #workspaceTitle{color:var(--pv-text)!important;font-size:24px;line-height:32px;text-shadow:none!important}
html body #roleSelect{color:var(--pv-muted)!important;font-size:14px}
html body .welcome{color:var(--pv-muted)!important;font-size:13px}

/* ---------- surfaces ---------- */
html body .panel,html body .confirm-box,html body .bulk-box,html body .serve-setup,html body .hc9-rank-history,html body dialog,
html body #hcWorkspace #pickvnRefAssignment,html body #hcWorkspace #pickvnApproval{
 background:var(--pv-surface)!important;color:var(--pv-text)!important;border:1px solid var(--pv-line)!important;border-radius:var(--pv-r-lg)!important;box-shadow:var(--pv-shadow)!important}
html body .panel .panel,html body .pvcard,html body .pv-owner-card,html body .pv-owner-stat,html body .pvaccountcard,html body .event-card,html body .pv-assignment-card{
 background:var(--pv-surface)!important;color:var(--pv-text)!important;border:1px solid var(--pv-line)!important;border-radius:var(--pv-r-md)!important;box-shadow:none!important}
html body .event-card.active{border-color:var(--pv-forest-700)!important;box-shadow:0 0 0 2px var(--pv-lime-400) inset!important}
html body .pv-owner-stat strong{font-size:28px;line-height:36px;color:var(--pv-forest-900)!important}
html body .pv-owner-stat span{color:var(--pv-muted)!important}
html body .badge{background:var(--pv-lime-100)!important;color:var(--pv-forest-700)!important;border:1px solid #d9efb2!important;border-radius:999px!important}
html body hr{border:0;border-top:1px solid var(--pv-line)}

/* ---------- buttons: Secondary by default, Primary for main actions, Outline for light actions ---------- */
html body button,html body label.button,html body .button{
 background:var(--pv-forest-700)!important;color:#fff!important;border:1px solid var(--pv-forest-700)!important;border-radius:var(--pv-r-md)!important;
 box-shadow:none!important;filter:none!important;text-shadow:none!important;font-weight:600!important;padding:10px 16px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
html body label.button{display:inline-flex;align-items:center;gap:6px}
html body button:hover:not(:disabled),html body label.button:hover{background:var(--pv-forest-900)!important;border-color:var(--pv-forest-900)!important;filter:none!important;box-shadow:none!important}
html body button[type="submit"],html body #qGo,html body #authSubmit,html body .pv-primary,html body #pvMigRun,html body [data-take]{
 background:var(--pv-lime-400)!important;color:var(--pv-forest-900)!important;border-color:var(--pv-lime-500)!important}
html body button[type="submit"]:hover:not(:disabled),html body #qGo:hover:not(:disabled),html body #authSubmit:hover:not(:disabled),html body [data-take]:hover:not(:disabled){background:var(--pv-lime-500)!important;border-color:#a3d43f!important}
html body .logout,html body #logoutBtn,html body [data-href],html body .pv-owner-actions button,html body .pvactions button,html body [data-reset],html body [data-toggle],html body [data-revoke],html body #pvActiveBar button{
 background:var(--pv-surface)!important;color:var(--pv-forest-700)!important;border:1px solid var(--pv-line-strong)!important}
html body .logout:hover,html body #logoutBtn:hover,html body [data-href]:hover:not(:disabled),html body .pv-owner-actions button:hover:not(:disabled),html body [data-reset]:hover,html body [data-toggle]:hover,html body [data-revoke]:hover{background:var(--pv-lime-100)!important;border-color:var(--pv-forest-700)!important;color:var(--pv-forest-900)!important}
html body .danger-btn,html body .pv-delete-account,html body .q-delete-saved,html body [data-delete],html body [data-qdelete]{background:var(--pv-danger-bg)!important;color:var(--pv-danger)!important;border:1px solid #f5b5af!important}
html body .danger-btn:hover,html body .pv-delete-account:hover{background:#fbd0cc!important}
html body button:disabled{opacity:.5!important;filter:none!important;cursor:not-allowed}
html body button:focus-visible,html body a:focus-visible,html body input:focus-visible,html body select:focus-visible,html body textarea:focus-visible{outline:3px solid var(--pv-lime-400)!important;outline-offset:2px}
html body .manage-tabs button,html body .hc22-modes button,html body .mini-list button{background:var(--pv-surface)!important;color:var(--pv-forest-700)!important;border:1px solid var(--pv-line-strong)!important}
html body .manage-tabs button.active,html body .hc22-modes button.active,html body .mini-list button.active{background:var(--pv-forest-700)!important;color:#fff!important;border-color:var(--pv-forest-700)!important}

/* ---------- form fields ---------- */
html body input,html body select,html body textarea{
 background:var(--pv-surface)!important;color:var(--pv-text)!important;border:1px solid var(--pv-line-strong)!important;border-radius:var(--pv-r-sm)!important;box-shadow:none!important}
html body input::placeholder,html body textarea::placeholder{color:#97a29a}
html body input:focus,html body select:focus,html body textarea:focus{border-color:var(--pv-forest-700)!important;box-shadow:0 0 0 3px rgba(200,243,106,.45)!important;outline:none}
html body input[aria-invalid="true"],html body input:user-invalid{border-color:var(--pv-danger)!important}
html body input[type="checkbox"],html body input[type="radio"]{accent-color:var(--pv-forest-700)}
html body label{color:var(--pv-text)}

/* ---------- tables ---------- */
html body table{border-collapse:separate;border-spacing:0;background:var(--pv-surface);border:1px solid var(--pv-line);border-radius:var(--pv-r-md);overflow:hidden}
html body th{background:#f7f9f5!important;color:var(--pv-muted)!important;font-size:12px!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.04em}
html body th,html body td{border:0!important;border-bottom:1px solid var(--pv-line)!important;color:var(--pv-text)}
html body tr:last-child td{border-bottom:0!important}
html body tbody tr:hover td,html body table tr:hover td{background:#fafcf8}
html body #ranking .pvr-table th,html body #ranking .pvr-table td{border-bottom:1px solid var(--pv-line)!important}

/* ---------- status chips ---------- */
html body .pv-chip,html body .pv-owner-state{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:18px;white-space:nowrap;background:#eef1ec;color:#4e5a52}
html body .pv-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}
html body .pv-chip--running,html body .pv-chip--live{background:var(--pv-success-bg);color:var(--pv-success)}
html body .pv-chip--open,html body .pv-chip--waiting{background:var(--pv-info-bg);color:var(--pv-info)}
html body .pv-chip--submitted,html body .pv-chip--draft{background:var(--pv-warn-bg);color:var(--pv-warn)}
html body .pv-chip--ended,html body .pv-chip--approved,html body .pv-chip--done{background:#e6ebe7;color:#46524a}
html body .pv-chip--cancelled,html body .pv-chip--error{background:var(--pv-danger-bg);color:var(--pv-danger)}

/* ---------- A1/A2 screens ---------- */
html body #pvActiveBar{background:var(--pv-lime-100)!important;border:1px solid #d6efa8!important;border-left:4px solid var(--pv-forest-700)!important;box-shadow:none!important;color:var(--pv-forest-900)!important}
html body .pv-owner-card .pv-owner-cardtop strong{font-size:17px}
html body .pv-owner-active{color:var(--pv-success)!important;font-weight:600}
html body #pvRouteMessage .panel{text-align:center;padding:48px 24px!important}
html body #pvRouteMessage h2{font-size:24px}

/* ---------- login ---------- */
html body #loginScreen{background:
  radial-gradient(circle at 85% 12%,rgba(200,243,106,.18),transparent 40%),
  linear-gradient(90deg,transparent 49.6%,rgba(255,255,255,.07) 49.6% 50.4%,transparent 50.4%),
  linear-gradient(0deg,transparent 29.6%,rgba(255,255,255,.06) 29.6% 30.2%,transparent 30.2% 69.8%,rgba(255,255,255,.06) 69.8% 70.4%,transparent 70.4%),
  linear-gradient(135deg,#0c211a 0%,var(--pv-forest-900) 45%,var(--pv-forest-700) 100%)!important}
html body .loginCard{background:var(--pv-surface)!important;border:0!important;border-radius:20px!important;box-shadow:0 24px 64px rgba(0,0,0,.35)!important;padding:32px!important}
html body .loginCard h1 img{margin-right:10px}
html body .loginCard h1{display:flex;align-items:center;gap:0;color:var(--pv-forest-900)!important;font-size:30px;font-weight:800;font-style:italic;letter-spacing:-.02em}
html body .loginCard h1 img{width:40px;height:40px}
html body .loginCard h1 span{color:var(--pv-forest-700)}
html body .loginCard .pv-tagline{margin:-4px 0 4px;font-weight:700;color:var(--pv-forest-700)!important;font-size:15px}
html body .loginCard p,html body #authSubtitle{color:var(--pv-muted)!important}
html body #authForm label{color:var(--pv-text)!important;font-weight:500;font-size:14px}
html body #authForm input{min-height:46px}
html body .loginCard button,html body #authSubmit{width:100%;min-height:48px;font-size:16px}
html body #authMessage{color:var(--pv-danger)!important;font-weight:500}

/* ---------- referee court: dark, high contrast for outdoor use ---------- */
html body #referee>.panel,html body #referee .panel{background:var(--pv-forest-900)!important;color:#eef5f0!important;border-color:var(--pv-forest-700)!important}
html body #referee .panel h2,html body #referee .panel h3,html body #referee .panel b,html body #referee .panel label{color:#fff!important}
html body #referee .panel small,html body #referee .panel .muted,html body #referee .pvhelp{color:#a9bdb0!important}
html body #referee button{background:var(--pv-forest-700)!important;border-color:var(--pv-forest-600)!important;color:#fff!important}
html body #referee button:hover:not(:disabled){background:var(--pv-forest-600)!important}
html body #referee .hc233-score-btn,html body #referee [data-score],html body #referee .score-actions button,html body #referee .pv-primary{background:var(--pv-lime-400)!important;color:var(--pv-forest-900)!important;border-color:var(--pv-lime-500)!important;font-weight:800!important}
html body #referee .serve-setup{background:var(--pv-forest-800)!important;border-color:var(--pv-forest-600)!important;color:#eef5f0!important}
html body #referee .serve-setup>button:last-child,html body #referee .serve-setup button[id*="start" i]{background:var(--pv-lime-400)!important;color:var(--pv-forest-900)!important}
html body #referee .pvcard,html body #pvRefMatches .pvcard{border-radius:var(--pv-r-md)!important}
html body.ref-focus #referee{background:#0b1d17!important}
html body #pvRefMatches .pv-my-match-card b:first-child{color:var(--pv-forest-700)}
html body #pvRefMatches [data-href]{background:var(--pv-lime-400)!important;color:var(--pv-forest-900)!important;border-color:var(--pv-lime-500)!important}
html body #referee .hc23-court,html body #referee .hc16-preview{background:var(--pv-forest-800)!important;border-color:var(--pv-forest-600)!important}

/* ---------- legacy dark blocks -> light surfaces (found by scanning legacy CSS for dark backgrounds) ---------- */
html body .tag,html body .bulk-box,html body #hc22incidentform,html body .hc9-rank-history,html body .hc92-rating-panel,html body .q-group-advisor,
html body .pvaccountcard,html body #pickvnRefAssignment .pvstats>div,html body #pickvnRefAssignment .pvmodalbox,html body #pvDispatchRoot .pv-dcard,
html body #pvLiveDispatch .pvld-card,html body .pv-v21-item,html body .pv-finish-box,html body .pv-v81-recovery,html body .pv-owner-stat,html body .pv-owner-card,
html body .event-card,html body #editAthleteDialog,html body #seedDrawControls,html body #seedList label,html body .score-mode-field,html body #quick .q-status,
html body .result-banner,html body .pvcard,html body .pv-owner-fin-head select,html body .pv-owner-mode select,html body .topbar select{
 background:var(--pv-surface)!important;color:var(--pv-text)!important;border-color:var(--pv-line)!important;box-shadow:none!important}
html body #seedDrawControls,html body #quick .q-status,html body .q-group-advisor,html body .score-mode-field,html body #pickvnRefAssignment .pvstats>div,html body .pv-owner-stat{background:#f7f9f5!important}
html body #seedDrawControls *,html body #seedList label,html body #seedList label *,html body .score-mode-field *,html body #pickvnRefAssignment .pvstats>div *,html body .pv-finish-box *,html body .event-card label{color:var(--pv-text)!important}
html body #pickvnRefAssignment .pvstats>div strong{color:var(--pv-forest-900)!important;font-size:28px}
html body #pickvnRefAssignment .pvstats>div span{color:var(--pv-muted)!important}
html body .result-banner{border-left:4px solid var(--pv-lime-400)!important}
html body .pv-finish-overlay{background:rgba(16,40,32,.55)!important}
html body .danger-mini,html body button[data-delete-event],html body [data-remove-single],html body [data-remove-player],html body [data-unreg]{background:var(--pv-danger-bg)!important;color:var(--pv-danger)!important;border:1px solid #f5b5af!important}
html body .tag{background:var(--pv-lime-100)!important;color:var(--pv-forest-700)!important}

/* legacy glass effect on every button (backdrop-filter) tinted the area behind buttons */
html body button,html body label.button{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
/* native checkboxes/radios (legacy rules painted them as dark squares) */
html body input[type="checkbox"],html body input[type="radio"]{appearance:auto!important;-webkit-appearance:auto!important;background:initial!important;border:initial!important;box-shadow:none!important;width:18px;height:18px;min-height:0!important;padding:0!important;accent-color:var(--pv-forest-700)}
/* legacy light text meant for dark panels (found by scanning legacy CSS for light text colours) */
html body #pvDispatchRoot small,html body #pvLiveDispatch small,html body #seedDrawControls .note,html body .hc9-rank-note,html body .pv-owner-card small,
html body .pvaccountcard small,html body .rating-switch small,html body .small-note,html body #scoringLegend,html body #pickvnRefAssignment .pvhelp,
html body #ranking .pvr-info,html body #ranking .pvr-sub,html body #ranking .pvr-flat,html body #ranking .pvr-table th{color:var(--pv-muted)!important}
html body .pvaccountcard strong,html body #pickvnRefAssignment .pvstats strong{color:var(--pv-text)!important}
html body .ok,html body .hc9-up,html body #ranking .pvr-up{color:var(--pv-success)!important}
html body .hc9-down,html body #ranking .pvr-down{color:var(--pv-danger)!important}
html body .usa-missing{color:var(--pv-warn)!important}

/* referee toolbar/legacy blue gradients */
html body #referee button.hc16-court-switch,html body #referee #focusbtn,html body #referee #hc232next,html body #referee #hc22next{background:var(--pv-forest-700)!important;border-color:var(--pv-forest-600)!important;color:#fff!important}
html body #referee #hc23begin,html body #referee #startserve{background:var(--pv-lime-400)!important;color:var(--pv-forest-900)!important;border-color:var(--pv-lime-500)!important;font-weight:800!important}

/* ---------- mobile ---------- */
@media (max-width:820px){
 html body #pickvnSidebar{padding-bottom:10px!important}
 html body #roleTools{gap:6px}
 html body #roleTools button{white-space:nowrap;background:rgba(255,255,255,.06)!important;border-radius:999px!important;padding:8px 14px!important;font-size:14px!important}
 html body #roleTools button.active{background:var(--pv-lime-400)!important;color:var(--pv-forest-900)!important}
 html body #roleTools button.active::before{display:none}
 html body .topbar h1,html body #workspaceTitle{font-size:20px;line-height:28px}
 html body h2{font-size:19px;line-height:26px}
}
@media (prefers-reduced-motion:reduce){html body *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
html body .pv-login-home{margin-top:14px;text-align:center}
html body .pv-login-home a{color:var(--pv-forest-700);font-weight:600;text-decoration:none}
/* legacy "dark navy glass" block sets :root{color-scheme:dark} after this file: native checkboxes/date pickers rendered dark */
html:root{color-scheme:light!important}
html body #referee{color-scheme:dark}
/* Phase B ONLINE: sync status pill + toast */
html body #pvSyncStatus{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap;background:var(--pv-success-bg);color:var(--pv-success)}
html body #pvSyncStatus[data-state="saving"]{background:var(--pv-info-bg);color:var(--pv-info)}
html body #pvSyncStatus[data-state="offline"]{background:var(--pv-warn-bg);color:var(--pv-warn)}
html body #pvToast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:10000;background:var(--pv-forest-900);color:#fff;padding:10px 16px;border-radius:12px;box-shadow:var(--pv-shadow);font-size:14px;transition:opacity .2s,transform .2s}
html body #pvToast.show{opacity:1;transform:translate(-50%,0)}

/* Secretary 3-step bar: Bảng đấu → Lịch & phân sân → Phân công trọng tài */
html body .pv-stepnav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;position:static!important}
html body .pv-stepnav[hidden]{display:none}
html body .pv-stepnav button{flex:1 1 180px;background:var(--pv-surface)!important;color:var(--pv-forest-700)!important;border:1px solid var(--pv-line-strong)!important;border-radius:var(--pv-r-md)!important;box-shadow:none!important;font-weight:600!important;padding:10px 14px!important}
html body .pv-stepnav button.active{background:var(--pv-forest-700)!important;color:var(--pv-lime-400)!important;border-color:var(--pv-forest-700)!important}

/* DEC-0011 referral / credits / VIP tables and QR */
html body .pv-table{width:100%;border-collapse:collapse;font-size:14px}
html body .pv-table th,html body .pv-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--pv-line);vertical-align:top}
html body .pv-table th{color:var(--pv-muted);font-weight:600}
html body .pv-ref-share{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:12px 0}
html body .pv-ref-qr{width:180px;height:180px;background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-r-md);padding:6px}
html body .pv-ref-qr svg{width:100%;height:100%;display:block}
html body .pv-ref-link{word-break:break-all}
html body .pv-ref-dl{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid var(--pv-line-strong);border-radius:var(--pv-r-md);color:var(--pv-forest-700);text-decoration:none;font-weight:600}
html body :is(#pvReferral,#pvVip,#pvCredits,#pvAthlete,#pvOffline) .pvstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0 20px}
html body :is(#pvReferral,#pvVip,#pvCredits,#pvAthlete,#pvOffline) .pvstats>div{display:flex;flex-direction:column;gap:4px;text-align:center;padding:14px;background:#f7f9f5!important;border:1px solid var(--pv-line);border-radius:var(--pv-r-md)}
html body :is(#pvReferral,#pvVip,#pvCredits,#pvAthlete,#pvOffline) .pvstats strong{font-size:24px;color:var(--pv-forest-900)!important}
html body :is(#pvReferral,#pvVip,#pvCredits,#pvAthlete,#pvOffline) .pvstats span{color:var(--pv-muted)!important;font-size:13px}
html body :is(#pvReferral,#pvVip,#pvCredits,#pvAthlete) a{color:var(--pv-forest-700)!important}

/* V4 (DEC-0012): title badges and warnings */
html body .pv-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em}
html body .pv-badge--rookie{background:var(--pv-warn-bg);color:var(--pv-warn)}
html body .pv-badge--exp{background:var(--pv-success-bg);color:var(--pv-success)}
html body .pv-error{color:var(--pv-danger)}
html body .pv-warn{color:var(--pv-warn)}
