/* === Faratah unified style - admin v7 + merchant final === */
:root {
  --bg: #edf5f5;
  --panel: #ffffff;
  --line: #d7e6e6;
  --text: #123847;
  --muted: #6f8289;
  --primary: #12b8b3;
  --primary-dark: #0d8f97;
  --nav-start: #081225;
  --nav-mid: #102a44;
  --nav-end: #0d8f89;
  --accent: #ef4444;
  --shadow: 0 18px 40px rgba(8, 28, 42, .10);
  --shadow-soft: 0 12px 24px rgba(8, 28, 42, .07);
  --radius-xl: 34px;
  --radius-lg: 24px;
  --radius-md: 18px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;min-height:100%;overflow-x:hidden}
body{
  font-family:'Cairo',Tahoma,Arial,sans-serif;
  color:var(--text);
  background:radial-gradient(circle at top left, rgba(18,184,179,.12), transparent 22%), radial-gradient(circle at bottom right, rgba(239,68,68,.08), transparent 16%), var(--bg);
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.admin-nav-item strong,.admin-nav-item span,.admin-user-pill,.merchant-phone-brand strong,.merchant-home-card strong,.merchant-request-top strong,.compact-request-item strong,.notice-item strong{overflow-wrap:anywhere}
button,input,select,textarea{font:inherit}
button{cursor:pointer}

.alert{padding:14px 18px;border-radius:18px;font-weight:800;border:1px solid transparent;margin-bottom:14px;box-shadow:var(--shadow-soft)}
.alert-success{background:#effaf7;color:#12624a;border-color:#c5eadf}
.alert-danger{background:#fff3f2;color:#a62626;border-color:#f3c6c1}
.alert-warning{background:#fff8ea;color:#8b620d;border-color:#ead6a1}
.compact-alert{margin:0 18px 12px}

.primary-btn,.danger-btn,.outline-btn,.soft-btn,.admin-logout,.merchant-primary-btn{
  border:0;border-radius:18px;padding:14px 18px;font-weight:900;transition:.2s ease;white-space:nowrap
}
.primary-btn,.merchant-primary-btn{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 12px 22px rgba(17,184,180,.18)}
.merchant-primary-btn.alt{background:linear-gradient(135deg,#ff6b57,#ef4444)}
.danger-btn{background:linear-gradient(135deg,#ff6b57,#ef4444);color:#fff}
.outline-btn,.soft-btn,.admin-logout{background:#fff;border:1px solid var(--line);color:var(--text)}
.primary-btn:hover,.danger-btn:hover,.outline-btn:hover,.soft-btn:hover,.merchant-primary-btn:hover,.admin-logout:hover{transform:translateY(-1px)}
.icon-btn{width:54px;height:54px;border-radius:18px;border:1px solid var(--line);background:#fff;color:var(--text);display:grid;place-items:center;position:relative;box-shadow:var(--shadow-soft)}
.counter-badge{position:absolute;top:-6px;left:-6px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;border:2px solid #fff}

.field{display:grid;gap:8px;min-width:0}
.field label{font-size:13px;color:var(--muted);font-weight:800}
.field input,.field select,.field textarea,
.auth-form input,
.merchant-stack-form input,.merchant-stack-form textarea,.merchant-stack-form select,
.approve-form input,.reject-form input,
.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea{
  width:100%;min-width:0;padding:14px 15px;border-radius:16px;border:1px solid var(--line);background:#fff;color:var(--text);outline:none;transition:.18s ease
}
.field textarea,.merchant-stack-form textarea,.admin-form-grid textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus,
.auth-form input:focus,.merchant-stack-form input:focus,.merchant-stack-form textarea:focus,.merchant-stack-form select:focus,
.approve-form input:focus,.reject-form input:focus,.admin-form-grid input:focus,.admin-form-grid select:focus,.admin-form-grid textarea:focus{border-color:rgba(17,184,180,.55);box-shadow:0 0 0 4px rgba(17,184,180,.10)}

.table-wrap{width:100%;overflow:auto;border-radius:22px;border:1px solid var(--line);background:#fff}
.table-wrap.slim{border-radius:18px}
.admin-table{width:100%;min-width:760px;border-collapse:collapse}
.admin-table th,.admin-table td{padding:14px 16px;border-bottom:1px solid #edf3f3;text-align:right;vertical-align:top;font-size:14px}
.admin-table thead th{background:#f5fbfb;color:var(--muted);font-size:13px;font-weight:900}
.admin-table tbody tr:hover{background:#fbfefe}
.table-link,.tiny-link{color:var(--primary-dark);font-weight:900}.table-link{border:0;background:none;padding:0;cursor:pointer;font:inherit}
.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:900}
.status-badge.pending{background:rgba(245,158,11,.13);color:#b36d00}
.status-badge.approved,.status-badge.active,.status-badge.success{background:rgba(17,184,180,.13);color:#0d8f97}
.status-badge.rejected,.status-badge.suspended,.status-badge.canceled,.status-badge.damaged,.status-badge.blocked{background:rgba(239,68,68,.13);color:#d23434}
.status-badge.inactive{background:#edf3f3;color:#6f8289}
.status-badge.neutral{background:#edf3f3;color:#39525c}

/* Auth */
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}
.auth-card{width:min(460px,100%);background:#fff;border:1px solid rgba(255,255,255,.72);box-shadow:0 24px 48px rgba(9,35,46,.14);border-radius:32px;padding:34px;text-align:center}
.compact-card{width:min(420px,100%)}
.brand-logo{width:82px;height:82px;object-fit:contain;margin:0 auto 14px}
.auth-card h1{margin:0 0 8px;font-size:31px;font-weight:900}
.muted{margin:0 0 16px;color:var(--muted);line-height:1.9}
.auth-form{display:grid;gap:10px;text-align:right}
.auth-form label{font-size:13px;color:var(--muted);font-weight:800}
.auth-links{margin-top:14px;color:var(--primary-dark);font-weight:800}
.merchant-auth-shell{background:linear-gradient(90deg,#090f20,#102f4c 40%,#0d8f89)}

/* Admin layout */
.admin-screen{padding:22px}
.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;grid-template-areas:"main sidebar";gap:22px;align-items:start;direction:ltr}
.admin-sidebar{grid-area:sidebar;direction:rtl;background:linear-gradient(180deg,var(--nav-start),var(--nav-mid) 54%,var(--nav-end));color:#fff;border-radius:36px;padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;position:sticky;top:22px;min-height:calc(100vh - 44px);overflow:hidden}
.admin-brand{display:flex;align-items:center;justify-content:space-between;gap:12px}
.admin-brand img{width:80px;height:80px;object-fit:contain;flex:0 0 auto}
.admin-brand strong{display:block;font-size:34px;line-height:1;font-weight:900}
.admin-brand span{display:block;margin-top:6px;font-size:13px;opacity:.8}
.admin-sidebar-caption{font-size:13px;opacity:.72;margin-top:6px}
.admin-nav{display:grid;gap:10px;overflow:auto;padding:0 2px 0 0}
.admin-nav-item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(255,255,255,.08);padding:14px 16px;border-radius:22px;border:1px solid rgba(255,255,255,.07);transition:.18s ease;min-width:0}
.admin-nav-item div{min-width:0}
.admin-nav-item strong{display:block;font-size:14px;line-height:1.4;white-space:normal;word-break:break-word}
.admin-nav-item span{display:block;margin-top:4px;font-size:11px;opacity:.76;white-space:normal;line-height:1.7}
.admin-nav-item i{font-style:normal;font-size:18px;flex:0 0 auto}
.admin-nav-item:hover,.admin-nav-item.active{background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.10));transform:translateX(2px)}
.admin-side-note{margin-top:auto;border-radius:24px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);padding:18px;line-height:1.9;font-size:13px;color:rgba(255,255,255,.88)}
.admin-logout{text-align:center;margin-top:6px}
.admin-main{grid-area:main;direction:rtl;display:grid;gap:18px;min-width:0}
.admin-topbar{background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.72);border-radius:34px;padding:18px 22px;box-shadow:var(--shadow);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;direction:ltr}
.admin-title-box{direction:rtl;text-align:right}
.admin-title-box h1{margin:0;font-size:34px;line-height:1.2;font-weight:900}
.admin-title-box p{margin:8px 0 0;color:var(--muted);font-size:14px}
.admin-top-actions{direction:rtl;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.admin-user-pill{display:inline-flex;align-items:center;padding:11px 16px;border-radius:999px;background:#f4fbfb;border:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:800}
.admin-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.admin-stat-card{background:#fff;border-radius:32px;border:1px solid #dbe8e7;box-shadow:var(--shadow);padding:20px;min-height:196px;display:grid;grid-template-columns:1fr auto;grid-template-areas:'chip icon' 'label label' 'value value' 'sub sub';gap:12px;align-content:start}
.stat-chip{grid-area:chip;display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:900;width:max-content}
.stat-chip.green{background:rgba(17,184,180,.12);color:#0d8f97}
.stat-chip.teal{background:#ecf4f4;color:#39525c}
.stat-chip.red{background:rgba(239,68,68,.12);color:#d23434}
.stat-chip.blue{background:#eaf7f6;color:#0d8f97}
.stat-icon{grid-area:icon;width:46px;height:46px;border-radius:16px;background:#f4fbfb;border:1px solid var(--line);display:grid;place-items:center;font-size:20px}
.stat-label{grid-area:label;font-size:15px;color:var(--muted);font-weight:800}
.stat-value{grid-area:value;font-size:52px;line-height:1;font-weight:900;color:var(--text)}
.stat-sub{grid-area:sub;color:var(--muted);font-size:13px;line-height:1.8}
.admin-grid,.admin-section-grid,.cards-studio-grid,.request-grid-admin{display:grid;gap:16px;min-width:0}
.admin-home-grid{grid-template-columns:1fr 1fr}
.admin-section-grid{grid-template-columns:380px minmax(0,1fr)}
.cards-studio-grid{grid-template-columns:1.1fr .9fr}
.request-grid-admin{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-card{background:#fff;border-radius:32px;border:1px solid #dbe8e7;box-shadow:var(--shadow);padding:20px;min-width:0;overflow:hidden}
.admin-form-card{align-self:start}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.section-head h3{margin:0;font-size:22px;line-height:1.2;font-weight:900}
.section-head p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.8}
.top-gap{margin-top:18px}
.notice-list,.activity-list,.compact-request-list,.sale-point-card-list{display:grid;gap:12px;min-width:0}
.notice-item,.activity-item{border:1px solid var(--line);border-radius:22px;padding:16px;background:#fff}
.notice-item.unread{background:linear-gradient(180deg,#effbfb,#fff)}
.notice-item strong,.activity-item strong{display:block;font-size:15px;line-height:1.6}
.notice-item p,.activity-item p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.8}
.notice-item small,.activity-item small{display:block;margin-top:8px;color:var(--muted);font-size:12px;font-weight:800}
.notice-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.status-dot,.mini-dot{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 0 0 5px rgba(17,184,180,.12)}
.compact-request-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:#fff;border-radius:22px;padding:16px}
.compact-request-item strong{display:block;font-size:15px;line-height:1.7}
.compact-request-item small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.sale-point-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.sale-point-card-list.compact{grid-template-columns:1fr}
.sale-point-admin-card{border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#fcfefe,#f7fbfb);padding:18px;display:grid;gap:14px;min-width:0}
.sale-point-title-row,.sale-point-footer-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sale-point-title-row h4{margin:0;font-size:22px;line-height:1.3}
.sale-point-title-row span,.sale-point-contact,.point-mobile{color:var(--muted);font-size:13px;font-weight:800}
.sale-point-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sale-point-grid-6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sale-point-mini-grid div,.sale-point-grid-6 div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;text-align:center}
.sale-point-mini-grid span,.sale-point-grid-6 span{display:block;color:var(--muted);font-size:12px;font-weight:800}
.sale-point-mini-grid strong,.sale-point-grid-6 strong{display:block;margin-top:8px;font-size:26px;line-height:1;font-weight:900}
.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}
.admin-form-grid.single-column{grid-template-columns:1fr}
.form-span{grid-column:1 / -1}
.roles-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.role-chip-card{padding:16px;border:1px solid var(--line);background:#f8fbfb;border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.role-chip-card strong{font-size:15px}
.role-chip-card span{font-size:12px;color:var(--muted);font-weight:800}
.permissions-cloud{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.permissions-cloud span{padding:8px 12px;border-radius:999px;background:#eef7f7;border:1px solid var(--line);font-size:12px;font-weight:800;color:var(--muted)}
.request-grid-admin{align-items:start}
.redeem-card-admin{background:#fff;border:1px solid var(--line);border-radius:28px;padding:18px;box-shadow:var(--shadow-soft);display:grid;gap:14px;min-width:0}
.redeem-head-admin{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.redeem-head-admin strong{display:block;font-size:18px;line-height:1.4}
.redeem-head-admin p{margin:6px 0 0;color:var(--muted);font-size:13px}
.redeem-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.redeem-meta-grid div{background:#f7fbfb;border:1px solid var(--line);border-radius:18px;padding:14px}
.redeem-meta-grid span{display:block;color:var(--muted);font-size:12px;font-weight:800}
.redeem-meta-grid strong{display:block;margin-top:8px;font-size:15px;line-height:1.7}
.request-actions-stack{display:grid;gap:12px}
.approve-form,.reject-form{display:grid;gap:10px}
.proof-box{border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#fff}
.proof-box img{width:100%;height:auto;display:block;max-height:280px;object-fit:contain;background:#fff}
.admin-note-box{padding:14px 16px;border-radius:18px;background:#f4fbfb;border:1px solid var(--line);color:var(--muted);line-height:1.8}
.admin-card-preview-wrap{display:grid;place-items:center;padding:10px}
.admin-card-preview{width:min(100%,360px);min-height:220px;border-radius:var(--card-radius);background:linear-gradient(145deg,var(--card-bg),#f9fdfd);border:1px solid rgba(17,184,180,.18);box-shadow:0 18px 30px rgba(13,47,61,.10);padding:18px;display:grid;gap:16px;align-content:start;position:relative;overflow:hidden}
.admin-card-preview:before{content:'';position:absolute;inset:auto -60px -60px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle, rgba(17,184,180,.16), transparent 66%)}
.preview-brand{display:flex;align-items:center;justify-content:center;gap:12px;position:relative;z-index:1}
.preview-brand img{width:58px;height:58px;object-fit:contain}
.preview-brand strong{font-size:26px;font-weight:900;color:var(--card-secondary)}
.preview-qr{height:76px;border-radius:18px;background:repeating-linear-gradient(90deg,#111 0,#111 4px,#fff 4px,#fff 8px), repeating-linear-gradient(#111 0,#111 4px,#fff 4px,#fff 8px);background-blend-mode:multiply;opacity:.78;position:relative;z-index:1}
.preview-code{position:relative;z-index:1;text-align:center;font-weight:900;letter-spacing:1px;font-size:18px;color:var(--card-text)}
.preview-points{position:relative;z-index:1;width:max-content;margin-inline:auto;padding:10px 16px;border-radius:999px;background:var(--card-badge);color:#fff;font-weight:900}
.merchant-sim-stage{display:grid;place-items:center;padding:14px}
.merchant-sim-phone{width:min(100%,390px);background:linear-gradient(180deg,var(--m-primary),#2a8ec7);border-radius:34px;padding:16px;border:1px solid rgba(255,255,255,.55);box-shadow:0 30px 60px rgba(9,35,46,.20);color:#fff}
.merchant-sim-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.merchant-sim-actions{display:flex;gap:10px}
.merchant-sim-actions span,.merchant-sim-menu{width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.14);display:grid;place-items:center}
.merchant-sim-brand{display:flex;align-items:center;gap:10px}
.merchant-sim-brand strong{display:block;font-size:28px}
.merchant-sim-brand small{display:block;opacity:.85}
.merchant-sim-balance{margin-top:18px;padding:18px;border-radius:24px;background:rgba(255,255,255,.18)}
.merchant-sim-balance span{display:block;font-size:13px;opacity:.9}
.merchant-sim-balance strong{display:block;margin-top:8px;font-size:40px;line-height:1}
.merchant-sim-grid{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.merchant-sim-grid button{border:0;border-radius:22px;padding:16px;background:#fff;color:#0f172a;font-weight:900}
.merchant-sim-grid button.alt{background:#ff6554;color:#fff}

/* Merchant app */
.merchant-stage{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(90deg,#091022,#0d2a43 34%,#0e8f89)}
.merchant-phone-shell{width:min(100%,404px);background:linear-gradient(180deg,#20b5c0,#2a93d4 50%,rgba(255,255,255,.32));border-radius:34px;border:1px solid rgba(255,255,255,.55);box-shadow:0 32px 60px rgba(4,14,28,.36);overflow:hidden;position:relative}
.merchant-phone-header{direction:ltr;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 8px;color:#fff;position:relative;z-index:60}
.merchant-header-actions{direction:rtl;display:flex;align-items:center;gap:10px}
.merchant-circle-btn{width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;color:#fff;position:relative;backdrop-filter:blur(6px)}
.merchant-phone-brand{display:flex;align-items:center;gap:10px;text-align:center}
.merchant-phone-brand img{width:52px;height:52px;object-fit:contain}
.merchant-phone-brand strong{display:block;font-size:30px;line-height:1;font-weight:900}
.merchant-phone-brand span{display:block;margin-top:5px;font-size:13px;opacity:.86}
.merchant-drawer{position:absolute;top:0;right:0;width:292px;max-width:84%;height:100%;background:linear-gradient(180deg,#081225,#102a44 54%,#0d8f89);color:#fff;padding:18px;transform:translateX(105%);transition:.24s ease;z-index:100;display:grid;align-content:start;gap:14px;box-shadow:-18px 0 40px rgba(0,0,0,.22)}
.merchant-drawer.open{transform:translateX(0)}
.merchant-drawer-overlay{position:absolute;inset:0;background:rgba(2,10,20,.34);opacity:0;pointer-events:none;transition:.24s ease;z-index:40}
.merchant-drawer-overlay.open{opacity:1;pointer-events:auto}
.merchant-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.merchant-drawer-head strong{font-size:24px;font-weight:900}
.merchant-drawer-close{width:40px;height:40px;border-radius:14px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff}
.merchant-drawer-nav{display:grid;gap:10px}
.merchant-drawer-nav a{display:block;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.08);font-weight:900}
.merchant-drawer-nav a.active{background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.10))}
.merchant-balance-hero{padding:8px 16px 14px;color:#fff}
.merchant-balance-hero > div{border-radius:28px;padding:24px 18px;background:linear-gradient(180deg,rgba(255,255,255,.17),rgba(255,255,255,.12));border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px)}
.merchant-balance-hero small{display:block;font-size:16px;opacity:.95;font-weight:800}
.merchant-balance-hero strong{display:block;margin-top:10px;font-size:56px;line-height:1;font-weight:900}
.merchant-balance-hero span{display:block;margin-top:10px;font-size:13px;opacity:.92;line-height:1.8}
.merchant-content-board{background:#f4f8fb;border-radius:28px 28px 34px 34px;padding:18px;min-height:340px;position:relative;z-index:1}
.merchant-section-title{font-size:26px;font-weight:900;color:#0f2741;text-align:right;margin-bottom:18px}
.merchant-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.merchant-home-card{min-height:146px;border-radius:26px;padding:18px;display:grid;align-content:space-between;color:#fff;box-shadow:0 18px 24px rgba(8,24,40,.08)}
.merchant-home-card.scan{background:linear-gradient(145deg,#12b8d4,#10a9c9)}
.merchant-home-card.manual{background:linear-gradient(145deg,#ff5f50,#ff6f48)}
.merchant-card-icon{width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-weight:900;font-size:22px;margin-right:auto}
.merchant-home-card strong{font-size:20px;line-height:1.5}
.merchant-home-card span{font-size:13px;opacity:.92;line-height:1.7}
.merchant-small-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.merchant-small-stats div{background:#fff;border:1px solid #dbe8e7;border-radius:22px;padding:16px;text-align:center}
.merchant-small-stats span{display:block;color:var(--muted);font-size:13px;font-weight:800}
.merchant-small-stats strong{display:block;margin-top:8px;font-size:38px;line-height:1;font-weight:900;color:#0f2741}
.merchant-panel-card,.merchant-request-card,.merchant-notice-card{background:#fff;border:1px solid #dbe8e7;border-radius:24px;padding:16px;box-shadow:var(--shadow-soft);margin-bottom:14px}
.full-card{margin-bottom:0}
.merchant-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.merchant-panel-head h3{margin:0;font-size:20px;font-weight:900;color:#0f2741}
.merchant-panel-head span{color:var(--muted);font-size:12px;font-weight:800}
.merchant-stack-form{display:grid;gap:10px}
.merchant-stack-form label{font-size:13px;color:var(--muted);font-weight:800}
.merchant-request-list,.merchant-notice-list{display:grid;gap:12px}
.merchant-request-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
.merchant-request-top strong{font-size:15px;line-height:1.6;color:#102a44}
.merchant-request-top span{font-size:12px;color:var(--muted);font-weight:800}
.merchant-request-meta{font-size:14px;font-weight:900;color:#0f8f97;margin-top:8px}
.merchant-request-card p,.merchant-notice-card p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.8}
.merchant-notice-card.unread{background:linear-gradient(180deg,#effbfb,#fff)}
.merchant-table{min-width:640px}

/* Print */
.print-header{padding:18px 0 8px;text-align:center}
.print-header h1{margin:0;font-size:28px;font-weight:900;color:#102a44}
.print-header p{margin:6px 0 0;color:#516870}
.print-cards-sheet{display:grid;gap:8mm;justify-content:center;padding:8mm}
.print-card{display:grid;align-content:space-between;gap:10px;padding:12px;border:1px solid #dbe8e7;background:#fff;box-shadow:none;position:relative;overflow:hidden}
.print-card-logo{width:42px;height:42px;object-fit:contain;margin-inline:auto}
.print-card-qr{width:100px;height:100px;object-fit:contain;margin-inline:auto}
.print-card-code{text-align:center;font-weight:900;font-size:16px}
.print-card-points{width:max-content;margin-inline:auto;padding:8px 14px;border-radius:999px;color:#fff;font-weight:900}

@media (max-width: 1180px){
  .admin-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"sidebar" "main";direction:rtl}
  .admin-sidebar{position:relative;top:0;min-height:auto}
  .admin-stats-grid,.admin-home-grid,.admin-section-grid,.cards-studio-grid,.request-grid-admin{grid-template-columns:minmax(0,1fr)}
}
@media (max-width: 760px){
  .admin-screen{padding:12px}
  .admin-topbar{padding:16px}
  .admin-title-box h1{font-size:28px}
  .admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sale-point-card-list,.roles-wrap,.merchant-action-grid,.merchant-small-stats,.sale-point-mini-grid,.sale-point-grid-6,.admin-form-grid,.redeem-meta-grid{grid-template-columns:minmax(0,1fr)}
  .merchant-stage{padding:10px}
  .merchant-phone-shell{width:100%}
  .merchant-phone-brand strong{font-size:24px}
  .merchant-balance-hero strong{font-size:44px}
}


.timeline-box{display:grid;gap:8px;margin:14px 0;padding:12px 14px;border:1px solid #d8e5e6;border-radius:18px;background:#f8fbfb}
.timeline-box.merchant{margin-top:12px}
.timeline-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:#5f7580;border-bottom:1px dashed #dce8ea;padding-bottom:6px}
.timeline-row:last-child{border-bottom:none;padding-bottom:0}
.timeline-row strong{font-size:13px;color:#10324a}

.section-export-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.advanced-permissions-form{display:grid;gap:16px}
.permissions-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.permission-box{border:1px solid #dbe5ea;background:#fbfdff;border-radius:20px;padding:16px;display:grid;gap:10px;max-height:420px;overflow:auto}
.permission-box h4{margin:0;font-size:16px;color:#102a44}
.permission-box p{margin:0;color:#667a86;font-size:12px}
.permission-check{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:#fff;border:1px solid #edf2f4;font-size:13px;color:#18364c}
.permission-check input{accent-color:#0f766e}
.logs-filter-card{margin-bottom:22px}
.logs-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.logs-tab{padding:10px 14px;border-radius:14px;background:#eef6f7;color:#12354d;font-weight:800;text-decoration:none;border:1px solid #dbe7e9}
.logs-tab.active{background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;border-color:transparent}
.logs-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.logs-filter-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
@media (max-width:760px){.permissions-columns,.logs-filter-grid{grid-template-columns:minmax(0,1fr)}}


/* Theme editor */
.theme-section-grid{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr)}
.theme-editor-card .theme-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.theme-editor-card .theme-actions-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.theme-preview-card{position:sticky;top:22px}
.theme-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.theme-summary-grid div{background:#f7fbfb;border:1px solid var(--line);border-radius:18px;padding:14px}
.theme-summary-grid span{display:block;color:var(--muted);font-size:12px;font-weight:800}
.theme-summary-grid strong{display:block;margin-top:8px;font-size:15px}
.merchant-sim-phone .merchant-sim-grid button,
.merchant-stage .merchant-primary-btn,
.merchant-stage .merchant-home-card,
.merchant-stage .merchant-panel-card,
.merchant-stage .merchant-request-card,
.merchant-stage .merchant-notice-card,
.merchant-stage .merchant-small-stats div,
.merchant-stage .merchant-drawer,
.merchant-stage .merchant-drawer-nav a,
.merchant-stage .merchant-balance-hero > div,
.merchant-stage .merchant-circle-btn,
.merchant-stage .merchant-content-board,
.merchant-stage .merchant-phone-shell,
.merchant-stage .merchant-home-card,
.merchant-stage .merchant-phone-header,
.merchant-stage .merchant-panel-card{border-radius:var(--m-radius)!important}
.merchant-stage.header-solid .merchant-phone-shell,
.merchant-sim-phone.header-solid{background:linear-gradient(180deg,var(--m-primary),var(--m-primary))}
.merchant-stage.menu-minimal .merchant-drawer-nav a,
.merchant-sim-phone.menu-minimal .merchant-sim-grid button{background:transparent;border:1px solid rgba(255,255,255,.24)}
.merchant-stage.menu-filled .merchant-drawer-nav a,
.merchant-sim-phone.menu-filled .merchant-sim-grid button{background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,.14))}
.merchant-stage.buttons-pill .merchant-primary-btn,
.merchant-stage.buttons-pill .merchant-home-card,
.merchant-stage.buttons-pill .merchant-circle-btn,
.merchant-sim-phone.buttons-pill .merchant-sim-grid button{border-radius:999px!important}
.merchant-stage.buttons-square .merchant-primary-btn,
.merchant-stage.buttons-square .merchant-home-card,
.merchant-stage.buttons-square .merchant-circle-btn,
.merchant-sim-phone.buttons-square .merchant-sim-grid button{border-radius:12px!important}
.merchant-stage.layout-list .merchant-action-grid,
.merchant-sim-phone.layout-list .merchant-sim-home-grid{grid-template-columns:1fr}
.merchant-stage.layout-mixed .merchant-action-grid a:first-child{grid-column:1/-1}
.merchant-sim-phone.layout-mixed .merchant-sim-home-grid button:first-child{grid-column:1/-1}
.merchant-stage.bell-outline .merchant-circle-btn,
.merchant-sim-phone.bell-outline .sim-bell{background:transparent;border:1px solid rgba(255,255,255,.4)!important}
@media (max-width:1200px){.theme-section-grid{grid-template-columns:1fr}.theme-preview-card{position:static}}

.section-shell{display:grid;gap:18px}
.section-head-tight{margin-bottom:0}
.section-inline-actions{display:flex;gap:10px;flex-wrap:wrap}
.subsection-tabs{display:flex;gap:10px;flex-wrap:wrap;padding:6px;background:#f4fbfb;border:1px solid var(--line);border-radius:22px}
.subsection-tab{border:0;background:transparent;color:var(--muted);padding:12px 16px;border-radius:16px;font-weight:900}
.subsection-tab.active{background:#fff;color:var(--text);box-shadow:var(--shadow-soft)}
.subsection-panel{display:none}
.subsection-panel.active{display:block}
.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.modern-search-toolbar{margin-bottom:6px}
.search-box{position:relative;min-width:240px;flex:1}
.search-box input{width:100%;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:#fff;outline:none}
.toolbar-note{font-size:12px;color:var(--muted);font-weight:800}
.row-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.inline-form{display:inline}
.delete-link{border:0;background:none;color:#d23434;font-weight:900;padding:0}
.form-actions-end{display:flex;justify-content:flex-end;align-items:center;gap:10px}
.stack-list{display:grid;gap:12px}
.stack-list-item{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:22px;padding:16px;background:#fff;min-width:0}
.stack-list-item strong{display:block;font-size:15px;line-height:1.7}
.stack-list-item small{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.stack-list-item span{font-size:13px;color:var(--muted);font-weight:800}
.list-detail-shell{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:16px;align-items:start}
.redeem-shell{grid-template-columns:minmax(0,1fr) minmax(340px,.95fr)}
.clickable-table .row-anchor{display:inline-flex;color:var(--text);font-weight:900}
.clickable-table tbody tr.is-selected{background:#effaf9}
.detail-card{background:#f9fcfc;border:1px solid var(--line);border-radius:24px;padding:18px;display:grid;gap:16px;position:sticky;top:14px}
.detail-card-wide{position:static}
.detail-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.detail-card-head h4{margin:0;font-size:24px;line-height:1.3}
.detail-card-head span{color:var(--muted);font-size:13px;font-weight:800}
.detail-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.detail-grid-2 div,.detail-metric-grid div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}
.detail-grid-2 span,.detail-metric-grid span{display:block;color:var(--muted);font-size:12px;font-weight:800}
.detail-grid-2 strong,.detail-metric-grid strong{display:block;margin-top:8px;font-size:16px;line-height:1.7}
.detail-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.detail-note-box{padding:14px 16px;border-radius:18px;background:#fff;border:1px dashed var(--line);line-height:1.9;color:var(--muted)}
.inline-subsection-block{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.toast-wrap{position:fixed;top:18px;left:18px;z-index:9999;display:grid;gap:10px}
.toast-message{min-width:260px;max-width:380px;padding:14px 18px;border-radius:18px;color:#fff;box-shadow:var(--shadow);opacity:0;transform:translateY(-10px);transition:.25s ease}
.toast-message.visible{opacity:1;transform:translateY(0)}
.toast-message.success{background:linear-gradient(135deg,#12b8b3,#0d8f97)}
.toast-message.error{background:linear-gradient(135deg,#ef4444,#c42d2d)}
.mini-list .stack-list-item{padding:14px 16px}
.logs-tab{white-space:nowrap}

@media (max-width: 1100px){
  .list-detail-shell,.redeem-shell{grid-template-columns:1fr}
  .detail-card{position:static}
}
@media (max-width: 860px){
  .admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-home-grid,.cards-studio-grid,.request-grid-admin,.admin-section-grid{grid-template-columns:1fr}
  .detail-grid-2,.detail-metric-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  .subsection-tabs{display:grid;grid-template-columns:1fr 1fr}
  .detail-grid-2,.detail-metric-grid{grid-template-columns:1fr}
  .section-inline-actions,.toolbar-row,.form-actions-end{width:100%}
  .section-inline-actions .outline-btn,.form-actions-end .primary-btn{width:100%;text-align:center}
  .toast-wrap{right:12px;left:12px}
  .toast-message{min-width:0;max-width:none}
}

.app-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:10010;padding:18px}.app-modal.open{display:flex}.app-modal-backdrop{position:absolute;inset:0;background:rgba(7,23,35,.45);backdrop-filter:blur(3px)}.app-modal-dialog{position:relative;width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:22px}.app-modal-dialog.wide{width:min(980px,100%)}.app-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.app-modal-head h3{margin:0;font-size:28px}.app-modal-close{border:1px solid var(--line);background:#f8fcfc;border-radius:14px;padding:10px 14px;cursor:pointer;font-weight:900}.modal-form{position:relative}.modal-form .form-span{grid-column:1/-1}@media (max-width:640px){.app-modal{padding:12px}.app-modal-dialog,.app-modal-dialog.wide{width:100%;padding:16px;border-radius:22px}.app-modal-head h3{font-size:22px}}

.security-inline-block{margin-top:22px;padding-top:12px;border-top:1px solid rgba(15,118,110,.12)}
.security-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0 18px}
.security-check-item{background:#f7fbfb;border:1px solid rgba(15,118,110,.12);border-radius:16px;padding:14px 16px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.security-check-item strong{font-size:14px;color:#0f2940}.security-check-item span{color:#0f766e;font-weight:700}

.security-checks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0 18px}.security-check-card{background:#f7fbfb;border:1px solid rgba(15,118,110,.12);border-radius:18px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.security-check-card strong{font-size:14px;color:#0f2940}.security-check-card span{color:#0f766e;font-weight:700}
