/* ===========================================================================
   DocFlow mockup design system — mirrors lib/theme/ailig_colors.dart + theme.dart
   Colors, radii, fonts, sidebar and badge styling are 1:1 with the Flutter app.
   Fonts: Poppins (UI) + Material Symbols Rounded (icons, == Icons.*_rounded).
   =========================================================================== */

/* Self-hosted fonts (no third-party requests) — see /public/fonts. */
@font-face { font-family: 'Poppins'; src: url('/fonts/poppins-regular.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Poppins'; src: url('/fonts/poppins-medium.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Poppins'; src: url('/fonts/poppins-semibold.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Poppins'; src: url('/fonts/poppins-bold.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Material Symbols Rounded'; src: url('/fonts/material-symbols-rounded.woff2') format('woff2'); font-weight: 400; font-display: swap; }

:root {
  --violet: #5A3EF0;
  --violet-disabled: #8980BD;
  --text-dark: #313248;
  --text-grey: #989FB1;
  --light-grey: #F5F7F9;
  --red: #F85C5C;
  --light-red: rgb(244, 173, 173);
  --green: #4CCF37;
  --yellow: #FFDE21;
  --yellow-dark: #F5C542;
  --hold-amber: #B89060;

  --radius-sm: 8px;
  --radius: 10px;
  --radius-lg: 12px;
  --pill: 999px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: 'Poppins', -apple-system, 'Segoe UI', sans-serif;
  color: var(--text-dark);
  background: transparent;
  -webkit-font-smoothing: antialiased;
  display: flex;
  justify-content: center;
  padding: 0;
}

/* Screenshot target — fixed landscape frame (1440x960 == 3:2, within 2:1..4:3) */
.frame {
  width: 1440px;
  height: 960px;
  background: #fff;
  display: flex;
  overflow: hidden;
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(49, 50, 72, 0.18);
  position: relative;
}

/* Content area only, no sidebar — width keeps .main at its full-app size (1440 - 240).
   Height trimmed to the tallest step content (step-03 canvas) to avoid a dead band below. */
.frame.chromeless {
  width: 1200px;
  height: 860px;
}

/* ---- Material Symbols ---- */
.mi {
  font-family: 'Material Symbols Rounded';
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  user-select: none;
}
.mi.fill { font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; }

/* ============================ SIDEBAR ============================ */
.sidebar {
  width: 240px;
  flex-shrink: 0;
  background: #fff;
  border-right: 1px solid var(--light-grey);
  padding: 30px 18px;
  display: flex;
  flex-direction: column;
}
.logo {
  width: 104px;
  height: 42px;
  margin: 4px 8px 42px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left center;
}
.nav-item {
  display: flex;
  align-items: center;
  height: 50px;
  margin-bottom: 20px;
  padding-left: 20px;
  position: relative;
  color: var(--text-dark);
  cursor: pointer;
}
.nav-item .mi { font-size: 22px; margin-right: 16px; }
.nav-item .nav-label { font-size: 18px; font-weight: 500; }
.nav-item::before {
  content: '';
  position: absolute;
  left: 0; top: 50%;
  transform: translateY(-50%);
  width: 6px; height: 34px;
  border-radius: 0 4px 4px 0;
  background: transparent;
}
.nav-item.active { color: var(--violet); }
.nav-item.active::before { background: var(--violet); }
.sidebar-spacer { flex: 1; }
.sidebar-user {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 8px; border-radius: var(--radius);
}
.avatar {
  width: 38px; height: 38px; border-radius: var(--pill);
  background: var(--violet); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 600; font-size: 15px; flex-shrink: 0;
}
.sidebar-user .u-name { font-size: 14px; font-weight: 500; }
.sidebar-user .u-org { font-size: 12px; color: var(--text-grey); }

/* ============================ MAIN ============================ */
.main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fff;
}
.page {
  padding: 34px 40px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.headline-row { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; }
.headline { font-size: 24px; font-weight: 600; color: var(--text-dark); }
.headline-row .mi { color: var(--text-grey); font-size: 20px; cursor: pointer; }
.headline-actions { margin-left: auto; display: flex; align-items: center; gap: 12px; }

.subtle { color: var(--text-grey); }

/* ---- Toggle buttons (tabs) ---- */
.toggle {
  display: inline-flex;
  background: var(--light-grey);
  border-radius: var(--radius);
  padding: 4px;
  gap: 4px;
}
.toggle .seg {
  padding: 8px 18px;
  border-radius: var(--radius-sm);
  font-size: 14px; font-weight: 500;
  color: var(--text-grey);
  cursor: pointer;
}
.toggle .seg.active { background: #fff; color: var(--violet); box-shadow: 0 1px 3px rgba(49,50,72,.08); }

/* ---- Search input ---- */
.search {
  display: flex; align-items: center; gap: 10px;
  border: 1px solid var(--text-grey);
  border-radius: var(--radius);
  padding: 10px 16px;
  color: var(--text-grey);
  font-size: 14px;
  min-width: 280px;
}
.search .mi { font-size: 20px; }

/* ---- Buttons ---- */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: inherit; font-size: 14px; font-weight: 600;
  border-radius: var(--radius); border: none; cursor: pointer;
  padding: 11px 22px;
}
.btn .mi { font-size: 18px; }
.btn-primary { background: var(--violet); color: #fff; }
.btn-tertiary { background: transparent; color: var(--violet); padding: 11px 10px; }
.btn-outline { background: #fff; color: var(--violet); border: 1.5px solid var(--violet); }
.btn-ghost { background: transparent; color: var(--text-dark); }

/* ---- Floating action pill (bottom center) ---- */
.fab {
  position: absolute; bottom: 26px; left: 50%;
  transform: translateX(-50%);
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--violet); color: #fff;
  padding: 14px 28px; border-radius: var(--pill);
  font-size: 15px; font-weight: 600;
  box-shadow: 0 10px 26px rgba(90,62,240,.34);
}
.fab .mi { font-size: 20px; }

/* ============================ TABLE / ROWS ============================ */
.hover-table { display: flex; flex-direction: column; gap: 8px; }
.hrow {
  display: flex; align-items: center;
  background: var(--light-grey);
  border-radius: var(--radius-lg);
  padding: 18px 22px;
  gap: 22px;
}
.hrow.head { background: transparent; padding: 6px 22px; }
.hrow.head .cell { color: var(--text-grey); font-weight: 600; font-size: 13px; }
.hrow .cell { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.cell.grow { flex: 1; min-width: 0; }
.cell .mi { color: var(--text-grey); font-size: 16px; }

.row-title { font-size: 16px; font-weight: 500; color: var(--text-dark); }
.row-sub { font-size: 12px; color: var(--text-grey); margin-top: 2px; }

/* ============================ BADGES (pills) ============================ */
.badge {
  display: inline-flex; align-items: center; gap: 6px;
  border-radius: var(--pill);
  padding: 5px 12px;
  font-size: 13px; font-weight: 500;
  white-space: nowrap;
}
.badge .mi { font-size: 15px; }
.badge.passed        { background: var(--green);  color: #fff; }
.badge.failed        { background: var(--red);    color: #fff; }
.badge.warning       { background: var(--yellow); color: var(--text-dark); }
.badge.approval      { background: var(--yellow-dark); color: #fff; }
.badge.hold          { background: var(--hold-amber);  color: #fff; }
.badge.neutral       { background: var(--text-grey);   color: #fff; }
.badge.found-outline { background: #fff; color: var(--green); border: 1.5px solid var(--green); }
.badge.running       { background: transparent; color: var(--violet); }

/* status conveyed as plain colored text (used in top-level list) */
.status-text { font-size: 14px; font-weight: 500; }
.status-text.passed  { color: var(--green); }
.status-text.running { color: var(--violet); }
.status-text.warning { color: var(--yellow-dark); }
.status-text.failed  { color: #E8B800; }
.status-text.created { color: var(--text-dark); }
.status-text.deviation { color: var(--red); }

/* small spinner */
.spinner {
  width: 15px; height: 15px; border-radius: 50%;
  border: 2px solid rgba(90,62,240,.25);
  border-top-color: var(--violet);
  display: inline-block;
}

/* ============================ CARDS ============================ */
.card {
  background: var(--light-grey);
  border-radius: var(--radius-lg);
  padding: 18px 20px;
}
.metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
}
.metric .m-top { display: flex; align-items: center; gap: 8px; color: var(--text-grey); font-size: 13px; font-weight: 500; }
.metric .m-top .mi { font-size: 18px; }
.metric .m-value { font-size: 22px; font-weight: 600; margin-top: 10px; }
.metric .m-sub { font-size: 12px; color: var(--text-grey); margin-top: 4px; }

/* ---- Accordion ---- */
.accordion {
  border: 3px solid var(--light-grey);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.acc-head {
  display: flex; align-items: center; gap: 12px;
  padding: 16px 20px; cursor: pointer;
}
.acc-head .acc-title { font-size: 14px; font-weight: 600; }
.acc-head .mi.chev { margin-left: auto; color: var(--text-grey); }
.acc-body { padding: 4px 20px 18px; }

/* section label */
.section-label { font-size: 13px; font-weight: 600; color: var(--text-grey); margin: 22px 0 12px; }

/* generic input mock */
.input {
  border: 1px solid var(--text-grey);
  border-radius: var(--radius);
  padding: 11px 14px;
  font-size: 14px;
  color: var(--text-dark);
  background: #fff;
}
.input.placeholder { color: var(--text-grey); }
.field-label { font-size: 13px; font-weight: 500; margin-bottom: 7px; color: var(--text-dark); }

/* divider */
.divider { height: 1px; background: var(--light-grey); margin: 18px 0; }

/* switch */
.switch { width: 40px; height: 22px; border-radius: var(--pill); background: var(--violet); position: relative; flex-shrink: 0; }
.switch::after { content:''; position:absolute; top:3px; right:3px; width:16px; height:16px; border-radius:50%; background:#fff; }
.switch.off { background: var(--text-grey); }
.switch.off::after { left: 3px; right: auto; }

.logo { background-image: url(data:image/png;base64,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); }

.dot { display:inline-block; width:3px; height:3px; border-radius:50%; background:currentColor; vertical-align:middle; margin:0 8px; opacity:.55; }
