/* ============================================================
   ORB Studio — Mock UI kit
   Pantallas de app FALSAS (datos de ejemplo) para tours y "Cómo funciona".
   Componé pantallas con estas clases. Nada de esto es una app real.
   ============================================================ */

/* --- marco de teléfono --- */
.device{position:relative;width:300px;max-width:82vw;aspect-ratio:300/620;background:#111;border-radius:38px;
  padding:11px;box-shadow:0 30px 70px -30px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.06);flex-shrink:0}
.device-screen{width:100%;height:100%;background:var(--surface,#fff);border-radius:28px;overflow:hidden;
  display:flex;flex-direction:column;position:relative}
.device .notch{position:absolute;top:11px;left:50%;transform:translateX(-50%);width:104px;height:20px;
  background:#111;border-radius:0 0 13px 13px;z-index:6}
/* aire para que el notch no pise el header de la app */
.device-screen .ui>.ui-top:first-child{padding-top:23px}

/* --- marco "browser" (para tienda web / paneles desktop) --- */
.window{width:560px;max-width:92vw;background:var(--surface,#fff);border-radius:16px;overflow:hidden;
  border:1px solid var(--border,#E4DDD3);box-shadow:0 30px 70px -34px rgba(0,0,0,.5)}
.window .wbar{display:flex;align-items:center;gap:6px;padding:11px 14px;background:var(--surface-2,#F1ECE5);border-bottom:1px solid var(--border,#E4DDD3)}
.window .wbar i{width:10px;height:10px;border-radius:50%;background:#cfc7bb;display:block}
.window .wbar .url{margin-left:10px;font-family:var(--fm);font-size:10.5px;color:var(--text-muted,#6B6862);
  background:#fff;border:1px solid var(--border,#E4DDD3);border-radius:6px;padding:4px 10px;flex:1}
.window .wbody{padding:16px}

/* --- superficie de app --- */
.ui{--ink:#1A1815;--mut:#6B6862;--ln:#E4DDD3;--sf:#fff;--sf2:#F4EFE9;--acc:#6B6666;--rd:#b3402e;--ok:#3d7a5a;--wn:#b26321;
  font-family:var(--fh);color:var(--ink);background:var(--sf);display:flex;flex-direction:column;height:100%;overflow:hidden}
.ui.dark{--ink:#f0f0f0;--mut:#8a8a8a;--ln:rgba(255,255,255,.09);--sf:#141414;--sf2:#1f1f1f;background:var(--sf)}
.ui-top{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--ln);flex-shrink:0}
.ui-top .t{font-size:15px;font-weight:800;letter-spacing:-.01em}
.ui-top .s{font-family:var(--fm);font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--mut)}
.ui-top .av{width:28px;height:28px;border-radius:50%;background:var(--sf2)}
.ui-body{flex:1;overflow:hidden;padding:14px 16px;display:flex;flex-direction:column;gap:11px}
.ui-sec{font-family:var(--fm);font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);margin-top:2px}

/* tabs / bottom nav */
.ui-tabs{display:flex;gap:5px;padding:8px;border-top:1px solid var(--ln);background:var(--sf);flex-shrink:0}
.ui-tab{flex:1;text-align:center;font-size:10px;font-weight:600;color:var(--mut);padding:7px 2px;border-radius:9px;display:flex;flex-direction:column;align-items:center;gap:4px}
.ui-tab svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ui-tab.on{color:#fff;background:var(--acc)}
.ui-toptabs{display:flex;gap:6px;flex-wrap:wrap}
.ui-pill{font-family:var(--fm);font-size:10.5px;font-weight:700;padding:6px 12px;border-radius:20px;background:var(--sf2);color:var(--mut)}
.ui-pill.on{background:var(--acc);color:#fff}

/* cards / rows */
.ui-card{background:var(--sf);border:1px solid var(--ln);border-radius:14px;padding:13px 14px}
.ui-card.raised{box-shadow:0 8px 20px -14px rgba(0,0,0,.3)}
.ui-row{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--ln)}
.ui-row:last-child{border-bottom:none}
.ui-row .ic{width:34px;height:34px;border-radius:10px;background:var(--sf2);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:16px}
.ui-row .gr{flex:1;min-width:0}
.ui-row .nm{font-size:13px;font-weight:700;line-height:1.2}
.ui-row .ds{font-size:11px;color:var(--mut);margin-top:2px}
.ui-row .rt{text-align:right;font-weight:800;font-size:13px;white-space:nowrap}

/* chips / badges */
.ui-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:6px;display:inline-flex;align-items:center;gap:5px;letter-spacing:.02em}
.ui-badge .d{width:6px;height:6px;border-radius:50%}
.b-ok{background:rgba(61,122,90,.16);color:var(--ok)} .b-ok .d{background:var(--ok)}
.b-wn{background:rgba(178,99,33,.16);color:var(--wn)} .b-wn .d{background:var(--wn)}
.b-rd{background:rgba(179,64,46,.16);color:var(--rd)} .b-rd .d{background:var(--rd)}
.b-mut{background:var(--sf2);color:var(--mut)}

/* KPI tiles */
.ui-kpis{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.ui-kpi{background:var(--sf2);border-radius:12px;padding:11px 12px}
.ui-kpi .k{font-family:var(--fm);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}
.ui-kpi .v{font-size:20px;font-weight:800;letter-spacing:-.02em;margin-top:3px}
.ui-kpi .v.rd{color:var(--rd)} .ui-kpi .v.ok{color:var(--ok)}

/* botón de app */
.ui-btn{display:flex;align-items:center;justify-content:center;gap:7px;background:var(--acc);color:#fff;
  border-radius:11px;padding:12px;font-size:13px;font-weight:700;width:100%}
.ui-btn.line{background:transparent;color:var(--ink);border:1px solid var(--ln)}
.ui-btn.rd{background:var(--rd)}

/* input falso */
.ui-input{border:1px solid var(--ln);border-radius:10px;padding:11px 12px;font-size:12.5px;color:var(--mut);background:var(--sf2)}

/* grid POS */
.ui-pos{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.ui-pos .p{background:var(--sf2);border-radius:11px;padding:12px 8px;text-align:center;font-size:11px;font-weight:700}
.ui-pos .p .em{font-size:20px;display:block;margin-bottom:5px}

/* pipeline (leads) */
.ui-pipe{display:flex;gap:8px;overflow:hidden}
.ui-col{flex:1;background:var(--sf2);border-radius:11px;padding:8px;min-width:0}
.ui-col .hd{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);margin-bottom:7px;display:flex;justify-content:space-between}
.ui-lead{background:var(--sf);border:1px solid var(--ln);border-radius:8px;padding:7px 8px;margin-bottom:6px}
.ui-lead .nm{font-size:11px;font-weight:700}
.ui-lead .mt{font-size:9.5px;color:var(--mut);margin-top:2px}

/* tabla */
.ui-table{width:100%;border-collapse:collapse;font-size:11.5px}
.ui-table th{font-family:var(--fm);font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);text-align:left;padding:6px 8px;border-bottom:1px solid var(--ln)}
.ui-table td{padding:8px;border-bottom:1px solid var(--ln)}
.ui-table td.r{text-align:right;font-weight:700}

/* tarjeta de puntos (club) */
.ui-stamp{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.ui-stamp i{aspect-ratio:1;border-radius:50%;border:1.6px dashed var(--ln);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--mut)}
.ui-stamp i.on{background:var(--acc);border-style:solid;border-color:var(--acc);color:#fff}

/* utilidades */
.mt-a{margin-top:auto}
.ui-muted{color:var(--mut)}
.ui-flex{display:flex;align-items:center;gap:8px}
.ui-between{display:flex;align-items:center;justify-content:space-between;gap:8px}
