*{box-sizing:border-box}body{margin:0;font-family:var(--font-family);font-size:var(--base-font-size);background:#f6f7fb;color:#111827}a{text-decoration:none;color:inherit}.topbar{height:76px;background:white;border-bottom:1px solid #e5e7eb;padding:10px 5.5%;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}.brand{display:flex;gap:12px;align-items:center}.logo{width:52px;height:52px;border-radius:16px;background:var(--brand);color:white;font-size:30px;font-weight:900;display:flex;align-items:center;justify-content:center;overflow:hidden}.logo img{width:100%;height:100%;object-fit:contain;background:white;padding:3px}.brand .brand-name{display:block;font-size:22px;line-height:1.2;margin:0;font-weight:900}.brand p{font-size:13px;margin:1px 0;color:#64748b}nav{display:flex;gap:9px;align-items:center;flex-wrap:wrap}nav a{font-weight:800;font-size:14px;padding:8px 10px;border-radius:10px}.submit-link{background:var(--brand);color:white}.hero-small{background:linear-gradient(135deg,var(--brand),#8c004e);color:white;padding:28px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.badge{background:rgba(255,255,255,.17);padding:7px 12px;border-radius:999px;font-size:14px;font-weight:800;display:inline-block;margin-bottom:8px}.hero-small h1{font-size:var(--heading-font-size);line-height:1.05;margin:0 0 6px}.hero-small p{margin:0;color:#ffe6f3;font-size:18px}.hero-actions{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:18px;padding:16px 34px;text-align:center}.hero-actions strong{font-size:38px;display:block}.dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px 5.5%}.dashboard div{background:white;border:1px solid #e5e7eb;border-radius:16px;padding:16px;text-align:center;box-shadow:0 6px 16px rgba(15,23,42,.05)}.dashboard strong{font-size:26px;color:var(--brand);display:block}.dashboard span{font-size:13px;font-weight:800;color:#64748b}.search-panel{padding:0 5.5% 12px}.search-panel form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:9px;background:white;border:1px solid #e5e7eb;border-radius:16px;padding:10px}input,select,textarea{width:100%;border:1px solid #e5e7eb;border-radius:10px;padding:10px;font-size:14px}button,.details-btn,.link-btn{background:var(--brand);color:white;border:0;border-radius:10px;padding:11px 15px;font-weight:900;display:inline-block;cursor:pointer}.section-title{padding:8px 5.5% 0}.section-title h2{font-size:26px;margin:0}.section-title p{margin:4px 0;color:#64748b;font-size:15px}.discount-grid{padding:16px 5.5% 35px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}.discount-card{background:white;border:1px solid #e5e7eb;border-radius:18px;padding:18px;box-shadow:0 8px 22px rgba(15,23,42,.06);min-height:260px}.card-top{display:flex;gap:14px;align-items:flex-start}.shop-logo{width:82px;height:82px;min-width:82px;border-radius:17px;background:#fff0f8;border:1px solid #ffd0e8;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--brand);font-size:34px;font-weight:900}.shop-logo img{width:100%;height:100%;object-fit:contain;padding:2px}.shop-title{font-size:24px;font-weight:950}.address{font-size:15px;color:#475569;margin:5px 0;line-height:1.35}.rating-line{font-weight:800;color:#f59e0b;margin:4px 0;font-size:13px}.offer-box{margin:14px 0;background:#fff0f8;border:1px solid #ffd0e8;border-radius:14px;padding:12px}.offer-box span{display:block;font-size:13px;font-weight:800;color:#64748b}.offer-box strong{font-size:28px;color:var(--brand)}.discount-title{font-weight:850;margin:8px 0}.meta{display:flex;justify-content:space-between;color:#64748b;font-size:13px;font-weight:800;margin:10px 0 14px;gap:10px}.detail-page,.form-wrap,.success{padding:30px 5.5%}.detail-card,.form-wrap,.success{background:white;border:1px solid #e5e7eb;border-radius:20px;max-width:1180px;margin:auto;padding:24px;box-shadow:0 8px 22px rgba(15,23,42,.06)}.detail-top{display:flex;gap:18px;align-items:center;margin-bottom:20px}.detail-logo{width:96px;height:96px;border-radius:20px;background:#fff0f8;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--brand);font-size:42px;font-weight:900}.detail-logo img{width:100%;height:100%;object-fit:contain;padding:4px}.offer-list{display:grid;gap:12px}.offer-row{background:#fff0f8;border:1px solid #ffd0e8;border-radius:14px;padding:14px}.offer-row strong{font-size:24px;color:var(--brand);display:block}table{width:100%;border-collapse:collapse;margin-top:12px}th,td{border:1px solid #e5e7eb;padding:10px;text-align:left;vertical-align:top}th{background:#fff0f8;color:var(--brand)}.tc-details{margin-top:10px;background:#fff;border:1px solid #ffd0e8;border-radius:10px;padding:10px;font-size:13px}.tc-details summary{font-weight:900;color:var(--brand);cursor:pointer}.rating-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:16px;margin:16px 0}.pagination-wrap{padding:0 5.5% 40px;display:flex;justify-content:flex-end}.pagination{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pagination a,.pagination span{background:white;border:1px solid #e5e7eb;border-radius:10px;padding:10px 14px;font-weight:800}.pagination a{color:var(--brand)}.pagination .current{background:var(--brand);color:white;border-color:var(--brand)}footer{text-align:center;background:#0f172a;color:white;padding:18px;font-size:13px}@media(max-width:1200px){.discount-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:1000px){.search-panel form{grid-template-columns:1fr 1fr}.dashboard{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.discount-grid{grid-template-columns:1fr}.search-panel form{grid-template-columns:1fr}.topbar{height:auto;align-items:flex-start;flex-direction:column}.hero-small{display:block}}.notice-marquee{display:flex;align-items:center;gap:12px;background:#fff7ed;border-bottom:1px solid #fed7aa;padding:8px 5.5%;font-weight:800;color:#7c2d12}.notice-marquee span{background:var(--brand);color:#fff;border-radius:999px;padding:6px 12px;white-space:nowrap}.notice-marquee marquee{flex:1}.notice-marquee a{color:var(--brand)}.public-counter{font-size:12px;font-weight:800;color:#64748b;margin:4px 0}.public-counter.large{font-size:14px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:8px;display:inline-block}.contact-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.phone-link{font-weight:900;color:var(--brand)}.mini-btn{background:#0f172a;color:white;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900}.last-rating{margin-top:24px}.message-box{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;border-radius:12px;padding:10px;margin-bottom:12px;font-weight:800}@keyframes liveOfferBlink{0%,100%{box-shadow:0 0 0 rgba(0,0,0,0);transform:scale(1)}50%{background:var(--blink-color);color:#111827;box-shadow:0 0 0 8px rgba(255,221,0,.18);transform:scale(1.03)}}.blink-offer{animation:liveOfferBlink 1.1s infinite;border-color:rgba(255,255,255,.7)}.blink-offer-light{animation:liveOfferBlink 1.3s infinite}.report-filter{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:14px 0 18px}.report-filter label{display:flex;flex-direction:column;gap:4px;font-weight:700}.report-filter input,.report-filter select{min-width:170px}@media(max-width:700px){.notice-marquee{padding:8px 3%;gap:6px}.notice-marquee span{font-size:12px}.contact-actions{display:block}.mini-btn{display:inline-block;margin-top:5px}}
.shop-card-info,.detail-info{flex:1;min-width:0}.rating-counter-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0}.rating-counter-row .rating-line,.rating-counter-row .public-counter{margin:0}.detail-rating-counter{margin:10px 0 12px}.live-offer-count strong,.live-offer-count span{position:relative;z-index:1}.blink-offer,.blink-offer-light{animation:liveOfferBlink 1s ease-in-out infinite !important;}.blink-offer strong,.blink-offer-light strong{color:var(--brand)}@keyframes liveOfferBlink{0%,100%{background:rgba(255,255,255,.15);box-shadow:0 0 0 0 rgba(0,0,0,0);transform:scale(1)}50%{background:var(--blink-color)!important;color:#111827!important;box-shadow:0 0 0 8px rgba(255,221,0,.22);transform:scale(1.035)}}

/* Patch 06: visitor login form visibility */
.visitor-login-card{max-width:520px;margin:40px auto;padding:28px;}
.visitor-login-form{display:block;}
.visitor-login-form .form-row{margin-bottom:16px;}
.visitor-login-form label{display:block;font-weight:700;margin-bottom:7px;color:#0f172a;}
.visitor-login-form input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:12px 14px;font-size:15px;background:#fff;}
.visitor-login-form input:focus{outline:2px solid rgba(209,0,116,.15);border-color:var(--brand);}
.primary-btn{background:var(--brand);color:#fff;border:none;border-radius:10px;padding:12px 22px;font-weight:800;cursor:pointer;}
.primary-btn:hover{filter:brightness(.95);}
.form-help{margin-top:14px;}
.message-box{margin-bottom:14px;}
.message{padding:10px 12px;border-radius:10px;background:#fee2e2;color:#991b1b;font-weight:700;}
.message.success{background:#dcfce7;color:#166534;}

/* Patch 08 - profile, points, notifications, coupon */
.dashboard-head{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.secondary{background:#64748b!important}.table-wrap{overflow-x:auto}.activity-details{margin-top:24px;border:1px solid #e5e7eb;border-radius:14px;padding:14px;background:#f8fafc}.activity-details summary{font-weight:800;cursor:pointer;color:var(--brand)}.coupon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.coupon-card{border:2px dashed var(--brand);border-radius:18px;padding:16px;background:#fff7fb;display:flex;flex-direction:column;gap:6px}.coupon-card strong{font-size:24px;color:var(--brand);letter-spacing:1px}.coupon-card em{font-style:normal;font-weight:800}.notification-panel,.public-notifications{background:#eef6ff;border:1px solid #bfdbfe;border-radius:14px;padding:12px 16px;margin:12px 32px}.public-notifications{display:flex;gap:10px;flex-wrap:wrap}.public-notifications a{background:#fff;color:#1d4ed8;text-decoration:none;padding:6px 10px;border-radius:999px;font-weight:700}.notice-all{margin-left:12px;color:inherit;font-weight:800;text-decoration:underline}.notice-card{border:1px solid #e5e7eb;border-radius:16px;padding:16px;margin:12px 0;background:#fff}.coupon-btn{background:#16a34a!important}.form-card input,.form-card textarea,.form-card select{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:10px}.form-card label{font-weight:700}.form-card button{background:var(--brand);color:#fff;border:0;border-radius:10px;padding:10px 18px;font-weight:800}

/* Patch 09 - Professional notification and coupon UI */
.notif-menu{position:relative;display:inline-flex;align-items:center}
.notif-icon{position:relative;display:inline-flex!important;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;text-decoration:none!important;font-size:18px;line-height:1}
.notif-icon span{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--brand);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.notif-dropdown{display:none;position:absolute;right:0;top:44px;width:320px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 18px 40px rgba(15,23,42,.16);border-radius:16px;padding:8px;z-index:1000}
.notif-menu:hover .notif-dropdown{display:block}
.notif-dropdown a{display:block!important;padding:10px 12px;border-radius:12px;color:#0f172a!important;text-decoration:none!important;margin:0!important}
.notif-dropdown a:hover{background:#fdf2f8}
.notif-dropdown strong{display:block;color:var(--brand);font-size:14px}
.notif-dropdown small{display:block;color:#64748b;line-height:1.4;margin-top:3px}
.notif-dropdown .view-all{font-weight:800;text-align:center;color:var(--brand)!important;background:#f8fafc;margin-top:4px!important}
.page-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.notification-list{display:grid;gap:12px}
.notification-item{display:grid;grid-template-columns:46px 1fr;gap:12px;border:1px solid #e5e7eb;border-radius:16px;padding:14px;background:#fff;text-decoration:none;color:#0f172a;box-shadow:0 8px 18px rgba(15,23,42,.05)}
.notification-item:hover{border-color:var(--brand);box-shadow:0 12px 26px rgba(15,23,42,.10)}
.notification-item.unread{background:#fff7fb;border-color:#f9a8d4}
.notification-symbol{width:42px;height:42px;border-radius:14px;background:#fdf2f8;color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800}
.notification-item strong{color:#0f172a;font-size:16px}
.notification-item p{margin:4px 0;color:#475569}
.notification-item small{color:#64748b}
.status-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800}
.status-pill.success{background:#dcfce7;color:#166534}
.status-pill.muted{background:#f1f5f9;color:#475569}
.professional-coupon{padding:0!important;overflow:hidden;border:1px dashed var(--brand)!important;background:#fff!important;box-shadow:0 12px 28px rgba(15,23,42,.08)}
.coupon-top{display:flex;justify-content:space-between;gap:10px;background:linear-gradient(135deg,var(--brand),#9f0057);color:#fff;padding:12px 16px;font-weight:800}
.coupon-top strong{background:rgba(255,255,255,.18);padding:3px 9px;border-radius:999px;font-size:12px}
.coupon-code{font-size:26px;letter-spacing:2px;font-weight:900;padding:18px 16px;text-align:center;color:#0f172a;border-bottom:1px dashed #cbd5e1;background:#fff7fb}
.coupon-body{padding:14px 16px;color:#334155}
.coupon-body p{margin:6px 0;line-height:1.45}
.professional-coupon.used{opacity:.75;filter:grayscale(.3)}
@media (max-width:720px){.notif-dropdown{right:-90px;width:280px}.coupon-code{font-size:20px}.notification-item{grid-template-columns:38px 1fr}.notification-symbol{width:36px;height:36px}}

/* Patch 10 - professional submit form, pictorial homepage and coupons */
.submit-hero{margin:28px 5.5% 0;background:linear-gradient(135deg,var(--brand),#8a004d);color:#fff;border-radius:24px;padding:28px;display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:0 18px 40px rgba(15,23,42,.14)}
.submit-hero h2{font-size:34px;margin:10px 0}.submit-hero p{max-width:720px;line-height:1.55;margin:0}.submit-user-card{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);border-radius:18px;padding:16px 18px;min-width:260px}.submit-user-card span{display:block;opacity:.85;font-size:13px}.submit-user-card strong{display:block;font-size:16px;margin-top:5px}
.submit-discount-wrap{max-width:none;margin:24px 5.5% 40px}.professional-submit-form{display:grid;gap:18px}.form-block,.terms-card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:22px;box-shadow:0 10px 28px rgba(15,23,42,.06)}.block-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.block-heading>span{width:38px;height:38px;border-radius:14px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}.block-heading h3{margin:0;font-size:22px}.block-heading p{margin:4px 0 0;color:#64748b}.form-grid.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-row.full{grid-column:1/-1}.professional-submit-form label{display:block;font-weight:800;color:#0f172a;margin-bottom:7px}.professional-submit-form input,.professional-submit-form textarea,.professional-submit-form select{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:12px 14px;background:#fff;font-size:15px}.professional-submit-form input:focus,.professional-submit-form textarea:focus,.professional-submit-form select:focus{outline:3px solid rgba(209,0,116,.12);border-color:var(--brand)}.professional-submit-form small{display:block;color:#64748b;margin-top:5px}.terms-card{background:#fffbeb;border-color:#fde68a}.terms-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.terms-card-head span{background:#f59e0b;color:#fff;border-radius:999px;padding:7px 14px;font-weight:900}.terms-card-body{background:#fff;border:1px solid #fde68a;border-radius:14px;padding:14px;color:#713f12;line-height:1.55}.terms-check{display:flex!important;align-items:flex-start;gap:10px;margin-top:14px;background:#fff;border:1px solid #fcd34d;border-radius:14px;padding:12px 14px;cursor:pointer}.terms-check input{width:18px!important;height:18px!important;margin-top:2px;flex:none}.terms-check span{font-weight:900;color:#713f12}.submit-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.submit-actions button{background:#16a34a;color:#fff;border:0;border-radius:14px;padding:14px 22px;font-weight:900;font-size:15px;cursor:pointer}.submit-actions button:disabled{background:#94a3b8;cursor:not-allowed}.submit-actions p{color:#64748b;margin:0;max-width:680px}.pictorial-grid .discount-card{overflow:hidden}.pictorial-card{padding:0!important}.pictorial-card .card-top,.pictorial-card .offer-box,.pictorial-card .discount-title,.pictorial-card .meta,.pictorial-card .details-btn{margin-left:18px;margin-right:18px}.pictorial-card .details-btn{margin-bottom:18px}.pictorial-banner{height:155px;background:linear-gradient(135deg,#fdf2f8,#e0f2fe);display:flex;align-items:center;justify-content:center;border-bottom:1px solid #e5e7eb}.pictorial-banner img{width:100%;height:100%;object-fit:cover}.pictorial-fallback{font-size:30px;font-weight:900;color:var(--brand);padding:20px;text-align:center}.compact-grid .pictorial-banner{height:95px}.coupon-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:8px}.coupon-meta-grid div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:8px}.coupon-meta-grid span{display:block;font-size:11px;color:#64748b;text-transform:uppercase;font-weight:800}.coupon-meta-grid b{display:block;color:#0f172a;margin-top:3px}.coupon-expired{opacity:.68;filter:grayscale(.6)}
@media(max-width:800px){.submit-hero{display:block}.submit-user-card{margin-top:16px}.form-grid.two-col{grid-template-columns:1fr}.submit-hero h2{font-size:26px}}

/* Patch 11 professional payment/profile/submit UI */
.visitor-stat-panel{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:18px;max-width:1180px;margin:18px auto;padding:0 18px}.visitor-stat-panel>div{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px;text-align:center;box-shadow:0 10px 28px rgba(15,23,42,.06)}.visitor-stat-panel strong{display:block;font-size:28px;color:var(--theme-color,#d10074)}.visitor-stat-panel span{display:block;color:#64748b;font-weight:700}.submit-hero-card,.profile-hero-card{background:linear-gradient(135deg,rgba(209,0,116,.08),rgba(22,163,74,.08));border:1px solid #e5e7eb;border-radius:22px;padding:26px;display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:20px}.submit-hero-card h1,.profile-hero-card h1{margin:4px 0;font-size:30px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--theme-color,#d10074)}.submitter-badge{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:16px;min-width:260px}.professional-form{display:flex;flex-direction:column;gap:18px}.form-section-card,.terms-card{background:#fff;border:1px solid #dbe4ef;border-radius:18px;padding:22px;box-shadow:0 12px 30px rgba(15,23,42,.05)}.section-title-row{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}.section-title-row>span,.professional-terms .terms-icon{background:#16a34a;color:#fff;border-radius:12px;min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;font-weight:800}.section-title-row h2{margin:0;font-size:20px}.section-title-row p{margin:2px 0 0;color:#64748b}.form-grid{display:grid;gap:14px}.form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.field-wrap.full{grid-column:1/-1}.field-wrap label{display:block;font-weight:700;margin-bottom:6px}.field-wrap input,.field-wrap select,.field-wrap textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:11px;background:#fff}.professional-terms{display:flex;gap:16px;align-items:flex-start;background:#fffaf0;border-color:#fed7aa}.professional-terms h3{margin:0 0 6px}.terms-check-row{display:flex;align-items:center;gap:10px;margin-top:12px;font-weight:800}.terms-check-row input{width:18px;height:18px;flex:0 0 auto}.form-action-row{display:flex;gap:14px;align-items:center}.primary-action-btn,.secondary-action-link{border:0;border-radius:12px;padding:13px 18px;font-weight:800;text-decoration:none}.primary-action-btn{background:#16a34a;color:#fff}.secondary-action-link{background:#f1f5f9;color:#0f172a}.profile-avatar{width:84px;height:84px;border-radius:24px;background:#fce7f3;border:1px solid #f9a8d4;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:34px;font-weight:900;color:var(--theme-color,#d10074)}.profile-avatar.small{width:64px;height:64px;border-radius:18px}.profile-avatar img{width:100%;height:100%;object-fit:cover}.compact-profile{justify-content:flex-start}.dashboard-actions{margin-left:auto}.collapsible-profile-block summary{display:flex;gap:14px;align-items:flex-start;cursor:pointer}.collapsible-profile-block summary::marker{display:none}.collapsible-profile-block summary>span{background:#16a34a;color:#fff;border-radius:12px;min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;font-weight:800}.profile-details-body{margin-top:16px}.profile-payment-summary{border:1px solid #e5e7eb;border-radius:16px;padding:14px 18px;margin:16px 0;background:#f8fafc}.profile-payment-summary summary{cursor:pointer;font-weight:900}.template-banner .discount-card,.banner-grid .discount-card{display:grid;grid-template-columns:230px 1fr}.template-banner .pictorial-banner,.banner-grid .pictorial-banner{height:100%;min-height:220px;border-radius:18px 0 0 18px}.magazine-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.template-card-magazine{border:0;box-shadow:0 18px 48px rgba(15,23,42,.12)}.template-card-magazine .pictorial-banner{height:190px}.hero-template-banner,.hero-template-magazine{background:linear-gradient(135deg,#0f172a,#d10074)}
@media(max-width:800px){.visitor-stat-panel,.form-grid.two-col{grid-template-columns:1fr}.submit-hero-card,.profile-hero-card{flex-direction:column;align-items:flex-start}.dashboard-actions{margin-left:0}.template-banner .discount-card,.banner-grid .discount-card{display:block}}

/* Patch 12: professional header occasion image and footer visitor stats */
.occasion-banner{flex:1;display:flex;justify-content:center;align-items:center;padding:0 14px;min-width:260px;overflow:hidden;}
.occasion-banner a{display:block;line-height:0;overflow:hidden;border-radius:18px;box-shadow:0 10px 28px rgba(15,23,42,.12);border:1px solid rgba(0,0,0,.06);}
.occasion-banner img{height:74px;width:560px;max-width:38vw;border-radius:18px;object-fit:cover;object-position:center center;transform:scale(1.16);transform-origin:center center;display:block;}
.site-footer{background:#0f172a;color:#fff;padding:20px 6%;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.footer-main-text{font-weight:700;letter-spacing:.01em;}
.footer-visitor-counts{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;font-size:12px;color:#dbeafe;}
.footer-visitor-counts span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:7px 12px;white-space:nowrap;}
.footer-visitor-counts strong{color:#fff;margin-right:4px;font-size:14px;}
.restored-submit-form{max-width:1100px;margin:28px auto;background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:28px 34px;box-shadow:0 18px 48px rgba(15,23,42,.08);}
.restored-submit-form h2{margin-top:0;font-size:30px;}
.submitter-line{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px 14px;}
.clean-terms-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:16px 18px;margin:18px 0;color:#7c2d12;}
.clean-terms-box h3{margin:0 0 8px;color:#9a3412;}
.clean-submit-form .form-row{margin-bottom:16px;}
.clean-submit-form label{display:block;font-weight:700;margin-bottom:6px;color:#0f172a;}
.clean-submit-form input,.clean-submit-form select,.clean-submit-form textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:11px 12px;font:inherit;background:#fff;}
.clean-submit-form textarea{min-height:96px;}
.professional-checkbox-row{display:flex!important;align-items:center;gap:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px 14px;margin:18px 0;}
.professional-checkbox-row input{width:18px!important;height:18px;flex:0 0 auto;}
.professional-checkbox-row label{margin:0!important;font-weight:700;}
.clean-submit-form button{background:var(--brand);color:#fff;border:none;border-radius:14px;padding:13px 22px;font-weight:800;cursor:pointer;}
.clean-submit-form button:disabled{opacity:.55;cursor:not-allowed;}
@media(max-width:900px){.topbar{gap:12px}.occasion-banner{order:3;width:100%;padding:0;}.occasion-banner a{width:100%;}.occasion-banner img{width:100%;max-width:100%;height:70px;transform:scale(1.12);}.site-footer{justify-content:center;text-align:center}.footer-visitor-counts{justify-content:center}}

/* Patch 15: professional shop running offer design */
.shop-detail-modern .detail-card{max-width:1240px;background:linear-gradient(180deg,#fff,#fbfcff);}
.shop-detail-hero-card{align-items:flex-start;background:#f8fafc;border:1px solid #e5e7eb;border-radius:22px;padding:18px;margin-bottom:24px;}
.shop-detail-logo{box-shadow:0 10px 26px rgba(15,23,42,.08);background:#fff;border:1px solid #e5e7eb;}
.shop-detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.shop-detail-title-row h1{margin:0;font-size:30px;line-height:1.1;letter-spacing:-.02em;}
.shop-address{margin:6px 0 0;color:#475569;font-weight:700;}
.shop-action-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;}
.detail-section-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:20px 0 14px;padding-bottom:12px;border-bottom:1px solid #e5e7eb;}
.detail-section-head h3{font-size:26px;margin:2px 0 0;letter-spacing:-.02em;}
.section-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900;color:var(--brand);}
.section-count{background:#fff0f8;color:var(--brand);border:1px solid #ffd0e8;border-radius:999px;padding:7px 12px;font-weight:900;font-size:13px;white-space:nowrap;}
.professional-offer-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;}
.professional-offer-card{position:relative;overflow:hidden;background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:18px;box-shadow:0 10px 26px rgba(15,23,42,.06);}
.professional-offer-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--brand),#16a34a);}
.offer-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px;}
.offer-label-chip{display:inline-flex;align-items:center;gap:6px;background:#ecfdf5;color:#047857;border:1px solid #bbf7d0;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:950;margin-bottom:8px;}
.offer-label-chip::before{content:"%";background:#16a34a;color:#fff;border-radius:999px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;}
.professional-offer-card h4{font-size:28px;line-height:1.05;color:var(--brand);margin:0;letter-spacing:-.03em;}
.validity-pill{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;color:#475569;padding:7px 11px;font-size:12px;font-weight:900;white-space:nowrap;}
.offer-description{font-size:16px;line-height:1.6;color:#0f172a;margin:8px 0 0;padding:12px 0 0;border-top:1px dashed #e2e8f0;}
.modern-tc{background:#f8fafc;border-color:#e2e8f0;margin-top:14px;}
.empty-offer-box{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px;padding:24px;color:#64748b;font-weight:800;text-align:center;}
.item-section-head{margin-top:28px;}
.professional-table-wrap{overflow-x:auto;border:1px solid #e5e7eb;border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.04);}
.professional-detail-table{margin:0;border-collapse:separate;border-spacing:0;}
.professional-detail-table th{background:#f8fafc;color:#334155;text-transform:uppercase;letter-spacing:.06em;font-size:12px;border-left:0;border-right:0;border-top:0;}
.professional-detail-table td{border-left:0;border-right:0;border-top:0;}
.table-offer-chip{display:inline-block;background:#fff0f8;color:var(--brand);border:1px solid #ffd0e8;border-radius:999px;padding:5px 10px;font-weight:900;}
@media(max-width:700px){.shop-detail-hero-card{display:block}.shop-detail-logo{margin-bottom:14px}.offer-card-head{display:block}.validity-pill{display:inline-block;margin-top:10px}.professional-offer-list{grid-template-columns:1fr}.detail-section-head{align-items:flex-start;flex-direction:column}.shop-detail-title-row h1{font-size:25px}}

/* Patch 16: compact shop running offer pattern */
.compact-pattern-offer{padding:20px 22px;}
.offer-pattern-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;line-height:1.25;}
.offer-pattern-label{font-size:18px;font-weight:900;color:#0f172a;}
.offer-pattern-separator{color:#94a3b8;font-weight:900;font-size:18px;}
.offer-pattern-title{display:inline;margin:0;font-size:28px;line-height:1.05;color:var(--brand);letter-spacing:-.03em;font-weight:950;}
.offer-pattern-details{font-size:18px;font-weight:800;color:#0f172a;}
.offer-pattern-valid{font-size:17px;font-weight:800;color:#475569;}
@media(max-width:700px){.offer-pattern-line{gap:7px}.offer-pattern-title{font-size:24px}.offer-pattern-label,.offer-pattern-details,.offer-pattern-valid,.offer-pattern-separator{font-size:15px}}


/* Patch 17: compact single-line shop running offer pattern */
.compact-pattern-offer{padding:22px 24px;}
.compact-pattern-offer .offer-pattern-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.compact-pattern-offer .offer-pattern-title{display:inline-flex;align-items:center;margin:0;font-size:28px;line-height:1;color:var(--brand);font-weight:950;letter-spacing:-.03em;}
.compact-pattern-offer .offer-pattern-label,
.compact-pattern-offer .offer-pattern-details,
.compact-pattern-offer .offer-pattern-valid{font-size:16px;line-height:1.2;font-weight:800;color:#0f172a;}
.compact-pattern-offer .offer-pattern-separator{font-size:16px;line-height:1;color:#94a3b8;font-weight:900;}
@media(max-width:700px){.compact-pattern-offer{padding:18px}.compact-pattern-offer .offer-pattern-title{font-size:24px}.compact-pattern-offer .offer-pattern-label,.compact-pattern-offer .offer-pattern-details,.compact-pattern-offer .offer-pattern-valid,.compact-pattern-offer .offer-pattern-separator{font-size:14px}}

/* Patch 18: compact shop running offer and item heading alignment */
.compact-offer-heading{display:block;margin:14px 0 8px;padding-bottom:0;border-bottom:0;}
.compact-offer-heading h3{font-size:22px;margin:0;}
.professional-offer-list{gap:10px;}
.professional-offer-card.compact-pattern-offer{padding:18px 22px;margin:0;border-radius:16px;}
.single-line-offer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;}
.single-line-offer .offer-pattern-label,
.single-line-offer .offer-pattern-details{font-size:16px;line-height:1.2;font-weight:800;color:#0f172a;}
.single-line-offer .offer-pattern-title{display:inline-flex;align-items:center;margin:0;font-size:28px;line-height:1;color:#16a34a;font-weight:950;letter-spacing:-.03em;}
.single-line-offer .offer-pattern-valid{font-size:16px;line-height:1.2;font-weight:900;color:#dc2626;}
.single-line-offer .offer-pattern-separator{font-size:16px;line-height:1;color:#94a3b8;font-weight:900;}
.compact-item-heading{display:block;margin:14px 0 8px;padding-bottom:0;border-bottom:0;}
.compact-item-heading h3{font-size:22px;margin:0;}
.professional-table-wrap{margin-top:0;}
@media(max-width:700px){.single-line-offer .offer-pattern-title{font-size:24px}.single-line-offer .offer-pattern-label,.single-line-offer .offer-pattern-details,.single-line-offer .offer-pattern-valid,.single-line-offer .offer-pattern-separator{font-size:14px}}


/* Patch 19: shop running offer must stay in one professional line */
.compact-pattern-offer {
  padding: 18px 22px !important;
}
.compact-pattern-offer .single-line-offer {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  overflow-x: auto !important;
  line-height: 1.35 !important;
}
.compact-pattern-offer .single-line-offer span,
.compact-pattern-offer .single-line-offer h4 {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}
.compact-pattern-offer .single-line-offer .offer-pattern-label,
.compact-pattern-offer .single-line-offer .offer-pattern-details,
.compact-pattern-offer .single-line-offer .offer-pattern-separator,
.compact-pattern-offer .single-line-offer .offer-pattern-valid {
  font-size: 16px !important;
  line-height: 1.35 !important;
}
.compact-pattern-offer .single-line-offer .offer-pattern-label,
.compact-pattern-offer .single-line-offer .offer-pattern-details {
  color: #0f172a !important;
  font-weight: 800 !important;
}
.compact-pattern-offer .single-line-offer .offer-pattern-title {
  font-size: 28px !important;
  line-height: 1 !important;
  color: #16a34a !important;
  font-weight: 950 !important;
}
.compact-pattern-offer .single-line-offer .offer-pattern-valid {
  color: #dc2626 !important;
  font-weight: 900 !important;
}
.compact-pattern-offer .single-line-offer .offer-pattern-separator {
  color: #94a3b8 !important;
  font-weight: 900 !important;
}
@media (max-width: 700px) {
  .compact-pattern-offer .single-line-offer .offer-pattern-title { font-size: 22px !important; }
  .compact-pattern-offer .single-line-offer .offer-pattern-label,
  .compact-pattern-offer .single-line-offer .offer-pattern-details,
  .compact-pattern-offer .single-line-offer .offer-pattern-separator,
  .compact-pattern-offer .single-line-offer .offer-pattern-valid { font-size: 14px !important; }
}

/* Patch 20: admin-managed shop running offer typography */
.compact-pattern-offer .single-line-offer .offer-pattern-label,
.compact-pattern-offer .single-line-offer .offer-pattern-details,
.compact-pattern-offer .single-line-offer .offer-pattern-separator {
  font-size: var(--offer-line-size, 16px) !important;
  color: var(--offer-line-color, #0f172a) !important;
  font-weight: var(--offer-line-weight, 900) !important;
  font-style: var(--offer-line-style, normal) !important;
}
.compact-pattern-offer .single-line-offer .offer-pattern-title {
  font-size: var(--offer-discount-size, 28px) !important;
  color: var(--offer-discount-color, #16a34a) !important;
  font-weight: 950 !important;
  font-style: var(--offer-line-style, normal) !important;
}
.compact-pattern-offer .single-line-offer .offer-pattern-valid {
  font-size: var(--offer-line-size, 16px) !important;
  color: var(--offer-valid-color, #dc2626) !important;
  font-weight: var(--offer-line-weight, 900) !important;
  font-style: var(--offer-line-style, normal) !important;
}

/* Patch 26: professional social sign-in/sign-up and auto-refresh badges */
.auth-header-block{margin-bottom:18px;}
.auth-header-block h2{margin-bottom:6px;}
.auth-header-block p{margin:0;color:#64748b;font-weight:600;}
.social-login-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:18px 0;}
.social-auth-btn{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #e2e8f0;border-radius:14px;padding:13px 16px;background:#fff;text-decoration:none;font-weight:800;color:#0f172a;box-shadow:0 8px 22px rgba(15,23,42,.08);transition:transform .15s ease, box-shadow .15s ease;}
.social-auth-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,23,42,.12);}
.social-auth-btn.google::before{content:"G";display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid #cbd5e1;color:#ea4335;font-weight:900;font-family:Arial,sans-serif;}
.social-auth-btn.facebook{background:#1877f2;color:#fff;border-color:#1877f2;}
.social-auth-btn.facebook::before{content:"f";display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#fff;color:#1877f2;font-weight:900;font-family:Arial,sans-serif;}
.auth-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:#64748b;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em;}
.auth-divider::before,.auth-divider::after{content:"";height:1px;background:#e2e8f0;flex:1;}
.notif-icon span{align-items:center;justify-content:center;}
@media(max-width:640px){.social-login-panel{grid-template-columns:1fr}.social-auth-btn{width:100%;}}


/* Patch 27: admin-managed active menu and mobile visitor dashboard cards */
.topbar nav .nav-link{border-radius:10px;padding:10px 12px;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease,box-shadow .15s ease;}
.topbar nav .nav-link.active-menu{background:var(--nav-active-bg,#16a34a)!important;color:var(--nav-active-text,#ffffff)!important;box-shadow:0 8px 20px rgba(15,23,42,.12);font-weight:900;}
.topbar nav .nav-link.submit-link.active-menu{background:var(--nav-active-bg,#16a34a)!important;color:var(--nav-active-text,#ffffff)!important;}
@media(max-width:768px){
  .topbar{height:auto;min-height:70px;padding:10px 14px;align-items:flex-start;gap:10px;}
  .topbar .brand{min-width:170px;}
  .topbar nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:100%;}
  .topbar nav .nav-link,.topbar nav .notif-icon{padding:8px 9px;font-size:13px;border-radius:9px;}
  .detail-page.dashboard-page{padding:14px 10px;}
  .dashboard-page .detail-card{padding:14px;border-radius:18px;}
  .profile-hero-card.compact-profile{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:16px;}
  .profile-hero-card.compact-profile p{line-height:1.6;margin-bottom:0;}
  .dashboard-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%;}
  .dashboard-actions .details-btn{flex:1 1 130px;text-align:center;}
  .notification-panel{padding:14px;font-size:14px;}
  .dashboard-page h2{font-size:20px;margin-top:18px;}
  .mobile-card-table{overflow-x:visible!important;border:0!important;background:transparent!important;box-shadow:none!important;}
  .mobile-card-table table,.mobile-card-table thead,.mobile-card-table tbody,.mobile-card-table th,.mobile-card-table td,.mobile-card-table tr{display:block;width:100%;}
  .mobile-card-table thead{display:none;}
  .mobile-card-table tbody tr{background:#fff;border:1px solid #e5e7eb;border-radius:16px;margin:0 0 12px;padding:10px 12px;box-shadow:0 8px 18px rgba(15,23,42,.06);}
  .mobile-card-table tbody td{border:0!important;border-bottom:1px dashed #e5e7eb!important;display:flex;justify-content:space-between;gap:12px;padding:10px 0!important;text-align:right;white-space:normal!important;word-break:break-word;}
  .mobile-card-table tbody td:last-child{border-bottom:0!important;}
  .mobile-card-table tbody td::before{content:attr(data-label);font-weight:900;color:#009444;text-align:left;min-width:110px;flex:0 0 42%;}
  .coupon-card.professional-coupon{border-radius:18px;}
  .coupon-top{display:flex;gap:10px;align-items:center;}
  .coupon-code{font-size:22px;letter-spacing:.12em;word-break:break-all;}
  .coupon-meta-grid{grid-template-columns:1fr!important;}
}
@media(max-width:480px){
  .topbar{flex-direction:column;align-items:stretch;}
  .topbar nav{justify-content:flex-start;}
  .topbar nav .nav-link,.topbar nav .notif-icon{font-size:12px;padding:7px 8px;}
  .mobile-card-table tbody td{flex-direction:column;text-align:left;gap:4px;}
  .mobile-card-table tbody td::before{min-width:0;flex:auto;}
}

/* Patch 28: visitor dashboard collapsible sections and searchable homepage filters */
.dashboard-collapsible-section,
.profile-payment-summary{
  margin:18px 0;
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:#f8fafc;
  overflow:hidden;
}
.dashboard-collapsible-section > summary,
.profile-payment-summary > summary{
  cursor:pointer;
  padding:14px 18px;
  font-weight:900;
  color:#0f172a;
  background:#f8fafc;
  list-style:none;
}
.dashboard-collapsible-section > summary::-webkit-details-marker,
.profile-payment-summary > summary::-webkit-details-marker{display:none;}
.dashboard-collapsible-section > summary::before,
.profile-payment-summary > summary::before{content:"▶";display:inline-block;margin-right:8px;font-size:12px;transition:transform .15s ease;}
.dashboard-collapsible-section[open] > summary::before,
.profile-payment-summary[open] > summary::before{transform:rotate(90deg);}
.dashboard-collapsible-section[open],
.profile-payment-summary[open]{background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.06);}
.dashboard-collapsible-section > .coupon-grid,
.dashboard-collapsible-section > .table-wrap,
.dashboard-collapsible-section > p,
.profile-payment-summary > .coupon-meta-grid{margin:0 16px 16px;}
.search-panel form{align-items:stretch;}
.searchable-select{position:relative;min-width:180px;flex:1 1 180px;}
.searchable-select input[type="search"]{width:100%;height:100%;min-height:44px;border:1px solid #dbe4ef;border-radius:12px;padding:11px 12px;font:inherit;background:#fff;color:#0f172a;outline:none;}
.searchable-select input[type="search"]:focus{border-color:var(--brand,#d10074);box-shadow:0 0 0 3px rgba(209,0,116,.10);}
.searchable-options{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:50;max-height:240px;overflow-y:auto;background:#fff;border:1px solid #dbe4ef;border-radius:14px;box-shadow:0 18px 40px rgba(15,23,42,.16);padding:6px;}
.searchable-select.open .searchable-options{display:block;}
.searchable-options button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px 11px;border-radius:10px;cursor:pointer;font-weight:700;color:#0f172a;}
.searchable-options button:hover{background:#f1f5f9;color:var(--brand,#d10074);}
@media(max-width:768px){
  .search-panel form{display:grid;grid-template-columns:1fr;gap:10px;}
  .searchable-select{width:100%;min-width:0;}
  .searchable-select input[type="search"]{min-height:46px;}
  .searchable-options{position:static;margin-top:6px;max-height:220px;}
  .dashboard-collapsible-section > summary,
  .profile-payment-summary > summary{padding:13px 14px;}
  .dashboard-collapsible-section > .coupon-grid,
  .dashboard-collapsible-section > .table-wrap,
  .dashboard-collapsible-section > p,
  .profile-payment-summary > .coupon-meta-grid{margin:0 12px 12px;}
}

/* Patch 29: visitor dashboard progressive disclosure and professional mobile contrast */
.dashboard-default-panel,
.dashboard-first-item{
  margin-bottom:16px;
}
.dashboard-page .detail-card.visitor-profile-shell{
  background:#ffffff;
}
.dashboard-page h2{
  color:#0f172a;
  letter-spacing:-.02em;
}
.dashboard-collapsible-section > summary,
.profile-payment-summary > summary{
  background:linear-gradient(135deg,#f8fafc,#eef6f2);
  border-bottom:1px solid rgba(226,232,240,.9);
}
.dashboard-collapsible-section[open] > summary,
.profile-payment-summary[open] > summary{
  background:linear-gradient(135deg,rgba(22,163,74,.10),rgba(209,0,116,.07));
}
@media(max-width:768px){
  body{background:#f1f5f9;}
  .dashboard-page .detail-card.visitor-profile-shell{
    background:#f8fafc;
    border:1px solid #dbe4ef;
    box-shadow:0 16px 42px rgba(15,23,42,.10);
  }
  .profile-hero-card.compact-profile{
    background:linear-gradient(135deg,rgba(209,0,116,.11),rgba(22,163,74,.12));
    border:1px solid #dbe4ef;
    box-shadow:0 12px 30px rgba(15,23,42,.08);
  }
  .dashboard-page h2{
    font-size:19px;
    margin:20px 0 12px;
    padding-left:10px;
    border-left:4px solid var(--brand,#d10074);
  }
  .notification-panel.dashboard-default-panel{
    background:#eaf4ff;
    border:1px solid #bfdbfe;
    color:#0f172a;
    box-shadow:0 10px 22px rgba(15,23,42,.06);
  }
  .notification-panel.dashboard-default-panel h3{color:#0f172a;margin-top:0;}
  .profile-payment-summary,
  .dashboard-collapsible-section{
    background:#ffffff;
    border:1px solid #dbe4ef;
    box-shadow:0 10px 24px rgba(15,23,42,.06);
  }
  .profile-payment-summary > summary,
  .dashboard-collapsible-section > summary{
    background:linear-gradient(135deg,#ffffff,#f1f5f9);
    color:#0f172a;
  }
  .mobile-card-table tbody tr{
    background:linear-gradient(180deg,#ffffff,#fbfdff);
    border:1px solid #dbe4ef;
    border-left:4px solid #16a34a;
    box-shadow:0 10px 22px rgba(15,23,42,.08);
  }
  .mobile-card-table tbody td{
    color:#0f172a;
    border-bottom:1px solid #e8eef6!important;
  }
  .mobile-card-table tbody td::before{
    color:#009444;
    text-transform:uppercase;
    font-size:12px;
    letter-spacing:.03em;
  }
  .coupon-card.professional-coupon{
    background:#ffffff;
    border:1px solid #dbe4ef;
    box-shadow:0 14px 30px rgba(15,23,42,.09);
    overflow:hidden;
  }
  .coupon-card.professional-coupon .coupon-top{
    background:linear-gradient(90deg,#15803d,#d10074);
    color:#ffffff;
    padding:12px 14px;
    margin:-1px -1px 0;
  }
  .coupon-card.professional-coupon .coupon-top strong{
    color:#ffffff;
    background:rgba(255,255,255,.18);
    border-radius:999px;
    padding:4px 10px;
  }
  .coupon-code{
    background:#fff7fb;
    color:#0f172a;
    border-top:1px solid #fce7f3;
    border-bottom:1px dashed #cbd5e1;
    padding:18px 10px;
  }
  .coupon-meta-grid div{
    background:#ffffff;
    border:1px solid #dbe4ef;
    box-shadow:0 6px 14px rgba(15,23,42,.04);
  }
}

/* Patch 30: admin-managed homepage statistics cards */
.homepage-stats-dashboard > div{
  background:var(--stats-card-bg,#fff);
  border-color:var(--stats-card-border,#e5e7eb);
  font-family:var(--stats-font-family,var(--font-family));
}
.homepage-stats-dashboard strong{
  color:var(--stats-number-color,var(--brand));
  font-size:var(--stats-number-size,26px);
}
.homepage-stats-dashboard span{
  color:var(--stats-label-color,#64748b);
  font-size:var(--stats-label-size,13px);
}
@media(max-width:700px){
  .homepage-stats-dashboard{grid-template-columns:repeat(2,1fr);gap:10px;padding:12px 12px;}
  .homepage-stats-dashboard > div{border-radius:16px;padding:14px 10px;}
}

/* Patch 31: visitor point disbursement request using existing Payment Disbursement workflow */
.disbursement-request-panel{
  border:1px solid #dbe4ef;
  border-radius:18px;
  background:linear-gradient(135deg,#ffffff,#f8fafc);
  padding:18px;
  box-shadow:0 14px 34px rgba(15,23,42,.07);
  margin:18px 0 22px;
}
.disbursement-request-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:14px;
}
.disbursement-request-head h3{margin:0 0 6px;color:#0f172a;font-size:20px;}
.disbursement-request-head p{margin:0;color:#475569;line-height:1.5;}
.point-balance-chip{
  min-width:130px;
  padding:12px 14px;
  border-radius:16px;
  background:linear-gradient(135deg,#16a34a,#009444);
  color:#fff;
  text-align:center;
  box-shadow:0 10px 22px rgba(22,163,74,.20);
}
.point-balance-chip span{display:block;font-size:12px;font-weight:800;opacity:.92;}
.point-balance-chip strong{display:block;font-size:28px;line-height:1.1;}
.request-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:14px 0;}
.request-submission-card{display:flex;gap:10px;align-items:flex-start;border:1px solid #dbe4ef;border-radius:16px;background:#fff;padding:12px;cursor:pointer;transition:border .15s ease,box-shadow .15s ease,transform .15s ease;}
.request-submission-card:hover{border-color:#16a34a;box-shadow:0 10px 22px rgba(15,23,42,.08);transform:translateY(-1px);}
.request-submission-card input{margin-top:5px;accent-color:#16a34a;}
.request-card-body{display:flex;flex-direction:column;gap:4px;min-width:0;}
.request-card-body strong{color:#0f172a;font-size:15px;}
.request-card-body small{color:#475569;line-height:1.35;}
.request-card-body b{color:#009444;font-size:14px;}
.request-form-grid{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:12px;margin:12px 0;}
.request-form-grid label{font-weight:900;color:#0f172a;font-size:13px;display:flex;flex-direction:column;gap:6px;}
.request-form-grid select,.request-form-grid input{border:1px solid #dbe4ef;border-radius:12px;padding:11px 12px;font:inherit;background:#fff;color:#0f172a;outline:none;}
.request-form-grid select:focus,.request-form-grid input:focus{border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.12);}
.request-payment-summary{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:12px;color:#334155;line-height:1.5;margin-bottom:12px;}
.empty-state-note{background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:12px;color:#7c2d12;font-weight:700;}
.pending-request-list{margin:12px 0;background:#fff;}
@media(max-width:768px){
  .disbursement-request-panel{background:linear-gradient(180deg,#ffffff,#f8fbff);border:1px solid #dbe4ef;border-left:4px solid #009444;padding:14px;box-shadow:0 14px 30px rgba(15,23,42,.10);}
  .disbursement-request-head{flex-direction:column;gap:10px;}
  .disbursement-request-head h3{font-size:18px;}
  .point-balance-chip{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;}
  .point-balance-chip strong{font-size:24px;}
  .request-option-grid{grid-template-columns:1fr;gap:10px;}
  .request-submission-card{border-left:4px solid #d10074;box-shadow:0 8px 18px rgba(15,23,42,.06);}
  .request-form-grid{grid-template-columns:1fr;}
  .request-payment-summary{background:#eef6ff;border-color:#bfdbfe;color:#0f172a;}
  .disbursement-request-form .details-btn{width:100%;text-align:center;justify-content:center;}
}

/* Patch 32: professional disbursement request layout and selectable totals */
.disbursement-request-panel .request-selection-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:14px 0 10px;
}
.request-selection-summary div{
  background:linear-gradient(135deg,#fff,#f8fafc);
  border:1px solid #dbe4ef;
  border-radius:14px;
  padding:12px 14px;
  box-shadow:0 8px 18px rgba(15,23,42,.05);
}
.request-selection-summary span{
  display:block;
  color:#64748b;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.request-selection-summary strong{
  display:block;
  color:#009444;
  font-size:24px;
  line-height:1.1;
  margin-top:4px;
}
.professional-request-list{
  grid-template-columns:1fr;
  gap:10px;
}
.professional-request-list .request-submission-card{
  align-items:center;
  padding:14px 16px;
  border-radius:16px;
  background:linear-gradient(135deg,#ffffff,#fbfdff);
}
.professional-request-list .request-submission-card.selected{
  border-color:#16a34a;
  background:linear-gradient(135deg,#f0fdf4,#ffffff);
  box-shadow:0 12px 24px rgba(22,163,74,.12);
}
.professional-request-list .request-card-body{
  flex:1;
  width:100%;
}
.request-card-main{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}
.request-card-main strong{
  font-size:17px;
}
.request-card-main b{
  white-space:nowrap;
  background:#ecfdf5;
  color:#009444;
  border:1px solid #bbf7d0;
  border-radius:999px;
  padding:5px 10px;
}
.request-form-grid-amount{
  grid-template-columns:minmax(180px,260px) minmax(160px,220px) 1fr;
}
.request-form-grid input[readonly]{
  background:#f8fafc;
  color:#009444;
  font-weight:900;
}
@media(max-width:768px){
  .disbursement-request-panel .request-selection-summary{
    grid-template-columns:1fr;
    gap:8px;
  }
  .request-selection-summary div{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:11px 12px;
  }
  .request-selection-summary strong{font-size:20px;margin:0;}
  .professional-request-list .request-submission-card{
    border-left:4px solid #009444;
    padding:13px;
    background:#ffffff;
  }
  .request-card-main{
    flex-direction:column;
    gap:6px;
  }
  .request-card-main b{
    width:max-content;
  }
  .request-form-grid-amount{
    grid-template-columns:1fr;
  }
}

/* Patch 33: professional disbursement request table layout */
.request-disbursement-table-wrap{border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.04);margin:14px 0 18px;}
.request-disbursement-table{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff;}
.request-disbursement-table th{background:#f8eaf3;color:#009b4e;text-align:left;padding:13px 12px;font-weight:900;border-bottom:1px solid #e5e7eb;white-space:nowrap;}
.request-disbursement-table td{padding:13px 12px;border-bottom:1px solid #edf2f7;vertical-align:middle;color:#0f172a;word-break:break-word;}
.request-disbursement-table tbody tr:hover{background:#f8fffb;}
.request-disbursement-table tbody tr.selected{background:#ecfdf5;outline:1px solid #16a34a;outline-offset:-1px;}
.request-disbursement-table .select-col{width:120px;text-align:center;}
.request-disbursement-table input[type="checkbox"]{width:18px;height:18px;accent-color:#16a34a;cursor:pointer;}
.select-all-label{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:900;color:#0f172a;white-space:nowrap;}
.point-badge-soft{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#dcfce7;color:#008f47;border:1px solid #bbf7d0;padding:5px 10px;font-weight:900;white-space:nowrap;}
@media(max-width:768px){
  .request-disbursement-table-wrap{border-radius:14px;overflow:visible;border:0;box-shadow:none;background:transparent;}
  .request-disbursement-table,.request-disbursement-table thead,.request-disbursement-table tbody,.request-disbursement-table th,.request-disbursement-table td,.request-disbursement-table tr{display:block;width:100%;box-sizing:border-box;}
  .request-disbursement-table thead{display:none;}
  .request-disbursement-table tr{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;margin:0 0 12px;padding:12px;box-shadow:0 8px 22px rgba(15,23,42,.05);}
  .request-disbursement-table tr.selected{background:linear-gradient(135deg,#ecfdf5,#fff);border-color:#16a34a;}
  .request-disbursement-table td{display:flex;justify-content:space-between;gap:12px;text-align:right;border:0;border-bottom:1px dashed #e5e7eb;padding:10px 0;}
  .request-disbursement-table td:last-child{border-bottom:0;}
  .request-disbursement-table td::before{content:attr(data-label);font-weight:900;color:#475569;text-align:left;min-width:105px;}
  .request-disbursement-table .select-col{width:100%;justify-content:flex-start;text-align:left;}
  .request-disbursement-table .select-col::before{content:'Select';}
  .request-selection-summary{grid-template-columns:1fr!important;}
  .request-form-grid.request-form-grid-amount{grid-template-columns:1fr!important;}
}


/* Patch 31: admin-managed professional Contact Us page */
.contact-page{max-width:1180px;margin:0 auto;padding:28px 18px 46px;}
.contact-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,var(--brand,#d10074),#111827);color:#fff;border-radius:26px;padding:30px;box-shadow:0 22px 50px rgba(15,23,42,.18);margin-bottom:20px;}
.contact-kicker{display:inline-flex;padding:7px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.12);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;margin-bottom:10px;}
.contact-hero h2{margin:0 0 8px;font-size:34px;color:#fff;}
.contact-hero p{margin:0;color:rgba(255,255,255,.88);font-weight:600;line-height:1.55;}
.contact-map-btn,.contact-submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:var(--brand,#d10074);border:0;border-radius:14px;padding:13px 18px;font-weight:950;text-decoration:none;box-shadow:0 12px 24px rgba(15,23,42,.16);cursor:pointer;}
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;margin-bottom:18px;}
.contact-card{background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:22px;box-shadow:0 16px 36px rgba(15,23,42,.08);}
.contact-card-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px;}
.contact-card-title>span{width:46px;height:46px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:rgba(209,0,116,.09);color:var(--brand,#d10074);font-size:24px;font-weight:950;flex:0 0 auto;}
.contact-card-title h3{margin:0 0 5px;color:#0f172a;font-size:22px;}
.contact-card-title p{margin:0;color:#64748b;font-weight:600;line-height:1.45;}
.contact-info-list{display:grid;gap:10px;}
.contact-info-list div{display:grid;grid-template-columns:36px minmax(130px,.6fr) 1fr;gap:10px;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px 14px;}
.contact-info-list span{font-size:20px}.contact-info-list b{color:#334155}.contact-info-list em{font-style:normal;color:#0f172a;font-weight:800;text-align:right;}
.contact-channel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
.contact-channel-grid a{display:flex;flex-direction:column;gap:5px;min-height:92px;justify-content:center;align-items:flex-start;border:1px solid #e2e8f0;border-radius:18px;background:#f8fafc;padding:14px;text-decoration:none;color:#0f172a;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
.contact-channel-grid a:hover{transform:translateY(-2px);border-color:var(--brand,#d10074);box-shadow:0 12px 26px rgba(15,23,42,.12);}
.contact-channel-grid span{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--brand,#d10074);color:#fff;font-weight:950;}
.contact-channel-grid strong{font-size:15px}.contact-channel-grid small{color:#64748b;font-weight:700;word-break:break-word;}
.contact-message-section{margin-top:18px;}
.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.contact-form label{display:flex;flex-direction:column;gap:7px;font-weight:900;color:#334155;}
.contact-form label.full{margin-top:14px;}
.contact-form input,.contact-form textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:14px;padding:12px 14px;font:inherit;color:#0f172a;background:#fff;outline:none;}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--brand,#d10074);box-shadow:0 0 0 4px rgba(209,0,116,.10);}
.contact-form .errorlist{margin:0;padding-left:18px;color:#dc2626;font-weight:700;font-size:13px;}
.contact-submit-btn{margin-top:16px;background:var(--brand,#d10074);color:#fff;}
.contact-alerts{margin-bottom:16px}.contact-alert{border-radius:14px;padding:13px 16px;font-weight:800;background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;}
@media(max-width:860px){.contact-hero,.contact-grid{grid-template-columns:1fr;display:grid}.contact-hero{align-items:flex-start}.contact-form-grid{grid-template-columns:1fr}.contact-info-list div{grid-template-columns:32px 1fr}.contact-info-list em{text-align:left;grid-column:2}}
@media(max-width:520px){.contact-page{padding:18px 10px 34px}.contact-hero,.contact-card{border-radius:18px;padding:18px}.contact-hero h2{font-size:26px}.contact-map-btn,.contact-submit-btn{width:100%;}.contact-channel-grid{grid-template-columns:1fr}}

/* Visitor Wallet / Ledger History */
.wallet-ledger-shell .wallet-hero-card{margin-bottom:18px}.wallet-report-filter.report-filter-pro{display:flex;gap:10px;align-items:end;flex-wrap:wrap;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:16px;margin:0 0 18px;box-shadow:0 10px 28px rgba(15,23,42,.06)}.wallet-report-filter label{font-weight:800;color:#0f172a}.wallet-report-filter input{display:block;margin-top:6px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;min-width:170px}.wallet-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin:18px 0}.wallet-kpi-grid div{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:18px;text-align:center;box-shadow:0 12px 30px rgba(15,23,42,.06)}.wallet-kpi-grid span{display:block;color:#64748b;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.03em}.wallet-kpi-grid strong{display:block;color:var(--theme-color,#d10074);font-size:30px;margin-top:4px}.wallet-ledger-card,.wallet-ledger-preview{border-radius:18px}.wallet-preview-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.wallet-preview-head h3{margin:0;color:#0f172a}.wallet-preview-head p{margin:4px 0 0;color:#475569}.wallet-credit{display:inline-flex;align-items:center;justify-content:center;color:#dc2626;background:#fee2e2;border:1px solid #fecaca;border-radius:999px;padding:4px 10px;font-weight:900}.wallet-debit{display:inline-flex;align-items:center;justify-content:center;color:#059669;background:#dcfce7;border:1px solid #bbf7d0;border-radius:999px;padding:4px 10px;font-weight:900}.wallet-ledger-table th{white-space:nowrap}.dashboard-actions{gap:8px;flex-wrap:wrap}@media(max-width:760px){.wallet-kpi-grid{grid-template-columns:1fr 1fr}.wallet-preview-head{display:block}.wallet-preview-head .details-btn{margin-top:10px}.wallet-report-filter input{min-width:100%}}@media(max-width:520px){.wallet-kpi-grid{grid-template-columns:1fr}.wallet-report-filter.report-filter-pro{display:block}.wallet-report-filter .details-btn{margin-top:8px;width:100%;text-align:center}}
@media print{.site-header,.site-footer,.wallet-report-filter,.dashboard-actions{display:none!important}.detail-page{background:#fff!important}.detail-card{box-shadow:none!important;border:0!important}}

.wallet-ledger-display-note{background:#f8fafc;border-left:5px solid var(--theme-color,#d10074);border-radius:12px;padding:12px 14px;margin:0 0 14px;color:#334155;font-weight:700}.wallet-older-ledger-section{margin-top:16px}.wallet-older-ledger-section summary{cursor:pointer;list-style:none;background:linear-gradient(135deg,#fff7fb,#ffffff);border:1px solid #f9a8d4;color:var(--theme-color,#d10074);border-radius:14px;padding:14px 16px;font-weight:900;box-shadow:0 10px 24px rgba(209,0,116,.08)}.wallet-older-ledger-section summary::-webkit-details-marker{display:none}.wallet-older-ledger-section summary:before{content:'▸';display:inline-block;margin-right:8px;transition:.2s}.wallet-older-ledger-section[open] summary:before{transform:rotate(90deg)}.wallet-older-ledger-section .table-wrap{margin-top:12px}

/* Homepage visitor-attractive dashboard cards */
.homepage-stats-dashboard .homepage-stat-card{
  position:relative;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.homepage-stats-dashboard .homepage-stat-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(15,23,42,.10);
  border-color:rgba(209,0,116,.22);
}
.homepage-stats-dashboard .homepage-stat-card::after{
  content:"";
  position:absolute;
  right:-28px;
  top:-28px;
  width:76px;
  height:76px;
  border-radius:50%;
  background:linear-gradient(135deg,rgba(209,0,116,.10),rgba(22,163,74,.08));
}
.homepage-stats-dashboard .stat-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  margin-bottom:4px;
  border-radius:12px;
  background:linear-gradient(135deg,rgba(209,0,116,.10),rgba(22,163,74,.10));
  font-size:18px;
  color:inherit;
}
.homepage-stats-dashboard .homepage-stat-card strong{line-height:1.05;}

/* Visitor password reset */
.password-reset-card .reset-method-options ul { list-style: none; padding: 0; margin: 8px 0 0; display: flex; gap: 12px; flex-wrap: wrap; }
.password-reset-card .reset-method-options li { margin: 0; }
.password-reset-card .reset-method-options label { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid #dbe4ef; border-radius: 999px; background: #fff; font-weight: 700; color: #0f172a; cursor: pointer; }
.password-reset-card .reset-method-options input { width: auto; margin: 0; }
.auth-link-row { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 18px; font-weight: 700; }
.auth-link-row a { color: var(--theme-color, #16a34a); text-decoration: none; }
.auth-link-row a:hover { text-decoration: underline; }
.muted-help { color: #64748b; line-height: 1.6; }
.form-error { color: #b91c1c; font-weight: 700; margin-top: 6px; }

/* Patch 2026-06-18: enforce admin-configured Shop Running Offer Style on actual shop detail markup */
.shop-detail-modern .compact-pattern-offer .shop-offer-header-line,
.shop-detail-modern .compact-pattern-offer .offer-pattern-line.shop-offer-header-line{
  font-size: var(--offer-line-size, 16px) !important;
  color: var(--offer-line-color, #0f172a) !important;
  font-weight: var(--offer-line-weight, 900) !important;
  font-style: var(--offer-line-style, normal) !important;
}
.shop-detail-modern .compact-pattern-offer .shop-offer-header-line .offer-pattern-label,
.shop-detail-modern .compact-pattern-offer .shop-offer-header-line .offer-pattern-separator{
  font-size: var(--offer-line-size, 16px) !important;
  color: var(--offer-line-color, #0f172a) !important;
  font-weight: var(--offer-line-weight, 900) !important;
  font-style: var(--offer-line-style, normal) !important;
}
.shop-detail-modern .compact-pattern-offer .shop-offer-header-line .offer-pattern-title{
  font-size: var(--offer-discount-size, 28px) !important;
  color: var(--offer-discount-color, #16a34a) !important;
  font-weight: 950 !important;
  font-style: var(--offer-line-style, normal) !important;
}
.shop-detail-modern .compact-pattern-offer .shop-offer-header-line .offer-pattern-valid{
  font-size: var(--offer-line-size, 16px) !important;
  color: var(--offer-valid-color, #dc2626) !important;
  font-weight: var(--offer-line-weight, 900) !important;
  font-style: var(--offer-line-style, normal) !important;
}

/* Discount KOTO Smart Search Assistant */
.smart-search-nav{background:linear-gradient(135deg,var(--brand),#16a34a)!important;color:#fff!important;border-radius:999px;box-shadow:0 10px 24px rgba(209,0,116,.20)}
.smart-search-home-cta{margin-top:14px;padding:16px;border:1px solid rgba(209,0,116,.16);border-radius:20px;background:linear-gradient(135deg,rgba(209,0,116,.08),rgba(22,163,74,.08));display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.smart-search-home-cta strong{display:block;color:#0f172a;font-size:16px;margin-bottom:4px}.smart-search-home-cta span{display:block;color:#475569;font-size:13px}.smart-search-btn,.smart-search-home-cta a,.smart-search-nav-actions a,.smart-search-form button,.smart-search-prompt-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;background:linear-gradient(135deg,var(--brand),#16a34a);color:#fff!important;padding:11px 18px;border-radius:999px;font-weight:800;white-space:nowrap;box-shadow:0 12px 28px rgba(209,0,116,.22)}
.smart-search-prompt{position:fixed;inset:0;background:rgba(15,23,42,.28);display:none;align-items:center;justify-content:center;z-index:9999;padding:18px}.smart-search-prompt.show{display:flex}.smart-search-prompt-card{position:relative;max-width:460px;background:#fff;border-radius:24px;padding:24px;box-shadow:0 30px 80px rgba(15,23,42,.25);border-top:5px solid var(--brand)}.smart-search-prompt-card strong{display:block;color:#0f172a;font-size:20px;margin-bottom:8px}.smart-search-prompt-card p{color:#475569;margin:0 0 16px;line-height:1.55}.smart-search-prompt-close{position:absolute;right:14px;top:10px;border:0;background:#f1f5f9;color:#334155;border-radius:999px;width:30px;height:30px;cursor:pointer}.smart-search-prompt-actions{display:flex;gap:10px;flex-wrap:wrap}.smart-search-prompt-actions button{border:1px solid #e2e8f0;background:#fff;color:#0f172a;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer}
.smart-search-hero{margin:22px auto 14px;max-width:1180px;padding:28px;border-radius:28px;background:linear-gradient(135deg,rgba(209,0,116,.10),rgba(22,163,74,.12));display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(209,0,116,.12)}.smart-search-hero h1{margin:8px 0;color:#0f172a;font-size:var(--heading-font-size)}.smart-search-hero p{margin:0;color:#475569;max-width:760px;line-height:1.55}.smart-search-nav-actions{display:flex;gap:10px;flex-wrap:wrap}.smart-search-nav-actions a{background:#fff;color:var(--brand)!important;border:1px solid rgba(209,0,116,.18);box-shadow:none}.smart-search-page-panel{max-width:1180px;margin:0 auto 16px;background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:18px;box-shadow:0 16px 45px rgba(15,23,42,.07)}.smart-search-form{display:flex;gap:10px}.smart-search-form input{flex:1;border:1px solid #cbd5e1;border-radius:999px;padding:14px 18px;font-size:15px;outline:none}.smart-search-form input:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(209,0,116,.10)}.smart-search-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.smart-search-suggestions a{text-decoration:none;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:8px 12px;font-weight:700;font-size:13px}.smart-assistant-message{max-width:1180px;margin:0 auto 16px;padding:18px;border-radius:22px;background:#fff7fb;color:#0f172a;display:flex;gap:14px;align-items:flex-start;border:1px solid #f9a8d4;box-shadow:0 14px 35px rgba(209,0,116,.08)}.assistant-avatar{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#16a34a;color:#fff;font-weight:900;box-shadow:0 10px 22px rgba(22,163,74,.18)}.smart-assistant-message p{margin:5px 0 4px;color:#334155}.smart-assistant-message small{color:#64748b}.smart-result-card{border-top:4px solid var(--brand)}
@media(max-width:760px){.smart-search-home-cta,.smart-search-hero,.smart-search-form{flex-direction:column;align-items:stretch}.smart-search-nav-actions a,.smart-search-form button,.smart-search-btn{width:100%}.smart-search-prompt-card{width:100%}}

/* Merchant Promotion Portal - Phase 1/2 */
.merchant-choice-card{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fff7fb,#f0fdf4);border:1px solid #f9a8d4;border-radius:20px;padding:18px 20px;margin-bottom:18px;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.merchant-choice-card strong{display:block;color:#0f172a;font-size:18px}.merchant-choice-card p{margin:4px 0 0;color:#64748b}.merchant-choice-field select{min-width:260px;border:1px solid #e5e7eb;border-radius:12px;padding:11px 12px;background:#fff}
.merchant-authority-section,.merchant-plan-section{border-top:4px solid var(--brand,#d10074)}
.merchant-instruction-box,.merchant-cost-note,.empty-state-card{background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12;border-radius:16px;padding:14px 16px;margin:0 0 16px}.merchant-instruction-box p{margin:5px 0 0}.merchant-declaration{margin-top:12px}
.plan-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:16px}.plan-preview-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:16px;box-shadow:0 10px 24px rgba(15,23,42,.06)}.plan-preview-card strong{display:block;color:#0f172a;font-size:16px}.plan-preview-card span{display:block;color:#64748b;margin:6px 0}.plan-preview-card b{display:block;color:var(--brand,#d10074);font-size:18px}.plan-preview-card small{display:block;color:#64748b;margin-top:6px}
.merchant-portal-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fff7fb,#ecfdf5);border:1px solid #f9a8d4;border-radius:26px;padding:28px;margin:20px auto;max-width:1180px;box-shadow:0 18px 40px rgba(15,23,42,.08)}.merchant-portal-hero h2{margin:8px 0;color:#0f172a}.merchant-portal-hero p{margin:0;color:#475569;max-width:760px}.merchant-dashboard-grid{max-width:1180px;margin:0 auto 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.merchant-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:18px;box-shadow:0 12px 28px rgba(15,23,42,.06)}.merchant-stat-card span{display:block;color:#64748b}.merchant-stat-card strong{display:block;color:#0f172a;font-size:24px;margin-top:8px}
@media(max-width:720px){.merchant-choice-card,.merchant-portal-hero{flex-direction:column;align-items:flex-start}.merchant-choice-field,.merchant-choice-field select{width:100%;min-width:0}}
/* Merchant Portal Refinement Phase A */
.hidden-submission-field{display:none!important}
.submission-type-modal{position:fixed;inset:0;background:rgba(15,23,42,.58);z-index:9999;display:none;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(3px)}
.submission-type-modal.show{display:flex}.submission-type-dialog{width:min(760px,100%);background:#fff;border-radius:26px;border:1px solid #f9a8d4;box-shadow:0 28px 80px rgba(15,23,42,.28);padding:26px}.submission-type-head h3{margin:8px 0 6px;color:#0f172a;font-size:26px}.submission-type-head p{margin:0;color:#64748b}.submission-type-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.submission-option-card{text-align:left;background:linear-gradient(135deg,#fff7fb,#fff);border:1px solid #f9a8d4;border-radius:20px;padding:20px;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,42,.07);transition:.18s ease}.submission-option-card:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(15,23,42,.11)}.submission-option-card.merchant{background:linear-gradient(135deg,#ecfdf5,#fff)}.submission-option-card strong{display:block;color:#0f172a;font-size:18px;margin-bottom:8px}.submission-option-card span{display:block;color:#475569;line-height:1.55}.submission-type-actions{text-align:right}.merchant-choice-summary{border-left:6px solid var(--brand,#d10074)}
.merchant-section-card{margin-bottom:18px}.merchant-section-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}.merchant-section-title>span{background:#16a34a;color:#fff;border-radius:12px;min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;font-weight:900}.merchant-section-title h3{margin:0;color:#0f172a}.merchant-section-title p{margin:3px 0 0;color:#64748b}.merchant-finance-grid,.merchant-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.merchant-finance-card{background:linear-gradient(135deg,#fff7fb,#f8fafc);border:1px solid #e5e7eb;border-radius:18px;padding:18px}.merchant-finance-card strong{display:block;color:#0f172a;font-size:18px}.merchant-finance-card p{color:#64748b;line-height:1.55}.merchant-finance-card b{color:var(--brand,#d10074)}.profile-payment-summary pre{white-space:pre-wrap;margin:0;font-family:inherit;color:#334155}
@media(max-width:720px){.submission-type-options{grid-template-columns:1fr}.submission-type-dialog{padding:20px}.submission-type-head h3{font-size:22px}}


/* Merchant Portal refinement */
.selectable-plan-card{position:relative;cursor:pointer;transition:.18s ease}
.selectable-plan-card:hover{transform:translateY(-2px);border-color:#86efac;box-shadow:0 16px 36px rgba(22,163,74,.12)}
.selectable-plan-card.selected{border:2px solid #16a34a;background:linear-gradient(135deg,#ecfdf5,#ffffff);box-shadow:0 18px 38px rgba(22,163,74,.18)}
.selected-plan-badge{display:none;position:absolute;top:12px;right:12px;background:#16a34a;color:#fff;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:800}
.selectable-plan-card.selected .selected-plan-badge{display:inline-flex}
.time-only-field{display:none}
.merchant-choice-field.hidden-submission-field input[type="hidden"]{display:none}
.merchant-choice-field.hidden-submission-field select{display:none}


/* Merchant Portal refinement - phase C */
.readonly-control{background:#f8fafc;color:#475569;pointer-events:none}
.paid-campaign-fields{margin-top:16px}
.promotion-plan-select-row{margin-bottom:14px}
.plan-preview-card.selected,.plan-preview-card.active-merchant-plan{border-color:#16a34a;background:linear-gradient(135deg,#f0fdf4,#ffffff);box-shadow:0 12px 28px rgba(22,163,74,.16);position:relative}
.plan-preview-card .selected-plan-badge{display:none;position:absolute;top:10px;right:10px;background:#16a34a;color:#fff;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900}
.plan-preview-card.selected .selected-plan-badge,.plan-preview-card.active-merchant-plan .selected-plan-badge{display:inline-block}
.cost-dialog{max-width:680px}
.cost-preview-table{border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;margin:16px 0;background:#fff}
.cost-preview-table div{display:flex;justify-content:space-between;gap:20px;padding:12px 16px;border-bottom:1px solid #eef2f7}
.cost-preview-table div:last-child{border-bottom:0}
.cost-preview-table .total{background:#f0fdf4;color:#14532d;font-size:18px}
.cost-preview-table span{color:#475569;font-weight:800}
.cost-preview-table strong{font-weight:900}
.merchant-stat-card strong{word-break:break-word}

.merchant-promo-badge{display:inline-block;margin-top:8px;background:var(--merchant-promo-badge-bg,#16a34a);color:var(--merchant-promo-badge-color,#fff);border-radius:999px;padding:4px 9px;font-size:11px;font-style:normal;font-weight:900;letter-spacing:.02em}.offer-box .merchant-promo-badge{display:inline-block}

/* Merchant promotion billing preview refinement */
.merchant-payable-link{border:0;background:transparent;color:#00a651;font-weight:900;font-size:15px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:0;text-align:left}
.merchant-payable-link:hover{color:var(--brand,#d10074)}
.merchant-billing-modal{position:fixed;inset:0;background:rgba(15,23,42,.62);z-index:10000;display:none;align-items:center;justify-content:center;padding:14px;backdrop-filter:blur(4px)}
.merchant-billing-modal.show{display:flex}.merchant-billing-dialog{width:min(1180px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:visible;background:linear-gradient(135deg,#fff7fb 0%,#fff 52%,#ecfdf5 100%);border:1px solid #f9a8d4;border-radius:26px;box-shadow:0 28px 90px rgba(15,23,42,.32);padding:24px}.merchant-billing-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.merchant-billing-badge{display:inline-flex;background:#ecfdf5;color:#00a651;border-radius:999px;padding:8px 16px;font-weight:900}.merchant-billing-header h3{margin:10px 0 4px;color:#0f172a;font-size:26px}.merchant-billing-header p{margin:0;color:#334155;font-size:18px}.merchant-billing-close{width:48px;height:48px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#0f172a;font-size:24px;font-weight:900;cursor:pointer}.merchant-billing-close:hover{border-color:#f9a8d4;color:var(--brand,#d10074)}.merchant-billing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.merchant-billing-grid>div{background:rgba(255,255,255,.92);border:1px solid #e5e7eb;border-radius:18px;padding:13px 16px;min-height:78px;box-shadow:0 8px 20px rgba(15,23,42,.04)}.merchant-billing-grid span{display:block;color:#64748b;font-weight:800;margin-bottom:6px}.merchant-billing-grid strong{display:block;color:#00112b;font-size:17px;line-height:1.25}.merchant-billing-total{border-color:#f9a8d4!important;background:linear-gradient(135deg,#fff7fb,#fff)!important}.merchant-billing-total strong{color:#00a651!important;font-size:22px!important}.merchant-billing-note{margin-top:12px;border-left:5px solid #00a651;background:#fff;border-radius:16px;padding:10px 14px;color:#334155}.merchant-billing-note p{margin:4px 0}@media(max-width:980px){.merchant-billing-dialog{overflow:auto}.merchant-billing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.merchant-billing-grid{grid-template-columns:1fr}.merchant-billing-header h3{font-size:22px}.merchant-billing-dialog{padding:18px}}

/* Merchant Billing & Ledger - Phase 4 */
.merchant-invoice-actions{display:flex;gap:8px;flex-wrap:wrap}.merchant-invoice-actions a{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#fff7fb;border:1px solid #f9a8d4;color:#d10074;font-weight:800;text-decoration:none}.merchant-invoice-actions a:hover{background:#d10074;color:#fff}.merchant-billing-subgrid{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;margin-top:20px}.merchant-billing-panel{background:#fff;border:1px solid #f3d7e6;border-radius:18px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.06)}.merchant-billing-panel h4{margin:0 0 12px;color:#0f172a}.merchant-payment-channel-card{border:1px solid #e5e7eb;border-radius:14px;padding:12px;margin-bottom:10px;background:linear-gradient(135deg,#fff7fb,#f8fffb)}.merchant-payment-channel-card strong{color:#009f4d}.merchant-payment-channel-card span,.merchant-payment-channel-card small{display:block;color:#475569;margin-top:4px}.merchant-payment-channel-card p{margin:8px 0 0;color:#334155}.compact-ledger-table table th,.compact-ledger-table table td{padding:10px;font-size:.92rem}@media(max-width:900px){.merchant-billing-subgrid{grid-template-columns:1fr}}


/* Merchant Payment Submission & Verification - Phase 4.2 */
.merchant-pay-now-btn{border:0;border-radius:999px;background:#00a651;color:#fff;padding:7px 13px;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(0,166,81,.18)}
.merchant-pay-now-btn:hover{background:#d10074}
.merchant-payment-modal{position:fixed;inset:0;background:rgba(15,23,42,.62);z-index:10001;display:none;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(4px)}
.merchant-payment-modal.show{display:flex}
.merchant-payment-dialog{position:relative;width:min(880px,calc(100vw - 36px));max-height:calc(100vh - 34px);overflow:auto;background:linear-gradient(135deg,#fff7fb 0%,#fff 52%,#ecfdf5 100%);border:1px solid #f9a8d4;border-radius:26px;box-shadow:0 28px 90px rgba(15,23,42,.32);padding:24px}
.merchant-payment-close{position:absolute;right:18px;top:18px;width:44px;height:44px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#0f172a;font-size:24px;font-weight:900;cursor:pointer}
.merchant-payment-close:hover{border-color:#f9a8d4;color:#d10074}
.merchant-payment-head span{display:inline-flex;background:#ecfdf5;color:#00a651;border-radius:999px;padding:8px 16px;font-weight:900}.merchant-payment-head h3{margin:12px 0 4px;color:#0f172a;font-size:26px}.merchant-payment-head p{margin:0 0 14px;color:#334155}
.merchant-payment-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.merchant-payment-summary div{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:12px}.merchant-payment-summary small{display:block;color:#64748b;font-weight:800;margin-bottom:5px}.merchant-payment-summary strong{display:block;color:#00112b;font-size:16px}
.merchant-payment-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.merchant-payment-form-grid label{font-weight:900;color:#334155}.merchant-payment-form-grid input,.merchant-payment-form-grid select{display:block;width:100%;margin-top:6px;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px;background:#fff;color:#0f172a;font-weight:700}
.merchant-payment-instruction-box{margin:14px 0;border-left:5px solid #00a651;background:#fff;border-radius:14px;padding:12px 14px;color:#334155}.merchant-payment-submit-btn{border:0;border-radius:999px;background:#d10074;color:#fff;padding:11px 18px;font-weight:900;cursor:pointer;box-shadow:0 10px 26px rgba(209,0,116,.22)}.merchant-payment-submit-btn:hover{background:#00a651}
@media(max-width:760px){.merchant-payment-summary,.merchant-payment-form-grid{grid-template-columns:1fr}.merchant-payment-dialog{padding:18px}}


/* Merchant invoice preview from invoice no */
.merchant-invoice-preview-link{border:0;background:transparent;color:#00112b;font:inherit;font-weight:900;text-align:left;cursor:pointer;padding:0;text-decoration:underline;text-decoration-color:#d10074;text-underline-offset:4px}
.merchant-invoice-preview-link:hover{color:#d10074}
.merchant-invoice-preview-modal{position:fixed;inset:0;background:rgba(15,23,42,.68);z-index:10003;display:none;align-items:center;justify-content:center;padding:14px;backdrop-filter:blur(5px)}
.merchant-invoice-preview-modal.show{display:flex}
.merchant-invoice-preview-dialog{position:relative;width:min(1120px,calc(100vw - 28px));height:min(92vh,920px);background:linear-gradient(135deg,#fff7fb 0%,#fff 48%,#ecfdf5 100%);border:1px solid #f9a8d4;border-radius:24px;box-shadow:0 30px 95px rgba(15,23,42,.34);padding:18px;display:flex;flex-direction:column;gap:12px}
.merchant-invoice-preview-close{position:absolute;right:16px;top:16px;width:42px;height:42px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#0f172a;font-size:24px;font-weight:900;cursor:pointer;z-index:2}
.merchant-invoice-preview-close:hover{border-color:#f9a8d4;color:#d10074}
.merchant-invoice-preview-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-right:56px}
.merchant-invoice-preview-head span{display:inline-flex;background:#ecfdf5;color:#00a651;border-radius:999px;padding:7px 14px;font-weight:900}.merchant-invoice-preview-head h3{margin:8px 0 2px;color:#00112b;font-size:22px}.merchant-invoice-preview-head p{margin:0;color:#475569;font-weight:700}.merchant-invoice-preview-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:4px}.merchant-invoice-preview-actions a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #f9a8d4;border-radius:999px;background:#fff7fb;color:#d10074;font-weight:900;text-decoration:none;padding:8px 13px}.merchant-invoice-preview-actions a:hover{background:#d10074;color:#fff}.merchant-invoice-preview-frame{width:100%;flex:1;border:1px solid #e5e7eb;border-radius:18px;background:#fff;min-height:520px}
body.merchant-invoice-preview-open{overflow:hidden}
@media(max-width:780px){.merchant-invoice-preview-dialog{height:92vh;padding:14px}.merchant-invoice-preview-head{display:block;padding-right:52px}.merchant-invoice-preview-actions{justify-content:flex-start;margin-top:10px}.merchant-invoice-preview-frame{min-height:420px}}

/* Merchant invoice-due payable preview */
.merchant-payables-preview-card{position:relative;background:linear-gradient(135deg,#fff7fb 0%,#fff 42%,#ecfdf5 100%);border:1px solid #f9a8d4}
.merchant-payables-preview-card small{display:block;margin-top:5px;color:#64748b;font-size:11px;font-weight:800}
.merchant-payables-preview-link{border:0;background:transparent;color:#00a651;font:inherit;font-size:16px;font-weight:950;padding:0;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:#d10074;text-underline-offset:4px}
.merchant-payables-preview-link:hover{color:#d10074}
.merchant-payables-preview-modal{position:fixed;inset:0;background:rgba(15,23,42,.68);z-index:10005;display:none;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(5px)}
.merchant-payables-preview-modal.show{display:flex}
.merchant-payables-preview-dialog{position:relative;width:min(980px,calc(100vw - 36px));max-height:88vh;overflow:auto;background:linear-gradient(135deg,#fff7fb 0%,#fff 48%,#ecfdf5 100%);border:1px solid #f9a8d4;border-radius:24px;box-shadow:0 30px 95px rgba(15,23,42,.34);padding:24px}
.merchant-payables-preview-close{position:absolute;right:18px;top:18px;width:42px;height:42px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#0f172a;font-size:24px;font-weight:900;cursor:pointer}
.merchant-payables-preview-close:hover{border-color:#f9a8d4;color:#d10074}
.merchant-payables-preview-head{padding-right:56px;margin-bottom:16px}.merchant-payables-preview-head span{display:inline-flex;background:#ecfdf5;color:#00a651;border-radius:999px;padding:7px 14px;font-weight:950}.merchant-payables-preview-head h3{margin:10px 0 4px;color:#00112b;font-size:24px}.merchant-payables-preview-head p{margin:0;color:#475569;font-weight:700}
.merchant-payables-breakdown-table table{background:#fff;border-radius:16px;overflow:hidden}.merchant-payables-breakdown-table table th{color:#00a651}.merchant-payables-breakdown-table tfoot th{background:#fff7fb;color:#00112b;font-size:15px}.merchant-payables-breakdown-table tfoot th:last-child{color:#00a651;font-size:18px}
body.merchant-payables-preview-open{overflow:hidden}
@media(max-width:780px){.merchant-payables-preview-dialog{padding:18px}.merchant-payables-preview-head h3{font-size:20px}}

/* Merchant portal billing/ledger refinement */
.merchant-portal-limit-note{margin:8px 0 14px;color:#475569;font-weight:700;background:linear-gradient(135deg,#fff7fb,#f0fdf4);border:1px solid #f9a8d4;border-radius:14px;padding:10px 14px}
.merchant-portal-older-section{margin-top:14px;border:1px solid #f3d7e6;border-radius:16px;background:#fff;padding:12px}
.merchant-portal-older-section summary{cursor:pointer;font-weight:900;color:#d10074}
.merchant-inline-invoices{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.merchant-invoice-preview-link.inline{display:inline;border:0;background:transparent;color:#d10074;text-decoration:underline;font-weight:800;padding:0}
.merchant-ledger-full-panel{margin-top:20px;width:100%;grid-column:1/-1}
.merchant-ledger-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.merchant-payables-breakdown-table table th,.merchant-payables-breakdown-table table td{vertical-align:top}
@media(max-width:900px){.merchant-ledger-panel-head{align-items:flex-start}.merchant-inline-invoices{display:block}}

.ledger-debit-positive{color:#059669;background:#dcfce7;border:1px solid #bbf7d0;border-radius:999px;padding:4px 10px;font-weight:900;display:inline-flex}.ledger-credit-negative{color:#dc2626;background:#fee2e2;border:1px solid #fecaca;border-radius:999px;padding:4px 10px;font-weight:900;display:inline-flex}

/* Discount KOTO professional lifecycle tracking */
.tracking-section-card{border:1px solid #f9a8d4;background:linear-gradient(135deg,#fff7fb 0%,#f0fdf4 100%)}
.tracking-selector-label{display:block;font-weight:900;color:#334155;margin-bottom:8px}.tracking-selector{width:100%;max-width:520px;border:1px solid #cbd5e1;border-radius:14px;padding:12px 14px;font:inherit;background:#fff;margin-bottom:18px}
.tracking-timeline{position:relative;display:grid;gap:12px;margin-top:8px}.tracking-timeline:before{content:"";position:absolute;left:17px;top:15px;bottom:15px;width:3px;background:#e2e8f0;border-radius:99px}.tracking-step{position:relative;display:flex;gap:16px;align-items:flex-start;padding:14px 16px 14px 0;margin-left:0}.tracking-dot{position:relative;z-index:1;width:36px;height:36px;border-radius:999px;background:#f1f5f9;border:4px solid #fff;box-shadow:0 0 0 1px #cbd5e1;flex:0 0 36px}.tracking-step.done .tracking-dot{background:#16a34a;box-shadow:0 0 0 1px #16a34a}.tracking-step.warning .tracking-dot{background:#f59e0b;box-shadow:0 0 0 1px #f59e0b}.tracking-step.pending .tracking-dot{background:#e2e8f0;box-shadow:0 0 0 1px #cbd5e1}.tracking-step strong{display:block;color:#0f172a;font-size:16px}.tracking-step span{display:block;color:#64748b;font-weight:800;margin-top:2px}.tracking-step p{margin:5px 0 0;color:#334155}.merchant-billing-case-overview table th,.merchant-billing-case-overview table td{vertical-align:top}

/* Merchant portal/profile consistency refinement */
.merchant-portal-hero{max-width:1040px!important;padding:24px!important;border-radius:24px!important;box-shadow:0 16px 34px rgba(15,23,42,.07)!important}.merchant-dashboard-grid{max-width:1040px!important}.merchant-section-card,.merchant-portal .merchant-section-card{max-width:1040px;margin-left:auto!important;margin-right:auto!important;border-radius:22px!important;box-shadow:0 14px 32px rgba(15,23,42,.06)!important}.merchant-section-title>span{background:#16a34a!important}.merchant-stat-card{border-radius:18px!important}.merchant-stat-card:nth-child(3){border-color:#f9a8d4!important;background:linear-gradient(135deg,#fff7fb,#f0fdf4)!important}.shop-detail-modern .dk-share-panel{max-width:100%;}.shop-detail-modern .detail-card{max-width:980px}.professional-offer-card .dk-share-panel{margin-top:12px}.detail-top .dk-share-panel{margin-top:12px}.profile-form label.required:after,.profile-form .required label:after{content:' *';color:#dc2626;font-weight:900}

/* Favourite Shops — visitor experience */
.favourite-toggle-form{display:inline-flex;margin:0}.favourite-shop-btn{font:inherit;cursor:pointer}.favourite-shop-btn.is-saved{background:#fff7fb!important;color:var(--theme-color,#d10074)!important;border-color:var(--theme-color,#d10074)!important}.profile-action-stack{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.profile-action-stack .dashboard-actions{margin-left:0}.dashboard-actions-secondary{justify-content:flex-end}.favourite-profile-link{background:#fff!important;color:var(--theme-color,#d10074)!important;border:1px solid var(--theme-color,#d10074)!important}.favourite-profile-link:hover{background:#fff5fa!important}.favourite-shops-shell{max-width:1180px}.favourite-page-head{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;margin-bottom:18px;border:1px solid #f3d4e5;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#fff8fc 100%)}.favourite-page-head h1{margin:3px 0 5px;color:#0f172a;font-size:30px}.favourite-page-head p{margin:0;color:#64748b}.favourite-eyebrow{display:block;color:var(--theme-color,#d10074);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.favourite-shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.favourite-shop-card{display:flex;flex-direction:column;gap:15px;border:1px solid #e2e8f0;border-radius:18px;padding:18px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.05)}.favourite-shop-card-head{display:flex;gap:14px;align-items:flex-start}.favourite-shop-logo{width:64px;height:64px;flex:0 0 64px;border-radius:17px;background:#fff7fb;border:1px solid #f3bad8;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--theme-color,#d10074);font-size:27px;font-weight:900}.favourite-shop-logo img{width:100%;height:100%;object-fit:cover}.favourite-shop-summary h2{font-size:20px;margin:0 0 4px}.favourite-shop-summary h2 a{color:#0f172a;text-decoration:none}.favourite-shop-summary p{margin:0 0 8px;color:#475569}.favourite-shop-meta{display:flex;flex-wrap:wrap;gap:6px}.favourite-shop-meta span{font-size:12px;font-weight:800;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;padding:4px 8px;border-radius:999px}.favourite-offer-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:13px}.favourite-offer-summary>strong{color:#16a34a}.favourite-offer-summary ul{margin:8px 0 0;padding-left:18px}.favourite-offer-summary li{margin:5px 0;color:#0f172a}.favourite-offer-summary li span{display:block;color:#64748b;font-size:12px}.favourite-no-offer{color:#64748b}.favourite-shop-actions{display:flex;gap:9px;align-items:center;margin-top:auto}.favourite-shop-actions form{margin:0}.favourite-remove-btn{cursor:pointer}.favourite-empty-state{text-align:center;padding:54px 20px;border:1px dashed #f1b6d5;border-radius:20px;background:#fffafd}.favourite-empty-icon{width:70px;height:70px;margin:0 auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--theme-color,#d10074);border:1px solid #f3bad8;font-size:38px}.favourite-empty-state h2{margin:0 0 7px}.favourite-empty-state p{max-width:620px;margin:0 auto 18px;color:#64748b}
@media(max-width:900px){.favourite-shop-grid{grid-template-columns:1fr}.profile-action-stack{width:100%;margin-left:0;align-items:stretch}.profile-action-stack .dashboard-actions,.dashboard-actions-secondary{justify-content:flex-start}.favourite-page-head{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.favourite-page-head{padding:18px}.favourite-page-head h1{font-size:25px}.favourite-shop-card-head{align-items:flex-start}.favourite-shop-actions{align-items:stretch;flex-direction:column}.favourite-shop-actions a,.favourite-shop-actions form,.favourite-shop-actions button{width:100%;text-align:center}.shop-action-row .favourite-toggle-form{width:100%}.shop-action-row .favourite-shop-btn{width:100%}}


/* Merchant portal favourite shops */
.merchant-favourite-section{margin-top:22px}
.merchant-favourite-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.merchant-favourite-card{border:1px solid #f2c7dc;border-radius:18px;background:#fff;padding:16px;display:flex;flex-direction:column;gap:13px;box-shadow:0 8px 24px rgba(21,35,57,.05)}
.merchant-favourite-main{display:flex;gap:13px;align-items:center}
.merchant-favourite-logo{width:58px;height:58px;border-radius:15px;border:1px solid #f3d3e3;background:#fff6fa;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}
.merchant-favourite-logo img{width:100%;height:100%;object-fit:cover}
.merchant-favourite-logo span{font-size:27px;font-weight:800;color:#08a74f}
.merchant-favourite-main h4{margin:0 0 4px;font-size:20px;color:#14223a}
.merchant-favourite-main p,.merchant-favourite-offers p{margin:0;color:#60708a;font-size:14px}
.merchant-favourite-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.merchant-favourite-meta span{font-size:12px;padding:4px 8px;border-radius:999px;background:#fff2f8;color:#8a315f}
.merchant-favourite-offers{min-height:42px;padding:10px 12px;border-radius:12px;background:#f8fafc;color:#52617a}
.merchant-favourite-offers strong{display:block;color:#08a74f;margin-bottom:4px}
.merchant-favourite-actions{display:flex;gap:9px;align-items:center}.merchant-favourite-actions form{margin:0}
.merchant-favourite-footer{margin-top:14px;text-align:right}
@media(max-width:850px){.merchant-favourite-grid{grid-template-columns:1fr}.merchant-favourite-footer{text-align:left}}


/* Merchant Portal favourite navigation refinement */
.merchant-hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;position:relative;z-index:5;min-width:245px}
.merchant-hero-actions .details-btn{margin:0;text-align:center;justify-content:center;white-space:nowrap}
.merchant-favourite-hero-btn{background:#fff!important;color:var(--theme-color,#d10074)!important;border:1px solid var(--theme-color,#d10074)!important;box-shadow:0 8px 20px rgba(209,0,116,.08)}
.merchant-favourite-hero-btn:hover{background:#fff5fa!important;transform:translateY(-1px)}
@media(max-width:760px){.merchant-portal-hero{align-items:stretch}.merchant-hero-actions{width:100%;min-width:0;flex-direction:row;flex-wrap:wrap}.merchant-hero-actions .details-btn{flex:1 1 210px}}


/* Merchant portal hero actions: compact, aligned and consistent with visitor profile actions. */
.merchant-hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:250px;position:relative;z-index:5}
.merchant-hero-actions .details-btn{display:flex;align-items:center;justify-content:center;min-height:48px;text-align:center;white-space:nowrap}
.merchant-favourite-hero-btn{background:#fff!important;color:var(--theme-color,#d10074)!important;border:1px solid var(--theme-color,#d10074)!important;box-shadow:0 8px 20px rgba(209,0,116,.08)}
.merchant-favourite-hero-btn:hover{background:#fff5fa!important;color:var(--theme-color,#d10074)!important;transform:translateY(-1px)}
@media(max-width:760px){.merchant-portal-hero{align-items:stretch}.merchant-hero-actions{width:100%;min-width:0}.merchant-hero-actions .details-btn{width:100%}}

/* Professional paired secondary profile actions */
.profile-secondary-actions{display:flex!important;flex-wrap:nowrap!important;gap:10px!important;justify-content:flex-end!important}.profile-secondary-actions .details-btn{min-width:145px;text-align:center;white-space:nowrap;padding:12px 16px!important}.merchant-secondary-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.merchant-secondary-actions .details-btn{min-width:140px;text-align:center}@media(max-width:900px){.profile-secondary-actions{justify-content:flex-start!important;flex-wrap:wrap!important}.profile-secondary-actions .details-btn,.merchant-secondary-actions .details-btn{min-width:0;flex:1 1 145px}}

/* DiscountKoto Mobile Experience Refinement */
.hero-stat-link,.homepage-stat-link{color:inherit;text-decoration:none}.hero-stat-link small,.homepage-stat-link small{display:block;margin-top:5px;font-size:11px;font-weight:800;opacity:.85}.homepage-stats-dashboard>a{background:var(--stats-card-bg,#fff);border:1px solid var(--stats-card-border,#e5e7eb);border-radius:16px;padding:16px;text-align:center;box-shadow:0 6px 16px rgba(15,23,42,.05);transition:transform .2s ease,box-shadow .2s ease}.homepage-stats-dashboard>a:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(15,23,42,.1)}
.merchant-submit-promotion-btn{display:flex!important;align-items:center;justify-content:center;gap:12px;min-height:82px!important;text-align:left!important;padding:16px 20px!important}.merchant-submit-promotion-btn .merchant-action-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.2);font-size:26px}.merchant-submit-promotion-btn strong,.merchant-submit-promotion-btn small{display:block}.merchant-submit-promotion-btn small{font-size:12px;opacity:.86;margin-top:2px}
.shop-action-row>*{flex:1 1 180px}.shop-action-row .link-btn,.shop-action-row form,.shop-action-row button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center}
.public-list-hero{padding:28px 5.5%;background:linear-gradient(135deg,#16a34a,#d10074);color:#fff;display:flex;justify-content:space-between;gap:20px;align-items:end}.public-list-hero h1{margin:4px 0;font-size:34px}.public-list-hero p{margin:0;max-width:720px}.public-list-back{background:#fff;color:#0f172a;border-radius:12px;padding:11px 16px;font-weight:900}.public-list-shell{padding:22px 5.5% 45px}.public-list-filter{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:16px}.public-list-filter label{display:flex;flex-direction:column;gap:5px;font-weight:800;color:#334155}.public-list-filter-actions{display:flex;gap:8px;align-items:end}.public-list-filter-actions a{padding:11px 14px;border:1px solid #d10074;border-radius:10px;color:#d10074;font-weight:900}.public-list-summary{display:flex;gap:8px;align-items:baseline;margin:20px 0 12px}.public-list-summary strong{font-size:28px;color:#16a34a}.public-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.public-result-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:16px;display:flex;gap:14px;box-shadow:0 8px 22px rgba(15,23,42,.05)}.result-logo{width:72px;height:72px;flex:0 0 72px;border-radius:16px;background:#fff5fa;border:1px solid #f5cde3;display:grid;place-items:center;overflow:hidden;font-size:30px;font-weight:900;color:#d10074}.result-logo img{width:100%;height:100%;object-fit:contain}.result-content{min-width:0;flex:1}.result-type{font-size:11px;font-weight:900;color:#16a34a;text-transform:uppercase;letter-spacing:.06em}.result-content h2{font-size:20px;margin:4px 0}.result-content p{color:#64748b;margin:0 0 10px}.result-highlight{background:#fff3f9;color:#16a34a;border-radius:12px;padding:10px;font-size:20px;font-weight:900}.result-meta{display:flex;justify-content:space-between;gap:8px;color:#64748b;font-size:12px;margin:10px 0}.result-content>a{display:block;background:#16a34a;color:#fff;border-radius:10px;padding:10px;text-align:center;font-weight:900}.public-taxonomy-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:6px}.public-taxonomy-card span{font-size:20px;font-weight:900}.public-taxonomy-card strong{font-size:34px;color:#16a34a}.public-taxonomy-card small{color:#d10074;font-weight:800}.public-list-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:24px}.public-list-pagination a{background:#16a34a;color:#fff;padding:10px 14px;border-radius:10px;font-weight:900}.public-list-empty{grid-column:1/-1;background:#fff;border:1px dashed #cbd5e1;border-radius:16px;padding:30px;text-align:center}
@media(max-width:900px){.public-list-filter{grid-template-columns:1fr 1fr}.public-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .hero-small{padding:22px 20px}.hero-small h1{font-size:31px}.hero-actions{margin-top:16px;width:auto;min-width:150px;display:inline-block;padding:13px 24px}.hero-actions strong{font-size:32px}.hero-stat-link small{font-size:10px}
 .merchant-portal-shell{padding-left:14px!important;padding-right:14px!important}.merchant-portal-hero{padding:22px!important;border-radius:20px!important}.merchant-portal-hero h2{font-size:27px!important}.merchant-hero-actions{width:100%!important}.merchant-submit-promotion-btn{width:100%!important;min-height:72px!important}.merchant-secondary-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%;gap:10px}.merchant-secondary-actions a{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center}
 .merchant-portal-shell .responsive-table{overflow:visible!important}.merchant-portal-shell .responsive-table table,.merchant-portal-shell .responsive-table thead,.merchant-portal-shell .responsive-table tbody,.merchant-portal-shell .responsive-table tr,.merchant-portal-shell .responsive-table th,.merchant-portal-shell .responsive-table td{display:block;width:100%!important}.merchant-portal-shell .responsive-table thead{display:none}.merchant-portal-shell .responsive-table table{min-width:0!important;border:0!important}.merchant-portal-shell .responsive-table tr{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:12px;padding:10px;box-shadow:0 4px 12px rgba(15,23,42,.04)}.merchant-portal-shell .responsive-table td{border:0!important;border-bottom:1px solid #f1f5f9!important;padding:9px 6px!important;display:grid!important;grid-template-columns:minmax(105px,38%) 1fr;gap:10px;word-break:break-word}.merchant-portal-shell .responsive-table td:last-child{border-bottom:0!important}.merchant-portal-shell .responsive-table td:before{content:attr(data-label);font-weight:900;color:#64748b}
 .search-panel form{overflow:visible!important;position:relative}.searchable-select{position:relative!important;z-index:auto!important}.searchable-select.open{z-index:30!important}.searchable-options{position:absolute!important;top:calc(100% + 5px)!important;left:0!important;right:0!important;max-height:220px!important;overflow-y:auto!important;background:#fff!important;box-shadow:0 14px 30px rgba(15,23,42,.18)!important}.searchable-select.open+.searchable-select{z-index:1!important}
 .shop-action-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.shop-action-row>*{min-width:0!important;width:100%!important;flex:auto!important}.shop-action-row .favourite-toggle-form{grid-column:1/-1}.shop-action-row .favourite-shop-btn{min-height:48px!important}
 .public-list-hero{display:block;padding:24px 20px}.public-list-hero h1{font-size:30px}.public-list-back{display:inline-block;margin-top:16px}.public-list-shell{padding:16px}.public-list-filter{grid-template-columns:1fr;padding:14px}.public-list-filter-actions{align-items:center}.public-list-filter-actions>*{flex:1;text-align:center}.public-list-grid{grid-template-columns:1fr}.public-result-card{padding:14px}.result-logo{width:58px;height:58px;flex-basis:58px}.public-taxonomy-card{padding:17px}
}


/* Mobile refinement correction: compact actions, centered hero statistic and readable ledger cards. */
.hero-small .hero-actions{
  align-self:center;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.hero-small .hero-stat-link small,
.homepage-stat-link small{display:none!important;}

.merchant-submit-promotion-btn{
  display:inline-flex!important;
  width:auto!important;
  min-width:220px;
  min-height:48px!important;
  padding:12px 20px!important;
  text-align:center!important;
  white-space:nowrap;
  font-weight:900;
}
.merchant-submit-promotion-btn .merchant-action-icon,
.merchant-submit-promotion-btn small{display:none!important;}
.merchant-hero-actions{align-items:flex-end;}

.shop-action-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px!important;
  align-items:stretch;
}
.shop-action-row>*{width:100%!important;min-width:0!important;flex:none!important;margin:0!important;}
.shop-action-row .link-btn,
.shop-action-row form,
.shop-action-row button{width:100%!important;min-height:48px!important;height:100%;}
.shop-action-row .favourite-toggle-form{grid-column:auto!important;}

@media(max-width:700px){
  .hero-small{display:flex!important;flex-direction:column!important;align-items:stretch!important;}
  .hero-small .hero-actions{align-self:center!important;margin:16px auto 0!important;min-width:150px!important;}
  .merchant-hero-actions{align-items:stretch!important;}
  .merchant-submit-promotion-btn{width:auto!important;min-width:0!important;align-self:flex-end!important;min-height:48px!important;padding:12px 18px!important;}
  .merchant-secondary-actions{width:100%!important;}
  .merchant-portal-shell .compact-ledger-table td{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    grid-template-columns:none!important;
    text-align:left!important;
    gap:4px!important;
  }
  .merchant-portal-shell .compact-ledger-table td::before{
    display:block!important;
    width:100%!important;
    text-align:left!important;
  }
  .merchant-portal-shell .compact-ledger-table td>*{text-align:left!important;}
  .shop-action-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .shop-action-row .link-btn,.shop-action-row button{padding:10px 8px!important;font-size:14px!important;white-space:normal!important;line-height:1.25!important;}
}
@media(max-width:460px){
  .shop-action-row{grid-template-columns:1fr!important;}
  .merchant-submit-promotion-btn{align-self:stretch!important;width:100%!important;}
}


/* Final mobile action refinement and SEO-safe browse navigation alignment. */
.merchant-hero-actions{
  align-items:flex-end!important;
  min-width:0!important;
}
.merchant-submit-promotion-btn{
  flex:0 0 auto!important;
  align-self:flex-end!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:44px!important;
  padding:10px 16px!important;
  border-radius:11px!important;
  font-size:15px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}

.shop-action-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:stretch!important;
}
.shop-action-row > *{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.shop-action-row .link-btn,
.shop-action-row button{
  width:100%!important;
  height:100%!important;
  min-height:46px!important;
  padding:8px 5px!important;
  border-radius:11px!important;
  font-size:13px!important;
  line-height:1.15!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.shop-action-row .favourite-toggle-form{
  display:flex!important;
  grid-column:auto!important;
}

@media(max-width:700px){
  .merchant-hero-actions{
    width:100%!important;
    align-items:flex-start!important;
  }
  .merchant-submit-promotion-btn{
    align-self:flex-start!important;
    width:auto!important;
    min-height:44px!important;
    padding:10px 15px!important;
    font-size:14px!important;
  }
  .shop-action-row{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .shop-action-row .link-btn,
  .shop-action-row button{
    min-height:44px!important;
    padding:7px 3px!important;
    font-size:11.5px!important;
    letter-spacing:-.01em!important;
  }
}

@media(max-width:380px){
  .merchant-submit-promotion-btn{
    font-size:13px!important;
    padding:9px 13px!important;
  }
  .shop-action-row{
    gap:5px!important;
  }
  .shop-action-row .link-btn,
  .shop-action-row button{
    font-size:10.5px!important;
    padding:6px 2px!important;
  }
}


/* DiscountKoto V25: compact responsive running-offer cards
   Keep the complete source data intact while preventing long Bangla/English
   offer text from changing the visual rhythm of the homepage grid. */
.discount-grid:has(.home-running-offer-card){align-items:stretch}
.home-running-offer-card{
  height:auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.home-running-offer-card .card-top{
  min-height:0;
  min-width:0;
}
.home-running-offer-card .shop-card-info{min-width:0}
.home-running-offer-card .shop-title{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  overflow-wrap:anywhere;
  line-height:1.15;
}
.home-running-offer-card .address{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  overflow-wrap:anywhere;
}
.home-running-offer-card .home-offer-box{
  box-sizing:border-box;
  height:108px;
  min-height:108px;
  max-height:108px;
  margin:12px 0 10px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.home-running-offer-card .home-offer-box>span{flex:0 0 auto}
.home-running-offer-card .home-offer-text{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  text-overflow:ellipsis;
  overflow-wrap:anywhere;
  word-break:normal;
  max-width:100%;
  font-size:clamp(1.55rem,2vw,1.95rem);
  line-height:1.08;
  letter-spacing:-.015em;
}
.home-running-offer-card .home-offer-text.is-medium{font-size:clamp(1.35rem,1.75vw,1.75rem);line-height:1.1}
.home-running-offer-card .home-offer-text.is-long{font-size:clamp(1.18rem,1.5vw,1.5rem);line-height:1.13}
.home-running-offer-card .home-offer-text.is-extra-long{font-size:clamp(1.03rem,1.3vw,1.3rem);line-height:1.16}
.home-running-offer-card .merchant-promo-badge{align-self:flex-start;flex:0 0 auto}
.home-running-offer-card .home-discount-title{
  min-height:0;
  margin:8px 0 6px;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  text-overflow:ellipsis;
  overflow-wrap:anywhere;
  line-height:1.35;
}
.home-running-offer-card .home-offer-meta{
  min-height:0;
  align-items:flex-start;
  margin:6px 0 12px;
  flex-wrap:wrap;
}
.home-running-offer-card .details-btn{align-self:flex-start;margin-top:0}

@media (max-width:1200px){
  .home-running-offer-card .home-offer-box{height:104px;min-height:104px;max-height:104px}
}
@media (max-width:700px){
  .home-running-offer-card{min-height:0}
  .home-running-offer-card .card-top{min-height:0}
  .home-running-offer-card .home-offer-box{height:100px;min-height:100px;max-height:100px;margin:11px 0 9px}
  .home-running-offer-card .home-offer-text{font-size:clamp(1.35rem,6vw,1.7rem)}
  .home-running-offer-card .home-offer-text.is-medium{font-size:clamp(1.22rem,5.4vw,1.52rem)}
  .home-running-offer-card .home-offer-text.is-long{font-size:clamp(1.08rem,4.8vw,1.34rem)}
  .home-running-offer-card .home-offer-text.is-extra-long{font-size:clamp(.98rem,4.3vw,1.18rem)}
  .home-running-offer-card .home-discount-title{min-height:0;margin:7px 0 5px}
  .home-running-offer-card .home-offer-meta{min-height:0;margin:5px 0 11px}
}
@media (max-width:380px){
  .home-running-offer-card{min-height:0;padding:15px}
  .home-running-offer-card .shop-logo{width:72px;height:72px;min-width:72px}
  .home-running-offer-card .shop-title{font-size:21px}
  .home-running-offer-card .card-top{min-height:0;gap:11px}
  .home-running-offer-card .home-offer-box{height:96px;min-height:96px;max-height:96px;padding:10px}
}

/* DiscountKoto V26: slightly tighter running-offer card rhythm
   Presentation-only refinement: preserve V25 responsive clamping while
   reducing unnecessary vertical whitespace across desktop/tablet/mobile. */
.home-running-offer-card{
  padding:16px;
}
.home-running-offer-card .home-offer-box{
  height:98px;
  min-height:98px;
  max-height:98px;
  margin:10px 0 7px;
  padding:9px 12px;
}
.home-running-offer-card .home-discount-title{
  margin:5px 0 3px;
}
.home-running-offer-card .home-offer-meta{
  margin:4px 0 8px;
}
.home-running-offer-card .rating-counter-row{
  margin:4px 0;
}

@media (max-width:1200px){
  .home-running-offer-card .home-offer-box{
    height:96px;
    min-height:96px;
    max-height:96px;
  }
}
@media (max-width:700px){
  .home-running-offer-card{
    padding:15px;
  }
  .home-running-offer-card .home-offer-box{
    height:94px;
    min-height:94px;
    max-height:94px;
    margin:9px 0 6px;
    padding:8px 11px;
  }
  .home-running-offer-card .home-discount-title{
    margin:5px 0 3px;
  }
  .home-running-offer-card .home-offer-meta{
    margin:4px 0 8px;
  }
}
@media (max-width:380px){
  .home-running-offer-card{
    padding:14px;
  }
  .home-running-offer-card .home-offer-box{
    height:92px;
    min-height:92px;
    max-height:92px;
    padding:8px 10px;
  }
}

/* DiscountKoto V27: compact equal-height running offer cards
   Keep all cards aligned while reducing visual blank space inside the offer panel.
   Long Bangla/English offers remain clamped and use the existing adaptive font tiers. */
.discount-grid:has(.home-running-offer-card){
  align-items:stretch;
}
.home-running-offer-card{
  height:100%;
}
.home-running-offer-card .home-offer-box{
  height:82px;
  min-height:82px;
  max-height:82px;
  padding:7px 11px;
  margin:8px 0 6px;
  justify-content:center;
}
.home-running-offer-card .home-offer-box>span{
  line-height:1.1;
  margin-bottom:2px;
}
.home-running-offer-card .home-offer-text{
  line-height:1.05;
}
.home-running-offer-card .home-offer-text.is-medium{line-height:1.07}
.home-running-offer-card .home-offer-text.is-long{line-height:1.09}
.home-running-offer-card .home-offer-text.is-extra-long{line-height:1.11}
.home-running-offer-card .home-discount-title{margin:4px 0 2px}
.home-running-offer-card .home-offer-meta{margin:3px 0 7px}
.home-running-offer-card .details-btn{margin-top:0}

@media (max-width:1200px){
  .home-running-offer-card .home-offer-box{
    height:80px;
    min-height:80px;
    max-height:80px;
  }
}
@media (max-width:700px){
  .home-running-offer-card .home-offer-box{
    height:78px;
    min-height:78px;
    max-height:78px;
    padding:6px 10px;
    margin:7px 0 5px;
  }
  .home-running-offer-card .home-discount-title{margin:4px 0 2px}
  .home-running-offer-card .home-offer-meta{margin:3px 0 7px}
}
@media (max-width:380px){
  .home-running-offer-card .home-offer-box{
    height:76px;
    min-height:76px;
    max-height:76px;
    padding:6px 9px;
  }
}

/* DiscountKoto V29: public Active Shop / Running Offer detail-card alignment.
   Keep informational content naturally left-aligned across desktop, tablet and mobile.
   CTA labels remain centered. */
.public-result-card .result-content,
.public-result-card .result-content h2,
.public-result-card .result-content p,
.public-result-card .result-highlight,
.public-result-card .result-meta,
.public-result-card .result-meta span {
  text-align: left;
}

.public-result-card .result-meta {
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 24px;
  row-gap: 4px;
}

.public-result-card .result-content > a {
  text-align: center;
}

@media (max-width: 600px) {
  .public-result-card .result-meta {
    column-gap: 16px;
  }
}


/* DiscountKoto V30: public statistics list card alignment + compact fixed rhythm.
   Presentation-only. Explicit mode classes prevent generic result styles from
   re-centering content and keep Running Offer cards uniform across rows. */
.public-list-grid.mode-offers .public-offer-result-card,
.public-list-grid.mode-shops .public-shop-result-card{
  text-align:left!important;
  align-items:flex-start;
}
.public-list-grid.mode-offers .public-offer-result-card .result-content,
.public-list-grid.mode-shops .public-shop-result-card .result-content{
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start!important;
  text-align:left!important;
}
.public-list-grid.mode-offers .result-type,
.public-list-grid.mode-offers .result-content h2,
.public-list-grid.mode-offers .result-content p,
.public-list-grid.mode-offers .result-highlight,
.public-list-grid.mode-offers .result-meta,
.public-list-grid.mode-offers .result-meta span,
.public-list-grid.mode-shops .result-type,
.public-list-grid.mode-shops .result-content h2,
.public-list-grid.mode-shops .result-content p,
.public-list-grid.mode-shops .result-meta,
.public-list-grid.mode-shops .result-meta span{
  width:100%;
  text-align:left!important;
}
.public-list-grid.mode-offers .result-meta,
.public-list-grid.mode-shops .result-meta{
  justify-content:flex-start!important;
  align-items:center!important;
  flex-wrap:wrap;
  column-gap:24px;
  row-gap:3px;
}

/* Running Offers: same visual height across the three-column result grid. */
.public-list-grid.mode-offers{
  align-items:stretch;
  grid-auto-rows:250px;
}
.public-list-grid.mode-offers .public-offer-result-card{
  box-sizing:border-box;
  height:250px;
  min-height:250px;
  max-height:250px;
  overflow:hidden;
}
.public-list-grid.mode-offers .result-content h2{
  margin:3px 0 2px;
  line-height:1.15;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
  overflow:hidden;
  text-overflow:ellipsis;
}
.public-list-grid.mode-offers .result-content p{
  margin:0 0 7px;
  line-height:1.25;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  text-overflow:ellipsis;
  overflow-wrap:anywhere;
}
.public-list-grid.mode-offers .result-highlight{
  box-sizing:border-box;
  height:70px;
  min-height:70px;
  max-height:70px;
  padding:8px 10px;
  display:flex;
  align-items:center;
  justify-content:flex-start!important;
  overflow:hidden;
  line-height:1.08;
}
.public-list-grid.mode-offers .result-highlight{
  font-size:clamp(1.05rem,1.45vw,1.35rem);
}
.public-list-grid.mode-offers .result-highlight::first-line{
  line-height:1.08;
}
.public-list-grid.mode-offers .result-meta{
  margin:7px 0 6px;
  min-height:18px;
}
.public-list-grid.mode-offers .result-content>a{
  width:100%;
  box-sizing:border-box;
  margin-top:auto;
  text-align:center!important;
}

/* Active Shops: force genuine left alignment and use a compact CTA. */
.public-list-grid.mode-shops .public-shop-result-card{
  min-height:166px;
}
.public-list-grid.mode-shops .result-content h2{
  margin:3px 0 2px;
  line-height:1.15;
}
.public-list-grid.mode-shops .result-content p{
  margin:0 0 6px;
  line-height:1.25;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  text-overflow:ellipsis;
  overflow-wrap:anywhere;
}
.public-list-grid.mode-shops .result-meta{
  margin:4px 0 8px;
}
.public-list-grid.mode-shops .result-content>a{
  display:inline-flex!important;
  width:auto!important;
  min-width:168px;
  max-width:100%;
  align-self:flex-start!important;
  justify-content:center;
  margin-top:auto;
  padding:9px 16px;
  text-align:center!important;
}

@media(max-width:900px){
  .public-list-grid.mode-offers{grid-auto-rows:244px}
  .public-list-grid.mode-offers .public-offer-result-card{
    height:244px;min-height:244px;max-height:244px;
  }
  .public-list-grid.mode-offers .result-highlight{
    height:68px;min-height:68px;max-height:68px;
  }
}
@media(max-width:600px){
  /* One-column mobile still uses a controlled height, with extra room for
     two-line shop/address text while remaining compact and consistent. */
  .public-list-grid.mode-offers{grid-auto-rows:238px}
  .public-list-grid.mode-offers .public-offer-result-card{
    height:238px;min-height:238px;max-height:238px;
  }
  .public-list-grid.mode-offers .result-highlight{
    height:66px;min-height:66px;max-height:66px;
    font-size:clamp(1rem,5vw,1.22rem);
  }
  .public-list-grid.mode-offers .result-meta,
  .public-list-grid.mode-shops .result-meta{
    column-gap:16px;
  }
  .public-list-grid.mode-shops .result-content>a{
    min-width:154px;
    padding:8px 14px;
  }
}
@media(max-width:380px){
  .public-list-grid.mode-offers{grid-auto-rows:232px}
  .public-list-grid.mode-offers .public-offer-result-card{
    height:232px;min-height:232px;max-height:232px;
  }
  .public-list-grid.mode-offers .result-highlight{
    height:64px;min-height:64px;max-height:64px;
  }
}

/* DiscountKoto V31: mobile public-list consistency + compact left CTAs.
   Scope is limited to public statistics list pages. */
.public-list-shell,
.public-list-filter,
.public-list-grid,
.public-list-grid > .public-result-card{
  box-sizing:border-box;
  max-width:100%;
}
.public-list-grid{
  width:100%;
}
.public-list-grid > .public-result-card{
  width:100%;
  min-width:0;
}
.public-list-grid.mode-offers .result-content > a,
.public-list-grid.mode-shops .result-content > a{
  display:inline-flex!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%;
  align-self:flex-start!important;
  justify-content:center;
  margin-top:auto;
  padding:9px 16px!important;
  text-align:center!important;
  white-space:nowrap;
}

@media(max-width:700px){
  .public-list-shell{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:14px 12px 28px!important;
    overflow-x:hidden;
  }
  .public-list-filter,
  .public-list-grid,
  .public-list-summary{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .public-list-filter{
    padding:12px!important;
    gap:10px!important;
  }
  .public-list-filter label,
  .public-list-filter input,
  .public-list-filter select,
  .public-list-filter-actions{
    min-width:0!important;
    width:100%!important;
    box-sizing:border-box;
  }
  .public-list-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px;
  }
  .public-list-grid > .public-result-card{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }
  .public-list-grid.mode-offers .result-content > a,
  .public-list-grid.mode-shops .result-content > a{
    width:auto!important;
    min-width:148px!important;
    max-width:100%;
    align-self:flex-start!important;
    padding:9px 15px!important;
  }
}

@media(max-width:380px){
  .public-list-shell{padding-left:10px!important;padding-right:10px!important}
  .public-list-grid.mode-offers .result-content > a,
  .public-list-grid.mode-shops .result-content > a{
    min-width:140px!important;
    padding:8px 13px!important;
  }
}

/* DiscountKoto V32: mobile 100%-viewport containment.
   Prevent horizontal page scrolling by making public list cards structurally
   shrink-safe instead of clipping overflowing content. Presentation-only. */
@media (max-width: 700px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
  }

  .topbar,
  .topbar .brand,
  .topbar nav,
  .public-list-hero,
  .public-list-shell,
  .public-list-filter,
  .public-list-summary,
  .public-list-grid,
  .public-list-grid > .public-result-card {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .topbar {
    width: 100%;
    overflow: hidden;
  }

  .topbar .brand {
    width: 100%;
  }

  .topbar nav {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    overflow: visible;
  }

  /* A two-column CSS grid is more reliable than a flex row on narrow phones:
     the second column can always shrink below its intrinsic text width. */
  .public-list-grid > .public-result-card {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 12px !important;
    width: 100% !important;
    overflow: hidden;
  }

  .public-list-grid > .public-result-card .result-logo {
    width: 58px !important;
    height: 58px !important;
    min-width: 0 !important;
    max-width: 58px !important;
  }

  .public-list-grid > .public-result-card .result-content {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden;
  }

  .public-list-grid > .public-result-card .result-type,
  .public-list-grid > .public-result-card .result-content h2,
  .public-list-grid > .public-result-card .result-content p,
  .public-list-grid > .public-result-card .result-highlight,
  .public-list-grid > .public-result-card .result-meta,
  .public-list-grid > .public-result-card .result-meta span {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .public-list-grid > .public-result-card .result-content p {
    white-space: normal !important;
  }

  .public-list-grid > .public-result-card .result-highlight {
    width: 100% !important;
    overflow: hidden;
  }

  .public-list-grid > .public-result-card .result-meta {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    flex-wrap: wrap !important;
    column-gap: 16px !important;
    row-gap: 3px !important;
  }

  .public-list-grid > .public-result-card .result-meta span {
    flex: 0 1 auto;
  }

  /* Keep list CTAs compact, left positioned and always inside the viewport. */
  .public-list-grid.mode-offers .public-offer-result-card .result-content > a,
  .public-list-grid.mode-shops .public-shop-result-card .result-content > a {
    display: inline-flex !important;
    width: fit-content !important;
    min-width: 0 !important;
    max-width: 100% !important;
    align-self: flex-start !important;
    justify-content: center !important;
    padding: 9px 15px !important;
    white-space: normal !important;
  }

  /* Form controls must not contribute intrinsic width on mobile. */
  .public-list-filter > *,
  .public-list-filter label,
  .public-list-filter input,
  .public-list-filter select,
  .public-list-filter-actions,
  .public-list-filter-actions > * {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 380px) {
  .public-list-grid > .public-result-card {
    grid-template-columns: 54px minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  .public-list-grid > .public-result-card .result-logo {
    width: 54px !important;
    height: 54px !important;
    max-width: 54px !important;
  }
}

/* V33 — Admin-configurable homepage search/intro presentation */
.homepage-search-form{grid-template-columns:minmax(240px,2fr) repeat(auto-fit,minmax(160px,1fr));}
.homepage-search-form>*{min-width:0;}
.homepage-search-button{min-width:110px;}
.homepage-running-discounts-intro h2{font-size:var(--homepage-running-heading-size,26px);}
.homepage-running-discounts-intro p{font-size:var(--homepage-running-info-size,15px);}
@media(max-width:1000px){.homepage-search-form{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.homepage-search-form{grid-template-columns:minmax(0,1fr);}.homepage-search-button{width:100%;}}

/* Brand SEO + discount search authority: useful visible homepage context, not hidden SEO text. */
.brand-search-authority{margin:18px 5.5% 4px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #dbe7df;border-radius:20px;background:linear-gradient(135deg,#f6fff8 0%,#fff7fb 100%);box-shadow:0 8px 26px rgba(15,23,42,.05)}
.brand-search-authority-copy{max-width:920px}.brand-search-authority-kicker{display:inline-block;margin-bottom:5px;color:#16a34a;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.brand-search-authority h2{margin:0;color:#0f172a;font-size:clamp(20px,2.1vw,28px);line-height:1.2}.brand-search-authority p{margin:7px 0 0;color:#475569;font-size:14px;line-height:1.65}.brand-search-authority-actions{display:flex;gap:9px;flex-wrap:wrap;flex:0 0 auto}.brand-search-authority-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 15px;border-radius:11px;background:#16a34a;color:#fff;text-decoration:none;font-weight:850;white-space:nowrap}.brand-search-authority-actions a.secondary{background:#fff;color:#d10074;border:1px solid #f3a6cc}.brand-search-authority-actions a:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.09)}
@media(max-width:820px){.brand-search-authority{align-items:flex-start;flex-direction:column}.brand-search-authority-actions{width:100%}.brand-search-authority-actions a{flex:1 1 190px}}
