/* EZ Systems — "Selected work" example mockups, in the Swuber idiom.
   Flat hairline frames (no shadows), emerald accent, amber reserved for AI.
   Uses the global design tokens. All selectors scoped under .work. */

.work .work-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8); }
@media (max-width: 900px) { .work .work-grid { grid-template-columns: 1fr; } }

.work .frame { border: var(--border-emphasis); border-radius: var(--radius-card); overflow: hidden; background: var(--surface-page); display: flex; flex-direction: column; }
.work .frame-bar { display: flex; align-items: center; gap: 7px; padding: 10px 14px; border-bottom: var(--border-hairline); background: var(--surface-sunken); }
.work .frame-bar .tl { width: 9px; height: 9px; border-radius: 50%; background: var(--ink-250); }
.work .frame-bar .wt { margin-left: 8px; font-family: var(--font-mono); font-size: var(--text-body-sm); color: var(--text-secondary); }
.work .frame-body { padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-4); flex: 1; }
.work .ex-cap { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: var(--space-3); }
.work .ex-cap .n { font-family: var(--font-mono); font-size: var(--text-caption); color: var(--accent-700); letter-spacing: .08em; }
.work .ex-cap h3 { font-size: var(--text-heading-md); }
.work .ex-cap.ai .n { color: var(--text-ai); }

/* KPI tiles */
.work .kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--border-subtle); border: var(--border-hairline); }
.work .kpi { background: var(--surface-page); padding: 12px 14px; }
.work .kpi .k { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--text-tertiary); }
.work .kpi .v { font-family: var(--font-mono); font-size: 20px; font-weight: var(--weight-semibold); margin-top: 4px; font-variant-numeric: tabular-nums; }
.work .kpi .d { font-size: 11px; color: var(--text-secondary); margin-top: 2px; }
.work .kpi .d.up { color: var(--accent-700); }

/* bar chart */
.work .chart { display: flex; align-items: flex-end; gap: 10px; height: 120px; padding-top: 6px; }
.work .bg { flex: 1; display: flex; align-items: flex-end; justify-content: center; gap: 4px; height: 100%; }
.work .bar { width: 11px; border-radius: 2px 2px 0 0; }
.work .bar.dem { background: var(--ink-800); }
.work .bar.cov { background: var(--accent-500); }
.work .xr { display: flex; gap: 10px; margin-top: 6px; }
.work .xr span { flex: 1; text-align: center; font-family: var(--font-mono); font-size: 10px; color: var(--text-tertiary); }
.work .legend { display: flex; gap: 14px; font-family: var(--font-mono); font-size: 11px; color: var(--text-secondary); }
.work .legend span { display: inline-flex; align-items: center; gap: 6px; }
.work .sw { width: 9px; height: 9px; border-radius: 1px; }

/* integration flow */
.work .flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 12px; }
@media (max-width: 560px) { .work .flow { grid-template-columns: 1fr; } .work .flow .arw { transform: rotate(90deg); justify-self: center; } }
.work .col { display: flex; flex-direction: column; gap: 8px; }
.work .ccap { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--text-tertiary); }
.work .node { border: var(--border-defined); border-radius: var(--radius-card); padding: 9px 11px; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: var(--text-body-sm); }
.work .node .st { width: 7px; height: 7px; border-radius: 50%; background: var(--accent-500); }
.work .node .st.wait { background: var(--ink-300); }
.work .hub { border: var(--border-accent-strong); border-radius: var(--radius-card); padding: 12px; text-align: center; }
.work .hub .t { font-weight: var(--weight-bold); color: var(--accent-700); font-size: var(--text-body-sm); }
.work .hub .s { font-family: var(--font-mono); font-size: 10px; color: var(--text-tertiary); margin-top: 3px; }
.work .arw { color: var(--text-tertiary); font-family: var(--font-mono); }

/* AI agent (amber) */
.work .ai-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--space-4); }
@media (max-width: 560px) { .work .ai-grid { grid-template-columns: 1fr; } }
.work .chat { display: flex; flex-direction: column; gap: 10px; }
.work .bub { padding: 10px 12px; border-radius: var(--radius-card); font-size: var(--text-body-sm); line-height: 1.5; max-width: 94%; }
.work .bub.u { align-self: flex-end; background: var(--ink-900); color: var(--ink-0); }
.work .bub.b { align-self: flex-start; background: var(--surface-sunken); border: var(--border-hairline); }
.work .bub .cite { margin-top: 8px; display: inline-block; font-family: var(--font-mono); font-size: 10px; color: var(--text-ai); border: 1px solid var(--signal-200); background: var(--signal-100); padding: 3px 7px; border-radius: 4px; }
.work .agent { border: var(--border-defined); border-radius: var(--radius-card); background: var(--surface-sunken); padding: 12px; }
.work .agent .ah { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: var(--text-ai); margin-bottom: 9px; display: flex; align-items: center; gap: 6px; }
.work .agent .ah .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--signal-500); }
.work .tk { display: flex; gap: 8px; align-items: baseline; font-size: var(--text-body-sm); padding: 4px 0; }
.work .tk .m { font-family: var(--font-mono); color: var(--signal-600); }
.work .tk.wait { color: var(--text-tertiary); }
.work .tk.wait .m { color: var(--text-tertiary); }

/* automation jobs */
.work .jobs { display: flex; flex-direction: column; }
.work .job { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; padding: 11px 2px; border-bottom: var(--border-hairline); }
.work .job:last-child { border-bottom: 0; }
.work .job .jn { font-size: var(--text-body-sm); font-weight: var(--weight-medium); }
.work .job .js { font-family: var(--font-mono); font-size: 10px; color: var(--text-tertiary); margin-top: 2px; }
.work .job .when { font-family: var(--font-mono); font-size: 11px; color: var(--text-secondary); text-align: right; }
.work .job .tog { width: 30px; height: 18px; border-radius: 999px; background: var(--accent-500); position: relative; }
.work .job .tog::after { content: ""; position: absolute; top: 2px; right: 2px; width: 14px; height: 14px; border-radius: 50%; background: var(--ink-0); }
.work .job .tog.off { background: var(--ink-250); }
.work .job .tog.off::after { right: auto; left: 2px; }
.work .saved { display: flex; align-items: baseline; gap: 10px; margin-top: 4px; }
.work .saved .big { font-family: var(--font-mono); font-size: 26px; font-weight: var(--weight-semibold); color: var(--accent-700); }
.work .saved .lbl { font-size: var(--text-body-sm); color: var(--text-secondary); }
