@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  --ff-bg: #06131d;
  --ff-bg-secondary: #091b27;
  --ff-panel: #0d2231;
  --ff-panel-light: #122a39;
  --ff-border: rgba(130, 190, 205, .18);
  --ff-border-strong: rgba(130, 205, 220, .30);
  --ff-cyan: #72d9e9;
  --ff-cyan-bright: #8be7f4;
  --ff-cyan-muted: #6eabb7;
  --ff-yellow: #e3ca78;
  --ff-text: #eef6f8;
  --ff-text-secondary: #9db4bf;
  --ff-text-muted: #718b97;
  --ff-success: #79d69b;
  --ff-warning: #e3ca78;
  --ff-danger: #e97979;
}

html, body { min-height: 100%; background: var(--ff-bg); }
body {
  color: var(--ff-text);
  font-family: Manrope, ui-sans-serif, sans-serif;
  background-color: var(--ff-bg) !important;
  background-image: linear-gradient(rgba(100,180,200,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(100,180,200,.035) 1px, transparent 1px), radial-gradient(circle at 88% -15%, rgba(114,217,233,.10), transparent 31rem) !important;
  background-size: 48px 48px, 48px 48px, auto !important;
}

#ff-dashboard-redesign, #ff-work-orders-hub, .ff-partm-app, .ff-material-app, .ff-scale-modal { font-family: Manrope, ui-sans-serif, sans-serif !important; }
.ff-profile-welcome { margin: 0 0 18px; color: var(--ff-text); font-family: Manrope, ui-sans-serif, sans-serif; font-size: clamp(1.2rem, 3vw, 1.65rem); font-weight: 700; }

/* Existing dashboard: preserve its markup and convert it into the FieldForge launch board. */
#root .ff-dashboard-content { background-color: var(--ff-bg) !important; background-image: linear-gradient(rgba(100,180,200,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(100,180,200,.035) 1px, transparent 1px), radial-gradient(circle at 90% -12%, rgba(114,217,233,.10), transparent 32rem) !important; background-size: 48px 48px, 48px 48px, auto !important; }
#root .ff-dashboard-header { min-height: 70px !important; border-color: var(--ff-border) !important; background: rgba(6,19,29,.92) !important; }
#root .ff-dashboard-header > div:first-child { color: var(--ff-text) !important; font-family: 'Bebas Neue', Impact, sans-serif !important; letter-spacing: .04em !important; }
#root .ff-dashboard-header > div:first-child span { color: var(--ff-cyan) !important; }
#root .ff-dashboard-home { width: min(100%, 1450px) !important; }
#root .ff-dashboard-label { color: var(--ff-cyan) !important; }
#root .ff-dashboard-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}
#root .ff-dashboard-grid > * { grid-column: auto !important; min-width: 0; }
#root .ff-dashboard-grid > .ff-dashboard-card, #root .ff-dashboard-grid .ff-partm-quick-access, #root .ff-dashboard-grid .ff-material-quick-access {
  min-height: 210px !important; border-color: var(--ff-border) !important; border-radius: 18px !important; background: rgba(13,34,49,.78) !important; box-shadow: 0 14px 30px rgba(0,0,0,.16) !important;
}
#root .ff-dashboard-grid > .ff-dashboard-card:hover, #root .ff-dashboard-grid .ff-partm-quick-access:hover, #root .ff-dashboard-grid .ff-material-quick-access:hover { border-color: var(--ff-border-strong) !important; background: var(--ff-panel-light) !important; transform: translateY(-3px); }
#root .ff-dashboard-grid > .ff-dashboard-card > div:first-child, .ff-work-orders-card .ff-dashboard-card-icon, #root .ff-dashboard-grid .ff-partm-quick-access__icon, #root .ff-dashboard-grid .ff-material-quick-access__icon { border-color: var(--ff-border) !important; background: rgba(114,217,233,.08) !important; color: var(--ff-cyan) !important; }
#root .ff-dashboard-grid > .ff-dashboard-card > div:nth-child(2), .ff-work-orders-card strong, #root .ff-dashboard-grid .ff-partm-quick-access__title, #root .ff-dashboard-grid .ff-material-quick-access__title { color: var(--ff-text) !important; font-family: 'Bebas Neue', Impact, sans-serif !important; letter-spacing: .035em !important; }
#root .ff-dashboard-grid > .ff-dashboard-card > div:nth-child(3), .ff-work-orders-card small, #root .ff-dashboard-grid .ff-partm-quick-access__sub, #root .ff-dashboard-grid .ff-material-quick-access__sub { color: var(--ff-text-secondary) !important; }
.ff-work-orders-card { position: relative; display: flex; padding: 18px; overflow: hidden; cursor: pointer; text-align: left; flex-direction: column; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.ff-work-orders-card .ff-dashboard-card-icon { display: grid; width: 45px; height: 45px; border: 1px solid var(--ff-border); border-radius: 10px; place-items: center; }
.ff-work-orders-card svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.ff-work-orders-card strong { margin-top: auto; font-size: clamp(1.65rem, 6vw, 2.1rem); line-height: .9; text-transform: uppercase; }
.ff-work-orders-card small { margin-top: 8px; font-size: .72rem; line-height: 1.4; }

#ff-work-orders-hub .ff-detail-modal { max-width: 880px !important; }
#ff-work-orders-hub .ff-detail-modal h3 { margin: 0 0 12px; color: var(--ff-cyan); font-family: 'Bebas Neue', Impact, sans-serif; font-size: 1.5rem; letter-spacing: .07em; text-transform: uppercase; }
#ff-work-orders-hub .ff-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
#ff-work-orders-hub .ff-detail-grid section { padding: 16px; border: 1px solid var(--ff-border); border-radius: 14px; background: rgba(6,19,29,.35); }
#ff-work-orders-hub .ff-detail-grid p { margin: 0; color: var(--ff-text-secondary); font-size: .8rem; line-height: 1.6; }
#ff-work-orders-hub .ff-detail-grid p + p { margin-top: 8px; }
#ff-work-orders-hub .ff-detail-grid p strong { display: block; color: var(--ff-text-muted); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
#ff-work-orders-hub .ff-detail-wide { grid-column: 1 / -1; }

@media (max-width: 720px) {
  #root .ff-dashboard-header { min-height: 64px !important; }
  #root .ff-dashboard-home { padding-right: 16px !important; padding-left: 16px !important; }
  #root .ff-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #root .ff-dashboard-grid > .ff-dashboard-card, #root .ff-dashboard-grid .ff-partm-quick-access, #root .ff-dashboard-grid .ff-material-quick-access { min-height: 168px !important; }
  #ff-work-orders-hub .ff-detail-grid { grid-template-columns: 1fr; }
  #ff-work-orders-hub .ff-detail-wide { grid-column: auto; }
}

@media (min-width: 721px) and (max-width: 959px) {
  #root .ff-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
#ff-dashboard-redesign { background: transparent !important; }
#ff-dashboard-redesign .ff-dashboard__shell { max-width: 1480px; }
#ff-dashboard-redesign .ff-dashboard__topbar {
  min-height: 70px; border-bottom: 1px solid var(--ff-border); background: rgba(6,19,29,.84); backdrop-filter: blur(16px);
}
#ff-dashboard-redesign .ff-dashboard__brand, #ff-dashboard-redesign .ff-dashboard__brand span { font-family: 'Bebas Neue', Impact, sans-serif !important; letter-spacing: .035em; }
#ff-dashboard-redesign .ff-dashboard__brand { color: var(--ff-text) !important; font-size: 2rem; }
#ff-dashboard-redesign .ff-dashboard__brand span { color: var(--ff-cyan) !important; }
#ff-dashboard-redesign .ff-dashboard__hero {
  border: 1px solid var(--ff-border) !important; border-radius: 22px !important; background: linear-gradient(120deg, rgba(13,34,49,.94), rgba(8,27,39,.84)) !important;
}
#ff-dashboard-redesign .ff-dashboard__hero h1, #ff-dashboard-redesign .ff-dashboard__section-head h2 {
  color: var(--ff-text) !important; font-family: 'Bebas Neue', Impact, sans-serif !important; letter-spacing: .025em !important; line-height: .88 !important; text-transform: uppercase;
}
#ff-dashboard-redesign .ff-dashboard__hero h1 em { color: var(--ff-yellow) !important; font-family: inherit !important; font-style: normal; }
#ff-dashboard-redesign .ff-dashboard__eyebrow, #ff-dashboard-redesign .ff-dashboard__section-head > div > span, #ff-dashboard-redesign .ff-command-card__eyebrow { color: var(--ff-cyan) !important; }
#ff-dashboard-redesign .ff-dashboard__hero p, #ff-dashboard-redesign .ff-dashboard__section-head > p, #ff-dashboard-redesign .ff-command-card small { color: var(--ff-text-secondary) !important; }
#ff-dashboard-redesign .ff-command-card {
  min-height: 218px; border: 1px solid var(--ff-border) !important; border-radius: 18px !important; background: rgba(13,34,49,.78) !important; box-shadow: 0 14px 32px rgba(0,0,0,.18) !important;
}
#ff-dashboard-redesign .ff-command-card:hover, #ff-dashboard-redesign .ff-command-card:focus-visible { transform: translateY(-3px); border-color: var(--ff-border-strong) !important; background: var(--ff-panel-light) !important; }
#ff-dashboard-redesign .ff-command-card.primary, #ff-dashboard-redesign .ff-command-card.operations { background: linear-gradient(135deg, rgba(16,45,57,.96), rgba(13,34,49,.92)) !important; }
#ff-dashboard-redesign .ff-command-card__icon { border-color: var(--ff-border) !important; background: rgba(114,217,233,.07) !important; color: var(--ff-cyan) !important; }
#ff-dashboard-redesign .ff-command-card strong { color: var(--ff-text) !important; font-family: 'Bebas Neue', Impact, sans-serif !important; letter-spacing: .035em; font-size: 2.05rem; line-height: .9; }
#ff-dashboard-redesign .ff-command-card__launch { color: var(--ff-yellow) !important; }

#ff-work-orders-hub { background-color: var(--ff-bg) !important; background-image: linear-gradient(rgba(100,180,200,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(100,180,200,.035) 1px, transparent 1px) !important; background-size: 48px 48px !important; }
#ff-work-orders-hub .ff-shell { min-height: 100%; padding: 28px clamp(18px,4vw,70px) 54px !important; background: radial-gradient(circle at 88% -8%, rgba(114,217,233,.10), transparent 33rem) !important; }
#ff-work-orders-hub .ff-top, #ff-work-orders-hub .ff-main { max-width: 1460px !important; }
#ff-work-orders-hub .ff-kicker { color: var(--ff-cyan) !important; font-weight: 800 !important; letter-spacing: .16em !important; }
#ff-work-orders-hub .ff-title, #ff-work-orders-hub .ff-modal-card h2 { color: var(--ff-text) !important; font-family: 'Bebas Neue', Impact, sans-serif !important; font-size: clamp(3rem, 6vw, 5.25rem) !important; letter-spacing: .025em !important; line-height: .82 !important; text-transform: uppercase; }
#ff-work-orders-hub .ff-subtitle { max-width: 42rem; color: var(--ff-text-secondary) !important; }
#ff-work-orders-hub .ff-button { min-height: 44px; border-color: var(--ff-border) !important; border-radius: 14px !important; background: rgba(255,255,255,.025) !important; color: var(--ff-text) !important; font-family: Manrope, sans-serif !important; font-size: .72rem !important; font-weight: 800 !important; letter-spacing: .075em !important; text-transform: uppercase; }
#ff-work-orders-hub .ff-button.primary { min-height: 52px; border-color: var(--ff-yellow) !important; background: var(--ff-yellow) !important; color: #07151e !important; }
#ff-work-orders-hub .ff-button:hover { border-color: var(--ff-cyan) !important; background: rgba(114,217,233,.09) !important; }
#ff-work-orders-hub .ff-button.primary:hover { border-color: var(--ff-cyan-bright) !important; background: #edd88d !important; }
#ff-work-orders-hub .ff-summary { gap: 14px !important; }
#ff-work-orders-hub .ff-stat, #ff-work-orders-hub .ff-toolbar, #ff-work-orders-hub .ff-card, #ff-work-orders-hub .ff-modal-card, #ff-work-orders-hub .ff-empty { border-color: var(--ff-border) !important; border-radius: 18px !important; background: rgba(13,34,49,.78) !important; }
#ff-work-orders-hub .ff-stat { min-height: 135px; padding: 21px !important; }
#ff-work-orders-hub .ff-stat strong { color: var(--ff-yellow) !important; font-family: 'Bebas Neue', Impact, sans-serif !important; font-size: 4.35rem !important; line-height: .8 !important; letter-spacing: .04em !important; }
#ff-work-orders-hub .ff-stat span, #ff-work-orders-hub .ff-client, #ff-work-orders-hub .ff-address, #ff-work-orders-hub .ff-meta, #ff-work-orders-hub .ff-empty-assignment { color: var(--ff-text-secondary) !important; text-transform: uppercase; letter-spacing: .07em; font-size: .68rem !important; }
#ff-work-orders-hub .ff-card h2 { font-family: 'Bebas Neue', Impact, sans-serif !important; font-size: 2.15rem !important; letter-spacing: .035em !important; text-transform: uppercase; }
#ff-work-orders-hub .ff-badge { border: 1px solid rgba(114,217,233,.24); background: rgba(114,217,233,.10) !important; color: var(--ff-cyan-bright) !important; }
#ff-work-orders-hub .ff-badge.high { border-color: rgba(227,202,120,.28); background: rgba(227,202,120,.11) !important; color: var(--ff-yellow) !important; }
#ff-work-orders-hub .ff-badge.complete { border-color: rgba(121,214,155,.28); background: rgba(121,214,155,.11) !important; color: var(--ff-success) !important; }
#ff-work-orders-hub .ff-search, #ff-work-orders-hub .ff-field input, #ff-work-orders-hub .ff-field select, #ff-work-orders-hub .ff-field textarea { border-color: var(--ff-border) !important; border-radius: 12px !important; background: #081a27 !important; color: var(--ff-text) !important; }
#ff-work-orders-hub .ff-search:focus, #ff-work-orders-hub .ff-field input:focus, #ff-work-orders-hub .ff-field select:focus, #ff-work-orders-hub .ff-field textarea:focus { outline: none; border-color: var(--ff-cyan) !important; box-shadow: 0 0 0 3px rgba(114,217,233,.08) !important; }

.ff-partm-app, .ff-material-app, .ff-scale-modal { background-color: rgba(6,19,29,.96) !important; }
.pm-shell, .ff-material-page, .ff-scale-shell { border-color: var(--ff-border) !important; background: var(--ff-bg-secondary) !important; }
.pm-brand, .ff-material-brand, .ff-scale-header h2, .pm-intro h1, .ff-material-intro h1 { font-family: 'Bebas Neue', Impact, sans-serif !important; letter-spacing: .035em !important; }
.pm-intro h1, .ff-material-intro h1, .ff-scale-header h2 { color: var(--ff-text) !important; text-transform: uppercase; }
.pm-kicker, .ff-material-intro > span, .ff-scale-kicker { color: var(--ff-cyan) !important; }
.pm-calculator, .ff-material-panel, .ff-scale-panel, .ff-scale-stage-wrap { border-color: var(--ff-border) !important; background: rgba(13,34,49,.82) !important; }
.pm-return, .ff-material-close, .ff-scale-icon-button, .ff-scale-button { border-color: var(--ff-border) !important; background: rgba(255,255,255,.025) !important; color: var(--ff-text) !important; }
.pm-input input, .ff-scale-fields input, .ff-scale-fields select { border-color: var(--ff-border) !important; background: #081a27 !important; color: var(--ff-text) !important; }
.pm-gradient, .ff-scale-result { border-color: rgba(114,217,233,.24) !important; background: rgba(114,217,233,.07) !important; }
.pm-gradient output, .ff-scale-result strong { color: var(--ff-yellow) !important; }
.ff-scale-button--primary { border-color: var(--ff-yellow) !important; background: var(--ff-yellow) !important; color: #07151e !important; }

@media (max-width: 720px) {
  #ff-dashboard-redesign .ff-dashboard__topbar-meta .ff-dashboard__status, #ff-dashboard-redesign .ff-dashboard__signout { display: none; }
  #ff-dashboard-redesign .ff-dashboard__hero { padding: 25px 20px !important; }
  #ff-dashboard-redesign .ff-dashboard__hero h1 { font-size: 3.3rem !important; }
  #ff-dashboard-redesign .ff-command-grid { grid-template-columns: 1fr !important; }
  #ff-dashboard-redesign .ff-command-card { min-height: 178px; }
  #ff-work-orders-hub .ff-top { align-items: flex-start !important; }
  #ff-work-orders-hub .ff-actions { width: 100%; display: grid !important; grid-template-columns: 1fr !important; }
  #ff-work-orders-hub .ff-actions .ff-button { width: 100%; }
  #ff-work-orders-hub .ff-summary { grid-template-columns: 1fr !important; }
  #ff-work-orders-hub .ff-stat { min-height: 105px; }
  #ff-work-orders-hub .ff-title { font-size: 3.4rem !important; }
  #ff-work-orders-hub .ff-toolbar { align-items: stretch !important; }
  #ff-work-orders-hub .ff-search { flex-basis: 100%; min-height: 48px; }
}
