/*!********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/styles/globals.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************/
@tailwind base;
@tailwind components;
@tailwind utilities;

/* ── TRUMPF Web Styleguide 2.0 Design Tokens ─────────────────────────────── */
:root {
  /* Backgrounds */
  --bg-base:      #F2F2F2;
  --bg-panel:     #FFFFFF;
  --bg-panel-2:   #F9F9F9;
  --surface:      #FFFFFF;

  /* Borders */
  --border:       #E0E0E0;
  --border-subtle:#EEEEEE;

  /* Text */
  --text-primary:   #1A1A1A;
  --text-secondary: #555555;
  --text-muted:     #999999;

  /* TRUMPF Brand */
  --trumpf-blue:  #003068;
  --trumpf-lime:  #B5C800;

  /* Accent / status */
  --accent:       #B5C800;
  --accent-dim:   #003068;
  --ok:           #B5C800;
  --warn:         #F5A623;
  --error:        #E3001B;

  /* Typography */
  --font-ui:   'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-mono: 'Courier New', ui-monospace, monospace;
}

html, body {
  height: 100%;
  background: var(--bg-base);
  color: var(--text-primary);
  font-family: var(--font-ui);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
}

* { box-sizing: border-box; }
*:focus-visible { outline: 2px solid var(--trumpf-blue); outline-offset: 2px; }

/* ── Scrollbar ──────────────────────────────────────────────────────────────── */
::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 2px; }

/* ── Animations ─────────────────────────────────────────────────────────────── */
@keyframes pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: .5; transform: scale(.7); }
}
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: .4; }
}
@keyframes slide-up {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position:  200% center; }
}
@keyframes blink { 50% { opacity: 0; } }
@keyframes spin  { to  { transform: rotate(360deg); } }
@keyframes flicker {
  0%,100% { opacity: 1; }
  92%     { opacity: 1; }
  93%     { opacity: .4; }
  94%     { opacity: 1; }
  96%     { opacity: .6; }
  97%     { opacity: 1; }
}

.animate-pulse-dot  { animation: pulse-dot 1.6s ease-in-out infinite; }
.animate-slide-up   { animation: slide-up .25s ease forwards; }
.animate-blink      { animation: blink 1s step-end infinite; }
.animate-spin-slow  { animation: spin 1.4s linear infinite; }
.animate-flicker    { animation: flicker 8s linear infinite; }

.shimmer-text {
  background: linear-gradient(90deg, var(--text-secondary) 40%, var(--text-primary) 50%, var(--text-secondary) 60%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: shimmer 2s linear infinite;
}

/* ── TRUMPF Panel (replaces dark .panel) ────────────────────────────────────── */
.panel {
  background: var(--bg-panel);
  border: 1px solid var(--border);
  border-radius: 0;
}
.panel-2 {
  background: var(--bg-panel-2);
  border: 1px solid var(--border-subtle);
  border-radius: 0;
}

/* ── Status Dots ─────────────────────────────────────────────────────────────── */
.dot-ok    { background: var(--ok); }
.dot-warn  { background: var(--warn); }
.dot-error { background: var(--error); }
.dot-idle  { background: var(--text-muted); }

/* ── Mono labels ─────────────────────────────────────────────────────────────── */
.mono { font-family: var(--font-mono); }

/* ── TRUMPF Button styles ───────────────────────────────────────────────────── */
.btn-primary {
  background: var(--trumpf-lime);
  color: #1A1A1A;
  border: 1px solid var(--trumpf-lime);
  border-radius: 0;
  padding: 7px 18px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  cursor: pointer;
  transition: background .15s, border-color .15s;
}
.btn-primary:hover:not(:disabled) {
  background: #9aaa00;
  border-color: #9aaa00;
}
.btn-primary:disabled { opacity: .45; cursor: not-allowed; }

.btn-secondary {
  background: #FFFFFF;
  color: #1A1A1A;
  border: 1px solid #1A1A1A;
  border-radius: 0;
  padding: 7px 18px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  cursor: pointer;
  transition: background .15s, color .15s;
}
.btn-secondary:hover:not(:disabled) {
  background: #1A1A1A;
  color: #FFFFFF;
}
.btn-secondary:disabled { opacity: .45; cursor: not-allowed; }

/* ── TRUMPF label ────────────────────────────────────────────────────────────── */
.trumpf-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text-muted);
}

