:root{
  --bg:#0b1220;
  --panel:#121b2e;
  --panel2:#0f1728;
  --border:rgba(255,255,255,.08);
  --text:#e9eefc;
  --muted:rgba(233,238,252,.7);
  --accent:#4aa3ff;
  --ok:#2ecc71;
  --err:#ff5c5c;
  --shadow: 0 10px 35px rgba(0,0,0,.35);
  --radius:14px;
  --radius2:18px;
  --gap:14px;
  --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

html[data-theme="light"]{
  --bg:#f6f7fb;
  --panel:#ffffff;
  --panel2:#ffffff;
  --border:rgba(0,0,0,.08);
  --text:#101827;
  --muted:rgba(16,24,39,.65);
  --accent:#1f7ae0;
  --shadow: 0 10px 30px rgba(0,0,0,.10);
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:var(--font);
  background:linear-gradient(180deg, var(--bg), color-mix(in srgb, var(--bg) 70%, #000 30%));
  color:var(--text);
}
a{color:inherit}
.container{max-width:1200px;margin:0 auto;padding:18px}
.topbar{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;
  background:color-mix(in srgb, var(--panel) 88%, transparent);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--border);
}
.brand__title{font-weight:800;letter-spacing:.2px}
.brand__sub{font-size:12px;color:var(--muted);margin-top:2px}
.topbar__right{display:flex;align-items:center;gap:10px}
.userpill{padding:8px 10px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb, var(--panel2) 92%, transparent)}
.muted{color:var(--muted)}
.footer{padding:22px 18px;border-top:1px solid var(--border);text-align:center;color:var(--muted)}

.card{
  background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 92%, transparent), var(--panel2));
  border:1px solid var(--border);
  border-radius:var(--radius2);
  box-shadow:var(--shadow);
}
.card-pad{padding:16px}
.row{display:flex;gap:var(--gap);align-items:center}
.row-between{display:flex;gap:var(--gap);align-items:center;justify-content:space-between}
.grid{display:grid;gap:var(--gap)}
.grid-2{grid-template-columns: 1fr 1fr}
.grid-3{grid-template-columns: 1fr 1fr 1fr}
.grid-4{grid-template-columns: 1fr 1fr 1fr 1fr}
@media (max-width:900px){
  .grid-4{grid-template-columns:1fr 1fr}
  .grid-3{grid-template-columns:1fr}
  .row{flex-wrap:wrap}
}
.field label{display:block;font-size:12px;color:var(--muted);margin:2px 0 6px}
.input, select, textarea{
  width:100%;
  padding:12px 12px;
  background:color-mix(in srgb, var(--panel2) 88%, transparent);
  border:1px solid var(--border);
  border-radius:12px;
  outline:none;
  color:var(--text);
}
textarea{min-height:90px}
.input:focus, select:focus, textarea:focus{border-color:color-mix(in srgb, var(--accent) 70%, var(--border))}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:12px;border:1px solid var(--border);
  background:color-mix(in srgb, var(--accent) 18%, var(--panel));
  color:var(--text);text-decoration:none;cursor:pointer;
  transition:.15s transform ease, .15s background ease;
  user-select:none;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0px)}
.btn-primary{background:color-mix(in srgb, var(--accent) 35%, var(--panel)); border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}
.btn-ghost{background:transparent}
.btn-danger{background:color-mix(in srgb, var(--err) 20%, var(--panel)); border-color:color-mix(in srgb, var(--err) 55%, var(--border))}
.badge{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb, var(--panel2) 85%, transparent)}
.alert{padding:12px 14px;border-radius:12px;margin-bottom:12px;border:1px solid var(--border)}
.alert-ok{background:color-mix(in srgb, var(--ok) 10%, var(--panel))}
.alert-err{background:color-mix(in srgb, var(--err) 10%, var(--panel))}
.table{width:100%;border-collapse:separate;border-spacing:0 10px}
.table th{font-size:12px;color:var(--muted);text-align:left;padding:0 10px}
.table td{background:color-mix(in srgb, var(--panel2) 88%, transparent);border:1px solid var(--border);padding:12px 10px}
.table tr td:first-child{border-top-left-radius:12px;border-bottom-left-radius:12px}
.table tr td:last-child{border-top-right-radius:12px;border-bottom-right-radius:12px}

.pos-shell{display:grid;grid-template-columns: 1.1fr .9fr; gap: var(--gap)}
@media (max-width:1050px){.pos-shell{grid-template-columns:1fr}}
.pos-searchbar{display:flex;gap:10px;align-items:center}
.pos-searchbar .input{flex:1}
.pos-compat{margin-top:14px}
.pos-results{margin-top:14px}
.product-card{
  display:grid;grid-template-columns: 56px 1fr auto;gap:12px;align-items:center;
  padding:14px;border-radius:var(--radius2);
  background:color-mix(in srgb, var(--panel2) 88%, transparent);
  border:1px solid var(--border);
}
.product-card img{width:56px;height:56px;object-fit:cover;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.05)}
.product-meta{display:flex;flex-direction:column;gap:4px}
.product-meta .name{font-weight:700}
.product-meta .line{font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:10px}
.product-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.price{font-weight:800;font-size:18px}
.kv{display:flex;gap:8px;flex-wrap:wrap}
.kv .pill{font-size:12px;color:var(--muted);border:1px dashed var(--border);padding:6px 8px;border-radius:999px}

.cart{
  padding:16px;
}
.cart-items{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.cart-item{
  display:grid;grid-template-columns: 1fr 90px 30px;gap:10px;align-items:center;
  padding:10px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb, var(--panel2) 90%, transparent);
}
.qty{
  display:flex;align-items:center;gap:8px;
}
.qty input{width:56px;text-align:center}
hr.sep{border:0;border-top:1px solid var(--border);margin:14px 0}

/* Calendar icon white in dark mode */
html[data-theme="dark"] 

/* Calendar icon in dark should be white; in light should be black */
body.theme-dark input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(1); }
body.theme-light input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(0); }
