/* Demo do sistema Dex (compartilhado: Software e Casa Fixa) */
/* ---- Demo do sistema ---- */
.sd-frame { background: #10161e; border-radius: 20px; padding: 9px; box-shadow: 0 30px 60px rgba(0,22,31,.32); max-width: 980px; margin-inline: auto; }
.sd-chrome { background: #1b2531; border-radius: 12px 12px 0 0; padding: .55rem .9rem; display: flex; align-items: center; gap: .45rem; }
.sd-chrome i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.sd-url { flex: 1; background: rgba(255,255,255,.08); color: #9fb3c2; border-radius: 999px; font-size: .72rem; padding: .3rem .9rem; margin-left: .5rem; font-weight: 600; }
.sd-app { background: #f4f7f9; border-radius: 0 0 12px 12px; display: grid; grid-template-columns: 200px 1fr; height: 560px; overflow: hidden; }
.sd-side { background: linear-gradient(180deg, #0d2238, #1a3351); padding: .9rem .55rem; display: flex; flex-direction: column; gap: .2rem; overflow-y: auto; }
.sd-side .sd-logo { color: #fff; font-weight: 800; font-size: 1.05rem; padding: .2rem .7rem .8rem; }
.sd-side .sd-logo span { color: var(--cyan); }
.sd-side button { display: flex; align-items: center; gap: .55rem; background: none; border: 0; color: #b9cad8; padding: .55rem .7rem; border-radius: 10px; font-family: var(--display, inherit); font-weight: 700; font-size: .78rem; cursor: pointer; text-align: left; white-space: nowrap; }
.sd-side button svg { width: 17px; height: 17px; flex: none; }
.sd-side button.on { background: rgba(20,196,209,.18); color: #fff; }
.sd-side button.on svg { color: var(--cyan); }
.sd-main { overflow-y: auto; padding: 1rem 1.1rem 1.3rem; font-size: .85rem; }
.sd-panel[hidden] { display: none !important; }
.sd-head { display: flex; justify-content: space-between; align-items: center; gap: .7rem; margin-bottom: .8rem; flex-wrap: wrap; }
.sd-head h3 { margin: 0; font-size: 1.05rem; color: var(--navy); }
.sd-head small { color: var(--muted); display: block; font-size: .74rem; }
.sd-live { display: inline-flex; align-items: center; gap: .35rem; background: #e7f7ee; color: #1c7a42; font-weight: 800; font-size: .68rem; border-radius: 999px; padding: .28rem .7rem; letter-spacing: .06em; }
.sd-live i { width: 7px; height: 7px; border-radius: 50%; background: #2fbd66; animation: sdblink 1.4s ease infinite; }
@keyframes sdblink { 50% { opacity: .25; } }
.sd-toggle { display: flex; gap: .35rem; flex-wrap: wrap; }
.sd-toggle button { border: 1.5px solid var(--line); background: #fff; color: var(--navy); border-radius: 999px; padding: .32rem .75rem; font-weight: 700; font-size: .72rem; cursor: pointer; font-family: var(--display, inherit); }
.sd-toggle button.on { background: var(--cyan); border-color: var(--cyan); color: #00262b; }
.sd-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: .55rem; margin-bottom: .8rem; }
.sd-kpi { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: .6rem .7rem; }
.sd-kpi small { color: var(--muted); font-size: .66rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; display: block; }
.sd-kpi b { color: var(--navy); font-size: 1.02rem; font-variant-numeric: tabular-nums; }
.sd-kpi.green { background: linear-gradient(135deg, #37c173, #2aad63); border: 0; }
.sd-kpi.green small, .sd-kpi.green b { color: #fff; }
.sd-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: .85rem .9rem; margin-bottom: .7rem; }
.sd-card h4 { margin: 0 0 .6rem; font-size: .85rem; color: var(--navy); }
.sd-hrow { display: grid; grid-template-columns: 82px 1fr auto; align-items: center; gap: .6rem; margin-bottom: .45rem; font-size: .76rem; }
.sd-hrow:last-child { margin-bottom: 0; }
.sd-hrow .lb { font-weight: 700; color: var(--navy); }
.sd-hrow .track { background: #edf2f5; border-radius: 999px; height: 9px; overflow: hidden; }
.sd-hrow .fill { height: 100%; border-radius: 999px; background: var(--cyan); transition: width .7s cubic-bezier(.2,.7,.2,1); }
.sd-hrow .val { color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap; font-size: .72rem; }
.sd-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.sd-rank { list-style: none; margin: 0; padding: 0; }
.sd-rank li { display: flex; justify-content: space-between; gap: .6rem; padding: .35rem 0; border-bottom: 1px dashed var(--line); font-size: .76rem; }
.sd-rank li:last-child { border-bottom: 0; }
.sd-rank b { color: var(--navy); }
.sd-rank .v { color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.sd-rank .pos { color: var(--cyan-dark); font-weight: 800; margin-right: .35rem; }
/* inteligência */
.sd-hero-insight { background: linear-gradient(135deg, #0d2238, #1f3e62); color: #fff; border-radius: 14px; padding: 1rem 1.05rem; margin-bottom: .7rem; }
.sd-hero-insight small { letter-spacing: .18em; text-transform: uppercase; font-size: .62rem; opacity: .75; font-weight: 700; }
.sd-hero-insight .big { font-size: 1.25rem; font-weight: 800; margin: .25rem 0; }
.sd-hero-insight .big em { color: var(--cyan); font-style: normal; }
.sd-hero-insight p { margin: 0; opacity: .85; font-size: .76rem; }
.sd-days { display: flex; align-items: stretch; gap: .45rem; height: 120px; padding-top: .4rem; }
.sd-day { flex: 1; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: .3rem; font-size: .66rem; color: var(--muted); font-weight: 700; }
.sd-day .bar { width: 100%; border-radius: 7px 7px 0 0; background: #cfe7ea; transition: height .7s cubic-bezier(.2,.7,.2,1); }
.sd-day.top .bar { background: var(--cyan); }
.sd-day.top { color: var(--cyan-dark); }
.sd-windows { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; }
.sd-win { border: 1px solid var(--line); border-radius: 12px; padding: .55rem .7rem; font-size: .72rem; }
.sd-win small { color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .08em; }
.sd-win b { display: block; color: var(--navy); }
.sd-win .pct { color: var(--cyan-dark); font-weight: 800; }
/* mesas */
.sd-mesas { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem .9rem; padding: 10px 2px 2px 10px; }
.sd-mesa { position: relative; border-radius: 16px; border: 2px solid transparent; padding: 1rem .5rem .8rem; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: .12rem; min-height: 132px; font-size: .64rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; transition: background .4s, border-color .4s, color .4s; }
.sd-mesa .n { position: absolute; top: -10px; left: -10px; width: 30px; height: 30px; border-radius: 50%; background: #1b2f4d; color: #fff; font-size: .72rem; letter-spacing: 0; display: grid; place-items: center; box-shadow: 0 4px 10px rgba(0,22,40,.25); }
.sd-mesa svg { width: 56px; height: 56px; margin-bottom: .3rem; flex: none; }
.sd-mesa .v { font-size: .8rem; letter-spacing: 0; text-transform: none; }
.sd-mesa .t { display: inline-flex; align-items: center; gap: .2rem; font-weight: 600; font-size: .64rem; color: var(--muted); letter-spacing: 0; text-transform: none; }
.sd-mesa .t svg { width: 10px; height: 10px; margin: 0; }
.sd-mesa .st { margin-top: .1rem; }
.sd-mesa .t-bg { fill: #f6c945; } .sd-mesa .t-wood { fill: #8a6640; } .sd-mesa .t-top { fill: #fff; stroke: #e9dfc9; stroke-width: 1; } .sd-mesa .t-cup { fill: #14c4d1; }
.sd-mesa.ocupada { background: rgba(20,196,209,.08); border-color: rgba(20,196,209,.38); color: #0d9aa6; }
.sd-mesa.excedida { background: #fff3f4; border-color: #f6cdd2; color: #de4b5b; }
.sd-mesa.excedida .n { background: #8e9aa6; }
.sd-mesa.excedida .t-bg { fill: #f8dc87; }
.sd-mesa.livre { background: #f1faf3; border-color: #c4e7cf; color: #2a9a52; }
.sd-mesa.livre .t-bg { fill: #ecdca7; } .sd-mesa.livre .t-cup { display: none; }
.sd-mesa.reservada { background: #fff5ef; border-color: #f4ccb6; color: #d6743b; }
.sd-mesa.reservada .t-bg { fill: #f3d68a; } .sd-mesa.reservada .t-cup { display: none; }
.sd-mesa.fechada { background: #f1f3f6; border-color: #d9dfe5; color: #7d8b97; }
.sd-mesa.fechada .t-bg { fill: #dfe4e9; } .sd-mesa.fechada .t-wood { fill: #b4bec7; } .sd-mesa.fechada .t-cup { display: none; }
.sd-mesa[hidden] { display: none !important; }
.sd-filt { display: inline-flex; flex-wrap: wrap; gap: .25rem; background: #eaf0f3; border-radius: 999px; padding: 4px; margin-bottom: .6rem; }
.sd-filt button { border: 0; background: none; border-radius: 999px; padding: .3rem .8rem; font-family: var(--display, inherit); font-weight: 700; font-size: .7rem; color: var(--muted); cursor: pointer; min-height: 30px; }
.sd-filt button.on { background: var(--cyan); color: #fff; }
.sd-legend { display: flex; gap: .9rem; flex-wrap: wrap; font-size: .68rem; color: var(--muted); margin-top: .9rem; }
.sd-legend i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; margin-right: .3rem; vertical-align: -1px; }
/* pedidos */
.sd-kan { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: .6rem; align-items: start; }
.sd-col { background: #edf2f5; border-radius: 12px; padding: .5rem; }
.sd-col > header { display: flex; justify-content: space-between; align-items: center; font-size: .66rem; font-weight: 800; letter-spacing: .06em; color: var(--navy); padding: .2rem .3rem .45rem; text-transform: uppercase; }
.sd-col > header .n { background: var(--navy); color: #fff; border-radius: 999px; min-width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; font-size: .64rem; padding: 0 .25rem; }
.sd-ped { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: .5rem .55rem; margin-bottom: .45rem; font-size: .72rem; animation: sdpop .3s ease; }
@keyframes sdpop { from { transform: scale(.92); opacity: 0; } }
.sd-ped .top { display: flex; justify-content: space-between; font-weight: 800; color: var(--navy); }
.sd-ped .mid { display: flex; justify-content: space-between; align-items: center; color: var(--muted); margin: .2rem 0 .4rem; }
.sd-chip { border-radius: 999px; padding: .1rem .45rem; font-size: .6rem; font-weight: 800; }
.sd-chip.ifood { background: #fdeaea; color: #c22f2f; }
.sd-chip.totem { background: var(--teal-soft); color: var(--cyan-dark); }
.sd-chip.qr { background: #eee9fb; color: #6a48cf; }
.sd-chip.balcao { background: #fdf3e2; color: #9a6b14; }
.sd-chip.garcom { background: #e6eef7; color: var(--navy); }
.sd-soon { display: inline-block; margin-left: .35rem; background: #fdf3e2; color: #9a6b14; border-radius: 999px; padding: .05rem .45rem; font-size: .58rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; vertical-align: middle; }
.sd-side button .sd-soon { margin-left: auto; }
.sd-ped button { width: 100%; border: 0; background: var(--cyan); color: #00262b; border-radius: 8px; font-weight: 800; font-size: .68rem; padding: .35rem; cursor: pointer; font-family: var(--display, inherit); }
.sd-ped button.done { background: #2fbd66; color: #fff; }
.sd-done-count { font-size: .7rem; color: #1c7a42; font-weight: 700; margin-top: .4rem; }
/* estoque */
.sd-alert { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .6rem; border-radius: 11px; padding: .55rem .7rem; margin-bottom: .45rem; font-size: .74rem; }
.sd-alert:last-child { margin-bottom: 0; }
.sd-alert b { color: var(--navy); display: block; }
.sd-alert.red { background: #fdeef0; } .sd-alert.red .st { color: #a12836; font-weight: 800; }
.sd-alert.amber { background: #fdf3e2; } .sd-alert.amber .st { color: #9a6b14; font-weight: 800; }
.sd-alert .dot { width: 9px; height: 9px; border-radius: 50%; }
.sd-alert.red .dot { background: #d9394f; } .sd-alert.amber .dot { background: #e2a63d; }
/* promoções */
.sd-promo { border: 1px solid var(--line); border-radius: 13px; padding: .7rem .8rem; margin-bottom: .6rem; display: grid; grid-template-columns: auto 1fr; gap: .7rem; align-items: start; }
.sd-promo .tag { background: var(--navy); color: #fff; border-radius: 10px; font-weight: 800; font-size: .78rem; padding: .45rem .55rem; white-space: nowrap; }
.sd-promo .tag.free { background: #2fbd66; }
.sd-promo .tag.pct { background: #6a48cf; }
.sd-promo b { color: var(--navy); font-size: .8rem; }
.sd-promo small { color: var(--muted); display: block; font-size: .7rem; margin-top: .1rem; }
.sd-promo .stats { display: flex; gap: .9rem; margin-top: .35rem; font-size: .68rem; color: var(--cyan-dark); font-weight: 700; flex-wrap: wrap; }
.sd-conflict { background: #fdf3e2; border: 1px dashed #ecd4a4; color: #9a6b14; border-radius: 10px; padding: .5rem .7rem; font-size: .7rem; margin-top: .4rem; }
.sd-note { font-size: .82rem; color: var(--muted); text-align: center; margin-top: .9rem; }
@media (max-width: 860px) {
  .sd-app { grid-template-columns: 1fr; height: auto; }
  .sd-side { flex-direction: row; overflow-x: auto; padding: .5rem; }
  .sd-side .sd-logo { display: none; }
  .sd-main { max-height: 560px; }
  .sd-kpis { grid-template-columns: 1fr 1fr; }
  .sd-grid2, .sd-windows { grid-template-columns: 1fr; }
  .sd-kan { grid-template-columns: 1fr; }
  .sd-mesas { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 520px) { .sd-mesas { grid-template-columns: repeat(2, 1fr); } }
@media (prefers-reduced-motion: reduce) { .sd-mesa { transition: none; } }
@media (max-width: 860px) { .sd-filt { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; scrollbar-width: none; } .sd-filt::-webkit-scrollbar { display: none; } .sd-filt button { white-space: nowrap; flex: none; } }
