/* NovaCore 6.1.64 · UI-Qualität & Bedienkomfort
   Rein visuell/semantisch: Fokus, Lade-/Leer-/Fehlerzustände, Dialoge und Statusfeedback. */
:root{
  --nc-focus-color:#6fb6ff;
  --nc-focus-ring:0 0 0 3px rgba(68,153,255,.22);
  --nc-state-border:rgba(255,255,255,.09);
  --nc-state-bg:rgba(9,16,24,.72);
}

.nc-skip-link{
  position:fixed;left:14px;top:12px;z-index:12000;
  transform:translateY(-160%);padding:10px 14px;border-radius:10px;
  background:#e8f3ff;color:#07121f;font-weight:800;text-decoration:none;
  box-shadow:0 12px 30px rgba(0,0,0,.34);transition:transform .14s ease;
}
.nc-skip-link:focus{transform:translateY(0)}
.nc-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

:where(button,.btn,a[href],input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid var(--nc-focus-color)!important;
  outline-offset:2px!important;
  box-shadow:var(--nc-focus-ring)!important;
}
:where(button,.btn,input,select,textarea):disabled{
  opacity:.58;cursor:not-allowed!important;filter:saturate(.72);
}
:where(input,select,textarea)[aria-invalid="true"]{
  border-color:rgba(255,92,118,.72)!important;
  box-shadow:0 0 0 3px rgba(255,92,118,.12)!important;
}

/* Einheitliche Status- und Leerzustände */
:where(.empty-soft,.empty-state,.support-empty,.attention-empty,.import-reminder-empty,.business-empty,.storage-empty,.all-storage-empty,.market-empty,.production-profit-empty,.production-times-empty,.saved-empty,.vehicle-empty,.nc-personal-empty,.nc-quality-empty,.manual-company-empty,.storage-company-cards-empty){
  min-height:64px;display:grid;align-content:center;justify-items:start;gap:4px;
  padding:14px 16px;border:1px dashed var(--nc-state-border);border-radius:14px;
  background:linear-gradient(180deg,rgba(15,24,34,.58),rgba(8,14,21,.56));
  color:#9eabb7;line-height:1.5;
}
:where(.empty-soft,.empty-state,.support-empty,.attention-empty,.import-reminder-empty,.business-empty,.storage-empty,.all-storage-empty,.market-empty,.production-profit-empty,.production-times-empty,.saved-empty,.vehicle-empty,.nc-personal-empty,.nc-quality-empty,.manual-company-empty,.storage-company-cards-empty)::before{
  content:"—";display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:999px;
  color:#9eb3c8;background:rgba(137,164,190,.10);font-weight:900;
}
[data-nc-state="loading"]::before{content:""!important;width:16px;min-width:16px;height:16px;border:2px solid rgba(111,182,255,.24);border-top-color:#6fb6ff;background:transparent!important;animation:ncSpin6164 .75s linear infinite}
[data-nc-state="error"]{border-color:rgba(255,92,118,.28)!important;background:rgba(82,20,34,.14)!important;color:#ffc3ce!important}
[data-nc-state="error"]::before{content:"!"!important;color:#ffd3da;background:rgba(255,92,118,.14)!important}
[data-nc-state="success"]{border-color:rgba(72,218,125,.24)!important;background:rgba(28,91,52,.10)!important;color:#bfeccd!important}
[data-nc-state="success"]::before{content:"✓"!important;color:#c9f7d5;background:rgba(72,218,125,.12)!important}
[data-nc-state="warning"]{border-color:rgba(236,177,65,.26)!important;background:rgba(92,65,18,.11)!important;color:#f6dca5!important}
[data-nc-state="warning"]::before{content:"!"!important;color:#ffe5ae;background:rgba(236,177,65,.12)!important}

:where(.storage-status,.vehicle-scan-status,.import-sync-status,.embedded-bridge-status,.support-status,.factory-loading,.matrix-loading,.import-order-loading){
  line-height:1.5;
}

/* Beschäftigte Aktionen sind klar erkennbar */
.nc-busy{position:relative;padding-right:38px!important}
.nc-busy::after{
  content:"";position:absolute;right:14px;top:50%;width:14px;height:14px;margin-top:-7px;
  border:2px solid rgba(255,255,255,.24);border-top-color:currentColor;border-radius:50%;
  animation:ncSpin6164 .72s linear infinite;pointer-events:none;
}
@keyframes ncSpin6164{to{transform:rotate(360deg)}}

/* Dialoge und Hinweise konsistenter */
dialog.modal[open]{border-color:rgba(126,159,192,.18)}
dialog.modal .modal-head h2{line-height:1.2}
dialog.modal .close{min-width:40px;min-height:40px;border-radius:10px;display:grid;place-items:center}
dialog.modal .close:hover{background:rgba(255,255,255,.06);color:#eef5fb}

.announcements{pointer-events:none}
.announcement{pointer-events:auto;position:relative;border-left-width:3px!important}
.announcement.success{border-left-color:#48da7d!important}
.announcement.warning{border-left-color:#ecb141!important}
.announcement.error{border-left-color:#f16174!important}

/* Ruhigere Hilfs-/Metatexte */
:where(.muted,.sub,.editor-meta,.announcement-meta,time){font-variant-numeric:tabular-nums}

/* Bessere Touch-/Maus-Ziele ohne Layout aufzublasen */
@media (pointer:coarse){
  :where(button,.btn,.nc-icon-btn,.close){min-height:42px}
}

@media (prefers-reduced-motion:reduce){
  .nc-skip-link,[data-nc-state="loading"]::before,.nc-busy::after{animation:none!important;transition:none!important}
}
