/* ==========================================================================
   blz-home.css — builder-style workspace home (APEX 26 layout, Redwood light)
   ==========================================================================
   Markup: home_ui_pkg.render_region (9301 page 1) and admin_orgs_ui_pkg.render_region
   (9302 page 1) — both use the shared .blz-home-* layout: a row of tiles (9301: the
   catalog's cards from home_ui_pkg.render_tile), panels, and an "About" column on the end
   side; 9301 adds the Customize mode (blz-home.js). Loaded as an app-level File URL in both
   apps, after blz-native + b5-redwood. Tokens only (--b5-* / --blz-*); logical properties.
   ========================================================================== */

.blz-home,
.blz-adminorgs,
.blz-hub{ color:var(--b5-ink); }
.blz-home *,
.blz-adminorgs *,
.blz-hub *{ box-sizing:border-box; }

/* Layout: main + About column (stacks below 1100px) ----------------------- */
.blz-home-layout{
  display:grid; grid-template-columns:minmax(0, 1fr) 300px; gap:20px; align-items:start;
}
.blz-home-main{ display:grid; gap:20px; min-inline-size:0; }
.blz-home-layout.is-wide{ grid-template-columns:minmax(0, 1fr); }   /* Marketplace / Reports: no aside */

/* Tiles ------------------------------------------------------------------- */
.blz-home-tiles{ display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px; }
.blz-home-tile{
  display:flex; flex-direction:column; gap:6px; min-inline-size:0;
  padding:16px; border:1px solid var(--b5-hairline); border-radius:var(--blz-r-card);
  background:var(--b5-panel);
}
.blz-home-tile-ic{
  display:grid; place-items:center; inline-size:44px; block-size:44px; margin-block-end:8px;
  border-radius:8px; color:#FFFFFF; font-size:20px;
}
/* Blitzwood tile tones (icon squares; white glyph: blue 8.07 · green 6.39 · purple 8.73 · rose 7.36:1) */
.blz-home-tile-ic[data-tone="blue"]  { background:#2B4C9A; }
.blz-home-tile-ic[data-tone="green"] { background:#2D6A4F; }
.blz-home-tile-ic[data-tone="purple"]{ background:#4B3F8F; }
.blz-home-tile-ic[data-tone="rose"]  { background:#9B2C4A; }
.blz-home .blz-home-tile-title,
.blz-adminorgs .blz-home-tile-title,
.blz-hub .blz-home-tile-title{   /* the hub pages (hub_ui_pkg) share the tiles / panels / aside rules */
  display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  margin:0; font-size:16px; font-weight:600; line-height:1.3; color:var(--b5-ink);
}
.blz-home-tile-desc{ margin:0; font-size:13.5px; line-height:1.45; color:var(--b5-muted); }
.blz-home-tile-n{ font-size:20px; font-weight:600; color:var(--b5-ink); unicode-bidi:isolate; }
.blz-home-tile.is-soon .blz-home-tile-ic{ opacity:.55; }
.blz-home-soon{
  display:inline-block; padding:1px 7px; border-radius:var(--blz-r-control);
  background:var(--b5-surface-2); color:var(--b5-muted); font-size:11.5px; font-weight:600;
}

/* Panels ------------------------------------------------------------------ */
.blz-home-panels{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; align-items:stretch; }
.blz-home-panel{
  min-inline-size:0; padding:16px 18px 18px;
  border:1px solid var(--b5-hairline); border-radius:var(--blz-r-card); background:var(--b5-panel);
}
.blz-home .blz-home-panel h2,
.blz-adminorgs .blz-home-panel h2,
.blz-hub .blz-home-panel h2,
.blz-home .blz-home-about h2,
.blz-adminorgs .blz-home-about h2,
.blz-hub .blz-home-about h2{ margin:0 0 12px; font-size:16px; font-weight:600; color:var(--b5-ink); }

.blz-home-steps{ display:grid; gap:2px; margin:0; padding:0; list-style:none; }
.blz-home-step{ display:flex; align-items:center; gap:10px; min-block-size:36px; font-size:14px; color:var(--b5-ink); }
.blz-home-step .fa{ inline-size:18px; text-align:center; color:var(--b5-disabled); font-size:16px; }
.blz-home-step.is-done{ color:var(--b5-muted); }
.blz-home-step.is-done .fa{ color:var(--b5-success-fill); }

.blz-home-people{ display:grid; gap:4px; margin:0; padding:0; list-style:none; }
.blz-home-people li{ display:flex; align-items:center; gap:10px; min-block-size:44px; }
.blz-home-avatar{
  display:grid; place-items:center; flex:none; inline-size:36px; block-size:36px; border-radius:50%;
  background:var(--b5-selected); color:var(--b5-link); font-size:13px; font-weight:600;
}
.blz-home-person{ min-inline-size:0; }
.blz-home-person b{ display:block; font-size:14px; font-weight:600; }
.blz-home-person small{ display:block; font-size:12.5px; color:var(--b5-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.blz-home-stats{ display:flex; flex-wrap:wrap; gap:16px 24px; }
.blz-home-stats.is-stacked{ display:grid; gap:10px; margin-block-end:12px; }
.blz-home-stat{ display:flex; align-items:baseline; gap:8px; }
.blz-home-stat-n{ font-size:28px; font-weight:600; line-height:1.1; color:var(--b5-link); unicode-bidi:isolate; font-variant-numeric:tabular-nums; }
.blz-home-stat-t{ font-size:18px; font-weight:600; color:var(--b5-link); }
.blz-home-stat-l{ font-size:14px; color:var(--b5-muted); }
.blz-home-empty{ margin:0; color:var(--b5-muted); font-size:14px; }

/* About column -------------------------------------------------------------- */
.blz-home-aside{
  display:grid; gap:0; min-inline-size:0;
  border:1px solid var(--b5-hairline); border-radius:var(--blz-r-card); background:var(--b5-panel);
}
.blz-home-about{ padding:16px 18px; }
.blz-home-about + .blz-home-about{ border-block-start:1px solid var(--b5-hairline); }
.blz-home-org{ margin:0 0 10px; font-size:18px; font-weight:600; line-height:1.3; }
.blz-home-facts{ display:grid; gap:8px; margin:0; }
.blz-home-facts > div{ display:flex; justify-content:space-between; gap:12px; font-size:13.5px; }
.blz-home-facts dt{ color:var(--b5-muted); }
.blz-home-facts dd{ margin:0; text-align:end; font-weight:600; min-inline-size:0; overflow-wrap:anywhere; }
.blz-home-links{ margin:0; padding:0; list-style:none; }
.blz-home-link{
  display:flex; align-items:center; justify-content:space-between; gap:8px; min-block-size:40px;
  color:var(--b5-link) !important; text-decoration:none !important; font-size:14px;
}
.blz-home-link:hover{ text-decoration:underline !important; text-underline-offset:3px; }
.blz-home-chev{ font-size:11px; color:var(--b5-muted); }
[dir="rtl"] .blz-home-chev{ transform:scaleX(-1); }

/* Status chip (org status) ---------------------------------------------------- */
.blz-home-chip{
  display:inline-block; padding:2px 8px; border-radius:var(--blz-r-control);
  font-size:12px; font-weight:600; line-height:1.4; white-space:nowrap;
  background:var(--b5-surface-2); color:var(--b5-ink);
}
.blz-home-chip[data-status="TRIAL"]    { background:var(--b5-info-soft);    color:var(--b5-info); }
.blz-home-chip[data-status="ACTIVE"]   { background:var(--b5-success-soft); color:var(--b5-success); }
.blz-home-chip[data-status="SUSPENDED"]{ background:var(--b5-warning-soft); color:var(--b5-warning); }
.blz-home-chip[data-status="CLOSED"]   { background:var(--b5-danger-soft);  color:var(--b5-danger); }

/* Head row (section title + Customize) ------------------------------------------ */
.blz-home-head{ display:flex; align-items:center; gap:12px; margin-block-end:-8px; }
.blz-home-head .blz-home-section-h{ flex:1; margin:0; }
.blz-home-customize-btn[hidden]{ display:none; }
a.blz-home-tile{ color:inherit !important; text-decoration:none !important; transition:border-color var(--blz-dur-fast) var(--blz-ease), background var(--blz-dur-fast) var(--blz-ease); }
a.blz-home-tile:hover{ border-color:var(--b5-hairline-strong); background:var(--b5-hover); }
a.blz-home-tile:focus-visible{ outline:2px solid var(--b5-link); outline-offset:2px; }
.blz-home-chip[data-status="BADGE"]{ background:var(--b5-primary); color:#FFFFFF; }   /* like the rail badge: the accent red stays a thin marker */

/* Customize mode ------------------------------------------------------------------ */
.blz-home-customize[hidden]{ display:none; }
.blz-home-tiles[hidden]{ display:none; }   /* the grid while customizing: .blz-home-tiles{display:grid} beats the UA [hidden] rule */
.blz-home-customize{ padding:16px 18px 18px; border:1px solid var(--b5-hairline); border-radius:var(--blz-r-card); background:var(--b5-panel); }
.blz-home-cust-head h2{ margin:0 0 4px; font-size:16px; font-weight:600; }
.blz-home-cust-head p{ margin:0 0 14px; font-size:13.5px; color:var(--b5-muted); }
.blz-home-cust-cols{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; }
.blz-home-cust-col h3{ margin:0 0 8px; font-size:13px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--b5-muted); }
.blz-home-cust-list{ margin:0; padding:0; list-style:none; display:grid; gap:8px; }
.blz-home-cust-list + h3{ margin-block-start:16px; }   /* Rail — modules under Rail — work */
.blz-home-cust-list li.is-dragging{ opacity:.4; }
.blz-home-tile.is-edit{ flex-direction:row; align-items:center; gap:12px; padding:10px 12px; cursor:grab; }
.blz-home-tile.is-edit .blz-home-tile-ic{ margin:0; inline-size:36px; block-size:36px; font-size:16px; flex:none; }
.blz-home-tile.is-edit .blz-home-tile-title{ font-size:14.5px; flex:1; }
.blz-home-tile.is-edit .blz-home-tile-desc{ display:none; }
.blz-home-tile.is-edit.is-hidden .blz-home-tile-ic,
.blz-home-tile.is-edit.is-hidden .blz-home-tile-title{ opacity:.5; }
.blz-home-hidden-tag{ display:none; padding:1px 7px; border-radius:var(--blz-r-control); background:var(--b5-surface-2); color:var(--b5-muted); font-size:11.5px; font-weight:600; }
.blz-home-tile.is-edit.is-hidden .blz-home-hidden-tag{ display:inline-block; }
.blz-home-drag{ display:inline-flex; color:var(--b5-muted); font-size:12px; letter-spacing:-3px; flex:none; }
.blz-home-tile-tools{ display:inline-flex; gap:2px; flex:none; margin-inline-start:auto; }
.blz-home-tool{
  display:grid; place-items:center; inline-size:32px; block-size:32px; border:0; border-radius:var(--blz-r-control);
  background:transparent; color:var(--b5-muted); cursor:pointer; font-size:13px;
}
.blz-home-tool:hover,
.blz-home-tool:focus-visible{ background:var(--b5-hover); color:var(--b5-ink); }
.blz-home-tool[aria-pressed="true"]{ color:var(--b5-link); }
.blz-home-tool:disabled{ opacity:.4; cursor:default; }   /* the first row's Up, the last row's Down */
.blz-home-tool:disabled:hover{ background:transparent; color:var(--b5-muted); }
.blz-home-cust-msg{ min-block-size:20px; margin:12px 0 0; font-size:13.5px; color:var(--b5-danger); }
.blz-home-cust-msg[data-tone="is-ok"]{ color:var(--b5-success); }        /* Saved. / a move */
.blz-home-cust-msg[data-tone="is-danger"]{ color:var(--b5-danger); }     /* a failed save / reset */
.blz-home-cust-actions{ display:flex; align-items:center; gap:8px; margin-block-start:8px; }
.blz-home-cust-spacer{ flex:1; }

/* Responsive ------------------------------------------------------------------ */
@media (max-width:1279.98px){
  .blz-home-tiles{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:1099.98px){
  .blz-home-layout{ grid-template-columns:minmax(0, 1fr); }
  .blz-home-panels{ grid-template-columns:minmax(0, 1fr); }
  .blz-home-cust-cols{ grid-template-columns:minmax(0, 1fr); }
}
@media (max-width:560px){
  .blz-home-tiles{ grid-template-columns:minmax(0, 1fr); gap:10px; }
  .blz-home-tile{ flex-direction:row; flex-wrap:wrap; align-items:center; column-gap:12px; padding:12px; }
  .blz-home-tile-ic{ margin:0; inline-size:40px; block-size:40px; font-size:18px; }
  .blz-home-tile-title{ flex:1; }
  .blz-home-tile-desc{ flex-basis:100%; }
}
@media (min-width:1024px){
  .blz-home-tile-desc,
  .blz-home-facts > div{ font-size:14px; }
  .blz-home-step,
  .blz-home-person b{ font-size:14.5px; }
}

/* Bidi isolation: counts, codes, dates, emails */
.blz-home bdi,
.blz-adminorgs bdi,
.blz-hub bdi{ unicode-bidi:isolate; }

/* "Your modules" (home_ui_pkg) ------------------------------------------------ */
.blz-home-modules{ display:grid; gap:10px; min-inline-size:0; }
.blz-home .blz-home-section-h{ margin:0; font-size:16px; font-weight:600; color:var(--b5-ink); }
.blz-home-modules-empty{
  margin:0; padding:16px; border:1px dashed var(--b5-hairline-strong); border-radius:var(--blz-r-card);
  color:var(--b5-muted); font-size:14px;
}
.blz-home-chip[data-status="READ_ONLY"]{ background:var(--b5-warning-soft); color:var(--b5-warning); }
