/* Shared EVOO primitives. Load after each application's module styles. */
@font-face{font-family:"EVOO Inter";src:url("./fonts/Inter-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"EVOO Inter";src:url("./fonts/Inter-SemiBold.woff2") format("woff2");font-weight:600 800;font-display:swap}
:root{
  --evoo-ink:#172925;--evoo-muted:#5b6b65;--evoo-bg:#f3f5f3;
  --evoo-surface:#fff;--evoo-soft:#edf3ef;--evoo-line:#d6dfd9;
  --evoo-action:#202626;--evoo-action-hover:#343c3c;--evoo-brand:#087e7b;--evoo-brand-hover:#056461;--evoo-lime:#dfff00;
  --evoo-danger:#a92535;--evoo-warning:#875600;--evoo-success:#246444;
  --evoo-control-hover:#fff5c2;--evoo-control-selected:#ffed9e;--evoo-control-edge:#bda440;
  --evoo-radius:8px;--evoo-panel-radius:12px;
  --evoo-space-1:4px;--evoo-space-2:8px;--evoo-space-3:12px;
  --evoo-space-4:16px;--evoo-space-5:24px;--evoo-space-6:32px;
  --line:var(--evoo-line);--muted:var(--evoo-muted);
  --bg:var(--evoo-bg);--ink:var(--evoo-ink);--lime:var(--evoo-lime);
}
body.evoo-ui{font-family:"EVOO Inter",EVOO,system-ui,sans-serif;font-size:14px;line-height:1.5;color:var(--evoo-ink);background:var(--evoo-bg)}
body.evoo-ui :is(button,input,select,textarea){font:inherit}
body.evoo-ui :is(.w-head,.page-head){gap:var(--evoo-space-4);margin-bottom:var(--evoo-space-5)}
body.evoo-ui :is(.w-head,.page-head) h1{font-size:28px;line-height:1.2;letter-spacing:-.035em}
body.evoo-ui h2{font-size:18px;line-height:1.35;letter-spacing:-.015em}
body.evoo-ui h3{font-size:15px;line-height:1.4}
body.evoo-ui :is(.muted,.subtle,small){color:var(--evoo-muted)}
/* These values sit directly on age-colored rows and need the stronger text color. */
body.evoo-ui .w-response small{color:inherit}
body.evoo-ui :is(.eyebrow,.w-channel){font-size:11px;line-height:1.5;font-weight:700;letter-spacing:.08em}
body.evoo-ui :is(#content,#main-content){min-width:0;scroll-margin-top:24px}
body.evoo-ui #content{padding:24px 24px 40px}
body.evoo-ui :is(.panel,.w-card,.w-tabset){border-color:var(--evoo-line);border-radius:var(--evoo-panel-radius);background:var(--evoo-surface)}
body.evoo-ui .panel{padding:20px}
body.evoo-ui :is(.panel.flush,.panel-flush){padding:0}
body.evoo-ui :is(.actions,.page-actions,.w-toolbar,.w-header-controls){gap:var(--evoo-space-2)}
body.evoo-ui :is(.w-detail,.w-lead-right,.w-client-grid){gap:var(--evoo-space-5)}
body.evoo-ui :is(.w-timeline,.w-events){gap:var(--evoo-space-4)}
body.evoo-ui :is(.w-form,.w-dialog form){gap:var(--evoo-space-4)}
body.evoo-ui :is(.fields,.form-grid){gap:var(--evoo-space-4)}
body.evoo-ui :is(button,.button,.w-send summary,.w-columns summary){border-radius:var(--evoo-radius);min-height:40px;padding:9px 14px;font-size:14px;line-height:1.4;font-weight:600;border:1px solid var(--evoo-line);background:var(--evoo-surface);color:var(--evoo-ink);text-decoration:none}
body.evoo-ui :is(button,.button,.w-columns summary):not(:disabled):not([aria-disabled=true]):hover{background:var(--evoo-soft);border-color:var(--evoo-brand)}
body.evoo-ui :is(button.primary,.button-primary,button[type=submit]:not(.danger):not(.button-danger),.w-send summary.primary){background:var(--evoo-action);border-color:var(--evoo-action);color:#fff}
body.evoo-ui :is(button.primary,.button-primary,button[type=submit]:not(.danger):not(.button-danger),.w-send summary.primary):hover{background:var(--evoo-action-hover);border-color:var(--evoo-action-hover)}
body.evoo-ui :is(.button-danger,button.danger){color:var(--evoo-danger);border-color:#dfb4bc;background:#fff5f6}
body.evoo-ui :is(button,.button):disabled{opacity:.5;cursor:not-allowed}
body.evoo-ui button.button-icon,body.evoo-ui button.sidebar-collapse-toggle{width:40px;min-width:40px;padding:0;justify-content:center}
body.evoo-ui label{font-size:13px;line-height:1.5;color:var(--evoo-muted);gap:6px}
body.evoo-ui :is(input,select,textarea){border:1px solid var(--evoo-line);border-radius:var(--evoo-radius);padding:9px 12px;min-height:40px;background:var(--evoo-surface);color:var(--evoo-ink);max-width:100%;min-width:0}
body.evoo-ui :is(input[type=checkbox],input[type=radio]){min-height:0;width:18px;height:18px;padding:0;accent-color:var(--evoo-brand);flex-shrink:0}
body.evoo-ui input::placeholder,body.evoo-ui textarea::placeholder{color:#68766f;opacity:1}
body.evoo-ui :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--evoo-brand);outline-offset:3px}
body.evoo-ui :is(input,select,textarea)[aria-invalid=true]{border-color:var(--evoo-danger)}
body.evoo-ui .w-contact{padding:16px;background:var(--evoo-soft);border:1px solid var(--evoo-line);border-radius:var(--evoo-panel-radius)}
body.evoo-ui .w-toolbar{padding:16px;margin:0 0 20px;border:1px solid var(--evoo-line);border-radius:var(--evoo-panel-radius);background:var(--evoo-surface);align-items:end}
body.evoo-ui .w-toolbar>label{flex:1;min-width:min(100%,250px)}
body.evoo-ui .w-toolbar .w-columns{margin-left:0}
body.evoo-ui .w-view-switch a{min-height:40px;padding:9px 12px;font-size:14px;border-radius:var(--evoo-radius)}
body.evoo-ui .w-view-switch a[aria-current=page]{color:var(--evoo-action);background:var(--evoo-surface);border-color:var(--evoo-action)}
body.evoo-ui :is(.w-lead-scroll,.table-wrap){border-radius:var(--evoo-panel-radius);scrollbar-width:thin}
body.evoo-ui table{font-size:14px;line-height:1.5}
body.evoo-ui :is(th,.w-lead-table th){font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.025em;color:var(--evoo-muted);background:#edf2ee;border-color:var(--evoo-line);padding:12px}
body.evoo-ui :is(td,.w-lead-table td){font-size:14px;padding:14px 12px;border-color:var(--evoo-line)}
body.evoo-ui :is(td a,.w-card-title>a){color:#076461;text-underline-offset:3px}
body.evoo-ui :is(td a,.w-card-title>a):hover{text-decoration:underline}
body.evoo-ui .w-lead-table td:first-child{min-width:180px;white-space:nowrap;font-variant-numeric:tabular-nums}
body.evoo-ui :is(.w-lead-table th button,.w-filter-button,.w-status-icon){background:transparent;border:0;padding:4px;min-height:32px;border-radius:4px}
body.evoo-ui .w-lead-table th button{font-size:12px}
body.evoo-ui :is(.w-filter-button,.w-status-icon){min-width:32px}
body.evoo-ui :is(.w-filter-button.is-active,.w-filter-button[aria-expanded=true]){background:#edf0f0;color:var(--evoo-action)}
body.evoo-ui .w-paging{flex-wrap:wrap;gap:12px;font-size:13px}
body.evoo-ui :is(.badge,.pill,.evoo-status){display:inline-flex;align-items:center;gap:6px;min-height:26px;border-radius:6px;padding:3px 9px;font-size:12px;line-height:1.5;font-weight:600;white-space:nowrap;color:#3f544b;background:#edf2ee;border:1px solid #cedbd2}
body.evoo-ui :is(.phase-117,.badge.info){color:#1d527f;background:#edf5ff;border-color:#bfd6ed}
body.evoo-ui :is(.phase-118,.phase-152,.state-wait){color:#065e5b;background:#e7f5f0;border-color:#b2dace}
body.evoo-ui :is(.phase-119,.state-done,.badge.success){color:var(--evoo-success);background:#edf8ee;border-color:#bad8bf}
body.evoo-ui :is(.phase-120,.badge.danger,.badge.sla-breached){color:var(--evoo-danger);background:#fff0f2;border-color:#e5bdc3}
body.evoo-ui :is(.badge.pending,.badge.changed,.badge.attention,.badge.sla-warning){color:var(--evoo-warning);background:#fff5df;border-color:#e6d3a4}
body.evoo-ui :is(.badge.added,.badge.active,.badge.sla-ok){color:var(--evoo-success);background:#edf8ee;border-color:#bad8bf}
body.evoo-ui :is(.badge.removed,.badge.inactive){color:var(--evoo-danger);background:#fff0f2;border-color:#e5bdc3}
body.evoo-ui button.w-status-icon-warning{color:var(--evoo-danger)}
body.evoo-ui button.w-status-icon-calendar{color:var(--evoo-success)}
body.evoo-ui button.w-status-icon-info{color:#1d527f}
body.evoo-ui :is(.w-status,.w-dialog-status){border-radius:var(--evoo-radius);line-height:1.5;padding:12px 16px;background:#e7f5f0;color:#065e5b;border:1px solid #b2dace;overflow-wrap:anywhere}
body.evoo-ui :is(.w-status,.w-dialog-status):empty{display:none}
body.evoo-ui :is(.w-status.error,.w-dialog-status.error,[data-w-mail-error]){color:var(--evoo-danger);background:#fff0f2;border-color:#e5bdc3}
body.evoo-ui :is(.w-monitor,.w-notice-banner){border-radius:var(--evoo-radius);padding:12px 16px;font-size:13px}
body.evoo-ui :is(.w-dialog,.modal,dialog[id=dialog]){border:1px solid var(--evoo-line);border-radius:16px;background:var(--evoo-surface);box-shadow:0 16px 64px #13201e29;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;color:var(--evoo-ink)}
body.evoo-ui .w-dialog{padding:24px;width:700px;max-width:calc(100vw - 32px)}
body.evoo-ui :is(.dialog-head,.modal-head){gap:16px;margin-bottom:20px;align-items:center}
body.evoo-ui :is(.dialog-head,.modal-head) h2{font-size:22px;margin:0;line-height:1.3}
body.evoo-ui :is(.dialog-head button,.modal-close){width:40px;min-width:40px;height:40px;padding:8px}
body.evoo-ui dialog::backdrop,body.evoo-ui .modal-backdrop{background:#13201e80}
body.evoo-ui .w-filter-menu{border:1px solid var(--evoo-line);border-radius:12px;box-shadow:0 8px 32px #13201e26;max-height:calc(100dvh - 16px);overflow:auto}
body.evoo-ui .w-lead-actions .w-send summary{background:var(--evoo-action);color:#fff;border-color:var(--evoo-action);text-align:center}
body.evoo-ui .w-tabset .w-lead-tabs{gap:4px;padding:8px;background:var(--evoo-soft);border-color:var(--evoo-line);border-radius:12px 12px 0 0}
body.evoo-ui .w-tabset .w-lead-tabs [role=tab]{border:1px solid transparent;border-radius:6px;margin:0;padding:9px 8px;min-height:40px;font-size:13px;background:transparent;color:var(--evoo-muted);box-shadow:none}
body.evoo-ui .w-tabset .w-lead-tabs [aria-selected=true]{background:var(--evoo-surface);color:var(--evoo-action);border-color:#9eaaa7;box-shadow:0 1px 3px #13201e0d}
body.evoo-ui .w-tabset>.panel{border-radius:0 0 12px 12px}
body.evoo-ui .w-event{padding:16px;border-radius:var(--evoo-radius)}
body.evoo-ui .crm-open-tab .crm-tab{font-size:13px;min-height:44px;padding:8px 12px}
body.evoo-ui .crm-open-tab .crm-tab-close{padding:4px;min-width:32px;min-height:32px;border:0;background:transparent}
body.evoo-ui .crm-open-tab.is-active{border-color:var(--evoo-action);box-shadow:none}
body.evoo-ui .crm-open-tab.is-active :is(.crm-tab,.crm-tab-close){background:var(--evoo-surface);color:var(--evoo-action)}
body.evoo-ui .topbar{min-height:64px;padding:12px 24px}
body.evoo-ui .breadcrumbs{font-size:12px}
body.evoo-ui .avatar{width:32px;height:32px;font-size:12px}
body.evoo-ui .test-banner{font-size:12px;padding:8px 24px}
body.evoo-ui .w-column{background:#e8eeea;border:1px solid var(--evoo-line);padding:12px;border-radius:var(--evoo-panel-radius)}
body.evoo-ui .w-column h2{font-size:14px}
body.evoo-ui .w-card{padding:16px}
body.evoo-ui .w-lead-summary h2{font-size:28px;line-height:1.2}
body.evoo-ui .w-dialog.crm-pane-dialog{max-height:calc(100dvh - 156px)}
@media(max-width:1050px){body.evoo-ui .w-toolbar{flex-wrap:wrap}body.evoo-ui .w-toolbar>label{flex-basis:100%}}
@media(max-width:760px){
  body.evoo-ui :is(#content,#main-content){padding:20px 16px 88px}
  body.evoo-ui :is(.w-head,.page-head) h1{font-size:25px}
  body.evoo-ui .panel{padding:16px}
  body.evoo-ui :is(.panel.flush,.panel-flush){padding:0}
  body.evoo-ui :is(button,.button,input,select,.w-send summary,.w-columns summary){min-height:44px}
  body.evoo-ui button.button-icon,body.evoo-ui button.topbar-refresh{width:44px;min-width:44px;padding:0;flex-shrink:0}
  body.evoo-ui button.topbar-refresh{font-size:0}
  body.evoo-ui :is(input,select,textarea){font-size:16px}
  body.evoo-ui :is(input[type=checkbox],input[type=radio]){min-height:0}
  body.evoo-ui .w-toolbar{gap:8px;padding:12px}
  body.evoo-ui .w-toolbar>label{min-width:100%}
  body.evoo-ui .w-toolbar>button{flex:1 0 auto}
  body.evoo-ui .w-dialog{padding:20px 16px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
  body.evoo-ui .w-dialog.crm-pane-dialog{inset:140px 12px auto;width:calc(100vw - 24px);max-height:calc(100dvh - 156px)}
  body.evoo-ui .w-dialog .fields{grid-template-columns:minmax(0,1fr)}
  body.evoo-ui .w-dialog .dialog-head{position:sticky;top:-20px;z-index:2;background:#fff;padding:12px 0;margin-top:-12px}
  body.evoo-ui .w-tabset .w-lead-tabs [role=tab]{font-size:12px;min-height:44px;padding:8px 4px}
  body.evoo-ui :is(.w-filter-button,.w-status-icon){min-height:40px;min-width:40px}
  body.evoo-ui .w-paging>span{order:3;flex-basis:100%;text-align:center}
  body.evoo-ui .topbar{padding:10px 16px}
  body.evoo-ui .test-banner{padding:8px 16px}
}
@media(prefers-reduced-motion:reduce){body.evoo-ui *,body.evoo-ui *::before,body.evoo-ui *::after{scroll-behavior:auto;animation-duration:.01ms;transition-duration:.01ms}}

/* Test-drive cards must accommodate long Czech statuses and independent
   customer/document badges after the shared control typography is applied. */
body.evoo-ui :is(.test-drive-calendar-event,.test-drive-vehicle-calendar-booking)[data-calendar-entry^="drive-"]{height:auto;min-height:292px}
body.evoo-ui .test-drive-calendar-event-foot .badge,
body.evoo-ui .seller-drive-card .badge,
body.evoo-ui .test-drive-reservation-card .badge{display:block;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
body.evoo-ui .test-drive-calendar-event-foot .button,
body.evoo-ui .test-drive-outcome-choices>.button{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
body.evoo-ui .seller-drive-card .seller-drive-main{min-width:0}
body.evoo-ui .seller-drive-card .seller-detail-head,
body.evoo-ui .test-drive-reservation-card>header{flex-wrap:wrap}
body.evoo-ui .seller-drive-card .seller-detail-head>div,
body.evoo-ui .test-drive-reservation-card>header>div{min-width:0;max-width:100%;overflow-wrap:anywhere}
body.evoo-ui .badge.test-drive-customer-preparation-badge,
body.evoo-ui .badge.test-drive-pdf-ready{color:#153d69;background:#d6e7ff;border-color:#6d9bce}
body.evoo-ui .badge.test-drive-customer-preparation-badge.is-conflict{color:#654000;background:#ffd06a;border-color:#c78a1c}
body.evoo-ui .badge.test-drive-documents-verified{color:#174866;background:#c4dff2;border-color:#7aaecf}
body.evoo-ui .test-drive-calendar-event-foot .badge.test-drive-completed-badge{color:#fff;background:#237342;border-color:#237342}
body.evoo-ui :is(.test-drive-calendar-event.inactive,.test-drive-vehicle-calendar-booking.cancelled,.test-drive-vehicle-calendar-booking.no_show) .badge.inactive{color:#8b1e31;background:#f6b6c4;border-color:#df8496}

/* Compact copy actions need room for their SVG, rather than text-button padding. */
body.evoo-ui button.test-drive-copy-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:0 0 32px;width:32px;min-width:32px;height:32px;min-height:32px;padding:6px;border:0;border-radius:6px;background:transparent;color:var(--evoo-muted)}
body.evoo-ui button.test-drive-copy-button svg{display:block;flex:0 0 16px;width:16px;height:16px}
body.evoo-ui button.test-drive-copy-button:not(:disabled):not([aria-disabled=true]):hover{background:var(--evoo-soft);color:var(--evoo-ink)}
@media(max-width:760px){body.evoo-ui button.test-drive-copy-button{flex-basis:44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:12px}}

/* Keep available card actions distinct from the coloured booking surface. */
body.evoo-ui .test-drive-calendar-event-foot .button:not(:disabled),
body.evoo-ui :is(.seller-drive-actions,.test-drive-reservation-actions) .button-secondary:not(:disabled),
body.evoo-ui button.test-drive-copy-button:not(:disabled){background:var(--evoo-surface);color:var(--evoo-action);border:1px solid #85968e;box-shadow:0 1px 2px #1729251a}
body.evoo-ui .test-drive-calendar-event-foot .button:not(:disabled):hover,
body.evoo-ui :is(.seller-drive-actions,.test-drive-reservation-actions) .button-secondary:not(:disabled):hover,
body.evoo-ui button.test-drive-copy-button:not(:disabled):hover{background:var(--evoo-control-hover);border-color:var(--evoo-control-edge);box-shadow:0 1px 3px #17292529}
body.evoo-ui .test-drive-calendar-event-foot .button:not(:disabled):active,
body.evoo-ui :is(.seller-drive-actions,.test-drive-reservation-actions) .button-secondary:not(:disabled):active,
body.evoo-ui button.test-drive-copy-button:not(:disabled):active{background:var(--evoo-control-selected);border-color:var(--evoo-control-edge);box-shadow:none}

/* Light controls share a warm hover; selected controls remain identifiable
   after the pointer leaves. Dark primary actions and dark active tabs retain
   their existing appearance. */
body.evoo-ui :is(button,.button,.w-columns summary,.inquiry-tab,.test-drive-calendar-view-tabs a,.w-view-switch a):not(:disabled):not([aria-disabled=true]):not(.primary):not(.button-primary):not(button[type=submit]:not(.danger):not(.button-danger)):not(.active):hover{background:var(--evoo-control-hover);border-color:var(--evoo-control-edge)}
body.evoo-ui :is(button,.button):is([aria-pressed=true],[aria-selected=true],.is-selected):not(:disabled):not([aria-disabled=true]):not(.primary):not(.button-primary):not(.active),
body.evoo-ui .w-tabset .w-lead-tabs [aria-selected=true],
body.evoo-ui .w-view-switch a[aria-current=page]{background:var(--evoo-control-selected);color:var(--evoo-action);border-color:var(--evoo-control-edge);box-shadow:inset 0 -2px 0 var(--evoo-control-edge);font-weight:700}
body.evoo-ui .crm-open-tab.is-active{border-color:var(--evoo-control-edge)}
body.evoo-ui .crm-open-tab.is-active :is(.crm-tab,.crm-tab-close){background:var(--evoo-control-selected);color:var(--evoo-action)}
