:root{
  --blue:#61b9ff;
  --blue-dark:#1d5f99;
  --gold:#d8b35f;
  --gold-deep:#b58b28;
  --bg:#f5f9ff;
  --text:#10324f;
  --muted:#5d7488;
  --white:#ffffff;
  --success:#147247;
  --danger:#b53a3a;
  --warning:#9c7400;
  --shadow:0 18px 50px rgba(20,76,130,.12);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Cairo',sans-serif;background:linear-gradient(180deg,#fafdff,#f5f9ff 55%,#eef6ff);color:var(--text)}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 32px));margin:auto}
.hidden{display:none!important}
.glass{background:rgba(255,255,255,.84);backdrop-filter:blur(14px);border:1px solid rgba(120,170,220,.18);box-shadow:var(--shadow)}
.site-header{position:sticky;top:0;z-index:50;margin:12px auto;border-radius:26px;width:min(1240px,calc(100% - 16px))}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;gap:12px}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),#9dd7ff);color:#fff;font-weight:800;font-size:1.25rem}
.brand small{display:block;color:var(--muted)}
.nav-links{display:flex;gap:12px;flex-wrap:wrap}
.nav-links a{padding:10px 14px;border-radius:14px;color:var(--muted);font-weight:700}
.nav-links a.active,.nav-links a:hover{background:#eef7ff;color:var(--blue-dark)}
.nav-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:16px;font-weight:800;border:none;cursor:pointer;transition:.2s transform,.2s opacity,.2s background}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--blue),#4ca9f0);color:#fff}
.btn-outline{background:#fff;color:var(--blue-dark);border:1px solid #cfe7ff}
.btn-gold{background:linear-gradient(135deg,#f2d48b,var(--gold-deep));color:#4c3500}
.hero-section{padding:36px 0 10px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center}
.eyebrow{display:inline-block;padding:8px 12px;background:#eaf6ff;border-radius:999px;color:var(--blue-dark);font-weight:700;margin-bottom:14px}
h1{font-size:clamp(2.1rem,4vw,4.1rem);line-height:1.1;margin:0 0 14px}
h1 span{color:var(--blue)}
h2,h3,h4{margin:0}
.lead{font-size:1.08rem;color:var(--muted);max-width:680px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.stats-grid,.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.stats-grid{margin-top:28px}
.stat-card,.panel{padding:18px;border-radius:20px;background:#fff;border:1px solid #edf5ff;box-shadow:var(--shadow)}
.stat-card strong,.big-number{display:block;font-size:1.8rem;color:var(--blue-dark);font-weight:800}
.card-stack-wrap{position:relative;min-height:420px}
.member-card{border-radius:30px;color:#fff;padding:26px;position:relative;overflow:hidden;min-height:220px;box-shadow:var(--shadow)}
.member-card h3,.member-card h2{margin:8px 0 10px}
.free-card{background:linear-gradient(135deg,#6dc5ff,#237fcc)}
.vip-card{background:linear-gradient(135deg,#162536,#314760 55%,#9f7b22 120%)}
.big-card{min-height:250px}
.inactive-card{opacity:.92;position:relative}
.buy-note{margin-top:18px;padding:12px 14px;background:rgba(255,255,255,.16);display:inline-block;border-radius:14px;font-weight:800}
.card-chip{position:absolute;left:24px;bottom:24px;width:62px;height:42px;border-radius:12px;background:rgba(255,255,255,.3)}
.card-chip.gold{background:linear-gradient(135deg,#f5df9d,#c79a2c)}
.floating-card{position:absolute;width:min(100%,430px)}
.floating-card:first-child{top:30px;right:0;transform:rotate(-8deg)}
.floating-card.delay-2{bottom:20px;left:20px;transform:rotate(8deg)}
.section-space{padding:28px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.section-head.tight{margin-bottom:12px}
.section-head h2{font-size:1.65rem}
.section-head p{margin:0;color:var(--muted);max-width:700px}
.grid{display:grid;gap:18px}
.banners-grid,.offer-grid,.partner-grid,.pricing-grid{grid-template-columns:repeat(3,1fr)}
.cards-showcase{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.offer-card,.partner-card,.promo-card,.price-card,.menu-card,.loyalty-box,.partner-hero,.auth-card,.filters-bar,.table-wrap{border-radius:24px;padding:22px}
.offer-top,.offer-meta,.partner-meta,.card-inline-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.offer-card h3,.partner-card h3,.promo-card h3,.price-card h3,.menu-card h3{margin:12px 0 10px}
.offer-card p,.partner-card p,.promo-card p,.price-card p,.menu-card p,.muted{color:var(--muted);margin:0}
.tag{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eef7ff;color:var(--blue-dark);font-size:.88rem;font-weight:800}
.tag-gold{background:#fff5d8;color:#7b5906}
.discount-pill{padding:8px 12px;border-radius:999px;background:#f0fbf3;color:#147247;font-weight:800}
.partner-card{display:block}
.partner-avatar{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#d6efff,#8ecfff);font-weight:800;font-size:1.4rem;color:var(--blue-dark)}
.partner-avatar.large{width:92px;height:92px;font-size:2rem}
.partner-hero{display:flex;gap:18px;align-items:center;margin-top:22px}
.menu-grid{grid-template-columns:repeat(4,1fr)}
.price{font-size:2.2rem;font-weight:800;margin:8px 0 4px;color:var(--blue-dark)}
.price small{font-size:1rem}
.price-card ul,.member-card ul{padding:0 18px 0 0;color:rgba(255,255,255,.88)}
.price-card ul{color:var(--muted)}
.price-card li,.member-card li{margin:10px 0}
.vip-border{border:1px solid rgba(216,179,95,.35)}
.loyalty-box{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:center}
.mini-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.mini-steps div,.demo-box{padding:18px;border-radius:20px;background:#fff;border:1px solid #edf5ff;text-align:center}
.mini-steps strong{display:block;font-size:1.8rem;color:var(--gold-deep)}
.page-head{padding:30px 0 14px}
.page-head h1{font-size:2.6rem;margin-bottom:6px}
.site-footer{margin-top:34px;padding:28px 0 48px;background:#0d2740;color:#dcecf9}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}
.site-footer a{display:block;color:#dcecf9;margin:10px 0}
.auth-wrap{padding:30px 0 20px}
.auth-card{display:grid;gap:18px}
.auth-form,.stack-form{display:grid;gap:10px}
.filters-grid,.dual-grid,.inline-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.input,textarea{width:100%;padding:14px 16px;border:1px solid #d8e8f7;border-radius:16px;background:#fff;font-family:inherit;font-size:1rem;color:var(--text)}
.filters-grid .input,.dual-grid .input{flex:1}
.qr-preview{width:160px;height:160px;margin-top:14px;border-radius:16px;background:#fff;padding:10px}
.qr-preview.small{width:120px;height:120px}

.card-visual-row{display:flex;direction:ltr;align-items:flex-start;justify-content:space-between;gap:20px}
.card-content-block{direction:rtl;text-align:right;flex:1;min-width:0}
.card-content-block .card-number{font-weight:700;color:rgba(255,255,255,.96);margin:10px 0 8px}
.card-content-block .card-inline-meta{margin-top:10px;color:rgba(255,255,255,.92)}
.card-qr-block{width:112px;display:grid;justify-items:center;gap:8px;flex:0 0 112px}
.qr-preview.card-qr{width:96px;height:96px;margin-top:0;border-radius:14px;padding:7px;box-shadow:0 10px 28px rgba(8,24,39,.18)}
.card-qr-block .qr-countdown,.card-qr-block .qr-note{margin-top:0;font-size:.82rem;line-height:1.6;text-align:center}
.card-refresh-btn{width:100%;padding:10px 12px;border-radius:12px;font-size:.9rem;font-weight:800}
.member-card.big-card{padding:24px 24px 86px;min-height:258px}
.member-card.big-card .card-chip{left:24px;bottom:22px}
.card-chip{box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 20px rgba(0,0,0,.08)}
.qr-note,.qr-countdown{margin-top:10px;color:rgba(255,255,255,.92);font-weight:700}
.flash-wrap{padding-top:10px}
.flash{padding:14px 16px;border-radius:16px;margin-bottom:10px;font-weight:700}
.flash-success{background:#ebfff2;color:var(--success);border:1px solid #b6efca}
.flash-error{background:#fff0f0;color:var(--danger);border:1px solid #f0c7c7}
.table-wrap{overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid #edf5ff;background:#fff}
.data-table{width:100%;border-collapse:collapse;min-width:620px}
.data-table th,.data-table td{padding:14px 10px;border-bottom:1px solid #edf5ff;text-align:right;vertical-align:middle}
.status{display:inline-flex;padding:6px 10px;border-radius:999px;font-weight:800;font-size:.9rem}
.status.pending,.status.generated,.status.awaiting_verification{background:#fff7e2;color:var(--warning)}
.status.confirmed,.status.completed,.status.active,.status.approved{background:#ebfff2;color:var(--success)}
.status.rejected,.status.cancelled{background:#fff0f0;color:var(--danger)}
.mini-list{display:grid;gap:10px}
.mini-list div{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid #edf5ff;border-radius:16px;background:#fff}
.demo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.demo-box strong,.demo-box span,.demo-box small{display:block}
.mt-12{margin-top:12px}

@media (max-width: 980px){
  .hero-grid,.loyalty-box,.cards-showcase,.footer-grid,.banners-grid,.offer-grid,.partner-grid,.pricing-grid,.menu-grid,.dashboard-grid,.demo-grid{grid-template-columns:1fr 1fr}
  .card-stack-wrap{min-height:500px}
  }
@media (max-width: 640px){
  .container{width:min(100% - 20px,1180px)}
  .hero-grid,.banners-grid,.offer-grid,.partner-grid,.pricing-grid,.cards-showcase,.menu-grid,.footer-grid,.loyalty-box,.dashboard-grid,.demo-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr}
  .partner-hero{flex-direction:column;align-items:flex-start}
  .floating-card{position:relative;width:100%;transform:none!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;margin-bottom:14px}
  .card-stack-wrap{min-height:auto}
  .btn{width:auto}
  .data-table{min-width:560px}
  .page-head h1{font-size:2rem}
}

.auth-split{grid-template-columns:1fr 1fr}
.inline-link{color:var(--blue-dark);font-weight:800}
.compact-list div{padding:12px 14px}
.notice-box,.conditional-box,.scan-result{padding:14px 16px;border-radius:18px;background:#f6fbff;border:1px solid #dbeeff;color:var(--text)}
.success-box{background:#eefcf3;border-color:#bfe4cb;color:#11633d}
.danger-box{background:#fff4f4;border-color:#f0c7c7;color:#9a2626}
.checkout-grid,.scanner-grid,.two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.checkout-summary{position:sticky;top:100px;height:max-content}
.feature-list{margin:16px 0 0;padding-right:18px}
.feature-list li{margin:10px 0}
.dark-list li{color:var(--muted)}
.payment-option{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid #dceaf7;border-radius:18px;background:#fff;cursor:pointer}
.payment-option input{margin-top:5px}
.payment-option strong,.payment-option span{display:block}
.payment-option span{color:var(--muted);margin-top:4px}
.active-method{border-color:#8dcfff;background:#eef7ff}
.scanner-box{position:relative;overflow:hidden;border-radius:24px;padding:18px;background:#08192a;color:#fff;min-height:360px}
.scanner-box video{width:100%;height:300px;object-fit:cover;border-radius:18px;background:#000}
.scanner-overlay{position:absolute;inset:48px 48px auto 48px;height:210px;border:3px solid rgba(255,255,255,.6);border-radius:24px;pointer-events:none}
.scan-result h3{margin:10px 0}
.admin-grid-6{grid-template-columns:repeat(6,1fr)}
.wrap-actions{display:flex;flex-wrap:wrap;gap:8px}
.slim-input{width:160px;padding:10px 12px;border-radius:12px}
.full-width-form{width:100%}
.stacked-mini{display:grid;gap:8px}
.compact-actions{align-items:center}
.mt-12{margin-top:12px}

@media (max-width: 1180px){
  .admin-grid-6{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 980px){
  .auth-split,.checkout-grid,.scanner-grid,.two-col-grid,.admin-grid-6{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  .auth-split,.checkout-grid,.scanner-grid,.two-col-grid,.admin-grid-6{grid-template-columns:1fr}
  .checkout-summary{position:static}
  .scanner-overlay{inset:38px 28px auto 28px;height:200px}
}

.footer-grid-4{grid-template-columns:1.5fr 1fr 1fr 1.2fr}
.soft-sep{border:none;border-top:1px solid #e4eef8;margin:18px 0}
.partner-card form,.offer-card form{display:inline-flex}
.partner-card > a{display:block}
@media (max-width:980px){.footer-grid-4{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.footer-grid-4{grid-template-columns:1fr}}


.menu-toggle{display:none;width:46px;height:46px;border:none;border-radius:14px;background:#eef7ff;align-items:center;justify-content:center;gap:4px;flex-direction:column;cursor:pointer}
.menu-toggle span{display:block;width:6px;height:6px;background:var(--blue-dark);border-radius:50%}
.drawer-shell{position:fixed;inset:0;z-index:120;pointer-events:none}
.drawer-backdrop{position:absolute;inset:0;border:none;background:rgba(7,22,38,.36);opacity:0;transition:.25s}
.drawer-panel{position:absolute;top:0;right:0;width:min(86vw,360px);height:100%;background:rgba(255,255,255,.98);box-shadow:-18px 0 50px rgba(10,40,67,.16);padding:18px;transform:translateX(110%);transition:.25s;border-radius:28px 0 0 28px;display:grid;grid-template-rows:auto 1fr auto;gap:16px}
.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.drawer-close{width:42px;height:42px;border:none;border-radius:14px;background:#eef7ff;color:var(--blue-dark);font-size:1.6rem;cursor:pointer}
.drawer-links{display:grid;gap:10px;align-content:start}
.drawer-links a{padding:14px 16px;border-radius:16px;color:var(--blue-dark);font-weight:800;background:#fff;border:1px solid #e7f2fe}
.drawer-links a.active,.drawer-links a:hover{background:#eef7ff}
.drawer-actions{display:grid;gap:10px}
.full-btn{width:100%}
body.drawer-open{overflow:hidden}
body.drawer-open .drawer-shell{pointer-events:auto}
body.drawer-open .drawer-backdrop{opacity:1}
body.drawer-open .drawer-panel{transform:translateX(0)}
.menu-product{display:flex;gap:14px;align-items:center}
.menu-thumb,.offer-thumb{width:78px;height:78px;border-radius:18px;object-fit:cover;background:#eef7ff;flex:0 0 78px}
.contract-sheet{background:#fff;border:1px solid #e3eef9;border-radius:22px;padding:18px;display:grid;gap:14px}
.contract-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.contract-summary div{padding:12px 14px;border-radius:16px;background:#f7fbff;border:1px solid #e1eefb}
.contract-body{white-space:pre-line;line-height:2;color:var(--text);background:#fcfeff;border:1px solid #ecf4fd;border-radius:18px;padding:16px}
.metrics-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kpi-card{padding:18px;border-radius:20px;background:#fff;border:1px solid #edf5ff;box-shadow:var(--shadow)}
.kpi-card .label{color:var(--muted);font-weight:700}
.kpi-card .value{font-size:1.7rem;font-weight:800;color:var(--blue-dark);display:block;margin-top:8px}
.qr-preview{object-fit:contain}
.qr-preview.is-broken{padding:16px;display:grid;place-items:center;color:var(--muted);font-size:.92rem;text-align:center}
@media (max-width:980px){
  .menu-toggle{display:inline-flex}
  .desktop-nav,.desktop-actions{display:none!important}
  .nav-wrap{justify-content:space-between}
  .brand{margin-inline-start:auto}
}
@media (min-width:981px){
  .drawer-shell{display:none}
}
@media (max-width:640px){
  .site-header{margin:0 auto 10px;border-radius:0;width:100%}
  .nav-wrap{padding:14px 12px}
  .brand-mark{width:50px;height:50px}
  .drawer-panel{width:min(88vw,340px);padding:16px}
  .contract-summary,.metrics-grid-4{grid-template-columns:1fr 1fr}
}

.admin-selector-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.selector-card{padding:18px;border-radius:22px;background:#fff;border:1px solid #edf5ff;box-shadow:var(--shadow)}
.selector-summary{display:grid;gap:10px;margin-top:14px}
.selector-summary div{padding:12px 14px;border-radius:16px;background:#f7fbff;border:1px solid #e1eefb}
.contract-summary-2{grid-template-columns:1fr 1fr}
.contract-summary-3{grid-template-columns:repeat(3,1fr)}
.contract-page-sheet{max-width:920px;margin:auto}
.contract-link-btn{width:fit-content}
@media (min-width:981px){.menu-toggle,.drawer-shell,.drawer-shell *{display:none!important;visibility:hidden!important}}
@media (max-width:640px){.admin-selector-grid,.contract-summary-2,.contract-summary-3{grid-template-columns:1fr}.drawer-close{font-size:1.2rem}}


@media (max-width:640px){
  .member-card.big-card{min-height:240px;padding:20px 18px 78px}
  .card-visual-row{gap:14px}
  .card-qr-block{width:90px;flex-basis:90px}
  .qr-preview.card-qr{width:82px;height:82px;padding:5px}
  .card-refresh-btn{padding:9px 10px;font-size:.82rem}
}

.session-menu-grid{grid-template-columns:repeat(3,1fr)}
.menu-order-card{display:grid;gap:12px;align-content:start}
.menu-order-top{display:flex;justify-content:space-between;gap:12px;align-items:start}
.price-pill{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:#eef7ff;color:var(--blue-dark);font-weight:800;white-space:nowrap}
.compact-box{padding:10px 12px;font-size:.92rem}
.permit-card{border:1px solid #e4eef9;padding:24px;border-radius:26px;box-shadow:var(--shadow)}
.permit-free{background:linear-gradient(135deg,rgba(97,185,255,.14),#fff)}
.permit-vip{background:linear-gradient(135deg,rgba(13,33,59,.96),rgba(200,160,62,.72));color:#fff}
.permit-vip h2,.permit-vip p,.permit-vip .notice-box,.permit-vip .tag{color:inherit}
.permit-card-head{display:flex;justify-content:space-between;gap:18px;align-items:start}
.permit-codes{display:grid;gap:8px;text-align:center;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.16);min-width:140px}
.permit-free .permit-codes{background:#f3f9ff}
.mono-line{direction:ltr;text-align:left;font-family:monospace;word-break:break-all}
.mini-qr-row{display:flex;gap:12px;align-items:center;justify-content:space-between}
.mini-qr{width:86px;height:86px;border-radius:16px;background:#fff;padding:6px;border:1px solid #e7eef9;object-fit:contain}
@media (max-width:980px){.session-menu-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.session-menu-grid{grid-template-columns:1fr}.permit-card-head{flex-direction:column}.permit-codes{width:100%}.mini-qr-row{align-items:flex-start;flex-direction:column}}


.access-card-grid{display:grid;gap:14px}
.access-card{display:grid;grid-template-columns:130px 1fr;gap:16px;align-items:center;padding:16px;border:1px solid #e6f0fb;border-radius:22px;background:linear-gradient(180deg,#ffffff,#f8fbff);box-shadow:0 10px 28px rgba(16,50,79,.06)}
.access-card-qr{display:grid;gap:10px;justify-items:center;padding:14px;border-radius:20px;background:#f5faff;border:1px solid #e2effc}
.access-card-qr .mini-qr{width:102px;height:102px;padding:7px;border-radius:18px}
.access-card-type{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#eef7ff;color:var(--blue-dark);font-weight:800;font-size:.84rem}
.access-card-meta{display:grid;gap:10px;min-width:0}
.access-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.access-card-head h3{font-size:1.2rem;margin:0}
.access-card-head p{margin:4px 0 0;color:var(--muted)}
.access-card-badges{display:flex;gap:8px;flex-wrap:wrap}
.access-note{padding:10px 12px;border-radius:14px;background:#f7fbff;border:1px dashed #d7e8fa;color:var(--muted)}
.access-code-line,.access-url-line{padding:11px 12px;border-radius:14px;background:#fff;border:1px solid #e6f0fb;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.access-code-line strong,.access-url-line strong{color:var(--muted);font-size:.92rem}
.access-code-value{font-family:monospace;font-weight:800;direction:ltr;text-align:left;word-break:break-all;color:var(--blue-dark)}
.access-url-value{font-family:monospace;font-size:.88rem;direction:ltr;text-align:left;word-break:break-all;color:#3b5872;flex:1;min-width:0}
.access-card-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn-soft{background:#eef7ff;color:var(--blue-dark);border:1px solid #d7eafb}
.label-print-shell{max-width:860px;margin:auto;display:grid;gap:18px}
.label-print-card{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center;padding:24px;border-radius:28px;background:#fff;border:1px solid #e6f0fb;box-shadow:var(--shadow)}
.label-print-qr{padding:16px;border-radius:24px;background:#f5faff;border:1px solid #e2effc;display:grid;justify-items:center;gap:12px}
.label-print-qr img{width:148px;height:148px;border-radius:18px;background:#fff;padding:8px;border:1px solid #e7eef9}
.label-print-body{display:grid;gap:12px}
.label-print-body h1{font-size:2rem;margin:0}
.label-print-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.label-print-meta div{padding:12px 14px;border-radius:16px;background:#f7fbff;border:1px solid #e1eefb}
.label-print-note{padding:14px 16px;border-radius:18px;background:#fff9eb;border:1px solid #f0deb1;color:#7d5e08}
@media (max-width:980px){.access-card{grid-template-columns:120px 1fr}.label-print-card{grid-template-columns:1fr}.label-print-meta{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.access-card{grid-template-columns:1fr}.access-card-qr{order:-1}.access-card-qr .mini-qr{width:112px;height:112px}.access-code-line,.access-url-line{display:grid;justify-content:stretch}.access-card-actions .btn{width:100%}.label-print-meta{grid-template-columns:1fr}}
@media print{.site-header,.site-footer,.hero-actions,.page-head p,.flash-wrap,.label-print-actions{display:none!important}body{background:#fff}.container{width:100%;max-width:none}.label-print-card{box-shadow:none;border:1px solid #d9e6f5;break-inside:avoid}}


.service-flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.service-step{padding:22px;border-radius:24px}
.step-no{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--blue),#8fd2ff);color:#fff;font-weight:800;margin-bottom:12px}
.settings-stack{display:grid;gap:16px}
.settings-group{padding:16px;border-radius:20px;background:#f8fbff;border:1px solid #e1eefb;display:grid;gap:12px}
.settings-group h3{font-size:1.1rem}
.settings-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.settings-note{padding:12px 14px;border-radius:16px;background:#fff;border:1px dashed #d9e9f8;color:var(--muted)}
.menu-layout-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.order-summary-box{position:sticky;top:96px;display:grid;gap:14px}
.summary-kpis{display:grid;gap:10px}
.summary-kpis div{padding:12px 14px;border-radius:16px;background:#f7fbff;border:1px solid #e1eefb;display:flex;align-items:center;justify-content:space-between;gap:10px}
.summary-kpis span{color:var(--muted);font-weight:700}
.summary-kpis strong{font-size:1.05rem;color:var(--blue-dark)}
.summary-selected{padding:14px 16px;border-radius:18px;background:#fff;border:1px solid #e4eef9;min-height:120px;color:var(--muted);line-height:1.9}
.qty-wrap{display:grid;gap:8px;margin-top:auto}
.qty-stepper{display:grid;grid-template-columns:44px 1fr 44px;gap:8px;align-items:center}
.qty-btn{height:48px;border:none;border-radius:14px;background:#eef7ff;color:var(--blue-dark);font-size:1.4rem;font-weight:800;cursor:pointer}
.qty-input{text-align:center;font-weight:800}
.product-card{height:100%}
.site-footer small{display:block;color:#a9c8df;margin-top:8px}

@media (max-width:1180px){.service-flow-grid{grid-template-columns:repeat(2,1fr)}.menu-layout-grid{grid-template-columns:1fr 320px}}
@media (max-width:980px){.menu-layout-grid,.settings-grid-2{grid-template-columns:1fr}.order-summary-box{position:static}.service-flow-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.service-flow-grid{grid-template-columns:1fr}.summary-selected{min-height:90px}.qty-stepper{grid-template-columns:42px 1fr 42px}}

.warning-box{background:#fff8ec;border:1px solid #f2d19d;color:#7a5418;padding:14px 16px;border-radius:18px}
.button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.panel-subtle{padding:14px 16px;border-radius:18px;background:#fbfdff;border:1px solid #e6f0fb}
.contract-editor-area{min-height:420px;line-height:1.9}
.contract-duration-grid{grid-template-columns:repeat(3,1fr)}
.toggle-line{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:16px;background:#f8fbff;border:1px solid #e1eefb;min-height:54px}
@media print{header.site-header,footer.site-footer,.flash-wrap,.page-head,.button-row form,.btn,.drawer-shell{display:none !important}main{padding:0}body{background:#fff}.contract-sheet{box-shadow:none;border:0}.container{max-width:none;width:100%;padding:0 12px}}
@media (max-width:780px){.contract-duration-grid{grid-template-columns:1fr}.button-row{flex-direction:column;align-items:stretch}}


.dashboard-shell{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:18px;align-items:start}
.dashboard-sidebar{position:sticky;top:96px;padding:16px;display:grid;gap:10px;max-width:100%}
.dashboard-sidebar h3{margin:0 0 4px;font-size:1rem;color:var(--text)}
.dashboard-sidebar p{margin:0 0 8px;color:var(--muted);font-size:.92rem}
.dashboard-nav{display:grid;gap:8px}
.dashboard-nav-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;border-radius:14px;border:1px solid #d8e8f9;background:#fff;color:var(--text);font-weight:700;cursor:pointer;text-decoration:none}
.dashboard-nav-btn.active{background:linear-gradient(135deg,var(--blue),#449fe6);color:#fff;border-color:transparent;box-shadow:0 12px 30px rgba(68,159,230,.18)}
.dashboard-main{display:grid;gap:18px;min-width:0}
.dashboard-panel{display:none !important}
.dashboard-panel.is-visible{display:block !important}
.dashboard-shell .dashboard-grid,.dashboard-shell .section-space{margin:0}
.panel-stack{display:grid;gap:18px}
.responsive-dual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.panel-header-note{margin:-4px 0 10px;color:var(--muted);font-size:.92rem}
.table-wrap.compact-table{padding:8px 14px}
.contract-brand-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 12px;margin-bottom:4px;border-bottom:1px solid #e7eff8}
.contract-brand-header .brand-text{display:grid;gap:2px}
.contract-brand-header strong{font-size:1.25rem}
.contract-brand-header small{color:var(--muted)}
.contract-sheet .button-row .btn-print{display:none}
@media (max-width:980px){.dashboard-shell{grid-template-columns:1fr}.dashboard-main{order:1}.dashboard-sidebar{order:2;position:static;top:auto}.dashboard-nav{grid-template-columns:1fr 1fr}.responsive-dual{grid-template-columns:1fr}}
@media (max-width:640px){.dashboard-nav{grid-template-columns:1fr}.contract-brand-header{flex-direction:column;align-items:flex-start}.panel,.table-wrap,.offer-card,.partner-card,.promo-card,.price-card,.menu-card,.loyalty-box,.partner-hero,.auth-card,.filters-bar{padding:16px}.dashboard-sidebar{padding:14px}.data-table{min-width:540px}.table-wrap.compact-table{padding:6px 10px}}
@media print{.dashboard-sidebar{display:none !important}.contract-brand-header{padding-bottom:14px;margin-bottom:10px}}

.dashboard-empty-state{min-height:140px;display:grid;place-items:center;text-align:center}
.dashboard-empty-state h2{margin:0;font-size:1.4rem}
.contract-screen-only{display:block}
.no-print{display:inline-flex}
@media print{.no-print,.contract-screen-only,.btn,.button-row,.nav-wrap,.site-header,.site-footer{display:none !important}.contract-brand-header{display:flex !important}.contract-sheet{margin:0 auto !important}.contract-sheet a{display:none !important}}

/* V14 bank cards */
.card-page-head{padding-bottom:10px}
.card-page-head p{display:block;max-width:760px;color:var(--muted);font-weight:600}
.bank-cards-grid,.bank-plans-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.bank-plans-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.card-stage{position:relative;min-height:320px;padding:26px;border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(245,250,255,.96));border:1px solid rgba(174,207,238,.48);display:grid;place-items:center;overflow:hidden}
.card-stage::before{content:"";position:absolute;inset:18px;border-radius:26px;border:1px dashed rgba(149,186,223,.38);pointer-events:none}
.card-stage--plan{min-height:300px;padding:20px 22px 26px}
.sw-bank-card{position:relative;width:min(100%,390px);aspect-ratio:1.586 / 1;border-radius:28px;padding:18px 18px 16px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.16);box-shadow:0 28px 60px rgba(13,39,67,.22), inset 0 1px 0 rgba(255,255,255,.22);overflow:hidden;display:grid;grid-template-columns:80px 1fr 60px;grid-template-rows:auto auto auto 1fr auto;gap:6px;isolation:isolate}
.sw-bank-card::before{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(255,255,255,.16),transparent 35%,transparent 70%,rgba(255,255,255,.12));z-index:-1}
.sw-bank-card::after{content:"";position:absolute;left:-16%;bottom:-34%;width:72%;height:72%;background:radial-gradient(circle at center,rgba(255,255,255,.14),transparent 68%);z-index:-1}
.palette-sky{background:linear-gradient(135deg,#66c5ff 0%,#3aa1ef 52%,#235e9b 110%)}
.palette-cyan{background:linear-gradient(135deg,#88dcff 0%,#47b2ff 40%,#236db4 100%)}
.palette-emerald{background:linear-gradient(135deg,#d7ece0 0%,#0d8c47 36%,#065c2e 76%,#01361b 100%)}
.palette-crimson{background:linear-gradient(135deg,#d45a34 0%,#b0004c 46%,#6e003e 100%)}
.palette-obsidian{background:linear-gradient(135deg,#111b27 0%,#24374d 52%,#957323 100%)}
.palette-plum{background:linear-gradient(135deg,#4f1d57 0%,#7f2e71 42%,#d7a44d 100%)}
.palette-rose{background:linear-gradient(135deg,#ff69b4 0%,#ff1493 40%,#c71585 70%,#8b008b 100%); box-shadow: 0 15px 35px rgba(199, 21, 133, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.3); border: 1px solid rgba(255, 105, 180, 0.3); position: relative;}
.palette-rose::after { content: ""; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient(45deg, transparent 45%, rgba(255, 255, 255, 0.1) 48%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0.1) 52%, transparent 55%); animation: sw-shine 4s infinite; z-index: 1; pointer-events: none; }
.palette-gold{background:linear-gradient(135deg, #f1c40f 0%, #d4af37 40%, #b8860b 70%, #8b6508 100%); box-shadow: 0 15px 35px rgba(184, 134, 11, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.4); border: 1px solid rgba(255, 215, 0, 0.3); position: relative;}
.palette-gold::after { content: ""; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient(45deg, transparent 45%, rgba(255, 255, 255, 0.1) 48%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.1) 52%, transparent 55%); animation: sw-shine 4s infinite; z-index: 1; pointer-events: none; }
@keyframes sw-shine { 0% { transform: translateX(-100%) translateY(-100%); } 20% { transform: translateX(100%) translateY(100%); } 100% { transform: translateX(100%) translateY(100%); } }
.sw-card-topline{grid-column:1 / -1;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.sw-card-brand{font-size:.95rem;font-weight:900;letter-spacing:.3px}
.sw-card-tier{display:inline-flex;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);font-size:.72rem;font-weight:800}
.sw-card-chip{grid-column:3;grid-row:2;width:54px;height:38px;border-radius:11px;background:linear-gradient(135deg,#ebe7df,#c8c0b7);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 20px rgba(0,0,0,.18);position:relative;justify-self:end;align-self:start;margin-top:4px}
.sw-card-chip::before,.sw-card-chip::after{content:"";position:absolute;background:rgba(120,120,120,.35)}
.sw-card-chip::before{top:7px;bottom:7px;left:18px;width:1px}
.sw-card-chip::after{left:7px;right:7px;top:18px;height:1px}
.sw-card-wave{position:absolute;inset:0;background:linear-gradient(115deg,transparent 18%,rgba(255,255,255,.08) 24%,transparent 32%,transparent 46%,rgba(255,255,255,.06) 54%,transparent 62%);mix-blend-mode:screen;pointer-events:none}
.sw-card-qr{grid-column:1;grid-row:2 / span 2;width:78px;height:78px;padding:7px;border-radius:14px;background:#fff;justify-self:start;align-self:start;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.sw-card-number-wrap{grid-column:1 / -1;display:flex;gap:8px;align-items:center;flex-wrap:nowrap;font-size:.78rem;font-weight:900;letter-spacing:.10em;direction:ltr;margin-top:-2px;min-height:18px}
.sw-card-number-wrap span{white-space:nowrap}
.sw-card-benefits{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:4px 6px;align-content:start;margin-top:-2px}
.sw-card-benefits span{display:flex;align-items:center;justify-content:center;text-align:center;padding:3px 6px;min-height:22px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.16);font-size:.52rem;font-weight:800;line-height:1.1}
.sw-card-meta{grid-column:1 / -1;display:flex;justify-content:space-between;gap:12px;align-items:end;margin-top:auto}
.sw-card-meta div{display:grid;gap:1px}
.sw-card-meta strong{font-size:.82rem;font-weight:900}
.sw-card-meta small{font-size:.64rem;color:rgba(255,255,255,.82)}
.card-stage--plan .sw-card-meta{gap:8px}
.card-stage--plan .sw-card-meta strong{font-size:.68rem}
.card-stage--plan .sw-card-meta small{font-size:.52rem}
.sw-card-orbs{grid-column:3;grid-row:3;justify-self:end;align-self:start;display:flex;align-items:center;margin-top:2px}
.sw-card-orbs span{width:16px;height:16px;border-radius:50%;display:block;opacity:.96;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.sw-card-orbs span:first-child{background:#ff7a18;transform:translateX(6px)}
.sw-card-orbs span:last-child{background:#ff4c49;mix-blend-mode:screen}
.sw-bank-card.tilt-right,.tilt-right .sw-bank-card{transform:rotate(9deg)}
.sw-bank-card.tilt-left,.tilt-left .sw-bank-card{transform:rotate(-9deg)}
.sw-bank-card.tilt-right-soft,.tilt-right-soft .sw-bank-card{transform:rotate(6deg)}
.sw-bank-card.tilt-left-soft,.tilt-left-soft .sw-bank-card{transform:rotate(-6deg)}
.bank-plan-card{padding:20px;border-radius:28px;display:grid;gap:18px}
.bank-plan-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.bank-plan-price{font-size:1.5rem;font-weight:900;color:var(--blue-dark)}
.bank-plan-price small{font-size:.9rem;color:var(--muted)}
.gift-plan-card .btn-outline{font-weight:900}
.card-stage--plan .sw-bank-card{width:min(100%,320px);padding:15px 15px 13px;grid-template-columns:74px 1fr 52px;gap:6px;border-radius:24px}
.card-stage--plan .sw-card-brand{font-size:.84rem}
.card-stage--plan .sw-card-tier{font-size:.60rem;padding:5px 9px}
.card-stage--plan .sw-card-chip{width:44px;height:31px;border-radius:10px}
.card-stage--plan .sw-card-qr{width:64px;height:64px;padding:5px;border-radius:12px}
.card-stage--plan .sw-card-number-wrap{gap:5px;font-size:.60rem;letter-spacing:.05em}
.card-stage--plan .sw-card-benefits{gap:5px 6px}
.card-stage--plan .sw-card-benefits span{font-size:.48rem;padding:3px 4px;min-height:20px;line-height:1.1}
.card-stage--plan .sw-card-meta strong{font-size:.70rem}
.card-stage--plan .sw-card-meta small{font-size:.54rem}
.card-stage--plan .sw-card-orbs span{width:14px;height:14px}
.gift-plan-actions{grid-template-columns:1fr;justify-items:stretch}
.gift-plan-caption{font-weight:800;color:var(--muted);text-align:center;margin-top:-8px}
.gift-purchase-form{display:grid;gap:10px;width:100%}
.gift-purchase-form .input{text-align:center}
.is-preview{opacity:.96}
.is-inactive{filter:saturate(.84) brightness(.96)}
@media (max-width: 1180px){
  .bank-plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 980px){
  .bank-cards-grid,.bank-plans-grid{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .card-stage{min-height:280px;padding:16px}
  .card-stage--plan{min-height:270px}
  .sw-bank-card{width:min(100%,340px);padding:15px 15px 13px;grid-template-columns:78px 1fr 54px;gap:7px;border-radius:24px}
  .sw-card-brand{font-size:.86rem}
  .sw-card-tier{font-size:.64rem;padding:5px 9px}
  .sw-card-chip{width:46px;height:33px}
  .sw-card-qr{width:68px;height:68px;padding:6px;border-radius:12px}
    .sw-card-number-wrap{gap:6px;font-size:.64rem;letter-spacing:.04em}
  .sw-card-benefits span{font-size:.52rem;padding:5px 6px;min-height:24px}
  .sw-card-meta strong{font-size:.74rem}
  .sw-card-meta small{font-size:.58rem}
  .sw-card-orbs span{width:14px;height:14px}
  .card-stage--plan .sw-bank-card{width:min(100%,300px);padding:13px 13px 11px;grid-template-columns:68px 1fr 48px}
  .card-stage--plan .sw-card-tier{font-size:.56rem;padding:4px 8px}
  .card-stage--plan .sw-card-qr{width:58px;height:58px}
  .card-stage--plan .sw-card-number-wrap{font-size:.54rem;gap:4px}
  .card-stage--plan .sw-card-benefits span{font-size:.44rem;padding:4px 4px;min-height:20px}
  .bank-plan-actions{justify-content:center}
  .bank-plan-price{text-align:center;width:100%}
}

/* Gift Ribbon Styles */
.gift-stage .sw-bank-card, .gift-plan-card .sw-bank-card { position: relative; }
.gift-stage .sw-bank-card::before, .gift-plan-card .sw-bank-card::before { 
  content: "🎁"; 
  position: absolute; 
  top: 5px; 
  right: 5px; 
  font-size: 1.8rem; 
  z-index: 20; 
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3)); 
  opacity: 0.9; 
  pointer-events: none;
}

/* V17 responsive refinements */
.panel-stack > .panel,.panel-stack > .table-wrap{width:100%;min-width:0}
.table-wrap{max-width:100%}
.invoice-review-stack{display:grid;gap:10px;min-width:260px}
.compact-form .input{min-width:220px}
.small-note{font-size:.85rem;line-height:1.7}
.status.frozen{background:#fff3d9;color:#8a5a00;border:1px solid #e8c889}
@media (max-width:980px){
  .dashboard-shell{gap:14px}
  .dashboard-grid.admin-grid-6{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .dashboard-grid.admin-grid-6{grid-template-columns:1fr}
  .invoice-review-stack{min-width:0}
  .compact-form .input{min-width:0;width:100%}
  .button-row .btn{width:100%;justify-content:center}
}

.finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.inventory-list .stacked-mini{display:block}
.inventory-edit-card{padding:14px 0;background:transparent;border:0}
.status.partial,.status.settlement_review{background:#eef7ff;color:#0d5aa7;border:1px solid #cfe5ff}
@media (max-width:640px){.finance-summary-grid{grid-template-columns:1fr}}
