/* Lime & Ink -- consolidado dos mockups do §7 (canvas Horse Social). */
:root{--ink:#0B0C0E;--ink1:#131418;--ink2:#1B1D22;--inkline:rgba(255,255,255,.08);
--oi:#F4F5F0;--oi2:#9A9EA6;--oi3:#6B6F77;
--lime:#D8FF4F;--lime2:#C6F02E;--limesoft:#F0FFC2;--limeink:#2C3A00;
--paper:#F3F4F0;--card:#FFFFFF;--soft:#F6F7F3;--line:#E6E7E1;--line2:#EFF0EB;
--tx:#0B0C0E;--tx2:#41454D;--tx3:#5F6269;--tx4:#8A8E96;
--neg:#A4231A;--negbg:#FDECEA;--warn:#8A5A00;--warnbg:#FFF4D6}
body{margin:0;background:var(--paper);font-family:"Plus Jakarta Sans",system-ui,sans-serif;color:var(--tx);font-size:13.5px;letter-spacing:-.012em;-webkit-font-smoothing:antialiased}
a{color:var(--tx);text-decoration:none}
a:hover{color:#000}
svg{display:block}
.mono{font-family:"Geist Mono",ui-monospace,monospace;letter-spacing:0}
.t{font-variant-numeric:tabular-nums}
.ml{font-family:"Geist Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--tx3)}
.card{background:var(--card);border-radius:20px;box-shadow:0 0 0 1px rgba(11,12,14,.055),0 1px 2px rgba(11,12,14,.035)}
.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:99px;font-size:11.5px;font-weight:600;background:var(--soft);color:var(--tx2);box-shadow:inset 0 0 0 1px var(--line2)}
.cc{font-family:"Geist Mono",ui-monospace,monospace;font-size:10.5px;font-weight:500;letter-spacing:.05em;padding:3px 6px;border-radius:6px;background:var(--soft);color:var(--tx2);box-shadow:inset 0 0 0 1px var(--line);text-transform:uppercase}
.st{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 8px;border-radius:99px;white-space:nowrap}
.st.live{background:var(--lime);color:var(--ink)}
.st.ok{background:var(--limesoft);color:var(--limeink)}
.st.q{background:var(--soft);color:var(--tx3);box-shadow:inset 0 0 0 1px var(--line2)}
.st.fail{background:var(--negbg);color:var(--neg)}
.st.login{background:var(--warnbg);color:var(--warn)}
.st.off{background:var(--soft);color:var(--tx3)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 15px;border-radius:12px;font-family:"Plus Jakarta Sans",system-ui;font-size:12.5px;font-weight:700;letter-spacing:-.01em;background:var(--card);color:var(--tx);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;border:0}
.btn.lime{background:var(--lime);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(11,12,14,.1)}
.btn.ink{background:var(--ink);color:var(--oi);box-shadow:none}
.btn.sm{height:30px;padding:0 11px;font-size:11.5px;border-radius:9px}
.btn.gh{background:transparent;color:var(--oi);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.btn svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.9;fill:none}
.navi{display:flex;align-items:center;gap:11px;height:38px;padding:0 12px;border-radius:11px;color:var(--oi2);font-weight:500;font-size:13px;position:relative}
.navi:hover{background:var(--ink2);color:var(--oi)}
.navi svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.7;fill:none;flex:none}
.navi.on{background:var(--ink2);color:var(--oi)}
.navi.on svg{color:var(--lime)}
.navi.on::before{content:"";position:absolute;left:-12px;top:11px;bottom:11px;width:3px;border-radius:0 3px 3px 0;background:var(--lime)}
.navi .n{margin-left:auto;font-family:"Geist Mono",ui-monospace,monospace;font-size:10.5px;font-weight:500;min-width:19px;height:19px;padding:0 5px;border-radius:99px;display:grid;place-items:center;background:var(--ink2);color:var(--oi2)}
.navi .n.hi{background:var(--lime);color:var(--ink)}
.inkml{font-family:"Geist Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--oi3);padding:16px 12px 7px}
.livedot{width:7px;height:7px;border-radius:99px;background:var(--lime);box-shadow:0 0 0 3px rgba(216,255,79,.2);flex:none;animation:lp 2s infinite}
@keyframes lp{50%{box-shadow:0 0 0 7px rgba(216,255,79,0)}}
.seg{display:inline-flex;gap:2px;padding:3px;border-radius:12px;background:var(--card);box-shadow:0 0 0 1px rgba(11,12,14,.055)}
.seg a{padding:7px 13px;border-radius:9px;font-size:12.5px;font-weight:600;color:var(--tx3)}
.seg a.on{background:var(--ink);color:var(--oi)}
.thumb{border-radius:10px;flex:none;box-shadow:inset 0 0 0 1px rgba(11,12,14,.07)}
.g1{background:linear-gradient(140deg,#dfe7d8,#9fb48d)}
.g2{background:linear-gradient(140deg,#e9e1d4,#c0a97f)}
.g3{background:linear-gradient(140deg,#dde3ea,#93a3b8)}
.g4{background:linear-gradient(140deg,#eadfe3,#bf96a4)}
.step{display:flex;gap:3px;flex:none}
.step i{display:block;width:18px;height:5px;border-radius:99px;background:rgba(255,255,255,.14)}
.step i.d{background:var(--lime2)}
.step i.c{background:var(--lime);animation:lp2 1.4s infinite}
@keyframes lp2{50%{opacity:.4}}
.meter{height:5px;border-radius:99px;background:var(--line2);position:relative;overflow:hidden}
.meter i{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:var(--ink)}
.meter i.l{background:var(--lime2)}
.lane{position:relative;height:30px;border-radius:9px;background:var(--soft);box-shadow:inset 0 0 0 1px var(--line2)}
.pin{position:absolute;top:4px;height:22px;display:inline-flex;align-items:center;gap:4px;padding:0 7px;border-radius:7px;font-family:"Geist Mono",ui-monospace,monospace;font-size:9.5px;font-weight:500;letter-spacing:.02em}
.pin.ok{background:var(--limesoft);color:var(--limeink);box-shadow:inset 0 0 0 1px rgba(150,190,0,.35)}
.pin.live{background:var(--lime);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(11,12,14,.15)}
.pin.q{background:var(--card);color:var(--tx3);box-shadow:inset 0 0 0 1px var(--line)}
.pin.fail{background:var(--negbg);color:var(--neg);box-shadow:inset 0 0 0 1px rgba(164,35,26,.2)}
.need{display:grid;grid-template-columns:32px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line2)}
.need:last-child{border-bottom:0;padding-bottom:0}
.need .ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center}
.need .ic svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.9;fill:none}
.acc{padding:14px;border-radius:14px;background:var(--soft);box-shadow:inset 0 0 0 1px var(--line2)}
.thumb{border-radius:8px;flex:none;box-shadow:inset 0 0 0 1px rgba(11,12,14,.07)}
.st.warn{background:var(--warnbg);color:var(--warn)}
/* timeline */
.tl{position:relative;padding-left:30px}
.tl::before{content:"";position:absolute;left:9px;top:8px;bottom:14px;width:1.5px;background:var(--line2)}
.ti{position:relative;padding:0 0 18px}
.ti::before{content:"";position:absolute;left:-26px;top:4px;width:11px;height:11px;border-radius:99px;background:var(--card);box-shadow:inset 0 0 0 2px var(--line)}
.ti.ok::before{background:var(--lime2);box-shadow:inset 0 0 0 2px rgba(150,190,0,.55)}
.ti.bad::before{background:var(--neg);box-shadow:inset 0 0 0 2px rgba(164,35,26,.35)}
.ti.wait::before{background:#C98A00;box-shadow:inset 0 0 0 2px rgba(201,138,0,.35)}
.ti h3{margin:0;font-size:12.5px;font-weight:700;letter-spacing:-.015em}
.ti p{margin:3px 0 0;font-size:11.5px;color:var(--tx3);line-height:1.5}
.ti .ts{font-family:"Geist Mono",ui-monospace,monospace;font-size:10px;color:var(--tx3);font-variant-numeric:tabular-nums}
.shot{border-radius:11px;box-shadow:inset 0 0 0 1px rgba(11,12,14,.09);display:grid;place-items:center;text-align:center;padding:10px;background:#ECEEE9}
.shot span{font-family:"Geist Mono",ui-monospace,monospace;font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:#4A4E57;line-height:1.5}
.logline{font-family:"Geist Mono",ui-monospace,monospace;font-size:10.5px;line-height:1.85;color:#9A9EA6}
.logline b{color:#F4F5F0;font-weight:500}
.logline i{color:#D8FF4F;font-style:normal}
.logline s{color:#FF9A8F;text-decoration:none}
.kvr{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line2);font-size:12px}
.kvr:last-child{border-bottom:0}
.kv{display:grid;grid-template-columns:118px 1fr;gap:10px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line2)}
.kv:last-child{border-bottom:0}
.kv dt{font-size:11.5px;color:var(--tx3)}
.kv dd{margin:0;font-size:12.5px;color:var(--tx);font-weight:600}
.ramp{display:flex;gap:4px;align-items:flex-end;height:38px}
.ramp i{flex:1;border-radius:4px 4px 2px 2px;background:var(--line2)}
.ramp i.on{background:var(--lime2)}
.ramp i.now{background:var(--ink)}
.ev{display:grid;grid-template-columns:76px 20px 1fr;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--line2)}
.ev:last-child{border-bottom:0}
.ev .dt{width:9px;height:9px;border-radius:99px;margin-top:4px;background:var(--line);box-shadow:0 0 0 3px var(--card)}
.ev .dt.ok{background:var(--lime2)}
.ev .dt.bad{background:var(--neg)}
.ev .dt.warn{background:#C98A00}
tr.r td{padding:9px 10px;border-bottom:1px solid var(--line2);font-size:12px}
.fchip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:9px;font-size:12px;font-weight:600;background:var(--card);color:var(--tx2);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer}
.fchip svg{width:13px;height:13px;stroke:currentColor;stroke-width:1.8;fill:none}
.seg2{display:inline-flex;gap:2px;padding:3px;border-radius:11px;background:var(--soft);box-shadow:inset 0 0 0 1px var(--line2)}
.seg2 a{padding:5px 11px;border-radius:8px;font-size:12px;font-weight:600;color:var(--tx3)}
.seg2 a.on{background:var(--card);color:var(--tx);box-shadow:0 1px 2px rgba(11,12,14,.07),0 0 0 1px rgba(11,12,14,.05)}
/* matriz */
.mx{display:grid;grid-template-columns:252px repeat(7,minmax(104px,1fr));min-width:980px}
.hd{padding:9px 10px;border-bottom:1px solid var(--line);background:var(--card)}
.hd.tdy{background:#FBFCF4}
.rh{display:flex;align-items:center;gap:9px;padding:9px 12px 9px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line2);background:var(--card)}
.cel{padding:6px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);min-height:58px;display:flex;flex-direction:column;gap:4px}
.cel.tdy{background:#FBFCF4}
.grp{grid-column:1 / -1;display:flex;align-items:center;gap:9px;padding:7px 12px;background:var(--soft);border-bottom:1px solid var(--line2);border-top:1px solid var(--line2)}
.mc{display:flex;align-items:center;gap:5px;height:24px;padding:0 7px;border-radius:7px;font-family:"Geist Mono",ui-monospace,monospace;font-size:10px;font-weight:500;letter-spacing:.02em;white-space:nowrap;overflow:hidden}
.mc b{font-family:"Plus Jakarta Sans",system-ui;font-size:10px;font-weight:700;letter-spacing:0}
.mc.ok{background:var(--limesoft);color:var(--limeink);box-shadow:inset 0 0 0 1px rgba(150,190,0,.3)}
.mc.live{background:var(--lime);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(11,12,14,.14)}
.mc.q{background:var(--soft);color:var(--tx3);box-shadow:inset 0 0 0 1px var(--line)}
.mc.fail{background:var(--negbg);color:var(--neg);box-shadow:inset 0 0 0 1px rgba(164,35,26,.22)}
.mc.off{background:transparent;color:var(--tx4);box-shadow:inset 0 0 0 1px var(--line2)}
.cb{width:15px;height:15px;border-radius:4px;box-shadow:inset 0 0 0 1.5px var(--line);background:var(--card);flex:none;display:grid;place-items:center}
.cb.on{background:var(--ink);box-shadow:none}
.cb.on svg{width:10px;height:10px;stroke:var(--lime);stroke-width:2.6;fill:none}
.kbd{font-family:"Geist Mono",ui-monospace,monospace;font-size:10px;color:var(--tx3);padding:2px 5px;border-radius:5px;box-shadow:inset 0 0 0 1px var(--line)}
.st.ai{background:#0B0C0E;color:#D8FF4F}
/* esteira */
.col{flex:1 1 236px;min-width:224px;display:flex;flex-direction:column;gap:9px}
.colh{display:flex;align-items:center;gap:8px;padding:0 4px 2px}
.colh .cnt{font-family:"Geist Mono",ui-monospace,monospace;font-size:10.5px;font-weight:500;min-width:19px;height:19px;padding:0 5px;border-radius:99px;display:grid;place-items:center;background:var(--soft);color:var(--tx2);box-shadow:inset 0 0 0 1px var(--line2)}
.pc{background:var(--card);border-radius:14px;box-shadow:0 0 0 1px rgba(11,12,14,.06),0 1px 2px rgba(11,12,14,.03);padding:11px;display:block}
.pc:hover{box-shadow:0 0 0 1px rgba(11,12,14,.14),0 3px 10px -4px rgba(11,12,14,.14)}
.pc .cap{font-size:11.5px;color:var(--tx2);line-height:1.45;margin-top:8px;display:block}
.drop{border-radius:14px;box-shadow:inset 0 0 0 1.5px var(--line);background:rgba(255,255,255,.4);padding:13px;text-align:center}
.av{width:20px;height:20px;border-radius:99px;box-shadow:0 0 0 1.5px var(--card);flex:none}
.btn.big{height:44px;border-radius:13px;font-size:13.5px}
/* passos */
.steps{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.sp{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px 0 9px;border-radius:99px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);font-size:12px;font-weight:600;color:var(--tx3)}
.sp i{width:17px;height:17px;border-radius:99px;display:grid;place-items:center;background:var(--soft);color:var(--tx3);font-family:"Geist Mono",ui-monospace,monospace;font-size:9.5px;font-weight:500;font-style:normal}
.sp.done{color:var(--tx)}
.sp.done i{background:var(--lime);color:var(--ink)}
.sp.on{background:var(--ink);color:var(--oi);box-shadow:none}
.sp.on i{background:var(--lime);color:var(--ink)}
.sp.off{opacity:.6}
.arr{width:14px;height:1px;background:var(--line);flex:none}
/* fan-out */
.fan{position:relative;padding-left:30px}
.fan::before{content:"";position:absolute;left:0;top:-30px;bottom:30px;width:1.5px;background:var(--line)}
.vr{position:relative;background:var(--card);border-radius:16px;box-shadow:0 0 0 1px rgba(11,12,14,.06),0 1px 2px rgba(11,12,14,.03);padding:14px;margin-top:11px}
.vr::before{content:"";position:absolute;left:-30px;top:30px;width:30px;height:1.5px;background:var(--line)}
.vr::after{content:"";position:absolute;left:-33.5px;top:26.5px;width:8px;height:8px;border-radius:99px;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line)}
.vr.sel{box-shadow:0 0 0 1.5px #0B0C0E,0 4px 14px -6px rgba(11,12,14,.18)}
.vr.sel::after{background:var(--lime);box-shadow:inset 0 0 0 1.5px #0B0C0E}
.vr.hold{background:#FFFBF0;box-shadow:0 0 0 1px rgba(138,90,0,.26)}
.ta{width:100%;border:0;outline:0;resize:none;background:var(--soft);border-radius:10px;padding:10px 11px;font-family:"Plus Jakarta Sans",system-ui;font-size:12.5px;line-height:1.5;color:var(--tx);box-shadow:inset 0 0 0 1px var(--line2)}
.tag{display:inline-flex;align-items:center;height:22px;padding:0 7px;border-radius:6px;background:var(--soft);color:var(--tx2);font-family:"Geist Mono",ui-monospace,monospace;font-size:10px;box-shadow:inset 0 0 0 1px var(--line2)}
.ach{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px 0 4px;border-radius:99px;background:var(--soft);box-shadow:inset 0 0 0 1px var(--line2);font-size:11.5px;font-weight:600;color:var(--tx2)}
.tg{display:inline-block;width:30px;height:18px;border-radius:99px;background:var(--line);position:relative;flex:none;cursor:pointer}
.tg::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:99px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:.18s}
.tg.on{background:var(--ink)}
.tg.on::after{left:14px;background:var(--lime)}
.sumr{display:flex;align-items:baseline;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line2);font-size:12.5px}
.sumr:last-child{border-bottom:0}
