/* Modern UI for Product Pricing App */
:root{
  --bg: #0f1222;
  --card: #151836;
  --muted: #8b90b5;
  --text: #e7e9ff;
  --brand: #6c7bff;
  --brand2:#00d4ff;
  --ok:#26d07c;
  --warn:#ffb020;
  --danger:#ff5d5d;
  --border: rgba(255,255,255,0.08);
  --chip:#1b1f43;
  --shadow: 0 10px 30px rgba(0,0,0,0.35);
}

*{box-sizing: border-box}
html,body{
  height:100%;
  background: radial-gradient(1200px 800px at 20% -10%, rgba(108,123,255,0.15), transparent 40%),
              radial-gradient(1000px 700px at 120% 20%, rgba(0,212,255,0.18), transparent 35%),
              var(--bg);
  color: var(--text);
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji';
  line-height:1.5;
  margin:0;
}

.container{width:min(1200px, 94%); margin:0 auto}

.site-header{
  position: sticky; top:0; z-index: 50;
  backdrop-filter: blur(8px);
  background: linear-gradient(180deg, rgba(10,12,30,0.75), rgba(10,12,30,0.3));
  border-bottom: 1px solid var(--border);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between; padding:14px 0;
}
.brand{font-weight:800; letter-spacing:0.4px}
.nav a{
  color: var(--text); text-decoration:none; margin-left:18px; opacity:0.9;
}
.nav a:hover{opacity:1; text-decoration: underline}

.hero{padding: 40px 0 10px; text-align:center}
.hero.small{padding: 24px 0 0; text-align:left}
.hero h1{font-size: clamp(30px, 6vw, 46px); margin:0 0 8px}
.hero p{color:var(--muted); margin:0 auto 14px}

.search-wrap{
  position: relative; width:min(750px, 100%); margin: 16px auto 0;
}
.search-wrap input{
  width: 100%; padding: 16px 20px; font-size:18px; border-radius: 999px;
  outline:none; border:1px solid var(--border); background: #0e1130; color:var(--text);
  box-shadow: var(--shadow);
}
.search-hints{
  display:none; position:absolute; top:56px; left:0; right:0; background: #0e1130; border:1px solid var(--border); border-radius:16px; overflow:hidden;
}
.search-hints.active{display:block}
.search-hints div{
  padding:12px 16px; border-bottom:1px solid var(--border); cursor:pointer;
}
.search-hints div:hover{background:#0c0f2a}
.search-hints div:last-child{border-bottom:0}

.filters{display:flex; flex-wrap:wrap; gap:10px; margin: 10px 0 20px}
.chip{
  background: var(--chip); border:1px solid var(--border); color:var(--text);
  padding:8px 14px; border-radius:999px; cursor:pointer; opacity:0.9;
}
.chip:hover{opacity:1; transform: translateY(-1px)}
.chip.active{outline:2px solid var(--brand)}

.grid{
  display:grid; gap:16px;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  margin: 10px 0 50px;
}
.card{
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.02));
  border:1px solid var(--border); border-radius: 18px; overflow:hidden; box-shadow: var(--shadow);
}
.card .thumb{
  aspect-ratio: 4 / 3; background:#0c0f2a; display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.card .thumb img{width:100%; height:100%; object-fit:cover}
.card .content{padding:12px 14px}
.card h3{margin:0 0 6px; font-size: 18px}
.meta{display:flex; gap:10px; flex-wrap:wrap; font-size: 13px; color: var(--muted)}
.price{font-weight:800}
.qty{opacity:0.9}

.card .actions{display:flex; gap:8px; margin-top:12px}
.btn{
  padding:10px 14px; border-radius: 12px; border:1px solid var(--border); background:#0e1130; color: var(--text); cursor:pointer;
}
.btn:hover{transform: translateY(-1px)}
.btn.primary{background: linear-gradient(90deg, var(--brand), var(--brand2)); border: none}
.btn.danger{background: linear-gradient(90deg, #ff5d5d, #ff7b7b); border: none}

.site-footer{
  border-top:1px solid var(--border); padding: 26px 0 10px; background: #0e1130;
}
.footer-inner{display:grid; gap:18px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));}
.footer-inner h4{margin:0 0 10px}
.footer-copy{border-top: 1px dashed var(--border); padding: 10px 0; font-size:12px; color: var(--muted)}

.form-row{display:flex; flex-direction:column; gap:8px; margin: 12px 0}
.form-row.two{display:grid; grid-template-columns: 1fr 1fr; gap:12px}
.form-row input, .form-row textarea, .form-row select{
  width: 100%; padding: 12px 12px; border-radius: 12px; border:1px solid var(--border); background:#0e1130; color:var(--text);
}
.form-actions{display:flex; gap:10px; margin-top: 8px}

.admin-actions{
  display:flex; align-items:center; gap: 12px; flex-wrap:wrap; justify-content:space-between;
  margin: 10px 0 10px;
}
.admin-search{flex:1; min-width: 260px}
.admin-search input{width:100%; padding: 12px 14px; border-radius: 999px; border:1px solid var(--border); background:#0e1130; color:var(--text)}

.modal{
  position:fixed; inset:0; background: rgba(2,4,12,0.75); display:flex; align-items:center; justify-content:center;
}
.modal.hidden{display:none}
.modal-content{
  width:min(720px, 96%);
  background: #101333; border:1px solid var(--border); border-radius: 18px; box-shadow: var(--shadow);
  padding: 18px;
}
.modal-header{display:flex; align-items:center; justify-content:space-between; margin-bottom: 6px}
.icon-btn{background:#0e1130; border:1px solid var(--border); color:var(--text); border-radius:12px; padding:8px 12px; cursor:pointer}
.icon-btn:hover{transform: translateY(-1px)}

.alert{padding: 10px 12px; border-radius:12px; margin: 6px 0}
.alert.danger{background:#3a0f15; border: 1px solid #6b1d29}
.muted{color:var(--muted); font-size: 12px}

.auth{display:flex; align-items:center; justify-content:center; height: 80vh}

.grid.admin .card{position:relative}
.badge{
  position:absolute; top:10px; left:10px; background: rgba(0,0,0,0.5); border:1px solid var(--border); border-radius:999px; padding:4px 10px; font-size:12px;
}

/* Responsive tweaks */
@media (max-width: 640px){
  .form-row.two{grid-template-columns: 1fr}
}
