* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
       background:#f0f2f5; min-height:100vh; }

/* ── Payment Page ── */
.pg-wrapper { display:flex; justify-content:center; align-items:center;
              min-height:100vh; padding:20px; }
.pg-card { background:white; border-radius:24px; overflow:hidden;
           box-shadow:0 10px 40px rgba(0,0,0,.15); width:100%; max-width:480px; }
.pg-header { padding:30px; text-align:center; color:white; }
.pg-logo { max-height:60px; margin-bottom:10px; }
.pg-title { font-size:24px; margin-bottom:8px; }
.pg-header p { opacity:.9; font-size:14px; }
.pg-body { padding:30px; }
.pg-footer { text-align:center; padding:15px; font-size:12px;
             color:#999; border-top:1px solid #eee; }
.form-group { margin-bottom:18px; }
.form-group label { display:block; margin-bottom:6px; font-weight:600;
                    font-size:14px; color:#333; }
.form-group input { width:100%; padding:12px 16px; border:2px solid #e9ecef;
                    border-radius:12px; font-size:14px; transition:border .2s; }
.form-group input:focus { outline:none; border-color:#667eea; }
.bkash-info { border-radius:16px; padding:20px; text-align:center;
              color:white; margin:20px 0; }
.bkash-info p { font-size:13px; opacity:.9; margin-bottom:6px; }
.bkash-info h2 { font-size:28px; letter-spacing:2px; }
.btn-submit { width:100%; padding:14px; border:none; border-radius:12px;
              color:white; font-size:16px; font-weight:700; cursor:pointer;
              transition:transform .2s,opacity .2s; margin-top:8px; }
.btn-submit:hover { transform:translateY(-2px); opacity:.92; }
.btn-submit:disabled { opacity:.6; cursor:not-allowed; transform:none; }
.alert { padding:14px 18px; border-radius:12px; margin-bottom:18px;
         font-size:14px; font-weight:500; }
.alert.success { background:#d4edda; color:#155724; border:1px solid #c3e6cb; }
.alert.error   { background:#f8d7da; color:#721c24; border:1px solid #f5c6cb; }
.alert.info    { background:#d1ecf1; color:#0c5460; border:1px solid #bee5eb; }
/* ── Admin Layout ── */
.admin-wrapper { display:flex; min-height:100vh; }
.sidebar { width:250px; background:#1a1a2e; color:white; padding:0;
           position:fixed; height:100vh; overflow-y:auto; z-index:100; }
.sidebar-brand { padding:25px 20px; border-bottom:1px solid rgba(255,255,255,.1);
                 font-size:18px; font-weight:700; }
.sidebar-brand span { color:#667eea; }
.sidebar-menu { padding:15px 0; }
.sidebar-menu a { display:flex; align-items:center; gap:12px;
                  padding:12px 20px; color:rgba(255,255,255,.7);
                  text-decoration:none; transition:all .2s; font-size:14px; }
.sidebar-menu a:hover,.sidebar-menu a.active { background:rgba(102,126,234,.2);
  color:white; border-left:3px solid #667eea; }
.sidebar-menu .icon { font-size:18px; width:20px; text-align:center; }
.main-content { margin-left:250px; flex:1; }
.topbar { background:white; padding:15px 30px; border-bottom:1px solid #eee;
          display:flex; justify-content:space-between; align-items:center;
          box-shadow:0 2px 10px rgba(0,0,0,.05); }
.topbar h2 { font-size:20px; color:#333; }
.topbar-right { display:flex; align-items:center; gap:15px; }
.notif-btn { position:relative; background:none; border:none;
             cursor:pointer; font-size:20px; }
.notif-badge { position:absolute; top:-5px; right:-5px; background:#dc3545;
               color:white; border-radius:50%; width:18px; height:18px;
               font-size:10px; display:flex; align-items:center; justify-content:center; }
.content-area { padding:30px; }

/* ── Stats Cards ── */
.stats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
              gap:20px; margin-bottom:30px; }
.stat-card { background:white; border-radius:16px; padding:20px;
             box-shadow:0 2px 15px rgba(0,0,0,.08); }
.stat-card .label { font-size:13px; color:#999; margin-bottom:8px; }
.stat-card .value { font-size:28px; font-weight:700; color:#333; }
.stat-card .icon { font-size:32px; float:right; margin-top:-40px; }

/* ── Tables ── */
.table-card { background:white; border-radius:16px;
              box-shadow:0 2px 15px rgba(0,0,0,.08); overflow:hidden; }
.table-header { padding:20px 25px; border-bottom:1px solid #eee;
                display:flex; justify-content:space-between; align-items:center; }
.table-header h3 { font-size:16px; font-weight:600; }
table { width:100%; border-collapse:collapse; }
thead tr { background:#f8f9fa; }
th,td { padding:14px 20px; text-align:left; font-size:14px;
        border-bottom:1px solid #f0f0f0; }
th { font-weight:600; color:#555; font-size:12px; text-transform:uppercase; }
tr:hover { background:#fafafa; }
.badge { padding:4px 12px; border-radius:20px; font-size:12px; font-weight:600; }
.badge-pending   { background:#fff3cd; color:#856404; }
.badge-verified  { background:#d4edda; color:#155724; }
.badge-delivered { background:#cce5ff; color:#004085; }
.badge-cancelled { background:#f8d7da; color:#721c24; }
.btn-sm { padding:6px 14px; border-radius:8px; font-size:12px; font-weight:600;
          border:none; cursor:pointer; }
.btn-primary { background:#667eea; color:white; }
.btn-success { background:#28a745; color:white; }
.btn-danger  { background:#dc3545; color:white; }
.btn-warning { background:#ffc107; color:#333; }
