/* ACCOUNTS_BUILDER_V1 — Accounts Builder page. Desktop-first (1100–1440 px), never a sideways scroll: fixed-layout tables that fit
   their card, long text wraps or ellipsizes, step tags in their own aligned grid, rows stack on phones. */
.ab-app{display:grid;gap:22px}
.ab-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}
.ab-ptiles{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 16px 6px}
.ab-good{color:#6be3a5}.ab-warn{color:#ffb86b}.ab-bad{color:#ff8a8a}.ab-info{color:#4de0ff}.ab-muted{color:#8d9bbb;font-size:12.5px}
.gm-tile .v.ab-good,.gm-tile .v.ab-warn{font-weight:700}
.ab-worker{font-size:13.5px;min-height:20px}
.ab-head{padding-left:16px}
.ab-head .sb-group{flex:0 1 auto}
.ab-tick{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#c8d3ef;padding:0 8px;cursor:pointer;white-space:nowrap}
.ab-tick input{width:16px;height:16px;accent-color:#4de0ff}
.ab-filter{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:0 16px 12px}
.ab-filter input[type=search]{flex:1 1 260px;min-width:0;min-height:40px;padding:0 12px;border-radius:10px;border:1px solid rgba(154,166,194,.3);background:rgba(255,255,255,.035);color:var(--text);font:inherit}
.ab-seg{display:flex;flex-wrap:wrap;gap:6px}
.ab-seg .sb-btn{flex:0 0 auto;min-height:36px;padding:0 12px;font-size:13px}
.ab-seg .sb-btn.on{border-color:rgba(77,224,255,.7);background:rgba(77,224,255,.12);color:#fff}
.ab-t{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13.5px}
.ab-t th{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:10px 10px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8d9bbb;font-weight:600;border-bottom:1px solid rgba(154,166,194,.16);text-align:left}
.ab-t td{text-align:left;white-space:normal;position:relative;padding:11px 10px;border-bottom:1px solid rgba(139,118,255,.08);vertical-align:top;overflow-wrap:anywhere;min-width:0}
.ab-t .c-sel{width:40px;text-align:center;padding-left:14px}
.ab-t .c-sel input{width:16px;height:16px;accent-color:#4de0ff}
.ab-t col.w-sel{width:44px}.ab-t col.w-acc{width:25%}.ab-t col.w-prof{width:16%}.ab-t col.w-steps{width:220px}.ab-t col.w-st{width:auto}.ab-t col.w-act{width:146px}
.ab-t col.w-ip{width:150px}.ab-t col.w-when{width:130px}.ab-t col.w-acc2{width:44%}
.ab-name{font-weight:600;color:#f4f7ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ab-biz,.ab-pn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ab-pn{font-size:13px;margin-bottom:6px}
.ab-prof{width:100%;min-height:34px;border-radius:9px;border:1px solid rgba(154,166,194,.3);background:#0f1730;color:#dfe6fb;font:inherit;font-size:12.5px;padding:0 6px}
.ab-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 8px}
.ab-step{display:flex;align-items:center;gap:5px;font-size:12px;color:#c8d3ef;white-space:nowrap;overflow:hidden}
.ab-step .mk{flex:0 0 16px;width:16px;height:16px;display:grid;place-items:center;border-radius:50%;font-size:10.5px;font-weight:800;border:1px solid rgba(154,166,194,.35);color:#8d9bbb}
.ab-step.s-done .mk{border-color:rgba(107,227,165,.6);color:#6be3a5}
.ab-step.s-running .mk{border-color:rgba(77,224,255,.7);color:#4de0ff}
.ab-step.s-waiting .mk{border-color:rgba(255,184,107,.7);color:#ffb86b}
.ab-step.s-failed .mk{border-color:rgba(255,107,107,.75);color:#ff8a8a}
.ab-status{font-size:13px;line-height:1.45}
.ab-acts{display:flex;flex-direction:column;gap:6px}
.ab-mini{white-space:nowrap;min-height:34px;padding:0 10px;font-size:12.5px;font-weight:650;border-radius:9px;width:100%;justify-content:center;display:inline-flex;align-items:center}
.ab-empty{text-align:center;color:#8d9bbb;padding:22px 16px}
tr.ab-hl td{background:rgba(77,224,255,.07)}
tr.cat-done td,tr.cat-ready td{opacity:.92}
.ab-add{padding:4px 16px 14px;display:grid;gap:8px}
.ab-lbl{font-size:12.5px;color:#9ca9c4}
.ab-lbl code{color:#c8d3ef;font-size:12px}
.ab-add textarea{width:100%;min-height:92px;resize:vertical;border-radius:10px;border:1px solid rgba(154,166,194,.3);background:rgba(255,255,255,.035);color:var(--text);font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;padding:10px 12px;box-sizing:border-box}
.ab-addtray{justify-content:flex-start}
.ab-hint{font-size:12.5px;color:#8d9bbb;padding:0 6px;min-width:0;flex:1 1 240px}
.ab-lines{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ab-lines li{display:grid;grid-template-columns:18px minmax(0,34%) minmax(0,1fr);gap:8px;font-size:12.5px;padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.025)}
.ab-lines .m{font-weight:800;text-align:center}
.ab-lines .ln{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#dfe6fb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ab-lines .rs{color:#c8d3ef;overflow-wrap:anywhere}
.ab-lines .r-added .m,.ab-lines .r-passed .m,.ab-lines .r-moved .m{color:#6be3a5}
.ab-lines .r-failed .m{color:#ff8a8a}.ab-lines .r-duplicate .m{color:#ffb86b}
.ab-st{padding:0 16px 14px}.ab-st .ab-lines li{grid-template-columns:18px minmax(0,40%) minmax(0,1fr)}
.ab-sub{margin:10px 16px 2px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#c8d3ef}
.ab-fold{margin:8px 0 6px}
.ab-fold summary{cursor:pointer;padding:10px 16px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#c8d3ef}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}
.ab-modal{position:fixed;inset:0;z-index:2147483100;display:grid;place-items:center;background:rgba(3,6,16,.72);padding:16px}
.ab-modal[hidden]{display:none}
.ab-box{width:min(520px,100%);border:1px solid rgba(77,224,255,.3);border-radius:18px;background:linear-gradient(160deg,#131c3a,#0d1428);box-shadow:0 24px 60px rgba(0,0,0,.55);padding:20px 22px;display:grid;gap:10px;box-sizing:border-box}
.ab-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;background:linear-gradient(90deg,#4de0ff,#6be3a5);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}
.ab-box h3{margin:0;font-size:19px;overflow-wrap:anywhere}
.ab-dsub{margin:0;color:#9ca9c4;font-size:13px;line-height:1.5}
.ab-box input[type=password]{width:100%;min-height:42px;border-radius:10px;border:1px solid rgba(154,166,194,.35);background:rgba(255,255,255,.04);color:#fff;padding:0 12px;font:14px ui-monospace,monospace;box-sizing:border-box}
.ab-err{margin:0;min-height:18px;color:#ff8a8a;font-size:12.5px}
.ab-radios{display:grid;gap:6px}
.ab-radios label{display:flex;gap:8px;align-items:center;font-size:14px;padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.03);cursor:pointer}
.ab-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}
.ab-foot .sb-btn{flex:0 0 auto}
.ab-end{height:calc(var(--ml-corner, 0px) + 72px)}
@media (max-width:1180px){.ab-t col.w-acc{width:24%}.ab-t col.w-prof{width:15%}.ab-t col.w-steps{width:208px}}
@media (max-width:980px){.ab-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
  .ab-tiles,.ab-ptiles{grid-template-columns:1fr 1fr}
  .ab-t thead{display:none}.ab-t,.ab-t tbody,.ab-t tr,.ab-t td{display:block;width:auto}
  .ab-t tr{padding:8px 12px;border-bottom:1px solid rgba(139,118,255,.12)}.ab-t td{border:0;padding:4px 0}
  .ab-t td[data-l]:not([data-l=""])::before{content:attr(data-l);display:block;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#8d9bbb}
  .ab-t .c-sel{text-align:left;padding-left:0}.ab-acts{flex-direction:row;flex-wrap:wrap}.ab-mini{width:auto}
  .ab-lines li{grid-template-columns:18px minmax(0,1fr)}.ab-lines .rs{grid-column:2}
}
.ab-pxnote{padding:0 16px 14px;margin:0}
