/* SealedWorks coded previews - scoped. DS tokens/base under .sw-preview, each preview under .swp-{slug}. */
@font-face{
  font-family: 'Marcellus';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/marcellus/Marcellus-Regular.woff2") format('woff2');
}
@font-face{
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/assets/fonts/inter/Inter-Variable.woff2") format('woff2-variations');
}
@font-face{
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url("/assets/fonts/jetbrains-mono/JetBrainsMono-Variable.woff2") format('woff2-variations');
}
.sw-preview{
  /* ---- SLATE ---- */
  --slate-900: #0F1418;
  --slate-800: #1F2630;
  --slate-700: #2A323D;
  --slate-600: #36404C;
  --slate-500: #4A5563;
  --slate-400: #6B7480;
  --slate-300: #9098A3;
  --slate-200: #C2C7CE;
  --slate-100: #E2E5E9;

  /* ---- PARCHMENT ---- */
  --parchment-900: #6E5F3A;
  --parchment-800: #9C8A5C;
  --parchment-300: #E8DEBE;
  --parchment-200: #EDE5C8;
  --parchment-100: #F2EBD8;
  --parchment-50:  #F7F2E4;
  --parchment-25:  #FBF7EC;

  /* ---- LEDGER GREEN ---- */
  --ledger-900: #1A2A18;
  --ledger-800: #2A4226;
  --ledger-700: #3A5A36;
  --ledger-600: #4F6F4A;
  --ledger-500: #688A60;
  --ledger-300: #A8C0A2;
  --ledger-100: #DCE8D8;

  /* ---- BRONZE ---- */
  --bronze-900: #4A341C;
  --bronze-800: #785432;
  --bronze-600: #A8794A;
  --bronze-500: #C9944F; /* brighter bronze — marketing CTAs only */
  --bronze-300: #D6B98E;
  --bronze-100: #EFE2CC;

  /* ---- SIGNAL ---- */
  --signal-amber:    #B8854A;
  --signal-rust:     #A84A2E;
  --signal-rust-bg:  #F4E2D8;
  --signal-amber-bg: #F4E8D2;

  /* ============================================================
     SEMANTIC ALIASES
     ============================================================ */

  /* Surfaces — two distinct families, never flattened.
     Parchment canvas (light) + slate chrome (dark). */
  --bg-canvas:   var(--parchment-100); /* the page */
  --bg-elevated: #FBF7EC;              /* cards, panels (parch-50) */
  --bg-highest:  var(--parchment-25);  /* tables, popouts, modals */
  --bg-recessed: var(--parchment-200); /* inputs, audit rows */
  --bg-inset:    rgba(31, 38, 48, 0.04); /* nested data inside a card */
  --bg-chrome:       var(--slate-800);
  --bg-chrome-deep:  var(--slate-900);

  /* Ink — on parchment */
  --ink-primary:   var(--slate-800);
  --ink-secondary: var(--slate-600);
  --ink-tertiary:  var(--slate-500);

  /* Ink — on slate chrome */
  --ink-on-chrome:       var(--parchment-100);
  --ink-on-chrome-muted: rgba(242, 235, 216, 0.6);
  --ink-on-chrome-faint: rgba(242, 235, 216, 0.35);

  /* Rules / dividers — always 1px, always slate at alpha, never coloured */
  --rule-strong:    rgba(31, 38, 48, 0.2);
  --rule-medium:    rgba(31, 38, 48, 0.12);
  --rule-soft:      rgba(31, 38, 48, 0.06);
  --rule-on-chrome: rgba(242, 235, 216, 0.1);

  /* Accents */
  --accent-primary: var(--ledger-600); /* ledger green */
  --accent-warm:    var(--bronze-600);
}
.sw-preview{
  /* ---- FONT FAMILIES ---- */
  --font-display: 'Marcellus', Georgia, serif;            /* wordmark, hero, ≥24px only */
  --font-ui:      'Inter', -apple-system, system-ui, sans-serif; /* 95% of the UI */
  --font-mono:    'JetBrains Mono', ui-monospace, monospace;     /* every number, id, hash, timestamp */

  /* ---- TYPE SCALE ---- */
  --t-display: 56px; /* marketing hero, doc header wordmark (Marcellus) */
  --t-h1:      36px; /* editorial section titles (Marcellus) */
  --t-h2:      26px; /* app page titles (Inter 500) */
  --t-h3:      20px; /* card titles, modal headings (Inter 500) */
  --t-h4:      16px; /* subsection labels, button-large (Inter 500) */
  --t-body:    14px; /* default body, table cells, form values */
  --t-small:   13px; /* secondary body, button text */
  --t-micro:   11px; /* pills, micro labels, hash strings */
  --t-tiny:    10px; /* table headers, eyebrow labels */

  /* ---- TRACKING (apply by size) ---- */
  --track-tight:   -0.005em; /* >16px */
  --track-tighter: -0.015em; /* >24px */

  /* ---- LINE HEIGHTS ---- */
  --lh-tight:   1.1;  /* @kind other */ /* display + headings */
  --lh-snug:    1.3;  /* @kind other */
  --lh-body:    1.6;  /* @kind other */ /* default */
  --lh-relaxed: 1.7;  /* @kind other */ /* long-form prose */
}
.sw-preview{
  /* ---- SPACING (4px base) ---- */
  --s-1:  4px;
  --s-2:  8px;
  --s-3:  12px;
  --s-4:  16px;
  --s-5:  20px;
  --s-6:  24px;
  --s-8:  32px;
  --s-10: 40px;
  --s-12: 48px;
  --s-14: 56px;
  --s-16: 64px;
  --s-20: 80px;
  --s-24: 96px;
  --s-32: 128px;
  --s-40: 160px;

  /* ---- RADIUS ---- */
  --r-sm:   4px;   /* pills, badges, small inline */
  --r-md:   6px;   /* buttons, inputs, default UI */
  --r-lg:   8px;   /* cards, panels, content blocks */
  --r-xl:   12px;  /* major containers, doc header */
  --r-pill: 999px; /* status pills */

  /* ---- ELEVATION ----
     SealedWorks does not use drop shadows in the product. Elevation
     is communicated through surface contrast + 1px borders. The only
     shadows permitted are for genuinely floating overlays (modals,
     slide-in panels, role switcher) — never on resting cards. */
  --shadow-overlay: 0 16px 48px rgba(0, 0, 0, 0.3);
  --shadow-panel:   -8px 0 32px rgba(0, 0, 0, 0.1);
  --shadow-popout:  0 8px 32px rgba(0, 0, 0, 0.15);
}
.sw-preview *, .sw-preview *::before, .sw-preview *::after{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.sw-preview{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
.sw-preview{
  font-family: var(--font-ui);
  font-size: var(--t-body);
  line-height: var(--lh-body);
  color: var(--ink-primary);
  background: var(--bg-canvas);
  font-feature-settings: 'cv11', 'ss01', 'ss03';
}
.sw-preview img, .sw-preview svg{ display: block; max-width: 100%; }
.sw-preview button{ font-family: inherit; cursor: pointer; }
.sw-preview a{ color: inherit; text-decoration: none; }
.sw-preview table{ font-feature-settings: 'tnum'; }
.sw-preview .bg-grain{
  background-image:
    radial-gradient(circle at 1px 1px, rgba(31, 38, 48, 0.04) 1px, transparent 0);
  background-size: 24px 24px;
}
@media (prefers-reduced-motion: reduce){.sw-preview *, .sw-preview *::before, .sw-preview *::after{
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }}
.sw-preview{background:transparent}
/* ---- swp-dashboard ---- */
.swp-dashboard{--font-display:'Marcellus',Georgia,serif;--font-ui:'Inter',-apple-system,system-ui,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-pill:999px;--t-h4:16px;--t-body:14px;--t-small:13px;--t-micro:11px;--t-tiny:10px}
.swp-dashboard .stage{background:#15191e;min-height:100vh;display:flex;flex-direction:column;align-items:center;font-family:var(--font-ui);padding:32px 24px 48px}
.swp-dashboard .stage-h{width:100%;max-width:1360px;color:var(--parchment-100);margin-bottom:20px}
.swp-dashboard .stage-h .eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--bronze-300);margin-bottom:8px}
.swp-dashboard .stage-h .title{font-family:var(--font-display);font-size:26px;line-height:1.2;color:var(--parchment-50);margin-bottom:6px}
.swp-dashboard .stage-h .sub{font-size:13px;color:rgba(242,235,216,0.55);line-height:1.6;max-width:720px}
.swp-dashboard .toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px;justify-content:center}
.swp-dashboard .seg{display:inline-flex;background:rgba(242,235,216,0.05);border:1px solid rgba(242,235,216,0.12);border-radius:var(--r-pill);padding:3px}
.swp-dashboard .seg button{font-family:var(--font-ui);font-size:12px;font-weight:500;color:rgba(242,235,216,0.6);background:transparent;border:none;border-radius:var(--r-pill);padding:7px 16px;display:flex;align-items:center;gap:7px;cursor:pointer;transition:color .18s,background .18s}
.swp-dashboard .seg button .lucide{width:14px;height:14px}
.swp-dashboard .seg button.on{background:var(--ledger-600);color:#fff}
.swp-dashboard .readout{font-family:var(--font-mono);font-size:12px;color:rgba(242,235,216,0.5);letter-spacing:0.04em;display:flex;align-items:center;gap:8px}
.swp-dashboard .readout b{color:var(--parchment-100);font-weight:500}
.swp-dashboard .readout .hint{color:rgba(242,235,216,0.32);font-size:11px}
.swp-dashboard .stage-viewport{width:100%;display:flex;justify-content:center;align-items:flex-start;min-height:820px;overflow-x:auto;padding-bottom:8px}
.swp-dashboard .stage.embed{min-height:0;background:transparent;padding:0}
.swp-dashboard .stage.embed .stage-h{display:none}
.swp-dashboard .stage.embed .toolbar{display:none}
.swp-dashboard .stage.embed .rz{display:none}
.swp-dashboard .stage.embed .stage-viewport{min-height:0;overflow:visible;display:block;padding:0}
.swp-dashboard .stage.embed .device{width:100%;height:auto;transform:none}
.swp-dashboard .stage.embed .frame{height:auto}
.swp-dashboard .stage.embed .app-scroll{height:clamp(480px,62vh,720px);overflow-y:auto}
.swp-dashboard .device{position:relative;flex-shrink:0;background:#0c0f13;border-radius:26px;padding:14px;box-shadow:0 12px 34px rgba(0,0,0,0.38),0 0 0 1px rgba(242,235,216,0.07) inset;transition:width .42s cubic-bezier(0.16,1,0.3,1),height .42s cubic-bezier(0.16,1,0.3,1),padding .42s cubic-bezier(0.16,1,0.3,1),border-radius .42s cubic-bezier(0.16,1,0.3,1),background .3s ease,box-shadow .3s ease}
.swp-dashboard .device.light{background:#e7e2d4;box-shadow:0 12px 34px rgba(24,28,33,0.2),0 0 0 1px rgba(24,28,33,0.09) inset}
.swp-dashboard .device.light .device-notch{background:#e7e2d4}
.swp-dashboard .device.dragging{transition:none}
.swp-dashboard .device.d-mobile{border-radius:42px;padding:12px}
.swp-dashboard .device.d-ipad{border-radius:34px;padding:16px}
.swp-dashboard .device-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:120px;height:26px;background:#0c0f13;border-radius:0 0 16px 16px;z-index:40;display:none}
.swp-dashboard .device.d-mobile .device-notch{display:block}
.swp-dashboard .frame{container-type:inline-size;container-name:fr;background:var(--bg-canvas);width:100%;height:100%;border-radius:12px;overflow:hidden;position:relative;color:var(--ink-primary);font-family:var(--font-ui);font-size:14px;line-height:1.6}
.swp-dashboard .device.d-mobile .frame{border-radius:30px}
.swp-dashboard .device.d-ipad .frame{border-radius:20px}
.swp-dashboard .frame *{box-sizing:border-box}
.swp-dashboard .frame a{color:inherit;text-decoration:none}
.swp-dashboard .frame button{font-family:inherit;cursor:pointer}
.swp-dashboard .frame .lucide{width:16px;height:16px;stroke-width:1.75}
.swp-dashboard .app-scroll{height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(31,38,48,0.25) transparent}
.swp-dashboard .nav-full{background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-dashboard .nav-row1{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-6) var(--s-3);border-bottom:1px solid var(--rule-on-chrome)}
.swp-dashboard .nav-wm{font-family:var(--font-display);font-size:22px;color:var(--ink-on-chrome);line-height:1;display:flex;align-items:center}
.swp-dashboard .nav-wm .tag{color:var(--ink-on-chrome-faint);font-family:var(--font-ui);font-size:var(--t-micro);font-weight:400;margin-left:10px;padding-left:10px;border-left:1px solid var(--rule-on-chrome)}
.swp-dashboard .nav-utility{display:flex;gap:var(--s-4);align-items:center;font-size:var(--t-micro);color:var(--ink-on-chrome-muted)}
.swp-dashboard .nav-utility-search{background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:7px 11px;display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome-faint);font-size:var(--t-micro);white-space:nowrap}
.swp-dashboard .nav-utility-search .lucide{width:12px;height:12px}
.swp-dashboard .nav-utility-icon{width:32px;height:32px;border-radius:var(--r-md);background:rgba(242,235,216,0.06);border:1px solid rgba(242,235,216,0.1);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}
.swp-dashboard .nav-utility-icon .lucide{width:14px;height:14px;color:var(--ink-on-chrome)}
.swp-dashboard .nav-utility-who{display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome);font-size:var(--t-micro);white-space:nowrap}
.swp-dashboard .nav-utility-avatar{width:24px;height:24px;border-radius:50%;background:var(--bronze-600);color:var(--slate-800);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-dashboard .notif-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 4px;background:var(--bronze-600);color:var(--slate-900);font-family:var(--font-mono);font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;border-radius:99px;border:1.5px solid var(--slate-800)}
.swp-dashboard .nav-row2{display:flex;padding:0 var(--s-6);width:100%;justify-content:space-between;gap:2px;overflow:hidden}
.swp-dashboard .nav-row2 a{font-size:12px;color:var(--ink-on-chrome-muted);padding:11px 0 13px;border-bottom:2px solid transparent;display:flex;align-items:center;white-space:nowrap}
.swp-dashboard .nav-row2 a.on{color:var(--ink-on-chrome);border-bottom-color:var(--ledger-600);font-weight:500}
.swp-dashboard .navico{width:19px;height:19px;padding:3px;margin-right:6px;background:rgba(242,235,216,0.08);border-radius:4px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.swp-dashboard .navico .lucide{width:13px;height:13px}
.swp-dashboard .util-search-icon{display:none}
.swp-dashboard .nav-mob{display:none;background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-dashboard .m-top{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 10px}
.swp-dashboard .m-top .nav-wm{font-size:18px}
.swp-dashboard .m-top .mt-right{display:flex;align-items:center;gap:12px}
.swp-dashboard .m-search-row{padding:10px 16px 12px;background:var(--slate-700);border-top:1px solid var(--rule-on-chrome)}
.swp-dashboard .m-search{display:flex;align-items:center;gap:8px;background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:10px 12px;color:var(--ink-on-chrome-faint);font-size:13px}
.swp-dashboard .m-search .lucide{width:14px;height:14px}
.swp-dashboard .tabbar-mob{display:none;position:absolute;bottom:0;left:0;right:0;height:62px;background:var(--slate-800);border-top:1px solid var(--rule-on-chrome);align-items:center;justify-content:space-around;padding-bottom:2px;z-index:30}
.swp-dashboard .m-tab{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;color:var(--ink-on-chrome-muted);flex:1}
.swp-dashboard .m-tab .lucide{width:20px;height:20px}
.swp-dashboard .m-tab.on{color:var(--ledger-300)}
.swp-dashboard .sw-body{padding:var(--s-6) var(--s-8);width:100%}
.swp-dashboard .crumbs{display:flex;align-items:center;gap:6px;font-size:var(--t-micro);color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-dashboard .crumb-current{color:var(--ink-primary);font-weight:500}
.swp-dashboard .page-header{display:flex;flex-direction:column;gap:var(--s-3);padding-bottom:var(--s-5);margin-bottom:var(--s-5);border-bottom:1px solid var(--rule-medium)}
.swp-dashboard .page-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4)}
.swp-dashboard .page-header-title{font-size:22px;font-weight:500;letter-spacing:-0.015em;margin:0}
.swp-dashboard .page-header-meta{display:flex;gap:var(--s-4);font-size:var(--t-micro);color:var(--ink-secondary);margin-top:var(--s-2);flex-wrap:wrap}
.swp-dashboard .page-header-meta-item{display:flex;align-items:center;gap:5px}
.swp-dashboard .page-header-meta-item .lucide{width:12px;height:12px;opacity:0.6}
.swp-dashboard .btn{font-size:var(--t-small);font-weight:500;padding:9px 16px;border-radius:var(--r-md);border:1px solid transparent;display:inline-flex;align-items:center;gap:var(--s-2);line-height:1;white-space:nowrap}
.swp-dashboard .btn .lucide{width:14px;height:14px}
.swp-dashboard .frame .btn-accent, .swp-dashboard .frame .btn-accent .lucide{color:#fff}
.swp-dashboard .btn-accent{background:var(--ledger-600);border-color:var(--ledger-600)}
.swp-dashboard .btn-secondary{background:transparent;color:var(--ink-primary);border-color:var(--rule-strong)}
.swp-dashboard .btn-sm{padding:6px 12px;font-size:var(--t-micro)}
.swp-dashboard .pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-tiny);font-weight:500;padding:3px 9px;border-radius:var(--r-pill);border:1px solid transparent;white-space:nowrap}
.swp-dashboard .pill-active{background:var(--ledger-100);color:var(--ledger-800);border-color:rgba(79,111,74,0.25)}
.swp-dashboard .pill-warm{background:var(--bronze-100);color:var(--bronze-800);border-color:rgba(168,121,74,0.3)}
.swp-dashboard .pill-locked{background:var(--slate-800);color:var(--parchment-100)}
.swp-dashboard .pill-draft{background:rgba(31,38,48,0.06);color:var(--ink-tertiary);border-color:rgba(31,38,48,0.1)}
.swp-dashboard .metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}
.swp-dashboard .metric{background:rgba(31,38,48,0.04);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:var(--s-4)}
.swp-dashboard .metric-label{font-size:var(--t-micro);color:var(--ink-secondary);margin-bottom:var(--s-1);display:flex;align-items:center;gap:5px}
.swp-dashboard .metric-label .lucide{width:12px;height:12px;opacity:0.5}
.swp-dashboard .metric-value{font-family:var(--font-mono);font-size:22px;font-weight:500;line-height:1.1}
.swp-dashboard .alerts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.swp-dashboard .alert-card{border-radius:0 var(--r-lg) var(--r-lg) 0;padding:var(--s-4);display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-dashboard .alert-card .lucide{width:18px;height:18px;flex-shrink:0;margin-top:2px}
.swp-dashboard .alert-rust{background:rgba(168,74,46,0.04);border:1px solid rgba(168,74,46,0.15);border-left:4px solid var(--signal-rust)}
.swp-dashboard .alert-amber{background:rgba(184,133,74,0.04);border:1px solid rgba(184,133,74,0.15);border-left:4px solid var(--signal-amber)}
.swp-dashboard .alert-t{font-weight:600;font-size:var(--t-small);margin-bottom:2px}
.swp-dashboard .alert-d{font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-dashboard .main{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.swp-dashboard .card-h{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3)}
.swp-dashboard .card-title{font-size:var(--t-h4);font-weight:500;display:flex;align-items:center;gap:6px}
.swp-dashboard .card-title .lucide{width:14px;height:14px;opacity:0.45}
.swp-dashboard .card{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5)}
.swp-dashboard .wp-cards{display:none}
.swp-dashboard .tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--parchment-25);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-dashboard .tbl th{font-size:var(--t-tiny);font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:rgba(237,229,200,0.8);text-align:left;padding:11px 14px;background:var(--slate-800)}
.swp-dashboard .tbl th:first-child{padding-left:16px}
.swp-dashboard .tbl th.r{text-align:right}
.swp-dashboard .tbl td{font-size:var(--t-small);padding:11px 14px;border-bottom:1px solid var(--rule-soft);background:var(--parchment-25)}
.swp-dashboard .tbl td:first-child{padding-left:16px}
.swp-dashboard .tbl tr:nth-child(even) td{background:rgba(31,38,48,0.025)}
.swp-dashboard .tbl td.m{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-dashboard .tbl td.r{text-align:right}
.swp-dashboard .tbl tr:last-child td{border-bottom:none}
.swp-dashboard .col-project, .swp-dashboard .col-bids{display:table-cell}
.swp-dashboard .m-wp{display:flex;flex-direction:column;gap:9px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:13px 14px;margin-bottom:8px}
.swp-dashboard .m-wp-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.swp-dashboard .m-wp-bot{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.swp-dashboard .m-wp .tr{font-size:var(--t-body);font-weight:500}
.swp-dashboard .m-wp .meta{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-dashboard .m-wp .meta .id{font-family:var(--font-mono);color:var(--ink-secondary)}
.swp-dashboard .m-wp .val{font-family:var(--font-mono);font-size:var(--t-small);color:var(--ink-primary);white-space:nowrap}
.swp-dashboard .evrow{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule-soft)}
.swp-dashboard .evrow:last-child{border-bottom:none}
.swp-dashboard .evrow .av{width:24px;height:24px;border-radius:50%;color:#fff;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-dashboard .evrow .nm{flex:1;font-size:var(--t-small);font-weight:500}
.swp-dashboard .evrow .bar{width:80px;height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-dashboard .evrow .bar > i{display:block;height:100%;background:var(--ledger-600);border-radius:3px}
.swp-dashboard .evrow .ct{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);width:40px;text-align:right}
.swp-dashboard .ev-wrap{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-dashboard .activity-item{display:flex;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--rule-soft);font-size:var(--t-small)}
.swp-dashboard .activity-item:last-child{border-bottom:none}
.swp-dashboard .activity-dot{width:8px;height:8px;border-radius:50%;background:var(--ledger-600);margin-top:6px;flex-shrink:0}
.swp-dashboard .activity-dot.warn{background:var(--signal-amber)}
.swp-dashboard .activity-dot.cert{background:var(--bronze-600)}
.swp-dashboard .activity-time{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px}
.swp-dashboard .text-mono{font-family:var(--font-mono)}
.swp-dashboard .text-micro{font-size:var(--t-micro)}
.swp-dashboard .rz{position:absolute;top:0;bottom:0;width:16px;right:-8px;cursor:ew-resize;z-index:60;display:flex;align-items:center;justify-content:center}
.swp-dashboard .rz::before{content:"";width:4px;height:52px;border-radius:99px;background:rgba(242,235,216,0.18);transition:background .18s}
.swp-dashboard .rz:hover::before{background:var(--ledger-600)}
@container fr (max-width:999px){.swp-dashboard .sw-body{padding:var(--s-5) var(--s-6)}
.swp-dashboard .nav-row2{justify-content:flex-start;gap:24px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.swp-dashboard .nav-row2::-webkit-scrollbar{display:none}
.swp-dashboard .nav-row2 a{font-size:var(--t-micro);padding:10px 0 12px;flex:none}
.swp-dashboard .navico{margin-right:7px}
.swp-dashboard .tab-extra{display:flex}
.swp-dashboard .nav-utility-search{display:none}
.swp-dashboard .util-search-icon{display:flex}
.swp-dashboard .metrics{grid-template-columns:repeat(3,1fr)}
.swp-dashboard .main{grid-template-columns:1fr}
.swp-dashboard .col-project, .swp-dashboard .col-bids{display:none}}
@container fr (max-width:620px){.swp-dashboard .nav-full{display:none}
.swp-dashboard .nav-mob{display:block}
.swp-dashboard .tabbar-mob{display:flex}
.swp-dashboard .sw-body{padding:16px 16px 80px}
.swp-dashboard .page-header{padding-bottom:var(--s-4);margin-bottom:var(--s-4)}
.swp-dashboard .page-header-top{flex-direction:column;gap:var(--s-3)}
.swp-dashboard .page-header-title{font-size:19px}
.swp-dashboard .metrics{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.swp-dashboard .alerts{grid-template-columns:1fr;gap:10px;margin-bottom:14px}
.swp-dashboard .wp-table{display:none}
.swp-dashboard .wp-cards{display:block}
.swp-dashboard .only-wide{display:none}
.swp-dashboard .card-h{margin-top:0}
.swp-dashboard .main{gap:14px}}
/* ---- swp-work-package ---- */
.swp-work-package{--font-display:'Marcellus',Georgia,serif;--font-ui:'Inter',-apple-system,system-ui,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-pill:999px;--t-h4:16px;--t-body:14px;--t-small:13px;--t-micro:11px;--t-tiny:10px}
.swp-work-package .stage{background:#15191e;min-height:100vh;display:flex;flex-direction:column;align-items:center;font-family:var(--font-ui);padding:32px 24px 48px}
.swp-work-package .stage-h{width:100%;max-width:1360px;color:var(--parchment-100);margin-bottom:20px}
.swp-work-package .stage-h .eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--bronze-300);margin-bottom:8px}
.swp-work-package .stage-h .title{font-family:var(--font-display);font-size:26px;line-height:1.2;color:var(--parchment-50);margin-bottom:6px}
.swp-work-package .stage-h .sub{font-size:13px;color:rgba(242,235,216,0.55);line-height:1.6;max-width:720px}
.swp-work-package .toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px;justify-content:center}
.swp-work-package .seg{display:inline-flex;background:rgba(242,235,216,0.05);border:1px solid rgba(242,235,216,0.12);border-radius:var(--r-pill);padding:3px}
.swp-work-package .seg button{font-family:var(--font-ui);font-size:12px;font-weight:500;color:rgba(242,235,216,0.6);background:transparent;border:none;border-radius:var(--r-pill);padding:7px 16px;display:flex;align-items:center;gap:7px;cursor:pointer;transition:color .18s,background .18s}
.swp-work-package .seg button .lucide{width:14px;height:14px}
.swp-work-package .seg button.on{background:var(--ledger-600);color:#fff}
.swp-work-package .readout{font-family:var(--font-mono);font-size:12px;color:rgba(242,235,216,0.5);letter-spacing:0.04em;display:flex;align-items:center;gap:8px}
.swp-work-package .readout b{color:var(--parchment-100);font-weight:500}
.swp-work-package .readout .hint{color:rgba(242,235,216,0.32);font-size:11px}
.swp-work-package .stage-viewport{width:100%;display:flex;justify-content:center;align-items:flex-start;min-height:820px;overflow-x:auto;padding-bottom:8px}
.swp-work-package .stage.embed{min-height:0;background:transparent;padding:0}
.swp-work-package .stage.embed .stage-h{display:none}
.swp-work-package .stage.embed .toolbar{display:none}
.swp-work-package .stage.embed .rz{display:none}
.swp-work-package .stage.embed .stage-viewport{min-height:0;overflow:visible;display:block;padding:0}
.swp-work-package .stage.embed .device{width:100%;height:auto;transform:none}
.swp-work-package .stage.embed .frame{height:auto}
.swp-work-package .stage.embed .app-scroll{height:clamp(480px,62vh,720px);overflow-y:auto}
.swp-work-package .device{position:relative;flex-shrink:0;background:#0c0f13;border-radius:26px;padding:14px;box-shadow:0 12px 34px rgba(0,0,0,0.38),0 0 0 1px rgba(242,235,216,0.07) inset;transition:width .42s cubic-bezier(0.16,1,0.3,1),height .42s cubic-bezier(0.16,1,0.3,1),padding .42s cubic-bezier(0.16,1,0.3,1),border-radius .42s cubic-bezier(0.16,1,0.3,1),background .3s ease,box-shadow .3s ease}
.swp-work-package .device.light{background:#e7e2d4;box-shadow:0 12px 34px rgba(24,28,33,0.2),0 0 0 1px rgba(24,28,33,0.09) inset}
.swp-work-package .device.light .device-notch{background:#e7e2d4}
.swp-work-package .device.dragging{transition:none}
.swp-work-package .device.d-mobile{border-radius:42px;padding:12px}
.swp-work-package .device.d-ipad{border-radius:34px;padding:16px}
.swp-work-package .device-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:120px;height:26px;background:#0c0f13;border-radius:0 0 16px 16px;z-index:40;display:none}
.swp-work-package .device.d-mobile .device-notch{display:block}
.swp-work-package .frame{container-type:inline-size;container-name:fr;background:var(--bg-canvas);width:100%;height:100%;border-radius:12px;overflow:hidden;position:relative;color:var(--ink-primary);font-family:var(--font-ui);font-size:14px;line-height:1.6}
.swp-work-package .device.d-mobile .frame{border-radius:30px}
.swp-work-package .device.d-ipad .frame{border-radius:20px}
.swp-work-package .frame *{box-sizing:border-box}
.swp-work-package .frame a{color:inherit;text-decoration:none}
.swp-work-package .frame button{font-family:inherit;cursor:pointer}
.swp-work-package .frame .lucide{width:16px;height:16px;stroke-width:1.75}
.swp-work-package .app-scroll{height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(31,38,48,0.25) transparent}
.swp-work-package .nav-full{background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-work-package .nav-row1{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-6) var(--s-3);border-bottom:1px solid var(--rule-on-chrome)}
.swp-work-package .nav-wm{font-family:var(--font-display);font-size:22px;color:var(--ink-on-chrome);line-height:1;display:flex;align-items:center}
.swp-work-package .nav-wm .tag{color:var(--ink-on-chrome-faint);font-family:var(--font-ui);font-size:var(--t-micro);font-weight:400;margin-left:10px;padding-left:10px;border-left:1px solid var(--rule-on-chrome)}
.swp-work-package .nav-utility{display:flex;gap:var(--s-4);align-items:center;font-size:var(--t-micro);color:var(--ink-on-chrome-muted)}
.swp-work-package .nav-utility-search{background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:7px 11px;display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome-faint);font-size:var(--t-micro);white-space:nowrap}
.swp-work-package .nav-utility-search .lucide{width:12px;height:12px}
.swp-work-package .nav-utility-icon{width:32px;height:32px;border-radius:var(--r-md);background:rgba(242,235,216,0.06);border:1px solid rgba(242,235,216,0.1);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}
.swp-work-package .nav-utility-icon .lucide{width:14px;height:14px;color:var(--ink-on-chrome)}
.swp-work-package .nav-utility-who{display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome);font-size:var(--t-micro);white-space:nowrap}
.swp-work-package .nav-utility-avatar{width:24px;height:24px;border-radius:50%;background:var(--bronze-600);color:var(--slate-800);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-work-package .notif-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 4px;background:var(--bronze-600);color:var(--slate-900);font-family:var(--font-mono);font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;border-radius:99px;border:1.5px solid var(--slate-800)}
.swp-work-package .nav-row2{display:flex;padding:0 var(--s-6);width:100%;justify-content:space-between;gap:2px;overflow:hidden}
.swp-work-package .nav-row2 a{font-size:12px;color:var(--ink-on-chrome-muted);padding:11px 0 13px;border-bottom:2px solid transparent;display:flex;align-items:center;white-space:nowrap}
.swp-work-package .nav-row2 a.on{color:var(--ink-on-chrome);border-bottom-color:var(--ledger-600);font-weight:500}
.swp-work-package .navico{width:19px;height:19px;padding:3px;margin-right:6px;background:rgba(242,235,216,0.08);border-radius:4px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.swp-work-package .navico .lucide{width:13px;height:13px}
.swp-work-package .util-search-icon{display:none}
.swp-work-package .nav-mob{display:none;background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-work-package .m-top{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 10px}
.swp-work-package .m-top .nav-wm{font-size:18px}
.swp-work-package .m-top .mt-right{display:flex;align-items:center;gap:12px}
.swp-work-package .m-search-row{padding:10px 16px 12px;background:var(--slate-700);border-top:1px solid var(--rule-on-chrome)}
.swp-work-package .m-search{display:flex;align-items:center;gap:8px;background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:10px 12px;color:var(--ink-on-chrome-faint);font-size:13px}
.swp-work-package .m-search .lucide{width:14px;height:14px}
.swp-work-package .tabbar-mob{display:none;position:absolute;bottom:0;left:0;right:0;height:62px;background:var(--slate-800);border-top:1px solid var(--rule-on-chrome);align-items:center;justify-content:space-around;padding-bottom:2px;z-index:30}
.swp-work-package .m-tab{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;color:var(--ink-on-chrome-muted);flex:1}
.swp-work-package .m-tab .lucide{width:20px;height:20px}
.swp-work-package .m-tab.on{color:var(--ledger-300)}
.swp-work-package .sw-body{padding:var(--s-6) var(--s-8);width:100%}
.swp-work-package .crumbs{display:flex;align-items:center;gap:6px;font-size:var(--t-micro);color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-work-package .crumb-current{color:var(--ink-primary);font-weight:500}
.swp-work-package .page-header{display:flex;flex-direction:column;gap:var(--s-3);padding-bottom:var(--s-5);margin-bottom:var(--s-5);border-bottom:1px solid var(--rule-medium)}
.swp-work-package .page-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4)}
.swp-work-package .page-header-title{font-size:22px;font-weight:500;letter-spacing:-0.015em;margin:0}
.swp-work-package .page-header-meta{display:flex;gap:var(--s-4);font-size:var(--t-micro);color:var(--ink-secondary);margin-top:var(--s-2);flex-wrap:wrap}
.swp-work-package .page-header-meta-item{display:flex;align-items:center;gap:5px}
.swp-work-package .page-header-meta-item .lucide{width:12px;height:12px;opacity:0.6}
.swp-work-package .btn{font-size:var(--t-small);font-weight:500;padding:9px 16px;border-radius:var(--r-md);border:1px solid transparent;display:inline-flex;align-items:center;gap:var(--s-2);line-height:1;white-space:nowrap}
.swp-work-package .btn .lucide{width:14px;height:14px}
.swp-work-package .frame .btn-accent, .swp-work-package .frame .btn-accent .lucide{color:#fff}
.swp-work-package .btn-accent{background:var(--ledger-600);border-color:var(--ledger-600)}
.swp-work-package .btn-secondary{background:transparent;color:var(--ink-primary);border-color:var(--rule-strong)}
.swp-work-package .btn-sm{padding:6px 12px;font-size:var(--t-micro)}
.swp-work-package .pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-tiny);font-weight:500;padding:3px 9px;border-radius:var(--r-pill);border:1px solid transparent;white-space:nowrap}
.swp-work-package .pill-active{background:var(--ledger-100);color:var(--ledger-800);border-color:rgba(79,111,74,0.25)}
.swp-work-package .pill-warm{background:var(--bronze-100);color:var(--bronze-800);border-color:rgba(168,121,74,0.3)}
.swp-work-package .pill-locked{background:var(--slate-800);color:var(--parchment-100)}
.swp-work-package .pill-draft{background:rgba(31,38,48,0.06);color:var(--ink-tertiary);border-color:rgba(31,38,48,0.1)}
.swp-work-package .metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}
.swp-work-package .metric{background:rgba(31,38,48,0.04);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:var(--s-4)}
.swp-work-package .metric-label{font-size:var(--t-micro);color:var(--ink-secondary);margin-bottom:var(--s-1);display:flex;align-items:center;gap:5px}
.swp-work-package .metric-label .lucide{width:12px;height:12px;opacity:0.5}
.swp-work-package .metric-value{font-family:var(--font-mono);font-size:22px;font-weight:500;line-height:1.1}
.swp-work-package .alerts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.swp-work-package .alert-card{border-radius:0 var(--r-lg) var(--r-lg) 0;padding:var(--s-4);display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-work-package .alert-card .lucide{width:18px;height:18px;flex-shrink:0;margin-top:2px}
.swp-work-package .alert-rust{background:rgba(168,74,46,0.04);border:1px solid rgba(168,74,46,0.15);border-left:4px solid var(--signal-rust)}
.swp-work-package .alert-amber{background:rgba(184,133,74,0.04);border:1px solid rgba(184,133,74,0.15);border-left:4px solid var(--signal-amber)}
.swp-work-package .alert-t{font-weight:600;font-size:var(--t-small);margin-bottom:2px}
.swp-work-package .alert-d{font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-work-package .main{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.swp-work-package .card-h{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3)}
.swp-work-package .card-title{font-size:var(--t-h4);font-weight:500;display:flex;align-items:center;gap:6px}
.swp-work-package .card-title .lucide{width:14px;height:14px;opacity:0.45}
.swp-work-package .card{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5)}
.swp-work-package .wp-cards{display:none}
.swp-work-package .tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--parchment-25);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-work-package .tbl th{font-size:var(--t-tiny);font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:rgba(237,229,200,0.8);text-align:left;padding:11px 14px;background:var(--slate-800)}
.swp-work-package .tbl th:first-child{padding-left:16px}
.swp-work-package .tbl th.r{text-align:right}
.swp-work-package .tbl td{font-size:var(--t-small);padding:11px 14px;border-bottom:1px solid var(--rule-soft);background:var(--parchment-25)}
.swp-work-package .tbl td:first-child{padding-left:16px}
.swp-work-package .tbl tr:nth-child(even) td{background:rgba(31,38,48,0.025)}
.swp-work-package .tbl td.m{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-work-package .tbl td.r{text-align:right}
.swp-work-package .tbl tr:last-child td{border-bottom:none}
.swp-work-package .col-project, .swp-work-package .col-bids{display:table-cell}
.swp-work-package .m-wp{display:flex;flex-direction:column;gap:9px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:13px 14px;margin-bottom:8px}
.swp-work-package .m-wp-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.swp-work-package .m-wp-bot{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.swp-work-package .m-wp .tr{font-size:var(--t-body);font-weight:500}
.swp-work-package .m-wp .meta{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-work-package .m-wp .meta .id{font-family:var(--font-mono);color:var(--ink-secondary)}
.swp-work-package .m-wp .val{font-family:var(--font-mono);font-size:var(--t-small);color:var(--ink-primary);white-space:nowrap}
.swp-work-package .evrow{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule-soft)}
.swp-work-package .evrow:last-child{border-bottom:none}
.swp-work-package .evrow .av{width:24px;height:24px;border-radius:50%;color:#fff;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-work-package .evrow .nm{flex:1;font-size:var(--t-small);font-weight:500}
.swp-work-package .evrow .bar{width:80px;height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-work-package .evrow .bar > i{display:block;height:100%;background:var(--ledger-600);border-radius:3px}
.swp-work-package .evrow .ct{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);width:40px;text-align:right}
.swp-work-package .ev-wrap{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-work-package .activity-item{display:flex;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--rule-soft);font-size:var(--t-small)}
.swp-work-package .activity-item:last-child{border-bottom:none}
.swp-work-package .activity-dot{width:8px;height:8px;border-radius:50%;background:var(--ledger-600);margin-top:6px;flex-shrink:0}
.swp-work-package .activity-dot.warn{background:var(--signal-amber)}
.swp-work-package .activity-dot.cert{background:var(--bronze-600)}
.swp-work-package .activity-time{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px}
.swp-work-package .text-mono{font-family:var(--font-mono)}
.swp-work-package .text-micro{font-size:var(--t-micro)}
.swp-work-package .rz{position:absolute;top:0;bottom:0;width:16px;right:-8px;cursor:ew-resize;z-index:60;display:flex;align-items:center;justify-content:center}
.swp-work-package .rz::before{content:"";width:4px;height:52px;border-radius:99px;background:rgba(242,235,216,0.18);transition:background .18s}
.swp-work-package .rz:hover::before{background:var(--ledger-600)}
.swp-work-package .page-header-actions{display:flex;gap:var(--s-2)}
.swp-work-package .crumb-sep{opacity:0.5;font-size:10px}
.swp-work-package .crumbs a{display:flex;align-items:center;gap:3px}
.swp-work-package .crumbs a .lucide{width:11px;height:11px;opacity:0.45}
.swp-work-package .frame .btn-dark, .swp-work-package .frame .btn-dark .lucide{color:var(--ink-on-chrome)}
.swp-work-package .btn-dark{background:var(--slate-800);border-color:var(--slate-800)}
.swp-work-package .field-label{font-size:var(--t-micro);font-weight:500;margin-bottom:var(--s-1);display:block}
.swp-work-package .field-input, .swp-work-package .field-textarea{width:100%;padding:9px 12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);background:var(--parchment-25);color:var(--ink-primary)}
.swp-work-package .field-textarea{min-height:70px;resize:vertical;display:block}
.swp-work-package .field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}
.swp-work-package .spicker-input{width:100%;padding:10px 12px 10px 36px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);height:40px;background:var(--parchment-25)}
.swp-work-package .frame .ficon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--ink-tertiary);pointer-events:none}
.swp-work-package .frame .ficon .lucide{width:14px;height:14px;display:block}
.swp-work-package .wz-steps{display:flex;gap:0;margin-bottom:var(--s-6);overflow:hidden}
.swp-work-package .wz-step{flex:1;text-align:center;padding:13px 8px 10px;font-size:var(--t-micro);font-weight:500;color:var(--ink-tertiary);white-space:nowrap;background:rgba(31,38,48,0.03);border-bottom:3px solid var(--rule-medium);display:flex;align-items:center;justify-content:center;gap:5px}
.swp-work-package .wz-step:first-child{border-radius:var(--r-md) 0 0 var(--r-md)}
.swp-work-package .wz-step:last-child{border-radius:0 var(--r-md) var(--r-md) 0}
.swp-work-package .wz-step:not(:last-child){border-right:1px solid var(--rule-soft)}
.swp-work-package .wz-step.active{background:rgba(79,111,74,0.06);border-bottom-color:var(--ledger-600);color:var(--ink-primary)}
.swp-work-package .wz-step-num{font-family:var(--font-mono);font-size:9px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--rule-medium);color:var(--ink-tertiary);flex-shrink:0}
.swp-work-package .wz-step.active .wz-step-num{background:var(--ledger-600);color:#fff}
.swp-work-package .wz-route-badge{font-size:8px;font-weight:600;padding:2px 6px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.04em;background:var(--ledger-100);color:var(--ledger-800)}
.swp-work-package .wz-section{font-family:var(--font-mono);font-size:var(--t-tiny);text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-work-package .wz-desc{font-size:var(--t-small);color:var(--ink-secondary);margin-bottom:var(--s-5);line-height:1.6}
.swp-work-package .wz-nav{display:flex;justify-content:flex-end;align-items:center;margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--rule-medium)}
.swp-work-package .route-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin-top:var(--s-3)}
.swp-work-package .route-option{border:2px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);background:var(--bg-elevated)}
.swp-work-package .route-option.selected{border-color:var(--ledger-600);background:var(--ledger-600);color:#fff}
.swp-work-package .route-option.selected .route-sub{color:rgba(255,255,255,0.7)}
.swp-work-package .route-option.selected .lucide{color:#fff}
.swp-work-package .route-option-head{display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-work-package .route-option-head .lucide{width:16px;height:16px;margin-top:2px;flex-shrink:0;color:var(--ink-tertiary)}
.swp-work-package .route-sub{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-work-package .route-info{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5);margin-top:var(--s-4);border-left:3px solid var(--ledger-600)}
.swp-work-package .route-info-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--s-3)}
.swp-work-package .route-info-title{font-weight:600;display:flex;align-items:center;gap:var(--s-2)}
.swp-work-package .route-info-title .lucide{width:16px;height:16px;color:var(--ledger-600)}
.swp-work-package .route-info-badge{font-size:9px;font-weight:600;padding:2px 8px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.05em;background:var(--ledger-100);color:var(--ledger-800)}
.swp-work-package .route-info-desc{font-size:var(--t-micro);color:var(--ink-secondary);line-height:1.6;margin-bottom:var(--s-4)}
.swp-work-package .route-enforced{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}
.swp-work-package .route-enforced-item{display:flex;align-items:center;gap:var(--s-2);font-size:var(--t-micro);padding:6px 10px;border-radius:var(--r-md);background:rgba(79,111,74,0.04)}
.swp-work-package .route-enforced-item .lucide{width:12px;height:12px;color:var(--ledger-600);flex-shrink:0}
.swp-work-package .m-wzbar{display:none;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:11px 14px;margin-bottom:14px}
.swp-work-package .m-wzbar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.swp-work-package .m-wzbar-step{font-size:var(--t-small);font-weight:600;display:flex;align-items:center;gap:7px}
.swp-work-package .m-wzbar-step .n{font-family:var(--font-mono);font-size:9px;width:18px;height:18px;border-radius:50%;background:var(--ledger-600);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.swp-work-package .m-wzbar-count{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary)}
.swp-work-package .m-wztrack{height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-work-package .m-wztrack > i{display:block;height:100%;width:12.5%;background:var(--ledger-600);border-radius:3px}
@container fr (max-width:999px){.swp-work-package .sw-body{padding:var(--s-5) var(--s-6)}
.swp-work-package .nav-row2{justify-content:flex-start;gap:24px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.swp-work-package .nav-row2::-webkit-scrollbar{display:none}
.swp-work-package .nav-row2 a{font-size:var(--t-micro);padding:10px 0 12px;flex:none}
.swp-work-package .navico{margin-right:7px}
.swp-work-package .tab-extra{display:flex}
.swp-work-package .nav-utility-search{display:none}
.swp-work-package .util-search-icon{display:flex}
.swp-work-package .metrics{grid-template-columns:repeat(3,1fr)}
.swp-work-package .main{grid-template-columns:1fr}
.swp-work-package .col-project, .swp-work-package .col-bids{display:none}
.swp-work-package .wz-step{font-size:9px;padding:11px 4px 9px;gap:3px}
.swp-work-package .wz-step-num{width:16px;height:16px}
.swp-work-package .wz-route-badge{display:none}}
@container fr (max-width:620px){.swp-work-package .nav-full{display:none}
.swp-work-package .nav-mob{display:block}
.swp-work-package .tabbar-mob{display:flex}
.swp-work-package .sw-body{padding:16px 16px 80px}
.swp-work-package .page-header{padding-bottom:var(--s-4);margin-bottom:var(--s-4)}
.swp-work-package .page-header-top{flex-direction:column;gap:var(--s-3)}
.swp-work-package .page-header-title{font-size:19px}
.swp-work-package .metrics{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.swp-work-package .alerts{grid-template-columns:1fr;gap:10px;margin-bottom:14px}
.swp-work-package .wp-table{display:none}
.swp-work-package .wp-cards{display:block}
.swp-work-package .only-wide{display:none}
.swp-work-package .card-h{margin-top:0}
.swp-work-package .main{gap:14px}
.swp-work-package .wz-steps{display:none}
.swp-work-package .m-wzbar{display:block}
.swp-work-package .field-row{grid-template-columns:1fr}
.swp-work-package .route-longsub{display:none}
.swp-work-package .route-info{display:none}
.swp-work-package .wz-descfield{display:none}
.swp-work-package .page-header-actions{display:none}
.swp-work-package .page-header-meta{display:none}
.swp-work-package .wz-nav .btn{width:100%;justify-content:center}}
/* ---- swp-boq ---- */
.swp-boq{--font-display:'Marcellus',Georgia,serif;--font-ui:'Inter',-apple-system,system-ui,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-pill:999px;--t-h4:16px;--t-body:14px;--t-small:13px;--t-micro:11px;--t-tiny:10px}
.swp-boq .stage{background:#15191e;min-height:100vh;display:flex;flex-direction:column;align-items:center;font-family:var(--font-ui);padding:32px 24px 48px}
.swp-boq .stage-h{width:100%;max-width:1360px;color:var(--parchment-100);margin-bottom:20px}
.swp-boq .stage-h .eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--bronze-300);margin-bottom:8px}
.swp-boq .stage-h .title{font-family:var(--font-display);font-size:26px;line-height:1.2;color:var(--parchment-50);margin-bottom:6px}
.swp-boq .stage-h .sub{font-size:13px;color:rgba(242,235,216,0.55);line-height:1.6;max-width:720px}
.swp-boq .toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px;justify-content:center}
.swp-boq .seg{display:inline-flex;background:rgba(242,235,216,0.05);border:1px solid rgba(242,235,216,0.12);border-radius:var(--r-pill);padding:3px}
.swp-boq .seg button{font-family:var(--font-ui);font-size:12px;font-weight:500;color:rgba(242,235,216,0.6);background:transparent;border:none;border-radius:var(--r-pill);padding:7px 16px;display:flex;align-items:center;gap:7px;cursor:pointer;transition:color .18s,background .18s}
.swp-boq .seg button .lucide{width:14px;height:14px}
.swp-boq .seg button.on{background:var(--ledger-600);color:#fff}
.swp-boq .readout{font-family:var(--font-mono);font-size:12px;color:rgba(242,235,216,0.5);letter-spacing:0.04em;display:flex;align-items:center;gap:8px}
.swp-boq .readout b{color:var(--parchment-100);font-weight:500}
.swp-boq .readout .hint{color:rgba(242,235,216,0.32);font-size:11px}
.swp-boq .stage-viewport{width:100%;display:flex;justify-content:center;align-items:flex-start;min-height:820px;overflow-x:auto;padding-bottom:8px}
.swp-boq .stage.embed{min-height:0;background:transparent;padding:0}
.swp-boq .stage.embed .stage-h{display:none}
.swp-boq .stage.embed .toolbar{display:none}
.swp-boq .stage.embed .rz{display:none}
.swp-boq .stage.embed .stage-viewport{min-height:0;overflow:visible;display:block;padding:0}
.swp-boq .stage.embed .device{width:100%;height:auto;transform:none}
.swp-boq .stage.embed .frame{height:auto}
.swp-boq .stage.embed .app-scroll{height:clamp(480px,62vh,720px);overflow-y:auto}
.swp-boq .device{position:relative;flex-shrink:0;background:#0c0f13;border-radius:26px;padding:14px;box-shadow:0 12px 34px rgba(0,0,0,0.38),0 0 0 1px rgba(242,235,216,0.07) inset;transition:width .42s cubic-bezier(0.16,1,0.3,1),height .42s cubic-bezier(0.16,1,0.3,1),padding .42s cubic-bezier(0.16,1,0.3,1),border-radius .42s cubic-bezier(0.16,1,0.3,1),background .3s ease,box-shadow .3s ease}
.swp-boq .device.light{background:#e7e2d4;box-shadow:0 12px 34px rgba(24,28,33,0.2),0 0 0 1px rgba(24,28,33,0.09) inset}
.swp-boq .device.light .device-notch{background:#e7e2d4}
.swp-boq .device.dragging{transition:none}
.swp-boq .device.d-mobile{border-radius:42px;padding:12px}
.swp-boq .device.d-ipad{border-radius:34px;padding:16px}
.swp-boq .device-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:120px;height:26px;background:#0c0f13;border-radius:0 0 16px 16px;z-index:40;display:none}
.swp-boq .device.d-mobile .device-notch{display:block}
.swp-boq .frame{container-type:inline-size;container-name:fr;background:var(--bg-canvas);width:100%;height:100%;border-radius:12px;overflow:hidden;position:relative;color:var(--ink-primary);font-family:var(--font-ui);font-size:14px;line-height:1.6}
.swp-boq .device.d-mobile .frame{border-radius:30px}
.swp-boq .device.d-ipad .frame{border-radius:20px}
.swp-boq .frame *{box-sizing:border-box}
.swp-boq .frame a{color:inherit;text-decoration:none}
.swp-boq .frame button{font-family:inherit;cursor:pointer}
.swp-boq .frame .lucide{width:16px;height:16px;stroke-width:1.75}
.swp-boq .app-scroll{height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(31,38,48,0.25) transparent}
.swp-boq .nav-full{background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-boq .nav-row1{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-6) var(--s-3);border-bottom:1px solid var(--rule-on-chrome)}
.swp-boq .nav-wm{font-family:var(--font-display);font-size:22px;color:var(--ink-on-chrome);line-height:1;display:flex;align-items:center}
.swp-boq .nav-wm .tag{color:var(--ink-on-chrome-faint);font-family:var(--font-ui);font-size:var(--t-micro);font-weight:400;margin-left:10px;padding-left:10px;border-left:1px solid var(--rule-on-chrome)}
.swp-boq .nav-utility{display:flex;gap:var(--s-4);align-items:center;font-size:var(--t-micro);color:var(--ink-on-chrome-muted)}
.swp-boq .nav-utility-search{background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:7px 11px;display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome-faint);font-size:var(--t-micro);white-space:nowrap}
.swp-boq .nav-utility-search .lucide{width:12px;height:12px}
.swp-boq .nav-utility-icon{width:32px;height:32px;border-radius:var(--r-md);background:rgba(242,235,216,0.06);border:1px solid rgba(242,235,216,0.1);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}
.swp-boq .nav-utility-icon .lucide{width:14px;height:14px;color:var(--ink-on-chrome)}
.swp-boq .nav-utility-who{display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome);font-size:var(--t-micro);white-space:nowrap}
.swp-boq .nav-utility-avatar{width:24px;height:24px;border-radius:50%;background:var(--bronze-600);color:var(--slate-800);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-boq .notif-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 4px;background:var(--bronze-600);color:var(--slate-900);font-family:var(--font-mono);font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;border-radius:99px;border:1.5px solid var(--slate-800)}
.swp-boq .nav-row2{display:flex;padding:0 var(--s-6);width:100%;justify-content:space-between;gap:2px;overflow:hidden}
.swp-boq .nav-row2 a{font-size:12px;color:var(--ink-on-chrome-muted);padding:11px 0 13px;border-bottom:2px solid transparent;display:flex;align-items:center;white-space:nowrap}
.swp-boq .nav-row2 a.on{color:var(--ink-on-chrome);border-bottom-color:var(--ledger-600);font-weight:500}
.swp-boq .navico{width:19px;height:19px;padding:3px;margin-right:6px;background:rgba(242,235,216,0.08);border-radius:4px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.swp-boq .navico .lucide{width:13px;height:13px}
.swp-boq .util-search-icon{display:none}
.swp-boq .nav-mob{display:none;background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-boq .m-top{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 10px}
.swp-boq .m-top .nav-wm{font-size:18px}
.swp-boq .m-top .mt-right{display:flex;align-items:center;gap:12px}
.swp-boq .m-search-row{padding:10px 16px 12px;background:var(--slate-700);border-top:1px solid var(--rule-on-chrome)}
.swp-boq .m-search{display:flex;align-items:center;gap:8px;background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:10px 12px;color:var(--ink-on-chrome-faint);font-size:13px}
.swp-boq .m-search .lucide{width:14px;height:14px}
.swp-boq .tabbar-mob{display:none;position:absolute;bottom:0;left:0;right:0;height:62px;background:var(--slate-800);border-top:1px solid var(--rule-on-chrome);align-items:center;justify-content:space-around;padding-bottom:2px;z-index:30}
.swp-boq .m-tab{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;color:var(--ink-on-chrome-muted);flex:1}
.swp-boq .m-tab .lucide{width:20px;height:20px}
.swp-boq .m-tab.on{color:var(--ledger-300)}
.swp-boq .sw-body{padding:var(--s-6) var(--s-8);width:100%}
.swp-boq .crumbs{display:flex;align-items:center;gap:6px;font-size:var(--t-micro);color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-boq .crumb-current{color:var(--ink-primary);font-weight:500}
.swp-boq .page-header{display:flex;flex-direction:column;gap:var(--s-3);padding-bottom:var(--s-5);margin-bottom:var(--s-5);border-bottom:1px solid var(--rule-medium)}
.swp-boq .page-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4)}
.swp-boq .page-header-title{font-size:22px;font-weight:500;letter-spacing:-0.015em;margin:0}
.swp-boq .page-header-meta{display:flex;gap:var(--s-4);font-size:var(--t-micro);color:var(--ink-secondary);margin-top:var(--s-2);flex-wrap:wrap}
.swp-boq .page-header-meta-item{display:flex;align-items:center;gap:5px}
.swp-boq .page-header-meta-item .lucide{width:12px;height:12px;opacity:0.6}
.swp-boq .btn{font-size:var(--t-small);font-weight:500;padding:9px 16px;border-radius:var(--r-md);border:1px solid transparent;display:inline-flex;align-items:center;gap:var(--s-2);line-height:1;white-space:nowrap}
.swp-boq .btn .lucide{width:14px;height:14px}
.swp-boq .frame .btn-accent, .swp-boq .frame .btn-accent .lucide{color:#fff}
.swp-boq .btn-accent{background:var(--ledger-600);border-color:var(--ledger-600)}
.swp-boq .btn-secondary{background:transparent;color:var(--ink-primary);border-color:var(--rule-strong)}
.swp-boq .btn-sm{padding:6px 12px;font-size:var(--t-micro)}
.swp-boq .pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-tiny);font-weight:500;padding:3px 9px;border-radius:var(--r-pill);border:1px solid transparent;white-space:nowrap}
.swp-boq .pill-active{background:var(--ledger-100);color:var(--ledger-800);border-color:rgba(79,111,74,0.25)}
.swp-boq .pill-warm{background:var(--bronze-100);color:var(--bronze-800);border-color:rgba(168,121,74,0.3)}
.swp-boq .pill-locked{background:var(--slate-800);color:var(--parchment-100)}
.swp-boq .pill-draft{background:rgba(31,38,48,0.06);color:var(--ink-tertiary);border-color:rgba(31,38,48,0.1)}
.swp-boq .metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}
.swp-boq .metric{background:rgba(31,38,48,0.04);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:var(--s-4)}
.swp-boq .metric-label{font-size:var(--t-micro);color:var(--ink-secondary);margin-bottom:var(--s-1);display:flex;align-items:center;gap:5px}
.swp-boq .metric-label .lucide{width:12px;height:12px;opacity:0.5}
.swp-boq .metric-value{font-family:var(--font-mono);font-size:22px;font-weight:500;line-height:1.1}
.swp-boq .alerts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.swp-boq .alert-card{border-radius:0 var(--r-lg) var(--r-lg) 0;padding:var(--s-4);display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-boq .alert-card .lucide{width:18px;height:18px;flex-shrink:0;margin-top:2px}
.swp-boq .alert-rust{background:rgba(168,74,46,0.04);border:1px solid rgba(168,74,46,0.15);border-left:4px solid var(--signal-rust)}
.swp-boq .alert-amber{background:rgba(184,133,74,0.04);border:1px solid rgba(184,133,74,0.15);border-left:4px solid var(--signal-amber)}
.swp-boq .alert-t{font-weight:600;font-size:var(--t-small);margin-bottom:2px}
.swp-boq .alert-d{font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-boq .main{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.swp-boq .card-h{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3)}
.swp-boq .card-title{font-size:var(--t-h4);font-weight:500;display:flex;align-items:center;gap:6px}
.swp-boq .card-title .lucide{width:14px;height:14px;opacity:0.45}
.swp-boq .card{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5)}
.swp-boq .wp-cards{display:none}
.swp-boq .tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--parchment-25);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-boq .tbl th{font-size:var(--t-tiny);font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:rgba(237,229,200,0.8);text-align:left;padding:11px 14px;background:var(--slate-800)}
.swp-boq .tbl th:first-child{padding-left:16px}
.swp-boq .tbl th.r{text-align:right}
.swp-boq .tbl td{font-size:var(--t-small);padding:11px 14px;border-bottom:1px solid var(--rule-soft);background:var(--parchment-25)}
.swp-boq .tbl td:first-child{padding-left:16px}
.swp-boq .tbl tr:nth-child(even) td{background:rgba(31,38,48,0.025)}
.swp-boq .tbl td.m{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-boq .tbl td.r{text-align:right}
.swp-boq .tbl tr:last-child td{border-bottom:none}
.swp-boq .col-project, .swp-boq .col-bids{display:table-cell}
.swp-boq .m-wp{display:flex;flex-direction:column;gap:9px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:13px 14px;margin-bottom:8px}
.swp-boq .m-wp-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.swp-boq .m-wp-bot{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.swp-boq .m-wp .tr{font-size:var(--t-body);font-weight:500}
.swp-boq .m-wp .meta{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-boq .m-wp .meta .id{font-family:var(--font-mono);color:var(--ink-secondary)}
.swp-boq .m-wp .val{font-family:var(--font-mono);font-size:var(--t-small);color:var(--ink-primary);white-space:nowrap}
.swp-boq .evrow{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule-soft)}
.swp-boq .evrow:last-child{border-bottom:none}
.swp-boq .evrow .av{width:24px;height:24px;border-radius:50%;color:#fff;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-boq .evrow .nm{flex:1;font-size:var(--t-small);font-weight:500}
.swp-boq .evrow .bar{width:80px;height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-boq .evrow .bar > i{display:block;height:100%;background:var(--ledger-600);border-radius:3px}
.swp-boq .evrow .ct{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);width:40px;text-align:right}
.swp-boq .ev-wrap{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-boq .activity-item{display:flex;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--rule-soft);font-size:var(--t-small)}
.swp-boq .activity-item:last-child{border-bottom:none}
.swp-boq .activity-dot{width:8px;height:8px;border-radius:50%;background:var(--ledger-600);margin-top:6px;flex-shrink:0}
.swp-boq .activity-dot.warn{background:var(--signal-amber)}
.swp-boq .activity-dot.cert{background:var(--bronze-600)}
.swp-boq .activity-time{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px}
.swp-boq .text-mono{font-family:var(--font-mono)}
.swp-boq .text-micro{font-size:var(--t-micro)}
.swp-boq .rz{position:absolute;top:0;bottom:0;width:16px;right:-8px;cursor:ew-resize;z-index:60;display:flex;align-items:center;justify-content:center}
.swp-boq .rz::before{content:"";width:4px;height:52px;border-radius:99px;background:rgba(242,235,216,0.18);transition:background .18s}
.swp-boq .rz:hover::before{background:var(--ledger-600)}
.swp-boq .page-header-actions{display:flex;gap:var(--s-2)}
.swp-boq .crumb-sep{opacity:0.5;font-size:10px}
.swp-boq .crumbs a{display:flex;align-items:center;gap:3px}
.swp-boq .crumbs a .lucide{width:11px;height:11px;opacity:0.45}
.swp-boq .frame .btn-dark, .swp-boq .frame .btn-dark .lucide{color:var(--ink-on-chrome)}
.swp-boq .btn-dark{background:var(--slate-800);border-color:var(--slate-800)}
.swp-boq .field-label{font-size:var(--t-micro);font-weight:500;margin-bottom:var(--s-1);display:block}
.swp-boq .field-input, .swp-boq .field-textarea{width:100%;padding:9px 12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);background:var(--parchment-25);color:var(--ink-primary)}
.swp-boq .field-textarea{min-height:70px;resize:vertical;display:block}
.swp-boq .field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}
.swp-boq .spicker-input{width:100%;padding:10px 12px 10px 36px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);height:40px;background:var(--parchment-25)}
.swp-boq .frame .ficon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--ink-tertiary);pointer-events:none}
.swp-boq .wz-steps{display:flex;gap:0;margin-bottom:var(--s-6);overflow:hidden}
.swp-boq .wz-step{flex:1;text-align:center;padding:13px 8px 10px;font-size:var(--t-micro);font-weight:500;color:var(--ink-tertiary);white-space:nowrap;background:rgba(31,38,48,0.03);border-bottom:3px solid var(--rule-medium);display:flex;align-items:center;justify-content:center;gap:5px}
.swp-boq .wz-step:first-child{border-radius:var(--r-md) 0 0 var(--r-md)}
.swp-boq .wz-step:last-child{border-radius:0 var(--r-md) var(--r-md) 0}
.swp-boq .wz-step:not(:last-child){border-right:1px solid var(--rule-soft)}
.swp-boq .wz-step.active{background:rgba(79,111,74,0.06);border-bottom-color:var(--ledger-600);color:var(--ink-primary)}
.swp-boq .wz-step-num{font-family:var(--font-mono);font-size:9px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--rule-medium);color:var(--ink-tertiary);flex-shrink:0}
.swp-boq .wz-step.active .wz-step-num{background:var(--ledger-600);color:#fff}
.swp-boq .wz-route-badge{font-size:8px;font-weight:600;padding:2px 6px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.04em;background:var(--ledger-100);color:var(--ledger-800)}
.swp-boq .wz-section{font-family:var(--font-mono);font-size:var(--t-tiny);text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-boq .wz-desc{font-size:var(--t-small);color:var(--ink-secondary);margin-bottom:var(--s-5);line-height:1.6}
.swp-boq .wz-nav{display:flex;justify-content:space-between;gap:var(--s-3);align-items:center;margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--rule-medium)}
.swp-boq .route-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin-top:var(--s-3)}
.swp-boq .route-option{border:2px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);background:var(--bg-elevated)}
.swp-boq .route-option.selected{border-color:var(--ledger-600);background:var(--ledger-600);color:#fff}
.swp-boq .route-option.selected .route-sub{color:rgba(255,255,255,0.7)}
.swp-boq .route-option.selected .lucide{color:#fff}
.swp-boq .route-option-head{display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-boq .route-option-head .lucide{width:16px;height:16px;margin-top:2px;flex-shrink:0;color:var(--ink-tertiary)}
.swp-boq .route-sub{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-boq .route-info{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5);margin-top:var(--s-4);border-left:3px solid var(--ledger-600)}
.swp-boq .route-info-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--s-3)}
.swp-boq .route-info-title{font-weight:600;display:flex;align-items:center;gap:var(--s-2)}
.swp-boq .route-info-title .lucide{width:16px;height:16px;color:var(--ledger-600)}
.swp-boq .route-info-badge{font-size:9px;font-weight:600;padding:2px 8px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.05em;background:var(--ledger-100);color:var(--ledger-800)}
.swp-boq .route-info-desc{font-size:var(--t-micro);color:var(--ink-secondary);line-height:1.6;margin-bottom:var(--s-4)}
.swp-boq .route-enforced{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}
.swp-boq .route-enforced-item{display:flex;align-items:center;gap:var(--s-2);font-size:var(--t-micro);padding:6px 10px;border-radius:var(--r-md);background:rgba(79,111,74,0.04)}
.swp-boq .route-enforced-item .lucide{width:12px;height:12px;color:var(--ledger-600);flex-shrink:0}
.swp-boq .m-wzbar{display:none;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:11px 14px;margin-bottom:14px}
.swp-boq .m-wzbar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.swp-boq .m-wzbar-step{font-size:var(--t-small);font-weight:600;display:flex;align-items:center;gap:7px}
.swp-boq .m-wzbar-step .n{font-family:var(--font-mono);font-size:9px;width:18px;height:18px;border-radius:50%;background:var(--ledger-600);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.swp-boq .m-wzbar-count{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary)}
.swp-boq .m-wztrack{height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-boq .m-wztrack > i{display:block;height:100%;width:12.5%;background:var(--ledger-600);border-radius:3px}
.swp-boq .wz-step.done{background:rgba(79,111,74,0.04);border-bottom-color:var(--ledger-300);color:var(--ledger-800)}
.swp-boq .wz-step.done .wz-step-num{background:var(--ledger-300);color:var(--ledger-800)}
.swp-boq .wz-step.done .wz-step-num .lucide{width:11px;height:11px}
.swp-boq .field-select{width:100%;padding:9px 32px 9px 12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);background:var(--parchment-25);color:var(--ink-primary);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234A5563' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
.swp-boq .field-hint{font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px;display:flex;align-items:center;gap:4px}
.swp-boq .field-hint .lucide{width:10px;height:10px;opacity:0.5}
.swp-boq .boq-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--s-3);margin-bottom:var(--s-5)}
.swp-boq .boq-opt{border:2px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);background:var(--bg-elevated);text-align:center}
.swp-boq .boq-opt.selected{border-color:var(--ledger-600);background:rgba(79,111,74,0.04)}
.swp-boq .boq-opt .lucide{width:26px;height:26px;margin:0 auto var(--s-2);opacity:0.4}
.swp-boq .boq-opt.selected .lucide{opacity:1;color:var(--ledger-600)}
.swp-boq .boq-opt .ol{font-weight:500;margin-bottom:3px}
.swp-boq .boq-opt .od{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-boq .boq-imported{display:flex;align-items:center;gap:8px;padding:9px 14px;background:rgba(79,111,74,0.06);border:1px solid rgba(79,111,74,0.18);border-radius:var(--r-md);font-size:var(--t-small);color:var(--ledger-800);margin-bottom:14px}
.swp-boq .boq-imported .lucide{width:14px;height:14px;color:var(--ledger-600);flex-shrink:0}
.swp-boq .boq-imported .mono{font-family:var(--font-mono);font-size:var(--t-micro)}
.swp-boq .boq-tablehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:var(--t-micro)}
.swp-boq .boq-tablehead .lbl{font-weight:500}
.swp-boq .boq-tablehead .hint{color:var(--ink-tertiary);display:flex;align-items:center;gap:4px}
.swp-boq .boq-tablehead .hint .lucide{width:10px;height:10px;opacity:0.4}
.swp-boq .boq-section-row td{background:rgba(31,38,48,0.06);border-bottom:1px solid var(--rule-medium);font-weight:600}
.swp-boq .boq-section-ref{font-family:var(--font-mono);font-size:var(--t-small);font-weight:700;color:var(--ink-primary)}
.swp-boq .boq-item-ref{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-boq .boq-drag{cursor:grab;opacity:0.3;width:14px;height:14px}
.swp-boq .boq-del{opacity:0.3;width:14px;height:14px;color:var(--signal-rust)}
.swp-boq .boq-mob{display:none}
.swp-boq .m-boqsec{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-secondary);background:rgba(31,38,48,0.06);padding:6px 12px;border-radius:var(--r-sm);margin-bottom:6px;font-weight:700;display:flex;align-items:center;gap:8px}
.swp-boq .m-boqrow{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 12px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);margin-bottom:6px}
.swp-boq .m-boqrow .l{display:flex;gap:8px;align-items:baseline;min-width:0}
.swp-boq .m-boqrow .ref{font-family:var(--font-mono);font-size:9px;color:var(--ink-tertiary);flex-shrink:0}
.swp-boq .m-boqrow .d{font-size:var(--t-small)}
.swp-boq .m-boqrow .q{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);white-space:nowrap;flex-shrink:0}
@container fr (max-width:999px){.swp-boq .sw-body{padding:var(--s-5) var(--s-6)}
.swp-boq .nav-row2{justify-content:flex-start;gap:24px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.swp-boq .nav-row2::-webkit-scrollbar{display:none}
.swp-boq .nav-row2 a{font-size:var(--t-micro);padding:10px 0 12px;flex:none}
.swp-boq .navico{margin-right:7px}
.swp-boq .tab-extra{display:flex}
.swp-boq .nav-utility-search{display:none}
.swp-boq .util-search-icon{display:flex}
.swp-boq .metrics{grid-template-columns:repeat(3,1fr)}
.swp-boq .main{grid-template-columns:1fr}
.swp-boq .col-project, .swp-boq .col-bids{display:none}
.swp-boq .wz-step{font-size:9px;padding:11px 4px 9px;gap:3px}
.swp-boq .wz-step-num{width:16px;height:16px}
.swp-boq .wz-route-badge{display:none}}
@container fr (max-width:620px){.swp-boq .nav-full{display:none}
.swp-boq .nav-mob{display:block}
.swp-boq .tabbar-mob{display:flex}
.swp-boq .sw-body{padding:16px 16px 80px}
.swp-boq .page-header{padding-bottom:var(--s-4);margin-bottom:var(--s-4)}
.swp-boq .page-header-top{flex-direction:column;gap:var(--s-3)}
.swp-boq .page-header-title{font-size:19px}
.swp-boq .metrics{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.swp-boq .alerts{grid-template-columns:1fr;gap:10px;margin-bottom:14px}
.swp-boq .wp-table{display:none}
.swp-boq .wp-cards{display:block}
.swp-boq .only-wide{display:none}
.swp-boq .card-h{margin-top:0}
.swp-boq .main{gap:14px}
.swp-boq .wz-steps{display:none}
.swp-boq .m-wzbar{display:block}
.swp-boq .field-row{grid-template-columns:1fr}
.swp-boq .route-longsub{display:none}
.swp-boq .route-info{display:none}
.swp-boq .wz-descfield{display:none}
.swp-boq .boq-fields{display:none}
.swp-boq .boq-desk{display:none}
.swp-boq .boq-mob{display:block}
.swp-boq .boq-opt .od{display:none}
.swp-boq .boq-opt{padding:10px 6px}
.swp-boq .boq-opt .lucide{width:18px;height:18px}
.swp-boq .boq-opt .ol{font-size:9px}
.swp-boq .wz-back{display:none}
.swp-boq .page-header-actions{display:none}
.swp-boq .page-header-meta{display:none}
.swp-boq .wz-nav{justify-content:flex-end}
.swp-boq .wz-nav .btn{width:100%;justify-content:center}}
/* ---- swp-certificate ---- */
.swp-certificate{--font-display:'Marcellus',Georgia,serif;--font-ui:'Inter',-apple-system,system-ui,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-pill:999px;--t-h4:16px;--t-body:14px;--t-small:13px;--t-micro:11px;--t-tiny:10px}
.swp-certificate .stage{background:#15191e;min-height:100vh;display:flex;flex-direction:column;align-items:center;font-family:var(--font-ui);padding:32px 24px 48px}
.swp-certificate .stage-h{width:100%;max-width:1360px;color:var(--parchment-100);margin-bottom:20px}
.swp-certificate .stage-h .eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--bronze-300);margin-bottom:8px}
.swp-certificate .stage-h .title{font-family:var(--font-display);font-size:26px;line-height:1.2;color:var(--parchment-50);margin-bottom:6px}
.swp-certificate .stage-h .sub{font-size:13px;color:rgba(242,235,216,0.55);line-height:1.6;max-width:720px}
.swp-certificate .toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px;justify-content:center}
.swp-certificate .seg{display:inline-flex;background:rgba(242,235,216,0.05);border:1px solid rgba(242,235,216,0.12);border-radius:var(--r-pill);padding:3px}
.swp-certificate .seg button{font-family:var(--font-ui);font-size:12px;font-weight:500;color:rgba(242,235,216,0.6);background:transparent;border:none;border-radius:var(--r-pill);padding:7px 16px;display:flex;align-items:center;gap:7px;cursor:pointer;transition:color .18s,background .18s}
.swp-certificate .seg button .lucide{width:14px;height:14px}
.swp-certificate .seg button.on{background:var(--ledger-600);color:#fff}
.swp-certificate .readout{font-family:var(--font-mono);font-size:12px;color:rgba(242,235,216,0.5);letter-spacing:0.04em;display:flex;align-items:center;gap:8px}
.swp-certificate .readout b{color:var(--parchment-100);font-weight:500}
.swp-certificate .readout .hint{color:rgba(242,235,216,0.32);font-size:11px}
.swp-certificate .stage-viewport{width:100%;display:flex;justify-content:center;align-items:flex-start;min-height:820px;overflow-x:auto;padding-bottom:8px}
.swp-certificate .stage.embed{min-height:0;background:transparent;padding:0}
.swp-certificate .stage.embed .stage-h{display:none}
.swp-certificate .stage.embed .toolbar{display:none}
.swp-certificate .stage.embed .rz{display:none}
.swp-certificate .stage.embed .stage-viewport{min-height:0;overflow:visible;display:block;padding:0}
.swp-certificate .stage.embed .device{width:100%;height:auto;transform:none}
.swp-certificate .stage.embed .frame{height:auto}
.swp-certificate .stage.embed .app-scroll{height:clamp(480px,62vh,720px);overflow-y:auto}
.swp-certificate .device{position:relative;flex-shrink:0;background:#0c0f13;border-radius:26px;padding:14px;box-shadow:0 12px 34px rgba(0,0,0,0.38),0 0 0 1px rgba(242,235,216,0.07) inset;transition:width .42s cubic-bezier(0.16,1,0.3,1),height .42s cubic-bezier(0.16,1,0.3,1),padding .42s cubic-bezier(0.16,1,0.3,1),border-radius .42s cubic-bezier(0.16,1,0.3,1),background .3s ease,box-shadow .3s ease}
.swp-certificate .device.light{background:#e7e2d4;box-shadow:0 12px 34px rgba(24,28,33,0.2),0 0 0 1px rgba(24,28,33,0.09) inset}
.swp-certificate .device.light .device-notch{background:#e7e2d4}
.swp-certificate .device.dragging{transition:none}
.swp-certificate .device.d-mobile{border-radius:42px;padding:12px}
.swp-certificate .device.d-ipad{border-radius:34px;padding:16px}
.swp-certificate .device-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:120px;height:26px;background:#0c0f13;border-radius:0 0 16px 16px;z-index:40;display:none}
.swp-certificate .device.d-mobile .device-notch{display:block}
.swp-certificate .frame{container-type:inline-size;container-name:fr;background:var(--bg-canvas);width:100%;height:100%;border-radius:12px;overflow:hidden;position:relative;color:var(--ink-primary);font-family:var(--font-ui);font-size:14px;line-height:1.6}
.swp-certificate .device.d-mobile .frame{border-radius:30px}
.swp-certificate .device.d-ipad .frame{border-radius:20px}
.swp-certificate .frame *{box-sizing:border-box}
.swp-certificate .frame a{color:inherit;text-decoration:none}
.swp-certificate .frame button{font-family:inherit;cursor:pointer}
.swp-certificate .frame .lucide{width:16px;height:16px;stroke-width:1.75}
.swp-certificate .app-scroll{height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(31,38,48,0.25) transparent}
.swp-certificate .nav-full{background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-certificate .nav-row1{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-6) var(--s-3);border-bottom:1px solid var(--rule-on-chrome)}
.swp-certificate .nav-wm{font-family:var(--font-display);font-size:22px;color:var(--ink-on-chrome);line-height:1;display:flex;align-items:center}
.swp-certificate .nav-wm .tag{color:var(--ink-on-chrome-faint);font-family:var(--font-ui);font-size:var(--t-micro);font-weight:400;margin-left:10px;padding-left:10px;border-left:1px solid var(--rule-on-chrome)}
.swp-certificate .nav-utility{display:flex;gap:var(--s-4);align-items:center;font-size:var(--t-micro);color:var(--ink-on-chrome-muted)}
.swp-certificate .nav-utility-search{background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:7px 11px;display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome-faint);font-size:var(--t-micro);white-space:nowrap}
.swp-certificate .nav-utility-search .lucide{width:12px;height:12px}
.swp-certificate .nav-utility-icon{width:32px;height:32px;border-radius:var(--r-md);background:rgba(242,235,216,0.06);border:1px solid rgba(242,235,216,0.1);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}
.swp-certificate .nav-utility-icon .lucide{width:14px;height:14px;color:var(--ink-on-chrome)}
.swp-certificate .nav-utility-who{display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome);font-size:var(--t-micro);white-space:nowrap}
.swp-certificate .nav-utility-avatar{width:24px;height:24px;border-radius:50%;background:var(--bronze-600);color:var(--slate-800);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-certificate .notif-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 4px;background:var(--bronze-600);color:var(--slate-900);font-family:var(--font-mono);font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;border-radius:99px;border:1.5px solid var(--slate-800)}
.swp-certificate .nav-row2{display:flex;padding:0 var(--s-6);width:100%;justify-content:space-between;gap:2px;overflow:hidden}
.swp-certificate .nav-row2 a{font-size:12px;color:var(--ink-on-chrome-muted);padding:11px 0 13px;border-bottom:2px solid transparent;display:flex;align-items:center;white-space:nowrap}
.swp-certificate .nav-row2 a.on{color:var(--ink-on-chrome);border-bottom-color:var(--ledger-600);font-weight:500}
.swp-certificate .navico{width:19px;height:19px;padding:3px;margin-right:6px;background:rgba(242,235,216,0.08);border-radius:4px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.swp-certificate .navico .lucide{width:13px;height:13px}
.swp-certificate .util-search-icon{display:none}
.swp-certificate .nav-mob{display:none;background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-certificate .m-top{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 10px}
.swp-certificate .m-top .nav-wm{font-size:18px}
.swp-certificate .m-top .mt-right{display:flex;align-items:center;gap:12px}
.swp-certificate .m-search-row{padding:10px 16px 12px;background:var(--slate-700);border-top:1px solid var(--rule-on-chrome)}
.swp-certificate .m-search{display:flex;align-items:center;gap:8px;background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:10px 12px;color:var(--ink-on-chrome-faint);font-size:13px}
.swp-certificate .m-search .lucide{width:14px;height:14px}
.swp-certificate .tabbar-mob{display:none;position:absolute;bottom:0;left:0;right:0;height:62px;background:var(--slate-800);border-top:1px solid var(--rule-on-chrome);align-items:center;justify-content:space-around;padding-bottom:2px;z-index:30}
.swp-certificate .m-tab{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;color:var(--ink-on-chrome-muted);flex:1}
.swp-certificate .m-tab .lucide{width:20px;height:20px}
.swp-certificate .m-tab.on{color:var(--ledger-300)}
.swp-certificate .sw-body{padding:var(--s-6) var(--s-8);width:100%}
.swp-certificate .crumbs{display:flex;align-items:center;gap:6px;font-size:var(--t-micro);color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-certificate .crumbs a{display:flex;align-items:center;gap:3px}
.swp-certificate .crumbs a .lucide{width:11px;height:11px;opacity:0.45}
.swp-certificate .crumb-sep{opacity:0.5;font-size:10px}
.swp-certificate .crumb-current{color:var(--ink-primary);font-weight:500}
.swp-certificate .page-header{display:flex;flex-direction:column;gap:var(--s-3);padding-bottom:var(--s-5);margin-bottom:var(--s-5);border-bottom:1px solid var(--rule-medium)}
.swp-certificate .page-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4)}
.swp-certificate .page-header-title{font-size:22px;font-weight:500;letter-spacing:-0.015em;margin:0}
.swp-certificate .page-header-meta{display:flex;gap:var(--s-4);font-size:var(--t-micro);color:var(--ink-secondary);margin-top:var(--s-2);flex-wrap:wrap}
.swp-certificate .page-header-meta-item{display:flex;align-items:center;gap:5px}
.swp-certificate .page-header-meta-item .lucide{width:12px;height:12px;opacity:0.6}
.swp-certificate .btn{font-size:var(--t-small);font-weight:500;padding:9px 16px;border-radius:var(--r-md);border:1px solid transparent;display:inline-flex;align-items:center;gap:var(--s-2);line-height:1;white-space:nowrap}
.swp-certificate .btn .lucide{width:14px;height:14px}
.swp-certificate .frame .btn-accent, .swp-certificate .frame .btn-accent .lucide{color:#fff}
.swp-certificate .btn-accent{background:var(--ledger-600);border-color:var(--ledger-600)}
.swp-certificate .btn-secondary{background:transparent;color:var(--ink-primary);border-color:var(--rule-strong)}
.swp-certificate .btn-sm{padding:6px 12px;font-size:var(--t-micro)}
.swp-certificate .pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-tiny);font-weight:500;padding:3px 9px;border-radius:var(--r-pill);border:1px solid transparent;white-space:nowrap}
.swp-certificate .pill-active{background:var(--ledger-100);color:var(--ledger-800);border-color:rgba(79,111,74,0.25)}
.swp-certificate .pill-warm{background:var(--bronze-100);color:var(--bronze-800);border-color:rgba(168,121,74,0.3)}
.swp-certificate .pill-locked{background:var(--slate-800);color:var(--parchment-100)}
.swp-certificate .pill-draft{background:rgba(31,38,48,0.06);color:var(--ink-tertiary);border-color:rgba(31,38,48,0.1)}
.swp-certificate .metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}
.swp-certificate .metric{background:rgba(31,38,48,0.04);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:var(--s-4)}
.swp-certificate .metric-label{font-size:var(--t-micro);color:var(--ink-secondary);margin-bottom:var(--s-1);display:flex;align-items:center;gap:5px}
.swp-certificate .metric-label .lucide{width:12px;height:12px;opacity:0.5}
.swp-certificate .metric-value{font-family:var(--font-mono);font-size:22px;font-weight:500;line-height:1.1}
.swp-certificate .alerts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.swp-certificate .alert-card{border-radius:0 var(--r-lg) var(--r-lg) 0;padding:var(--s-4);display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-certificate .alert-card .lucide{width:18px;height:18px;flex-shrink:0;margin-top:2px}
.swp-certificate .alert-rust{background:rgba(168,74,46,0.04);border:1px solid rgba(168,74,46,0.15);border-left:4px solid var(--signal-rust)}
.swp-certificate .alert-amber{background:rgba(184,133,74,0.04);border:1px solid rgba(184,133,74,0.15);border-left:4px solid var(--signal-amber)}
.swp-certificate .alert-t{font-weight:600;font-size:var(--t-small);margin-bottom:2px}
.swp-certificate .alert-d{font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-certificate .main{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.swp-certificate .card-h{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3)}
.swp-certificate .card-title{font-size:var(--t-h4);font-weight:500;display:flex;align-items:center;gap:6px}
.swp-certificate .card-title .lucide{width:14px;height:14px;opacity:0.45}
.swp-certificate .card{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5)}
.swp-certificate .wp-cards{display:none}
.swp-certificate .tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--parchment-25);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-certificate .tbl th{font-size:var(--t-tiny);font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:rgba(237,229,200,0.8);text-align:left;padding:11px 14px;background:var(--slate-800)}
.swp-certificate .tbl th:first-child{padding-left:16px}
.swp-certificate .tbl th.r{text-align:right}
.swp-certificate .tbl td{font-size:var(--t-small);padding:11px 14px;border-bottom:1px solid var(--rule-soft);background:var(--parchment-25)}
.swp-certificate .tbl td:first-child{padding-left:16px}
.swp-certificate .tbl tr:nth-child(even) td{background:rgba(31,38,48,0.025)}
.swp-certificate .tbl td.m{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-certificate .tbl td.r{text-align:right}
.swp-certificate .tbl tr:last-child td{border-bottom:none}
.swp-certificate .col-project, .swp-certificate .col-bids{display:table-cell}
.swp-certificate .m-wp{display:flex;flex-direction:column;gap:9px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:13px 14px;margin-bottom:8px}
.swp-certificate .m-wp-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.swp-certificate .m-wp-bot{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.swp-certificate .m-wp .tr{font-size:var(--t-body);font-weight:500}
.swp-certificate .m-wp .meta{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-certificate .m-wp .meta .id{font-family:var(--font-mono);color:var(--ink-secondary)}
.swp-certificate .m-wp .val{font-family:var(--font-mono);font-size:var(--t-small);color:var(--ink-primary);white-space:nowrap}
.swp-certificate .evrow{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule-soft)}
.swp-certificate .evrow:last-child{border-bottom:none}
.swp-certificate .evrow .av{width:24px;height:24px;border-radius:50%;color:#fff;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-certificate .evrow .nm{flex:1;font-size:var(--t-small);font-weight:500}
.swp-certificate .evrow .bar{width:80px;height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-certificate .evrow .bar > i{display:block;height:100%;background:var(--ledger-600);border-radius:3px}
.swp-certificate .evrow .ct{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);width:40px;text-align:right}
.swp-certificate .ev-wrap{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-certificate .activity-item{display:flex;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--rule-soft);font-size:var(--t-small)}
.swp-certificate .activity-item:last-child{border-bottom:none}
.swp-certificate .activity-dot{width:8px;height:8px;border-radius:50%;background:var(--ledger-600);margin-top:6px;flex-shrink:0}
.swp-certificate .activity-dot.warn{background:var(--signal-amber)}
.swp-certificate .activity-dot.cert{background:var(--bronze-600)}
.swp-certificate .activity-time{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px}
.swp-certificate .text-mono{font-family:var(--font-mono)}
.swp-certificate .text-micro{font-size:var(--t-micro)}
.swp-certificate .rz{position:absolute;top:0;bottom:0;width:16px;right:-8px;cursor:ew-resize;z-index:60;display:flex;align-items:center;justify-content:center}
.swp-certificate .rz::before{content:"";width:4px;height:52px;border-radius:99px;background:rgba(242,235,216,0.18);transition:background .18s}
.swp-certificate .rz:hover::before{background:var(--ledger-600)}
.swp-certificate .page-header-actions{display:flex;gap:var(--s-2)}
.swp-certificate .pic-container{display:grid;grid-template-columns:1fr 360px;gap:var(--s-6);align-items:start}
.swp-certificate .pic-card{background:#fff;border:2px solid var(--bronze-600);border-radius:var(--r-xl);padding:var(--s-6);position:relative;overflow:hidden}
.swp-certificate .pic-card::before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--bronze-600),var(--bronze-800),var(--bronze-600))}
.swp-certificate .pic-header{text-align:center;margin-bottom:var(--s-5);padding-bottom:var(--s-4);border-bottom:1px solid var(--rule-medium)}
.swp-certificate .pic-logo{font-family:var(--font-display);font-size:26px;color:var(--slate-800);margin-bottom:var(--s-1)}
.swp-certificate .pic-title{font-family:var(--font-mono);font-size:var(--t-micro);text-transform:uppercase;letter-spacing:0.1em;color:var(--bronze-600);font-weight:600}
.swp-certificate .pic-id{font-family:var(--font-mono);font-size:18px;font-weight:600;color:var(--slate-800);text-align:center;margin:var(--s-3) 0;letter-spacing:0.02em}
.swp-certificate .pic-stamp{width:112px;height:112px;border:3px solid var(--bronze-600);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:var(--s-4) auto;position:relative;transform:rotate(-8deg)}
.swp-certificate .pic-stamp::after{content:'';position:absolute;inset:4px;border:1.5px solid var(--bronze-600);border-radius:50%;opacity:0.4}
.swp-certificate .pic-stamp-text{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:0.12em;color:var(--bronze-600);font-weight:600}
.swp-certificate .pic-stamp-check{width:26px;height:26px;color:var(--bronze-600);margin:4px 0}
.swp-certificate .pic-stamp-date{font-family:var(--font-mono);font-size:8px;color:var(--bronze-800)}
.swp-certificate .pic-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin-bottom:var(--s-5)}
.swp-certificate .pic-field{padding:var(--s-2) 0;border-bottom:1px solid var(--rule-soft)}
.swp-certificate .pic-field-label{font-family:var(--font-mono);font-size:var(--t-tiny);text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-tertiary);margin-bottom:2px}
.swp-certificate .pic-field-value{font-size:var(--t-small);font-weight:500}
.swp-certificate .pic-field-value.mono{font-family:var(--font-mono);font-size:var(--t-micro)}
.swp-certificate .pic-hash-section{background:var(--slate-900);color:var(--ink-on-chrome);border-radius:var(--r-md);padding:var(--s-4);margin-bottom:var(--s-5)}
.swp-certificate .pic-hash-label{font-family:var(--font-mono);font-size:var(--t-tiny);text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-on-chrome-muted);margin-bottom:var(--s-2)}
.swp-certificate .pic-hash-value{font-family:var(--font-mono);font-size:var(--t-micro);word-break:break-all;line-height:1.8;color:var(--ledger-300)}
.swp-certificate .pic-qr{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;width:116px;margin:var(--s-4) auto 0}
.swp-certificate .pic-qr-cell{aspect-ratio:1;border-radius:1px}
.swp-certificate .pic-qr-dark{background:var(--slate-800)}
.swp-certificate .pic-qr-light{background:rgba(31,38,48,0.08)}
.swp-certificate .tier-badge{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4);background:rgba(79,111,74,0.06);border:2px solid rgba(79,111,74,0.2);border-radius:var(--r-lg);margin-bottom:var(--s-5)}
.swp-certificate .tier-icon{width:48px;height:48px;border-radius:50%;background:var(--ledger-600);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-certificate .tier-icon .lucide{width:24px;height:24px;color:#fff}
.swp-certificate .tier-label{font-family:var(--font-mono);font-size:var(--t-tiny);text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-tertiary)}
.swp-certificate .tier-name{font-size:18px;font-weight:600;color:var(--ledger-600)}
.swp-certificate .tier-desc{font-size:var(--t-micro);color:var(--ink-secondary);margin-top:2px}
.swp-certificate .verify-check{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule-soft)}
.swp-certificate .verify-check:last-child{border-bottom:none}
.swp-certificate .verify-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.swp-certificate .verify-icon.pass{background:var(--ledger-100);color:var(--ledger-600)}
.swp-certificate .verify-icon .lucide{width:12px;height:12px}
.swp-certificate .verify-label{font-size:var(--t-small);font-weight:500}
.swp-certificate .verify-detail{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-certificate .section-label{font-family:var(--font-mono);font-size:var(--t-tiny);text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-certificate .verify-card{padding:0}
@container fr (max-width:999px){.swp-certificate .sw-body{padding:var(--s-5) var(--s-6)}
.swp-certificate .nav-row2{justify-content:flex-start;gap:24px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.swp-certificate .nav-row2::-webkit-scrollbar{display:none}
.swp-certificate .nav-row2 a{font-size:var(--t-micro);padding:10px 0 12px;flex:none}
.swp-certificate .navico{margin-right:7px}
.swp-certificate .tab-extra{display:flex}
.swp-certificate .nav-utility-search{display:none}
.swp-certificate .util-search-icon{display:flex}
.swp-certificate .metrics{grid-template-columns:repeat(3,1fr)}
.swp-certificate .main{grid-template-columns:1fr}
.swp-certificate .col-project, .swp-certificate .col-bids{display:none}
.swp-certificate .pic-container{grid-template-columns:1fr 320px}}
@container fr (max-width:620px){.swp-certificate .nav-full{display:none}
.swp-certificate .nav-mob{display:block}
.swp-certificate .tabbar-mob{display:flex}
.swp-certificate .sw-body{padding:16px 16px 80px}
.swp-certificate .page-header{padding-bottom:var(--s-4);margin-bottom:var(--s-4)}
.swp-certificate .page-header-top{flex-direction:column;gap:var(--s-3)}
.swp-certificate .page-header-title{font-size:19px}
.swp-certificate .metrics{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.swp-certificate .alerts{grid-template-columns:1fr;gap:10px;margin-bottom:14px}
.swp-certificate .wp-table{display:none}
.swp-certificate .wp-cards{display:block}
.swp-certificate .only-wide{display:none}
.swp-certificate .card-h{margin-top:0}
.swp-certificate .main{gap:14px}
.swp-certificate .pic-container{grid-template-columns:1fr}
.swp-certificate .verify-col{display:none}
.swp-certificate .page-header-actions{flex-wrap:wrap}}
/* ---- swp-compliance ---- */
.swp-compliance{--font-display:'Marcellus',Georgia,serif;--font-ui:'Inter',-apple-system,system-ui,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-pill:999px;--t-h4:16px;--t-body:14px;--t-small:13px;--t-micro:11px;--t-tiny:10px}
.swp-compliance .stage{background:#15191e;min-height:100vh;display:flex;flex-direction:column;align-items:center;font-family:var(--font-ui);padding:32px 24px 48px}
.swp-compliance .stage-h{width:100%;max-width:1360px;color:var(--parchment-100);margin-bottom:20px}
.swp-compliance .stage-h .eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--bronze-300);margin-bottom:8px}
.swp-compliance .stage-h .title{font-family:var(--font-display);font-size:26px;line-height:1.2;color:var(--parchment-50);margin-bottom:6px}
.swp-compliance .stage-h .sub{font-size:13px;color:rgba(242,235,216,0.55);line-height:1.6;max-width:720px}
.swp-compliance .toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px;justify-content:center}
.swp-compliance .seg{display:inline-flex;background:rgba(242,235,216,0.05);border:1px solid rgba(242,235,216,0.12);border-radius:var(--r-pill);padding:3px}
.swp-compliance .seg button{font-family:var(--font-ui);font-size:12px;font-weight:500;color:rgba(242,235,216,0.6);background:transparent;border:none;border-radius:var(--r-pill);padding:7px 16px;display:flex;align-items:center;gap:7px;cursor:pointer;transition:color .18s,background .18s}
.swp-compliance .seg button .lucide{width:14px;height:14px}
.swp-compliance .seg button.on{background:var(--ledger-600);color:#fff}
.swp-compliance .readout{font-family:var(--font-mono);font-size:12px;color:rgba(242,235,216,0.5);letter-spacing:0.04em;display:flex;align-items:center;gap:8px}
.swp-compliance .readout b{color:var(--parchment-100);font-weight:500}
.swp-compliance .readout .hint{color:rgba(242,235,216,0.32);font-size:11px}
.swp-compliance .stage-viewport{width:100%;display:flex;justify-content:center;align-items:flex-start;min-height:820px;overflow-x:auto;padding-bottom:8px}
.swp-compliance .stage.embed{min-height:0;background:transparent;padding:0}
.swp-compliance .stage.embed .stage-h{display:none}
.swp-compliance .stage.embed .toolbar{display:none}
.swp-compliance .stage.embed .rz{display:none}
.swp-compliance .stage.embed .stage-viewport{min-height:0;overflow:visible;display:block;padding:0}
.swp-compliance .stage.embed .device{width:100%;height:auto;transform:none}
.swp-compliance .stage.embed .frame{height:auto}
.swp-compliance .stage.embed .app-scroll{height:clamp(480px,62vh,720px);overflow-y:auto}
.swp-compliance .device{position:relative;flex-shrink:0;background:#0c0f13;border-radius:26px;padding:14px;box-shadow:0 12px 34px rgba(0,0,0,0.38),0 0 0 1px rgba(242,235,216,0.07) inset;transition:width .42s cubic-bezier(0.16,1,0.3,1),height .42s cubic-bezier(0.16,1,0.3,1),padding .42s cubic-bezier(0.16,1,0.3,1),border-radius .42s cubic-bezier(0.16,1,0.3,1),background .3s ease,box-shadow .3s ease}
.swp-compliance .device.light{background:#e7e2d4;box-shadow:0 12px 34px rgba(24,28,33,0.2),0 0 0 1px rgba(24,28,33,0.09) inset}
.swp-compliance .device.light .device-notch{background:#e7e2d4}
.swp-compliance .device.dragging{transition:none}
.swp-compliance .device.d-mobile{border-radius:42px;padding:12px}
.swp-compliance .device.d-ipad{border-radius:34px;padding:16px}
.swp-compliance .device-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:120px;height:26px;background:#0c0f13;border-radius:0 0 16px 16px;z-index:40;display:none}
.swp-compliance .device.d-mobile .device-notch{display:block}
.swp-compliance .frame{container-type:inline-size;container-name:fr;background:var(--bg-canvas);width:100%;height:100%;border-radius:12px;overflow:hidden;position:relative;color:var(--ink-primary);font-family:var(--font-ui);font-size:14px;line-height:1.6}
.swp-compliance .device.d-mobile .frame{border-radius:30px}
.swp-compliance .device.d-ipad .frame{border-radius:20px}
.swp-compliance .frame *{box-sizing:border-box}
.swp-compliance .frame a{color:inherit;text-decoration:none}
.swp-compliance .frame button{font-family:inherit;cursor:pointer}
.swp-compliance .frame .lucide{width:16px;height:16px;stroke-width:1.75}
.swp-compliance .app-scroll{height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(31,38,48,0.25) transparent}
.swp-compliance .nav-full{background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-compliance .nav-row1{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-6) var(--s-3);border-bottom:1px solid var(--rule-on-chrome)}
.swp-compliance .nav-wm{font-family:var(--font-display);font-size:22px;color:var(--ink-on-chrome);line-height:1;display:flex;align-items:center}
.swp-compliance .nav-wm .tag{color:var(--ink-on-chrome-faint);font-family:var(--font-ui);font-size:var(--t-micro);font-weight:400;margin-left:10px;padding-left:10px;border-left:1px solid var(--rule-on-chrome)}
.swp-compliance .nav-utility{display:flex;gap:var(--s-4);align-items:center;font-size:var(--t-micro);color:var(--ink-on-chrome-muted)}
.swp-compliance .nav-utility-search{background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:7px 11px;display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome-faint);font-size:var(--t-micro);white-space:nowrap}
.swp-compliance .nav-utility-search .lucide{width:12px;height:12px}
.swp-compliance .nav-utility-icon{width:32px;height:32px;border-radius:var(--r-md);background:rgba(242,235,216,0.06);border:1px solid rgba(242,235,216,0.1);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}
.swp-compliance .nav-utility-icon .lucide{width:14px;height:14px;color:var(--ink-on-chrome)}
.swp-compliance .nav-utility-who{display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome);font-size:var(--t-micro);white-space:nowrap}
.swp-compliance .nav-utility-avatar{width:24px;height:24px;border-radius:50%;background:var(--bronze-600);color:var(--slate-800);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-compliance .notif-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 4px;background:var(--bronze-600);color:var(--slate-900);font-family:var(--font-mono);font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;border-radius:99px;border:1.5px solid var(--slate-800)}
.swp-compliance .nav-row2{display:flex;padding:0 var(--s-6);width:100%;justify-content:space-between;gap:2px;overflow:hidden}
.swp-compliance .nav-row2 a{font-size:12px;color:var(--ink-on-chrome-muted);padding:11px 0 13px;border-bottom:2px solid transparent;display:flex;align-items:center;white-space:nowrap}
.swp-compliance .nav-row2 a.on{color:var(--ink-on-chrome);border-bottom-color:var(--ledger-600);font-weight:500}
.swp-compliance .navico{width:19px;height:19px;padding:3px;margin-right:6px;background:rgba(242,235,216,0.08);border-radius:4px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.swp-compliance .navico .lucide{width:13px;height:13px}
.swp-compliance .util-search-icon{display:none}
.swp-compliance .nav-mob{display:none;background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-compliance .m-top{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 10px}
.swp-compliance .m-top .nav-wm{font-size:18px}
.swp-compliance .m-top .mt-right{display:flex;align-items:center;gap:12px}
.swp-compliance .m-search-row{padding:10px 16px 12px;background:var(--slate-700);border-top:1px solid var(--rule-on-chrome)}
.swp-compliance .m-search{display:flex;align-items:center;gap:8px;background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:10px 12px;color:var(--ink-on-chrome-faint);font-size:13px}
.swp-compliance .m-search .lucide{width:14px;height:14px}
.swp-compliance .tabbar-mob{display:none;position:absolute;bottom:0;left:0;right:0;height:62px;background:var(--slate-800);border-top:1px solid var(--rule-on-chrome);align-items:center;justify-content:space-around;padding-bottom:2px;z-index:30}
.swp-compliance .m-tab{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;color:var(--ink-on-chrome-muted);flex:1}
.swp-compliance .m-tab .lucide{width:20px;height:20px}
.swp-compliance .m-tab.on{color:var(--ledger-300)}
.swp-compliance .sw-body{padding:var(--s-6) var(--s-8);width:100%}
.swp-compliance .crumbs{display:flex;align-items:center;gap:6px;font-size:var(--t-micro);color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-compliance .crumbs a{display:flex;align-items:center;gap:3px}
.swp-compliance .crumbs a .lucide{width:11px;height:11px;opacity:0.45}
.swp-compliance .crumb-sep{opacity:0.5;font-size:10px}
.swp-compliance .crumb-current{color:var(--ink-primary);font-weight:500}
.swp-compliance .page-header{display:flex;flex-direction:column;gap:var(--s-3);padding-bottom:var(--s-5);margin-bottom:var(--s-5);border-bottom:1px solid var(--rule-medium)}
.swp-compliance .page-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4)}
.swp-compliance .page-header-title{font-size:22px;font-weight:500;letter-spacing:-0.015em;margin:0}
.swp-compliance .page-header-meta{display:flex;gap:var(--s-4);font-size:var(--t-micro);color:var(--ink-secondary);margin-top:var(--s-2);flex-wrap:wrap}
.swp-compliance .page-header-meta-item{display:flex;align-items:center;gap:5px}
.swp-compliance .page-header-meta-item .lucide{width:12px;height:12px;opacity:0.6}
.swp-compliance .btn{font-size:var(--t-small);font-weight:500;padding:9px 16px;border-radius:var(--r-md);border:1px solid transparent;display:inline-flex;align-items:center;gap:var(--s-2);line-height:1;white-space:nowrap}
.swp-compliance .btn .lucide{width:14px;height:14px}
.swp-compliance .frame .btn-accent, .swp-compliance .frame .btn-accent .lucide{color:#fff}
.swp-compliance .btn-accent{background:var(--ledger-600);border-color:var(--ledger-600)}
.swp-compliance .btn-secondary{background:transparent;color:var(--ink-primary);border-color:var(--rule-strong)}
.swp-compliance .btn-sm{padding:6px 12px;font-size:var(--t-micro)}
.swp-compliance .pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-tiny);font-weight:500;padding:3px 9px;border-radius:var(--r-pill);border:1px solid transparent;white-space:nowrap}
.swp-compliance .pill-active{background:var(--ledger-100);color:var(--ledger-800);border-color:rgba(79,111,74,0.25)}
.swp-compliance .pill-warm{background:var(--bronze-100);color:var(--bronze-800);border-color:rgba(168,121,74,0.3)}
.swp-compliance .pill-locked{background:var(--slate-800);color:var(--parchment-100)}
.swp-compliance .pill-draft{background:rgba(31,38,48,0.06);color:var(--ink-tertiary);border-color:rgba(31,38,48,0.1)}
.swp-compliance .metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}
.swp-compliance .metric{background:rgba(31,38,48,0.04);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:var(--s-4)}
.swp-compliance .metric-label{font-size:var(--t-micro);color:var(--ink-secondary);margin-bottom:var(--s-1);display:flex;align-items:center;gap:5px}
.swp-compliance .metric-label .lucide{width:12px;height:12px;opacity:0.5}
.swp-compliance .metric-value{font-family:var(--font-mono);font-size:22px;font-weight:500;line-height:1.1}
.swp-compliance .alerts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.swp-compliance .alert-card{border-radius:0 var(--r-lg) var(--r-lg) 0;padding:var(--s-4);display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-compliance .alert-card .lucide{width:18px;height:18px;flex-shrink:0;margin-top:2px}
.swp-compliance .alert-rust{background:rgba(168,74,46,0.04);border:1px solid rgba(168,74,46,0.15);border-left:4px solid var(--signal-rust)}
.swp-compliance .alert-amber{background:rgba(184,133,74,0.04);border:1px solid rgba(184,133,74,0.15);border-left:4px solid var(--signal-amber)}
.swp-compliance .alert-t{font-weight:600;font-size:var(--t-small);margin-bottom:2px}
.swp-compliance .alert-d{font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-compliance .main{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.swp-compliance .card-h{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3)}
.swp-compliance .card-title{font-size:var(--t-h4);font-weight:500;display:flex;align-items:center;gap:6px}
.swp-compliance .card-title .lucide{width:14px;height:14px;opacity:0.45}
.swp-compliance .card{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5)}
.swp-compliance .wp-cards{display:none}
.swp-compliance .tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--parchment-25);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-compliance .tbl th{font-size:var(--t-tiny);font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:rgba(237,229,200,0.8);text-align:left;padding:11px 14px;background:var(--slate-800)}
.swp-compliance .tbl th:first-child{padding-left:16px}
.swp-compliance .tbl th.r{text-align:right}
.swp-compliance .tbl td{font-size:var(--t-small);padding:11px 14px;border-bottom:1px solid var(--rule-soft);background:var(--parchment-25)}
.swp-compliance .tbl td:first-child{padding-left:16px}
.swp-compliance .tbl tr:nth-child(even) td{background:rgba(31,38,48,0.025)}
.swp-compliance .tbl td.m{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-compliance .tbl td.r{text-align:right}
.swp-compliance .tbl tr:last-child td{border-bottom:none}
.swp-compliance .col-project, .swp-compliance .col-bids{display:table-cell}
.swp-compliance .m-wp{display:flex;flex-direction:column;gap:9px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:13px 14px;margin-bottom:8px}
.swp-compliance .m-wp-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.swp-compliance .m-wp-bot{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.swp-compliance .m-wp .tr{font-size:var(--t-body);font-weight:500}
.swp-compliance .m-wp .meta{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-compliance .m-wp .meta .id{font-family:var(--font-mono);color:var(--ink-secondary)}
.swp-compliance .m-wp .val{font-family:var(--font-mono);font-size:var(--t-small);color:var(--ink-primary);white-space:nowrap}
.swp-compliance .evrow{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule-soft)}
.swp-compliance .evrow:last-child{border-bottom:none}
.swp-compliance .evrow .av{width:24px;height:24px;border-radius:50%;color:#fff;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-compliance .evrow .nm{flex:1;font-size:var(--t-small);font-weight:500}
.swp-compliance .evrow .bar{width:80px;height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-compliance .evrow .bar > i{display:block;height:100%;background:var(--ledger-600);border-radius:3px}
.swp-compliance .evrow .ct{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);width:40px;text-align:right}
.swp-compliance .ev-wrap{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-compliance .activity-item{display:flex;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--rule-soft);font-size:var(--t-small)}
.swp-compliance .activity-item:last-child{border-bottom:none}
.swp-compliance .activity-dot{width:8px;height:8px;border-radius:50%;background:var(--ledger-600);margin-top:6px;flex-shrink:0}
.swp-compliance .activity-dot.warn{background:var(--signal-amber)}
.swp-compliance .activity-dot.cert{background:var(--bronze-600)}
.swp-compliance .activity-time{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px}
.swp-compliance .text-mono{font-family:var(--font-mono)}
.swp-compliance .text-micro{font-size:var(--t-micro)}
.swp-compliance .rz{position:absolute;top:0;bottom:0;width:16px;right:-8px;cursor:ew-resize;z-index:60;display:flex;align-items:center;justify-content:center}
.swp-compliance .rz::before{content:"";width:4px;height:52px;border-radius:99px;background:rgba(242,235,216,0.18);transition:background .18s}
.swp-compliance .rz:hover::before{background:var(--ledger-600)}
.swp-compliance .frame .btn-ghost{background:transparent;color:var(--ink-secondary)}
.swp-compliance .btn-icon{padding:6px;width:30px;justify-content:center}
.swp-compliance .pill-rust{background:rgba(168,74,46,0.1);color:var(--signal-rust);border-color:rgba(168,74,46,0.25)}
.swp-compliance .sub-header{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-6);margin-bottom:var(--s-5)}
.swp-compliance .sub-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4);margin-bottom:var(--s-5)}
.swp-compliance .sub-idblock{display:flex;align-items:center;gap:var(--s-3)}
.swp-compliance .sub-avatar{width:56px;height:56px;border-radius:var(--r-lg);background:var(--ledger-600);color:#fff;font-size:22px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-compliance .sub-name{font-size:22px;font-weight:600;margin-bottom:2px}
.swp-compliance .sub-meta{font-size:var(--t-micro);color:var(--ink-tertiary);display:flex;gap:var(--s-4);flex-wrap:wrap;margin-top:var(--s-1)}
.swp-compliance .sub-meta-item{display:flex;align-items:center;gap:4px}
.swp-compliance .sub-meta-item .lucide{width:11px;height:11px;opacity:0.5}
.swp-compliance .sub-compblock{display:flex;align-items:center;gap:var(--s-3)}
.swp-compliance .sub-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s-3);padding-top:var(--s-4);border-top:1px solid var(--rule-soft)}
.swp-compliance .sub-stat{text-align:center}
.swp-compliance .sub-stat-val{font-family:var(--font-mono);font-size:18px;font-weight:600}
.swp-compliance .sub-stat-label{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-compliance .comp-ring{width:56px;height:56px;border-radius:50%;background:conic-gradient(var(--ledger-600) 0% 75%,var(--signal-rust) 75% 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-compliance .comp-ring-inner{width:44px;height:44px;border-radius:50%;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--t-small);font-weight:700;color:var(--signal-rust)}
.swp-compliance .detail-tabs{display:flex;gap:2px;border-bottom:2px solid var(--rule-medium);margin-bottom:var(--s-5)}
.swp-compliance .detail-tab{padding:10px 18px;font-size:var(--t-small);font-weight:500;color:var(--ink-tertiary);border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;cursor:pointer}
.swp-compliance .detail-tab.on{color:var(--ledger-600);border-bottom-color:var(--ledger-600)}
.swp-compliance .section-label{font-family:var(--font-mono);font-size:var(--t-tiny);text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-tertiary);margin-bottom:var(--s-3);margin-top:var(--s-5)}
.swp-compliance .section-label:first-child{margin-top:0}
.swp-compliance .doc-status-ok{color:var(--ledger-600);font-weight:500}
.swp-compliance .doc-status-expired{color:var(--signal-rust);font-weight:600}
.swp-compliance .days-green{color:var(--ledger-600)}
.swp-compliance .days-amber{color:var(--signal-amber)}
.swp-compliance .days-red{color:var(--signal-rust)}
.swp-compliance .comp-alert{display:flex;align-items:center;gap:10px;padding:10px 14px;background:rgba(168,74,46,0.06);border:1px solid rgba(168,74,46,0.18);border-left:3px solid var(--signal-rust);border-radius:0 var(--r-md) var(--r-md) 0;margin-bottom:16px;font-size:var(--t-small);color:var(--signal-rust)}
.swp-compliance .comp-alert .lucide{width:15px;height:15px;flex-shrink:0}
.swp-compliance .tbl .acts{display:flex;gap:4px}
.swp-compliance .m-subhead{display:none;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:12px;margin-bottom:14px;align-items:center;gap:12px}
.swp-compliance .m-subhead .sub-avatar{width:46px;height:46px;font-size:18px;border-radius:var(--r-md)}
.swp-compliance .m-subhead .nm{font-size:16px;font-weight:600}
.swp-compliance .m-subhead .mt{font-size:var(--t-micro);color:var(--ink-tertiary);margin-top:2px}
.swp-compliance .m-subhead .rdy{font-size:var(--t-micro);color:var(--ink-tertiary);margin-top:5px}
.swp-compliance .doc-mob{display:none}
.swp-compliance .m-doc{display:flex;flex-direction:column;gap:6px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:10px 14px;margin-bottom:7px}
.swp-compliance .m-doc-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.swp-compliance .m-doc .nm{font-size:var(--t-body);font-weight:500}
.swp-compliance .m-doc-bot{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.swp-compliance .m-doc .meta{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-compliance .m-doc .days{font-family:var(--font-mono);font-size:var(--t-micro)}
@container fr (max-width:999px){.swp-compliance .sw-body{padding:var(--s-5) var(--s-6)}
.swp-compliance .nav-row2{justify-content:flex-start;gap:24px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.swp-compliance .nav-row2::-webkit-scrollbar{display:none}
.swp-compliance .nav-row2 a{font-size:var(--t-micro);padding:10px 0 12px;flex:none}
.swp-compliance .navico{margin-right:7px}
.swp-compliance .tab-extra{display:flex}
.swp-compliance .nav-utility-search{display:none}
.swp-compliance .util-search-icon{display:flex}
.swp-compliance .metrics{grid-template-columns:repeat(3,1fr)}
.swp-compliance .main{grid-template-columns:1fr}
.swp-compliance .col-project, .swp-compliance .col-bids{display:none}
.swp-compliance .sub-stats{grid-template-columns:repeat(4,1fr)}
.swp-compliance .detail-tabs{overflow-x:auto;scrollbar-width:none}
.swp-compliance .detail-tabs::-webkit-scrollbar{display:none}
.swp-compliance .detail-tab{padding:10px 14px;font-size:var(--t-micro);flex:none}}
@container fr (max-width:620px){.swp-compliance .nav-full{display:none}
.swp-compliance .nav-mob{display:block}
.swp-compliance .tabbar-mob{display:flex}
.swp-compliance .sw-body{padding:16px 16px 80px}
.swp-compliance .page-header{padding-bottom:var(--s-4);margin-bottom:var(--s-4)}
.swp-compliance .page-header-top{flex-direction:column;gap:var(--s-3)}
.swp-compliance .page-header-title{font-size:19px}
.swp-compliance .metrics{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.swp-compliance .alerts{grid-template-columns:1fr;gap:10px;margin-bottom:14px}
.swp-compliance .wp-table{display:none}
.swp-compliance .wp-cards{display:block}
.swp-compliance .only-wide{display:none}
.swp-compliance .card-h{margin-top:0}
.swp-compliance .main{gap:14px}
.swp-compliance .sub-header{display:none}
.swp-compliance .m-subhead{display:flex}
.swp-compliance .doc-desk{display:none}
.swp-compliance .doc-mob{display:block}
.swp-compliance .comp-alert{display:none}
.swp-compliance .detail-tabs{overflow-x:auto;scrollbar-width:none}
.swp-compliance .detail-tabs::-webkit-scrollbar{display:none}
.swp-compliance .detail-tab{padding:8px 12px;font-size:var(--t-micro);flex:none}}
/* ---- Isolate buttons from host global.css .btn + match the Northwind button ----
   global.css styles .btn (padding:16px 32px, position:relative, overflow:hidden,
   ::before overlays, backdrop-filter). Those leak into these previews because they
   use the .btn class. Neutralise the leak and align geometry to the .nw-btn on
   Northwind (the better version). Colour variants keep the SealedWorks tokens. */
.sw-preview .btn {
  position: static;
  overflow: visible;
  transform: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition: none;
  justify-content: center;
  gap: 6px;
  font-weight: 600;
  font-size: 13px;
  line-height: 1;
  padding: 9px 14px;
  border-radius: 8px;
}
.sw-preview .btn::before, .sw-preview .btn::after { content: none; }
.sw-preview .btn-sm { padding: 6px 11px; font-size: 12px; }
.sw-preview .btn .lucide { width: 15px; height: 15px; }

/* ---- Single device frame ----
   Each preview carried its own black .device bezel (#0c0f13, 14px padding) inside
   the beige .shot-frame, so it read as two nested devices. Drop the inner black
   bezel in embed mode; the beige .shot-frame is the only device frame. */
.sw-preview .stage.embed .device {
  background: transparent;
  padding: 0;
  box-shadow: none;
  border-radius: 0;
}
.sw-preview .stage.embed .device-notch { display: none; }

/* ---- Mobile: phone-shaped preview window ----
   The embed app-scroll used a squarish fixed height (clamp 480-720px), so on a
   phone-width frame it read closer to a square than a phone. When the frame is
   phone width, size the window to roughly a 2:1 phone aspect off the frame width. */
@container fr (max-width: 480px) {
  .sw-preview .stage.embed .app-scroll { height: clamp(520px, 200cqw, 780px); }
}


/* ---- Tablet: iPad-shaped preview window ----
   Containers 481-999px wide (iPad portrait and landscape, small laptops) size the
   window off the frame width for a portrait-tablet aspect, replacing the squat
   viewport-height clamp that read as a square. */
@container fr (min-width: 461px) and (max-width: 999px) {
  .sw-preview .stage.embed .app-scroll { height: clamp(560px, 115cqw, 900px); }
}


/* ---- Tablet range (621-999px containers): certificate + compliance fixes ----
   Certificate: the 1fr 320px split crushed the certificate document at iPad
   widths - single column, side panel stacks below. Compliance: the desktop
   8-column table has no tablet form; keep it intact and let it scroll
   horizontally inside the mockup so columns and action buttons survive. */
@container fr (min-width: 621px) and (max-width: 999px) {
  .swp-certificate .pic-container { grid-template-columns: 1fr; }
  .swp-compliance .doc-desk { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
  .swp-compliance .doc-desk .tbl { min-width: 840px; }
}


/* ---- swp-compare (base cloned from swp-boq) ---- */
.swp-compare{--font-display:'Marcellus',Georgia,serif;--font-ui:'Inter',-apple-system,system-ui,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-pill:999px;--t-h4:16px;--t-body:14px;--t-small:13px;--t-micro:11px;--t-tiny:10px}
.swp-compare .stage{background:#15191e;min-height:100vh;display:flex;flex-direction:column;align-items:center;font-family:var(--font-ui);padding:32px 24px 48px}
.swp-compare .stage-h{width:100%;max-width:1360px;color:var(--parchment-100);margin-bottom:20px}
.swp-compare .stage-h .eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--bronze-300);margin-bottom:8px}
.swp-compare .stage-h .title{font-family:var(--font-display);font-size:26px;line-height:1.2;color:var(--parchment-50);margin-bottom:6px}
.swp-compare .stage-h .sub{font-size:13px;color:rgba(242,235,216,0.55);line-height:1.6;max-width:720px}
.swp-compare .toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px;justify-content:center}
.swp-compare .seg{display:inline-flex;background:rgba(242,235,216,0.05);border:1px solid rgba(242,235,216,0.12);border-radius:var(--r-pill);padding:3px}
.swp-compare .seg button{font-family:var(--font-ui);font-size:12px;font-weight:500;color:rgba(242,235,216,0.6);background:transparent;border:none;border-radius:var(--r-pill);padding:7px 16px;display:flex;align-items:center;gap:7px;cursor:pointer;transition:color .18s,background .18s}
.swp-compare .seg button .lucide{width:14px;height:14px}
.swp-compare .seg button.on{background:var(--ledger-600);color:#fff}
.swp-compare .readout{font-family:var(--font-mono);font-size:12px;color:rgba(242,235,216,0.5);letter-spacing:0.04em;display:flex;align-items:center;gap:8px}
.swp-compare .readout b{color:var(--parchment-100);font-weight:500}
.swp-compare .readout .hint{color:rgba(242,235,216,0.32);font-size:11px}
.swp-compare .stage-viewport{width:100%;display:flex;justify-content:center;align-items:flex-start;min-height:820px;overflow-x:auto;padding-bottom:8px}
.swp-compare .stage.embed{min-height:0;background:transparent;padding:0}
.swp-compare .stage.embed .stage-h{display:none}
.swp-compare .stage.embed .toolbar{display:none}
.swp-compare .stage.embed .rz{display:none}
.swp-compare .stage.embed .stage-viewport{min-height:0;overflow:visible;display:block;padding:0}
.swp-compare .stage.embed .device{width:100%;height:auto;transform:none}
.swp-compare .stage.embed .frame{height:auto}
.swp-compare .stage.embed .app-scroll{height:clamp(480px,62vh,720px);overflow-y:auto}
.swp-compare .device{position:relative;flex-shrink:0;background:#0c0f13;border-radius:26px;padding:14px;box-shadow:0 12px 34px rgba(0,0,0,0.38),0 0 0 1px rgba(242,235,216,0.07) inset;transition:width .42s cubic-bezier(0.16,1,0.3,1),height .42s cubic-bezier(0.16,1,0.3,1),padding .42s cubic-bezier(0.16,1,0.3,1),border-radius .42s cubic-bezier(0.16,1,0.3,1),background .3s ease,box-shadow .3s ease}
.swp-compare .device.light{background:#e7e2d4;box-shadow:0 12px 34px rgba(24,28,33,0.2),0 0 0 1px rgba(24,28,33,0.09) inset}
.swp-compare .device.light .device-notch{background:#e7e2d4}
.swp-compare .device.dragging{transition:none}
.swp-compare .device.d-mobile{border-radius:42px;padding:12px}
.swp-compare .device.d-ipad{border-radius:34px;padding:16px}
.swp-compare .device-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:120px;height:26px;background:#0c0f13;border-radius:0 0 16px 16px;z-index:40;display:none}
.swp-compare .device.d-mobile .device-notch{display:block}
.swp-compare .frame{container-type:inline-size;container-name:fr;background:var(--bg-canvas);width:100%;height:100%;border-radius:12px;overflow:hidden;position:relative;color:var(--ink-primary);font-family:var(--font-ui);font-size:14px;line-height:1.6}
.swp-compare .device.d-mobile .frame{border-radius:30px}
.swp-compare .device.d-ipad .frame{border-radius:20px}
.swp-compare .frame *{box-sizing:border-box}
.swp-compare .frame a{color:inherit;text-decoration:none}
.swp-compare .frame button{font-family:inherit;cursor:pointer}
.swp-compare .frame .lucide{width:16px;height:16px;stroke-width:1.75}
.swp-compare .app-scroll{height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(31,38,48,0.25) transparent}
.swp-compare .nav-full{background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-compare .nav-row1{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-6) var(--s-3);border-bottom:1px solid var(--rule-on-chrome)}
.swp-compare .nav-wm{font-family:var(--font-display);font-size:22px;color:var(--ink-on-chrome);line-height:1;display:flex;align-items:center}
.swp-compare .nav-wm .tag{color:var(--ink-on-chrome-faint);font-family:var(--font-ui);font-size:var(--t-micro);font-weight:400;margin-left:10px;padding-left:10px;border-left:1px solid var(--rule-on-chrome)}
.swp-compare .nav-utility{display:flex;gap:var(--s-4);align-items:center;font-size:var(--t-micro);color:var(--ink-on-chrome-muted)}
.swp-compare .nav-utility-search{background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:7px 11px;display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome-faint);font-size:var(--t-micro);white-space:nowrap}
.swp-compare .nav-utility-search .lucide{width:12px;height:12px}
.swp-compare .nav-utility-icon{width:32px;height:32px;border-radius:var(--r-md);background:rgba(242,235,216,0.06);border:1px solid rgba(242,235,216,0.1);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}
.swp-compare .nav-utility-icon .lucide{width:14px;height:14px;color:var(--ink-on-chrome)}
.swp-compare .nav-utility-who{display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome);font-size:var(--t-micro);white-space:nowrap}
.swp-compare .nav-utility-avatar{width:24px;height:24px;border-radius:50%;background:var(--bronze-600);color:var(--slate-800);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-compare .notif-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 4px;background:var(--bronze-600);color:var(--slate-900);font-family:var(--font-mono);font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;border-radius:99px;border:1.5px solid var(--slate-800)}
.swp-compare .nav-row2{display:flex;padding:0 var(--s-6);width:100%;justify-content:space-between;gap:2px;overflow:hidden}
.swp-compare .nav-row2 a{font-size:12px;color:var(--ink-on-chrome-muted);padding:11px 0 13px;border-bottom:2px solid transparent;display:flex;align-items:center;white-space:nowrap}
.swp-compare .nav-row2 a.on{color:var(--ink-on-chrome);border-bottom-color:var(--ledger-600);font-weight:500}
.swp-compare .navico{width:19px;height:19px;padding:3px;margin-right:6px;background:rgba(242,235,216,0.08);border-radius:4px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.swp-compare .navico .lucide{width:13px;height:13px}
.swp-compare .util-search-icon{display:none}
.swp-compare .nav-mob{display:none;background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-compare .m-top{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 10px}
.swp-compare .m-top .nav-wm{font-size:18px}
.swp-compare .m-top .mt-right{display:flex;align-items:center;gap:12px}
.swp-compare .m-search-row{padding:10px 16px 12px;background:var(--slate-700);border-top:1px solid var(--rule-on-chrome)}
.swp-compare .m-search{display:flex;align-items:center;gap:8px;background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:10px 12px;color:var(--ink-on-chrome-faint);font-size:13px}
.swp-compare .m-search .lucide{width:14px;height:14px}
.swp-compare .tabbar-mob{display:none;position:absolute;bottom:0;left:0;right:0;height:62px;background:var(--slate-800);border-top:1px solid var(--rule-on-chrome);align-items:center;justify-content:space-around;padding-bottom:2px;z-index:30}
.swp-compare .m-tab{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;color:var(--ink-on-chrome-muted);flex:1}
.swp-compare .m-tab .lucide{width:20px;height:20px}
.swp-compare .m-tab.on{color:var(--ledger-300)}
.swp-compare .sw-body{padding:var(--s-6) var(--s-8);width:100%}
.swp-compare .crumbs{display:flex;align-items:center;gap:6px;font-size:var(--t-micro);color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-compare .crumb-current{color:var(--ink-primary);font-weight:500}
.swp-compare .page-header{display:flex;flex-direction:column;gap:var(--s-3);padding-bottom:var(--s-5);margin-bottom:var(--s-5);border-bottom:1px solid var(--rule-medium)}
.swp-compare .page-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4)}
.swp-compare .page-header-title{font-size:22px;font-weight:500;letter-spacing:-0.015em;margin:0}
.swp-compare .page-header-meta{display:flex;gap:var(--s-4);font-size:var(--t-micro);color:var(--ink-secondary);margin-top:var(--s-2);flex-wrap:wrap}
.swp-compare .page-header-meta-item{display:flex;align-items:center;gap:5px}
.swp-compare .page-header-meta-item .lucide{width:12px;height:12px;opacity:0.6}
.swp-compare .btn{font-size:var(--t-small);font-weight:500;padding:9px 16px;border-radius:var(--r-md);border:1px solid transparent;display:inline-flex;align-items:center;gap:var(--s-2);line-height:1;white-space:nowrap}
.swp-compare .btn .lucide{width:14px;height:14px}
.swp-compare .frame .btn-accent, .swp-compare .frame .btn-accent .lucide{color:#fff}
.swp-compare .btn-accent{background:var(--ledger-600);border-color:var(--ledger-600)}
.swp-compare .btn-secondary{background:transparent;color:var(--ink-primary);border-color:var(--rule-strong)}
.swp-compare .btn-sm{padding:6px 12px;font-size:var(--t-micro)}
.swp-compare .pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-tiny);font-weight:500;padding:3px 9px;border-radius:var(--r-pill);border:1px solid transparent;white-space:nowrap}
.swp-compare .pill-active{background:var(--ledger-100);color:var(--ledger-800);border-color:rgba(79,111,74,0.25)}
.swp-compare .pill-warm{background:var(--bronze-100);color:var(--bronze-800);border-color:rgba(168,121,74,0.3)}
.swp-compare .pill-locked{background:var(--slate-800);color:var(--parchment-100)}
.swp-compare .pill-draft{background:rgba(31,38,48,0.06);color:var(--ink-tertiary);border-color:rgba(31,38,48,0.1)}
.swp-compare .metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}
.swp-compare .metric{background:rgba(31,38,48,0.04);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:var(--s-4)}
.swp-compare .metric-label{font-size:var(--t-micro);color:var(--ink-secondary);margin-bottom:var(--s-1);display:flex;align-items:center;gap:5px}
.swp-compare .metric-label .lucide{width:12px;height:12px;opacity:0.5}
.swp-compare .metric-value{font-family:var(--font-mono);font-size:22px;font-weight:500;line-height:1.1}
.swp-compare .alerts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.swp-compare .alert-card{border-radius:0 var(--r-lg) var(--r-lg) 0;padding:var(--s-4);display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-compare .alert-card .lucide{width:18px;height:18px;flex-shrink:0;margin-top:2px}
.swp-compare .alert-rust{background:rgba(168,74,46,0.04);border:1px solid rgba(168,74,46,0.15);border-left:4px solid var(--signal-rust)}
.swp-compare .alert-amber{background:rgba(184,133,74,0.04);border:1px solid rgba(184,133,74,0.15);border-left:4px solid var(--signal-amber)}
.swp-compare .alert-t{font-weight:600;font-size:var(--t-small);margin-bottom:2px}
.swp-compare .alert-d{font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-compare .main{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.swp-compare .card-h{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3)}
.swp-compare .card-title{font-size:var(--t-h4);font-weight:500;display:flex;align-items:center;gap:6px}
.swp-compare .card-title .lucide{width:14px;height:14px;opacity:0.45}
.swp-compare .card{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5)}
.swp-compare .wp-cards{display:none}
.swp-compare .tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--parchment-25);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-compare .tbl th{font-size:var(--t-tiny);font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:rgba(237,229,200,0.8);text-align:left;padding:11px 14px;background:var(--slate-800)}
.swp-compare .tbl th:first-child{padding-left:16px}
.swp-compare .tbl th.r{text-align:right}
.swp-compare .tbl td{font-size:var(--t-small);padding:11px 14px;border-bottom:1px solid var(--rule-soft);background:var(--parchment-25)}
.swp-compare .tbl td:first-child{padding-left:16px}
.swp-compare .tbl tr:nth-child(even) td{background:rgba(31,38,48,0.025)}
.swp-compare .tbl td.m{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-compare .tbl td.r{text-align:right}
.swp-compare .tbl tr:last-child td{border-bottom:none}
.swp-compare .col-project, .swp-compare .col-bids{display:table-cell}
.swp-compare .m-wp{display:flex;flex-direction:column;gap:9px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:13px 14px;margin-bottom:8px}
.swp-compare .m-wp-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.swp-compare .m-wp-bot{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.swp-compare .m-wp .tr{font-size:var(--t-body);font-weight:500}
.swp-compare .m-wp .meta{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-compare .m-wp .meta .id{font-family:var(--font-mono);color:var(--ink-secondary)}
.swp-compare .m-wp .val{font-family:var(--font-mono);font-size:var(--t-small);color:var(--ink-primary);white-space:nowrap}
.swp-compare .evrow{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule-soft)}
.swp-compare .evrow:last-child{border-bottom:none}
.swp-compare .evrow .av{width:24px;height:24px;border-radius:50%;color:#fff;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-compare .evrow .nm{flex:1;font-size:var(--t-small);font-weight:500}
.swp-compare .evrow .bar{width:80px;height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-compare .evrow .bar > i{display:block;height:100%;background:var(--ledger-600);border-radius:3px}
.swp-compare .evrow .ct{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);width:40px;text-align:right}
.swp-compare .ev-wrap{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-compare .activity-item{display:flex;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--rule-soft);font-size:var(--t-small)}
.swp-compare .activity-item:last-child{border-bottom:none}
.swp-compare .activity-dot{width:8px;height:8px;border-radius:50%;background:var(--ledger-600);margin-top:6px;flex-shrink:0}
.swp-compare .activity-dot.warn{background:var(--signal-amber)}
.swp-compare .activity-dot.cert{background:var(--bronze-600)}
.swp-compare .activity-time{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px}
.swp-compare .text-mono{font-family:var(--font-mono)}
.swp-compare .text-micro{font-size:var(--t-micro)}
.swp-compare .rz{position:absolute;top:0;bottom:0;width:16px;right:-8px;cursor:ew-resize;z-index:60;display:flex;align-items:center;justify-content:center}
.swp-compare .rz::before{content:"";width:4px;height:52px;border-radius:99px;background:rgba(242,235,216,0.18);transition:background .18s}
.swp-compare .rz:hover::before{background:var(--ledger-600)}
.swp-compare .page-header-actions{display:flex;gap:var(--s-2)}
.swp-compare .crumb-sep{opacity:0.5;font-size:10px}
.swp-compare .crumbs a{display:flex;align-items:center;gap:3px}
.swp-compare .crumbs a .lucide{width:11px;height:11px;opacity:0.45}
.swp-compare .frame .btn-dark, .swp-compare .frame .btn-dark .lucide{color:var(--ink-on-chrome)}
.swp-compare .btn-dark{background:var(--slate-800);border-color:var(--slate-800)}
.swp-compare .field-label{font-size:var(--t-micro);font-weight:500;margin-bottom:var(--s-1);display:block}
.swp-compare .field-input, .swp-compare .field-textarea{width:100%;padding:9px 12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);background:var(--parchment-25);color:var(--ink-primary)}
.swp-compare .field-textarea{min-height:70px;resize:vertical;display:block}
.swp-compare .field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}
.swp-compare .spicker-input{width:100%;padding:10px 12px 10px 36px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);height:40px;background:var(--parchment-25)}
.swp-compare .frame .ficon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--ink-tertiary);pointer-events:none}
.swp-compare .wz-steps{display:flex;gap:0;margin-bottom:var(--s-6);overflow:hidden}
.swp-compare .wz-step{flex:1;text-align:center;padding:13px 8px 10px;font-size:var(--t-micro);font-weight:500;color:var(--ink-tertiary);white-space:nowrap;background:rgba(31,38,48,0.03);border-bottom:3px solid var(--rule-medium);display:flex;align-items:center;justify-content:center;gap:5px}
.swp-compare .wz-step:first-child{border-radius:var(--r-md) 0 0 var(--r-md)}
.swp-compare .wz-step:last-child{border-radius:0 var(--r-md) var(--r-md) 0}
.swp-compare .wz-step:not(:last-child){border-right:1px solid var(--rule-soft)}
.swp-compare .wz-step.active{background:rgba(79,111,74,0.06);border-bottom-color:var(--ledger-600);color:var(--ink-primary)}
.swp-compare .wz-step-num{font-family:var(--font-mono);font-size:9px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--rule-medium);color:var(--ink-tertiary);flex-shrink:0}
.swp-compare .wz-step.active .wz-step-num{background:var(--ledger-600);color:#fff}
.swp-compare .wz-route-badge{font-size:8px;font-weight:600;padding:2px 6px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.04em;background:var(--ledger-100);color:var(--ledger-800)}
.swp-compare .wz-section{font-family:var(--font-mono);font-size:var(--t-tiny);text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-compare .wz-desc{font-size:var(--t-small);color:var(--ink-secondary);margin-bottom:var(--s-5);line-height:1.6}
.swp-compare .wz-nav{display:flex;justify-content:flex-end;align-items:center;margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--rule-medium)}
.swp-compare .route-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin-top:var(--s-3)}
.swp-compare .route-option{border:2px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);background:var(--bg-elevated)}
.swp-compare .route-option.selected{border-color:var(--ledger-600);background:var(--ledger-600);color:#fff}
.swp-compare .route-option.selected .route-sub{color:rgba(255,255,255,0.7)}
.swp-compare .route-option.selected .lucide{color:#fff}
.swp-compare .route-option-head{display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-compare .route-option-head .lucide{width:16px;height:16px;margin-top:2px;flex-shrink:0;color:var(--ink-tertiary)}
.swp-compare .route-sub{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-compare .route-info{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5);margin-top:var(--s-4);border-left:3px solid var(--ledger-600)}
.swp-compare .route-info-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--s-3)}
.swp-compare .route-info-title{font-weight:600;display:flex;align-items:center;gap:var(--s-2)}
.swp-compare .route-info-title .lucide{width:16px;height:16px;color:var(--ledger-600)}
.swp-compare .route-info-badge{font-size:9px;font-weight:600;padding:2px 8px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.05em;background:var(--ledger-100);color:var(--ledger-800)}
.swp-compare .route-info-desc{font-size:var(--t-micro);color:var(--ink-secondary);line-height:1.6;margin-bottom:var(--s-4)}
.swp-compare .route-enforced{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}
.swp-compare .route-enforced-item{display:flex;align-items:center;gap:var(--s-2);font-size:var(--t-micro);padding:6px 10px;border-radius:var(--r-md);background:rgba(79,111,74,0.04)}
.swp-compare .route-enforced-item .lucide{width:12px;height:12px;color:var(--ledger-600);flex-shrink:0}
.swp-compare .m-wzbar{display:none;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:11px 14px;margin-bottom:14px}
.swp-compare .m-wzbar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.swp-compare .m-wzbar-step{font-size:var(--t-small);font-weight:600;display:flex;align-items:center;gap:7px}
.swp-compare .m-wzbar-step .n{font-family:var(--font-mono);font-size:9px;width:18px;height:18px;border-radius:50%;background:var(--ledger-600);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.swp-compare .m-wzbar-count{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary)}
.swp-compare .m-wztrack{height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-compare .m-wztrack > i{display:block;height:100%;width:12.5%;background:var(--ledger-600);border-radius:3px}
.swp-compare .wz-step.done{background:rgba(79,111,74,0.04);border-bottom-color:var(--ledger-300);color:var(--ledger-800)}
.swp-compare .wz-step.done .wz-step-num{background:var(--ledger-300);color:var(--ledger-800)}
.swp-compare .wz-step.done .wz-step-num .lucide{width:11px;height:11px}
.swp-compare .field-select{width:100%;padding:9px 32px 9px 12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);background:var(--parchment-25);color:var(--ink-primary);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234A5563' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
.swp-compare .field-hint{font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px;display:flex;align-items:center;gap:4px}
.swp-compare .field-hint .lucide{width:10px;height:10px;opacity:0.5}
.swp-compare .boq-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--s-3);margin-bottom:var(--s-5)}
.swp-compare .boq-opt{border:2px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);background:var(--bg-elevated);text-align:center}
.swp-compare .boq-opt.selected{border-color:var(--ledger-600);background:rgba(79,111,74,0.04)}
.swp-compare .boq-opt .lucide{width:26px;height:26px;margin:0 auto var(--s-2);opacity:0.4}
.swp-compare .boq-opt.selected .lucide{opacity:1;color:var(--ledger-600)}
.swp-compare .boq-opt .ol{font-weight:500;margin-bottom:3px}
.swp-compare .boq-opt .od{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-compare .boq-imported{display:flex;align-items:center;gap:8px;padding:9px 14px;background:rgba(79,111,74,0.06);border:1px solid rgba(79,111,74,0.18);border-radius:var(--r-md);font-size:var(--t-small);color:var(--ledger-800);margin-bottom:14px}
.swp-compare .boq-imported .lucide{width:14px;height:14px;color:var(--ledger-600);flex-shrink:0}
.swp-compare .boq-imported .mono{font-family:var(--font-mono);font-size:var(--t-micro)}
.swp-compare .boq-tablehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:var(--t-micro)}
.swp-compare .boq-tablehead .lbl{font-weight:500}
.swp-compare .boq-tablehead .hint{color:var(--ink-tertiary);display:flex;align-items:center;gap:4px}
.swp-compare .boq-tablehead .hint .lucide{width:10px;height:10px;opacity:0.4}
.swp-compare .boq-section-row td{background:rgba(31,38,48,0.06);border-bottom:1px solid var(--rule-medium);font-weight:600}
.swp-compare .boq-section-ref{font-family:var(--font-mono);font-size:var(--t-small);font-weight:700;color:var(--ink-primary)}
.swp-compare .boq-item-ref{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-compare .boq-drag{cursor:grab;opacity:0.3;width:14px;height:14px}
.swp-compare .boq-del{opacity:0.3;width:14px;height:14px;color:var(--signal-rust)}
.swp-compare .boq-mob{display:none}
.swp-compare .m-boqsec{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-secondary);background:rgba(31,38,48,0.06);padding:6px 12px;border-radius:var(--r-sm);margin-bottom:6px;font-weight:700;display:flex;align-items:center;gap:8px}
.swp-compare .m-boqrow{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 12px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);margin-bottom:6px}
.swp-compare .m-boqrow .l{display:flex;gap:8px;align-items:baseline;min-width:0}
.swp-compare .m-boqrow .ref{font-family:var(--font-mono);font-size:9px;color:var(--ink-tertiary);flex-shrink:0}
.swp-compare .m-boqrow .d{font-size:var(--t-small)}
.swp-compare .m-boqrow .q{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);white-space:nowrap;flex-shrink:0}
@container fr (max-width:999px){.swp-compare .sw-body{padding:var(--s-5) var(--s-6)}
.swp-compare .nav-row2{justify-content:flex-start;gap:24px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.swp-compare .nav-row2::-webkit-scrollbar{display:none}
.swp-compare .nav-row2 a{font-size:var(--t-micro);padding:10px 0 12px;flex:none}
.swp-compare .navico{margin-right:7px}
.swp-compare .tab-extra{display:flex}
.swp-compare .nav-utility-search{display:none}
.swp-compare .util-search-icon{display:flex}
.swp-compare .metrics{grid-template-columns:repeat(3,1fr)}
.swp-compare .main{grid-template-columns:1fr}
.swp-compare .col-project, .swp-compare .col-bids{display:none}
.swp-compare .wz-step{font-size:9px;padding:11px 4px 9px;gap:3px}
.swp-compare .wz-step-num{width:16px;height:16px}
.swp-compare .wz-route-badge{display:none}}
@container fr (max-width:620px){.swp-compare .nav-full{display:none}
.swp-compare .nav-mob{display:block}
.swp-compare .tabbar-mob{display:flex}
.swp-compare .sw-body{padding:16px 16px 80px}
.swp-compare .page-header{padding-bottom:var(--s-4);margin-bottom:var(--s-4)}
.swp-compare .page-header-top{flex-direction:column;gap:var(--s-3)}
.swp-compare .page-header-title{font-size:19px}
.swp-compare .metrics{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.swp-compare .alerts{grid-template-columns:1fr;gap:10px;margin-bottom:14px}
.swp-compare .wp-table{display:none}
.swp-compare .wp-cards{display:block}
.swp-compare .only-wide{display:none}
.swp-compare .card-h{margin-top:0}
.swp-compare .main{gap:14px}
.swp-compare .wz-steps{display:none}
.swp-compare .m-wzbar{display:block}
.swp-compare .field-row{grid-template-columns:1fr}
.swp-compare .route-longsub{display:none}
.swp-compare .route-info{display:none}
.swp-compare .wz-descfield{display:none}
.swp-compare .boq-fields{display:none}
.swp-compare .boq-desk{display:none}
.swp-compare .boq-mob{display:block}
.swp-compare .boq-opt .od{display:none}
.swp-compare .boq-opt{padding:10px 6px}
.swp-compare .boq-opt .lucide{width:18px;height:18px}
.swp-compare .boq-opt .ol{font-size:9px}
.swp-compare .wz-back{display:none}
.swp-compare .page-header-actions{display:none}
.swp-compare .page-header-meta{display:none}
.swp-compare .wz-nav{justify-content:flex-end}
.swp-compare .wz-nav .btn{width:100%;justify-content:center}}

/* ---- swp-rounds (base cloned from swp-boq) ---- */
.swp-rounds{--font-display:'Marcellus',Georgia,serif;--font-ui:'Inter',-apple-system,system-ui,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-pill:999px;--t-h4:16px;--t-body:14px;--t-small:13px;--t-micro:11px;--t-tiny:10px}
.swp-rounds .stage{background:#15191e;min-height:100vh;display:flex;flex-direction:column;align-items:center;font-family:var(--font-ui);padding:32px 24px 48px}
.swp-rounds .stage-h{width:100%;max-width:1360px;color:var(--parchment-100);margin-bottom:20px}
.swp-rounds .stage-h .eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--bronze-300);margin-bottom:8px}
.swp-rounds .stage-h .title{font-family:var(--font-display);font-size:26px;line-height:1.2;color:var(--parchment-50);margin-bottom:6px}
.swp-rounds .stage-h .sub{font-size:13px;color:rgba(242,235,216,0.55);line-height:1.6;max-width:720px}
.swp-rounds .toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px;justify-content:center}
.swp-rounds .seg{display:inline-flex;background:rgba(242,235,216,0.05);border:1px solid rgba(242,235,216,0.12);border-radius:var(--r-pill);padding:3px}
.swp-rounds .seg button{font-family:var(--font-ui);font-size:12px;font-weight:500;color:rgba(242,235,216,0.6);background:transparent;border:none;border-radius:var(--r-pill);padding:7px 16px;display:flex;align-items:center;gap:7px;cursor:pointer;transition:color .18s,background .18s}
.swp-rounds .seg button .lucide{width:14px;height:14px}
.swp-rounds .seg button.on{background:var(--ledger-600);color:#fff}
.swp-rounds .readout{font-family:var(--font-mono);font-size:12px;color:rgba(242,235,216,0.5);letter-spacing:0.04em;display:flex;align-items:center;gap:8px}
.swp-rounds .readout b{color:var(--parchment-100);font-weight:500}
.swp-rounds .readout .hint{color:rgba(242,235,216,0.32);font-size:11px}
.swp-rounds .stage-viewport{width:100%;display:flex;justify-content:center;align-items:flex-start;min-height:820px;overflow-x:auto;padding-bottom:8px}
.swp-rounds .stage.embed{min-height:0;background:transparent;padding:0}
.swp-rounds .stage.embed .stage-h{display:none}
.swp-rounds .stage.embed .toolbar{display:none}
.swp-rounds .stage.embed .rz{display:none}
.swp-rounds .stage.embed .stage-viewport{min-height:0;overflow:visible;display:block;padding:0}
.swp-rounds .stage.embed .device{width:100%;height:auto;transform:none}
.swp-rounds .stage.embed .frame{height:auto}
.swp-rounds .stage.embed .app-scroll{height:clamp(480px,62vh,720px);overflow-y:auto}
.swp-rounds .device{position:relative;flex-shrink:0;background:#0c0f13;border-radius:26px;padding:14px;box-shadow:0 12px 34px rgba(0,0,0,0.38),0 0 0 1px rgba(242,235,216,0.07) inset;transition:width .42s cubic-bezier(0.16,1,0.3,1),height .42s cubic-bezier(0.16,1,0.3,1),padding .42s cubic-bezier(0.16,1,0.3,1),border-radius .42s cubic-bezier(0.16,1,0.3,1),background .3s ease,box-shadow .3s ease}
.swp-rounds .device.light{background:#e7e2d4;box-shadow:0 12px 34px rgba(24,28,33,0.2),0 0 0 1px rgba(24,28,33,0.09) inset}
.swp-rounds .device.light .device-notch{background:#e7e2d4}
.swp-rounds .device.dragging{transition:none}
.swp-rounds .device.d-mobile{border-radius:42px;padding:12px}
.swp-rounds .device.d-ipad{border-radius:34px;padding:16px}
.swp-rounds .device-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:120px;height:26px;background:#0c0f13;border-radius:0 0 16px 16px;z-index:40;display:none}
.swp-rounds .device.d-mobile .device-notch{display:block}
.swp-rounds .frame{container-type:inline-size;container-name:fr;background:var(--bg-canvas);width:100%;height:100%;border-radius:12px;overflow:hidden;position:relative;color:var(--ink-primary);font-family:var(--font-ui);font-size:14px;line-height:1.6}
.swp-rounds .device.d-mobile .frame{border-radius:30px}
.swp-rounds .device.d-ipad .frame{border-radius:20px}
.swp-rounds .frame *{box-sizing:border-box}
.swp-rounds .frame a{color:inherit;text-decoration:none}
.swp-rounds .frame button{font-family:inherit;cursor:pointer}
.swp-rounds .frame .lucide{width:16px;height:16px;stroke-width:1.75}
.swp-rounds .app-scroll{height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(31,38,48,0.25) transparent}
.swp-rounds .nav-full{background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-rounds .nav-row1{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-6) var(--s-3);border-bottom:1px solid var(--rule-on-chrome)}
.swp-rounds .nav-wm{font-family:var(--font-display);font-size:22px;color:var(--ink-on-chrome);line-height:1;display:flex;align-items:center}
.swp-rounds .nav-wm .tag{color:var(--ink-on-chrome-faint);font-family:var(--font-ui);font-size:var(--t-micro);font-weight:400;margin-left:10px;padding-left:10px;border-left:1px solid var(--rule-on-chrome)}
.swp-rounds .nav-utility{display:flex;gap:var(--s-4);align-items:center;font-size:var(--t-micro);color:var(--ink-on-chrome-muted)}
.swp-rounds .nav-utility-search{background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:7px 11px;display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome-faint);font-size:var(--t-micro);white-space:nowrap}
.swp-rounds .nav-utility-search .lucide{width:12px;height:12px}
.swp-rounds .nav-utility-icon{width:32px;height:32px;border-radius:var(--r-md);background:rgba(242,235,216,0.06);border:1px solid rgba(242,235,216,0.1);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}
.swp-rounds .nav-utility-icon .lucide{width:14px;height:14px;color:var(--ink-on-chrome)}
.swp-rounds .nav-utility-who{display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome);font-size:var(--t-micro);white-space:nowrap}
.swp-rounds .nav-utility-avatar{width:24px;height:24px;border-radius:50%;background:var(--bronze-600);color:var(--slate-800);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-rounds .notif-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 4px;background:var(--bronze-600);color:var(--slate-900);font-family:var(--font-mono);font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;border-radius:99px;border:1.5px solid var(--slate-800)}
.swp-rounds .nav-row2{display:flex;padding:0 var(--s-6);width:100%;justify-content:space-between;gap:2px;overflow:hidden}
.swp-rounds .nav-row2 a{font-size:12px;color:var(--ink-on-chrome-muted);padding:11px 0 13px;border-bottom:2px solid transparent;display:flex;align-items:center;white-space:nowrap}
.swp-rounds .nav-row2 a.on{color:var(--ink-on-chrome);border-bottom-color:var(--ledger-600);font-weight:500}
.swp-rounds .navico{width:19px;height:19px;padding:3px;margin-right:6px;background:rgba(242,235,216,0.08);border-radius:4px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.swp-rounds .navico .lucide{width:13px;height:13px}
.swp-rounds .util-search-icon{display:none}
.swp-rounds .nav-mob{display:none;background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-rounds .m-top{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 10px}
.swp-rounds .m-top .nav-wm{font-size:18px}
.swp-rounds .m-top .mt-right{display:flex;align-items:center;gap:12px}
.swp-rounds .m-search-row{padding:10px 16px 12px;background:var(--slate-700);border-top:1px solid var(--rule-on-chrome)}
.swp-rounds .m-search{display:flex;align-items:center;gap:8px;background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:10px 12px;color:var(--ink-on-chrome-faint);font-size:13px}
.swp-rounds .m-search .lucide{width:14px;height:14px}
.swp-rounds .tabbar-mob{display:none;position:absolute;bottom:0;left:0;right:0;height:62px;background:var(--slate-800);border-top:1px solid var(--rule-on-chrome);align-items:center;justify-content:space-around;padding-bottom:2px;z-index:30}
.swp-rounds .m-tab{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;color:var(--ink-on-chrome-muted);flex:1}
.swp-rounds .m-tab .lucide{width:20px;height:20px}
.swp-rounds .m-tab.on{color:var(--ledger-300)}
.swp-rounds .sw-body{padding:var(--s-6) var(--s-8);width:100%}
.swp-rounds .crumbs{display:flex;align-items:center;gap:6px;font-size:var(--t-micro);color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-rounds .crumb-current{color:var(--ink-primary);font-weight:500}
.swp-rounds .page-header{display:flex;flex-direction:column;gap:var(--s-3);padding-bottom:var(--s-5);margin-bottom:var(--s-5);border-bottom:1px solid var(--rule-medium)}
.swp-rounds .page-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4)}
.swp-rounds .page-header-title{font-size:22px;font-weight:500;letter-spacing:-0.015em;margin:0}
.swp-rounds .page-header-meta{display:flex;gap:var(--s-4);font-size:var(--t-micro);color:var(--ink-secondary);margin-top:var(--s-2);flex-wrap:wrap}
.swp-rounds .page-header-meta-item{display:flex;align-items:center;gap:5px}
.swp-rounds .page-header-meta-item .lucide{width:12px;height:12px;opacity:0.6}
.swp-rounds .btn{font-size:var(--t-small);font-weight:500;padding:9px 16px;border-radius:var(--r-md);border:1px solid transparent;display:inline-flex;align-items:center;gap:var(--s-2);line-height:1;white-space:nowrap}
.swp-rounds .btn .lucide{width:14px;height:14px}
.swp-rounds .frame .btn-accent, .swp-rounds .frame .btn-accent .lucide{color:#fff}
.swp-rounds .btn-accent{background:var(--ledger-600);border-color:var(--ledger-600)}
.swp-rounds .btn-secondary{background:transparent;color:var(--ink-primary);border-color:var(--rule-strong)}
.swp-rounds .btn-sm{padding:6px 12px;font-size:var(--t-micro)}
.swp-rounds .pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-tiny);font-weight:500;padding:3px 9px;border-radius:var(--r-pill);border:1px solid transparent;white-space:nowrap}
.swp-rounds .pill-active{background:var(--ledger-100);color:var(--ledger-800);border-color:rgba(79,111,74,0.25)}
.swp-rounds .pill-warm{background:var(--bronze-100);color:var(--bronze-800);border-color:rgba(168,121,74,0.3)}
.swp-rounds .pill-locked{background:var(--slate-800);color:var(--parchment-100)}
.swp-rounds .pill-draft{background:rgba(31,38,48,0.06);color:var(--ink-tertiary);border-color:rgba(31,38,48,0.1)}
.swp-rounds .metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}
.swp-rounds .metric{background:rgba(31,38,48,0.04);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:var(--s-4)}
.swp-rounds .metric-label{font-size:var(--t-micro);color:var(--ink-secondary);margin-bottom:var(--s-1);display:flex;align-items:center;gap:5px}
.swp-rounds .metric-label .lucide{width:12px;height:12px;opacity:0.5}
.swp-rounds .metric-value{font-family:var(--font-mono);font-size:22px;font-weight:500;line-height:1.1}
.swp-rounds .alerts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.swp-rounds .alert-card{border-radius:0 var(--r-lg) var(--r-lg) 0;padding:var(--s-4);display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-rounds .alert-card .lucide{width:18px;height:18px;flex-shrink:0;margin-top:2px}
.swp-rounds .alert-rust{background:rgba(168,74,46,0.04);border:1px solid rgba(168,74,46,0.15);border-left:4px solid var(--signal-rust)}
.swp-rounds .alert-amber{background:rgba(184,133,74,0.04);border:1px solid rgba(184,133,74,0.15);border-left:4px solid var(--signal-amber)}
.swp-rounds .alert-t{font-weight:600;font-size:var(--t-small);margin-bottom:2px}
.swp-rounds .alert-d{font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-rounds .main{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.swp-rounds .card-h{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3)}
.swp-rounds .card-title{font-size:var(--t-h4);font-weight:500;display:flex;align-items:center;gap:6px}
.swp-rounds .card-title .lucide{width:14px;height:14px;opacity:0.45}
.swp-rounds .card{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5)}
.swp-rounds .wp-cards{display:none}
.swp-rounds .tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--parchment-25);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-rounds .tbl th{font-size:var(--t-tiny);font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:rgba(237,229,200,0.8);text-align:left;padding:11px 14px;background:var(--slate-800)}
.swp-rounds .tbl th:first-child{padding-left:16px}
.swp-rounds .tbl th.r{text-align:right}
.swp-rounds .tbl td{font-size:var(--t-small);padding:11px 14px;border-bottom:1px solid var(--rule-soft);background:var(--parchment-25)}
.swp-rounds .tbl td:first-child{padding-left:16px}
.swp-rounds .tbl tr:nth-child(even) td{background:rgba(31,38,48,0.025)}
.swp-rounds .tbl td.m{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-rounds .tbl td.r{text-align:right}
.swp-rounds .tbl tr:last-child td{border-bottom:none}
.swp-rounds .col-project, .swp-rounds .col-bids{display:table-cell}
.swp-rounds .m-wp{display:flex;flex-direction:column;gap:9px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:13px 14px;margin-bottom:8px}
.swp-rounds .m-wp-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.swp-rounds .m-wp-bot{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.swp-rounds .m-wp .tr{font-size:var(--t-body);font-weight:500}
.swp-rounds .m-wp .meta{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-rounds .m-wp .meta .id{font-family:var(--font-mono);color:var(--ink-secondary)}
.swp-rounds .m-wp .val{font-family:var(--font-mono);font-size:var(--t-small);color:var(--ink-primary);white-space:nowrap}
.swp-rounds .evrow{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule-soft)}
.swp-rounds .evrow:last-child{border-bottom:none}
.swp-rounds .evrow .av{width:24px;height:24px;border-radius:50%;color:#fff;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-rounds .evrow .nm{flex:1;font-size:var(--t-small);font-weight:500}
.swp-rounds .evrow .bar{width:80px;height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-rounds .evrow .bar > i{display:block;height:100%;background:var(--ledger-600);border-radius:3px}
.swp-rounds .evrow .ct{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);width:40px;text-align:right}
.swp-rounds .ev-wrap{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-rounds .activity-item{display:flex;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--rule-soft);font-size:var(--t-small)}
.swp-rounds .activity-item:last-child{border-bottom:none}
.swp-rounds .activity-dot{width:8px;height:8px;border-radius:50%;background:var(--ledger-600);margin-top:6px;flex-shrink:0}
.swp-rounds .activity-dot.warn{background:var(--signal-amber)}
.swp-rounds .activity-dot.cert{background:var(--bronze-600)}
.swp-rounds .activity-time{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px}
.swp-rounds .text-mono{font-family:var(--font-mono)}
.swp-rounds .text-micro{font-size:var(--t-micro)}
.swp-rounds .rz{position:absolute;top:0;bottom:0;width:16px;right:-8px;cursor:ew-resize;z-index:60;display:flex;align-items:center;justify-content:center}
.swp-rounds .rz::before{content:"";width:4px;height:52px;border-radius:99px;background:rgba(242,235,216,0.18);transition:background .18s}
.swp-rounds .rz:hover::before{background:var(--ledger-600)}
.swp-rounds .page-header-actions{display:flex;gap:var(--s-2)}
.swp-rounds .crumb-sep{opacity:0.5;font-size:10px}
.swp-rounds .crumbs a{display:flex;align-items:center;gap:3px}
.swp-rounds .crumbs a .lucide{width:11px;height:11px;opacity:0.45}
.swp-rounds .frame .btn-dark, .swp-rounds .frame .btn-dark .lucide{color:var(--ink-on-chrome)}
.swp-rounds .btn-dark{background:var(--slate-800);border-color:var(--slate-800)}
.swp-rounds .field-label{font-size:var(--t-micro);font-weight:500;margin-bottom:var(--s-1);display:block}
.swp-rounds .field-input, .swp-rounds .field-textarea{width:100%;padding:9px 12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);background:var(--parchment-25);color:var(--ink-primary)}
.swp-rounds .field-textarea{min-height:70px;resize:vertical;display:block}
.swp-rounds .field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}
.swp-rounds .spicker-input{width:100%;padding:10px 12px 10px 36px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);height:40px;background:var(--parchment-25)}
.swp-rounds .frame .ficon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--ink-tertiary);pointer-events:none}
.swp-rounds .wz-steps{display:flex;gap:0;margin-bottom:var(--s-6);overflow:hidden}
.swp-rounds .wz-step{flex:1;text-align:center;padding:13px 8px 10px;font-size:var(--t-micro);font-weight:500;color:var(--ink-tertiary);white-space:nowrap;background:rgba(31,38,48,0.03);border-bottom:3px solid var(--rule-medium);display:flex;align-items:center;justify-content:center;gap:5px}
.swp-rounds .wz-step:first-child{border-radius:var(--r-md) 0 0 var(--r-md)}
.swp-rounds .wz-step:last-child{border-radius:0 var(--r-md) var(--r-md) 0}
.swp-rounds .wz-step:not(:last-child){border-right:1px solid var(--rule-soft)}
.swp-rounds .wz-step.active{background:rgba(79,111,74,0.06);border-bottom-color:var(--ledger-600);color:var(--ink-primary)}
.swp-rounds .wz-step-num{font-family:var(--font-mono);font-size:9px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--rule-medium);color:var(--ink-tertiary);flex-shrink:0}
.swp-rounds .wz-step.active .wz-step-num{background:var(--ledger-600);color:#fff}
.swp-rounds .wz-route-badge{font-size:8px;font-weight:600;padding:2px 6px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.04em;background:var(--ledger-100);color:var(--ledger-800)}
.swp-rounds .wz-section{font-family:var(--font-mono);font-size:var(--t-tiny);text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-rounds .wz-desc{font-size:var(--t-small);color:var(--ink-secondary);margin-bottom:var(--s-5);line-height:1.6}
.swp-rounds .wz-nav{display:flex;justify-content:flex-end;align-items:center;margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--rule-medium)}
.swp-rounds .route-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin-top:var(--s-3)}
.swp-rounds .route-option{border:2px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);background:var(--bg-elevated)}
.swp-rounds .route-option.selected{border-color:var(--ledger-600);background:var(--ledger-600);color:#fff}
.swp-rounds .route-option.selected .route-sub{color:rgba(255,255,255,0.7)}
.swp-rounds .route-option.selected .lucide{color:#fff}
.swp-rounds .route-option-head{display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-rounds .route-option-head .lucide{width:16px;height:16px;margin-top:2px;flex-shrink:0;color:var(--ink-tertiary)}
.swp-rounds .route-sub{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-rounds .route-info{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5);margin-top:var(--s-4);border-left:3px solid var(--ledger-600)}
.swp-rounds .route-info-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--s-3)}
.swp-rounds .route-info-title{font-weight:600;display:flex;align-items:center;gap:var(--s-2)}
.swp-rounds .route-info-title .lucide{width:16px;height:16px;color:var(--ledger-600)}
.swp-rounds .route-info-badge{font-size:9px;font-weight:600;padding:2px 8px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.05em;background:var(--ledger-100);color:var(--ledger-800)}
.swp-rounds .route-info-desc{font-size:var(--t-micro);color:var(--ink-secondary);line-height:1.6;margin-bottom:var(--s-4)}
.swp-rounds .route-enforced{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}
.swp-rounds .route-enforced-item{display:flex;align-items:center;gap:var(--s-2);font-size:var(--t-micro);padding:6px 10px;border-radius:var(--r-md);background:rgba(79,111,74,0.04)}
.swp-rounds .route-enforced-item .lucide{width:12px;height:12px;color:var(--ledger-600);flex-shrink:0}
.swp-rounds .m-wzbar{display:none;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:11px 14px;margin-bottom:14px}
.swp-rounds .m-wzbar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.swp-rounds .m-wzbar-step{font-size:var(--t-small);font-weight:600;display:flex;align-items:center;gap:7px}
.swp-rounds .m-wzbar-step .n{font-family:var(--font-mono);font-size:9px;width:18px;height:18px;border-radius:50%;background:var(--ledger-600);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.swp-rounds .m-wzbar-count{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary)}
.swp-rounds .m-wztrack{height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-rounds .m-wztrack > i{display:block;height:100%;width:12.5%;background:var(--ledger-600);border-radius:3px}
.swp-rounds .wz-step.done{background:rgba(79,111,74,0.04);border-bottom-color:var(--ledger-300);color:var(--ledger-800)}
.swp-rounds .wz-step.done .wz-step-num{background:var(--ledger-300);color:var(--ledger-800)}
.swp-rounds .wz-step.done .wz-step-num .lucide{width:11px;height:11px}
.swp-rounds .field-select{width:100%;padding:9px 32px 9px 12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);background:var(--parchment-25);color:var(--ink-primary);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234A5563' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
.swp-rounds .field-hint{font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px;display:flex;align-items:center;gap:4px}
.swp-rounds .field-hint .lucide{width:10px;height:10px;opacity:0.5}
.swp-rounds .boq-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--s-3);margin-bottom:var(--s-5)}
.swp-rounds .boq-opt{border:2px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);background:var(--bg-elevated);text-align:center}
.swp-rounds .boq-opt.selected{border-color:var(--ledger-600);background:rgba(79,111,74,0.04)}
.swp-rounds .boq-opt .lucide{width:26px;height:26px;margin:0 auto var(--s-2);opacity:0.4}
.swp-rounds .boq-opt.selected .lucide{opacity:1;color:var(--ledger-600)}
.swp-rounds .boq-opt .ol{font-weight:500;margin-bottom:3px}
.swp-rounds .boq-opt .od{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-rounds .boq-imported{display:flex;align-items:center;gap:8px;padding:9px 14px;background:rgba(79,111,74,0.06);border:1px solid rgba(79,111,74,0.18);border-radius:var(--r-md);font-size:var(--t-small);color:var(--ledger-800);margin-bottom:14px}
.swp-rounds .boq-imported .lucide{width:14px;height:14px;color:var(--ledger-600);flex-shrink:0}
.swp-rounds .boq-imported .mono{font-family:var(--font-mono);font-size:var(--t-micro)}
.swp-rounds .boq-tablehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:var(--t-micro)}
.swp-rounds .boq-tablehead .lbl{font-weight:500}
.swp-rounds .boq-tablehead .hint{color:var(--ink-tertiary);display:flex;align-items:center;gap:4px}
.swp-rounds .boq-tablehead .hint .lucide{width:10px;height:10px;opacity:0.4}
.swp-rounds .boq-section-row td{background:rgba(31,38,48,0.06);border-bottom:1px solid var(--rule-medium);font-weight:600}
.swp-rounds .boq-section-ref{font-family:var(--font-mono);font-size:var(--t-small);font-weight:700;color:var(--ink-primary)}
.swp-rounds .boq-item-ref{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-rounds .boq-drag{cursor:grab;opacity:0.3;width:14px;height:14px}
.swp-rounds .boq-del{opacity:0.3;width:14px;height:14px;color:var(--signal-rust)}
.swp-rounds .boq-mob{display:none}
.swp-rounds .m-boqsec{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-secondary);background:rgba(31,38,48,0.06);padding:6px 12px;border-radius:var(--r-sm);margin-bottom:6px;font-weight:700;display:flex;align-items:center;gap:8px}
.swp-rounds .m-boqrow{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 12px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);margin-bottom:6px}
.swp-rounds .m-boqrow .l{display:flex;gap:8px;align-items:baseline;min-width:0}
.swp-rounds .m-boqrow .ref{font-family:var(--font-mono);font-size:9px;color:var(--ink-tertiary);flex-shrink:0}
.swp-rounds .m-boqrow .d{font-size:var(--t-small)}
.swp-rounds .m-boqrow .q{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);white-space:nowrap;flex-shrink:0}
@container fr (max-width:999px){.swp-rounds .sw-body{padding:var(--s-5) var(--s-6)}
.swp-rounds .nav-row2{justify-content:flex-start;gap:24px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.swp-rounds .nav-row2::-webkit-scrollbar{display:none}
.swp-rounds .nav-row2 a{font-size:var(--t-micro);padding:10px 0 12px;flex:none}
.swp-rounds .navico{margin-right:7px}
.swp-rounds .tab-extra{display:flex}
.swp-rounds .nav-utility-search{display:none}
.swp-rounds .util-search-icon{display:flex}
.swp-rounds .metrics{grid-template-columns:repeat(3,1fr)}
.swp-rounds .main{grid-template-columns:1fr}
.swp-rounds .col-project, .swp-rounds .col-bids{display:none}
.swp-rounds .wz-step{font-size:9px;padding:11px 4px 9px;gap:3px}
.swp-rounds .wz-step-num{width:16px;height:16px}
.swp-rounds .wz-route-badge{display:none}}
@container fr (max-width:620px){.swp-rounds .nav-full{display:none}
.swp-rounds .nav-mob{display:block}
.swp-rounds .tabbar-mob{display:flex}
.swp-rounds .sw-body{padding:16px 16px 80px}
.swp-rounds .page-header{padding-bottom:var(--s-4);margin-bottom:var(--s-4)}
.swp-rounds .page-header-top{flex-direction:column;gap:var(--s-3)}
.swp-rounds .page-header-title{font-size:19px}
.swp-rounds .metrics{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.swp-rounds .alerts{grid-template-columns:1fr;gap:10px;margin-bottom:14px}
.swp-rounds .wp-table{display:none}
.swp-rounds .wp-cards{display:block}
.swp-rounds .only-wide{display:none}
.swp-rounds .card-h{margin-top:0}
.swp-rounds .main{gap:14px}
.swp-rounds .wz-steps{display:none}
.swp-rounds .m-wzbar{display:block}
.swp-rounds .field-row{grid-template-columns:1fr}
.swp-rounds .route-longsub{display:none}
.swp-rounds .route-info{display:none}
.swp-rounds .wz-descfield{display:none}
.swp-rounds .boq-fields{display:none}
.swp-rounds .boq-desk{display:none}
.swp-rounds .boq-mob{display:block}
.swp-rounds .boq-opt .od{display:none}
.swp-rounds .boq-opt{padding:10px 6px}
.swp-rounds .boq-opt .lucide{width:18px;height:18px}
.swp-rounds .boq-opt .ol{font-size:9px}
.swp-rounds .wz-back{display:none}
.swp-rounds .page-header-actions{display:none}
.swp-rounds .page-header-meta{display:none}
.swp-rounds .wz-nav{justify-content:flex-end}
.swp-rounds .wz-nav .btn{width:100%;justify-content:center}}

/* ---- swp-eval (base cloned from swp-boq) ---- */
.swp-eval{--font-display:'Marcellus',Georgia,serif;--font-ui:'Inter',-apple-system,system-ui,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-pill:999px;--t-h4:16px;--t-body:14px;--t-small:13px;--t-micro:11px;--t-tiny:10px}
.swp-eval .stage{background:#15191e;min-height:100vh;display:flex;flex-direction:column;align-items:center;font-family:var(--font-ui);padding:32px 24px 48px}
.swp-eval .stage-h{width:100%;max-width:1360px;color:var(--parchment-100);margin-bottom:20px}
.swp-eval .stage-h .eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--bronze-300);margin-bottom:8px}
.swp-eval .stage-h .title{font-family:var(--font-display);font-size:26px;line-height:1.2;color:var(--parchment-50);margin-bottom:6px}
.swp-eval .stage-h .sub{font-size:13px;color:rgba(242,235,216,0.55);line-height:1.6;max-width:720px}
.swp-eval .toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px;justify-content:center}
.swp-eval .seg{display:inline-flex;background:rgba(242,235,216,0.05);border:1px solid rgba(242,235,216,0.12);border-radius:var(--r-pill);padding:3px}
.swp-eval .seg button{font-family:var(--font-ui);font-size:12px;font-weight:500;color:rgba(242,235,216,0.6);background:transparent;border:none;border-radius:var(--r-pill);padding:7px 16px;display:flex;align-items:center;gap:7px;cursor:pointer;transition:color .18s,background .18s}
.swp-eval .seg button .lucide{width:14px;height:14px}
.swp-eval .seg button.on{background:var(--ledger-600);color:#fff}
.swp-eval .readout{font-family:var(--font-mono);font-size:12px;color:rgba(242,235,216,0.5);letter-spacing:0.04em;display:flex;align-items:center;gap:8px}
.swp-eval .readout b{color:var(--parchment-100);font-weight:500}
.swp-eval .readout .hint{color:rgba(242,235,216,0.32);font-size:11px}
.swp-eval .stage-viewport{width:100%;display:flex;justify-content:center;align-items:flex-start;min-height:820px;overflow-x:auto;padding-bottom:8px}
.swp-eval .stage.embed{min-height:0;background:transparent;padding:0}
.swp-eval .stage.embed .stage-h{display:none}
.swp-eval .stage.embed .toolbar{display:none}
.swp-eval .stage.embed .rz{display:none}
.swp-eval .stage.embed .stage-viewport{min-height:0;overflow:visible;display:block;padding:0}
.swp-eval .stage.embed .device{width:100%;height:auto;transform:none}
.swp-eval .stage.embed .frame{height:auto}
.swp-eval .stage.embed .app-scroll{height:clamp(480px,62vh,720px);overflow-y:auto}
.swp-eval .device{position:relative;flex-shrink:0;background:#0c0f13;border-radius:26px;padding:14px;box-shadow:0 12px 34px rgba(0,0,0,0.38),0 0 0 1px rgba(242,235,216,0.07) inset;transition:width .42s cubic-bezier(0.16,1,0.3,1),height .42s cubic-bezier(0.16,1,0.3,1),padding .42s cubic-bezier(0.16,1,0.3,1),border-radius .42s cubic-bezier(0.16,1,0.3,1),background .3s ease,box-shadow .3s ease}
.swp-eval .device.light{background:#e7e2d4;box-shadow:0 12px 34px rgba(24,28,33,0.2),0 0 0 1px rgba(24,28,33,0.09) inset}
.swp-eval .device.light .device-notch{background:#e7e2d4}
.swp-eval .device.dragging{transition:none}
.swp-eval .device.d-mobile{border-radius:42px;padding:12px}
.swp-eval .device.d-ipad{border-radius:34px;padding:16px}
.swp-eval .device-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:120px;height:26px;background:#0c0f13;border-radius:0 0 16px 16px;z-index:40;display:none}
.swp-eval .device.d-mobile .device-notch{display:block}
.swp-eval .frame{container-type:inline-size;container-name:fr;background:var(--bg-canvas);width:100%;height:100%;border-radius:12px;overflow:hidden;position:relative;color:var(--ink-primary);font-family:var(--font-ui);font-size:14px;line-height:1.6}
.swp-eval .device.d-mobile .frame{border-radius:30px}
.swp-eval .device.d-ipad .frame{border-radius:20px}
.swp-eval .frame *{box-sizing:border-box}
.swp-eval .frame a{color:inherit;text-decoration:none}
.swp-eval .frame button{font-family:inherit;cursor:pointer}
.swp-eval .frame .lucide{width:16px;height:16px;stroke-width:1.75}
.swp-eval .app-scroll{height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(31,38,48,0.25) transparent}
.swp-eval .nav-full{background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-eval .nav-row1{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-6) var(--s-3);border-bottom:1px solid var(--rule-on-chrome)}
.swp-eval .nav-wm{font-family:var(--font-display);font-size:22px;color:var(--ink-on-chrome);line-height:1;display:flex;align-items:center}
.swp-eval .nav-wm .tag{color:var(--ink-on-chrome-faint);font-family:var(--font-ui);font-size:var(--t-micro);font-weight:400;margin-left:10px;padding-left:10px;border-left:1px solid var(--rule-on-chrome)}
.swp-eval .nav-utility{display:flex;gap:var(--s-4);align-items:center;font-size:var(--t-micro);color:var(--ink-on-chrome-muted)}
.swp-eval .nav-utility-search{background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:7px 11px;display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome-faint);font-size:var(--t-micro);white-space:nowrap}
.swp-eval .nav-utility-search .lucide{width:12px;height:12px}
.swp-eval .nav-utility-icon{width:32px;height:32px;border-radius:var(--r-md);background:rgba(242,235,216,0.06);border:1px solid rgba(242,235,216,0.1);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}
.swp-eval .nav-utility-icon .lucide{width:14px;height:14px;color:var(--ink-on-chrome)}
.swp-eval .nav-utility-who{display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome);font-size:var(--t-micro);white-space:nowrap}
.swp-eval .nav-utility-avatar{width:24px;height:24px;border-radius:50%;background:var(--bronze-600);color:var(--slate-800);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-eval .notif-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 4px;background:var(--bronze-600);color:var(--slate-900);font-family:var(--font-mono);font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;border-radius:99px;border:1.5px solid var(--slate-800)}
.swp-eval .nav-row2{display:flex;padding:0 var(--s-6);width:100%;justify-content:space-between;gap:2px;overflow:hidden}
.swp-eval .nav-row2 a{font-size:12px;color:var(--ink-on-chrome-muted);padding:11px 0 13px;border-bottom:2px solid transparent;display:flex;align-items:center;white-space:nowrap}
.swp-eval .nav-row2 a.on{color:var(--ink-on-chrome);border-bottom-color:var(--ledger-600);font-weight:500}
.swp-eval .navico{width:19px;height:19px;padding:3px;margin-right:6px;background:rgba(242,235,216,0.08);border-radius:4px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.swp-eval .navico .lucide{width:13px;height:13px}
.swp-eval .util-search-icon{display:none}
.swp-eval .nav-mob{display:none;background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-eval .m-top{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 10px}
.swp-eval .m-top .nav-wm{font-size:18px}
.swp-eval .m-top .mt-right{display:flex;align-items:center;gap:12px}
.swp-eval .m-search-row{padding:10px 16px 12px;background:var(--slate-700);border-top:1px solid var(--rule-on-chrome)}
.swp-eval .m-search{display:flex;align-items:center;gap:8px;background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:10px 12px;color:var(--ink-on-chrome-faint);font-size:13px}
.swp-eval .m-search .lucide{width:14px;height:14px}
.swp-eval .tabbar-mob{display:none;position:absolute;bottom:0;left:0;right:0;height:62px;background:var(--slate-800);border-top:1px solid var(--rule-on-chrome);align-items:center;justify-content:space-around;padding-bottom:2px;z-index:30}
.swp-eval .m-tab{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;color:var(--ink-on-chrome-muted);flex:1}
.swp-eval .m-tab .lucide{width:20px;height:20px}
.swp-eval .m-tab.on{color:var(--ledger-300)}
.swp-eval .sw-body{padding:var(--s-6) var(--s-8);width:100%}
.swp-eval .crumbs{display:flex;align-items:center;gap:6px;font-size:var(--t-micro);color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-eval .crumb-current{color:var(--ink-primary);font-weight:500}
.swp-eval .page-header{display:flex;flex-direction:column;gap:var(--s-3);padding-bottom:var(--s-5);margin-bottom:var(--s-5);border-bottom:1px solid var(--rule-medium)}
.swp-eval .page-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4)}
.swp-eval .page-header-title{font-size:22px;font-weight:500;letter-spacing:-0.015em;margin:0}
.swp-eval .page-header-meta{display:flex;gap:var(--s-4);font-size:var(--t-micro);color:var(--ink-secondary);margin-top:var(--s-2);flex-wrap:wrap}
.swp-eval .page-header-meta-item{display:flex;align-items:center;gap:5px}
.swp-eval .page-header-meta-item .lucide{width:12px;height:12px;opacity:0.6}
.swp-eval .btn{font-size:var(--t-small);font-weight:500;padding:9px 16px;border-radius:var(--r-md);border:1px solid transparent;display:inline-flex;align-items:center;gap:var(--s-2);line-height:1;white-space:nowrap}
.swp-eval .btn .lucide{width:14px;height:14px}
.swp-eval .frame .btn-accent, .swp-eval .frame .btn-accent .lucide{color:#fff}
.swp-eval .btn-accent{background:var(--ledger-600);border-color:var(--ledger-600)}
.swp-eval .btn-secondary{background:transparent;color:var(--ink-primary);border-color:var(--rule-strong)}
.swp-eval .btn-sm{padding:6px 12px;font-size:var(--t-micro)}
.swp-eval .pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-tiny);font-weight:500;padding:3px 9px;border-radius:var(--r-pill);border:1px solid transparent;white-space:nowrap}
.swp-eval .pill-active{background:var(--ledger-100);color:var(--ledger-800);border-color:rgba(79,111,74,0.25)}
.swp-eval .pill-warm{background:var(--bronze-100);color:var(--bronze-800);border-color:rgba(168,121,74,0.3)}
.swp-eval .pill-locked{background:var(--slate-800);color:var(--parchment-100)}
.swp-eval .pill-draft{background:rgba(31,38,48,0.06);color:var(--ink-tertiary);border-color:rgba(31,38,48,0.1)}
.swp-eval .metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}
.swp-eval .metric{background:rgba(31,38,48,0.04);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:var(--s-4)}
.swp-eval .metric-label{font-size:var(--t-micro);color:var(--ink-secondary);margin-bottom:var(--s-1);display:flex;align-items:center;gap:5px}
.swp-eval .metric-label .lucide{width:12px;height:12px;opacity:0.5}
.swp-eval .metric-value{font-family:var(--font-mono);font-size:22px;font-weight:500;line-height:1.1}
.swp-eval .alerts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.swp-eval .alert-card{border-radius:0 var(--r-lg) var(--r-lg) 0;padding:var(--s-4);display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-eval .alert-card .lucide{width:18px;height:18px;flex-shrink:0;margin-top:2px}
.swp-eval .alert-rust{background:rgba(168,74,46,0.04);border:1px solid rgba(168,74,46,0.15);border-left:4px solid var(--signal-rust)}
.swp-eval .alert-amber{background:rgba(184,133,74,0.04);border:1px solid rgba(184,133,74,0.15);border-left:4px solid var(--signal-amber)}
.swp-eval .alert-t{font-weight:600;font-size:var(--t-small);margin-bottom:2px}
.swp-eval .alert-d{font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-eval .main{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.swp-eval .card-h{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3)}
.swp-eval .card-title{font-size:var(--t-h4);font-weight:500;display:flex;align-items:center;gap:6px}
.swp-eval .card-title .lucide{width:14px;height:14px;opacity:0.45}
.swp-eval .card{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5)}
.swp-eval .wp-cards{display:none}
.swp-eval .tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--parchment-25);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-eval .tbl th{font-size:var(--t-tiny);font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:rgba(237,229,200,0.8);text-align:left;padding:11px 14px;background:var(--slate-800)}
.swp-eval .tbl th:first-child{padding-left:16px}
.swp-eval .tbl th.r{text-align:right}
.swp-eval .tbl td{font-size:var(--t-small);padding:11px 14px;border-bottom:1px solid var(--rule-soft);background:var(--parchment-25)}
.swp-eval .tbl td:first-child{padding-left:16px}
.swp-eval .tbl tr:nth-child(even) td{background:rgba(31,38,48,0.025)}
.swp-eval .tbl td.m{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-eval .tbl td.r{text-align:right}
.swp-eval .tbl tr:last-child td{border-bottom:none}
.swp-eval .col-project, .swp-eval .col-bids{display:table-cell}
.swp-eval .m-wp{display:flex;flex-direction:column;gap:9px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:13px 14px;margin-bottom:8px}
.swp-eval .m-wp-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.swp-eval .m-wp-bot{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.swp-eval .m-wp .tr{font-size:var(--t-body);font-weight:500}
.swp-eval .m-wp .meta{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-eval .m-wp .meta .id{font-family:var(--font-mono);color:var(--ink-secondary)}
.swp-eval .m-wp .val{font-family:var(--font-mono);font-size:var(--t-small);color:var(--ink-primary);white-space:nowrap}
.swp-eval .evrow{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule-soft)}
.swp-eval .evrow:last-child{border-bottom:none}
.swp-eval .evrow .av{width:24px;height:24px;border-radius:50%;color:#fff;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-eval .evrow .nm{flex:1;font-size:var(--t-small);font-weight:500}
.swp-eval .evrow .bar{width:80px;height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-eval .evrow .bar > i{display:block;height:100%;background:var(--ledger-600);border-radius:3px}
.swp-eval .evrow .ct{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);width:40px;text-align:right}
.swp-eval .ev-wrap{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-eval .activity-item{display:flex;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--rule-soft);font-size:var(--t-small)}
.swp-eval .activity-item:last-child{border-bottom:none}
.swp-eval .activity-dot{width:8px;height:8px;border-radius:50%;background:var(--ledger-600);margin-top:6px;flex-shrink:0}
.swp-eval .activity-dot.warn{background:var(--signal-amber)}
.swp-eval .activity-dot.cert{background:var(--bronze-600)}
.swp-eval .activity-time{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px}
.swp-eval .text-mono{font-family:var(--font-mono)}
.swp-eval .text-micro{font-size:var(--t-micro)}
.swp-eval .rz{position:absolute;top:0;bottom:0;width:16px;right:-8px;cursor:ew-resize;z-index:60;display:flex;align-items:center;justify-content:center}
.swp-eval .rz::before{content:"";width:4px;height:52px;border-radius:99px;background:rgba(242,235,216,0.18);transition:background .18s}
.swp-eval .rz:hover::before{background:var(--ledger-600)}
.swp-eval .page-header-actions{display:flex;gap:var(--s-2)}
.swp-eval .crumb-sep{opacity:0.5;font-size:10px}
.swp-eval .crumbs a{display:flex;align-items:center;gap:3px}
.swp-eval .crumbs a .lucide{width:11px;height:11px;opacity:0.45}
.swp-eval .frame .btn-dark, .swp-eval .frame .btn-dark .lucide{color:var(--ink-on-chrome)}
.swp-eval .btn-dark{background:var(--slate-800);border-color:var(--slate-800)}
.swp-eval .field-label{font-size:var(--t-micro);font-weight:500;margin-bottom:var(--s-1);display:block}
.swp-eval .field-input, .swp-eval .field-textarea{width:100%;padding:9px 12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);background:var(--parchment-25);color:var(--ink-primary)}
.swp-eval .field-textarea{min-height:70px;resize:vertical;display:block}
.swp-eval .field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}
.swp-eval .spicker-input{width:100%;padding:10px 12px 10px 36px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);height:40px;background:var(--parchment-25)}
.swp-eval .frame .ficon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--ink-tertiary);pointer-events:none}
.swp-eval .wz-steps{display:flex;gap:0;margin-bottom:var(--s-6);overflow:hidden}
.swp-eval .wz-step{flex:1;text-align:center;padding:13px 8px 10px;font-size:var(--t-micro);font-weight:500;color:var(--ink-tertiary);white-space:nowrap;background:rgba(31,38,48,0.03);border-bottom:3px solid var(--rule-medium);display:flex;align-items:center;justify-content:center;gap:5px}
.swp-eval .wz-step:first-child{border-radius:var(--r-md) 0 0 var(--r-md)}
.swp-eval .wz-step:last-child{border-radius:0 var(--r-md) var(--r-md) 0}
.swp-eval .wz-step:not(:last-child){border-right:1px solid var(--rule-soft)}
.swp-eval .wz-step.active{background:rgba(79,111,74,0.06);border-bottom-color:var(--ledger-600);color:var(--ink-primary)}
.swp-eval .wz-step-num{font-family:var(--font-mono);font-size:9px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--rule-medium);color:var(--ink-tertiary);flex-shrink:0}
.swp-eval .wz-step.active .wz-step-num{background:var(--ledger-600);color:#fff}
.swp-eval .wz-route-badge{font-size:8px;font-weight:600;padding:2px 6px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.04em;background:var(--ledger-100);color:var(--ledger-800)}
.swp-eval .wz-section{font-family:var(--font-mono);font-size:var(--t-tiny);text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-eval .wz-desc{font-size:var(--t-small);color:var(--ink-secondary);margin-bottom:var(--s-5);line-height:1.6}
.swp-eval .wz-nav{display:flex;justify-content:flex-end;align-items:center;margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--rule-medium)}
.swp-eval .route-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin-top:var(--s-3)}
.swp-eval .route-option{border:2px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);background:var(--bg-elevated)}
.swp-eval .route-option.selected{border-color:var(--ledger-600);background:var(--ledger-600);color:#fff}
.swp-eval .route-option.selected .route-sub{color:rgba(255,255,255,0.7)}
.swp-eval .route-option.selected .lucide{color:#fff}
.swp-eval .route-option-head{display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-eval .route-option-head .lucide{width:16px;height:16px;margin-top:2px;flex-shrink:0;color:var(--ink-tertiary)}
.swp-eval .route-sub{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-eval .route-info{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5);margin-top:var(--s-4);border-left:3px solid var(--ledger-600)}
.swp-eval .route-info-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--s-3)}
.swp-eval .route-info-title{font-weight:600;display:flex;align-items:center;gap:var(--s-2)}
.swp-eval .route-info-title .lucide{width:16px;height:16px;color:var(--ledger-600)}
.swp-eval .route-info-badge{font-size:9px;font-weight:600;padding:2px 8px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.05em;background:var(--ledger-100);color:var(--ledger-800)}
.swp-eval .route-info-desc{font-size:var(--t-micro);color:var(--ink-secondary);line-height:1.6;margin-bottom:var(--s-4)}
.swp-eval .route-enforced{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}
.swp-eval .route-enforced-item{display:flex;align-items:center;gap:var(--s-2);font-size:var(--t-micro);padding:6px 10px;border-radius:var(--r-md);background:rgba(79,111,74,0.04)}
.swp-eval .route-enforced-item .lucide{width:12px;height:12px;color:var(--ledger-600);flex-shrink:0}
.swp-eval .m-wzbar{display:none;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:11px 14px;margin-bottom:14px}
.swp-eval .m-wzbar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.swp-eval .m-wzbar-step{font-size:var(--t-small);font-weight:600;display:flex;align-items:center;gap:7px}
.swp-eval .m-wzbar-step .n{font-family:var(--font-mono);font-size:9px;width:18px;height:18px;border-radius:50%;background:var(--ledger-600);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.swp-eval .m-wzbar-count{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary)}
.swp-eval .m-wztrack{height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-eval .m-wztrack > i{display:block;height:100%;width:12.5%;background:var(--ledger-600);border-radius:3px}
.swp-eval .wz-step.done{background:rgba(79,111,74,0.04);border-bottom-color:var(--ledger-300);color:var(--ledger-800)}
.swp-eval .wz-step.done .wz-step-num{background:var(--ledger-300);color:var(--ledger-800)}
.swp-eval .wz-step.done .wz-step-num .lucide{width:11px;height:11px}
.swp-eval .field-select{width:100%;padding:9px 32px 9px 12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);background:var(--parchment-25);color:var(--ink-primary);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234A5563' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
.swp-eval .field-hint{font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px;display:flex;align-items:center;gap:4px}
.swp-eval .field-hint .lucide{width:10px;height:10px;opacity:0.5}
.swp-eval .boq-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--s-3);margin-bottom:var(--s-5)}
.swp-eval .boq-opt{border:2px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);background:var(--bg-elevated);text-align:center}
.swp-eval .boq-opt.selected{border-color:var(--ledger-600);background:rgba(79,111,74,0.04)}
.swp-eval .boq-opt .lucide{width:26px;height:26px;margin:0 auto var(--s-2);opacity:0.4}
.swp-eval .boq-opt.selected .lucide{opacity:1;color:var(--ledger-600)}
.swp-eval .boq-opt .ol{font-weight:500;margin-bottom:3px}
.swp-eval .boq-opt .od{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-eval .boq-imported{display:flex;align-items:center;gap:8px;padding:9px 14px;background:rgba(79,111,74,0.06);border:1px solid rgba(79,111,74,0.18);border-radius:var(--r-md);font-size:var(--t-small);color:var(--ledger-800);margin-bottom:14px}
.swp-eval .boq-imported .lucide{width:14px;height:14px;color:var(--ledger-600);flex-shrink:0}
.swp-eval .boq-imported .mono{font-family:var(--font-mono);font-size:var(--t-micro)}
.swp-eval .boq-tablehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:var(--t-micro)}
.swp-eval .boq-tablehead .lbl{font-weight:500}
.swp-eval .boq-tablehead .hint{color:var(--ink-tertiary);display:flex;align-items:center;gap:4px}
.swp-eval .boq-tablehead .hint .lucide{width:10px;height:10px;opacity:0.4}
.swp-eval .boq-section-row td{background:rgba(31,38,48,0.06);border-bottom:1px solid var(--rule-medium);font-weight:600}
.swp-eval .boq-section-ref{font-family:var(--font-mono);font-size:var(--t-small);font-weight:700;color:var(--ink-primary)}
.swp-eval .boq-item-ref{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-eval .boq-drag{cursor:grab;opacity:0.3;width:14px;height:14px}
.swp-eval .boq-del{opacity:0.3;width:14px;height:14px;color:var(--signal-rust)}
.swp-eval .boq-mob{display:none}
.swp-eval .m-boqsec{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-secondary);background:rgba(31,38,48,0.06);padding:6px 12px;border-radius:var(--r-sm);margin-bottom:6px;font-weight:700;display:flex;align-items:center;gap:8px}
.swp-eval .m-boqrow{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 12px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);margin-bottom:6px}
.swp-eval .m-boqrow .l{display:flex;gap:8px;align-items:baseline;min-width:0}
.swp-eval .m-boqrow .ref{font-family:var(--font-mono);font-size:9px;color:var(--ink-tertiary);flex-shrink:0}
.swp-eval .m-boqrow .d{font-size:var(--t-small)}
.swp-eval .m-boqrow .q{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);white-space:nowrap;flex-shrink:0}
@container fr (max-width:999px){.swp-eval .sw-body{padding:var(--s-5) var(--s-6)}
.swp-eval .nav-row2{justify-content:flex-start;gap:24px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.swp-eval .nav-row2::-webkit-scrollbar{display:none}
.swp-eval .nav-row2 a{font-size:var(--t-micro);padding:10px 0 12px;flex:none}
.swp-eval .navico{margin-right:7px}
.swp-eval .tab-extra{display:flex}
.swp-eval .nav-utility-search{display:none}
.swp-eval .util-search-icon{display:flex}
.swp-eval .metrics{grid-template-columns:repeat(3,1fr)}
.swp-eval .main{grid-template-columns:1fr}
.swp-eval .col-project, .swp-eval .col-bids{display:none}
.swp-eval .wz-step{font-size:9px;padding:11px 4px 9px;gap:3px}
.swp-eval .wz-step-num{width:16px;height:16px}
.swp-eval .wz-route-badge{display:none}}
@container fr (max-width:620px){.swp-eval .nav-full{display:none}
.swp-eval .nav-mob{display:block}
.swp-eval .tabbar-mob{display:flex}
.swp-eval .sw-body{padding:16px 16px 80px}
.swp-eval .page-header{padding-bottom:var(--s-4);margin-bottom:var(--s-4)}
.swp-eval .page-header-top{flex-direction:column;gap:var(--s-3)}
.swp-eval .page-header-title{font-size:19px}
.swp-eval .metrics{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.swp-eval .alerts{grid-template-columns:1fr;gap:10px;margin-bottom:14px}
.swp-eval .wp-table{display:none}
.swp-eval .wp-cards{display:block}
.swp-eval .only-wide{display:none}
.swp-eval .card-h{margin-top:0}
.swp-eval .main{gap:14px}
.swp-eval .wz-steps{display:none}
.swp-eval .m-wzbar{display:block}
.swp-eval .field-row{grid-template-columns:1fr}
.swp-eval .route-longsub{display:none}
.swp-eval .route-info{display:none}
.swp-eval .wz-descfield{display:none}
.swp-eval .boq-fields{display:none}
.swp-eval .boq-desk{display:none}
.swp-eval .boq-mob{display:block}
.swp-eval .boq-opt .od{display:none}
.swp-eval .boq-opt{padding:10px 6px}
.swp-eval .boq-opt .lucide{width:18px;height:18px}
.swp-eval .boq-opt .ol{font-size:9px}
.swp-eval .wz-back{display:none}
.swp-eval .page-header-actions{display:none}
.swp-eval .page-header-meta{display:none}
.swp-eval .wz-nav{justify-content:flex-end}
.swp-eval .wz-nav .btn{width:100%;justify-content:center}}

/* ---- swp-vendors (base cloned from swp-boq) ---- */
.swp-vendors{--font-display:'Marcellus',Georgia,serif;--font-ui:'Inter',-apple-system,system-ui,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-pill:999px;--t-h4:16px;--t-body:14px;--t-small:13px;--t-micro:11px;--t-tiny:10px}
.swp-vendors .stage{background:#15191e;min-height:100vh;display:flex;flex-direction:column;align-items:center;font-family:var(--font-ui);padding:32px 24px 48px}
.swp-vendors .stage-h{width:100%;max-width:1360px;color:var(--parchment-100);margin-bottom:20px}
.swp-vendors .stage-h .eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--bronze-300);margin-bottom:8px}
.swp-vendors .stage-h .title{font-family:var(--font-display);font-size:26px;line-height:1.2;color:var(--parchment-50);margin-bottom:6px}
.swp-vendors .stage-h .sub{font-size:13px;color:rgba(242,235,216,0.55);line-height:1.6;max-width:720px}
.swp-vendors .toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px;justify-content:center}
.swp-vendors .seg{display:inline-flex;background:rgba(242,235,216,0.05);border:1px solid rgba(242,235,216,0.12);border-radius:var(--r-pill);padding:3px}
.swp-vendors .seg button{font-family:var(--font-ui);font-size:12px;font-weight:500;color:rgba(242,235,216,0.6);background:transparent;border:none;border-radius:var(--r-pill);padding:7px 16px;display:flex;align-items:center;gap:7px;cursor:pointer;transition:color .18s,background .18s}
.swp-vendors .seg button .lucide{width:14px;height:14px}
.swp-vendors .seg button.on{background:var(--ledger-600);color:#fff}
.swp-vendors .readout{font-family:var(--font-mono);font-size:12px;color:rgba(242,235,216,0.5);letter-spacing:0.04em;display:flex;align-items:center;gap:8px}
.swp-vendors .readout b{color:var(--parchment-100);font-weight:500}
.swp-vendors .readout .hint{color:rgba(242,235,216,0.32);font-size:11px}
.swp-vendors .stage-viewport{width:100%;display:flex;justify-content:center;align-items:flex-start;min-height:820px;overflow-x:auto;padding-bottom:8px}
.swp-vendors .stage.embed{min-height:0;background:transparent;padding:0}
.swp-vendors .stage.embed .stage-h{display:none}
.swp-vendors .stage.embed .toolbar{display:none}
.swp-vendors .stage.embed .rz{display:none}
.swp-vendors .stage.embed .stage-viewport{min-height:0;overflow:visible;display:block;padding:0}
.swp-vendors .stage.embed .device{width:100%;height:auto;transform:none}
.swp-vendors .stage.embed .frame{height:auto}
.swp-vendors .stage.embed .app-scroll{height:clamp(480px,62vh,720px);overflow-y:auto}
.swp-vendors .device{position:relative;flex-shrink:0;background:#0c0f13;border-radius:26px;padding:14px;box-shadow:0 12px 34px rgba(0,0,0,0.38),0 0 0 1px rgba(242,235,216,0.07) inset;transition:width .42s cubic-bezier(0.16,1,0.3,1),height .42s cubic-bezier(0.16,1,0.3,1),padding .42s cubic-bezier(0.16,1,0.3,1),border-radius .42s cubic-bezier(0.16,1,0.3,1),background .3s ease,box-shadow .3s ease}
.swp-vendors .device.light{background:#e7e2d4;box-shadow:0 12px 34px rgba(24,28,33,0.2),0 0 0 1px rgba(24,28,33,0.09) inset}
.swp-vendors .device.light .device-notch{background:#e7e2d4}
.swp-vendors .device.dragging{transition:none}
.swp-vendors .device.d-mobile{border-radius:42px;padding:12px}
.swp-vendors .device.d-ipad{border-radius:34px;padding:16px}
.swp-vendors .device-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:120px;height:26px;background:#0c0f13;border-radius:0 0 16px 16px;z-index:40;display:none}
.swp-vendors .device.d-mobile .device-notch{display:block}
.swp-vendors .frame{container-type:inline-size;container-name:fr;background:var(--bg-canvas);width:100%;height:100%;border-radius:12px;overflow:hidden;position:relative;color:var(--ink-primary);font-family:var(--font-ui);font-size:14px;line-height:1.6}
.swp-vendors .device.d-mobile .frame{border-radius:30px}
.swp-vendors .device.d-ipad .frame{border-radius:20px}
.swp-vendors .frame *{box-sizing:border-box}
.swp-vendors .frame a{color:inherit;text-decoration:none}
.swp-vendors .frame button{font-family:inherit;cursor:pointer}
.swp-vendors .frame .lucide{width:16px;height:16px;stroke-width:1.75}
.swp-vendors .app-scroll{height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(31,38,48,0.25) transparent}
.swp-vendors .nav-full{background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-vendors .nav-row1{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-6) var(--s-3);border-bottom:1px solid var(--rule-on-chrome)}
.swp-vendors .nav-wm{font-family:var(--font-display);font-size:22px;color:var(--ink-on-chrome);line-height:1;display:flex;align-items:center}
.swp-vendors .nav-wm .tag{color:var(--ink-on-chrome-faint);font-family:var(--font-ui);font-size:var(--t-micro);font-weight:400;margin-left:10px;padding-left:10px;border-left:1px solid var(--rule-on-chrome)}
.swp-vendors .nav-utility{display:flex;gap:var(--s-4);align-items:center;font-size:var(--t-micro);color:var(--ink-on-chrome-muted)}
.swp-vendors .nav-utility-search{background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:7px 11px;display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome-faint);font-size:var(--t-micro);white-space:nowrap}
.swp-vendors .nav-utility-search .lucide{width:12px;height:12px}
.swp-vendors .nav-utility-icon{width:32px;height:32px;border-radius:var(--r-md);background:rgba(242,235,216,0.06);border:1px solid rgba(242,235,216,0.1);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}
.swp-vendors .nav-utility-icon .lucide{width:14px;height:14px;color:var(--ink-on-chrome)}
.swp-vendors .nav-utility-who{display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome);font-size:var(--t-micro);white-space:nowrap}
.swp-vendors .nav-utility-avatar{width:24px;height:24px;border-radius:50%;background:var(--bronze-600);color:var(--slate-800);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-vendors .notif-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 4px;background:var(--bronze-600);color:var(--slate-900);font-family:var(--font-mono);font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;border-radius:99px;border:1.5px solid var(--slate-800)}
.swp-vendors .nav-row2{display:flex;padding:0 var(--s-6);width:100%;justify-content:space-between;gap:2px;overflow:hidden}
.swp-vendors .nav-row2 a{font-size:12px;color:var(--ink-on-chrome-muted);padding:11px 0 13px;border-bottom:2px solid transparent;display:flex;align-items:center;white-space:nowrap}
.swp-vendors .nav-row2 a.on{color:var(--ink-on-chrome);border-bottom-color:var(--ledger-600);font-weight:500}
.swp-vendors .navico{width:19px;height:19px;padding:3px;margin-right:6px;background:rgba(242,235,216,0.08);border-radius:4px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.swp-vendors .navico .lucide{width:13px;height:13px}
.swp-vendors .util-search-icon{display:none}
.swp-vendors .nav-mob{display:none;background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-vendors .m-top{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 10px}
.swp-vendors .m-top .nav-wm{font-size:18px}
.swp-vendors .m-top .mt-right{display:flex;align-items:center;gap:12px}
.swp-vendors .m-search-row{padding:10px 16px 12px;background:var(--slate-700);border-top:1px solid var(--rule-on-chrome)}
.swp-vendors .m-search{display:flex;align-items:center;gap:8px;background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:10px 12px;color:var(--ink-on-chrome-faint);font-size:13px}
.swp-vendors .m-search .lucide{width:14px;height:14px}
.swp-vendors .tabbar-mob{display:none;position:absolute;bottom:0;left:0;right:0;height:62px;background:var(--slate-800);border-top:1px solid var(--rule-on-chrome);align-items:center;justify-content:space-around;padding-bottom:2px;z-index:30}
.swp-vendors .m-tab{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;color:var(--ink-on-chrome-muted);flex:1}
.swp-vendors .m-tab .lucide{width:20px;height:20px}
.swp-vendors .m-tab.on{color:var(--ledger-300)}
.swp-vendors .sw-body{padding:var(--s-6) var(--s-8);width:100%}
.swp-vendors .crumbs{display:flex;align-items:center;gap:6px;font-size:var(--t-micro);color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-vendors .crumb-current{color:var(--ink-primary);font-weight:500}
.swp-vendors .page-header{display:flex;flex-direction:column;gap:var(--s-3);padding-bottom:var(--s-5);margin-bottom:var(--s-5);border-bottom:1px solid var(--rule-medium)}
.swp-vendors .page-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4)}
.swp-vendors .page-header-title{font-size:22px;font-weight:500;letter-spacing:-0.015em;margin:0}
.swp-vendors .page-header-meta{display:flex;gap:var(--s-4);font-size:var(--t-micro);color:var(--ink-secondary);margin-top:var(--s-2);flex-wrap:wrap}
.swp-vendors .page-header-meta-item{display:flex;align-items:center;gap:5px}
.swp-vendors .page-header-meta-item .lucide{width:12px;height:12px;opacity:0.6}
.swp-vendors .btn{font-size:var(--t-small);font-weight:500;padding:9px 16px;border-radius:var(--r-md);border:1px solid transparent;display:inline-flex;align-items:center;gap:var(--s-2);line-height:1;white-space:nowrap}
.swp-vendors .btn .lucide{width:14px;height:14px}
.swp-vendors .frame .btn-accent, .swp-vendors .frame .btn-accent .lucide{color:#fff}
.swp-vendors .btn-accent{background:var(--ledger-600);border-color:var(--ledger-600)}
.swp-vendors .btn-secondary{background:transparent;color:var(--ink-primary);border-color:var(--rule-strong)}
.swp-vendors .btn-sm{padding:6px 12px;font-size:var(--t-micro)}
.swp-vendors .pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-tiny);font-weight:500;padding:3px 9px;border-radius:var(--r-pill);border:1px solid transparent;white-space:nowrap}
.swp-vendors .pill-active{background:var(--ledger-100);color:var(--ledger-800);border-color:rgba(79,111,74,0.25)}
.swp-vendors .pill-warm{background:var(--bronze-100);color:var(--bronze-800);border-color:rgba(168,121,74,0.3)}
.swp-vendors .pill-locked{background:var(--slate-800);color:var(--parchment-100)}
.swp-vendors .pill-draft{background:rgba(31,38,48,0.06);color:var(--ink-tertiary);border-color:rgba(31,38,48,0.1)}
.swp-vendors .metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}
.swp-vendors .metric{background:rgba(31,38,48,0.04);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:var(--s-4)}
.swp-vendors .metric-label{font-size:var(--t-micro);color:var(--ink-secondary);margin-bottom:var(--s-1);display:flex;align-items:center;gap:5px}
.swp-vendors .metric-label .lucide{width:12px;height:12px;opacity:0.5}
.swp-vendors .metric-value{font-family:var(--font-mono);font-size:22px;font-weight:500;line-height:1.1}
.swp-vendors .alerts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.swp-vendors .alert-card{border-radius:0 var(--r-lg) var(--r-lg) 0;padding:var(--s-4);display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-vendors .alert-card .lucide{width:18px;height:18px;flex-shrink:0;margin-top:2px}
.swp-vendors .alert-rust{background:rgba(168,74,46,0.04);border:1px solid rgba(168,74,46,0.15);border-left:4px solid var(--signal-rust)}
.swp-vendors .alert-amber{background:rgba(184,133,74,0.04);border:1px solid rgba(184,133,74,0.15);border-left:4px solid var(--signal-amber)}
.swp-vendors .alert-t{font-weight:600;font-size:var(--t-small);margin-bottom:2px}
.swp-vendors .alert-d{font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-vendors .main{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.swp-vendors .card-h{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3)}
.swp-vendors .card-title{font-size:var(--t-h4);font-weight:500;display:flex;align-items:center;gap:6px}
.swp-vendors .card-title .lucide{width:14px;height:14px;opacity:0.45}
.swp-vendors .card{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5)}
.swp-vendors .wp-cards{display:none}
.swp-vendors .tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--parchment-25);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-vendors .tbl th{font-size:var(--t-tiny);font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:rgba(237,229,200,0.8);text-align:left;padding:11px 14px;background:var(--slate-800)}
.swp-vendors .tbl th:first-child{padding-left:16px}
.swp-vendors .tbl th.r{text-align:right}
.swp-vendors .tbl td{font-size:var(--t-small);padding:11px 14px;border-bottom:1px solid var(--rule-soft);background:var(--parchment-25)}
.swp-vendors .tbl td:first-child{padding-left:16px}
.swp-vendors .tbl tr:nth-child(even) td{background:rgba(31,38,48,0.025)}
.swp-vendors .tbl td.m{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-vendors .tbl td.r{text-align:right}
.swp-vendors .tbl tr:last-child td{border-bottom:none}
.swp-vendors .col-project, .swp-vendors .col-bids{display:table-cell}
.swp-vendors .m-wp{display:flex;flex-direction:column;gap:9px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:13px 14px;margin-bottom:8px}
.swp-vendors .m-wp-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.swp-vendors .m-wp-bot{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.swp-vendors .m-wp .tr{font-size:var(--t-body);font-weight:500}
.swp-vendors .m-wp .meta{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-vendors .m-wp .meta .id{font-family:var(--font-mono);color:var(--ink-secondary)}
.swp-vendors .m-wp .val{font-family:var(--font-mono);font-size:var(--t-small);color:var(--ink-primary);white-space:nowrap}
.swp-vendors .evrow{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule-soft)}
.swp-vendors .evrow:last-child{border-bottom:none}
.swp-vendors .evrow .av{width:24px;height:24px;border-radius:50%;color:#fff;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-vendors .evrow .nm{flex:1;font-size:var(--t-small);font-weight:500}
.swp-vendors .evrow .bar{width:80px;height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-vendors .evrow .bar > i{display:block;height:100%;background:var(--ledger-600);border-radius:3px}
.swp-vendors .evrow .ct{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);width:40px;text-align:right}
.swp-vendors .ev-wrap{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-vendors .activity-item{display:flex;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--rule-soft);font-size:var(--t-small)}
.swp-vendors .activity-item:last-child{border-bottom:none}
.swp-vendors .activity-dot{width:8px;height:8px;border-radius:50%;background:var(--ledger-600);margin-top:6px;flex-shrink:0}
.swp-vendors .activity-dot.warn{background:var(--signal-amber)}
.swp-vendors .activity-dot.cert{background:var(--bronze-600)}
.swp-vendors .activity-time{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px}
.swp-vendors .text-mono{font-family:var(--font-mono)}
.swp-vendors .text-micro{font-size:var(--t-micro)}
.swp-vendors .rz{position:absolute;top:0;bottom:0;width:16px;right:-8px;cursor:ew-resize;z-index:60;display:flex;align-items:center;justify-content:center}
.swp-vendors .rz::before{content:"";width:4px;height:52px;border-radius:99px;background:rgba(242,235,216,0.18);transition:background .18s}
.swp-vendors .rz:hover::before{background:var(--ledger-600)}
.swp-vendors .page-header-actions{display:flex;gap:var(--s-2)}
.swp-vendors .crumb-sep{opacity:0.5;font-size:10px}
.swp-vendors .crumbs a{display:flex;align-items:center;gap:3px}
.swp-vendors .crumbs a .lucide{width:11px;height:11px;opacity:0.45}
.swp-vendors .frame .btn-dark, .swp-vendors .frame .btn-dark .lucide{color:var(--ink-on-chrome)}
.swp-vendors .btn-dark{background:var(--slate-800);border-color:var(--slate-800)}
.swp-vendors .field-label{font-size:var(--t-micro);font-weight:500;margin-bottom:var(--s-1);display:block}
.swp-vendors .field-input, .swp-vendors .field-textarea{width:100%;padding:9px 12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);background:var(--parchment-25);color:var(--ink-primary)}
.swp-vendors .field-textarea{min-height:70px;resize:vertical;display:block}
.swp-vendors .field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}
.swp-vendors .spicker-input{width:100%;padding:10px 12px 10px 36px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);height:40px;background:var(--parchment-25)}
.swp-vendors .frame .ficon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--ink-tertiary);pointer-events:none}
.swp-vendors .wz-steps{display:flex;gap:0;margin-bottom:var(--s-6);overflow:hidden}
.swp-vendors .wz-step{flex:1;text-align:center;padding:13px 8px 10px;font-size:var(--t-micro);font-weight:500;color:var(--ink-tertiary);white-space:nowrap;background:rgba(31,38,48,0.03);border-bottom:3px solid var(--rule-medium);display:flex;align-items:center;justify-content:center;gap:5px}
.swp-vendors .wz-step:first-child{border-radius:var(--r-md) 0 0 var(--r-md)}
.swp-vendors .wz-step:last-child{border-radius:0 var(--r-md) var(--r-md) 0}
.swp-vendors .wz-step:not(:last-child){border-right:1px solid var(--rule-soft)}
.swp-vendors .wz-step.active{background:rgba(79,111,74,0.06);border-bottom-color:var(--ledger-600);color:var(--ink-primary)}
.swp-vendors .wz-step-num{font-family:var(--font-mono);font-size:9px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--rule-medium);color:var(--ink-tertiary);flex-shrink:0}
.swp-vendors .wz-step.active .wz-step-num{background:var(--ledger-600);color:#fff}
.swp-vendors .wz-route-badge{font-size:8px;font-weight:600;padding:2px 6px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.04em;background:var(--ledger-100);color:var(--ledger-800)}
.swp-vendors .wz-section{font-family:var(--font-mono);font-size:var(--t-tiny);text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-vendors .wz-desc{font-size:var(--t-small);color:var(--ink-secondary);margin-bottom:var(--s-5);line-height:1.6}
.swp-vendors .wz-nav{display:flex;justify-content:flex-end;align-items:center;margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--rule-medium)}
.swp-vendors .route-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin-top:var(--s-3)}
.swp-vendors .route-option{border:2px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);background:var(--bg-elevated)}
.swp-vendors .route-option.selected{border-color:var(--ledger-600);background:var(--ledger-600);color:#fff}
.swp-vendors .route-option.selected .route-sub{color:rgba(255,255,255,0.7)}
.swp-vendors .route-option.selected .lucide{color:#fff}
.swp-vendors .route-option-head{display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-vendors .route-option-head .lucide{width:16px;height:16px;margin-top:2px;flex-shrink:0;color:var(--ink-tertiary)}
.swp-vendors .route-sub{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-vendors .route-info{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5);margin-top:var(--s-4);border-left:3px solid var(--ledger-600)}
.swp-vendors .route-info-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--s-3)}
.swp-vendors .route-info-title{font-weight:600;display:flex;align-items:center;gap:var(--s-2)}
.swp-vendors .route-info-title .lucide{width:16px;height:16px;color:var(--ledger-600)}
.swp-vendors .route-info-badge{font-size:9px;font-weight:600;padding:2px 8px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.05em;background:var(--ledger-100);color:var(--ledger-800)}
.swp-vendors .route-info-desc{font-size:var(--t-micro);color:var(--ink-secondary);line-height:1.6;margin-bottom:var(--s-4)}
.swp-vendors .route-enforced{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}
.swp-vendors .route-enforced-item{display:flex;align-items:center;gap:var(--s-2);font-size:var(--t-micro);padding:6px 10px;border-radius:var(--r-md);background:rgba(79,111,74,0.04)}
.swp-vendors .route-enforced-item .lucide{width:12px;height:12px;color:var(--ledger-600);flex-shrink:0}
.swp-vendors .m-wzbar{display:none;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:11px 14px;margin-bottom:14px}
.swp-vendors .m-wzbar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.swp-vendors .m-wzbar-step{font-size:var(--t-small);font-weight:600;display:flex;align-items:center;gap:7px}
.swp-vendors .m-wzbar-step .n{font-family:var(--font-mono);font-size:9px;width:18px;height:18px;border-radius:50%;background:var(--ledger-600);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.swp-vendors .m-wzbar-count{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary)}
.swp-vendors .m-wztrack{height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-vendors .m-wztrack > i{display:block;height:100%;width:12.5%;background:var(--ledger-600);border-radius:3px}
.swp-vendors .wz-step.done{background:rgba(79,111,74,0.04);border-bottom-color:var(--ledger-300);color:var(--ledger-800)}
.swp-vendors .wz-step.done .wz-step-num{background:var(--ledger-300);color:var(--ledger-800)}
.swp-vendors .wz-step.done .wz-step-num .lucide{width:11px;height:11px}
.swp-vendors .field-select{width:100%;padding:9px 32px 9px 12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);background:var(--parchment-25);color:var(--ink-primary);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234A5563' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
.swp-vendors .field-hint{font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px;display:flex;align-items:center;gap:4px}
.swp-vendors .field-hint .lucide{width:10px;height:10px;opacity:0.5}
.swp-vendors .boq-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--s-3);margin-bottom:var(--s-5)}
.swp-vendors .boq-opt{border:2px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);background:var(--bg-elevated);text-align:center}
.swp-vendors .boq-opt.selected{border-color:var(--ledger-600);background:rgba(79,111,74,0.04)}
.swp-vendors .boq-opt .lucide{width:26px;height:26px;margin:0 auto var(--s-2);opacity:0.4}
.swp-vendors .boq-opt.selected .lucide{opacity:1;color:var(--ledger-600)}
.swp-vendors .boq-opt .ol{font-weight:500;margin-bottom:3px}
.swp-vendors .boq-opt .od{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-vendors .boq-imported{display:flex;align-items:center;gap:8px;padding:9px 14px;background:rgba(79,111,74,0.06);border:1px solid rgba(79,111,74,0.18);border-radius:var(--r-md);font-size:var(--t-small);color:var(--ledger-800);margin-bottom:14px}
.swp-vendors .boq-imported .lucide{width:14px;height:14px;color:var(--ledger-600);flex-shrink:0}
.swp-vendors .boq-imported .mono{font-family:var(--font-mono);font-size:var(--t-micro)}
.swp-vendors .boq-tablehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:var(--t-micro)}
.swp-vendors .boq-tablehead .lbl{font-weight:500}
.swp-vendors .boq-tablehead .hint{color:var(--ink-tertiary);display:flex;align-items:center;gap:4px}
.swp-vendors .boq-tablehead .hint .lucide{width:10px;height:10px;opacity:0.4}
.swp-vendors .boq-section-row td{background:rgba(31,38,48,0.06);border-bottom:1px solid var(--rule-medium);font-weight:600}
.swp-vendors .boq-section-ref{font-family:var(--font-mono);font-size:var(--t-small);font-weight:700;color:var(--ink-primary)}
.swp-vendors .boq-item-ref{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-vendors .boq-drag{cursor:grab;opacity:0.3;width:14px;height:14px}
.swp-vendors .boq-del{opacity:0.3;width:14px;height:14px;color:var(--signal-rust)}
.swp-vendors .boq-mob{display:none}
.swp-vendors .m-boqsec{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-secondary);background:rgba(31,38,48,0.06);padding:6px 12px;border-radius:var(--r-sm);margin-bottom:6px;font-weight:700;display:flex;align-items:center;gap:8px}
.swp-vendors .m-boqrow{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 12px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);margin-bottom:6px}
.swp-vendors .m-boqrow .l{display:flex;gap:8px;align-items:baseline;min-width:0}
.swp-vendors .m-boqrow .ref{font-family:var(--font-mono);font-size:9px;color:var(--ink-tertiary);flex-shrink:0}
.swp-vendors .m-boqrow .d{font-size:var(--t-small)}
.swp-vendors .m-boqrow .q{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);white-space:nowrap;flex-shrink:0}
@container fr (max-width:999px){.swp-vendors .sw-body{padding:var(--s-5) var(--s-6)}
.swp-vendors .nav-row2{justify-content:flex-start;gap:24px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.swp-vendors .nav-row2::-webkit-scrollbar{display:none}
.swp-vendors .nav-row2 a{font-size:var(--t-micro);padding:10px 0 12px;flex:none}
.swp-vendors .navico{margin-right:7px}
.swp-vendors .tab-extra{display:flex}
.swp-vendors .nav-utility-search{display:none}
.swp-vendors .util-search-icon{display:flex}
.swp-vendors .metrics{grid-template-columns:repeat(3,1fr)}
.swp-vendors .main{grid-template-columns:1fr}
.swp-vendors .col-project, .swp-vendors .col-bids{display:none}
.swp-vendors .wz-step{font-size:9px;padding:11px 4px 9px;gap:3px}
.swp-vendors .wz-step-num{width:16px;height:16px}
.swp-vendors .wz-route-badge{display:none}}
@container fr (max-width:620px){.swp-vendors .nav-full{display:none}
.swp-vendors .nav-mob{display:block}
.swp-vendors .tabbar-mob{display:flex}
.swp-vendors .sw-body{padding:16px 16px 80px}
.swp-vendors .page-header{padding-bottom:var(--s-4);margin-bottom:var(--s-4)}
.swp-vendors .page-header-top{flex-direction:column;gap:var(--s-3)}
.swp-vendors .page-header-title{font-size:19px}
.swp-vendors .metrics{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.swp-vendors .alerts{grid-template-columns:1fr;gap:10px;margin-bottom:14px}
.swp-vendors .wp-table{display:none}
.swp-vendors .wp-cards{display:block}
.swp-vendors .only-wide{display:none}
.swp-vendors .card-h{margin-top:0}
.swp-vendors .main{gap:14px}
.swp-vendors .wz-steps{display:none}
.swp-vendors .m-wzbar{display:block}
.swp-vendors .field-row{grid-template-columns:1fr}
.swp-vendors .route-longsub{display:none}
.swp-vendors .route-info{display:none}
.swp-vendors .wz-descfield{display:none}
.swp-vendors .boq-fields{display:none}
.swp-vendors .boq-desk{display:none}
.swp-vendors .boq-mob{display:block}
.swp-vendors .boq-opt .od{display:none}
.swp-vendors .boq-opt{padding:10px 6px}
.swp-vendors .boq-opt .lucide{width:18px;height:18px}
.swp-vendors .boq-opt .ol{font-size:9px}
.swp-vendors .wz-back{display:none}
.swp-vendors .page-header-actions{display:none}
.swp-vendors .page-header-meta{display:none}
.swp-vendors .wz-nav{justify-content:flex-end}
.swp-vendors .wz-nav .btn{width:100%;justify-content:center}}

/* ---- swp-screen (base cloned from swp-boq) ---- */
.swp-screen{--font-display:'Marcellus',Georgia,serif;--font-ui:'Inter',-apple-system,system-ui,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-pill:999px;--t-h4:16px;--t-body:14px;--t-small:13px;--t-micro:11px;--t-tiny:10px}
.swp-screen .stage{background:#15191e;min-height:100vh;display:flex;flex-direction:column;align-items:center;font-family:var(--font-ui);padding:32px 24px 48px}
.swp-screen .stage-h{width:100%;max-width:1360px;color:var(--parchment-100);margin-bottom:20px}
.swp-screen .stage-h .eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--bronze-300);margin-bottom:8px}
.swp-screen .stage-h .title{font-family:var(--font-display);font-size:26px;line-height:1.2;color:var(--parchment-50);margin-bottom:6px}
.swp-screen .stage-h .sub{font-size:13px;color:rgba(242,235,216,0.55);line-height:1.6;max-width:720px}
.swp-screen .toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px;justify-content:center}
.swp-screen .seg{display:inline-flex;background:rgba(242,235,216,0.05);border:1px solid rgba(242,235,216,0.12);border-radius:var(--r-pill);padding:3px}
.swp-screen .seg button{font-family:var(--font-ui);font-size:12px;font-weight:500;color:rgba(242,235,216,0.6);background:transparent;border:none;border-radius:var(--r-pill);padding:7px 16px;display:flex;align-items:center;gap:7px;cursor:pointer;transition:color .18s,background .18s}
.swp-screen .seg button .lucide{width:14px;height:14px}
.swp-screen .seg button.on{background:var(--ledger-600);color:#fff}
.swp-screen .readout{font-family:var(--font-mono);font-size:12px;color:rgba(242,235,216,0.5);letter-spacing:0.04em;display:flex;align-items:center;gap:8px}
.swp-screen .readout b{color:var(--parchment-100);font-weight:500}
.swp-screen .readout .hint{color:rgba(242,235,216,0.32);font-size:11px}
.swp-screen .stage-viewport{width:100%;display:flex;justify-content:center;align-items:flex-start;min-height:820px;overflow-x:auto;padding-bottom:8px}
.swp-screen .stage.embed{min-height:0;background:transparent;padding:0}
.swp-screen .stage.embed .stage-h{display:none}
.swp-screen .stage.embed .toolbar{display:none}
.swp-screen .stage.embed .rz{display:none}
.swp-screen .stage.embed .stage-viewport{min-height:0;overflow:visible;display:block;padding:0}
.swp-screen .stage.embed .device{width:100%;height:auto;transform:none}
.swp-screen .stage.embed .frame{height:auto}
.swp-screen .stage.embed .app-scroll{height:clamp(480px,62vh,720px);overflow-y:auto}
.swp-screen .device{position:relative;flex-shrink:0;background:#0c0f13;border-radius:26px;padding:14px;box-shadow:0 12px 34px rgba(0,0,0,0.38),0 0 0 1px rgba(242,235,216,0.07) inset;transition:width .42s cubic-bezier(0.16,1,0.3,1),height .42s cubic-bezier(0.16,1,0.3,1),padding .42s cubic-bezier(0.16,1,0.3,1),border-radius .42s cubic-bezier(0.16,1,0.3,1),background .3s ease,box-shadow .3s ease}
.swp-screen .device.light{background:#e7e2d4;box-shadow:0 12px 34px rgba(24,28,33,0.2),0 0 0 1px rgba(24,28,33,0.09) inset}
.swp-screen .device.light .device-notch{background:#e7e2d4}
.swp-screen .device.dragging{transition:none}
.swp-screen .device.d-mobile{border-radius:42px;padding:12px}
.swp-screen .device.d-ipad{border-radius:34px;padding:16px}
.swp-screen .device-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:120px;height:26px;background:#0c0f13;border-radius:0 0 16px 16px;z-index:40;display:none}
.swp-screen .device.d-mobile .device-notch{display:block}
.swp-screen .frame{container-type:inline-size;container-name:fr;background:var(--bg-canvas);width:100%;height:100%;border-radius:12px;overflow:hidden;position:relative;color:var(--ink-primary);font-family:var(--font-ui);font-size:14px;line-height:1.6}
.swp-screen .device.d-mobile .frame{border-radius:30px}
.swp-screen .device.d-ipad .frame{border-radius:20px}
.swp-screen .frame *{box-sizing:border-box}
.swp-screen .frame a{color:inherit;text-decoration:none}
.swp-screen .frame button{font-family:inherit;cursor:pointer}
.swp-screen .frame .lucide{width:16px;height:16px;stroke-width:1.75}
.swp-screen .app-scroll{height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(31,38,48,0.25) transparent}
.swp-screen .nav-full{background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-screen .nav-row1{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-6) var(--s-3);border-bottom:1px solid var(--rule-on-chrome)}
.swp-screen .nav-wm{font-family:var(--font-display);font-size:22px;color:var(--ink-on-chrome);line-height:1;display:flex;align-items:center}
.swp-screen .nav-wm .tag{color:var(--ink-on-chrome-faint);font-family:var(--font-ui);font-size:var(--t-micro);font-weight:400;margin-left:10px;padding-left:10px;border-left:1px solid var(--rule-on-chrome)}
.swp-screen .nav-utility{display:flex;gap:var(--s-4);align-items:center;font-size:var(--t-micro);color:var(--ink-on-chrome-muted)}
.swp-screen .nav-utility-search{background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:7px 11px;display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome-faint);font-size:var(--t-micro);white-space:nowrap}
.swp-screen .nav-utility-search .lucide{width:12px;height:12px}
.swp-screen .nav-utility-icon{width:32px;height:32px;border-radius:var(--r-md);background:rgba(242,235,216,0.06);border:1px solid rgba(242,235,216,0.1);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}
.swp-screen .nav-utility-icon .lucide{width:14px;height:14px;color:var(--ink-on-chrome)}
.swp-screen .nav-utility-who{display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome);font-size:var(--t-micro);white-space:nowrap}
.swp-screen .nav-utility-avatar{width:24px;height:24px;border-radius:50%;background:var(--bronze-600);color:var(--slate-800);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-screen .notif-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 4px;background:var(--bronze-600);color:var(--slate-900);font-family:var(--font-mono);font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;border-radius:99px;border:1.5px solid var(--slate-800)}
.swp-screen .nav-row2{display:flex;padding:0 var(--s-6);width:100%;justify-content:space-between;gap:2px;overflow:hidden}
.swp-screen .nav-row2 a{font-size:12px;color:var(--ink-on-chrome-muted);padding:11px 0 13px;border-bottom:2px solid transparent;display:flex;align-items:center;white-space:nowrap}
.swp-screen .nav-row2 a.on{color:var(--ink-on-chrome);border-bottom-color:var(--ledger-600);font-weight:500}
.swp-screen .navico{width:19px;height:19px;padding:3px;margin-right:6px;background:rgba(242,235,216,0.08);border-radius:4px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.swp-screen .navico .lucide{width:13px;height:13px}
.swp-screen .util-search-icon{display:none}
.swp-screen .nav-mob{display:none;background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-screen .m-top{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 10px}
.swp-screen .m-top .nav-wm{font-size:18px}
.swp-screen .m-top .mt-right{display:flex;align-items:center;gap:12px}
.swp-screen .m-search-row{padding:10px 16px 12px;background:var(--slate-700);border-top:1px solid var(--rule-on-chrome)}
.swp-screen .m-search{display:flex;align-items:center;gap:8px;background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:10px 12px;color:var(--ink-on-chrome-faint);font-size:13px}
.swp-screen .m-search .lucide{width:14px;height:14px}
.swp-screen .tabbar-mob{display:none;position:absolute;bottom:0;left:0;right:0;height:62px;background:var(--slate-800);border-top:1px solid var(--rule-on-chrome);align-items:center;justify-content:space-around;padding-bottom:2px;z-index:30}
.swp-screen .m-tab{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;color:var(--ink-on-chrome-muted);flex:1}
.swp-screen .m-tab .lucide{width:20px;height:20px}
.swp-screen .m-tab.on{color:var(--ledger-300)}
.swp-screen .sw-body{padding:var(--s-6) var(--s-8);width:100%}
.swp-screen .crumbs{display:flex;align-items:center;gap:6px;font-size:var(--t-micro);color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-screen .crumb-current{color:var(--ink-primary);font-weight:500}
.swp-screen .page-header{display:flex;flex-direction:column;gap:var(--s-3);padding-bottom:var(--s-5);margin-bottom:var(--s-5);border-bottom:1px solid var(--rule-medium)}
.swp-screen .page-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4)}
.swp-screen .page-header-title{font-size:22px;font-weight:500;letter-spacing:-0.015em;margin:0}
.swp-screen .page-header-meta{display:flex;gap:var(--s-4);font-size:var(--t-micro);color:var(--ink-secondary);margin-top:var(--s-2);flex-wrap:wrap}
.swp-screen .page-header-meta-item{display:flex;align-items:center;gap:5px}
.swp-screen .page-header-meta-item .lucide{width:12px;height:12px;opacity:0.6}
.swp-screen .btn{font-size:var(--t-small);font-weight:500;padding:9px 16px;border-radius:var(--r-md);border:1px solid transparent;display:inline-flex;align-items:center;gap:var(--s-2);line-height:1;white-space:nowrap}
.swp-screen .btn .lucide{width:14px;height:14px}
.swp-screen .frame .btn-accent, .swp-screen .frame .btn-accent .lucide{color:#fff}
.swp-screen .btn-accent{background:var(--ledger-600);border-color:var(--ledger-600)}
.swp-screen .btn-secondary{background:transparent;color:var(--ink-primary);border-color:var(--rule-strong)}
.swp-screen .btn-sm{padding:6px 12px;font-size:var(--t-micro)}
.swp-screen .pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-tiny);font-weight:500;padding:3px 9px;border-radius:var(--r-pill);border:1px solid transparent;white-space:nowrap}
.swp-screen .pill-active{background:var(--ledger-100);color:var(--ledger-800);border-color:rgba(79,111,74,0.25)}
.swp-screen .pill-warm{background:var(--bronze-100);color:var(--bronze-800);border-color:rgba(168,121,74,0.3)}
.swp-screen .pill-locked{background:var(--slate-800);color:var(--parchment-100)}
.swp-screen .pill-draft{background:rgba(31,38,48,0.06);color:var(--ink-tertiary);border-color:rgba(31,38,48,0.1)}
.swp-screen .metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}
.swp-screen .metric{background:rgba(31,38,48,0.04);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:var(--s-4)}
.swp-screen .metric-label{font-size:var(--t-micro);color:var(--ink-secondary);margin-bottom:var(--s-1);display:flex;align-items:center;gap:5px}
.swp-screen .metric-label .lucide{width:12px;height:12px;opacity:0.5}
.swp-screen .metric-value{font-family:var(--font-mono);font-size:22px;font-weight:500;line-height:1.1}
.swp-screen .alerts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.swp-screen .alert-card{border-radius:0 var(--r-lg) var(--r-lg) 0;padding:var(--s-4);display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-screen .alert-card .lucide{width:18px;height:18px;flex-shrink:0;margin-top:2px}
.swp-screen .alert-rust{background:rgba(168,74,46,0.04);border:1px solid rgba(168,74,46,0.15);border-left:4px solid var(--signal-rust)}
.swp-screen .alert-amber{background:rgba(184,133,74,0.04);border:1px solid rgba(184,133,74,0.15);border-left:4px solid var(--signal-amber)}
.swp-screen .alert-t{font-weight:600;font-size:var(--t-small);margin-bottom:2px}
.swp-screen .alert-d{font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-screen .main{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.swp-screen .card-h{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3)}
.swp-screen .card-title{font-size:var(--t-h4);font-weight:500;display:flex;align-items:center;gap:6px}
.swp-screen .card-title .lucide{width:14px;height:14px;opacity:0.45}
.swp-screen .card{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5)}
.swp-screen .wp-cards{display:none}
.swp-screen .tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--parchment-25);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-screen .tbl th{font-size:var(--t-tiny);font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:rgba(237,229,200,0.8);text-align:left;padding:11px 14px;background:var(--slate-800)}
.swp-screen .tbl th:first-child{padding-left:16px}
.swp-screen .tbl th.r{text-align:right}
.swp-screen .tbl td{font-size:var(--t-small);padding:11px 14px;border-bottom:1px solid var(--rule-soft);background:var(--parchment-25)}
.swp-screen .tbl td:first-child{padding-left:16px}
.swp-screen .tbl tr:nth-child(even) td{background:rgba(31,38,48,0.025)}
.swp-screen .tbl td.m{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-screen .tbl td.r{text-align:right}
.swp-screen .tbl tr:last-child td{border-bottom:none}
.swp-screen .col-project, .swp-screen .col-bids{display:table-cell}
.swp-screen .m-wp{display:flex;flex-direction:column;gap:9px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:13px 14px;margin-bottom:8px}
.swp-screen .m-wp-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.swp-screen .m-wp-bot{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.swp-screen .m-wp .tr{font-size:var(--t-body);font-weight:500}
.swp-screen .m-wp .meta{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-screen .m-wp .meta .id{font-family:var(--font-mono);color:var(--ink-secondary)}
.swp-screen .m-wp .val{font-family:var(--font-mono);font-size:var(--t-small);color:var(--ink-primary);white-space:nowrap}
.swp-screen .evrow{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule-soft)}
.swp-screen .evrow:last-child{border-bottom:none}
.swp-screen .evrow .av{width:24px;height:24px;border-radius:50%;color:#fff;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-screen .evrow .nm{flex:1;font-size:var(--t-small);font-weight:500}
.swp-screen .evrow .bar{width:80px;height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-screen .evrow .bar > i{display:block;height:100%;background:var(--ledger-600);border-radius:3px}
.swp-screen .evrow .ct{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);width:40px;text-align:right}
.swp-screen .ev-wrap{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-screen .activity-item{display:flex;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--rule-soft);font-size:var(--t-small)}
.swp-screen .activity-item:last-child{border-bottom:none}
.swp-screen .activity-dot{width:8px;height:8px;border-radius:50%;background:var(--ledger-600);margin-top:6px;flex-shrink:0}
.swp-screen .activity-dot.warn{background:var(--signal-amber)}
.swp-screen .activity-dot.cert{background:var(--bronze-600)}
.swp-screen .activity-time{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px}
.swp-screen .text-mono{font-family:var(--font-mono)}
.swp-screen .text-micro{font-size:var(--t-micro)}
.swp-screen .rz{position:absolute;top:0;bottom:0;width:16px;right:-8px;cursor:ew-resize;z-index:60;display:flex;align-items:center;justify-content:center}
.swp-screen .rz::before{content:"";width:4px;height:52px;border-radius:99px;background:rgba(242,235,216,0.18);transition:background .18s}
.swp-screen .rz:hover::before{background:var(--ledger-600)}
.swp-screen .page-header-actions{display:flex;gap:var(--s-2)}
.swp-screen .crumb-sep{opacity:0.5;font-size:10px}
.swp-screen .crumbs a{display:flex;align-items:center;gap:3px}
.swp-screen .crumbs a .lucide{width:11px;height:11px;opacity:0.45}
.swp-screen .frame .btn-dark, .swp-screen .frame .btn-dark .lucide{color:var(--ink-on-chrome)}
.swp-screen .btn-dark{background:var(--slate-800);border-color:var(--slate-800)}
.swp-screen .field-label{font-size:var(--t-micro);font-weight:500;margin-bottom:var(--s-1);display:block}
.swp-screen .field-input, .swp-screen .field-textarea{width:100%;padding:9px 12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);background:var(--parchment-25);color:var(--ink-primary)}
.swp-screen .field-textarea{min-height:70px;resize:vertical;display:block}
.swp-screen .field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}
.swp-screen .spicker-input{width:100%;padding:10px 12px 10px 36px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);height:40px;background:var(--parchment-25)}
.swp-screen .frame .ficon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--ink-tertiary);pointer-events:none}
.swp-screen .wz-steps{display:flex;gap:0;margin-bottom:var(--s-6);overflow:hidden}
.swp-screen .wz-step{flex:1;text-align:center;padding:13px 8px 10px;font-size:var(--t-micro);font-weight:500;color:var(--ink-tertiary);white-space:nowrap;background:rgba(31,38,48,0.03);border-bottom:3px solid var(--rule-medium);display:flex;align-items:center;justify-content:center;gap:5px}
.swp-screen .wz-step:first-child{border-radius:var(--r-md) 0 0 var(--r-md)}
.swp-screen .wz-step:last-child{border-radius:0 var(--r-md) var(--r-md) 0}
.swp-screen .wz-step:not(:last-child){border-right:1px solid var(--rule-soft)}
.swp-screen .wz-step.active{background:rgba(79,111,74,0.06);border-bottom-color:var(--ledger-600);color:var(--ink-primary)}
.swp-screen .wz-step-num{font-family:var(--font-mono);font-size:9px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--rule-medium);color:var(--ink-tertiary);flex-shrink:0}
.swp-screen .wz-step.active .wz-step-num{background:var(--ledger-600);color:#fff}
.swp-screen .wz-route-badge{font-size:8px;font-weight:600;padding:2px 6px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.04em;background:var(--ledger-100);color:var(--ledger-800)}
.swp-screen .wz-section{font-family:var(--font-mono);font-size:var(--t-tiny);text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-screen .wz-desc{font-size:var(--t-small);color:var(--ink-secondary);margin-bottom:var(--s-5);line-height:1.6}
.swp-screen .wz-nav{display:flex;justify-content:flex-end;align-items:center;margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--rule-medium)}
.swp-screen .route-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin-top:var(--s-3)}
.swp-screen .route-option{border:2px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);background:var(--bg-elevated)}
.swp-screen .route-option.selected{border-color:var(--ledger-600);background:var(--ledger-600);color:#fff}
.swp-screen .route-option.selected .route-sub{color:rgba(255,255,255,0.7)}
.swp-screen .route-option.selected .lucide{color:#fff}
.swp-screen .route-option-head{display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-screen .route-option-head .lucide{width:16px;height:16px;margin-top:2px;flex-shrink:0;color:var(--ink-tertiary)}
.swp-screen .route-sub{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-screen .route-info{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5);margin-top:var(--s-4);border-left:3px solid var(--ledger-600)}
.swp-screen .route-info-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--s-3)}
.swp-screen .route-info-title{font-weight:600;display:flex;align-items:center;gap:var(--s-2)}
.swp-screen .route-info-title .lucide{width:16px;height:16px;color:var(--ledger-600)}
.swp-screen .route-info-badge{font-size:9px;font-weight:600;padding:2px 8px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.05em;background:var(--ledger-100);color:var(--ledger-800)}
.swp-screen .route-info-desc{font-size:var(--t-micro);color:var(--ink-secondary);line-height:1.6;margin-bottom:var(--s-4)}
.swp-screen .route-enforced{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}
.swp-screen .route-enforced-item{display:flex;align-items:center;gap:var(--s-2);font-size:var(--t-micro);padding:6px 10px;border-radius:var(--r-md);background:rgba(79,111,74,0.04)}
.swp-screen .route-enforced-item .lucide{width:12px;height:12px;color:var(--ledger-600);flex-shrink:0}
.swp-screen .m-wzbar{display:none;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:11px 14px;margin-bottom:14px}
.swp-screen .m-wzbar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.swp-screen .m-wzbar-step{font-size:var(--t-small);font-weight:600;display:flex;align-items:center;gap:7px}
.swp-screen .m-wzbar-step .n{font-family:var(--font-mono);font-size:9px;width:18px;height:18px;border-radius:50%;background:var(--ledger-600);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.swp-screen .m-wzbar-count{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary)}
.swp-screen .m-wztrack{height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-screen .m-wztrack > i{display:block;height:100%;width:12.5%;background:var(--ledger-600);border-radius:3px}
.swp-screen .wz-step.done{background:rgba(79,111,74,0.04);border-bottom-color:var(--ledger-300);color:var(--ledger-800)}
.swp-screen .wz-step.done .wz-step-num{background:var(--ledger-300);color:var(--ledger-800)}
.swp-screen .wz-step.done .wz-step-num .lucide{width:11px;height:11px}
.swp-screen .field-select{width:100%;padding:9px 32px 9px 12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);background:var(--parchment-25);color:var(--ink-primary);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234A5563' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
.swp-screen .field-hint{font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px;display:flex;align-items:center;gap:4px}
.swp-screen .field-hint .lucide{width:10px;height:10px;opacity:0.5}
.swp-screen .boq-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--s-3);margin-bottom:var(--s-5)}
.swp-screen .boq-opt{border:2px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);background:var(--bg-elevated);text-align:center}
.swp-screen .boq-opt.selected{border-color:var(--ledger-600);background:rgba(79,111,74,0.04)}
.swp-screen .boq-opt .lucide{width:26px;height:26px;margin:0 auto var(--s-2);opacity:0.4}
.swp-screen .boq-opt.selected .lucide{opacity:1;color:var(--ledger-600)}
.swp-screen .boq-opt .ol{font-weight:500;margin-bottom:3px}
.swp-screen .boq-opt .od{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-screen .boq-imported{display:flex;align-items:center;gap:8px;padding:9px 14px;background:rgba(79,111,74,0.06);border:1px solid rgba(79,111,74,0.18);border-radius:var(--r-md);font-size:var(--t-small);color:var(--ledger-800);margin-bottom:14px}
.swp-screen .boq-imported .lucide{width:14px;height:14px;color:var(--ledger-600);flex-shrink:0}
.swp-screen .boq-imported .mono{font-family:var(--font-mono);font-size:var(--t-micro)}
.swp-screen .boq-tablehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:var(--t-micro)}
.swp-screen .boq-tablehead .lbl{font-weight:500}
.swp-screen .boq-tablehead .hint{color:var(--ink-tertiary);display:flex;align-items:center;gap:4px}
.swp-screen .boq-tablehead .hint .lucide{width:10px;height:10px;opacity:0.4}
.swp-screen .boq-section-row td{background:rgba(31,38,48,0.06);border-bottom:1px solid var(--rule-medium);font-weight:600}
.swp-screen .boq-section-ref{font-family:var(--font-mono);font-size:var(--t-small);font-weight:700;color:var(--ink-primary)}
.swp-screen .boq-item-ref{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-screen .boq-drag{cursor:grab;opacity:0.3;width:14px;height:14px}
.swp-screen .boq-del{opacity:0.3;width:14px;height:14px;color:var(--signal-rust)}
.swp-screen .boq-mob{display:none}
.swp-screen .m-boqsec{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-secondary);background:rgba(31,38,48,0.06);padding:6px 12px;border-radius:var(--r-sm);margin-bottom:6px;font-weight:700;display:flex;align-items:center;gap:8px}
.swp-screen .m-boqrow{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 12px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);margin-bottom:6px}
.swp-screen .m-boqrow .l{display:flex;gap:8px;align-items:baseline;min-width:0}
.swp-screen .m-boqrow .ref{font-family:var(--font-mono);font-size:9px;color:var(--ink-tertiary);flex-shrink:0}
.swp-screen .m-boqrow .d{font-size:var(--t-small)}
.swp-screen .m-boqrow .q{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);white-space:nowrap;flex-shrink:0}
@container fr (max-width:999px){.swp-screen .sw-body{padding:var(--s-5) var(--s-6)}
.swp-screen .nav-row2{justify-content:flex-start;gap:24px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.swp-screen .nav-row2::-webkit-scrollbar{display:none}
.swp-screen .nav-row2 a{font-size:var(--t-micro);padding:10px 0 12px;flex:none}
.swp-screen .navico{margin-right:7px}
.swp-screen .tab-extra{display:flex}
.swp-screen .nav-utility-search{display:none}
.swp-screen .util-search-icon{display:flex}
.swp-screen .metrics{grid-template-columns:repeat(3,1fr)}
.swp-screen .main{grid-template-columns:1fr}
.swp-screen .col-project, .swp-screen .col-bids{display:none}
.swp-screen .wz-step{font-size:9px;padding:11px 4px 9px;gap:3px}
.swp-screen .wz-step-num{width:16px;height:16px}
.swp-screen .wz-route-badge{display:none}}
@container fr (max-width:620px){.swp-screen .nav-full{display:none}
.swp-screen .nav-mob{display:block}
.swp-screen .tabbar-mob{display:flex}
.swp-screen .sw-body{padding:16px 16px 80px}
.swp-screen .page-header{padding-bottom:var(--s-4);margin-bottom:var(--s-4)}
.swp-screen .page-header-top{flex-direction:column;gap:var(--s-3)}
.swp-screen .page-header-title{font-size:19px}
.swp-screen .metrics{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.swp-screen .alerts{grid-template-columns:1fr;gap:10px;margin-bottom:14px}
.swp-screen .wp-table{display:none}
.swp-screen .wp-cards{display:block}
.swp-screen .only-wide{display:none}
.swp-screen .card-h{margin-top:0}
.swp-screen .main{gap:14px}
.swp-screen .wz-steps{display:none}
.swp-screen .m-wzbar{display:block}
.swp-screen .field-row{grid-template-columns:1fr}
.swp-screen .route-longsub{display:none}
.swp-screen .route-info{display:none}
.swp-screen .wz-descfield{display:none}
.swp-screen .boq-fields{display:none}
.swp-screen .boq-desk{display:none}
.swp-screen .boq-mob{display:block}
.swp-screen .boq-opt .od{display:none}
.swp-screen .boq-opt{padding:10px 6px}
.swp-screen .boq-opt .lucide{width:18px;height:18px}
.swp-screen .boq-opt .ol{font-size:9px}
.swp-screen .wz-back{display:none}
.swp-screen .page-header-actions{display:none}
.swp-screen .page-header-meta{display:none}
.swp-screen .wz-nav{justify-content:flex-end}
.swp-screen .wz-nav .btn{width:100%;justify-content:center}}


/* ============================================================
   New preview specifics + upgrades (case study interactivity)
   ============================================================ */

/* ---- shared bits for new slugs ---- */
.swp-compare .wp-tag, .swp-rounds .wp-tag, .swp-screen .wp-tag{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-tertiary);padding:3px 8px;background:rgba(31,38,48,0.06);border:1px solid rgba(31,38,48,0.1);border-radius:4px}
.swp-compare .section-label, .swp-vendors .section-label{font-family:var(--font-mono);font-size:var(--t-tiny);text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-compare .btn:disabled, .swp-rounds .btn:disabled, .swp-eval .btn:disabled, .swp-vendors .btn:disabled, .swp-screen .btn:disabled{opacity:0.35;cursor:default}
.swp-compare .toolbar, .swp-rounds .toolbar, .swp-eval .toolbar, .swp-vendors .toolbar, .swp-screen .toolbar{display:none}

/* ---- swp-compare specifics ---- */
.swp-compare .cmp-metrics{grid-template-columns:repeat(4,1fr)}
.swp-compare .metric-value{font-size:18px}
.swp-compare .flag-red{color:var(--signal-rust)}
.swp-compare .flag-amber{color:var(--signal-amber)}
.swp-compare .avg{font-weight:500}
.swp-compare .flag-tag{font-size:9px;padding:1px 5px;border-radius:var(--r-sm);font-family:var(--font-mono);font-weight:600;display:inline-block;margin-left:4px;white-space:nowrap}
.swp-compare .flag-tag-red{background:rgba(168,74,46,0.1);color:var(--signal-rust);border:1px solid rgba(168,74,46,0.2)}
.swp-compare .flag-tag-amber{background:rgba(184,133,74,0.1);color:var(--signal-amber);border:1px solid rgba(184,133,74,0.2)}
.swp-compare .sw-hide-flags .flag-tag{display:none}
.swp-compare .sw-hide-flags .flag-red, .swp-compare .sw-hide-flags .flag-amber{color:inherit}
.swp-compare .btn[data-sw-toggle]{min-height:44px}
.swp-compare .btn[data-sw-toggle][aria-pressed="true"]{opacity:0.55}
.swp-compare .row-total td{font-weight:600;border-top:2px solid var(--rule-strong);background:rgba(31,38,48,0.04)}
.swp-compare .cmp-expand{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:0;font:inherit;font-weight:500;color:inherit;cursor:pointer;min-height:44px;text-align:left}
.swp-compare .cmp-expand .lucide{width:14px;height:14px;color:var(--ink-tertiary);transition:transform 0.15s;flex-shrink:0}
.swp-compare .cmp-expand.sw-open .lucide{transform:rotate(90deg)}
.swp-compare .cmp-hasdetail td{padding-top:0;padding-bottom:0}
.swp-compare .cmp-detail{display:none}
.swp-compare .cmp-detail.sw-open{display:table-row}
.swp-compare .cmp-detail > td{background:rgba(31,38,48,0.04);padding:14px 16px;border-bottom:1px solid var(--rule-soft)}
.swp-compare .cmp-detail-label{font-family:var(--font-mono);font-size:var(--t-tiny);text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-tertiary);margin-bottom:8px}
.swp-compare .tbl-inner{border:1px solid var(--rule-medium)}
.swp-compare .tbl-inner th{padding:8px 12px}
.swp-compare .tbl-inner td{padding:8px 12px;font-size:var(--t-micro)}
.swp-compare .cmp-foot{font-size:var(--t-micro);color:var(--ink-tertiary);margin-top:10px;display:flex;align-items:flex-start;gap:6px;line-height:1.5}
.swp-compare .cmp-foot .lucide{width:12px;height:12px;flex-shrink:0;margin-top:2px;opacity:0.6}
.swp-compare .cmp-mob{display:none}
.swp-compare .m-cmp{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:12px 14px;margin-bottom:8px}
.swp-compare .m-cmp-t{font-size:var(--t-small);font-weight:600;margin-bottom:8px}
.swp-compare .m-cmp-rows > div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:5px 0;border-bottom:1px solid var(--rule-soft);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-compare .m-cmp-rows > div:last-child{border-bottom:none}
.swp-compare .m-cmp-rows b{font-family:var(--font-mono);font-weight:500;color:var(--ink-primary)}
.swp-compare .m-cmp-rows .flag-red b{color:var(--signal-rust)}
.swp-compare .m-cmp-rows .flag-amber b{color:var(--signal-amber)}
.swp-compare .m-cmp-total{border-color:var(--rule-strong)}
@container fr (max-width:620px){
.swp-compare .cmp-desk{display:none}
.swp-compare .cmp-mob{display:block}
.swp-compare .cmp-metrics{grid-template-columns:repeat(2,1fr)}
.swp-compare .page-header-actions{display:flex}
}

/* ---- swp-rounds / swp-screen step tracks ---- */
.swp-rounds .rd-track, .swp-screen .sc-track{display:flex;gap:0;margin-bottom:var(--s-5);background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);overflow:hidden}
.swp-rounds .rd-node, .swp-screen .sc-node{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px 12px;background:none;border:none;border-bottom:3px solid transparent;font-family:inherit;color:var(--ink-tertiary);cursor:pointer;min-height:44px;transition:background 0.15s,color 0.15s}
.swp-rounds .rd-node:not(:last-child), .swp-screen .sc-node:not(:last-child){border-right:1px solid var(--rule-soft)}
.swp-rounds .rd-node.sw-on, .swp-screen .sc-node.sw-on{color:var(--ink-primary);background:rgba(79,111,74,0.06);border-bottom-color:var(--ledger-600)}
.swp-rounds .rd-node.sw-done, .swp-screen .sc-node.sw-done{color:var(--ledger-800)}
.swp-rounds .rd-dot, .swp-screen .sc-dot{width:30px;height:30px;border-radius:50%;background:rgba(31,38,48,0.06);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background 0.15s,color 0.15s}
.swp-rounds .rd-dot .lucide, .swp-screen .sc-dot .lucide{width:14px;height:14px}
.swp-rounds .rd-node.sw-on .rd-dot, .swp-screen .sc-node.sw-on .sc-dot{background:var(--ledger-600);color:#fff}
.swp-rounds .rd-node.sw-done .rd-dot, .swp-screen .sc-node.sw-done .sc-dot{background:var(--ledger-100);color:var(--ledger-800)}
.swp-rounds .rd-lbl, .swp-screen .sc-lbl{font-size:var(--t-micro);font-weight:500;text-align:center;line-height:1.3}
@media (hover: hover){
.swp-rounds .rd-node:not(.sw-on):hover, .swp-screen .sc-node:not(.sw-on):hover{background:rgba(31,38,48,0.03);color:var(--ink-secondary)}
}
.swp-rounds .rd-nav, .swp-screen .sc-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--rule-medium)}
.swp-rounds .rd-readout, .swp-screen .sc-readout{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-tertiary)}
@container fr (max-width:620px){
.swp-rounds .rd-lbl, .swp-screen .sc-lbl{font-size:9px}
.swp-rounds .rd-dot, .swp-screen .sc-dot{width:26px;height:26px}
}

/* ---- swp-rounds cards ---- */
.swp-rounds .rd-card{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-left:3px solid var(--ledger-600);border-radius:var(--r-lg);padding:var(--s-5)}
.swp-rounds .rd-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:var(--s-3);flex-wrap:wrap}
.swp-rounds .rd-when{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-rounds .rd-hash{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-tertiary);display:flex;align-items:center;gap:5px}
.swp-rounds .rd-hash .lucide{width:11px;height:11px;opacity:0.6}
.swp-rounds .rd-title{font-weight:600;font-size:var(--t-h4);margin-bottom:var(--s-2)}
.swp-rounds .rd-desc{font-size:var(--t-small);color:var(--ink-secondary);line-height:1.6;margin-bottom:var(--s-4)}
.swp-rounds .rd-pills{display:flex;gap:8px;flex-wrap:wrap}
.swp-rounds .rd-pill{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-micro);font-weight:500;padding:5px 11px;border-radius:var(--r-pill);background:rgba(31,38,48,0.04);border:1px solid var(--rule-medium);color:var(--ink-secondary)}
.swp-rounds .rd-pill .lucide{width:11px;height:11px;opacity:0.7}
.swp-rounds .rd-pill-green{background:rgba(79,111,74,0.06);border-color:rgba(79,111,74,0.18);color:var(--ledger-800)}

/* ---- swp-eval specifics ---- */
.swp-eval .ev-grid{display:grid;grid-template-columns:1fr 340px;gap:var(--s-5);align-items:start}
.swp-eval .ev-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5);margin-bottom:var(--s-5)}
.swp-eval .ev-w{margin-bottom:var(--s-4)}
.swp-eval .ev-w-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px}
.swp-eval .ev-w-lbl{font-size:var(--t-small);font-weight:500}
.swp-eval .ev-w-val{font-family:var(--font-mono);font-size:var(--t-small);font-weight:500}
.swp-eval .ev-w-bar{height:6px;background:var(--bg-recessed);border-radius:3px;overflow:hidden;margin-bottom:8px}
.swp-eval .ev-w-bar > i{display:block;height:100%;background:var(--ledger-600);border-radius:3px;transition:width 0.15s}
.swp-eval .ev-w-bar-comm > i{background:var(--bronze-600)}
.swp-eval input[type="range"]{width:100%;height:32px;accent-color:var(--ledger-600);cursor:pointer;background:transparent}
.swp-eval .ev-total{display:flex;align-items:center;gap:7px;font-size:var(--t-micro);color:var(--ledger-800);background:rgba(79,111,74,0.06);border:1px solid rgba(79,111,74,0.18);border-radius:var(--r-md);padding:9px 13px;margin-top:var(--s-1)}
.swp-eval .ev-total .lucide{width:13px;height:13px;color:var(--ledger-600);flex-shrink:0}
.swp-eval .ev-rule{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--rule-soft)}
.swp-eval .ev-rule:last-child{border-bottom:none;padding-bottom:0}
.swp-eval .ev-rule-ico{width:30px;height:30px;border-radius:var(--r-md);background:rgba(31,38,48,0.05);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink-tertiary)}
.swp-eval .ev-rule-ico .lucide{width:14px;height:14px}
.swp-eval .ev-rule-t{font-size:var(--t-small);font-weight:600;margin-bottom:1px}
.swp-eval .ev-rule-d{font-size:var(--t-micro);color:var(--ink-secondary);line-height:1.5}
@container fr (max-width:999px){
.swp-eval .ev-grid{grid-template-columns:1fr}
}
@container fr (max-width:620px){
.swp-eval .ev-fields{grid-template-columns:1fr}
}

/* ---- swp-vendors specifics ---- */
.swp-vendors .vd-tabs{display:flex;gap:4px;margin-bottom:var(--s-4);border-bottom:1px solid var(--rule-medium)}
.swp-vendors .vd-tab{display:inline-flex;align-items:center;gap:7px;padding:11px 14px;background:none;border:none;border-bottom:2px solid transparent;font-family:inherit;font-size:var(--t-small);font-weight:500;color:var(--ink-tertiary);cursor:pointer;min-height:44px;margin-bottom:-1px;transition:color 0.15s,border-color 0.15s}
.swp-vendors .vd-tab .lucide{width:13px;height:13px}
.swp-vendors .vd-tab.sw-on{color:var(--ink-primary);border-bottom-color:var(--ledger-600)}
@media (hover: hover){
.swp-vendors .vd-tab:not(.sw-on):hover{color:var(--ink-secondary)}
.swp-vendors .vd-chip:not(.sw-on):hover{background:var(--bg-recessed)}
}
.swp-vendors .vd-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--s-4)}
.swp-vendors .vd-chip{font-family:inherit;font-size:var(--t-micro);font-weight:500;color:var(--ink-secondary);background:var(--bg-elevated);border:1px solid var(--rule-strong);border-radius:var(--r-pill);padding:9px 15px;cursor:pointer;transition:background 0.15s,color 0.15s,border-color 0.15s}
.swp-vendors .vd-chip.sw-on{background:var(--ledger-600);border-color:var(--ledger-600);color:#fff}
@media (pointer: coarse){
.swp-vendors .vd-chip{min-height:44px}
}
.swp-vendors .vd-nm{display:flex;align-items:center;font-weight:500;white-space:nowrap}
.swp-vendors .vd-av{width:22px;height:22px;border-radius:50%;color:#fff;font-size:8px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:9px}
.swp-vendors .pill-rust{background:var(--signal-rust-bg);color:var(--signal-rust);border-color:rgba(168,74,46,0.2)}
.swp-vendors .vd-count{font-size:var(--t-micro);color:var(--ink-tertiary);margin-top:10px;display:flex;align-items:center;gap:6px}
.swp-vendors .vd-count .lucide{width:11px;height:11px;opacity:0.6}
.swp-vendors .vd-mob{display:none}
.swp-vendors .m-vd{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:12px 14px;margin-bottom:8px}
.swp-vendors .m-vd-top{display:flex;align-items:center;gap:4px;margin-bottom:9px}
.swp-vendors .m-vd-id{flex:1;min-width:0}
.swp-vendors .m-vd-id .nm{font-size:var(--t-small);font-weight:500}
.swp-vendors .m-vd-id .mt{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-vendors .m-vd-bot{display:flex;gap:16px;font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-vendors .m-vd-bot b{font-family:var(--font-mono);font-weight:500;color:var(--ink-primary);margin-left:4px}
.swp-vendors .vd-routes{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4);align-items:start}
.swp-vendors .vd-route{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5)}
.swp-vendors .vd-route-head{display:flex;gap:12px;margin-bottom:var(--s-4)}
.swp-vendors .vd-route-ico{width:34px;height:34px;border-radius:var(--r-md);background:rgba(31,38,48,0.05);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink-secondary)}
.swp-vendors .vd-route-ico .lucide{width:16px;height:16px}
.swp-vendors .vd-route-t{font-size:var(--t-small);font-weight:600;margin-bottom:2px}
.swp-vendors .vd-route-d{font-size:var(--t-micro);color:var(--ink-secondary);line-height:1.5}
.swp-vendors .vd-onb{display:flex;align-items:center;gap:9px;font-size:var(--t-micro);color:var(--ink-secondary);padding:6px 0}
.swp-vendors .vd-onb-n{width:18px;height:18px;border-radius:50%;background:rgba(31,38,48,0.08);font-family:var(--font-mono);font-size:9px;font-weight:600;color:var(--ink-secondary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-vendors .vd-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin-bottom:var(--s-3)}
.swp-vendors .vd-synced{display:flex;align-items:flex-start;gap:8px;padding:9px 14px;background:rgba(79,111,74,0.06);border:1px solid rgba(79,111,74,0.18);border-radius:var(--r-md);font-size:var(--t-micro);color:var(--ledger-800);line-height:1.5}
.swp-vendors .vd-synced .lucide{width:14px;height:14px;color:var(--ledger-600);flex-shrink:0;margin-top:1px}
.swp-vendors .vd-synced .mono{font-family:var(--font-mono)}
@container fr (max-width:999px){
.swp-vendors .vd-routes{grid-template-columns:1fr}
}
@container fr (max-width:620px){
.swp-vendors .vd-desk{display:none}
.swp-vendors .vd-mob{display:block}
.swp-vendors .vd-fields{grid-template-columns:1fr}
.swp-vendors .page-header-actions{display:none}
}

/* ---- swp-screen specifics ---- */
.swp-screen .pill-rust{background:var(--signal-rust-bg);color:var(--signal-rust);border-color:rgba(168,74,46,0.2)}
.swp-screen .sc-doc{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5)}
.swp-screen .sc-file{display:flex;align-items:center;gap:12px;padding-bottom:var(--s-3);border-bottom:1px solid var(--rule-soft);margin-bottom:var(--s-4);flex-wrap:wrap}
.swp-screen .sc-file-ico{width:36px;height:36px;border-radius:var(--r-md);background:rgba(31,38,48,0.05);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink-secondary)}
.swp-screen .sc-file-ico .lucide{width:16px;height:16px}
.swp-screen .sc-file > div{flex:1;min-width:0}
.swp-screen .sc-file-nm{font-size:var(--t-small);font-weight:600}
.swp-screen .sc-file-mt{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-screen .sc-note{display:flex;align-items:flex-start;gap:7px;font-size:var(--t-micro);color:var(--ink-secondary);line-height:1.5}
.swp-screen .sc-note .lucide{width:12px;height:12px;flex-shrink:0;margin-top:2px;opacity:0.6}
.swp-screen .sc-scan-row{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--rule-soft);font-size:var(--t-small)}
.swp-screen .sc-scan-row:last-child{border-bottom:none}
.swp-screen .sc-scan-row .lucide{width:14px;height:14px;color:var(--ink-tertiary);flex-shrink:0}
.swp-screen .sc-scan-state{margin-left:auto;font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-tertiary);animation:sw-scan-pulse 1.2s ease-in-out infinite}
@keyframes sw-scan-pulse{0%,100%{opacity:1}50%{opacity:0.35}}
.swp-screen .sc-flag{background:rgba(168,74,46,0.05);border:1px solid rgba(168,74,46,0.18);border-radius:var(--r-md);padding:var(--s-4)}
.swp-screen .sc-flag-head{display:flex;align-items:center;gap:7px;font-size:var(--t-small);font-weight:600;color:var(--signal-rust);margin-bottom:var(--s-2)}
.swp-screen .sc-flag-head .lucide{width:14px;height:14px;flex-shrink:0}
.swp-screen .sc-flag-item{display:flex;align-items:center;gap:8px;font-size:var(--t-micro);color:var(--ink-primary);padding:5px 0}
.swp-screen .sc-flag-item .lucide{width:12px;height:12px;color:var(--signal-rust);opacity:0.7;flex-shrink:0}
.swp-screen .sc-flag-foot{font-size:var(--t-micro);color:var(--ink-secondary);line-height:1.5;margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px solid rgba(168,74,46,0.12)}
.swp-screen .sc-page{background:var(--parchment-25);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:var(--s-5);display:flex;flex-direction:column;gap:9px;margin-bottom:var(--s-3)}
.swp-screen .sc-page-line{height:8px;background:rgba(31,38,48,0.1);border-radius:2px;width:100%}
.swp-screen .sc-page-line.sc-redact{background:var(--slate-800)}
.swp-screen .sc-redact-inline{display:block;width:38%;height:8px;background:var(--slate-800);border-radius:2px;margin-left:22%}
.swp-screen .sc-done{display:flex;align-items:flex-start;gap:8px;padding:9px 14px;background:rgba(79,111,74,0.06);border:1px solid rgba(79,111,74,0.18);border-radius:var(--r-md);font-size:var(--t-micro);color:var(--ledger-800);line-height:1.5}
.swp-screen .sc-done .lucide{width:14px;height:14px;color:var(--ledger-600);flex-shrink:0;margin-top:1px}
.swp-screen .sc-done .mono{font-family:var(--font-mono)}

/* ---- swp-boq upgrades (interactive routes) ---- */
.swp-boq .boq-opt{font-family:inherit;color:inherit;cursor:pointer;min-height:44px}
.swp-boq .boq-opt.sw-on{border-color:var(--ledger-600);background:rgba(79,111,74,0.04)}
.swp-boq .boq-opt.sw-on .lucide{opacity:1;color:var(--ledger-600)}
@media (hover: hover){
.swp-boq .boq-opt:not(.sw-on):hover{border-color:var(--slate-400)}
}
.swp-boq .boq-drop{display:flex;align-items:center;gap:12px;border:2px dashed var(--rule-strong);border-radius:var(--r-lg);padding:var(--s-4) var(--s-5);background:var(--bg-elevated);margin-bottom:14px;flex-wrap:wrap}
.swp-boq .boq-drop > .lucide{width:22px;height:22px;color:var(--ink-tertiary);flex-shrink:0}
.swp-boq .boq-drop > div{flex:1;min-width:180px}
.swp-boq .boq-drop .dl{font-size:var(--t-small);font-weight:500}
.swp-boq .boq-drop .dd{font-size:var(--t-micro);color:var(--ink-tertiary)}

/* ---- swp-certificate upgrades (checks animate to passed) ---- */
.swp-certificate .verify-icon{transition:background 0.35s,color 0.35s}
.swp-certificate .verify-check{transition:opacity 0.35s}
.swp-certificate .sw-cert-armed .verify-check:not(.sw-passed){opacity:0.45}
.swp-certificate .sw-cert-armed .verify-check:not(.sw-passed) .verify-icon{background:rgba(31,38,48,0.08);color:var(--ink-tertiary)}
.swp-certificate .sw-cert-armed .pic-stamp{opacity:0.15;filter:grayscale(1);transition:opacity 0.6s,filter 0.6s}
.swp-certificate .sw-cert-armed .pic-stamp.sw-stamped{opacity:1;filter:none}

/* ---- swp-reports (base cloned from swp-boq) ---- */
.swp-reports{--font-display:'Marcellus',Georgia,serif;--font-ui:'Inter',-apple-system,system-ui,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-pill:999px;--t-h4:16px;--t-body:14px;--t-small:13px;--t-micro:11px;--t-tiny:10px}
.swp-reports .stage{background:#15191e;min-height:100vh;display:flex;flex-direction:column;align-items:center;font-family:var(--font-ui);padding:32px 24px 48px}
.swp-reports .stage-h{width:100%;max-width:1360px;color:var(--parchment-100);margin-bottom:20px}
.swp-reports .stage-h .eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--bronze-300);margin-bottom:8px}
.swp-reports .stage-h .title{font-family:var(--font-display);font-size:26px;line-height:1.2;color:var(--parchment-50);margin-bottom:6px}
.swp-reports .stage-h .sub{font-size:13px;color:rgba(242,235,216,0.55);line-height:1.6;max-width:720px}
.swp-reports .toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px;justify-content:center}
.swp-reports .seg{display:inline-flex;background:rgba(242,235,216,0.05);border:1px solid rgba(242,235,216,0.12);border-radius:var(--r-pill);padding:3px}
.swp-reports .seg button{font-family:var(--font-ui);font-size:12px;font-weight:500;color:rgba(242,235,216,0.6);background:transparent;border:none;border-radius:var(--r-pill);padding:7px 16px;display:flex;align-items:center;gap:7px;cursor:pointer;transition:color .18s,background .18s}
.swp-reports .seg button .lucide{width:14px;height:14px}
.swp-reports .seg button.on{background:var(--ledger-600);color:#fff}
.swp-reports .readout{font-family:var(--font-mono);font-size:12px;color:rgba(242,235,216,0.5);letter-spacing:0.04em;display:flex;align-items:center;gap:8px}
.swp-reports .readout b{color:var(--parchment-100);font-weight:500}
.swp-reports .readout .hint{color:rgba(242,235,216,0.32);font-size:11px}
.swp-reports .stage-viewport{width:100%;display:flex;justify-content:center;align-items:flex-start;min-height:820px;overflow-x:auto;padding-bottom:8px}
.swp-reports .stage.embed{min-height:0;background:transparent;padding:0}
.swp-reports .stage.embed .stage-h{display:none}
.swp-reports .stage.embed .toolbar{display:none}
.swp-reports .stage.embed .rz{display:none}
.swp-reports .stage.embed .stage-viewport{min-height:0;overflow:visible;display:block;padding:0}
.swp-reports .stage.embed .device{width:100%;height:auto;transform:none}
.swp-reports .stage.embed .frame{height:auto}
.swp-reports .stage.embed .app-scroll{height:clamp(480px,62vh,720px);overflow-y:auto}
.swp-reports .device{position:relative;flex-shrink:0;background:#0c0f13;border-radius:26px;padding:14px;box-shadow:0 12px 34px rgba(0,0,0,0.38),0 0 0 1px rgba(242,235,216,0.07) inset;transition:width .42s cubic-bezier(0.16,1,0.3,1),height .42s cubic-bezier(0.16,1,0.3,1),padding .42s cubic-bezier(0.16,1,0.3,1),border-radius .42s cubic-bezier(0.16,1,0.3,1),background .3s ease,box-shadow .3s ease}
.swp-reports .device.light{background:#e7e2d4;box-shadow:0 12px 34px rgba(24,28,33,0.2),0 0 0 1px rgba(24,28,33,0.09) inset}
.swp-reports .device.light .device-notch{background:#e7e2d4}
.swp-reports .device.dragging{transition:none}
.swp-reports .device.d-mobile{border-radius:42px;padding:12px}
.swp-reports .device.d-ipad{border-radius:34px;padding:16px}
.swp-reports .device-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:120px;height:26px;background:#0c0f13;border-radius:0 0 16px 16px;z-index:40;display:none}
.swp-reports .device.d-mobile .device-notch{display:block}
.swp-reports .frame{container-type:inline-size;container-name:fr;background:var(--bg-canvas);width:100%;height:100%;border-radius:12px;overflow:hidden;position:relative;color:var(--ink-primary);font-family:var(--font-ui);font-size:14px;line-height:1.6}
.swp-reports .device.d-mobile .frame{border-radius:30px}
.swp-reports .device.d-ipad .frame{border-radius:20px}
.swp-reports .frame *{box-sizing:border-box}
.swp-reports .frame a{color:inherit;text-decoration:none}
.swp-reports .frame button{font-family:inherit;cursor:pointer}
.swp-reports .frame .lucide{width:16px;height:16px;stroke-width:1.75}
.swp-reports .app-scroll{height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(31,38,48,0.25) transparent}
.swp-reports .nav-full{background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-reports .nav-row1{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-6) var(--s-3);border-bottom:1px solid var(--rule-on-chrome)}
.swp-reports .nav-wm{font-family:var(--font-display);font-size:22px;color:var(--ink-on-chrome);line-height:1;display:flex;align-items:center}
.swp-reports .nav-wm .tag{color:var(--ink-on-chrome-faint);font-family:var(--font-ui);font-size:var(--t-micro);font-weight:400;margin-left:10px;padding-left:10px;border-left:1px solid var(--rule-on-chrome)}
.swp-reports .nav-utility{display:flex;gap:var(--s-4);align-items:center;font-size:var(--t-micro);color:var(--ink-on-chrome-muted)}
.swp-reports .nav-utility-search{background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:7px 11px;display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome-faint);font-size:var(--t-micro);white-space:nowrap}
.swp-reports .nav-utility-search .lucide{width:12px;height:12px}
.swp-reports .nav-utility-icon{width:32px;height:32px;border-radius:var(--r-md);background:rgba(242,235,216,0.06);border:1px solid rgba(242,235,216,0.1);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}
.swp-reports .nav-utility-icon .lucide{width:14px;height:14px;color:var(--ink-on-chrome)}
.swp-reports .nav-utility-who{display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome);font-size:var(--t-micro);white-space:nowrap}
.swp-reports .nav-utility-avatar{width:24px;height:24px;border-radius:50%;background:var(--bronze-600);color:var(--slate-800);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-reports .notif-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 4px;background:var(--bronze-600);color:var(--slate-900);font-family:var(--font-mono);font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;border-radius:99px;border:1.5px solid var(--slate-800)}
.swp-reports .nav-row2{display:flex;padding:0 var(--s-6);width:100%;justify-content:space-between;gap:2px;overflow:hidden}
.swp-reports .nav-row2 a{font-size:12px;color:var(--ink-on-chrome-muted);padding:11px 0 13px;border-bottom:2px solid transparent;display:flex;align-items:center;white-space:nowrap}
.swp-reports .nav-row2 a.on{color:var(--ink-on-chrome);border-bottom-color:var(--ledger-600);font-weight:500}
.swp-reports .navico{width:19px;height:19px;padding:3px;margin-right:6px;background:rgba(242,235,216,0.08);border-radius:4px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.swp-reports .navico .lucide{width:13px;height:13px}
.swp-reports .util-search-icon{display:none}
.swp-reports .nav-mob{display:none;background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-reports .m-top{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 10px}
.swp-reports .m-top .nav-wm{font-size:18px}
.swp-reports .m-top .mt-right{display:flex;align-items:center;gap:12px}
.swp-reports .m-search-row{padding:10px 16px 12px;background:var(--slate-700);border-top:1px solid var(--rule-on-chrome)}
.swp-reports .m-search{display:flex;align-items:center;gap:8px;background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:10px 12px;color:var(--ink-on-chrome-faint);font-size:13px}
.swp-reports .m-search .lucide{width:14px;height:14px}
.swp-reports .tabbar-mob{display:none;position:absolute;bottom:0;left:0;right:0;height:62px;background:var(--slate-800);border-top:1px solid var(--rule-on-chrome);align-items:center;justify-content:space-around;padding-bottom:2px;z-index:30}
.swp-reports .m-tab{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;color:var(--ink-on-chrome-muted);flex:1}
.swp-reports .m-tab .lucide{width:20px;height:20px}
.swp-reports .m-tab.on{color:var(--ledger-300)}
.swp-reports .sw-body{padding:var(--s-6) var(--s-8);width:100%}
.swp-reports .crumbs{display:flex;align-items:center;gap:6px;font-size:var(--t-micro);color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-reports .crumb-current{color:var(--ink-primary);font-weight:500}
.swp-reports .page-header{display:flex;flex-direction:column;gap:var(--s-3);padding-bottom:var(--s-5);margin-bottom:var(--s-5);border-bottom:1px solid var(--rule-medium)}
.swp-reports .page-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4)}
.swp-reports .page-header-title{font-size:22px;font-weight:500;letter-spacing:-0.015em;margin:0}
.swp-reports .page-header-meta{display:flex;gap:var(--s-4);font-size:var(--t-micro);color:var(--ink-secondary);margin-top:var(--s-2);flex-wrap:wrap}
.swp-reports .page-header-meta-item{display:flex;align-items:center;gap:5px}
.swp-reports .page-header-meta-item .lucide{width:12px;height:12px;opacity:0.6}
.swp-reports .btn{font-size:var(--t-small);font-weight:500;padding:9px 16px;border-radius:var(--r-md);border:1px solid transparent;display:inline-flex;align-items:center;gap:var(--s-2);line-height:1;white-space:nowrap}
.swp-reports .btn .lucide{width:14px;height:14px}
.swp-reports .frame .btn-accent, .swp-reports .frame .btn-accent .lucide{color:#fff}
.swp-reports .btn-accent{background:var(--ledger-600);border-color:var(--ledger-600)}
.swp-reports .btn-secondary{background:transparent;color:var(--ink-primary);border-color:var(--rule-strong)}
.swp-reports .btn-sm{padding:6px 12px;font-size:var(--t-micro)}
.swp-reports .pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-tiny);font-weight:500;padding:3px 9px;border-radius:var(--r-pill);border:1px solid transparent;white-space:nowrap}
.swp-reports .pill-active{background:var(--ledger-100);color:var(--ledger-800);border-color:rgba(79,111,74,0.25)}
.swp-reports .pill-warm{background:var(--bronze-100);color:var(--bronze-800);border-color:rgba(168,121,74,0.3)}
.swp-reports .pill-locked{background:var(--slate-800);color:var(--parchment-100)}
.swp-reports .pill-draft{background:rgba(31,38,48,0.06);color:var(--ink-tertiary);border-color:rgba(31,38,48,0.1)}
.swp-reports .metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}
.swp-reports .metric{background:rgba(31,38,48,0.04);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:var(--s-4)}
.swp-reports .metric-label{font-size:var(--t-micro);color:var(--ink-secondary);margin-bottom:var(--s-1);display:flex;align-items:center;gap:5px}
.swp-reports .metric-label .lucide{width:12px;height:12px;opacity:0.5}
.swp-reports .metric-value{font-family:var(--font-mono);font-size:22px;font-weight:500;line-height:1.1}
.swp-reports .alerts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.swp-reports .alert-card{border-radius:0 var(--r-lg) var(--r-lg) 0;padding:var(--s-4);display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-reports .alert-card .lucide{width:18px;height:18px;flex-shrink:0;margin-top:2px}
.swp-reports .alert-rust{background:rgba(168,74,46,0.04);border:1px solid rgba(168,74,46,0.15);border-left:4px solid var(--signal-rust)}
.swp-reports .alert-amber{background:rgba(184,133,74,0.04);border:1px solid rgba(184,133,74,0.15);border-left:4px solid var(--signal-amber)}
.swp-reports .alert-t{font-weight:600;font-size:var(--t-small);margin-bottom:2px}
.swp-reports .alert-d{font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-reports .main{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.swp-reports .card-h{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3)}
.swp-reports .card-title{font-size:var(--t-h4);font-weight:500;display:flex;align-items:center;gap:6px}
.swp-reports .card-title .lucide{width:14px;height:14px;opacity:0.45}
.swp-reports .card{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5)}
.swp-reports .wp-cards{display:none}
.swp-reports .tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--parchment-25);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-reports .tbl th{font-size:var(--t-tiny);font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:rgba(237,229,200,0.8);text-align:left;padding:11px 14px;background:var(--slate-800)}
.swp-reports .tbl th:first-child{padding-left:16px}
.swp-reports .tbl th.r{text-align:right}
.swp-reports .tbl td{font-size:var(--t-small);padding:11px 14px;border-bottom:1px solid var(--rule-soft);background:var(--parchment-25)}
.swp-reports .tbl td:first-child{padding-left:16px}
.swp-reports .tbl tr:nth-child(even) td{background:rgba(31,38,48,0.025)}
.swp-reports .tbl td.m{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-reports .tbl td.r{text-align:right}
.swp-reports .tbl tr:last-child td{border-bottom:none}
.swp-reports .col-project, .swp-reports .col-bids{display:table-cell}
.swp-reports .m-wp{display:flex;flex-direction:column;gap:9px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:13px 14px;margin-bottom:8px}
.swp-reports .m-wp-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.swp-reports .m-wp-bot{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.swp-reports .m-wp .tr{font-size:var(--t-body);font-weight:500}
.swp-reports .m-wp .meta{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-reports .m-wp .meta .id{font-family:var(--font-mono);color:var(--ink-secondary)}
.swp-reports .m-wp .val{font-family:var(--font-mono);font-size:var(--t-small);color:var(--ink-primary);white-space:nowrap}
.swp-reports .evrow{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule-soft)}
.swp-reports .evrow:last-child{border-bottom:none}
.swp-reports .evrow .av{width:24px;height:24px;border-radius:50%;color:#fff;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-reports .evrow .nm{flex:1;font-size:var(--t-small);font-weight:500}
.swp-reports .evrow .bar{width:80px;height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-reports .evrow .bar > i{display:block;height:100%;background:var(--ledger-600);border-radius:3px}
.swp-reports .evrow .ct{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);width:40px;text-align:right}
.swp-reports .ev-wrap{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-reports .activity-item{display:flex;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--rule-soft);font-size:var(--t-small)}
.swp-reports .activity-item:last-child{border-bottom:none}
.swp-reports .activity-dot{width:8px;height:8px;border-radius:50%;background:var(--ledger-600);margin-top:6px;flex-shrink:0}
.swp-reports .activity-dot.warn{background:var(--signal-amber)}
.swp-reports .activity-dot.cert{background:var(--bronze-600)}
.swp-reports .activity-time{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px}
.swp-reports .text-mono{font-family:var(--font-mono)}
.swp-reports .text-micro{font-size:var(--t-micro)}
.swp-reports .rz{position:absolute;top:0;bottom:0;width:16px;right:-8px;cursor:ew-resize;z-index:60;display:flex;align-items:center;justify-content:center}
.swp-reports .rz::before{content:"";width:4px;height:52px;border-radius:99px;background:rgba(242,235,216,0.18);transition:background .18s}
.swp-reports .rz:hover::before{background:var(--ledger-600)}
.swp-reports .page-header-actions{display:flex;gap:var(--s-2)}
.swp-reports .crumb-sep{opacity:0.5;font-size:10px}
.swp-reports .crumbs a{display:flex;align-items:center;gap:3px}
.swp-reports .crumbs a .lucide{width:11px;height:11px;opacity:0.45}
.swp-reports .frame .btn-dark, .swp-reports .frame .btn-dark .lucide{color:var(--ink-on-chrome)}
.swp-reports .btn-dark{background:var(--slate-800);border-color:var(--slate-800)}
.swp-reports .field-label{font-size:var(--t-micro);font-weight:500;margin-bottom:var(--s-1);display:block}
.swp-reports .field-input, .swp-reports .field-textarea{width:100%;padding:9px 12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);background:var(--parchment-25);color:var(--ink-primary)}
.swp-reports .field-textarea{min-height:70px;resize:vertical;display:block}
.swp-reports .field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}
.swp-reports .spicker-input{width:100%;padding:10px 12px 10px 36px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);height:40px;background:var(--parchment-25)}
.swp-reports .frame .ficon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--ink-tertiary);pointer-events:none}
.swp-reports .wz-steps{display:flex;gap:0;margin-bottom:var(--s-6);overflow:hidden}
.swp-reports .wz-step{flex:1;text-align:center;padding:13px 8px 10px;font-size:var(--t-micro);font-weight:500;color:var(--ink-tertiary);white-space:nowrap;background:rgba(31,38,48,0.03);border-bottom:3px solid var(--rule-medium);display:flex;align-items:center;justify-content:center;gap:5px}
.swp-reports .wz-step:first-child{border-radius:var(--r-md) 0 0 var(--r-md)}
.swp-reports .wz-step:last-child{border-radius:0 var(--r-md) var(--r-md) 0}
.swp-reports .wz-step:not(:last-child){border-right:1px solid var(--rule-soft)}
.swp-reports .wz-step.active{background:rgba(79,111,74,0.06);border-bottom-color:var(--ledger-600);color:var(--ink-primary)}
.swp-reports .wz-step-num{font-family:var(--font-mono);font-size:9px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--rule-medium);color:var(--ink-tertiary);flex-shrink:0}
.swp-reports .wz-step.active .wz-step-num{background:var(--ledger-600);color:#fff}
.swp-reports .wz-route-badge{font-size:8px;font-weight:600;padding:2px 6px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.04em;background:var(--ledger-100);color:var(--ledger-800)}
.swp-reports .wz-section{font-family:var(--font-mono);font-size:var(--t-tiny);text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-reports .wz-desc{font-size:var(--t-small);color:var(--ink-secondary);margin-bottom:var(--s-5);line-height:1.6}
.swp-reports .wz-nav{display:flex;justify-content:space-between;gap:var(--s-3);align-items:center;margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--rule-medium)}
.swp-reports .route-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin-top:var(--s-3)}
.swp-reports .route-option{border:2px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);background:var(--bg-elevated)}
.swp-reports .route-option.selected{border-color:var(--ledger-600);background:var(--ledger-600);color:#fff}
.swp-reports .route-option.selected .route-sub{color:rgba(255,255,255,0.7)}
.swp-reports .route-option.selected .lucide{color:#fff}
.swp-reports .route-option-head{display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-reports .route-option-head .lucide{width:16px;height:16px;margin-top:2px;flex-shrink:0;color:var(--ink-tertiary)}
.swp-reports .route-sub{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-reports .route-info{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5);margin-top:var(--s-4);border-left:3px solid var(--ledger-600)}
.swp-reports .route-info-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--s-3)}
.swp-reports .route-info-title{font-weight:600;display:flex;align-items:center;gap:var(--s-2)}
.swp-reports .route-info-title .lucide{width:16px;height:16px;color:var(--ledger-600)}
.swp-reports .route-info-badge{font-size:9px;font-weight:600;padding:2px 8px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.05em;background:var(--ledger-100);color:var(--ledger-800)}
.swp-reports .route-info-desc{font-size:var(--t-micro);color:var(--ink-secondary);line-height:1.6;margin-bottom:var(--s-4)}
.swp-reports .route-enforced{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}
.swp-reports .route-enforced-item{display:flex;align-items:center;gap:var(--s-2);font-size:var(--t-micro);padding:6px 10px;border-radius:var(--r-md);background:rgba(79,111,74,0.04)}
.swp-reports .route-enforced-item .lucide{width:12px;height:12px;color:var(--ledger-600);flex-shrink:0}
.swp-reports .m-wzbar{display:none;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:11px 14px;margin-bottom:14px}
.swp-reports .m-wzbar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.swp-reports .m-wzbar-step{font-size:var(--t-small);font-weight:600;display:flex;align-items:center;gap:7px}
.swp-reports .m-wzbar-step .n{font-family:var(--font-mono);font-size:9px;width:18px;height:18px;border-radius:50%;background:var(--ledger-600);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.swp-reports .m-wzbar-count{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary)}
.swp-reports .m-wztrack{height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-reports .m-wztrack > i{display:block;height:100%;width:12.5%;background:var(--ledger-600);border-radius:3px}
.swp-reports .wz-step.done{background:rgba(79,111,74,0.04);border-bottom-color:var(--ledger-300);color:var(--ledger-800)}
.swp-reports .wz-step.done .wz-step-num{background:var(--ledger-300);color:var(--ledger-800)}
.swp-reports .wz-step.done .wz-step-num .lucide{width:11px;height:11px}
.swp-reports .field-select{width:100%;padding:9px 32px 9px 12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);background:var(--parchment-25);color:var(--ink-primary);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234A5563' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
.swp-reports .field-hint{font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px;display:flex;align-items:center;gap:4px}
.swp-reports .field-hint .lucide{width:10px;height:10px;opacity:0.5}
.swp-reports .boq-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--s-3);margin-bottom:var(--s-5)}
.swp-reports .boq-opt{border:2px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);background:var(--bg-elevated);text-align:center}
.swp-reports .boq-opt.selected{border-color:var(--ledger-600);background:rgba(79,111,74,0.04)}
.swp-reports .boq-opt .lucide{width:26px;height:26px;margin:0 auto var(--s-2);opacity:0.4}
.swp-reports .boq-opt.selected .lucide{opacity:1;color:var(--ledger-600)}
.swp-reports .boq-opt .ol{font-weight:500;margin-bottom:3px}
.swp-reports .boq-opt .od{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-reports .boq-imported{display:flex;align-items:center;gap:8px;padding:9px 14px;background:rgba(79,111,74,0.06);border:1px solid rgba(79,111,74,0.18);border-radius:var(--r-md);font-size:var(--t-small);color:var(--ledger-800);margin-bottom:14px}
.swp-reports .boq-imported .lucide{width:14px;height:14px;color:var(--ledger-600);flex-shrink:0}
.swp-reports .boq-imported .mono{font-family:var(--font-mono);font-size:var(--t-micro)}
.swp-reports .boq-tablehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:var(--t-micro)}
.swp-reports .boq-tablehead .lbl{font-weight:500}
.swp-reports .boq-tablehead .hint{color:var(--ink-tertiary);display:flex;align-items:center;gap:4px}
.swp-reports .boq-tablehead .hint .lucide{width:10px;height:10px;opacity:0.4}
.swp-reports .boq-section-row td{background:rgba(31,38,48,0.06);border-bottom:1px solid var(--rule-medium);font-weight:600}
.swp-reports .boq-section-ref{font-family:var(--font-mono);font-size:var(--t-small);font-weight:700;color:var(--ink-primary)}
.swp-reports .boq-item-ref{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-reports .boq-drag{cursor:grab;opacity:0.3;width:14px;height:14px}
.swp-reports .boq-del{opacity:0.3;width:14px;height:14px;color:var(--signal-rust)}
.swp-reports .boq-mob{display:none}
.swp-reports .m-boqsec{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-secondary);background:rgba(31,38,48,0.06);padding:6px 12px;border-radius:var(--r-sm);margin-bottom:6px;font-weight:700;display:flex;align-items:center;gap:8px}
.swp-reports .m-boqrow{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 12px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);margin-bottom:6px}
.swp-reports .m-boqrow .l{display:flex;gap:8px;align-items:baseline;min-width:0}
.swp-reports .m-boqrow .ref{font-family:var(--font-mono);font-size:9px;color:var(--ink-tertiary);flex-shrink:0}
.swp-reports .m-boqrow .d{font-size:var(--t-small)}
.swp-reports .m-boqrow .q{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);white-space:nowrap;flex-shrink:0}
@container fr (max-width:999px){.swp-reports .sw-body{padding:var(--s-5) var(--s-6)}
.swp-reports .nav-row2{justify-content:flex-start;gap:24px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.swp-reports .nav-row2::-webkit-scrollbar{display:none}
.swp-reports .nav-row2 a{font-size:var(--t-micro);padding:10px 0 12px;flex:none}
.swp-reports .navico{margin-right:7px}
.swp-reports .tab-extra{display:flex}
.swp-reports .nav-utility-search{display:none}
.swp-reports .util-search-icon{display:flex}
.swp-reports .metrics{grid-template-columns:repeat(3,1fr)}
.swp-reports .main{grid-template-columns:1fr}
.swp-reports .col-project, .swp-reports .col-bids{display:none}
.swp-reports .wz-step{font-size:9px;padding:11px 4px 9px;gap:3px}
.swp-reports .wz-step-num{width:16px;height:16px}
.swp-reports .wz-route-badge{display:none}}
@container fr (max-width:620px){.swp-reports .nav-full{display:none}
.swp-reports .nav-mob{display:block}
.swp-reports .tabbar-mob{display:flex}
.swp-reports .sw-body{padding:16px 16px 80px}
.swp-reports .page-header{padding-bottom:var(--s-4);margin-bottom:var(--s-4)}
.swp-reports .page-header-top{flex-direction:column;gap:var(--s-3)}
.swp-reports .page-header-title{font-size:19px}
.swp-reports .metrics{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.swp-reports .alerts{grid-template-columns:1fr;gap:10px;margin-bottom:14px}
.swp-reports .wp-table{display:none}
.swp-reports .wp-cards{display:block}
.swp-reports .only-wide{display:none}
.swp-reports .card-h{margin-top:0}
.swp-reports .main{gap:14px}
.swp-reports .wz-steps{display:none}
.swp-reports .m-wzbar{display:block}
.swp-reports .field-row{grid-template-columns:1fr}
.swp-reports .route-longsub{display:none}
.swp-reports .route-info{display:none}
.swp-reports .wz-descfield{display:none}
.swp-reports .boq-fields{display:none}
.swp-reports .boq-desk{display:none}
.swp-reports .boq-mob{display:block}
.swp-reports .boq-opt .od{display:none}
.swp-reports .boq-opt{padding:10px 6px}
.swp-reports .boq-opt .lucide{width:18px;height:18px}
.swp-reports .boq-opt .ol{font-size:9px}
.swp-reports .wz-back{display:none}
.swp-reports .page-header-actions{display:none}
.swp-reports .page-header-meta{display:none}
.swp-reports .wz-nav{justify-content:flex-end}
.swp-reports .wz-nav .btn{width:100%;justify-content:center}}


/* ---- swp-reports specifics ---- */
.swp-reports .toolbar{display:none}
.swp-reports .btn:disabled{opacity:0.35;cursor:default}
.swp-reports .rp-types{display:flex;gap:4px;margin-bottom:var(--s-4);border-bottom:1px solid var(--rule-medium);overflow-x:auto;scrollbar-width:none}
.swp-reports .rp-type{display:inline-flex;align-items:center;gap:7px;padding:11px 14px;background:none;border:none;border-bottom:2px solid transparent;font-family:inherit;font-size:var(--t-small);font-weight:500;color:var(--ink-tertiary);cursor:pointer;min-height:44px;margin-bottom:-1px;white-space:nowrap;transition:color 0.15s,border-color 0.15s}
.swp-reports .rp-type .lucide{width:13px;height:13px}
.swp-reports .rp-type.sw-on{color:var(--ink-primary);border-bottom-color:var(--ledger-600)}
@media (hover: hover){
.swp-reports .rp-type:not(.sw-on):hover{color:var(--ink-secondary)}
}
.swp-reports .rp-fields{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:var(--s-4)}
.swp-reports .rp-fields-lbl{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--t-tiny);text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-tertiary);margin-right:4px}
.swp-reports .rp-fields-lbl .lucide{width:12px;height:12px}
.swp-reports .rp-field{display:inline-flex;align-items:center;gap:7px;font-size:var(--t-micro);font-weight:500;color:var(--ink-secondary);background:var(--bg-elevated);border:1px solid var(--rule-strong);border-radius:var(--r-pill);padding:8px 14px;cursor:pointer;transition:background 0.15s,border-color 0.15s}
.swp-reports .rp-field input{accent-color:var(--ledger-600);width:13px;height:13px;margin:0;cursor:pointer}
.swp-reports .rp-field:has(input:checked){border-color:rgba(79,111,74,0.4);background:rgba(79,111,74,0.05);color:var(--ledger-800)}
@media (hover: hover){
.swp-reports .rp-field:hover{background:var(--bg-recessed)}
.swp-reports .rp-field:has(input:checked):hover{background:rgba(79,111,74,0.09)}
}
@media (pointer: coarse){
.swp-reports .rp-field{min-height:44px}
}
.swp-reports .rp-good{color:var(--ledger-600)}
.swp-reports .rp-foot{font-size:var(--t-micro);color:var(--ink-tertiary);margin-top:12px;display:flex;align-items:flex-start;gap:6px;line-height:1.5}
.swp-reports .rp-foot .lucide{width:12px;height:12px;flex-shrink:0;margin-top:2px;opacity:0.6}
.swp-reports .rp-mob{display:none}
.swp-reports .m-rp{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:12px 14px;margin-bottom:8px}
.swp-reports .m-rp-t{font-size:var(--t-small);font-weight:600;margin-bottom:8px}
.swp-reports .m-rp-t .id{font-family:var(--font-mono);font-weight:500;color:var(--ink-secondary);margin-right:6px}
.swp-reports .m-rp-rows > div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:5px 0;border-bottom:1px solid var(--rule-soft);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-reports .m-rp-rows > div:last-child{border-bottom:none}
.swp-reports .m-rp-rows b{font-family:var(--font-mono);font-weight:500;color:var(--ink-primary)}
.swp-reports .m-rp-rows b.rp-good{color:var(--ledger-600)}
@container fr (max-width:620px){
.swp-reports .rp-desk{display:none}
.swp-reports .rp-fields{display:none}
.swp-reports .rp-mob{display:block}
.swp-reports .page-header-actions{display:none}
}

/* ---- swp-vendors: original registry card grid ---- */
.swp-vendors .vd-searchbar{display:flex;gap:var(--s-3);margin-bottom:var(--s-4);align-items:center;flex-wrap:wrap}
.swp-vendors .vd-searchwrap{flex:1;min-width:220px;position:relative}
.swp-vendors .search-input{width:100%;font-family:inherit;font-size:var(--t-small);padding:10px 12px 10px 36px;border:1px solid var(--rule-strong);border-radius:var(--r-md);height:44px;background:var(--parchment-25);color:var(--ink-primary)}
.swp-vendors .search-input:focus{outline:none;border-color:var(--ledger-600);box-shadow:0 0 0 2px rgba(79,111,74,0.12)}
.swp-vendors .frame .ficon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--ink-tertiary);pointer-events:none}
.swp-vendors .frame .ficon .lucide{width:14px;height:14px;display:block}
.swp-vendors .sf-select{font-family:inherit;font-size:var(--t-small);padding:10px 34px 10px 12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--parchment-25);color:var(--ink-primary);cursor:pointer;height:44px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234A5563' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.swp-vendors .sf-select:focus{outline:none;border-color:var(--ledger-600);box-shadow:0 0 0 2px rgba(79,111,74,0.12)}
.swp-vendors .vd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4)}
.swp-vendors .sub-card{border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);background:var(--parchment-25);transition:border-color 0.15s}
@media (hover: hover){
.swp-vendors .sub-card:hover{border-color:var(--slate-400)}
}
.swp-vendors .sub-card-top{display:flex;align-items:flex-start;gap:var(--s-3);margin-bottom:var(--s-3)}
.swp-vendors .sub-card-avatar{width:38px;height:38px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}
.swp-vendors .sub-card-name{font-weight:600;font-size:var(--t-body);line-height:1.2;margin-bottom:2px}
.swp-vendors .sub-card-loc{font-size:var(--t-micro);color:var(--ink-tertiary);display:flex;align-items:center;gap:3px}
.swp-vendors .sub-card-loc .lucide{width:10px;height:10px}
.swp-vendors .sub-card-trades{display:flex;gap:var(--s-1);flex-wrap:wrap;margin-bottom:var(--s-3)}
.swp-vendors .sub-card-trade{font-size:9px;font-weight:500;padding:2px 8px;border-radius:var(--r-pill);background:rgba(31,38,48,0.05);color:var(--ink-secondary);border:1px solid var(--rule-soft)}
.swp-vendors .sub-card-tier{font-family:var(--font-mono);background:rgba(79,111,74,0.06);color:var(--ledger-800);border-color:rgba(79,111,74,0.18)}
.swp-vendors .sub-card-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-2);padding:var(--s-3) 0;border-top:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft);margin-bottom:var(--s-3)}
.swp-vendors .sub-card-stat-val{font-family:var(--font-mono);font-weight:600;font-size:var(--t-body);line-height:1}
.swp-vendors .sub-card-stat-lbl{font-size:9px;color:var(--ink-tertiary);margin-top:2px}
.swp-vendors .sub-card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}
.swp-vendors .sub-card-foot .lucide{width:10px;height:10px;display:inline-block;vertical-align:-1px}
.swp-vendors .sub-card-actions{display:flex;gap:2px}
.swp-vendors .btn-ghost{background:none;border-color:transparent;color:var(--ink-tertiary);padding:8px}
@media (hover: hover){
.swp-vendors .btn-ghost:hover{background:var(--bg-recessed);color:var(--ink-primary)}
}
.swp-vendors .pill-ready{background:var(--ledger-100);color:var(--ledger-800);border-color:rgba(79,111,74,0.25)}
.swp-vendors .pill-expiring{background:rgba(184,133,74,0.12);color:var(--bronze-800);border-color:rgba(184,133,74,0.25)}
.swp-vendors .pill-lapsed{background:rgba(168,74,46,0.1);color:var(--signal-rust);border-color:rgba(168,74,46,0.15)}
@container fr (max-width:999px){
.swp-vendors .vd-grid{grid-template-columns:repeat(2,1fr)}
}
@container fr (max-width:620px){
.swp-vendors .vd-grid{grid-template-columns:1fr}
.swp-vendors .vd-searchbar{flex-direction:column;align-items:stretch}
.swp-vendors .sf-select{width:100%}
}

/* ---- swp-sub (base cloned from swp-boq) ---- */
.swp-sub{--font-display:'Marcellus',Georgia,serif;--font-ui:'Inter',-apple-system,system-ui,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-pill:999px;--t-h4:16px;--t-body:14px;--t-small:13px;--t-micro:11px;--t-tiny:10px}
.swp-sub .stage{background:#15191e;min-height:100vh;display:flex;flex-direction:column;align-items:center;font-family:var(--font-ui);padding:32px 24px 48px}
.swp-sub .stage-h{width:100%;max-width:1360px;color:var(--parchment-100);margin-bottom:20px}
.swp-sub .stage-h .eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--bronze-300);margin-bottom:8px}
.swp-sub .stage-h .title{font-family:var(--font-display);font-size:26px;line-height:1.2;color:var(--parchment-50);margin-bottom:6px}
.swp-sub .stage-h .sub{font-size:13px;color:rgba(242,235,216,0.55);line-height:1.6;max-width:720px}
.swp-sub .toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px;justify-content:center}
.swp-sub .seg{display:inline-flex;background:rgba(242,235,216,0.05);border:1px solid rgba(242,235,216,0.12);border-radius:var(--r-pill);padding:3px}
.swp-sub .seg button{font-family:var(--font-ui);font-size:12px;font-weight:500;color:rgba(242,235,216,0.6);background:transparent;border:none;border-radius:var(--r-pill);padding:7px 16px;display:flex;align-items:center;gap:7px;cursor:pointer;transition:color .18s,background .18s}
.swp-sub .seg button .lucide{width:14px;height:14px}
.swp-sub .seg button.on{background:var(--ledger-600);color:#fff}
.swp-sub .readout{font-family:var(--font-mono);font-size:12px;color:rgba(242,235,216,0.5);letter-spacing:0.04em;display:flex;align-items:center;gap:8px}
.swp-sub .readout b{color:var(--parchment-100);font-weight:500}
.swp-sub .readout .hint{color:rgba(242,235,216,0.32);font-size:11px}
.swp-sub .stage-viewport{width:100%;display:flex;justify-content:center;align-items:flex-start;min-height:820px;overflow-x:auto;padding-bottom:8px}
.swp-sub .stage.embed{min-height:0;background:transparent;padding:0}
.swp-sub .stage.embed .stage-h{display:none}
.swp-sub .stage.embed .toolbar{display:none}
.swp-sub .stage.embed .rz{display:none}
.swp-sub .stage.embed .stage-viewport{min-height:0;overflow:visible;display:block;padding:0}
.swp-sub .stage.embed .device{width:100%;height:auto;transform:none}
.swp-sub .stage.embed .frame{height:auto}
.swp-sub .stage.embed .app-scroll{height:clamp(480px,62vh,720px);overflow-y:auto}
.swp-sub .device{position:relative;flex-shrink:0;background:#0c0f13;border-radius:26px;padding:14px;box-shadow:0 12px 34px rgba(0,0,0,0.38),0 0 0 1px rgba(242,235,216,0.07) inset;transition:width .42s cubic-bezier(0.16,1,0.3,1),height .42s cubic-bezier(0.16,1,0.3,1),padding .42s cubic-bezier(0.16,1,0.3,1),border-radius .42s cubic-bezier(0.16,1,0.3,1),background .3s ease,box-shadow .3s ease}
.swp-sub .device.light{background:#e7e2d4;box-shadow:0 12px 34px rgba(24,28,33,0.2),0 0 0 1px rgba(24,28,33,0.09) inset}
.swp-sub .device.light .device-notch{background:#e7e2d4}
.swp-sub .device.dragging{transition:none}
.swp-sub .device.d-mobile{border-radius:42px;padding:12px}
.swp-sub .device.d-ipad{border-radius:34px;padding:16px}
.swp-sub .device-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:120px;height:26px;background:#0c0f13;border-radius:0 0 16px 16px;z-index:40;display:none}
.swp-sub .device.d-mobile .device-notch{display:block}
.swp-sub .frame{container-type:inline-size;container-name:fr;background:var(--bg-canvas);width:100%;height:100%;border-radius:12px;overflow:hidden;position:relative;color:var(--ink-primary);font-family:var(--font-ui);font-size:14px;line-height:1.6}
.swp-sub .device.d-mobile .frame{border-radius:30px}
.swp-sub .device.d-ipad .frame{border-radius:20px}
.swp-sub .frame *{box-sizing:border-box}
.swp-sub .frame a{color:inherit;text-decoration:none}
.swp-sub .frame button{font-family:inherit;cursor:pointer}
.swp-sub .frame .lucide{width:16px;height:16px;stroke-width:1.75}
.swp-sub .app-scroll{height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(31,38,48,0.25) transparent}
.swp-sub .nav-full{background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-sub .nav-row1{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-6) var(--s-3);border-bottom:1px solid var(--rule-on-chrome)}
.swp-sub .nav-wm{font-family:var(--font-display);font-size:22px;color:var(--ink-on-chrome);line-height:1;display:flex;align-items:center}
.swp-sub .nav-wm .tag{color:var(--ink-on-chrome-faint);font-family:var(--font-ui);font-size:var(--t-micro);font-weight:400;margin-left:10px;padding-left:10px;border-left:1px solid var(--rule-on-chrome)}
.swp-sub .nav-utility{display:flex;gap:var(--s-4);align-items:center;font-size:var(--t-micro);color:var(--ink-on-chrome-muted)}
.swp-sub .nav-utility-search{background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:7px 11px;display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome-faint);font-size:var(--t-micro);white-space:nowrap}
.swp-sub .nav-utility-search .lucide{width:12px;height:12px}
.swp-sub .nav-utility-icon{width:32px;height:32px;border-radius:var(--r-md);background:rgba(242,235,216,0.06);border:1px solid rgba(242,235,216,0.1);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}
.swp-sub .nav-utility-icon .lucide{width:14px;height:14px;color:var(--ink-on-chrome)}
.swp-sub .nav-utility-who{display:flex;align-items:center;gap:var(--s-2);color:var(--ink-on-chrome);font-size:var(--t-micro);white-space:nowrap}
.swp-sub .nav-utility-avatar{width:24px;height:24px;border-radius:50%;background:var(--bronze-600);color:var(--slate-800);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-sub .notif-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 4px;background:var(--bronze-600);color:var(--slate-900);font-family:var(--font-mono);font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;border-radius:99px;border:1.5px solid var(--slate-800)}
.swp-sub .nav-row2{display:flex;padding:0 var(--s-6);width:100%;justify-content:space-between;gap:2px;overflow:hidden}
.swp-sub .nav-row2 a{font-size:12px;color:var(--ink-on-chrome-muted);padding:11px 0 13px;border-bottom:2px solid transparent;display:flex;align-items:center;white-space:nowrap}
.swp-sub .nav-row2 a.on{color:var(--ink-on-chrome);border-bottom-color:var(--ledger-600);font-weight:500}
.swp-sub .navico{width:19px;height:19px;padding:3px;margin-right:6px;background:rgba(242,235,216,0.08);border-radius:4px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.swp-sub .navico .lucide{width:13px;height:13px}
.swp-sub .util-search-icon{display:none}
.swp-sub .nav-mob{display:none;background:var(--slate-800);position:sticky;top:0;z-index:20}
.swp-sub .m-top{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 10px}
.swp-sub .m-top .nav-wm{font-size:18px}
.swp-sub .m-top .mt-right{display:flex;align-items:center;gap:12px}
.swp-sub .m-search-row{padding:10px 16px 12px;background:var(--slate-700);border-top:1px solid var(--rule-on-chrome)}
.swp-sub .m-search{display:flex;align-items:center;gap:8px;background:rgba(242,235,216,0.06);border:1px solid var(--rule-on-chrome);border-radius:var(--r-md);padding:10px 12px;color:var(--ink-on-chrome-faint);font-size:13px}
.swp-sub .m-search .lucide{width:14px;height:14px}
.swp-sub .tabbar-mob{display:none;position:absolute;bottom:0;left:0;right:0;height:62px;background:var(--slate-800);border-top:1px solid var(--rule-on-chrome);align-items:center;justify-content:space-around;padding-bottom:2px;z-index:30}
.swp-sub .m-tab{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;color:var(--ink-on-chrome-muted);flex:1}
.swp-sub .m-tab .lucide{width:20px;height:20px}
.swp-sub .m-tab.on{color:var(--ledger-300)}
.swp-sub .sw-body{padding:var(--s-6) var(--s-8);width:100%}
.swp-sub .crumbs{display:flex;align-items:center;gap:6px;font-size:var(--t-micro);color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-sub .crumb-current{color:var(--ink-primary);font-weight:500}
.swp-sub .page-header{display:flex;flex-direction:column;gap:var(--s-3);padding-bottom:var(--s-5);margin-bottom:var(--s-5);border-bottom:1px solid var(--rule-medium)}
.swp-sub .page-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4)}
.swp-sub .page-header-title{font-size:22px;font-weight:500;letter-spacing:-0.015em;margin:0}
.swp-sub .page-header-meta{display:flex;gap:var(--s-4);font-size:var(--t-micro);color:var(--ink-secondary);margin-top:var(--s-2);flex-wrap:wrap}
.swp-sub .page-header-meta-item{display:flex;align-items:center;gap:5px}
.swp-sub .page-header-meta-item .lucide{width:12px;height:12px;opacity:0.6}
.swp-sub .btn{font-size:var(--t-small);font-weight:500;padding:9px 16px;border-radius:var(--r-md);border:1px solid transparent;display:inline-flex;align-items:center;gap:var(--s-2);line-height:1;white-space:nowrap}
.swp-sub .btn .lucide{width:14px;height:14px}
.swp-sub .frame .btn-accent, .swp-sub .frame .btn-accent .lucide{color:#fff}
.swp-sub .btn-accent{background:var(--ledger-600);border-color:var(--ledger-600)}
.swp-sub .btn-secondary{background:transparent;color:var(--ink-primary);border-color:var(--rule-strong)}
.swp-sub .btn-sm{padding:6px 12px;font-size:var(--t-micro)}
.swp-sub .pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-tiny);font-weight:500;padding:3px 9px;border-radius:var(--r-pill);border:1px solid transparent;white-space:nowrap}
.swp-sub .pill-active{background:var(--ledger-100);color:var(--ledger-800);border-color:rgba(79,111,74,0.25)}
.swp-sub .pill-warm{background:var(--bronze-100);color:var(--bronze-800);border-color:rgba(168,121,74,0.3)}
.swp-sub .pill-locked{background:var(--slate-800);color:var(--parchment-100)}
.swp-sub .pill-draft{background:rgba(31,38,48,0.06);color:var(--ink-tertiary);border-color:rgba(31,38,48,0.1)}
.swp-sub .metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}
.swp-sub .metric{background:rgba(31,38,48,0.04);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:var(--s-4)}
.swp-sub .metric-label{font-size:var(--t-micro);color:var(--ink-secondary);margin-bottom:var(--s-1);display:flex;align-items:center;gap:5px}
.swp-sub .metric-label .lucide{width:12px;height:12px;opacity:0.5}
.swp-sub .metric-value{font-family:var(--font-mono);font-size:22px;font-weight:500;line-height:1.1}
.swp-sub .alerts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.swp-sub .alert-card{border-radius:0 var(--r-lg) var(--r-lg) 0;padding:var(--s-4);display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-sub .alert-card .lucide{width:18px;height:18px;flex-shrink:0;margin-top:2px}
.swp-sub .alert-rust{background:rgba(168,74,46,0.04);border:1px solid rgba(168,74,46,0.15);border-left:4px solid var(--signal-rust)}
.swp-sub .alert-amber{background:rgba(184,133,74,0.04);border:1px solid rgba(184,133,74,0.15);border-left:4px solid var(--signal-amber)}
.swp-sub .alert-t{font-weight:600;font-size:var(--t-small);margin-bottom:2px}
.swp-sub .alert-d{font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-sub .main{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.swp-sub .card-h{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3)}
.swp-sub .card-title{font-size:var(--t-h4);font-weight:500;display:flex;align-items:center;gap:6px}
.swp-sub .card-title .lucide{width:14px;height:14px;opacity:0.45}
.swp-sub .card{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5)}
.swp-sub .wp-cards{display:none}
.swp-sub .tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--parchment-25);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-sub .tbl th{font-size:var(--t-tiny);font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:rgba(237,229,200,0.8);text-align:left;padding:11px 14px;background:var(--slate-800)}
.swp-sub .tbl th:first-child{padding-left:16px}
.swp-sub .tbl th.r{text-align:right}
.swp-sub .tbl td{font-size:var(--t-small);padding:11px 14px;border-bottom:1px solid var(--rule-soft);background:var(--parchment-25)}
.swp-sub .tbl td:first-child{padding-left:16px}
.swp-sub .tbl tr:nth-child(even) td{background:rgba(31,38,48,0.025)}
.swp-sub .tbl td.m{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-sub .tbl td.r{text-align:right}
.swp-sub .tbl tr:last-child td{border-bottom:none}
.swp-sub .col-project, .swp-sub .col-bids{display:table-cell}
.swp-sub .m-wp{display:flex;flex-direction:column;gap:9px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:13px 14px;margin-bottom:8px}
.swp-sub .m-wp-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.swp-sub .m-wp-bot{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.swp-sub .m-wp .tr{font-size:var(--t-body);font-weight:500}
.swp-sub .m-wp .meta{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-sub .m-wp .meta .id{font-family:var(--font-mono);color:var(--ink-secondary)}
.swp-sub .m-wp .val{font-family:var(--font-mono);font-size:var(--t-small);color:var(--ink-primary);white-space:nowrap}
.swp-sub .evrow{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule-soft)}
.swp-sub .evrow:last-child{border-bottom:none}
.swp-sub .evrow .av{width:24px;height:24px;border-radius:50%;color:#fff;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-sub .evrow .nm{flex:1;font-size:var(--t-small);font-weight:500}
.swp-sub .evrow .bar{width:80px;height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-sub .evrow .bar > i{display:block;height:100%;background:var(--ledger-600);border-radius:3px}
.swp-sub .evrow .ct{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);width:40px;text-align:right}
.swp-sub .ev-wrap{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);overflow:hidden}
.swp-sub .activity-item{display:flex;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--rule-soft);font-size:var(--t-small)}
.swp-sub .activity-item:last-child{border-bottom:none}
.swp-sub .activity-dot{width:8px;height:8px;border-radius:50%;background:var(--ledger-600);margin-top:6px;flex-shrink:0}
.swp-sub .activity-dot.warn{background:var(--signal-amber)}
.swp-sub .activity-dot.cert{background:var(--bronze-600)}
.swp-sub .activity-time{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px}
.swp-sub .text-mono{font-family:var(--font-mono)}
.swp-sub .text-micro{font-size:var(--t-micro)}
.swp-sub .rz{position:absolute;top:0;bottom:0;width:16px;right:-8px;cursor:ew-resize;z-index:60;display:flex;align-items:center;justify-content:center}
.swp-sub .rz::before{content:"";width:4px;height:52px;border-radius:99px;background:rgba(242,235,216,0.18);transition:background .18s}
.swp-sub .rz:hover::before{background:var(--ledger-600)}
.swp-sub .page-header-actions{display:flex;gap:var(--s-2)}
.swp-sub .crumb-sep{opacity:0.5;font-size:10px}
.swp-sub .crumbs a{display:flex;align-items:center;gap:3px}
.swp-sub .crumbs a .lucide{width:11px;height:11px;opacity:0.45}
.swp-sub .frame .btn-dark, .swp-sub .frame .btn-dark .lucide{color:var(--ink-on-chrome)}
.swp-sub .btn-dark{background:var(--slate-800);border-color:var(--slate-800)}
.swp-sub .field-label{font-size:var(--t-micro);font-weight:500;margin-bottom:var(--s-1);display:block}
.swp-sub .field-input, .swp-sub .field-textarea{width:100%;padding:9px 12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);background:var(--parchment-25);color:var(--ink-primary)}
.swp-sub .field-textarea{min-height:70px;resize:vertical;display:block}
.swp-sub .field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}
.swp-sub .spicker-input{width:100%;padding:10px 12px 10px 36px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);height:40px;background:var(--parchment-25)}
.swp-sub .frame .ficon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--ink-tertiary);pointer-events:none}
.swp-sub .wz-steps{display:flex;gap:0;margin-bottom:var(--s-6);overflow:hidden}
.swp-sub .wz-step{flex:1;text-align:center;padding:13px 8px 10px;font-size:var(--t-micro);font-weight:500;color:var(--ink-tertiary);white-space:nowrap;background:rgba(31,38,48,0.03);border-bottom:3px solid var(--rule-medium);display:flex;align-items:center;justify-content:center;gap:5px}
.swp-sub .wz-step:first-child{border-radius:var(--r-md) 0 0 var(--r-md)}
.swp-sub .wz-step:last-child{border-radius:0 var(--r-md) var(--r-md) 0}
.swp-sub .wz-step:not(:last-child){border-right:1px solid var(--rule-soft)}
.swp-sub .wz-step.active{background:rgba(79,111,74,0.06);border-bottom-color:var(--ledger-600);color:var(--ink-primary)}
.swp-sub .wz-step-num{font-family:var(--font-mono);font-size:9px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--rule-medium);color:var(--ink-tertiary);flex-shrink:0}
.swp-sub .wz-step.active .wz-step-num{background:var(--ledger-600);color:#fff}
.swp-sub .wz-route-badge{font-size:8px;font-weight:600;padding:2px 6px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.04em;background:var(--ledger-100);color:var(--ledger-800)}
.swp-sub .wz-section{font-family:var(--font-mono);font-size:var(--t-tiny);text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-sub .wz-desc{font-size:var(--t-small);color:var(--ink-secondary);margin-bottom:var(--s-5);line-height:1.6}
.swp-sub .wz-nav{display:flex;justify-content:space-between;gap:var(--s-3);align-items:center;margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--rule-medium)}
.swp-sub .route-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin-top:var(--s-3)}
.swp-sub .route-option{border:2px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);background:var(--bg-elevated)}
.swp-sub .route-option.selected{border-color:var(--ledger-600);background:var(--ledger-600);color:#fff}
.swp-sub .route-option.selected .route-sub{color:rgba(255,255,255,0.7)}
.swp-sub .route-option.selected .lucide{color:#fff}
.swp-sub .route-option-head{display:flex;align-items:flex-start;gap:var(--s-3)}
.swp-sub .route-option-head .lucide{width:16px;height:16px;margin-top:2px;flex-shrink:0;color:var(--ink-tertiary)}
.swp-sub .route-sub{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-sub .route-info{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-5);margin-top:var(--s-4);border-left:3px solid var(--ledger-600)}
.swp-sub .route-info-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--s-3)}
.swp-sub .route-info-title{font-weight:600;display:flex;align-items:center;gap:var(--s-2)}
.swp-sub .route-info-title .lucide{width:16px;height:16px;color:var(--ledger-600)}
.swp-sub .route-info-badge{font-size:9px;font-weight:600;padding:2px 8px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.05em;background:var(--ledger-100);color:var(--ledger-800)}
.swp-sub .route-info-desc{font-size:var(--t-micro);color:var(--ink-secondary);line-height:1.6;margin-bottom:var(--s-4)}
.swp-sub .route-enforced{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}
.swp-sub .route-enforced-item{display:flex;align-items:center;gap:var(--s-2);font-size:var(--t-micro);padding:6px 10px;border-radius:var(--r-md);background:rgba(79,111,74,0.04)}
.swp-sub .route-enforced-item .lucide{width:12px;height:12px;color:var(--ledger-600);flex-shrink:0}
.swp-sub .m-wzbar{display:none;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:11px 14px;margin-bottom:14px}
.swp-sub .m-wzbar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.swp-sub .m-wzbar-step{font-size:var(--t-small);font-weight:600;display:flex;align-items:center;gap:7px}
.swp-sub .m-wzbar-step .n{font-family:var(--font-mono);font-size:9px;width:18px;height:18px;border-radius:50%;background:var(--ledger-600);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.swp-sub .m-wzbar-count{font-family:var(--font-mono);font-size:var(--t-tiny);color:var(--ink-tertiary)}
.swp-sub .m-wztrack{height:5px;background:var(--rule-medium);border-radius:3px;overflow:hidden}
.swp-sub .m-wztrack > i{display:block;height:100%;width:12.5%;background:var(--ledger-600);border-radius:3px}
.swp-sub .wz-step.done{background:rgba(79,111,74,0.04);border-bottom-color:var(--ledger-300);color:var(--ledger-800)}
.swp-sub .wz-step.done .wz-step-num{background:var(--ledger-300);color:var(--ledger-800)}
.swp-sub .wz-step.done .wz-step-num .lucide{width:11px;height:11px}
.swp-sub .field-select{width:100%;padding:9px 32px 9px 12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:var(--t-small);background:var(--parchment-25);color:var(--ink-primary);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234A5563' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
.swp-sub .field-hint{font-size:var(--t-tiny);color:var(--ink-tertiary);margin-top:3px;display:flex;align-items:center;gap:4px}
.swp-sub .field-hint .lucide{width:10px;height:10px;opacity:0.5}
.swp-sub .boq-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--s-3);margin-bottom:var(--s-5)}
.swp-sub .boq-opt{border:2px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);background:var(--bg-elevated);text-align:center}
.swp-sub .boq-opt.selected{border-color:var(--ledger-600);background:rgba(79,111,74,0.04)}
.swp-sub .boq-opt .lucide{width:26px;height:26px;margin:0 auto var(--s-2);opacity:0.4}
.swp-sub .boq-opt.selected .lucide{opacity:1;color:var(--ledger-600)}
.swp-sub .boq-opt .ol{font-weight:500;margin-bottom:3px}
.swp-sub .boq-opt .od{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-sub .boq-imported{display:flex;align-items:center;gap:8px;padding:9px 14px;background:rgba(79,111,74,0.06);border:1px solid rgba(79,111,74,0.18);border-radius:var(--r-md);font-size:var(--t-small);color:var(--ledger-800);margin-bottom:14px}
.swp-sub .boq-imported .lucide{width:14px;height:14px;color:var(--ledger-600);flex-shrink:0}
.swp-sub .boq-imported .mono{font-family:var(--font-mono);font-size:var(--t-micro)}
.swp-sub .boq-tablehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:var(--t-micro)}
.swp-sub .boq-tablehead .lbl{font-weight:500}
.swp-sub .boq-tablehead .hint{color:var(--ink-tertiary);display:flex;align-items:center;gap:4px}
.swp-sub .boq-tablehead .hint .lucide{width:10px;height:10px;opacity:0.4}
.swp-sub .boq-section-row td{background:rgba(31,38,48,0.06);border-bottom:1px solid var(--rule-medium);font-weight:600}
.swp-sub .boq-section-ref{font-family:var(--font-mono);font-size:var(--t-small);font-weight:700;color:var(--ink-primary)}
.swp-sub .boq-item-ref{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary)}
.swp-sub .boq-drag{cursor:grab;opacity:0.3;width:14px;height:14px}
.swp-sub .boq-del{opacity:0.3;width:14px;height:14px;color:var(--signal-rust)}
.swp-sub .boq-mob{display:none}
.swp-sub .m-boqsec{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-secondary);background:rgba(31,38,48,0.06);padding:6px 12px;border-radius:var(--r-sm);margin-bottom:6px;font-weight:700;display:flex;align-items:center;gap:8px}
.swp-sub .m-boqrow{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 12px;background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-md);margin-bottom:6px}
.swp-sub .m-boqrow .l{display:flex;gap:8px;align-items:baseline;min-width:0}
.swp-sub .m-boqrow .ref{font-family:var(--font-mono);font-size:9px;color:var(--ink-tertiary);flex-shrink:0}
.swp-sub .m-boqrow .d{font-size:var(--t-small)}
.swp-sub .m-boqrow .q{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--ink-secondary);white-space:nowrap;flex-shrink:0}
@container fr (max-width:999px){.swp-sub .sw-body{padding:var(--s-5) var(--s-6)}
.swp-sub .nav-row2{justify-content:flex-start;gap:24px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.swp-sub .nav-row2::-webkit-scrollbar{display:none}
.swp-sub .nav-row2 a{font-size:var(--t-micro);padding:10px 0 12px;flex:none}
.swp-sub .navico{margin-right:7px}
.swp-sub .tab-extra{display:flex}
.swp-sub .nav-utility-search{display:none}
.swp-sub .util-search-icon{display:flex}
.swp-sub .metrics{grid-template-columns:repeat(3,1fr)}
.swp-sub .main{grid-template-columns:1fr}
.swp-sub .col-project, .swp-sub .col-bids{display:none}
.swp-sub .wz-step{font-size:9px;padding:11px 4px 9px;gap:3px}
.swp-sub .wz-step-num{width:16px;height:16px}
.swp-sub .wz-route-badge{display:none}}
@container fr (max-width:620px){.swp-sub .nav-full{display:none}
.swp-sub .nav-mob{display:block}
.swp-sub .tabbar-mob{display:flex}
.swp-sub .sw-body{padding:16px 16px 80px}
.swp-sub .page-header{padding-bottom:var(--s-4);margin-bottom:var(--s-4)}
.swp-sub .page-header-top{flex-direction:column;gap:var(--s-3)}
.swp-sub .page-header-title{font-size:19px}
.swp-sub .metrics{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.swp-sub .alerts{grid-template-columns:1fr;gap:10px;margin-bottom:14px}
.swp-sub .wp-table{display:none}
.swp-sub .wp-cards{display:block}
.swp-sub .only-wide{display:none}
.swp-sub .card-h{margin-top:0}
.swp-sub .main{gap:14px}
.swp-sub .wz-steps{display:none}
.swp-sub .m-wzbar{display:block}
.swp-sub .field-row{grid-template-columns:1fr}
.swp-sub .route-longsub{display:none}
.swp-sub .route-info{display:none}
.swp-sub .wz-descfield{display:none}
.swp-sub .boq-fields{display:none}
.swp-sub .boq-desk{display:none}
.swp-sub .boq-mob{display:block}
.swp-sub .boq-opt .od{display:none}
.swp-sub .boq-opt{padding:10px 6px}
.swp-sub .boq-opt .lucide{width:18px;height:18px}
.swp-sub .boq-opt .ol{font-size:9px}
.swp-sub .wz-back{display:none}
.swp-sub .page-header-actions{display:none}
.swp-sub .page-header-meta{display:none}
.swp-sub .wz-nav{justify-content:flex-end}
.swp-sub .wz-nav .btn{width:100%;justify-content:center}}


/* ---- swp-sub specifics ---- */
.swp-sub .toolbar{display:none}
.swp-sub .sb-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4);margin-bottom:var(--s-5)}
.swp-sub .sb-hero-dark{padding:var(--s-5);background:var(--slate-800);border-radius:var(--r-xl);color:var(--parchment-100)}
.swp-sub .sb-hero-dark .k{font-size:var(--t-micro);color:var(--ink-on-chrome-muted);margin-bottom:var(--s-3)}
.swp-sub .sb-hero-dark .v{font-family:var(--font-mono);font-size:26px;font-weight:600;margin-bottom:2px}
.swp-sub .sb-hero-dark .s{font-size:10px;color:var(--ink-on-chrome-faint)}
.swp-sub .sb-hero-card{padding:var(--s-5);background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-xl)}
.swp-sub .sb-hero-card .k{font-size:var(--t-micro);color:var(--ink-tertiary);margin-bottom:var(--s-3)}
.swp-sub .sb-hero-card .v{font-family:var(--font-mono);font-size:26px;font-weight:600;margin-bottom:2px}
.swp-sub .sb-hero-card .s{font-size:10px;color:var(--ink-tertiary)}
.swp-sub .sb-main{display:grid;grid-template-columns:3fr 2fr;gap:var(--s-5);align-items:start}
.swp-sub .sb-sec{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin-bottom:var(--s-3)}
.swp-sub .sb-link{font-size:var(--t-micro);color:var(--ledger-600);font-weight:500;display:flex;align-items:center;gap:4px}
.swp-sub .sb-link .lucide{width:12px;height:12px}
.swp-sub .sb-invite{border:2px solid var(--signal-amber);border-radius:var(--r-lg);padding:var(--s-4);margin-bottom:var(--s-3);background:rgba(184,133,74,0.02)}
.swp-sub .sb-attn{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4);margin-bottom:var(--s-3)}
.swp-sub .sb-attn-amber{border-left:3px solid var(--signal-amber)}
.swp-sub .sb-attn-rust{border-left:3px solid var(--signal-rust)}
.swp-sub .sb-attn-green{border-left:3px solid var(--ledger-600)}
.swp-sub .sb-attn-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:var(--s-3)}
.swp-sub .sb-invite-pill{font-size:9px;padding:2px 8px;margin-bottom:5px}
.swp-sub .sb-attn-t{font-weight:600}
.swp-sub .sb-attn-m{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-sub .sb-days{font-family:var(--font-mono);font-weight:600;flex-shrink:0}
.swp-sub .sb-days-amber{color:var(--signal-amber)}
.swp-sub .sb-days-rust{color:var(--signal-rust)}
.swp-sub .sb-attn-actions{display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap}
.swp-sub .sb-undo{background:none;border:none;font-family:inherit;font-size:var(--t-micro);font-weight:500;color:var(--ink-tertiary);cursor:pointer;text-decoration:underline;padding:8px 6px;min-height:32px}
@media (hover: hover){
.swp-sub .sb-undo:hover{color:var(--ink-primary)}
}
.swp-sub .sb-act{display:flex;gap:var(--s-3);padding:var(--s-3);background:var(--bg-elevated);border:1px solid var(--rule-soft);border-radius:var(--r-md);margin-bottom:var(--s-2)}
.swp-sub .sb-act .dot{width:6px;height:6px;border-radius:50%;margin-top:6px;flex-shrink:0}
.swp-sub .sb-act .t{font-size:var(--t-small);font-weight:500}
.swp-sub .sb-act .m{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-sub .sb-act .w{font-family:var(--font-mono);font-size:9px;color:var(--ink-tertiary);margin-top:2px}
.swp-sub .sb-dl{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:var(--s-3);border-radius:var(--r-md);margin-bottom:var(--s-2)}
.swp-sub .sb-dl-rust{background:rgba(168,74,46,0.04);border:1px solid rgba(168,74,46,0.1)}
.swp-sub .sb-dl-amber{background:rgba(184,133,74,0.04);border:1px solid rgba(184,133,74,0.1)}
.swp-sub .sb-dl .t{font-size:var(--t-small);font-weight:500}
.swp-sub .sb-dl .m{font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-sub .sb-dl .d{font-family:var(--font-mono);font-size:var(--t-small);font-weight:600;flex-shrink:0}
@container fr (max-width:999px){
.swp-sub .sb-hero{grid-template-columns:repeat(2,1fr)}
.swp-sub .sb-main{grid-template-columns:1fr}
}
@container fr (max-width:620px){
.swp-sub .sb-hero{grid-template-columns:1fr 1fr;gap:10px}
.swp-sub .sb-hero-dark .v, .swp-sub .sb-hero-card .v{font-size:20px}
}

/* ---- swp-reports: builder rail layout ---- */
.swp-reports .rp-layout{display:grid;grid-template-columns:300px 1fr;gap:var(--s-5);align-items:start}
.swp-reports .rp-rail{display:flex;flex-direction:column;gap:var(--s-4)}
.swp-reports .rp-step{background:var(--bg-elevated);border:1px solid var(--rule-medium);border-radius:var(--r-lg);padding:var(--s-4)}
.swp-reports .rp-step-h{display:flex;align-items:center;gap:8px;font-size:var(--t-small);font-weight:600;margin-bottom:var(--s-3)}
.swp-reports .rp-step-n{width:18px;height:18px;border-radius:50%;background:var(--ledger-600);color:#fff;font-family:var(--font-mono);font-size:9px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.swp-reports .rp-datasets{display:flex;flex-direction:column;gap:6px}
.swp-reports .rp-ds{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;background:var(--parchment-25);border:1px solid var(--rule-medium);border-radius:var(--r-md);padding:10px 12px;font-family:inherit;color:inherit;cursor:pointer;min-height:44px;transition:border-color 0.15s,background 0.15s}
.swp-reports .rp-ds > .lucide{width:14px;height:14px;flex-shrink:0;margin-top:2px;color:var(--ink-tertiary)}
.swp-reports .rp-ds span{display:block;min-width:0}
.swp-reports .rp-ds b{display:block;font-size:var(--t-small);font-weight:600;line-height:1.3}
.swp-reports .rp-ds i{display:block;font-style:normal;font-size:var(--t-micro);color:var(--ink-tertiary)}
.swp-reports .rp-ds.sw-on{border-color:var(--ledger-600);background:rgba(79,111,74,0.05)}
.swp-reports .rp-ds.sw-on > .lucide{color:var(--ledger-600)}
@media (hover: hover){
.swp-reports .rp-ds:not(.sw-on):hover{border-color:var(--slate-400)}
}
.swp-reports .rp-note{display:flex;align-items:flex-start;gap:6px;font-size:var(--t-micro);color:var(--ink-tertiary);line-height:1.5;margin-top:var(--s-3)}
.swp-reports .rp-note .lucide{width:11px;height:11px;flex-shrink:0;margin-top:2px;opacity:0.6}
.swp-reports .rp-scope{display:flex;flex-wrap:wrap;gap:6px}
.swp-reports .rp-scope-chip{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-micro);font-weight:500;color:var(--ink-secondary);background:rgba(31,38,48,0.04);border:1px solid var(--rule-medium);border-radius:var(--r-pill);padding:6px 12px}
.swp-reports .rp-scope-chip .lucide{width:11px;height:11px;opacity:0.6}
.swp-reports .rp-step .rp-fields{margin-bottom:0}
.swp-reports .rp-step .rp-field{padding:7px 12px}
.swp-reports .rp-preview{min-width:0}
.swp-reports .rp-preview-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s-3)}
.swp-reports .rp-generate{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--rule-medium)}
.swp-reports .rp-gen-row{display:flex;gap:var(--s-2);flex-wrap:wrap}
.swp-reports .rp-generated{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:rgba(79,111,74,0.06);border:1px solid rgba(79,111,74,0.18);border-radius:var(--r-md);font-size:var(--t-small);color:var(--ledger-800);line-height:1.6;flex-wrap:wrap}
.swp-reports .rp-generated > .lucide{width:16px;height:16px;color:var(--ledger-600);flex-shrink:0;margin-top:3px}
.swp-reports .rp-generated .mono{font-family:var(--font-mono);font-size:var(--t-micro)}
.swp-reports .sb-back{display:inline-flex;align-items:center;gap:5px;background:none;border:none;font-family:inherit;font-size:var(--t-micro);font-weight:500;color:var(--ledger-800);cursor:pointer;text-decoration:underline;padding:6px;margin-left:auto;flex-shrink:0;min-height:32px}
.swp-reports .sb-back .lucide{width:11px;height:11px}
@container fr (max-width:999px){
.swp-reports .rp-layout{grid-template-columns:1fr}
}
@container fr (max-width:620px){
.swp-reports .rp-step .rp-fields{display:flex}
}
