/* GIDA · Simulador de color v2 — tokens de la landing, sin inventar nada. */

/* Fuentes: rutas relativas a este archivo (/simulador/ -> /assets/). */
@font-face{font-family:'Cabinet Grotesk';src:url("../assets/f35ff2de-f893-4764-a820-f02abac48ab7.woff2") format('woff2');font-weight:300;font-display:swap;font-style:normal}
@font-face{font-family:'Cabinet Grotesk';src:url("../assets/7e3051a3-d038-4e07-8acf-818ef2836dba.woff2") format('woff2');font-weight:700;font-display:swap;font-style:normal}
@font-face{font-family:'Cabinet Grotesk';src:url("../assets/0514ad89-2bd1-4fcf-b4c2-abea0adfaa53.woff2") format('woff2');font-weight:800;font-display:swap;font-style:normal}
@font-face{font-family:'Cabinet Grotesk';src:url("../assets/38dcc33e-72f7-4e82-a563-e4a5588579d0.woff2") format('woff2');font-weight:900;font-display:swap;font-style:normal}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url("../assets/5f8642c1-79ff-478b-90b9-3bd85f644c6b.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url("../assets/5a9e4165-65d7-4c4c-ab13-b259aa860c71.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

#gida-sim-root.gida-sim-open{position:fixed;inset:0;z-index:9000}

.gs-root{
  --gs-bg:oklch(94% 0.015 200);
  --gs-surface:oklch(97% 0.01 200);
  --gs-canvas:oklch(92% 0.006 200);
  --gs-ink:oklch(22% 0.04 30);
  --gs-ink-soft:oklch(34% 0.035 30);
  --gs-muted:oklch(50% 0.03 30);
  --gs-border:oklch(22% 0.04 30 / 0.34);
  --gs-accent-deep:oklch(46% 0.13 35);
  --gs-accent:oklch(58% 0.14 35);
  --gs-info:oklch(60% 0.09 230);
  --gs-warn:oklch(75% 0.14 85);
  --gs-ease:cubic-bezier(0.32,0.72,0,1);
  position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;
  background:var(--gs-bg);color:var(--gs-ink);
  font-family:'Cabinet Grotesk',system-ui,sans-serif;font-weight:300;font-size:14px;line-height:1.35;
  -webkit-text-size-adjust:100%;
}
.gs-root *{box-sizing:border-box}
.gs-root button,.gs-root input{font:inherit;color:inherit}
.gs-root code,.gs-root kbd,.gs-root .gs-area,.gs-root .gs-total,.gs-root .gs-pct,.gs-root .gs-size span{
  font-family:'Geist Mono',ui-monospace,SFMono-Regular,monospace;font-weight:500;letter-spacing:-0.01em}
.gs-root :focus-visible{outline:2px solid var(--gs-accent);outline-offset:2px;border-radius:4px}
.gs-root h2,.gs-root h3,.gs-root h4{margin:0;font-weight:900;letter-spacing:-0.015em}
.gs-root h2{font-size:15px}
.gs-root h3{font-size:13px;text-transform:uppercase;letter-spacing:0.06em;color:var(--gs-ink-soft)}
.gs-root p{margin:0}

/* ------------------------------------------------------------ barra top */
.gs-top{flex:0 0 56px;height:56px;display:flex;align-items:center;gap:6px;padding:0 8px;background:var(--gs-canvas)}
.gs-top h2{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:2px}
.gs-top-r{display:flex;align-items:center;gap:4px}
.gs-close{font-weight:700}

.gs-rooms{flex:0 0 auto;display:flex;gap:6px;padding:8px 12px;overflow-x:auto;scrollbar-width:none}
.gs-rooms::-webkit-scrollbar{display:none}

/* -------------------------------------------------------------- cuerpo */
.gs-body{flex:1 1 auto;min-height:0;display:flex;gap:0}
.gs-mid{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.gs-col{flex:0 0 auto;overflow-y:auto;background:var(--gs-surface);border-left:1px solid var(--gs-border);padding:14px}
.gs-col-cat{border-left:0;border-right:1px solid var(--gs-border);width:320px}
.gs-col-quote{width:380px}
.gs-root[data-vp="md"] .gs-col-quote{width:38%}
.gs-root[data-vp="md"] .gs-mid{flex:0 0 62%;max-width:62%}
.gs-loading{flex:1 1 auto;display:grid;place-items:center;background:var(--gs-canvas);color:var(--gs-muted)}

/* -------------------------------------------------------------- lienzo */
.gs-stage{flex:1 1 auto;min-height:0;background:var(--gs-canvas);padding:16px;display:flex;align-items:center;justify-content:center}
.gs-root[data-vp="lg"] .gs-stage{padding:32px;background:var(--gs-bg)}
.gs-root[data-vp="lg"] .gs-inner{outline:16px solid var(--gs-canvas)}
.gs-inner{position:relative;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;background:var(--gs-canvas)}
.gs-zoom{position:absolute;inset:0;transform-origin:center center}
.gs-cv{position:absolute;inset:0;width:100%;height:100%;display:block}
.gs-after{position:absolute;inset:0}
.gs-after .gs-cv{position:absolute;inset:0}

.gs-wlab{
  position:absolute;transform:translate(-50%,-50%);z-index:3;
  min-width:44px;min-height:44px;padding:5px 9px;border:1px solid var(--gs-border);border-radius:4px;
  background:color-mix(in oklab,var(--gs-canvas) 85%,transparent);
  backdrop-filter:blur(6px);
  color:var(--gs-ink);font-size:13px;font-weight:900;white-space:nowrap;cursor:pointer}
.gs-wlab.is-on{border-width:2px;border-color:var(--gs-ink);font-size:11px;min-width:0}
.gs-root .gs-inner[data-tool] .gs-wlab{pointer-events:none}

.gs-curtain{position:absolute;top:0;bottom:0;width:44px;margin-left:-22px;z-index:4;display:flex;align-items:center;justify-content:center;cursor:ew-resize;touch-action:none}
.gs-curtain::before{content:"";position:absolute;top:0;bottom:0;left:21px;width:2px;background:var(--gs-canvas);opacity:.95;pointer-events:none}
.gs-curtain::after{content:"";position:absolute;top:0;bottom:0;left:21.5px;width:1px;background:var(--gs-ink);opacity:.8;pointer-events:none}
.gs-curtain-grip{position:relative;width:44px;height:72px;padding:0;border:0;background:none;cursor:ew-resize}
.gs-curtain-grip::after{content:"";position:absolute;left:15px;top:4px;bottom:4px;width:14px;
  border:1px solid var(--gs-ink);border-radius:2px;background:var(--gs-canvas)}
.gs-curtain-lbl{position:absolute;top:10px;z-index:4;font-size:11px;font-weight:700;padding:4px 8px;border-radius:4px;
  background:color-mix(in oklab,var(--gs-canvas) 85%,transparent);border:1px solid var(--gs-border)}
.gs-cl-a{left:10px}
.gs-cl-b{right:10px}

/* --------------------------------------------------------- herramientas */
.gs-tools{flex:0 0 56px;height:56px;display:flex;align-items:center;gap:6px;padding:0 10px;background:var(--gs-surface);
  border-top:1px solid var(--gs-border);flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.gs-tools::-webkit-scrollbar{display:none}
.gs-tools-r{margin-left:auto;display:flex;gap:4px;align-items:center;flex:0 0 auto}
.gs-tool{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:0 10px;border:1px solid var(--gs-border);border-radius:6px;background:var(--gs-surface);cursor:pointer;font-size:12px;font-weight:700}
.gs-tools .gs-tool{min-height:56px;height:56px;flex:0 0 auto}
.gs-tools .gs-size{height:56px;flex:0 0 auto}
.gs-tool span{white-space:nowrap}
.gs-tool.is-on{background:var(--gs-ink);color:var(--gs-surface);border-color:var(--gs-ink)}
.gs-tool.is-hint{box-shadow:0 0 0 3px color-mix(in oklab,var(--gs-warn) 60%,transparent)}
.gs-tool[disabled]{opacity:.35;cursor:not-allowed}
.gs-ico{padding:0}
.gs-tool svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gs-hold span{display:none}
.gs-root[data-vp="lg"] .gs-hold span,.gs-root[data-vp="md"] .gs-hold span{display:inline}
.gs-sizes{display:flex;gap:4px;align-items:center;margin-left:4px}
.gs-size{min-width:44px;min-height:44px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  border:1px solid var(--gs-border);border-radius:6px;background:var(--gs-surface);cursor:pointer;font-size:10px}
.gs-size i{display:block;background:var(--gs-ink);border-radius:50%}
.gs-size.is-on{border-color:var(--gs-ink);border-width:2px}
.gs-keys{flex:0 0 auto;padding:6px 12px;font-size:11px;color:var(--gs-muted);background:var(--gs-surface)}
.gs-keys kbd{border:1px solid var(--gs-border);border-radius:3px;padding:1px 5px;font-size:10px}

/* --------------------------------------------------------- muestras row */
.gs-swrow{flex:0 0 auto;height:84px;display:flex;align-items:center;gap:8px;padding:0 10px;background:var(--gs-surface);border-top:1px solid var(--gs-border)}
.gs-swrow-in{flex:1 1 auto;display:flex;gap:10px;overflow-x:auto;height:100%;align-items:center;scrollbar-width:none}
.gs-swrow-in::-webkit-scrollbar{display:none}
.gs-more{flex:0 0 auto}

.gs-sw{position:relative;flex:0 0 auto;width:56px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  padding:0;border:0;background:none;cursor:pointer;text-align:left}
.gs-sw-chip{display:block;width:56px;height:56px;border-radius:6px;border:1px solid var(--gs-border)}
.gs-sw.is-big{width:100%}
.gs-sw.is-big .gs-sw-chip{width:100%;height:96px}
.gs-sw-n{font-size:11px;font-weight:700;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gs-sw-c{font-family:'Geist Mono',ui-monospace,monospace;font-size:10px;color:var(--gs-muted)}
.gs-sw.is-on .gs-sw-chip{box-shadow:0 0 0 2px var(--gs-ink);border-color:var(--gs-ink)}
.gs-sw-tag{position:absolute;top:4px;left:4px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;
  background:var(--gs-canvas);border:1px solid var(--gs-ink);border-radius:3px;padding:1px 4px}

/* ------------------------------------------------------------- catalogo */
.gs-cat{display:flex;flex-direction:column;gap:10px}
.gs-search{display:flex;align-items:center;gap:6px;border:1px solid var(--gs-border);border-radius:6px;padding:0 10px;height:44px;background:var(--gs-surface)}
.gs-search svg{width:16px;height:16px;fill:none;stroke:var(--gs-muted);stroke-width:1.7}
.gs-search input{flex:1 1 auto;border:0;background:none;outline:none;font-size:13px;min-width:0}
.gs-fams{display:flex;flex-wrap:wrap;gap:6px}
.gs-chip{min-height:44px;padding:0 14px;border:1px solid var(--gs-border);border-radius:18px;background:var(--gs-surface);cursor:pointer;font-size:12px;font-weight:700}
.gs-chip.is-on{background:var(--gs-ink);color:var(--gs-surface);border-color:var(--gs-ink)}
.gs-chip.is-done{border-width:2px;border-color:var(--gs-ink)}
.gs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.gs-empty{padding:18px 0;display:flex;flex-direction:column;gap:10px;align-items:flex-start;color:var(--gs-muted)}

/* ------------------------------------------------------------ cotizacion */
.gs-qcard{display:flex;flex-direction:column;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--gs-border)}
.gs-qrow{display:flex;gap:10px;align-items:flex-start}
.gs-qsw{display:flex;gap:4px;flex:0 0 auto}
.gs-qsw span{display:block;width:32px;height:32px;border-radius:4px;border:1px solid var(--gs-border)}
.gs-qtxt{min-width:0;display:flex;flex-direction:column;line-height:1.25}
.gs-qtxt b{font-weight:900;font-size:13px}
.gs-qtxt code{font-size:11px;color:var(--gs-muted)}
.gs-acc{color:var(--gs-ink-soft)}
.gs-area{color:var(--gs-info);font-size:12px}
.gs-area em,.gs-total em{font-style:normal}
.gs-total{font-size:16px;font-weight:600}
.gs-cta{min-height:48px;padding:0 18px;border:0;border-radius:6px;background:var(--gs-accent-deep);color:#fff;
  font-weight:900;font-size:14px;cursor:pointer;font-family:inherit}
.gs-btn{min-height:44px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border:1px solid var(--gs-border);border-radius:6px;background:var(--gs-surface);cursor:pointer;font-size:12px;font-weight:700}
.gs-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gs-wfull{width:100%}
.gs-qactions{display:flex;gap:8px}
.gs-qactions .gs-btn{flex:1 1 0}
.gs-cond{display:flex;flex-direction:column;gap:8px}
.gs-note{font-size:11px;color:var(--gs-muted);line-height:1.4}
.gs-honesty{border-top:1px solid var(--gs-border);padding-top:10px;margin-top:4px}
.gs-seg{display:flex;border:1px solid var(--gs-border);border-radius:6px;overflow:hidden}
.gs-seg-b{flex:1 1 0;min-height:44px;border:0;border-right:1px solid var(--gs-border);background:var(--gs-surface);cursor:pointer;font-size:12px;font-weight:700}
.gs-seg-b:last-child{border-right:0}
.gs-seg-b.is-on{background:var(--gs-ink);color:var(--gs-surface)}

/* barra de cotizacion 375: maximo 72 px */
.gs-qbar{flex:0 0 72px;height:72px;display:flex;align-items:center;gap:8px;padding:0 10px;
  background:color-mix(in oklab,var(--gs-surface) 92%,transparent);backdrop-filter:blur(10px);
  border-top:1px solid var(--gs-border);z-index:20}
.gs-qbar .gs-qsw span{width:28px;height:28px}
.gs-qbar .gs-qtxt{flex:1 1 auto;min-width:0;gap:1px}
.gs-qbar .gs-ln{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
.gs-qbar .gs-qtxt b{font-size:11px}
.gs-qbar .gs-qtxt code{font-size:10px;color:var(--gs-muted)}
.gs-qbar .gs-area,.gs-qbar .gs-total{font-size:10.5px}
.gs-qbar .gs-ln-num{line-height:1.15}
.gs-qbar .gs-ln-nc{display:flex;gap:5px;align-items:baseline}
.gs-qbar .gs-ln-nc b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gs-qbar .gs-ln-nc code{flex:0 0 auto}
.gs-qbar .gs-ln-num .gs-total{font-weight:600}
.gs-qbar .gs-cta{flex:0 0 104px;width:104px;min-height:52px;font-size:11px;line-height:1.15;
  padding:0 6px;white-space:normal}

/* ---------------------------------------------------------------- hoja */
.gs-sheet{position:absolute;left:0;right:0;bottom:72px;z-index:15;display:flex;flex-direction:column;
  background:var(--gs-surface);border-top:1px solid var(--gs-border);border-radius:12px 12px 0 0;
  transition:height .28s var(--gs-ease);overflow:hidden}
.gs-sheet[data-pos="0"]{height:72px}
.gs-sheet[data-pos="1"]{height:45%}
.gs-sheet[data-pos="2"]{height:calc(88% - 72px)}
.gs-sheet-h{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:6px 10px;touch-action:none}
.gs-sheet-h h3{flex:1 1 auto}
.gs-grab{width:44px;height:44px;border:0;background:none;cursor:grab;position:relative}
.gs-grab::after{content:"";position:absolute;left:10px;right:10px;top:21px;height:2px;border-radius:1px;background:var(--gs-border)}
.gs-sheet-b{flex:1 1 auto;overflow-y:auto;padding:0 12px 16px;display:flex;flex-direction:column;gap:12px}

.gs-modal{position:absolute;inset:0;z-index:30;display:grid;place-items:center;background:color-mix(in oklab,var(--gs-ink) 22%,transparent)}
.gs-modal-in{position:relative;width:min(420px,90%);max-height:86%;overflow-y:auto;background:var(--gs-surface);border:1px solid var(--gs-border);border-radius:10px;padding:16px}
.gs-modal-x{position:absolute;top:8px;right:8px}

.gs-big{display:flex;flex-direction:column;gap:8px}
.gs-big-color{height:240px;min-height:240px;border-radius:8px;border:1px solid var(--gs-border)}
.gs-big h3{font-size:22px;text-transform:none;letter-spacing:-0.02em;color:var(--gs-ink)}
.gs-big code{font-size:13px;color:var(--gs-ink-soft)}

.gs-proj{display:flex;flex-direction:column;gap:12px}
.gs-proj-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.gs-proj-l li{display:flex;gap:10px;align-items:center;border:1px solid var(--gs-border);border-radius:8px;padding:8px}
.gs-proj-l img{border-radius:4px;flex:0 0 auto}
.gs-proj-l div{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.gs-proj-l b{font-weight:900}
.gs-proj-l code{font-size:11px;color:var(--gs-muted)}

/* ------------------------------------------------------------- avisos */
.gs-warn{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;background:var(--gs-warn);color:var(--gs-ink)}
.gs-warn p{flex:1 1 220px;font-weight:700;font-size:12px}
.gs-warn .gs-btn{background:var(--gs-canvas);border-color:var(--gs-ink)}
.gs-ia{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;background:var(--gs-canvas);border-bottom:1px solid var(--gs-border)}
.gs-ia p{flex:1 1 240px;font-size:12px}
.gs-ia-soft{background:var(--gs-surface)}
.gs-bar{flex:1 1 160px;height:6px;border-radius:3px;background:color-mix(in oklab,var(--gs-ink) 12%,transparent);overflow:hidden}
.gs-bar i{display:block;height:100%;background:var(--gs-info);transition:width .2s linear}
.gs-pct{font-size:11px;color:var(--gs-muted)}
.gs-err{display:block;font-style:normal;font-size:11px;color:var(--gs-muted);margin-top:2px}
.gs-toast{position:absolute;left:12px;right:12px;bottom:88px;z-index:40;padding:12px 14px;border-radius:8px;
  background:var(--gs-ink);color:var(--gs-surface);font-size:12px;font-weight:700}
.gs-root[data-vp="lg"] .gs-toast,.gs-root[data-vp="md"] .gs-toast{left:auto;right:24px;bottom:24px;max-width:340px}
.gs-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.gs-ms{position:absolute;left:-9999px;top:auto}

@media (prefers-reduced-motion:reduce){
  .gs-root *{transition:none!important;animation:none!important}
}

.gs-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
