@import url('https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/Vazirmatn-font-face.css');

:root{
  --cream:#fdf6f0;
  --pink-light:#f8e8ee;
  --pink:#e0a3b5;
  --pink-dark:#c97b93;
  --gold:#d9a441;
  --brown:#7a4a55;
  --brown-soft:#a08a90;
  --text:#4a3a3f;
  --white:#ffffff;
  --success:#5a9367;
  --danger:#c0392b;
  --shadow:0 10px 30px rgba(190,120,140,.14);
  --radius:18px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Vazirmatn', Tahoma, sans-serif;
  background:linear-gradient(160deg,var(--cream) 0%, var(--pink-light) 100%);
  color:var(--text);
  direction:rtl;
  min-height:100vh;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

.container{max-width:520px;margin:0 auto;padding:16px 16px 90px;}
.container.wide{max-width:900px;}

/* Header */
.top-header{
  background:linear-gradient(135deg,var(--pink),var(--pink-dark));
  color:#fff;padding:22px 18px 26px;border-radius:0 0 28px 28px;
  box-shadow:0 8px 24px rgba(200,120,140,.25);
  text-align:center;
}
.top-header h1{margin:0;font-size:20px;font-weight:700;}
.top-header p{margin:6px 0 0;font-size:13px;opacity:.9;}

/* Tabs */
.tabs{display:flex;gap:8px;overflow-x:auto;padding:16px 2px 4px;scrollbar-width:none;}
.tabs::-webkit-scrollbar{display:none;}
.tab{
  flex:0 0 auto;background:var(--white);border:1.5px solid var(--pink-light);
  padding:9px 16px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--brown);
  white-space:nowrap;cursor:pointer;transition:.15s;
}
.tab.active{background:linear-gradient(135deg,var(--pink),var(--pink-dark));color:#fff;border-color:transparent;box-shadow:0 6px 16px rgba(200,120,140,.3);}

/* Cake grid */
.cake-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;}
.cake-card{
  background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  cursor:pointer;transition:.18s;
}
.cake-card:active{transform:scale(.97);}
.cake-card .img{aspect-ratio:1/1;background:var(--pink-light) center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:38px;}
.cake-card .info{padding:10px 12px 14px;}
.cake-card .info h3{margin:0 0 4px;font-size:14px;font-weight:700;color:var(--brown);}
.cake-card .info p{margin:0;font-size:11.5px;color:var(--brown-soft);line-height:1.5;max-height:32px;overflow:hidden;}

/* Cards / sections */
.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin-bottom:16px;}
.card h2{margin:0 0 14px;font-size:16px;color:var(--brown);}

/* Forms */
.field{margin-bottom:16px;}
.field label{display:block;font-size:13px;font-weight:600;color:var(--brown);margin-bottom:6px;}
.field .hint{font-size:11px;color:var(--brown-soft);margin-top:4px;}
input[type=text],input[type=number],input[type=tel],input[type=password],input[type=date],input[type=datetime-local],input[type=color],select,textarea{
  width:100%;padding:12px 14px;border:1.5px solid var(--pink-light);border-radius:12px;
  font-family:inherit;font-size:14px;background:#fffaf9;color:var(--text);
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--pink);}
textarea{resize:vertical;min-height:70px;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

.chip-select{display:flex;flex-wrap:wrap;gap:8px;}
.chip-select .chip{
  border:1.5px solid var(--pink-light);border-radius:999px;padding:8px 14px;font-size:13px;
  cursor:pointer;background:#fff;color:var(--brown);
}
.chip-select .chip.selected{background:var(--pink);color:#fff;border-color:var(--pink);}
.color-swatch{width:34px;height:34px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1.5px var(--pink-light);cursor:pointer;}
.color-swatch.selected{box-shadow:0 0 0 3px var(--pink-dark);}

/* Buttons */
.btn{
  display:inline-block;padding:13px 20px;border-radius:14px;border:none;font-size:15px;font-weight:700;
  cursor:pointer;font-family:inherit;text-align:center;
}
.btn-primary{background:linear-gradient(135deg,var(--pink),var(--pink-dark));color:#fff;box-shadow:0 8px 20px rgba(200,120,140,.3);width:100%;}
.btn-gold{background:linear-gradient(135deg,#e9bb63,var(--gold));color:#fff;width:100%;}
.btn-success{background:linear-gradient(135deg,#6fae7e,var(--success));color:#fff;width:100%;}
.btn-danger{background:#fdecea;color:var(--danger);border:1.5px solid #f3c6c1;width:100%;}
.btn-outline{background:#fff;color:var(--brown);border:1.5px solid var(--pink-light);width:100%;}
.btn-sm{padding:8px 14px;font-size:13px;width:auto;border-radius:10px;}
.btn:disabled{opacity:.5;cursor:not-allowed;}

/* Price box */
.price-box{
  background:linear-gradient(135deg,#fff7ec,#fdf1e6);border:1.5px dashed var(--gold);
  border-radius:16px;padding:16px;text-align:center;margin:14px 0;
}
.price-box .amount{font-size:22px;font-weight:800;color:#a9762a;}
.price-box .label{font-size:12px;color:var(--brown-soft);}

/* Status badge */
.badge{display:inline-block;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;color:#fff;}

/* Tables */
table{width:100%;border-collapse:collapse;font-size:13.5px;}
table th{background:var(--pink-light);color:var(--brown);padding:10px 8px;text-align:right;font-size:12.5px;}
table td{padding:10px 8px;border-bottom:1px solid #f5e5ea;}
table tr:hover td{background:#fffaf9;}

/* Admin nav */
.admin-nav{display:flex;overflow-x:auto;gap:6px;background:#fff;padding:10px 12px;box-shadow:0 2px 10px rgba(0,0,0,.04);position:sticky;top:0;z-index:10;}
.admin-nav a{flex:0 0 auto;padding:8px 14px;border-radius:10px;font-size:13px;color:var(--brown);font-weight:600;white-space:nowrap;}
.admin-nav a.active{background:var(--pink);color:#fff;}
.admin-header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px 0;}
.admin-header h1{font-size:18px;color:var(--brown);margin:0;}
.admin-header .logout{font-size:12px;color:var(--danger);}

.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:18px;}
.stat-card{background:#fff;border-radius:16px;padding:16px;box-shadow:var(--shadow);text-align:center;}
.stat-card .num{font-size:24px;font-weight:800;color:var(--pink-dark);}
.stat-card .lbl{font-size:12px;color:var(--brown-soft);margin-top:4px;}

.flash{padding:12px 16px;border-radius:12px;margin-bottom:16px;font-size:13.5px;}
.flash.success{background:#eafaf1;color:#1e8449;}
.flash.error{background:#fdecea;color:#c0392b;}

.empty-state{text-align:center;padding:40px 16px;color:var(--brown-soft);}
.empty-state .icon{font-size:44px;margin-bottom:10px;}

.thumb-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.thumb-list .thumb{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:1/1;background:var(--pink-light);}
.thumb-list .thumb img{width:100%;height:100%;object-fit:cover;}
.thumb-list .del{position:absolute;top:4px;left:4px;background:rgba(192,57,43,.9);color:#fff;border:none;border-radius:50%;width:22px;height:22px;font-size:12px;cursor:pointer;}

.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;}
.login-card{background:#fff;border-radius:22px;box-shadow:var(--shadow);padding:32px 26px;width:90%;max-width:380px;text-align:center;}
.login-card .logo{font-size:44px;margin-bottom:6px;}
.login-card h1{font-size:18px;color:var(--brown);margin:0 0 20px;}

.order-detail dl{display:grid;grid-template-columns:110px 1fr;gap:8px 12px;font-size:13.5px;margin:0;}
.order-detail dt{color:var(--brown-soft);}
.order-detail dd{margin:0;font-weight:600;}

.step-track{display:flex;justify-content:space-between;margin:18px 0;font-size:10.5px;color:var(--brown-soft);text-align:center;}
.step-track .step{flex:1;position:relative;}
.step-track .dot{width:12px;height:12px;border-radius:50%;background:#e5d5da;margin:0 auto 6px;}
.step-track .step.done .dot{background:var(--success);}
.step-track .step.current .dot{background:var(--pink-dark);box-shadow:0 0 0 4px rgba(217,168,181,.35);}

@media (max-width:360px){
  .cake-grid{grid-template-columns:1fr 1fr;gap:10px;}
}
