/*
 * NexCore Design System · Public surfaces
 * Patch 3.56j2
 * Grundregeln für Farben, Radien, Buttons, Karten, Formulare und Fokus.
 * Jede Produktoberfläche behält ihren eigenen Charakter.
 */
:root{
  --nc-bg-0:#050711;
  --nc-bg-1:#080d18;
  --nc-surface-1:rgba(12,18,31,.86);
  --nc-surface-2:rgba(18,25,42,.82);
  --nc-surface-hover:rgba(24,34,56,.92);
  --nc-text:#f4f7ff;
  --nc-muted:#98a7bd;
  --nc-cyan:#50d8ff;
  --nc-blue:#6f86ff;
  --nc-purple:#9a63ff;
  --nc-pink:#ff62c5;
  --nc-green:#70e6b0;
  --nc-amber:#ffd166;
  --nc-danger:#ff6e8d;
  --nc-border:rgba(125,155,195,.18);
  --nc-border-strong:rgba(80,216,255,.34);
  --nc-radius-xs:8px;
  --nc-radius-sm:12px;
  --nc-radius-md:16px;
  --nc-radius-lg:22px;
  --nc-radius-xl:28px;
  --nc-control-h:44px;
  --nc-shadow-sm:0 12px 30px rgba(0,0,0,.18);
  --nc-shadow-md:0 22px 60px rgba(0,0,0,.28);
  --nc-focus:0 0 0 3px rgba(80,216,255,.18),0 0 0 1px rgba(80,216,255,.72);
  --nc-ease:cubic-bezier(.22,.8,.24,1);
}

.nc-public{
  --nc-page-inline:clamp(16px,3vw,36px);
  color-scheme:dark;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

.nc-public :where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:0!important;
  box-shadow:var(--nc-focus)!important;
}

.nc-public :where(button,a,input,select,textarea){
  -webkit-tap-highlight-color:transparent;
}

/* Einheitliche Bedienelemente */
.nc-public :where(.btn,.button,.top-action,.status-nav>a,.console-command,.filter-chip,.history-switch button,.pricing-button,.billing-card__button){
  min-height:var(--nc-control-h);
  border-radius:var(--nc-radius-sm);
  border:1px solid var(--nc-border);
  font-weight:850;
  line-height:1;
  letter-spacing:-.01em;
  transition:transform .2s var(--nc-ease),border-color .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease;
}

.nc-public :where(.btn,.button,.top-action,.status-nav>a,.console-command,.filter-chip,.history-switch button,.pricing-button,.billing-card__button):hover{
  transform:translateY(-1px);
  border-color:var(--nc-border-strong);
}

.nc-public :where(.btn.primary,.button--header-bot,.button--hero-bot,.top-action--primary,.status-nav__primary,.console-command,.pricing-button:not(.is-preview-button),.billing-card__button){
  color:#07101d;
  border-color:transparent;
  background:linear-gradient(120deg,var(--nc-cyan),var(--nc-blue) 48%,var(--nc-purple));
  box-shadow:0 14px 34px rgba(80,143,255,.22),inset 0 1px 0 rgba(255,255,255,.28);
}

.nc-public :where(.btn.primary,.button--header-bot,.button--hero-bot,.top-action--primary,.status-nav__primary,.console-command,.pricing-button:not(.is-preview-button),.billing-card__button):hover{
  color:#030b15;
  box-shadow:0 17px 42px rgba(112,102,255,.28),0 0 24px rgba(80,216,255,.11),inset 0 1px 0 rgba(255,255,255,.32);
}

.nc-public :where(.btn:not(.primary),.button--outline,.button--header-panel,.top-action--quiet,.status-nav>a:not(.status-nav__primary),.filter-chip,.history-switch button){
  color:var(--nc-text);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}

.nc-public :where(.btn:not(.primary),.button--outline,.button--header-panel,.top-action--quiet,.status-nav>a:not(.status-nav__primary),.filter-chip,.history-switch button):hover{
  background:linear-gradient(180deg,rgba(80,216,255,.085),rgba(154,99,255,.045));
}

.nc-public :where(button,a).is-disabled,
.nc-public :where(button,a)[aria-disabled="true"],
.nc-public button:disabled{
  opacity:.48;
  cursor:not-allowed;
  transform:none!important;
  box-shadow:none!important;
}

/* Einheitliche Formulare */
.nc-public :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.search-box){
  min-height:48px;
  border:1px solid var(--nc-border);
  border-radius:var(--nc-radius-sm);
  color:var(--nc-text);
  background:rgba(4,9,18,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}

.nc-public :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea):hover{
  border-color:rgba(125,155,195,.3);
}

.nc-public :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus{
  border-color:rgba(80,216,255,.58);
  background:rgba(5,11,23,.92);
}

.nc-public :where(input,textarea)::placeholder{color:#718096;opacity:1}
.nc-public :where(input[type="checkbox"],input[type="radio"]){accent-color:var(--nc-cyan)}

/* Karten und Inhaltsflächen */
.nc-public.nc-site-main :where(.step-card,.free-next-card,.billing-card,.auth-preview-card,.access-card,.dialog-card),
.nc-public.nc-site-supportdesk :where(.workspace-card,.pricing-card,.discord-ticket-card,.product-window),
.nc-public.nc-site-wiki :where(.panel,.metric-card,.category-card,.article-card,.workspace-card,.reader-toc,.reader-image,.reader-cover,.article-missing),
.nc-public.nc-site-status :where(.console-panel,.status-readout,.status-help){
  border-color:var(--nc-border);
  border-radius:var(--nc-radius-lg);
  box-shadow:var(--nc-shadow-sm);
}

.nc-public.nc-site-main :where(.step-card,.free-next-card,.billing-card,.auth-preview-card,.access-card):hover,
.nc-public.nc-site-supportdesk :where(.workspace-card,.pricing-card):hover,
.nc-public.nc-site-wiki :where(.metric-card,.category-card,.article-card):hover{
  border-color:rgba(80,216,255,.32);
  box-shadow:var(--nc-shadow-md),0 0 28px rgba(80,216,255,.045);
}

/* Beschriftungen und Status-Badges */
.nc-public :where(.section-kicker,.eyebrow,.panel-kicker,.status-eyebrow,.billing-card__eyebrow,.event-badge,.pill,.feature-tag,.article-card__category){
  letter-spacing:.11em;
  text-transform:uppercase;
  font-size:.7rem;
  font-weight:900;
}

.nc-public :where(.section-kicker,.eyebrow,.panel-kicker,.status-eyebrow){color:var(--nc-cyan)}

/* Gemeinsame Navigation */
.nc-public :where(.nav,.header-inner,.kb-topbar,.status-topbar){
  border-color:var(--nc-border);
  box-shadow:0 14px 44px rgba(0,0,0,.18);
}

.nc-public :where(.nav-link,.main-nav a,.sidebar-link,.status-nav>a){
  text-underline-offset:4px;
}

/* Wiki: ruhigere Bedienung und klarere aktive Zustände */
.nc-site-wiki .top-action{padding-inline:14px}
.nc-site-wiki .filter-chip.is-active{
  color:#07101d;
  border-color:transparent;
  background:linear-gradient(120deg,var(--nc-cyan),var(--nc-blue) 52%,var(--nc-purple));
}
.nc-site-wiki .sidebar-link.is-active{
  border-color:rgba(80,216,255,.34);
  background:linear-gradient(90deg,rgba(80,216,255,.105),rgba(154,99,255,.055));
}
.nc-site-wiki .article-card{overflow:hidden}
.nc-site-wiki .article-card__link{border-radius:inherit}
.nc-site-wiki .reader-block :where(a:not(.top-action),.event-help){color:var(--nc-cyan);text-decoration-thickness:1px}

/* SupportDesk: keine weißen Fremdkörper */
.nc-site-supportdesk .button--primary,
.nc-site-supportdesk .button--light{
  color:#07101d;
  background:linear-gradient(120deg,var(--nc-cyan),var(--nc-blue) 48%,var(--nc-purple));
}
.nc-site-supportdesk .final-button--bot{
  color:#fff;
  border-color:rgba(255,98,197,.3);
  background:linear-gradient(145deg,rgba(56,22,62,.94),rgba(13,16,29,.98));
}
.nc-site-supportdesk .final-button--panel{
  border-color:rgba(80,216,255,.34);
}

/* Status: Console-Charakter behalten, aber gleiche Basisregeln */
.nc-site-status{
  --nc-radius-sm:8px;
  --nc-radius-lg:12px;
  --nc-control-h:40px;
}
.nc-site-status :where(.console-panel,.status-readout,.status-help){box-shadow:0 16px 46px rgba(0,0,0,.22)}
.nc-site-status .console-command{font-family:inherit;text-transform:none}
.nc-site-status .history-switch button.is-active{
  color:#07101d;
  border-color:transparent;
  background:linear-gradient(120deg,var(--nc-cyan),var(--nc-blue),var(--nc-purple));
}
.nc-site-status .event-help{color:var(--nc-cyan)}

/* Footer und rechtliche Links */
.nc-public :where(footer,.nc-legal-footer,.landing-footer,.status-footer) a{
  color:#a8bad1;
  transition:color .18s ease;
}
.nc-public :where(footer,.nc-legal-footer,.landing-footer,.status-footer) a:hover{color:var(--nc-cyan)}

@media(max-width:720px){
  .nc-public{--nc-control-h:46px}
  .nc-public :where(.btn,.button,.top-action,.status-nav>a,.console-command,.pricing-button){min-height:46px}
  .nc-public :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.search-box){min-height:50px}
}

@media(prefers-reduced-motion:reduce){
  .nc-public *,
  .nc-public *::before,
  .nc-public *::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}

/*
 * Patch 3.56j2 · Navigation, Dropdowns, Pfeile, Meldungen und Leerzustände
 * Ruhigere Orientierung über alle öffentlichen NexCore-Oberflächen.
 */
:root{
  --nc-info:#67d9ff;
  --nc-success:#70e6b0;
  --nc-warning:#ffd166;
  --nc-error:#ff7895;
  --nc-state-bg:rgba(7,13,25,.76);
  --nc-nav-bg:rgba(6,11,21,.86);
  --nc-nav-active:linear-gradient(90deg,rgba(80,216,255,.12),rgba(154,99,255,.07));
}

/* Navigation: weniger einzelne Pillen, klarere aktive Position */
.nc-public :where(.nav-actions,.main-nav,.mobile-navigation,.sidebar-nav,.status-nav){
  gap:6px;
}
.nc-public :where(.nav-link,.main-nav a,.mobile-navigation a,.sidebar-link,.status-nav>a,.top-action){
  position:relative;
  isolation:isolate;
  border:1px solid transparent;
  border-radius:var(--nc-radius-sm);
  color:#aebcd0;
  transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s var(--nc-ease),box-shadow .18s ease;
}
.nc-public :where(.nav-link,.main-nav a,.mobile-navigation a,.sidebar-link,.status-nav>a,.top-action):hover{
  color:var(--nc-text);
  border-color:rgba(80,216,255,.18);
  background:rgba(80,216,255,.055);
}
.nc-public :where(.nav-link,.main-nav a,.mobile-navigation a,.sidebar-link,.status-nav>a,.top-action).is-active,
.nc-public :where(.nav-link,.main-nav a,.mobile-navigation a,.sidebar-link,.status-nav>a,.top-action)[aria-current="page"]{
  color:#f7fbff;
  border-color:rgba(80,216,255,.32);
  background:var(--nc-nav-active);
  box-shadow:inset 3px 0 0 var(--nc-cyan),inset 0 1px 0 rgba(255,255,255,.035);
}
.nc-public :where(.mobile-menu-toggle,.mobile-menu-button,.menu-toggle,.status-menu){
  min-width:44px;
  min-height:44px;
  border:1px solid var(--nc-border);
  border-radius:var(--nc-radius-sm);
  color:var(--nc-text);
  background:rgba(7,13,25,.84);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.nc-public :where(.mobile-menu-toggle,.mobile-menu-button,.menu-toggle,.status-menu)[aria-expanded="true"]{
  border-color:rgba(80,216,255,.42);
  background:linear-gradient(135deg,rgba(80,216,255,.12),rgba(154,99,255,.08));
  box-shadow:var(--nc-focus);
}
.nc-site-main .nav-actions,
.nc-site-supportdesk .mobile-navigation,
.nc-site-status .status-nav{
  scrollbar-width:thin;
  scrollbar-color:rgba(80,216,255,.3) transparent;
}

/* Sprachwahl und klassische Selects */
.nc-public .nc-language-selector{
  --nc-lang-border:rgba(125,155,195,.22);
}
.nc-public .nc-language-selector__trigger{
  border-color:var(--nc-lang-border)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 10px 28px rgba(0,0,0,.14)!important;
}
.nc-public .nc-language-selector__trigger:hover,
.nc-public .nc-language-selector.is-open .nc-language-selector__trigger{
  border-color:rgba(80,216,255,.44)!important;
  background:linear-gradient(180deg,rgba(80,216,255,.095),rgba(154,99,255,.045))!important;
}
.nc-public .nc-language-selector__menu{
  border-color:rgba(80,216,255,.24)!important;
  background:rgba(6,11,21,.97)!important;
  box-shadow:0 28px 70px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.04)!important;
  backdrop-filter:blur(18px);
}
.nc-public .nc-language-selector__option{
  border-radius:10px!important;
  color:#aebcd0!important;
}
.nc-public .nc-language-selector__option:hover,
.nc-public .nc-language-selector__option:focus-visible{
  color:#f7fbff!important;
  background:rgba(80,216,255,.075)!important;
}
.nc-public .nc-language-selector__option.is-active{
  color:#f7fbff!important;
  background:linear-gradient(90deg,rgba(80,216,255,.13),rgba(154,99,255,.075))!important;
  box-shadow:inset 3px 0 0 var(--nc-cyan);
}
.nc-public .nc-language-selector__arrow{
  color:var(--nc-cyan);
  transition:transform .22s var(--nc-ease),color .18s ease;
}
.nc-public .nc-language-selector.is-open .nc-language-selector__arrow{
  color:#c9b7ff;
}
.nc-public select{
  appearance:none;
  -webkit-appearance:none;
  padding-inline:14px 44px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2350d8ff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 14px center!important;
  background-size:18px!important;
}
[dir="rtl"] .nc-public select{
  padding-inline:44px 14px!important;
  background-position:left 14px center!important;
}

/* Einheitliche Pfeile und aufklappbare Bereiche */
.nc-public :where(.article-card__arrow,.discord-login-arrow,.link-arrow){
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  flex:0 0 32px;
  border:1px solid rgba(125,155,195,.18);
  border-radius:10px;
  color:var(--nc-cyan);
  background:rgba(80,216,255,.045);
  transition:transform .2s var(--nc-ease),border-color .18s ease,background .18s ease,color .18s ease;
}
.nc-public :where(.article-card,.supportdesk-discord-login,a):hover > :where(.article-card__arrow,.discord-login-arrow,.link-arrow){
  transform:translateX(3px);
  border-color:rgba(80,216,255,.36);
  color:#fff;
  background:rgba(80,216,255,.1);
}
.nc-site-supportdesk .faq-list summary i{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border:1px solid rgba(118,82,223,.22);
  border-radius:10px;
  background:rgba(118,82,223,.07);
  line-height:1;
}
.nc-site-supportdesk .faq-list details[open] summary i{
  color:#fff;
  border-color:rgba(118,82,223,.38);
  background:rgba(118,82,223,.13);
}
.nc-public details > summary{
  outline:0;
}
.nc-public details > summary:focus-visible{
  box-shadow:var(--nc-focus);
  border-radius:var(--nc-radius-sm);
}

/* Hinweise, Warnungen, Fehler und Bestätigungen */
.nc-public :where(.dialog-warning,.setup-warning,.cancel-mail-warning,.help-form-errors,.message.error,.callout--warning){
  position:relative;
  border:1px solid rgba(255,209,102,.28)!important;
  border-radius:var(--nc-radius-md)!important;
  color:#f5dfaa!important;
  background:linear-gradient(135deg,rgba(255,209,102,.09),rgba(27,18,8,.38))!important;
  box-shadow:inset 3px 0 0 rgba(255,209,102,.82),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.nc-public :where(.dialog-warning,.setup-warning,.cancel-mail-warning,.help-form-errors,.message.error,.callout--warning)::before{
  content:"!";
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  margin-inline-end:9px;
  border-radius:8px;
  color:#171005;
  background:var(--nc-warning);
  font-weight:950;
  line-height:1;
  vertical-align:middle;
}
.nc-public :where(.message.success,.help-form-success,.callout:not(.callout--warning)){
  border:1px solid rgba(112,230,176,.26)!important;
  border-radius:var(--nc-radius-md)!important;
  color:#bdf5d8!important;
  background:linear-gradient(135deg,rgba(112,230,176,.085),rgba(6,26,20,.4))!important;
  box-shadow:inset 3px 0 0 rgba(112,230,176,.78),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.nc-public :where(.message.success,.help-form-success)::before{
  content:"✓";
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  margin-inline-end:9px;
  border-radius:8px;
  color:#06150f;
  background:var(--nc-success);
  font-weight:950;
  line-height:1;
  vertical-align:middle;
}

/* Leere Zustände: als klare nächste Handlung statt leerer Fläche */
.nc-public :where(.empty-state,.help-empty,.status-empty,.article-missing){
  min-height:126px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  padding:26px!important;
  border:1px dashed rgba(125,155,195,.3)!important;
  border-radius:var(--nc-radius-lg)!important;
  color:#92a4bb!important;
  text-align:center;
  background:
    radial-gradient(circle at 50% 0%,rgba(80,216,255,.07),transparent 52%),
    rgba(7,13,25,.52)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02)!important;
}
.nc-public :where(.empty-state,.help-empty,.status-empty,.article-missing)::before{
  content:"—";
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(80,216,255,.22);
  border-radius:12px;
  color:var(--nc-cyan);
  background:rgba(80,216,255,.055);
  font-weight:900;
}

/* Oberflächenspezifische Navigation */
.nc-site-main .nav-actions{
  padding:5px;
  border:1px solid rgba(125,155,195,.12);
  border-radius:var(--nc-radius-md);
  background:rgba(5,10,19,.5);
}
.nc-site-supportdesk .product-nav-item{
  border:1px solid transparent;
  border-radius:12px;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s var(--nc-ease);
}
.nc-site-supportdesk .product-nav-item:hover{
  border-color:rgba(80,216,255,.18);
  background:rgba(80,216,255,.05);
}
.nc-site-supportdesk .product-nav-item.is-active{
  border-color:rgba(80,216,255,.34);
  background:linear-gradient(90deg,rgba(80,216,255,.11),rgba(154,99,255,.06));
  box-shadow:inset 3px 0 0 var(--nc-cyan);
}
.nc-site-wiki .sidebar-nav{
  padding:4px;
  border-radius:var(--nc-radius-md);
}
.nc-site-wiki .sidebar-link{
  min-height:42px;
}
.nc-site-status .status-nav>a.is-active,
.nc-site-status .status-nav>a[aria-current="page"]{
  box-shadow:inset 0 -2px 0 var(--nc-cyan),inset 0 1px 0 rgba(255,255,255,.035);
}

@media(max-width:900px){
  .nc-site-main .nav-actions,
  .nc-site-supportdesk .mobile-navigation,
  .nc-site-status .status-nav{
    border:1px solid rgba(80,216,255,.18);
    border-radius:var(--nc-radius-lg);
    background:rgba(5,10,19,.97);
    box-shadow:0 30px 80px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.035);
    backdrop-filter:blur(18px);
  }
  .nc-public :where(.nav-link,.mobile-navigation a,.status-nav>a){
    min-height:46px;
    justify-content:flex-start;
  }
}


/*
 * Patch 3.56j3 · Formulare und Systemzustände
 * Einheitliche Eingaben, Auswahlfelder, Schalter, Tabellen, Aktionen,
 * Ladeanzeigen und mobile Formulare auf den öffentlichen NexCore-Seiten.
 */
:root{
  --nc-control-bg:rgba(5,10,20,.78);
  --nc-control-bg-hover:rgba(8,16,30,.92);
  --nc-control-border:rgba(125,155,195,.22);
  --nc-control-border-hover:rgba(80,216,255,.36);
  --nc-control-placeholder:#71839a;
  --nc-table-row:rgba(255,255,255,.018);
  --nc-table-row-hover:rgba(80,216,255,.045);
}

/* Feldgruppen und Beschriftungen */
.nc-public :where(.form-grid,.form-row,.field-grid,.fields,.search-form,.filter-form){
  min-width:0;
}
.nc-public :where(.field,.form-field,.input-group,.select-group,.textarea-group,label):has(> input,> select,> textarea){
  display:grid;
  gap:8px;
  min-width:0;
}
.nc-public :where(.field-label,.form-label,label > span:first-child,legend){
  color:#c9d6e8;
  font-size:.83rem;
  font-weight:800;
  line-height:1.35;
}
.nc-public :where(.field-help,.field-hint,.form-help,.input-hint){
  color:#8293aa;
  font-size:.76rem;
  line-height:1.45;
}
.nc-public :where(.required-mark,[aria-label="required"]){color:var(--nc-pink)}

/* Text-, Such- und Auswahlfelder */
.nc-public :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea){
  width:100%;
  min-height:48px;
  padding:11px 14px;
  border:1px solid var(--nc-control-border)!important;
  border-radius:var(--nc-radius-sm)!important;
  color:var(--nc-text)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.018),transparent),var(--nc-control-bg)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.nc-public textarea{
  min-height:116px;
  resize:vertical;
  line-height:1.55;
}
.nc-public :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea):hover:not(:disabled){
  border-color:var(--nc-control-border-hover)!important;
  background:var(--nc-control-bg-hover)!important;
}
.nc-public :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea):focus{
  border-color:rgba(80,216,255,.68)!important;
  background:rgba(5,12,24,.98)!important;
  box-shadow:var(--nc-focus)!important;
}
.nc-public :where(input,textarea)::placeholder{
  color:var(--nc-control-placeholder)!important;
  opacity:1;
}
.nc-public :where(input,select,textarea):disabled,
.nc-public :where(input,select,textarea)[aria-disabled="true"]{
  opacity:.52;
  cursor:not-allowed;
  color:#7f8ca0!important;
  background:rgba(8,12,21,.62)!important;
  box-shadow:none!important;
}
.nc-public input[aria-invalid="true"],
.nc-public select[aria-invalid="true"],
.nc-public textarea[aria-invalid="true"]{
  border-color:rgba(255,120,149,.7)!important;
  box-shadow:0 0 0 3px rgba(255,120,149,.11)!important;
}
.nc-public :where(.field-error,.form-error,.validation-error){
  color:#ff9aae;
  font-size:.76rem;
  line-height:1.4;
}

/* Native Checkboxen und Radios */
.nc-public input[type="checkbox"]:not([role="switch"]),
.nc-public input[type="radio"]{
  width:19px;
  height:19px;
  min-width:19px;
  margin:0;
  accent-color:var(--nc-cyan);
  cursor:pointer;
}
.nc-public :where(.check-row,.checkbox-row,.radio-row,.option-row){
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-height:44px;
  padding:10px 12px;
  border:1px solid rgba(125,155,195,.16);
  border-radius:var(--nc-radius-sm);
  background:rgba(7,13,25,.48);
}
.nc-public :where(.check-row,.checkbox-row,.radio-row,.option-row):hover{
  border-color:rgba(80,216,255,.25);
  background:rgba(80,216,255,.035);
}

/* Schalter */
.nc-public :where(.switch,.toggle,.switch-row label,[data-switch]){
  min-height:46px;
  border-radius:var(--nc-radius-sm);
}
.nc-public input[role="switch"]{
  appearance:none;
  width:46px;
  height:25px;
  min-width:46px;
  padding:0;
  border:1px solid rgba(125,155,195,.28)!important;
  border-radius:999px!important;
  background:#151e2d!important;
  position:relative;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.nc-public input[role="switch"]::after{
  content:"";
  position:absolute;
  width:17px;
  height:17px;
  left:3px;
  top:3px;
  border-radius:50%;
  background:#91a0b4;
  box-shadow:0 2px 8px rgba(0,0,0,.3);
  transition:transform .2s var(--nc-ease),background .18s ease;
}
.nc-public input[role="switch"]:checked{
  border-color:rgba(80,216,255,.66)!important;
  background:linear-gradient(90deg,var(--nc-cyan),var(--nc-blue),var(--nc-purple))!important;
}
.nc-public input[role="switch"]:checked::after{
  transform:translateX(21px);
  background:#fff;
}

/* Aktionen */
.nc-public :where(.form-actions,.dialog-actions,.card-actions,.button-row,.action-row){
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.nc-public :where(.btn-danger,.button--danger,[data-action="delete"]){
  color:#ffd9e2!important;
  border-color:rgba(255,110,141,.3)!important;
  background:linear-gradient(180deg,rgba(255,110,141,.105),rgba(51,10,23,.3))!important;
}
.nc-public :where(.btn-danger,.button--danger,[data-action="delete"]):hover{
  border-color:rgba(255,110,141,.55)!important;
  background:linear-gradient(180deg,rgba(255,110,141,.16),rgba(61,11,28,.44))!important;
}

/* Tabellen und Listen */
.nc-public :where(.table-wrap,.data-table-wrap){
  overflow:auto;
  border:1px solid var(--nc-border);
  border-radius:var(--nc-radius-lg);
  background:rgba(6,11,21,.54);
}
.nc-public table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.nc-public th{
  padding:12px 14px;
  color:#8fa1b8;
  font-size:.69rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  background:rgba(255,255,255,.025);
  border-bottom:1px solid var(--nc-border);
}
.nc-public td{
  padding:13px 14px;
  color:#d9e4f2;
  border-bottom:1px solid rgba(125,155,195,.11);
  background:var(--nc-table-row);
}
.nc-public tbody tr:hover td{background:var(--nc-table-row-hover)}
.nc-public tbody tr:last-child td{border-bottom:0}

/* Lade- und Fortschrittszustände */
.nc-public :where(.is-loading,[aria-busy="true"],.loading-state){
  position:relative;
  pointer-events:none;
  cursor:wait!important;
}
.nc-public :where(button,a).is-loading,
.nc-public :where(button,a)[aria-busy="true"]{
  color:transparent!important;
}
.nc-public :where(button,a).is-loading::after,
.nc-public :where(button,a)[aria-busy="true"]::after,
.nc-public :where(.loading-state,.spinner)::before{
  content:"";
  position:absolute;
  width:18px;
  height:18px;
  left:50%;
  top:50%;
  margin:-9px 0 0 -9px;
  border:2px solid rgba(255,255,255,.24);
  border-top-color:var(--nc-cyan);
  border-radius:50%;
  animation:nc-spin .72s linear infinite;
}
.nc-public :where(.loading-state){
  min-height:108px;
  display:grid;
  place-items:center;
  color:#8ea0b7;
}
.nc-public progress{
  width:100%;
  height:8px;
  border:0;
  border-radius:999px;
  overflow:hidden;
  background:#111a29;
}
.nc-public progress::-webkit-progress-bar{background:#111a29}
.nc-public progress::-webkit-progress-value{background:linear-gradient(90deg,var(--nc-cyan),var(--nc-blue),var(--nc-purple))}
.nc-public progress::-moz-progress-bar{background:linear-gradient(90deg,var(--nc-cyan),var(--nc-blue),var(--nc-purple))}
@keyframes nc-spin{to{transform:rotate(360deg)}}

/* Einheitliche Systemmeldungen */
.nc-public :where(.notice,.alert,.message,.flash,.toast,.form-status){
  min-height:48px;
  padding:12px 14px;
  border:1px solid rgba(103,217,255,.24);
  border-radius:var(--nc-radius-md);
  color:#c9ecf8;
  background:linear-gradient(135deg,rgba(103,217,255,.075),rgba(8,19,31,.55));
  line-height:1.5;
}
.nc-public :where(.notice,.alert,.message,.flash,.toast,.form-status).is-error,
.nc-public :where(.notice,.alert,.message,.flash,.toast,.form-status).error{
  color:#ffd3dc;
  border-color:rgba(255,120,149,.3);
  background:linear-gradient(135deg,rgba(255,120,149,.09),rgba(38,8,18,.45));
}
.nc-public :where(.notice,.alert,.message,.flash,.toast,.form-status).is-warning,
.nc-public :where(.notice,.alert,.message,.flash,.toast,.form-status).warning{
  color:#f8e5b3;
  border-color:rgba(255,209,102,.3);
  background:linear-gradient(135deg,rgba(255,209,102,.085),rgba(36,25,8,.43));
}
.nc-public :where(.notice,.alert,.message,.flash,.toast,.form-status).is-success,
.nc-public :where(.notice,.alert,.message,.flash,.toast,.form-status).success{
  color:#c8f7df;
  border-color:rgba(112,230,176,.3);
  background:linear-gradient(135deg,rgba(112,230,176,.085),rgba(6,30,22,.44));
}

@media(max-width:720px){
  .nc-public :where(.form-grid,.field-grid,.fields){grid-template-columns:1fr!important}
  .nc-public :where(.form-actions,.dialog-actions,.card-actions,.button-row,.action-row){
    align-items:stretch;
    justify-content:stretch;
  }
  .nc-public :where(.form-actions,.dialog-actions,.card-actions,.button-row,.action-row) > :where(button,.btn,.button,a[role="button"]){
    width:100%;
    justify-content:center;
  }
  .nc-public :where(.table-wrap,.data-table-wrap){border-radius:var(--nc-radius-md)}
  .nc-public th,.nc-public td{padding:11px 12px}
}

/* Datei-Uploads, Custom-Dropdowns und Mehrfachauswahl */
.nc-public input[type="file"]{
  width:100%;
  min-height:48px;
  padding:6px;
  border:1px dashed rgba(125,155,195,.28);
  border-radius:var(--nc-radius-sm);
  color:#91a3ba;
  background:rgba(5,10,20,.62);
}
.nc-public input[type="file"]::file-selector-button{
  min-height:34px;
  margin-inline-end:10px;
  padding:7px 12px;
  border:1px solid rgba(80,216,255,.25);
  border-radius:9px;
  color:#dff7ff;
  background:rgba(80,216,255,.075);
  cursor:pointer;
}
.nc-public :where(.custom-select-trigger,.dropdown-trigger,.multiselect-trigger){
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 13px;
  border:1px solid var(--nc-control-border);
  border-radius:var(--nc-radius-sm);
  color:#dce7f5;
  background:var(--nc-control-bg);
}
.nc-public :where(.custom-select-trigger,.dropdown-trigger,.multiselect-trigger):hover{
  border-color:var(--nc-control-border-hover);
  background:var(--nc-control-bg-hover);
}
.nc-public :where(.custom-select-menu,.dropdown-menu,.multiselect-menu){
  padding:6px;
  border:1px solid rgba(80,216,255,.22);
  border-radius:var(--nc-radius-md);
  background:rgba(6,12,24,.98);
  box-shadow:0 24px 70px rgba(0,0,0,.42);
}
.nc-public :where(.custom-select-option,.dropdown-option,.multiselect-option){
  min-height:42px;
  padding:9px 11px;
  border:1px solid transparent;
  border-radius:10px;
  color:#bdcadb;
}
.nc-public :where(.custom-select-option,.dropdown-option,.multiselect-option):hover,
.nc-public :where(.custom-select-option,.dropdown-option,.multiselect-option).is-active{
  color:#fff;
  border-color:rgba(80,216,255,.18);
  background:linear-gradient(90deg,rgba(80,216,255,.09),rgba(154,99,255,.05));
}
.nc-public :where(.selected-tags,.multiselect-values,.chip-list){
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.nc-public :where(.selected-tag,.multiselect-value,.input-chip){
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:5px 9px;
  border:1px solid rgba(80,216,255,.22);
  border-radius:9px;
  color:#cdefff;
  background:rgba(80,216,255,.065);
  font-size:.78rem;
  font-weight:750;
}
