.benefits-page{background:linear-gradient(180deg,#fff9f7 0,#fff 340px);min-height:100vh}.benefits-shell{max-width:1120px}.benefits-nav{background:#fff;border-bottom:1px solid #f1e6e7}.benefits-hero{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:2.2rem 0 1.2rem}.benefits-kicker{color:#aa1c41;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.benefits-hero h1{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:900;margin:.35rem 0}.benefits-hero p{color:#75666a;margin:0}.benefits-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem}.benefits-tab{border:1px solid #ead9dc;background:#fff;color:#715e63;border-radius:999px;padding:.55rem .85rem;font-weight:700}.benefits-tab.is-active{background:#aa1c41;border-color:#aa1c41;color:#fff}.benefits-status{min-height:1.4rem}.benefits-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.benefit-card{display:flex;flex-direction:column;border:1px solid #f0e1e2;border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(100,35,50,.06);overflow:hidden}.benefit-card-top{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:1rem 1.1rem 0}.benefit-type{color:#aa1c41;font-size:.76rem;font-weight:800}.benefit-card-body{padding:1rem 1.1rem 1.15rem}.benefit-card h2{font-size:1.15rem;font-weight:900;margin:0 0 .55rem}.benefit-business{font-weight:800;color:#3d3034}.benefit-description{color:#675b5f;line-height:1.55;margin:.65rem 0}.benefit-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:.8rem 0;color:#655a5d;font-size:.86rem}.benefit-meta span{display:block}.benefit-meta strong{display:block;color:#292124;font-size:.88rem;margin-top:.18rem}.benefit-conditions{background:#fff7f5;border-radius:12px;color:#735b60;font-size:.82rem;padding:.65rem .75rem;min-height:2.5rem}.benefit-card-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.benefit-empty{border:1px dashed #e2ced1;border-radius:18px;background:#fff;padding:2.5rem 1rem;text-align:center;color:#78686c}.benefit-toast{position:fixed;right:1rem;bottom:1rem;z-index:1050;max-width:360px}.benefit-muted-badge{display:inline-flex;border-radius:999px;background:#f7ecee;color:#8d3d54;padding:.28rem .55rem;font-size:.74rem;font-weight:800}.benefit-primary-button{background:#aa1c41;border:1px solid #aa1c41;color:#fff;border-radius:999px;padding:.65rem .95rem;font-weight:800}.benefit-secondary-button{background:#fff;border:1px solid #d8bfc3;color:#8d304b;border-radius:999px;padding:.65rem .95rem;font-weight:800}@media(max-width:767.98px){.benefits-hero{align-items:start;flex-direction:column}.benefits-grid{grid-template-columns:1fr}.benefit-meta{grid-template-columns:1fr 1fr}.benefit-card-actions>*{flex:1 1 auto;text-align:center}}
.mypage-benefits-section{background:linear-gradient(135deg,#fff7f5,#fff);border-color:#f0dfe1}.mypage-benefits-list{display:grid;gap:.75rem}.mypage-benefit-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;border:1px solid #f0e2e3;border-radius:16px;background:#fff;padding:1rem}.mypage-benefit-card h3{font-size:1rem;font-weight:900;margin:0 0 .35rem}.mypage-benefit-meta{color:#75666a;font-size:.83rem}.mypage-benefit-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.mypage-benefit-qr{display:flex;align-items:center;gap:.8rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #f4e8e9}.mypage-benefit-qr canvas,.mypage-benefit-qr img{width:132px;height:132px;background:#fff;border-radius:8px}.mypage-benefit-number{font-size:.8rem;color:#705f64}.mypage-benefit-cancel{border:0;background:none;color:#aa1c41;font-size:.8rem;font-weight:700}@media(max-width:575.98px){.mypage-benefit-card{grid-template-columns:1fr}.mypage-benefit-actions{justify-content:flex-start}}
.merchant-scan-page{background:#faf7f7;min-height:100vh}.merchant-shell{max-width:760px}.merchant-panel{background:#fff;border:1px solid #eadfe0;border-radius:22px;padding:1.25rem;box-shadow:0 12px 30px rgba(50,20,30,.05)}.merchant-scanner{display:grid;place-items:center;min-height:180px;border:1px dashed #d5bdc1;border-radius:16px;background:#fffaf9;overflow:hidden}.merchant-scanner video{width:100%;max-height:320px;object-fit:cover}.merchant-status{min-height:1.4rem}.merchant-claim-preview{border:1px solid #eadfe0;border-radius:16px;padding:1rem;margin-top:1rem;background:#fff}.merchant-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.merchant-form-grid label{font-size:.8rem;font-weight:700;color:#675a5e}.merchant-form-grid input{margin-top:.3rem}@media(max-width:575.98px){.merchant-form-grid{grid-template-columns:1fr}}
.admin-benefits-shell{max-width:1100px}.admin-benefit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem;border:1px solid #eadfe0;border-radius:16px;background:#fff}.admin-benefit-list{display:grid;gap:.7rem}.admin-benefit-meta{color:#75666a;font-size:.82rem}.admin-benefit-actions{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}@media(max-width:767.98px){.admin-benefit-row{grid-template-columns:1fr}.admin-benefit-actions{justify-content:flex-start}}
.benefit-service{color:#7a6269;font-size:.84rem;margin-top:.25rem}
.merchant-benefits-page{background:#faf7f7;min-height:100vh}.merchant-benefits-shell{max-width:1100px}.merchant-benefit-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;color:#76676c;font-size:.82rem}.merchant-benefit-breadcrumb a{color:#8d304b;font-weight:800;text-decoration:none}.merchant-benefit-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}.merchant-benefit-panel{background:#fff;border:1px solid #eadfe0;border-radius:20px;padding:1.15rem;box-shadow:0 10px 26px rgba(50,20,30,.04)}.merchant-benefit-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.merchant-benefit-form-grid .full{grid-column:1/-1}.merchant-benefit-form-grid label{font-size:.84rem;font-weight:700;color:#5d4d52}.merchant-benefit-form-grid input,.merchant-benefit-form-grid textarea,.merchant-benefit-form-grid select{margin-top:.3rem}.merchant-benefit-days{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.35rem}.merchant-benefit-days label{display:inline-flex;align-items:center;gap:.25rem;border:1px solid #eadfe0;border-radius:999px;padding:.35rem .55rem;font-size:.78rem;font-weight:600}.merchant-benefit-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.merchant-benefit-status{min-height:1.4rem}.merchant-campaign-list,.merchant-redemption-list{display:grid;gap:.65rem}.merchant-campaign-row,.merchant-redemption-row{border:1px solid #eee1e2;border-radius:14px;padding:.85rem;background:#fff}.merchant-campaign-row{display:flex;justify-content:space-between;gap:.8rem;align-items:start}.merchant-campaign-row h3{font-size:.98rem;font-weight:900;margin:0 0 .25rem}.merchant-campaign-meta,.merchant-redemption-meta{color:#76676c;font-size:.78rem;line-height:1.55}.merchant-campaign-row .merchant-benefit-actions{margin-top:0;justify-content:flex-end}.merchant-empty{border:1px dashed #dfcccf;border-radius:14px;padding:1.25rem;color:#76676c;text-align:center}.merchant-benefit-help{font-size:.8rem;color:#76676c}@media(max-width:800px){.merchant-benefit-layout{grid-template-columns:1fr}}@media(max-width:575.98px){.merchant-benefit-form-grid{grid-template-columns:1fr}.merchant-benefit-form-grid .full{grid-column:auto}.merchant-campaign-row{display:block}.merchant-campaign-row .merchant-benefit-actions{justify-content:flex-start;margin-top:.7rem}}
.merchant-benefit-tabs{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 1rem}.merchant-benefit-tabs a{display:inline-flex;align-items:center;border:1px solid #d8bfc3;border-radius:999px;background:#fff;color:#8d304b;padding:.68rem .9rem;font-weight:800;text-decoration:none}.merchant-benefit-tabs .merchant-benefit-scan-entry{background:#aa1c41;border-color:#aa1c41;color:#fff;box-shadow:0 8px 18px rgba(170,28,65,.16)}.merchant-ledger-panel{scroll-margin-top:5rem}.merchant-ledger-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem}.merchant-ledger-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.45rem}.merchant-ledger-filters>*{max-width:150px}.merchant-ledger-filters button{padding:.42rem .7rem;font-size:.8rem}.merchant-ledger-summary{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:.8rem}.merchant-ledger-summary span{border:1px solid #f0e1e2;border-radius:12px;background:#fffaf9;color:#76676c;padding:.55rem .65rem;font-size:.76rem}.merchant-ledger-summary strong{display:block;color:#33252a;font-size:.95rem}@media(max-width:700px){.merchant-ledger-heading{display:block}.merchant-ledger-filters{justify-content:flex-start;margin-top:.8rem}.merchant-ledger-filters>*{max-width:none;flex:1 1 120px}.merchant-benefit-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.2rem}.merchant-benefit-tabs a{white-space:nowrap}.merchant-benefit-tabs .merchant-benefit-scan-entry{flex:1 0 100%;justify-content:center}} 
.merchant-scan-help{color:#76676c;font-size:.78rem;margin-top:.45rem}.merchant-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-top:.85rem;color:#76676c;font-size:.76rem}.merchant-preview-grid strong{display:block;color:#33252a;font-size:.82rem;margin-top:.2rem}.merchant-complete-warning{background:#fff7f5;color:#7b5b62;border-radius:10px;padding:.65rem .75rem;margin-top:.8rem;font-size:.78rem}.merchant-memo-field{grid-column:1/-1}.merchant-form-grid textarea{margin-top:.3rem;width:100%}@media(max-width:575.98px){.merchant-preview-grid{grid-template-columns:1fr}.merchant-memo-field{grid-column:auto}}
