:root{--ink:#0F2D5B;--terra:#E2725B;--sage:#98B89B;--sand:#EADCC8;--ivory:#FAF8F3;--white:#fff;--muted:#69736f;--line:#E5DDD1;--green:#4F7C62;--red:#A34534;--shadow:0 18px 60px rgba(15,45,91,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.hidden{display:none!important}button,input{font:inherit}.screen-center{min-height:100vh;display:grid;place-items:center}.brand-loader,.brand-mini,.mobile-mark,.wordmark{display:flex;align-items:center;gap:14px}.brand-loader img,.brand-mini img,.mobile-mark img,.wordmark img{width:42px;height:54px}.brand-loader span,.brand-mini span,.mobile-mark span,.wordmark span{font-family:Georgia,serif;font-size:31px;font-weight:700;letter-spacing:-.04em}.login-screen{min-height:100vh;padding:28px;display:grid;place-items:center;background:linear-gradient(140deg,#0d294f 0%,#163b6d 54%,#0f2d5b 100%)}.login-stage{width:min(1120px,100%);min-height:670px;display:grid;grid-template-columns:1.08fr .92fr;background:var(--ivory);border-radius:38px;overflow:hidden;box-shadow:0 34px 110px rgba(0,0,0,.25)}.login-story{background:var(--ink);color:var(--ivory);padding:48px;display:flex;flex-direction:column}.brand-mini span{color:var(--ivory)}.story-copy{margin:auto 0}.story-copy h1{font:700 64px/.94 Georgia,serif;letter-spacing:-.045em;margin:14px 0 20px;max-width:620px}.story-copy p{font-size:18px;line-height:1.6;color:#D0D8D4;max-width:540px}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.story-grid div{border-top:1px solid rgba(250,248,243,.18);padding-top:15px}.story-grid strong,.story-grid span{display:block}.story-grid strong{font-size:12px}.story-grid span{font-size:11px;color:#B9C6C1;margin-top:4px;line-height:1.4}.login-panel{padding:64px 54px;display:flex;flex-direction:column;justify-content:center}.mobile-mark{display:none}.kicker{font-size:10px;letter-spacing:.20em;font-weight:900;color:var(--terra)}.kicker.sage{color:var(--sage)}h1,h2{font-family:Georgia,serif;letter-spacing:-.035em;margin:0}.login-panel h2{font-size:48px;line-height:1;margin:12px 0}.muted{color:var(--muted);line-height:1.6}.login-panel label,.redeem-card label,.modal-card label{display:block;font-size:11px;font-weight:800;margin:14px 0 6px}.login-panel input,.redeem-card input,.modal-card input{display:block;width:100%;min-height:52px;border:1px solid #D7CEC2;background:#fff;border-radius:15px;padding:0 14px;color:var(--ink)}.primary,.secondary{border:0;border-radius:999px;min-height:54px;padding:0 20px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.primary{background:var(--ink);color:var(--ivory)}.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.login-panel .primary{width:100%;margin-top:20px}.login-foot{display:flex;justify-content:space-between;gap:20px;margin-top:24px;font-size:11px;color:var(--muted)}.login-foot a{color:inherit}.msg{padding:12px 13px;border-radius:14px;font-size:12px;font-weight:700;margin-top:12px}.error{background:#F8E7E2;color:var(--red)}.ok{background:#EAF1E9;color:var(--green)}.app-shell{width:min(1240px,100%);margin:0 auto;padding:0 28px 70px}.app-header{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;color:var(--ink)}.wordmark img{width:32px;height:42px}.wordmark span{font-size:27px}.header-right{display:flex;align-items:center;gap:12px}.role-pill{font-size:9px;letter-spacing:.12em;font-weight:900;background:var(--sand);border-radius:999px;padding:9px 12px}.quiet{border:0;background:transparent;color:var(--ink);font-weight:800}.pw{background:var(--sand);border-radius:18px;margin:16px 0 22px;padding:14px 17px;display:flex;justify-content:space-between;gap:20px;align-items:center}.pw strong,.pw small{display:block}.pw small{color:var(--muted);margin-top:3px}.pw button{border:0;background:var(--ink);color:var(--ivory);border-radius:999px;padding:10px 14px;font-weight:900}.view{padding-top:22px}.employee-top{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:28px 2px 20px}.employee-top h1,.merchant-head h1{font-size:58px;line-height:.95;margin-top:8px}.refresh{padding:10px}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:20px;padding:17px}.stat span,.stat strong{display:block}.stat span{font-size:9px;font-weight:900;letter-spacing:.12em;color:var(--muted)}.stat strong{font:700 27px Georgia,serif;margin-top:6px}.day-nav{display:flex;gap:7px;overflow:auto;margin:4px 0 25px}.day-nav button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 15px;font-size:11px;font-weight:800;white-space:nowrap}.day-nav button.active{background:var(--ink);color:var(--ivory);border-color:var(--ink)}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}.section-title{display:flex;justify-content:space-between;align-items:end;margin:4px 0 13px}.section-title h2{font-size:34px;margin-top:4px}.section-title>span{font-size:11px;color:var(--muted)}.offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.offer-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:20px;min-height:245px;display:flex;flex-direction:column;box-shadow:0 1px 0 rgba(15,45,91,.02)}.offer-top{display:flex;justify-content:space-between;gap:16px}.offer-category{font-size:9px;font-weight:900;letter-spacing:.15em;color:var(--terra)}.offer-card h3{font:700 30px/1 Georgia,serif;margin:9px 0}.distance{background:#F2EEE7;border-radius:999px;padding:8px 10px;height:max-content;font-size:10px;font-weight:900;white-space:nowrap}.offer-desc{color:var(--muted);font-size:13px;line-height:1.5}.offer-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:space-between;align-items:end;gap:14px}.offer-meta span,.offer-meta strong{display:block}.offer-meta span{font-size:9px;color:var(--muted)}.offer-meta strong{font-size:12px;margin-top:3px}.offer-card button{border:0;background:var(--ink);color:var(--ivory);border-radius:999px;padding:11px 13px;font-size:11px;font-weight:900}.wallet{position:sticky;top:18px;background:var(--ink);color:var(--ivory);border-radius:28px;padding:22px}.wallet h2{font-size:34px;margin:5px 0 17px}.wallet-benefit{background:rgba(250,248,243,.08);border:1px solid rgba(250,248,243,.16);border-radius:20px;padding:16px;margin-top:10px}.wallet-benefit h3{font:700 23px Georgia,serif;margin:5px 0}.wallet-benefit p{color:#C9D2CE;font-size:12px;line-height:1.5}.wallet-row{display:flex;justify-content:space-between;align-items:center;margin:14px 0}.wallet-amount{font:700 26px Georgia,serif;color:var(--sage)}.wallet-benefit button{width:100%;background:var(--ivory);color:var(--ink);border:0;border-radius:999px;padding:12px;font-weight:900}.wallet-benefit button:disabled{opacity:.45}.wallet-note{font-size:10px;color:#AEBDB7;line-height:1.5;margin-top:15px}.history-title{margin-top:36px}.history-list{display:grid;gap:8px}.history-item{display:grid;grid-template-columns:1.4fr 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px 16px}.history-item strong,.history-item span{display:block}.history-item strong{font-size:13px}.history-item span{font-size:10px;color:var(--muted);margin-top:3px}.history-amount{font-weight:900}.merchant-head{display:flex;justify-content:space-between;gap:30px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px}.merchant-head>div:first-child{max-width:720px}.mobile-copy{display:none}.merchant-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:260px}.merchant-stat{background:var(--sand);border-radius:17px;padding:14px}.merchant-stat span,.merchant-stat strong{display:block}.merchant-stat span{font-size:8px;font-weight:900;color:var(--muted);letter-spacing:.1em}.merchant-stat strong{font:700 25px Georgia,serif;margin-top:4px}.merchant-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-top:16px}.redeem-card,.merchant-info{background:#fff;border:1px solid var(--line);border-radius:26px;padding:22px}.redeem-card h2,.merchant-info h2{font-size:34px;margin-top:5px}.redeem-card .primary{width:100%;margin-top:17px}.desktop-tip{background:var(--sand);border-radius:18px;padding:15px;margin-top:22px}.desktop-tip strong,.desktop-tip span{display:block}.desktop-tip span{font-size:11px;line-height:1.5;color:var(--muted);margin-top:5px}.camera-button{width:100%;border:1px solid var(--ink);background:#fff;color:var(--ink);border-radius:999px;padding:12px;font-weight:900;margin:15px 0 4px}.camera-box{background:#0b1f38;border-radius:20px;padding:10px;margin:12px 0}.camera-box video{width:100%;display:block;border-radius:14px}.camera-box .quiet{color:#fff;margin-top:8px}.admin-card{display:grid;grid-template-columns:120px 1fr;gap:30px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:28px;padding:35px}.admin-card img{width:110px}.admin-card h1{font-size:48px}.admin-card .link{margin-top:12px}.modal{position:fixed;inset:0;background:rgba(15,45,91,.74);display:grid;place-items:center;padding:18px;z-index:30}.modal-card{position:relative;width:min(520px,100%);max-height:92vh;overflow:auto;background:var(--ivory);border-radius:28px;padding:27px}.modal-card .close{position:absolute;right:15px;top:11px;border:0;background:transparent;font-size:30px}.modal-card h2{font-size:36px;margin:6px 0}.modal-card .primary{width:100%;margin-top:16px}.qr{display:block;width:min(300px,80vw);margin:18px auto;border-radius:20px}.token{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px}.token span{display:block;font-size:9px;font-weight:900;color:var(--muted)}.token code{display:block;word-break:break-all;font-size:11px;margin-top:5px}.expiry{text-align:center;font-size:12px;font-weight:900;margin:14px}.pass-card .secondary{width:100%}
@media(max-width:900px){.login-stage{grid-template-columns:1fr}.login-story{display:none}.mobile-mark{display:flex;margin-bottom:48px}.login-panel{padding:38px;min-height:650px}.content-grid{grid-template-columns:1fr}.wallet{position:relative;top:auto;order:-1}.offer-grid{grid-template-columns:1fr 1fr}.stat-strip{grid-template-columns:1fr 1fr}.merchant-head{display:block}.merchant-stats{margin-top:20px;min-width:0}.merchant-grid{grid-template-columns:1fr}.desktop-copy,.desktop-tip{display:none}.mobile-copy{display:block}.camera-button{display:block}.history-item{grid-template-columns:1fr auto}.history-partner{display:none}}
@media(max-width:620px){.login-screen{padding:0;background:var(--ivory)}.login-stage{border-radius:0;min-height:100vh}.login-panel{padding:28px 22px}.login-panel h2{font-size:42px}.app-shell{padding:0 15px 50px}.app-header{height:78px}.wordmark img{width:27px;height:36px}.wordmark span{font-size:24px}.role-pill{display:none}.employee-top{align-items:start}.employee-top h1,.merchant-head h1{font-size:44px}.stat-strip{grid-template-columns:1fr 1fr}.offer-grid{grid-template-columns:1fr}.content-grid{display:block}.wallet{margin-bottom:24px}.history-item{grid-template-columns:1fr auto}.merchant-head,.redeem-card,.merchant-info{padding:20px}.admin-card{grid-template-columns:1fr}.admin-card img{width:70px}}

.offer-card button:disabled{opacity:.45;cursor:not-allowed}
.conditions{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);font-size:11px;color:var(--muted)}
.today-number{font:700 58px/.9 Georgia,serif;color:var(--sage);margin-top:18px}
.today-label{font-size:12px;color:#C9D2CE;margin-top:6px}
.today-list{margin-top:20px}
.today-list>div{border-top:1px solid rgba(250,248,243,.14);padding:12px 0;display:flex;justify-content:space-between;gap:14px}
.today-list span,.today-list strong{font-size:11px}
.today-list span{color:#C9D2CE}.today-list strong{text-align:right;color:var(--ivory)}


.transport-switch{display:grid;grid-template-columns:1fr 1fr;background:#F2EEE7;border-radius:15px;padding:4px;margin:16px 0}.transport-tab{border:0;background:transparent;border-radius:12px;padding:10px;color:var(--muted);font-size:10px;font-weight:900;display:flex;justify-content:center;align-items:center;gap:7px}.transport-tab.active{background:#fff;color:var(--ink);box-shadow:0 4px 14px rgba(15,45,91,.06)}.transport-tab small{font-size:7px;letter-spacing:.12em;color:var(--terra)}.scan-intro{font-size:12px;margin-bottom:0}.camera-button{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left}.camera-button-icon{width:36px;height:36px;border-radius:11px;background:var(--ink);color:var(--ivory);display:grid;place-items:center}.camera-button strong,.camera-button small{display:block}.camera-button small{color:var(--muted);margin-top:2px;font-size:9px}.scanner-frame{position:relative;overflow:hidden;border-radius:17px}.scanner-frame video{width:100%;display:block;border-radius:17px}.scanner-corners{position:absolute;inset:14%;border:2px solid rgba(250,248,243,.28);border-radius:18px;box-shadow:inset 0 0 0 999px rgba(2,18,39,.18)}.scanner-line{position:absolute;left:17%;right:17%;top:20%;height:2px;background:linear-gradient(90deg,transparent,var(--terra),transparent);box-shadow:0 0 18px rgba(226,114,91,.9);opacity:0}.scanner-live .scanner-line{opacity:1;animation:scanLine 1.8s ease-in-out infinite}.scanner-caption{display:flex;align-items:center;gap:8px;color:#fff;font-size:10px;margin-top:10px}.scan-dot{width:8px;height:8px;border-radius:50%;background:var(--terra);animation:scanPulse 1.1s ease-in-out infinite}.manual-divider{display:flex;align-items:center;gap:10px;margin:17px 0 2px;color:var(--muted);font-size:9px}.manual-divider:before,.manual-divider:after{content:"";height:1px;background:var(--line);flex:1}.nfc-preview{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center;background:var(--ink);color:var(--ivory);border-radius:22px;padding:22px}.nfc-rings{position:relative;width:140px;height:140px;display:grid;place-items:center}.nfc-rings>span{position:absolute;border:1px solid rgba(250,248,243,.16);border-radius:50%;animation:nfcRing 2.5s ease-out infinite}.nfc-rings>span:nth-child(1){width:72px;height:72px}.nfc-rings>span:nth-child(2){width:104px;height:104px;animation-delay:.4s}.nfc-rings>span:nth-child(3){width:136px;height:136px;animation-delay:.8s}.nfc-core{width:56px;height:56px;border-radius:50%;background:rgba(250,248,243,.09);border:1px solid rgba(250,248,243,.22);display:grid;place-items:center;font-size:10px;font-weight:900}.pass-timer{height:7px;background:#E8E1D8;border-radius:999px;overflow:hidden;margin:15px 0 5px}.pass-progress{height:100%;width:100%;background:linear-gradient(90deg,var(--sage),var(--ink));border-radius:999px;transition:width .25s linear}.success-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:rgba(15,45,91,.82);opacity:0;transition:opacity .3s}.success-overlay.show{opacity:1}.success-card{width:min(440px,calc(100% - 36px));background:var(--ivory);border-radius:30px;padding:34px;text-align:center}.success-check{width:72px;height:72px;border-radius:50%;background:var(--sage);display:grid;place-items:center;margin:0 auto 16px;font-size:34px;font-weight:900}.success-card h2{font-size:36px}@keyframes scanLine{0%,100%{top:20%}50%{top:78%}}@keyframes scanPulse{50%{transform:scale(.65);opacity:.45}}@keyframes nfcRing{0%{transform:scale(.62);opacity:.75}100%{transform:scale(1.12);opacity:0}}


/* Beneficial 013 — separated auth/workspace routes */
html,body{min-height:100%}
body.auth-only{min-height:100vh;overflow:hidden;background:#173B70}
body.auth-only #auth-page{min-height:100vh}
body.workspace-only{min-height:100vh;background:var(--ivory)}
body.workspace-only #app{min-height:100vh}
body.workspace-only #main{min-height:100vh}

/* Beneficial 016 — workspace surface parity */
body.workspace-only{
  background:
    radial-gradient(circle at 12% 18%, rgba(226,114,91,.07), transparent 20%),
    radial-gradient(circle at 88% 20%, rgba(23,59,112,.05), transparent 22%),
    linear-gradient(rgba(19,59,112,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(19,59,112,.05) 1px, transparent 1px),
    linear-gradient(180deg,#fbf8f2 0%, #f7f2ea 100%);
  background-size:auto, auto, 120px 120px, 120px 120px, auto;
}
body.workspace-only::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 10% 72%, rgba(255,255,255,.42), transparent 22%),
    radial-gradient(circle at 86% 12%, rgba(255,255,255,.34), transparent 22%);
}
#app, .app-shell{position:relative; z-index:1}
.app-shell{max-width:1440px; margin:0 auto; padding:22px 28px 88px}
.app-header{
  height:auto;
  min-height:84px;
  padding:18px 0 16px;
  margin-bottom:18px;
  background:rgba(251,248,242,.78);
  backdrop-filter:blur(8px);
  position:sticky; top:0; z-index:16;
}
.header-right{gap:12px}
.role-pill{border-color:rgba(19,59,112,.16); background:rgba(255,255,255,.82)}
#pw-banner{
  margin:10px 0 26px;
  background:linear-gradient(180deg,#efe3cd 0%, #eadbc3 100%);
  border:1px solid rgba(19,59,112,.08);
  border-radius:22px;
  box-shadow:0 16px 36px rgba(20,51,102,.08);
}
.employee-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  align-items:end;
  margin-bottom:18px;
}
.employee-top h1{font-size:clamp(3rem,4.8vw,5.1rem); line-height:.95; max-width:9.2ch; letter-spacing:-.05em}
.employee-top .muted{max-width:46ch; font-size:1.08rem}
.stat-strip{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:18px}
.stat{background:rgba(255,255,255,.84); backdrop-filter:blur(7px); border:1px solid rgba(19,59,112,.09); border-radius:24px; padding:18px 20px; box-shadow:0 14px 32px rgba(20,51,102,.07)}
.stat span{font-size:10px; letter-spacing:.14em; color:var(--terra)}
.stat strong{font-size:2rem; line-height:1.05; margin-top:8px; letter-spacing:-.04em}
.day-nav{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px}
.day-nav button{padding:10px 16px; border-radius:999px; background:rgba(255,255,255,.88); border:1px solid rgba(19,59,112,.1); box-shadow:0 8px 22px rgba(20,51,102,.05)}
.day-nav button.active{background:var(--ink); color:#fff; border-color:var(--ink)}
.content-grid{grid-template-columns:minmax(0,1.4fr) 390px; gap:28px; align-items:start}
.feed{min-width:0}
.section-title{align-items:end; margin-bottom:18px}
.section-title h2{font-size:clamp(2.6rem,4vw,4.2rem); letter-spacing:-.05em}
.section-title span#offer-count{font-size:1.05rem}
.offer-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px}
.offer-card{
  position:relative;
  min-height:338px;
  padding:24px 24px 22px;
  border-radius:28px;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(8px);
  border:1px solid rgba(19,59,112,.09);
  box-shadow:0 22px 48px rgba(20,51,102,.08);
  display:flex;
  flex-direction:column;
}
.offer-top{display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:16px}
.offer-category{font-size:11px; letter-spacing:.16em; color:var(--terra); margin-bottom:8px}
.offer-card h3{font-size:clamp(2rem,3.2vw,3rem); line-height:.92; letter-spacing:-.05em; max-width:8ch}
.distance{padding:10px 16px; border-radius:999px; font-size:1rem; white-space:nowrap; background:#f4efe7; border:1px solid rgba(19,59,112,.08); color:var(--ink); box-shadow:none}
.offer-desc{font-size:1.03rem; line-height:1.55; color:var(--muted); flex:1}
.offer-desc strong{display:block; font-size:1.7rem; line-height:1.05; letter-spacing:-.03em; color:var(--ink); margin-bottom:8px}
.conditions{font-size:.92rem; margin-top:14px; padding-top:14px}
.offer-bottom{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:end; margin-top:18px; padding-top:16px; border-top:1px solid rgba(19,59,112,.12)}
.offer-meta{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px}
.offer-meta span{font-size:10px; letter-spacing:.14em; color:var(--muted)}
.offer-meta strong{font-size:1.4rem; line-height:1.05; letter-spacing:-.03em; color:var(--ink)}
.offer-card button{align-self:end; min-width:176px; padding:14px 18px; font-size:1rem; box-shadow:0 12px 24px rgba(20,51,102,.12)}
.today-card{
  position:sticky; top:110px;
  background:
    radial-gradient(circle at 92% 88%, rgba(255,255,255,.08), transparent 24%),
    linear-gradient(180deg,#214a94 0%, #173b70 100%);
  border-radius:34px;
  padding:28px 28px 26px;
  box-shadow:0 28px 58px rgba(20,51,102,.16);
}
.today-card h2{font-size:clamp(2.7rem,4vw,4rem); line-height:.95; margin:8px 0 18px; letter-spacing:-.05em}
.today-number{font-size:5.2rem; line-height:.88}
.today-label{font-size:1rem; color:#d4dcd8}
.today-list{margin-top:18px}
.today-list>div{padding:14px 0}
.today-list span,.today-list strong{font-size:1rem}
.wallet-note{font-size:.95rem; line-height:1.55; color:#d7e0dc; margin-top:18px}
.history-title{margin-top:34px}
.history-list{gap:12px}
.history-item{grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr) auto; padding:18px 20px; border-radius:22px; background:rgba(255,255,255,.84); backdrop-filter:blur(7px); border:1px solid rgba(19,59,112,.08); box-shadow:0 12px 28px rgba(20,51,102,.05)}
.history-item strong{font-size:1rem}
.history-item span{font-size:.9rem}
.merchant-head,.redeem-card,.merchant-info,.admin-card{background:rgba(255,255,255,.84); backdrop-filter:blur(8px); border:1px solid rgba(19,59,112,.08); box-shadow:0 20px 42px rgba(20,51,102,.07)}
.merchant-head{padding:30px; border-radius:32px}
.merchant-head h1{font-size:clamp(3rem,4.6vw,4.8rem); line-height:.95; letter-spacing:-.05em; max-width:9.4ch}
.merchant-grid{gap:20px; margin-top:20px}
.redeem-card,.merchant-info{border-radius:30px; padding:26px}
.redeem-card h2,.merchant-info h2{font-size:clamp(2.3rem,3.8vw,3.6rem); line-height:.96; letter-spacing:-.05em}
.transport-switch{background:#f3eee5; padding:5px; border-radius:18px}
.camera-button,.camera-box,.desktop-tip{border-radius:20px}
.success-card{box-shadow:0 28px 58px rgba(20,51,102,.18)}
@media (max-width:1180px){
  .content-grid{grid-template-columns:1fr}
  .today-card{position:relative; top:auto; order:-1}
  .offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:920px){
  body.workspace-only{background-size:auto, auto, 90px 90px, 90px 90px, auto}
  .app-shell{padding:18px 18px 72px}
  .app-header{padding:14px 0}
  .employee-top{grid-template-columns:1fr}
  .stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .offer-grid{grid-template-columns:1fr}
  .history-item{grid-template-columns:1fr auto}
}
@media (max-width:620px){
  .app-shell{padding:10px 14px 56px}
  .app-header{position:relative; background:transparent; backdrop-filter:none}
  .employee-top h1,.merchant-head h1{font-size:3.2rem}
  .stat-strip{grid-template-columns:1fr 1fr; gap:12px}
  .stat strong{font-size:1.6rem}
  .section-title h2{font-size:2.7rem}
  .offer-card{padding:20px 18px 18px; min-height:auto}
  .offer-card h3{font-size:2.4rem}
  .offer-top,.offer-bottom{grid-template-columns:1fr; display:grid}
  .offer-bottom{gap:12px}
  .offer-card button{width:100%; min-width:0}
  .offer-meta{grid-template-columns:1fr 1fr}
  .today-card{padding:24px 22px}
  .today-number{font-size:4.3rem}
  .merchant-head,.redeem-card,.merchant-info,.admin-card{padding:22px}
}
