/* KONEVIX Hypergrid 1.0 — Phase 1 Foundation.
   Additive component primitives. NO global !important cascade and no new business UI.
   Semantic colors come exclusively from the existing KonevixThemeEngine.tokenMap. */
:root{
  --kv-font-ui:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --kv-border-width:1px;
  --kv-control-height:36px;
}
/* Shared calm/precise affordances, without repainting Workspace graphs or Kanban. */
:where(.page-title,.kv-page-header){min-width:0}
:where(.page-title h1,.kv-page-header__title){text-wrap:balance;letter-spacing:-.02em}
:where(.card,.metric,.kv-entity-card,.kv-metric){min-width:0}
:where(.btn,.mini,.kv-button){transition:background-color var(--kv-motion-hover) ease,border-color var(--kv-motion-hover) ease,color var(--kv-motion-hover) ease,box-shadow var(--kv-motion-focus) ease}
:where(.kv-panel,.kv-entity-card,.kv-metric){
  color:var(--kv-text-primary);background:var(--kv-bg-surface-1);
  border:var(--kv-border-width) solid var(--kv-border-subtle);
  border-radius:var(--kv-radius-card);box-shadow:var(--kv-shadow-surface);
}
.kv-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--kv-space-4);margin-block-end:var(--kv-space-5)}
.kv-page-header__meta{min-width:0}
.kv-page-header__title{font-weight:750;font-size:clamp(22px,2vw,28px);margin:0;color:var(--kv-text-primary)}
.kv-page-header__caption{font-size:13px;line-height:1.5;color:var(--kv-text-secondary);margin:var(--kv-space-1) 0 0}
.kv-metric{padding:var(--kv-space-4);display:grid;gap:var(--kv-space-2)}
.kv-metric__label{font-size:12px;color:var(--kv-text-secondary)}
.kv-metric__value{font-size:clamp(24px,2vw,34px);font-variant-numeric:tabular-nums;font-weight:760;line-height:1.1}
.kv-metric__status{font-size:12px;color:var(--kv-text-secondary)}
.kv-filter-toolbar{background:var(--kv-bg-surface-1);border:1px solid var(--kv-border-subtle);border-radius:var(--kv-radius-card);padding:var(--kv-space-3);display:flex;flex-wrap:wrap;gap:var(--kv-space-2);align-items:center}
.kv-entity-card{padding:var(--kv-space-4);overflow-wrap:anywhere}
.kv-entity-card__title{font-size:15px;font-weight:700;color:var(--kv-text-primary)}
.kv-entity-card__meta{font-size:12px;color:var(--kv-text-secondary)}
.kv-button{appearance:none;min-height:var(--kv-control-height);border-radius:var(--kv-radius-control);padding:var(--kv-space-2) var(--kv-space-3);font:600 13px var(--kv-font-ui);border:1px solid var(--kv-border-interactive);background:var(--kv-accent);color:var(--kv-text-on-accent);cursor:pointer}
.kv-button:hover{background:var(--kv-accent-hover)}
.kv-button--secondary{background:var(--kv-bg-surface-2);color:var(--kv-text-primary);border-color:var(--kv-border-subtle)}
.kv-button--secondary:hover{background:var(--kv-hover-surface);border-color:var(--kv-border-interactive)}
.kv-button:disabled{opacity:.55;cursor:not-allowed}
.kv-control{background:var(--kv-bg-surface-2);border:1px solid var(--kv-border-subtle);border-radius:var(--kv-radius-control);color:var(--kv-text-primary);min-height:var(--kv-control-height);padding:var(--kv-space-2) var(--kv-space-3);font:13px var(--kv-font-ui)}
.kv-control::placeholder{color:var(--kv-text-muted)}
.kv-control:focus-visible,.kv-button:focus-visible,.kv-entity-card[tabindex]:focus-visible{outline:2px solid var(--kv-focus-ring);outline-offset:2px}
.kv-popover,.kv-dialog{background:var(--kv-bg-floating);color:var(--kv-text-primary);border:1px solid var(--kv-border-strong);border-radius:var(--kv-radius-panel);box-shadow:var(--kv-shadow-floating)}
.kv-overlay{background:var(--kv-backdrop)}
.kv-grid-surface{background-color:var(--kv-bg-page);background-image:linear-gradient(to right,var(--kv-grid-stroke) 1px,transparent 1px),linear-gradient(to bottom,var(--kv-grid-stroke) 1px,transparent 1px);background-size:24px 24px}
.kv-state--success{color:var(--kv-success)}
.kv-state--warning{color:var(--kv-warning)}
.kv-state--danger{color:var(--kv-danger)}
.kv-state--info{color:var(--kv-info)}
:where(.kv-filter-toolbar,.kv-panel,.kv-dialog,.kv-popover,.kv-entity-card,.kv-metric){scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}
@media(max-width:720px){.kv-page-header{flex-direction:column}.kv-filter-toolbar{align-items:stretch}.kv-control,.kv-button{min-height:44px}}
@media(prefers-reduced-motion:reduce){:where(.btn,.mini,.kv-button,.kv-entity-card,.kv-metric){transition:none;animation:none}}
@media(forced-colors:active){.kv-button:focus-visible,.kv-control:focus-visible,.kv-entity-card[tabindex]:focus-visible{outline:2px solid Highlight}.kv-button,.kv-panel,.kv-entity-card,.kv-metric{border:1px solid CanvasText}}
