
/* ============================================================
 STARLIKE POS · INTERFAZ FIEL 183
 Ajuste visual sobre Modo Operador 169.
 SOLO PRESENTACION. NO CAMBIA FUNCIONES.
 ============================================================ */
:root{
  --sl183-bg:#07080d;
  --sl183-bg2:#0d0f16;
  --sl183-panel:#121620;
  --sl183-panel2:#171c27;
  --sl183-line:#313a4a;
  --sl183-line2:#485369;
  --sl183-text:#f7f8fc;
  --sl183-muted:#aeb6c6;
  --sl183-pink:#ff1682;
  --sl183-pink2:#ff51a7;
  --sl183-yellow:#ffd52d;
  --sl183-green:#20d889;
  --sl183-red:#ff4d79;
  --sl183-shadow:0 18px 50px rgba(0,0,0,.36);
}

/* ===== FONDO URBANO / LADRILLO ===== */
html,body{background:var(--sl183-bg)!important;color:var(--sl183-text)!important}
body{
  min-height:100vh;
  background:
    radial-gradient(circle at 8% -2%,rgba(255,22,130,.25),transparent 22%),
    radial-gradient(circle at 72% -5%,rgba(255,213,45,.20),transparent 22%),
    radial-gradient(circle at 100% 52%,rgba(255,22,130,.10),transparent 24%),
    linear-gradient(180deg,#08090e 0%,#0a0c12 48%,#07080d 100%)!important;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.42;
  background:
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px) 0 0/84px 42px,
    linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px) 42px 21px/84px 42px,
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px) 0 0/100% 21px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.92),rgba(0,0,0,.45) 65%,transparent);
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(105deg,transparent 0 8%,rgba(255,22,130,.07) 8% 8.4%,transparent 8.4% 79%,rgba(255,213,45,.055) 79% 79.5%,transparent 79.5%),
    radial-gradient(ellipse at 50% 100%,rgba(0,0,0,.58),transparent 58%);
}

/* contenido por encima */
#app,.login-screen{position:relative;z-index:2}

/* ===== CONTRASTE GLOBAL ===== */
body,.view,.panel,.metric,.cart,.config-box,.modal,.notice,.empty,.restaurant-table,.kds-card,
.recipe-card,.purchase-total-box{color:#f7f8fc!important}
h1,h2,h3,h4,h5,h6,b,strong{color:#fff!important}
small,.muted,.hint,.help-text{color:var(--sl183-muted)!important}
.eyebrow{color:var(--sl183-yellow)!important;font-weight:900!important;letter-spacing:.14em!important}

input,select,textarea,.search,
dialog input,dialog select,dialog textarea,
.modal input,.modal select,.modal textarea{
  background:#0d1119!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border:1px solid #3d475b!important;
  border-radius:11px!important;
}
input::placeholder,textarea::placeholder{
  color:#8d96aa!important;
  -webkit-text-fill-color:#8d96aa!important;
}
select option{background:#111622!important;color:#fff!important}
input:focus,select:focus,textarea:focus,.search:focus{
  outline:0!important;
  border-color:var(--sl183-yellow)!important;
  box-shadow:0 0 0 3px rgba(255,213,45,.11)!important;
}
.notice,.empty,.info-box,.alert{color:#f7f8fc!important}
.notice *,.empty *,.info-box *,.alert *{color:inherit}

/* ===== DECORACIONES GRAFFITI ===== */
#slDecor183{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:3;
  overflow:hidden;
}
.sl183-spray{
  position:absolute;
  font-weight:950;
  font-style:italic;
  text-transform:uppercase;
  line-height:.90;
  letter-spacing:-.05em;
  opacity:.68;
  filter:drop-shadow(0 7px 18px rgba(0,0,0,.65));
}
.sl183-spray-a{
  right:18px;
  top:148px;
  color:var(--sl183-pink);
  font-size:25px;
  text-align:right;
  transform:rotate(-7deg);
}
.sl183-spray-b{
  right:18px;
  bottom:88px;
  color:#e7e9f1;
  font-size:18px;
  text-align:right;
  transform:rotate(-9deg);
}
.sl183-spray-c{
  left:18px;
  bottom:82px;
  color:#e7e9f1;
  font-size:18px;
  transform:rotate(-7deg);
}
.sl183-spray-a::before{content:"♛";display:block;color:var(--sl183-yellow);font-size:31px;margin-bottom:8px}
.sl183-spray-b::after{content:" ★";color:var(--sl183-yellow)}
.sl183-spray-c::after{content:" ♛";color:var(--sl183-pink)}

/* ===== PERFIL SUPERIOR ===== */
#slProfile183{
  position:fixed;
  right:22px;
  top:15px;
  z-index:9050;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:164px;
  padding:9px 12px;
  border-radius:15px;
  background:linear-gradient(180deg,rgba(22,27,39,.97),rgba(14,18,26,.97));
  border:1px solid #374154;
  box-shadow:0 16px 40px rgba(0,0,0,.34);
  pointer-events:none;
}
.sl183-avatar{
  width:36px;height:36px;
  display:grid;place-items:center;
  border-radius:50%;
  background:linear-gradient(145deg,#303646,#171b25);
  border:1px solid #526078;
  color:var(--sl183-yellow)!important;
  font-weight:900;
}
#slProfile183 b{display:block;font-size:12px}
#slProfile183 small{display:block;font-size:9px;margin-top:2px;color:#9ca6ba!important}

/* ===== FOOTER ===== */
#slFooter183{
  position:fixed;
  left:0;right:0;bottom:0;
  height:50px;
  z-index:9040;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 22px;
  background:rgba(8,10,15,.96);
  border-top:1px solid #2c3443;
  backdrop-filter:blur(16px);
  pointer-events:none;
}
.sl183-footer-left,.sl183-footer-right{display:flex;align-items:center;gap:11px;font-size:10px}
.sl183-footer-left .star{color:var(--sl183-pink)!important;font-size:22px}
.sl183-footer-left .tagline{color:#929bad!important;border-left:1px solid #394253;padding-left:11px}
.sl183-footer-right .dot{
  width:9px;height:9px;border-radius:50%;
  background:var(--sl183-green);
  box-shadow:0 0 12px rgba(32,216,137,.65);
}
.sl183-footer-right time{color:#9ba4b7;border-left:1px solid #394253;padding-left:11px}

/* ===== MODO OPERADOR: SIDEBAR COMO MOCKUP ===== */
@media(min-width:901px){
  body.sl-operator-mode .main{
    max-width:none!important;
    width:auto!important;
    margin-left:158px!important;
    padding:0 22px 68px 24px!important;
  }

  body.sl-operator-mode .view,
  body.sl-operator-mode .active-view,
  body.sl-operator-mode #slOperatorHome169,
  body.sl-operator-mode #view-restaurant{
    width:100%!important;
    max-width:none!important;
  }

  body.sl-operator-mode #slOperatorDock169{
    position:fixed!important;
    left:12px!important;
    top:12px!important;
    bottom:60px!important;
    transform:none!important;
    width:130px!important;
    height:auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:6px!important;
    padding:116px 8px 10px!important;
    border-radius:18px!important;
    background:
      linear-gradient(180deg,rgba(255,22,130,.055),transparent 20%),
      linear-gradient(180deg,#111520,#0c1017)!important;
    border:1px solid #30394a!important;
    box-shadow:var(--sl183-shadow)!important;
    z-index:9000!important;
  }

  body.sl-operator-mode #slOperatorDock169::before{
    content:"★\A STARLIKE\A PIZZA FOR REAL PEOPLE";
    white-space:pre;
    position:absolute;
    left:8px;right:8px;top:15px;
    text-align:center;
    color:#fff;
    font-weight:950;
    font-size:13px;
    line-height:1.10;
    letter-spacing:-.03em;
  }
  body.sl-operator-mode #slOperatorDock169::after{
    content:"POS";
    position:absolute;
    top:84px;
    left:0;right:0;
    text-align:center;
    color:var(--sl183-pink);
    font-size:9px;
    font-weight:950;
    letter-spacing:.18em;
  }

  body.sl-operator-mode .sl-op-dock-btn{
    min-width:0!important;
    width:100%!important;
    height:72px!important;
    border:1px solid transparent!important;
    border-radius:13px!important;
    background:transparent!important;
    color:#bdc4d2!important;
    display:grid!important;
    place-items:center!important;
    align-content:center!important;
    gap:5px!important;
    font-size:10px!important;
  }
  body.sl-operator-mode .sl-op-dock-btn span:first-child{
    font-size:20px!important;
    color:#e7eaf2!important;
  }
  body.sl-operator-mode .sl-op-dock-btn:hover{
    background:#1a202b!important;
    border-color:#354052!important;
    color:#fff!important;
  }
  body.sl-operator-mode .sl-op-dock-btn.active{
    background:linear-gradient(145deg,rgba(255,22,130,.20),rgba(255,22,130,.065))!important;
    border-color:rgba(255,22,130,.36)!important;
    color:#fff!important;
  }
  body.sl-operator-mode .sl-op-dock-btn.sl-sale{
    background:linear-gradient(145deg,var(--sl183-pink),#d30f6c)!important;
    color:#fff!important;
    border-color:transparent!important;
    box-shadow:0 12px 28px rgba(255,22,130,.23)!important;
  }

  body.sl-operator-mode #slOperatorMore169{
    left:150px!important;
    bottom:60px!important;
    transform:none!important;
    width:280px!important;
    background:#121722!important;
    border:1px solid #374155!important;
    border-radius:15px!important;
  }
}

/* ===== TOPBAR ===== */
body.sl-operator-mode .topbar{
  min-height:76px!important;
  padding:12px 198px 12px 0!important;
  margin-bottom:12px!important;
  background:rgba(7,8,13,.72)!important;
  border-bottom:1px solid #2b3443!important;
  backdrop-filter:blur(15px)!important;
}
body.sl-operator-mode .topbar h2{
  font-size:28px!important;
  letter-spacing:-.035em!important;
  margin:0!important;
}
body.sl-operator-mode .topbar h2::before{
  content:"🍕";
  display:inline-grid;
  place-items:center;
  width:40px;height:40px;
  margin-right:11px;
  border-radius:12px;
  background:rgba(255,22,130,.11);
  border:1px solid rgba(255,22,130,.27);
  font-size:21px;
  vertical-align:middle;
}
body.sl-operator-mode .topbar small{color:#abb4c5!important}
body.sl-operator-mode .top-actions{margin-left:auto!important;gap:10px!important}
body.sl-operator-mode .branch-label{
  min-height:50px!important;
  padding:6px 10px 6px 13px!important;
  background:linear-gradient(180deg,#171c28,#11151f)!important;
  border:1px solid #364155!important;
  border-radius:14px!important;
  color:#939caf!important;
}
body.sl-operator-mode .branch-label select{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  font-weight:800!important;
  min-width:205px;
}

/* ===== INICIO: LLENAR EL ESPACIO ===== */
body.sl-operator-mode #slOperatorHome169{
  margin:18px 0 0!important;
  padding:0!important;
}
body.sl-operator-mode .sl-op-welcome{
  text-align:left!important;
  padding:8px 0 18px!important;
}
body.sl-operator-mode .sl-op-welcome h1{
  font-size:36px!important;
  letter-spacing:-.04em!important;
  margin:4px 0 5px!important;
}
body.sl-operator-mode .sl-op-welcome p{
  color:#aab3c4!important;
  font-size:14px!important;
}
body.sl-operator-mode .sl-op-home-grid{
  width:100%!important;
  max-width:none!important;
  grid-template-columns:repeat(3,minmax(235px,1fr))!important;
  gap:15px!important;
}
body.sl-operator-mode .sl-op-home-card{
  min-height:174px!important;
  padding:22px!important;
  border-radius:19px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.006)),
    #141923!important;
  border:1px solid #323b4b!important;
  box-shadow:0 14px 34px rgba(0,0,0,.23)!important;
}
body.sl-operator-mode .sl-op-home-card:hover{
  transform:translateY(-2px)!important;
  border-color:#566278!important;
}
body.sl-operator-mode .sl-op-home-card.primary{
  background:
    radial-gradient(circle at 92% 14%,rgba(255,213,45,.20),transparent 26%),
    linear-gradient(145deg,var(--sl183-pink),#d30e6c)!important;
  border-color:transparent!important;
  box-shadow:0 18px 38px rgba(255,22,130,.24)!important;
}
body.sl-operator-mode .sl-op-home-icon{
  width:48px!important;height:48px!important;
  border-radius:14px!important;
  background:#242b39!important;
  color:var(--sl183-yellow)!important;
  font-size:20px!important;
}
body.sl-operator-mode .sl-op-home-card.primary .sl-op-home-icon{
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
}
body.sl-operator-mode .sl-op-home-card strong{
  font-size:22px!important;
  margin-top:24px!important;
}
body.sl-operator-mode .sl-op-home-card small{color:#aeb7c8!important}
body.sl-operator-mode .sl-op-home-card.primary small{color:#ffe7f3!important}

/* ===== PANELES / TARJETAS ===== */
.panel,.metric,.cart,.kds-card,.recipe-card,.config-box,.restaurant-session-panel{
  background:
    linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.006)),
    #11151e!important;
  border:1px solid #303949!important;
  border-radius:18px!important;
  box-shadow:0 14px 36px rgba(0,0,0,.23)!important;
}
.metric{
  min-height:128px!important;
  padding:19px!important;
  overflow:hidden;
  position:relative;
}
.metric::after{
  content:"";
  position:absolute;
  right:-42px;top:-48px;
  width:135px;height:135px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,22,130,.09),transparent 66%);
}
.metric span{
  color:#c0c7d5!important;
  font-size:11px!important;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.metric strong{font-size:31px!important;margin-top:9px!important}
.metric small{color:#8e97a9!important}
.cards{gap:15px!important}

/* ===== SALON / BUFFET ===== */
body.sl-operator-mode #view-restaurant{
  padding-right:0!important;
}
body.sl-operator-mode #view-restaurant .toolbar{
  min-height:50px!important;
  margin:0 0 14px!important;
  padding:0 2px!important;
  background:transparent!important;
  border:0!important;
}
body.sl-operator-mode #view-restaurant .toolbar > div:first-child{
  display:none!important;
}
body.sl-operator-mode #view-restaurant .toolbar .button-row{
  margin-left:auto!important;
}
body.sl-operator-mode #view-restaurant .restaurant-metrics{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:15px!important;
  width:100%!important;
}
body.sl-operator-mode #view-restaurant .restaurant-layout{
  grid-template-columns:minmax(0,1.75fr) minmax(310px,.68fr)!important;
  gap:15px!important;
  width:100%!important;
  align-items:stretch!important;
}
body.sl-operator-mode #view-restaurant .restaurant-layout > .panel:first-child{
  min-height:430px!important;
  padding:20px!important;
}
body.sl-operator-mode #view-restaurant .restaurant-session-panel{
  min-height:430px!important;
}
#view-restaurant .config-head h3{
  font-size:25px!important;
  margin:0 0 6px!important;
}
#view-restaurant .config-head small{
  font-size:13px!important;
  color:#b6becc!important;
}
.restaurant-table-grid{
  grid-template-columns:repeat(4,minmax(145px,1fr))!important;
  gap:12px!important;
  margin-top:18px!important;
}
.restaurant-table{
  min-height:142px!important;
  padding:15px!important;
  border-radius:16px!important;
  box-shadow:0 12px 28px rgba(0,0,0,.20)!important;
}
.restaurant-table.free{
  background:linear-gradient(150deg,rgba(32,216,137,.16),rgba(14,40,31,.94))!important;
  border-color:rgba(32,216,137,.40)!important;
}
.restaurant-table.occupied{
  background:linear-gradient(150deg,rgba(255,77,121,.25),rgba(52,13,29,.96))!important;
  border-color:var(--sl183-pink)!important;
  box-shadow:0 0 0 1px rgba(255,22,130,.12),0 14px 28px rgba(0,0,0,.25)!important;
}
.restaurant-table.buffet{
  background:linear-gradient(150deg,rgba(255,22,130,.22),rgba(47,16,41,.96))!important;
  border-color:rgba(255,22,130,.58)!important;
}
.restaurant-table .table-code{
  color:var(--sl183-yellow)!important;
  font-size:10px!important;
  font-weight:900!important;
}
.restaurant-table b{font-size:17px!important}
.restaurant-table small{color:#cad0dc!important}
.restaurant-table strong{font-size:21px!important}
.restaurant-table em{color:#ffc4e1!important}

/* chips */
.chip{
  background:#171c27!important;
  border:1px solid #354053!important;
  color:#e8ebf3!important;
  border-radius:999px!important;
  padding:9px 15px!important;
  font-weight:850!important;
}
.chip.active{
  background:linear-gradient(145deg,var(--sl183-pink),#d40e6c)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 10px 22px rgba(255,22,130,.18)!important;
}

/* ===== BOTONES ===== */
.btn,.table-btn{
  min-height:42px;
  border-radius:11px!important;
  background:linear-gradient(180deg,#202735,#171c27)!important;
  border:1px solid #394457!important;
  color:#f8f9fc!important;
  font-weight:850!important;
}
.btn:hover,.table-btn:hover{filter:brightness(1.10);transform:translateY(-1px)}
.btn.primary,button.primary,#checkoutBtn{
  background:linear-gradient(145deg,var(--sl183-pink),#d10f69)!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:0 12px 25px rgba(255,22,130,.18)!important;
}

/* ===== POS PRODUCTOS ===== */
.product-grid{
  grid-template-columns:repeat(auto-fit,minmax(185px,1fr))!important;
  gap:14px!important;
}
.product-card{
  min-height:154px!important;
  border-radius:17px!important;
  background:linear-gradient(180deg,#151a24,#10141d)!important;
  border:1px solid #30394a!important;
  box-shadow:0 12px 30px rgba(0,0,0,.20)!important;
}
.product-card:hover{
  border-color:rgba(255,22,130,.46)!important;
  transform:translateY(-2px)!important;
}
.product-card .cat,.product-card strong{color:var(--sl183-yellow)!important}
.cart{background:#10151e!important}

/* ===== TABLAS ===== */
.table-wrap{
  border-radius:17px!important;
  border:1px solid #303847!important;
  overflow:auto!important;
}
table{background:#10141d!important}
th{
  background:#171d28!important;
  color:var(--sl183-yellow)!important;
  border-bottom:1px solid #343e50!important;
}
td{
  color:#eef1f8!important;
  border-bottom:1px solid #262e3c!important;
}
tr:hover td{background:#151a24!important}

/* ===== MODALES FIELES AL MOCKUP ===== */
dialog,.modal,#restaurantDialog{
  background:
    linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.007)),
    #11151e!important;
  color:#f8f9fd!important;
  border:1px solid #4a5569!important;
  border-radius:21px!important;
  box-shadow:0 34px 90px rgba(0,0,0,.62)!important;
}
dialog::backdrop,.modal::backdrop{
  background:rgba(0,0,0,.74)!important;
  backdrop-filter:blur(6px)!important;
}
dialog h1,dialog h2,dialog h3,dialog h4,
.modal h1,.modal h2,.modal h3,.modal h4{
  color:#fff!important;
}
dialog p,dialog label,dialog span,dialog b,dialog strong,
.modal p,.modal label,.modal span,.modal b,.modal strong{
  color:#f3f5fa!important;
}
dialog small,.modal small{color:#aab2c2!important}
#restaurantDialog .notice,dialog .notice{
  background:linear-gradient(90deg,rgba(255,213,45,.14),rgba(255,213,45,.055))!important;
  border:1px solid rgba(255,213,45,.40)!important;
  border-left:3px solid var(--sl183-yellow)!important;
  color:#fff!important;
}
.modal-actions{
  border-top:1px solid #2c3545!important;
  padding-top:14px!important;
  margin-top:14px!important;
}

/* ===== LOGIN ===== */
.login-screen{
  background:
    radial-gradient(circle at 16% 14%,rgba(255,22,130,.22),transparent 30%),
    radial-gradient(circle at 84% 10%,rgba(255,213,45,.14),transparent 25%),
    #07080c!important;
}
.login-card{
  background:linear-gradient(180deg,#141823,#0e121a)!important;
  border:1px solid #364052!important;
  border-radius:24px!important;
  box-shadow:0 30px 85px rgba(0,0,0,.52)!important;
}
.brand-mark{
  background:linear-gradient(145deg,var(--sl183-pink),#d10e69)!important;
  box-shadow:0 0 28px rgba(255,22,130,.28)!important;
}
.login-card h1 span{color:var(--sl183-pink2)!important}

/* esconder decoración en login */
body:has(#login:not(.hidden)) #slProfile183,
body:has(#login:not(.hidden)) #slFooter183,
body:has(#login:not(.hidden)) #slDecor183{
  display:none!important;
}

/* ===== ADMIN/SUPERVISOR ===== */
body:not(.sl-operator-mode) .sidebar{
  background:linear-gradient(180deg,#111520,#0b0e15)!important;
  border-right:1px solid #303847!important;
}
body:not(.sl-operator-mode) .nav{
  border-radius:10px!important;
  color:#b7becc!important;
}
body:not(.sl-operator-mode) .nav:hover{background:#181e29!important;color:#fff!important}
body:not(.sl-operator-mode) .nav.active{
  background:linear-gradient(90deg,rgba(255,22,130,.17),rgba(255,22,130,.04))!important;
  color:#fff!important;
  box-shadow:inset 3px 0 var(--sl183-pink)!important;
}

/* 1366x768: no esconder decoraciones, solo hacerlas discretas */
@media(max-width:1390px){
  #slProfile183{right:14px}
  .sl183-spray-a{right:8px;font-size:20px;opacity:.50}
  .sl183-spray-b{right:8px;font-size:15px;opacity:.45}
  .sl183-spray-c{display:none}
}
@media(max-width:1120px){
  #slDecor183{display:none!important}
  #slProfile183{display:none!important}
  body.sl-operator-mode .topbar{padding-right:0!important}
}
@media(max-width:900px){
  #slFooter183{display:none!important}
  body.sl-operator-mode .main{margin-left:0!important;padding:0 12px 104px!important}
  body.sl-operator-mode .sl-op-home-grid{grid-template-columns:1fr 1fr!important}
  .restaurant-table-grid{grid-template-columns:repeat(2,minmax(120px,1fr))!important}
  body.sl-operator-mode #view-restaurant .restaurant-metrics{grid-template-columns:repeat(2,1fr)!important}
  body.sl-operator-mode #view-restaurant .restaurant-layout{grid-template-columns:1fr!important}
}
@media(max-width:620px){
  body.sl-operator-mode .sl-op-home-grid{grid-template-columns:1fr!important}
  .restaurant-table-grid{grid-template-columns:1fr 1fr!important}
}
