@font-face{font-family:Inter;src:url(/fonts/Inter-Regular.ttf)}@font-face{font-family:Inter;src:url(/fonts/Inter-Medium.ttf);font-weight:500}@font-face{font-family:Inter;src:url(/fonts/Inter-SemiBold.ttf);font-weight:600}@font-face{font-family:Inter;src:url(/fonts/Inter-Bold.ttf);font-weight:700}@font-face{font-family:Jakarta;src:url(/fonts/PlusJakartaSans-Bold.ttf);font-weight:700}@font-face{font-family:Jakarta;src:url(/fonts/PlusJakartaSans-ExtraBold.ttf);font-weight:800}:root{--orange:#ff4b16;--ink:#17191d;--muted:#737984;--line:#e9e6e2;--cream:#fffaf4;--surface:#fff;--green:#0baa60;--sidebar:#181a1b}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:#fdf9f3;margin:0;font-family:Inter,Arial,sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}.appShell{min-height:100vh}.sidebar{color:#fff;z-index:4;background:linear-gradient(160deg,#181a1b,#111313);flex-direction:column;width:252px;padding:20px 16px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:flex-start;height:72px;padding:0 14px 20px;display:flex}.brand img{object-fit:contain;object-position:left center;width:197px;height:54px}.mainNav{gap:7px;display:grid}.mainNav button{color:#f7f6f4;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:20px;height:50px;padding:0 16px;transition:background .18s,color .18s;display:flex}.mainNav button:hover{background:#ffffff12}.mainNav button.active{background:linear-gradient(105deg,#fa4d18,#e83c12);box-shadow:0 8px 18px #ea401d35}.mainNav span{font-size:15px}.promo{background:#29211b;border-radius:15px;height:364px;margin:auto 7px 0;position:relative;overflow:hidden}.promo:after{content:"";background:linear-gradient(#080808bb 0%,#17100c60 52%,#0000);position:absolute;inset:0}.promo img{object-fit:cover;width:100%;height:100%}.promoText{z-index:1;color:#fff;font-family:Jakarta,Inter,sans-serif;font-size:19px;font-style:italic;font-weight:800;line-height:1.15;position:absolute;top:24px;left:19px;transform:rotate(-4deg)}.workspace{min-height:100vh;margin-left:252px}.topbar{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdfaee;border-bottom:1px solid #eee9e3;justify-content:space-between;align-items:center;height:86px;padding:0 31px;display:flex;position:sticky;top:0}.restaurant,.userButton,.dateButton,.iconButton{background:0 0;border:0;align-items:center;display:flex}.restaurant{text-align:left;gap:12px}.restaurantAvatar{color:#fff;letter-spacing:-2px;background:linear-gradient(145deg,#7d390d,#1f1208 55%,#b96a21);border-radius:13px;place-items:center;width:52px;height:52px;font-family:Jakarta;font-weight:800;display:grid}.restaurant b,.userButton b{font-size:16px;display:block}.restaurant small,.userButton small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.topActions{align-items:center;gap:20px;display:flex}.dateButton{background:#fff;border:1px solid #f0ede9;border-radius:12px;gap:9px;height:42px;padding:0 14px;box-shadow:0 3px 14px #1b1b1b08}.iconButton{justify-content:center;width:42px;height:42px;position:relative}.iconButton i{background:var(--orange);border:1px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:7px;right:8px}.userButton{text-align:left;border-left:1px solid var(--line);gap:10px;padding-left:15px}.userAvatar{color:#fff;background:linear-gradient(145deg,#c7d1d0,#795840);border-radius:50%;place-items:center;width:43px;height:43px;font-size:18px;font-weight:700;display:grid}.noticePopover{border:1px solid var(--line);background:#fff;border-radius:14px;width:300px;padding:20px;position:absolute;top:72px;right:135px;box-shadow:0 14px 35px #342a1b20}.noticePopover p{color:var(--muted);margin:10px 0 0}.content{max-width:1700px;margin:0 auto;padding:24px 28px 0}.pageTitle{justify-content:space-between;align-items:center;gap:20px;margin:0 0 22px;display:flex}.pageTitle h1{letter-spacing:-1.4px;margin:0;font:800 38px/1.15 Jakarta,Inter,sans-serif}.pageTitle p{color:#6e7480;margin:6px 0 0;font-size:16px}.primary,.secondary{border-radius:11px;justify-content:center;align-items:center;gap:10px;height:48px;padding:0 22px;font-weight:600;display:inline-flex}.primary{border:1px solid var(--orange);color:#fff;background:linear-gradient(100deg,#ff4d18,#f14412);box-shadow:0 5px 12px #f04c1b1a}.primary:hover:not(:disabled){filter:brightness(.97);transform:translateY(-1px)}.primary:disabled,.disabled{opacity:.52;cursor:not-allowed}.secondary{border:1px solid var(--line);background:#fff}.surface,.metric{background:#fff;border:1px solid #f0ede9;border-radius:14px;box-shadow:0 7px 24px #5e43200a}.metrics{gap:12px;margin:0 0 20px;display:grid}.metrics.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metrics.five{grid-template-columns:repeat(5,minmax(0,1fr))}.metric{align-items:center;gap:16px;min-height:116px;padding:17px 16px;display:flex}.metricIcon{color:#fff;background:linear-gradient(145deg,#ff5421,#ed3e10);border-radius:50%;flex:none;place-items:center;width:56px;height:56px;display:grid}.eyebrow{font-size:13px;font-weight:600}.metricValue{margin:5px 0;font:800 29px/1.1 Jakarta,Inter,sans-serif;display:block}.metric small{color:var(--muted);font-size:11px;display:block}.dashboardGrid{grid-template-rows:270px 255px 238px;grid-template-columns:1.15fr .75fr 1fr;gap:14px;display:grid}.dashboardGrid>.surface{min-width:0;padding:18px}.chartPanel{grid-column:span 2}.sectionHead{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.sectionHead h2,.surface h2{letter-spacing:-.4px;margin:0;font:700 18px/1.25 Jakarta,Inter,sans-serif}.selectLike{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;height:40px;padding:0 12px;display:inline-flex}.empty{text-align:center;height:calc(100% - 30px);min-height:130px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:17px;display:flex}.empty b{color:#30343a;font-size:14px}.empty>span:last-child{max-width:410px;font-size:12px;line-height:1.5}.emptyIcon{width:43px;height:43px;color:var(--orange);background:#fff1e9;border-radius:50%;place-items:center;margin-bottom:2px;display:grid}.campaignPanel,.locationsPanel{grid-column:span 2}.textButton,.backLink{color:var(--orange);background:0 0;border:0;align-items:center;gap:5px;font-weight:600;display:inline-flex}.mapPanel{overflow:hidden;padding:0!important}.mapPlaceholder{background-color:#eef1e9;background-image:linear-gradient(28deg,#0000 44%,#fff 44% 47%,#0000 47%),linear-gradient(110deg,#0000 36%,#fff 36% 39%,#0000 39%),linear-gradient(78deg,#0000 67%,#d6eaf0 67% 76%,#0000 76%),repeating-linear-gradient(0deg,#0000 0 31px,#ffffffb8 32px 35px),repeating-linear-gradient(90deg,#0000 0 46px,#fff9 47px 50px);width:100%;height:100%;min-height:160px;position:relative;overflow:hidden}.mapRoad{background:#fff;border:2px solid #e8e6de;border-radius:100%;width:150%;height:22px;position:absolute;left:-20%;transform:rotate(-13deg)}.r1{top:35%}.r2{top:70%;transform:rotate(8deg)}.r3{width:120%;top:51%;left:-10%;transform:rotate(42deg)}.mapCaption{color:#565e68;background:#fff;border-radius:20px;align-items:center;gap:7px;padding:8px 12px;font-size:12px;display:flex;position:absolute;bottom:14px;left:14px;box-shadow:0 4px 14px #3332}.mapCaption svg{color:var(--orange)}footer{text-align:center;color:#93959a;padding:23px 0 18px;font-size:11px}.toolbar{align-items:center;gap:10px;margin-bottom:16px;padding:13px;display:flex}.searchBox{border:1px solid var(--line);color:#707784;background:#fff;border-radius:10px;flex:1;align-items:center;gap:10px;min-width:160px;height:40px;padding:0 12px;display:flex}.searchBox input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.tableSurface{padding:15px}.tableHead{border-bottom:1px solid var(--line);color:#666e78;background:#faf9f7;grid-template-columns:2.3fr .8fr 1.2fr 1fr 1fr .8fr .55fr;align-items:center;height:46px;padding:0 10px;font-size:12px;font-weight:500;display:grid}.tableSurface>.empty{height:400px}.backLink{margin:0 0 16px;padding:0}.steps{color:#767d86;justify-content:space-between;margin:5px 10px 22px;padding:0 12px;display:flex}.steps span{border-bottom:1px solid var(--line);flex:1;padding:0 0 12px;font-weight:600}.steps span.current{color:var(--orange);border-color:var(--orange)}.formLayout{grid-template-columns:minmax(0,1.5fr) minmax(270px,.8fr);align-items:start;gap:14px;display:grid}.formSurface,.previewSurface,.settingsForm{padding:22px}.formGrid{grid-template-columns:1fr 1fr;gap:16px 18px;margin-top:20px;display:grid}.formGrid label{flex-direction:column;gap:8px;font-size:13px;font-weight:600;display:flex}.formGrid .wide{grid-column:1/-1}.formGrid input,.formGrid select,.formGrid textarea,.scanSurface input{color:#30343a;resize:vertical;background:#fff;border:1px solid #e3e2e0;border-radius:9px;outline-color:#ff9778;width:100%;padding:11px 12px;font-weight:400}.formActions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.inlineNote{color:#888e97;font-size:12px;line-height:1.45}.previewSurface{min-height:385px}.previewSurface .empty{height:300px}.couponGrid{grid-template-columns:minmax(0,2.2fr) minmax(280px,.9fr);gap:14px;display:grid}.couponGrid .tableSurface{min-height:630px}.filterChips{flex-wrap:wrap;gap:8px;display:flex}.filterChips button{border:1px solid var(--line);background:#fff;border-radius:20px;padding:7px 12px;font-size:12px}.scanSurface{padding:20px}.scanSurface p{color:var(--muted);line-height:1.5}.scanFrame{color:#92969d;background:#f9f8f6;border:1px dashed #d9d6d2;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:190px;margin:14px 0;display:flex}.scanSurface>.primary,.scanSurface>.secondary{width:100%}.or{text-align:center;color:var(--muted);padding:8px}.locationsLayout{grid-template-columns:minmax(340px,.85fr) minmax(0,1.6fr);gap:14px;display:grid}.locationList{min-height:590px;padding:12px}.compact{box-shadow:none;border:0;padding:0 0 12px}.mapCanvas{min-height:590px;overflow:hidden}.mapPlaceholder.large{min-height:590px}.filters{gap:9px;display:flex}.statsGrid{grid-template-rows:250px 250px;grid-template-columns:1fr 1fr 1fr;gap:13px;display:grid}.statsGrid>.surface{padding:18px}.statsGrid>.surface:first-child{grid-column:span 2}.planCard{background:linear-gradient(110deg,#fff4eb,#fff 70%);align-items:center;gap:18px;margin-bottom:15px;padding:24px;display:flex}.planCard .metricIcon{width:68px;height:68px}.planCard h2{margin:5px 0}.planCard p{color:var(--muted);margin:0}.planCard .primary{margin-left:auto}.settingsLayout{grid-template-columns:200px minmax(380px,1fr) minmax(240px,.72fr);align-items:start;gap:13px;display:grid}.settingsNav{gap:7px;display:grid}.settingsNav button{text-align:left;background:#f5f3f0;border:0;border-radius:10px;align-items:center;gap:11px;height:49px;padding:0 12px;display:flex}.settingsNav button.chosen{color:#ed4519;background:#ffede5}.subtle{color:var(--muted);margin:5px 0;font-size:12px}.uploadBox{color:#626a75;border:1px dashed #ddd;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:44px;font-weight:500;display:flex}.settingsForm .formGrid{margin-top:18px}.settingsAside{padding:17px}.settingsAside h2{margin:0 0 12px}.settingsAside>button{text-align:left;border:0;border-top:1px solid var(--line);background:#fff;width:100%;height:43px}.settingsAside h2:nth-of-type(2){margin-top:22px}.settingsAside .empty{min-height:170px}.userButton,.restaurant,.iconButton{color:inherit}.disabled:disabled{filter:grayscale(.25)}@media (max-width:1200px){.sidebar{width:220px}.workspace{margin-left:220px}.content{padding:20px}.topbar{padding:0 20px}.metrics.five{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboardGrid{grid-template-rows:250px 240px 230px;grid-template-columns:1fr 1fr}.chartPanel{grid-column:span 2}.campaignPanel,.locationsPanel{grid-column:span 1}.settingsLayout{grid-template-columns:165px 1fr}.settingsAside{grid-column:2}.filters{display:none}}@media (max-width:820px){.sidebar{width:68px;padding:14px 8px;position:fixed}.brand{justify-content:center;height:58px;padding:0}.brand img{object-fit:cover;object-position:left;width:46px}.mainNav{gap:8px}.mainNav button{justify-content:center;width:52px;padding:0}.mainNav button span,.promo{display:none}.workspace{margin-left:68px}.topbar{height:72px;padding:0 13px}.restaurantAvatar{width:42px;height:42px}.restaurant{gap:8px}.restaurant b{font-size:13px}.restaurant small{font-size:10px}.dateButton{justify-content:center;width:42px;padding:0;font-size:0}.dateButton svg:last-child{display:none}.topActions{gap:7px}.userButton{gap:5px;padding-left:8px}.userButton>span:nth-child(2){display:none}.userAvatar{width:37px;height:37px}.content{padding:18px 14px}.pageTitle h1{font-size:30px}.pageTitle p{font-size:13px}.metrics.four,.metrics.five{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboardGrid{grid-template-rows:220px 200px 220px 200px 220px 180px;grid-template-columns:1fr}.chartPanel,.campaignPanel,.locationsPanel{grid-column:span 1}.toolbar{flex-wrap:wrap}.toolbar .searchBox{flex-basis:100%}.toolbar .selectLike{flex:1}.tableSurface{overflow-x:auto}.tableHead{min-width:700px}.tableSurface>.empty{min-width:500px}.couponGrid,.locationsLayout,.formLayout{grid-template-columns:1fr}.mapCanvas,.mapPlaceholder.large{min-height:390px}.statsGrid{grid-template-rows:repeat(3,220px);grid-template-columns:1fr 1fr}.statsGrid>.surface:first-child{grid-column:span 2}.settingsLayout{grid-template-columns:1fr}.settingsNav{display:flex;overflow:auto}.settingsNav button{flex:none}.settingsAside{grid-column:auto}.settingsForm{min-width:0}.planCard{flex-wrap:wrap}.planCard .primary{margin-left:0}.steps{font-size:12px}.steps span{font-size:11px}.pageTitle>.primary{white-space:nowrap;padding:0 12px;font-size:12px}}@media (max-width:480px){.restaurant>span:nth-child(2){display:none}.content{padding-inline:10px}.topbar{padding-inline:9px}.metrics.four,.metrics.five{gap:8px}.metric{gap:10px;min-height:100px;padding:12px}.metricIcon{width:44px;height:44px}.metricValue{font-size:24px}.metric small{font-size:9px}.pageTitle{align-items:flex-start}.pageTitle h1{font-size:26px}.pageTitle p{font-size:12px}.formGrid{grid-template-columns:1fr}.formGrid .wide{grid-column:auto}.formSurface,.previewSurface{padding:15px}.statsGrid{grid-template-rows:repeat(5,210px);grid-template-columns:1fr}.statsGrid>.surface:first-child{grid-column:auto}.filters{display:none}.pageTitle>.primary{height:42px;padding:0 9px}.pageTitle>.primary svg{display:none}}.steps button{font:inherit;color:inherit;text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;padding:0 0 12px}.steps button.current{color:var(--orange);border-color:var(--orange)}.checkRow{align-items:center;flex-direction:row!important;display:flex!important}.checkRow input{width:auto!important}.campaignRows{display:grid}.campaignRow{border-top:1px solid var(--line);grid-template-columns:1.5fr .75fr 1fr .8fr .55fr .5fr 30px;align-items:center;gap:12px;min-height:68px;padding:12px 16px;font-size:12px;display:grid}.campaignRow b{font-size:13px}.campaignRow small{color:var(--muted);margin-top:4px;font-weight:400;display:block}.statusPill{color:#07884e;background:#e9f8ef;border-radius:20px;align-items:center;width:max-content;padding:6px 10px;display:inline-flex}.featuredBadge{color:#945700;letter-spacing:.2px;background:linear-gradient(135deg,#fff3d6,#ffe6a3);border:1px solid #ffd57a;border-radius:6px;align-items:center;gap:3px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.campaignPreview{border:1px solid var(--line);background:linear-gradient(145deg,#fff8f1,#fff);border-radius:12px;gap:12px;padding:20px;display:grid}.campaignPreview b{font:700 22px Jakarta}.campaignPreview p{color:var(--muted);margin:0;line-height:1.5}.campaignPreview strong{color:var(--orange);font-size:24px}.campaignPreview small{color:var(--muted)}.campaignPreviewImage{object-fit:cover;border-radius:9px;width:100%;max-height:220px}.campaignImageUpload{gap:8px;font-weight:600;display:grid}.campaignImageUpload small{color:var(--muted);font-weight:400}.campaignImagePreview{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.campaignImagePreview img{object-fit:cover;border-radius:9px;width:100%;height:110px}.campaignImageUpload .uploadBox{cursor:pointer;position:relative}.uploadBox input[type=file]{clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.uploadBox:focus-within{outline-offset:2px;outline:2px solid #ff9778}.errorMessage{color:#a6280d;background:#fff0ed;border-radius:9px;padding:12px 14px;font-size:13px}.formActions .inlineNote{flex:1}.profilePopover,.rangePopover{z-index:6;border:1px solid var(--line);background:#fff;border-radius:13px;width:290px;padding:18px;position:absolute;top:72px;right:25px;box-shadow:0 14px 35px #342a1b20}.profilePopover p{color:var(--muted);font-size:12px}.profilePopover button{color:var(--orange);background:0 0;border:0;padding:0;font-weight:600}.rangePopover{gap:12px;width:315px;display:grid;right:310px}.rangePopover label,.inviteModal>label{gap:6px;font-size:12px;font-weight:600;display:grid}.rangePopover input,.inviteModal input,.inviteModal select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px}.rangePopover .primary{height:40px}.modalBackdrop{z-index:20;background:#17191d70;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.inviteModal{width:min(100%,470px);padding:26px;position:relative;box-shadow:0 20px 60px #1114}.inviteModal h2{margin:0 30px 8px 0;font:700 22px Jakarta}.inviteModal>p{color:var(--muted);margin:0 0 20px;line-height:1.5}.inviteModal>label{margin:14px 0}.modalClose{color:#666;background:0 0;border:0;position:absolute;top:18px;right:18px}.permissionInfo{color:#657082;background:#f5f7fb;border-radius:9px;align-items:flex-start;gap:10px;margin-top:18px;padding:12px;font-size:12px;line-height:1.5;display:flex}.permissionInfo svg{color:#5375bd;flex:none}.settingToggle{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:48px;font-size:13px;display:flex}.settingToggle input{appearance:none;cursor:pointer;background:#bfc1c3;border-radius:15px;width:40px;height:23px;transition:background .18s;position:relative}.settingToggle input:before{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .18s;position:absolute;top:3px;left:3px}.settingToggle input:checked{background:var(--orange)}.settingToggle input:checked:before{transform:translate(17px)}.settingsOptions{margin-top:20px}.hoursList{margin-top:22px;display:grid}.hoursList label{border-bottom:1px solid var(--line);grid-template-columns:1.1fr 1fr auto 1fr 24px;align-items:center;gap:10px;padding:10px 0;font-size:12px;display:grid}.hoursList input[type=time]{border:1px solid var(--line);border-radius:7px;padding:8px}.hoursList input[type=checkbox]{accent-color:var(--orange)}.connectionState{color:var(--muted);align-items:center;gap:9px;font-size:12px;line-height:1.45;display:flex}.connectionState span{background:#c3c5c8;border-radius:50%;width:9px;height:9px}.searchBox:focus-within{border-color:#ff8a68;box-shadow:0 0 0 3px #ff4b1620}.searchBox:focus-within input{outline:0}.locationCreate{margin-bottom:18px;padding:22px}.locationCreate h2{margin:0 0 16px;font:700 19px Jakarta}.locationRows{display:grid}.locationRow{border-top:1px solid var(--line);align-items:center;gap:14px;padding:16px;display:flex}.locationRow>svg{color:var(--orange);flex:none}.locationRow>div{flex:1;gap:4px;min-width:0;display:grid}.locationRow b{font-size:14px}.locationRow small{color:var(--muted);font-size:12px}.locationRow>span{color:var(--muted);font-size:12px;font-weight:600}.dashboardRows{max-height:240px;display:grid;overflow:auto}.dashboardRows>div{border-top:1px solid var(--line);gap:4px;padding:12px 16px;display:grid}.dashboardRows b{font-size:13px}.dashboardRows small{color:var(--muted);font-size:11px}.couponEventsSurface{padding:18px;overflow:hidden}.couponFilters{gap:8px;display:flex}.couponFilters select{border:1px solid var(--line);background:#fff;border-radius:9px;height:38px;padding:0 12px}.couponEventRows{overflow:auto}.couponEventHead,.couponEventRow{grid-template-columns:1.35fr 1fr 1fr 1fr .7fr;align-items:center;gap:14px;min-width:760px;display:grid}.couponEventHead{color:#6d7480;background:#faf9f7;min-height:39px;padding:0 12px;font-size:11px}.couponEventRow{border-top:1px solid var(--line);min-height:62px;padding:9px 12px;font-size:12px}.couponEventRow b{font-size:13px}.couponEventRow small{color:var(--muted);margin-top:4px;font-weight:400;display:block}.couponStatus{border-radius:20px;width:max-content;padding:6px 10px;font-size:11px;font-weight:600}.couponStatus.active{color:#07884e;background:#e7f8ee}.couponStatus.redeemed{color:#cc421d;background:#fff0e8}.couponStatus.expired,.couponStatus.unavailable{color:#68707a;background:#eff0f2}.couponScannerInfo{margin-top:14px;padding:18px}.couponScannerInfo h2{margin:0 0 8px}.couponScannerInfo p{color:var(--muted);line-height:1.55}.couponScannerInfo .inlineNote{font-size:11px}.authGatePage{color:#17191d;background:#fffaf4;place-items:center;min-height:100vh;padding:24px;font-family:Arial,sans-serif;display:grid}.authGateCard{background:#fff;border:1px solid #eee8e2;border-radius:24px;flex-direction:column;gap:14px;width:min(100%,430px);padding:34px;display:flex;box-shadow:0 18px 60px #27170b12}.authGateCard img{width:235px;max-width:80%;height:auto;margin:0 auto 10px}.authGateTag{color:#e83f12;background:#fff0e9;border-radius:999px;align-self:flex-start;padding:6px 10px;font-size:13px;font-weight:700}.authGateCard h1{margin:0;font-size:28px}.authGateCard p,.authGateCard small{color:#727781;margin:0;line-height:1.5}.authGateCard label{gap:7px;font-size:14px;font-weight:600;display:grid}.authGateCard input{height:46px;font:inherit;border:1px solid #dfdfdf;border-radius:12px;padding:0 13px}.authGateCard>button{color:#fff;height:48px;font:inherit;cursor:pointer;background:#ff4b16;border:0;border-radius:13px;font-weight:700}.authGateCard>button:disabled{opacity:.65}.authGateError{color:#bd2e22;background:#fff0ef;border-radius:10px;padding:11px 13px;font-size:14px}.authGateWait{color:#ff4b16;place-items:center;min-height:100vh;font-weight:700;display:grid}.authGateLogout{z-index:1000;color:#24262a;cursor:pointer;background:#fff;border:1px solid #e6e1dc;border-radius:999px;padding:9px 12px;font-size:12px;position:fixed;bottom:14px;right:15px;box-shadow:0 3px 14px #15151514}@media (max-width:600px){.authGateLogout{bottom:75px}}.socialAuthGroup,.registerSocialGroup{gap:9px;display:grid}.socialAuthButton,.registerSocialButton{color:#17191d;background:#fff;border:1px solid #dfdfdf;border-radius:12px;justify-content:center;align-items:center;gap:10px;min-height:46px;font:600 14px Arial,sans-serif;text-decoration:none;transition:background .15s,border-color .15s;display:flex}.socialAuthButton:hover:not(.unavailable),.registerSocialButton:hover:not(.unavailable){background:#fffaf4;border-color:#c9c3bd}.socialAuthButton.unavailable,.registerSocialButton.unavailable{color:#7b7d82;cursor:not-allowed;background:#f7f6f4}.socialAuthButton>span:first-child,.registerSocialButton>span:first-child{font-size:18px;font-weight:800}.googleMark{color:#4285f4;font-family:Arial,sans-serif}.authDivider{color:#858a91;align-items:center;gap:12px;font-size:12px;display:flex}.authDivider:before,.authDivider:after{content:"";background:#e9e6e2;flex:1;height:1px}.authGateCard .socialAuthGroup small,.registerSocialGroup small{font-size:12px}.registerSocialGroup{margin:0 0 22px}.registerSocialTitle{color:#343840;margin:0;font-size:14px;font-weight:700}.registerSocialButton{font-size:14px}.teamRow,.teamTableHead{grid-template-columns:36px 1.2fr .8fr 1fr 1.35fr .8fr .6fr .7fr;align-items:center;gap:8px;padding:10px 8px;font-size:12px;display:grid}.teamTableHead{border-bottom:1px solid var(--line);color:#666e78;background:#faf9f7;height:46px;font-weight:500}.teamRow{border-top:1px solid var(--line)}.teamRow .userAvatar{width:32px;height:32px;font-size:13px}.teamRow button{color:#b42318;cursor:pointer;background:#fef3f2;border:1px solid #fee4e2;border-radius:6px;padding:5px 9px;font-size:11px;font-weight:600;transition:background .15s}.teamRow button:hover:not(:disabled){background:#fee4e2}.teamRow button:disabled{opacity:.5;cursor:wait}.statusPill{color:#69717e;background:#f1f2f3;border-radius:20px;justify-self:start;padding:5px 9px}.statusPill.active{color:#078649;background:#e8f8ee}.inviteBranches{border:1px solid var(--line);border-radius:10px;gap:6px;margin:10px 0;padding:12px;display:grid}.inviteBranches legend{padding:0 6px;font-size:12px;font-weight:700}.inviteBranches label{align-items:center;gap:8px;font-size:13px;display:flex}.inviteBranches input{accent-color:var(--orange)}.inviteModal .permissionInfo{grid-template-columns:1fr auto;display:grid}.inviteModal .permissionInfo input{grid-column:1/-1;width:100%;min-width:0}.inviteModal .permissionInfo button{grid-column:1/-1}.authError{color:#b42318;background:#fff0ef;border-radius:8px;padding:10px;font-size:12px}@media (max-width:820px){.teamRow,.teamTableHead{min-width:820px}.tableSurface>.dashboardRows{overflow-x:auto}}.metric>div{min-width:0}@media (max-width:480px){.metric{flex-direction:column;align-items:flex-start}.metric>div{width:100%}.metricValue{overflow-wrap:anywhere;word-break:break-word;font-size:clamp(17px,5.6vw,22px)}.metric .eyebrow{line-height:1.25}}.tableScrollHint{display:none}@media (max-width:820px){.tableSurface[tabindex="0"]{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#c7c3be transparent;-webkit-overflow-scrolling:touch}.tableSurface[tabindex="0"]:focus-visible{outline-offset:2px;outline:3px solid #ff9a78}.tableScrollHint{color:#737984;margin:0;padding:10px 14px 0;font-size:11px;line-height:1.4;display:block}.tableSurface>.dashboardRows{max-height:none;overflow:visible}.campaignRow>:last-child,.tableHead>span:last-child,.teamRow>span:last-child{z-index:1;background:#fff;position:sticky;right:0;box-shadow:-5px 0 8px #17191d0c}.tableHead>span:last-child{background:#faf9f7}}.pendingInvitations{margin:0 0 18px;padding:18px}.pendingInvitations .sectionHead{margin-bottom:8px}.pendingInvitations .sectionHead p{color:var(--muted);margin:5px 0 0;font-size:12px}.pendingInvitation{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.pendingInvitation>div{min-width:0}.pendingInvitation b,.pendingInvitation small{display:block}.pendingInvitation b{overflow-wrap:anywhere;font-size:13px}.pendingInvitation small{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.45}.pendingInvitation .secondary{color:#a72f20;white-space:nowrap;border-color:#f1d7d1;height:38px;padding:0 13px}.notificationPopover{z-index:12;width:min(390px,100vw - 24px);max-height:min(70vh,560px);color:var(--ink);background:#fff;border:1px solid #eee9e3;border-radius:14px;position:absolute;top:calc(100% + 8px);right:26px;overflow:auto;box-shadow:0 14px 40px #27201924}.notificationPopover>header{z-index:1;background:#fff;border-bottom:1px solid #f0ede9;gap:4px;padding:16px;display:grid;position:sticky;top:0}.notificationPopover>header b{font-size:14px}.notificationPopover>header small{color:var(--muted);font-size:11px}.notificationState{color:var(--muted);margin:0;padding:20px 16px;font-size:12px}.notificationRows{padding:4px 10px}.notificationRow{text-align:left;background:#fff;border:0;border-bottom:1px solid #f1efed;gap:11px;width:100%;padding:12px 7px;display:flex}.notificationRow:last-child{border-bottom:0}.notificationRow:hover{background:#fff9f5}.notificationDot{background:var(--orange);border-radius:50%;flex:none;width:9px;height:9px;margin:5px 0 0}.notificationRow>span:last-child{gap:4px;min-width:0;display:grid}.notificationRow small{color:var(--orange);font-size:10px;font-weight:700}.notificationRow b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.notificationRow>span>span{color:#5d6470;font-size:11px;line-height:1.35}.notificationRow time{color:#9399a2;font-size:10px}.statsGrid{grid-template-columns:1.4fr 1fr;gap:16px;margin-top:14px;display:grid}.statsGrid>.surface{flex-direction:column;min-height:300px;padding:20px;display:flex}.timelineSurface{grid-column:1/-1}.legend{color:var(--muted);gap:14px;font-size:12px;display:flex}.legendItem{align-items:center;gap:6px;display:flex}.legendDot{border-radius:3px;width:10px;height:10px}.legendDot.issued{background:#ff4d18}.legendDot.redeemed{background:#0baa60}.barChartContainer{flex:1;align-items:flex-end;min-height:180px;padding-top:15px;display:flex}.barChart{border-bottom:1px solid var(--line);align-items:flex-end;gap:6px;width:100%;height:160px;padding-bottom:2px;display:flex}.barColumn{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.barsWrapper{justify-content:center;align-items:flex-end;gap:3px;width:100%;height:calc(100% - 22px);display:flex}.bar{border-radius:4px 4px 0 0;justify-content:center;width:45%;max-width:14px;transition:height .3s;display:flex;position:relative}.bar.issuedBar{background:linear-gradient(#ff6230,#ff4d18)}.bar.redeemedBar{background:linear-gradient(#19c274,#0baa60)}.barLabel{color:var(--ink);font-size:10px;font-weight:700;position:absolute;top:-16px}.dateLabel{color:var(--muted);white-space:nowrap;height:16px;margin-top:6px;font-size:10px}.statsRankList{flex-direction:column;gap:12px;margin-top:10px;display:flex}.statsRankRow{background:#fdfcfb;border:1px solid #f0ede9;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;display:flex}.statsRankInfo{flex:1;min-width:0}.statsRankInfo b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.statsRankInfo small{color:var(--muted);font-size:11px}.statsRankStats{flex-direction:column;align-items:flex-end;gap:4px;min-width:140px;display:flex}.statsRankMetrics{color:var(--muted);gap:10px;font-size:11px;display:flex}.statsRankMetrics strong{color:var(--ink);font-weight:700}.statsRate{color:#0baa60;font-weight:700}.rateProgressBar{background:#eee9e3;border-radius:3px;width:100%;height:5px;overflow:hidden}.rateProgressFill{background:linear-gradient(90deg,#ff4d18,#0baa60);border-radius:3px;height:100%}.peakHoursList{border-bottom:1px solid var(--line);align-items:flex-end;gap:4px;height:150px;padding-top:20px;padding-bottom:2px;display:flex}.peakHourCol{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.peakHourBarWrap{justify-content:center;align-items:flex-end;width:100%;height:calc(100% - 20px);display:flex}.peakHourBar{background:linear-gradient(#fa7d53,#ff4d18);border-radius:3px 3px 0 0;width:80%;max-width:12px}.peakHourLabel{color:var(--muted);height:15px;margin-top:5px;font-size:9px}.filterChips button.active{background:var(--orange);color:#fff;border-color:var(--orange)}.interactiveMapContainer{background:#f3f6f1;border:1px solid #e7ece3;border-radius:12px;width:100%;height:100%;min-height:220px;position:relative;overflow:hidden}.interactiveMapContainer.large{min-height:590px}.interactiveMapGrid{width:100%;height:100%;min-height:inherit;background:radial-gradient(circle,#edf2eb 0%,#dae4d5 100%);position:relative}.mapGridLines{background-image:linear-gradient(90deg,#ffffff40 1px,#0000 1px),linear-gradient(#ffffff40 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0}.branchMapPin{cursor:pointer;z-index:3;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.branchMapPin .pinMarker{color:#fff;background:#ff4d18;border-radius:50%;place-items:center;width:32px;height:32px;transition:transform .18s,background .18s;display:grid;box-shadow:0 3px 10px #ff4d1850}.branchMapPin:hover .pinMarker,.branchMapPin.active .pinMarker{background:#e03806;transform:scale(1.18)}.branchMapPin .pinPulse{background:#ff4d1840;border-radius:50%;width:20px;height:20px;animation:2s ease-out infinite pinPulseAnim;position:absolute;top:6px}.pinBranchBadge{color:#fff;white-space:nowrap;background:#17191dee;border-radius:6px;margin-top:4px;padding:3px 7px;font-size:10px;font-weight:700;box-shadow:0 3px 8px #0003}.activeLocOverlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:4;background:#fffe;border:1px solid #e0ddd7;border-radius:10px;max-width:280px;padding:10px 14px;position:absolute;bottom:14px;left:14px;box-shadow:0 6px 20px #00000015}.activeLocOverlay b{color:#17191d;font-size:13px;display:block}.activeLocOverlay small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.activeLocOverlay .coords{color:var(--orange);font-weight:600}.locationRow.selectedRow{background:#fff3ed;border-color:#ffcaa6}.campaignActionsGroup{align-items:center;gap:6px;display:inline-flex}.campaignAction{border:1px solid var(--line);height:28px;color:var(--ink);white-space:nowrap;background:#fff;border-radius:6px;padding:0 9px;font-size:11px;font-weight:600;transition:all .15s}.campaignAction:hover:not(:disabled){background:#f8f7f5;border-color:#d4d0c9}.campaignAction.editAction{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.campaignAction.editAction:hover:not(:disabled){background:#dbeafe;border-color:#93c5fd}.campaignAction.resubmitAction{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.campaignAction.resubmitAction:hover:not(:disabled){background:#dcfce7;border-color:#86efac}.campaignAction.deleteAction{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.campaignAction.deleteAction:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}.moderationReasonNote{margin-top:4px;font-weight:600;color:#b91c1c!important}.status-draft{color:#4b5563;background:#f3f4f6}.status-pending_review{color:#b45309;background:#fef3c7}.status-rejected{color:#b91c1c;background:#fee2e2}.status-paused{color:#64748b;background:#f1f5f9}.status-published{color:#07884e;background:#e7f8ee}.statusDistribution{flex-direction:column;gap:12px;width:100%;margin-top:14px;display:flex}.distRow{flex-direction:column;gap:5px;display:flex}.distHead{justify-content:space-between;align-items:center;font-size:12px;display:flex}.distHead b{align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.distTrack{background:#f0ede9;border-radius:4px;width:100%;height:8px;overflow:hidden}.distFill{border-radius:4px;height:100%;transition:width .4s}.distFill.redeemed{background:#0baa60}.distFill.active{background:#ff4d18}.distFill.expired{background:#9e9e9e}.qrScannerContainer{margin-bottom:20px;padding:22px}.scannerInterfaceGrid{grid-template-columns:1fr 1fr;gap:24px;margin-top:18px;display:grid}.cameraViewportWrap{flex-direction:column;gap:12px;display:flex}.cameraBox{background:#111;border-radius:14px;justify-content:center;align-items:center;width:100%;height:320px;display:flex;position:relative;overflow:hidden}.cameraFeed{object-fit:cover;width:100%;height:100%}.cameraInactivePlaceholder{color:#737984;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex}.cameraIconPlaceholder{font-size:42px}.scannerOverlay{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scannerLaser{background:#0baa60;height:2px;animation:2.4s ease-in-out infinite laserScan;position:absolute;left:15%;right:15%;box-shadow:0 0 10px #0baa60}@keyframes laserScan{0%{top:20%}50%{top:80%}to{top:20%}}.scannerCorners{border:2px dashed #fff9;border-radius:16px;width:200px;height:200px}.scannerNotice{color:#fff;background:#000a;border-radius:20px;padding:4px 10px;font-size:11px;position:absolute;bottom:14px}.cameraControlsRow{gap:10px;display:flex}.scannerManualForm{border:1px solid var(--line);background:#fcfbfa;border-radius:12px;flex-direction:column;gap:14px;padding:16px;display:flex}.manualInputRow{gap:8px;display:flex}.manualInputRow input{border:1px solid var(--line);border-radius:8px;flex:1;padding:10px 12px;font-size:13px}.scannerAlert{border-radius:8px;padding:10px 14px;font-size:12px}.scannerAlert.error{color:#b42318;background:#fff0ef;border:1px solid #fee4e2}.couponPreviewCard{background:#fff;border:2px solid #0baa60;border-radius:12px;flex-direction:column;gap:10px;padding:18px;display:flex;box-shadow:0 6px 18px #0baa6018}.couponPreviewHead{justify-content:space-between;align-items:center;display:flex}.couponBranchBadge{color:var(--muted);font-size:11px;font-weight:600}.couponPreviewCard h4{margin:0;font-size:16px}.couponPriceRow{align-items:baseline;gap:8px;margin:0;display:flex}.couponPriceRow strong{color:var(--orange);font-size:22px}.couponExpiry{color:var(--muted);margin:0;font-size:11px}.redeemConfirmButton{color:#fff;cursor:pointer;background:linear-gradient(105deg,#0baa60,#089453);border:0;border-radius:10px;padding:14px;font-size:15px;font-weight:700;transition:transform .15s;box-shadow:0 4px 14px #0baa6030}.redeemConfirmButton:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.invalidReasonNote{color:#b42318;background:#fef3f2;border-radius:8px;padding:10px;font-size:12px;line-height:1.4}.couponSuccessCard{text-align:center;background:#eefaf3;border:1px solid #ccefe0;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:20px;display:flex}.successCheckIcon{font-size:36px}.planCardsGrid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:18px 0;display:grid}.planTierCard{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;padding:22px;display:flex;position:relative;box-shadow:0 6px 20px #1110}.planTierCard.featuredTier{border:2px solid var(--orange);box-shadow:0 10px 30px #ff4b1618}.planBadge{background:var(--orange);color:#fff;letter-spacing:.3px;border-radius:12px;padding:4px 10px;font-size:10px;font-weight:800;position:absolute;top:-12px;right:18px}.planTierHead h3{margin:0;font-family:Jakarta,sans-serif;font-size:19px}.planPrice{align-items:baseline;gap:6px;margin:14px 0;display:flex}.planPrice strong{color:var(--ink);font-family:Jakarta,sans-serif;font-size:32px;font-weight:800}.planPrice span{color:var(--muted);font-size:13px}.planFeaturesList{flex-direction:column;gap:8px;margin:14px 0;padding:0;font-size:13px;list-style:none;display:flex}.planFeaturesList li{align-items:center;gap:8px;display:flex}.planFeaturesList li:before{content:"✓";color:#0baa60;font-weight:800}.quotaBadge{color:#d4380d;background:#fff2ec;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.quotaBadge.unlimited{color:#07884e;background:#e8f8ee}.languageSwitcher{align-items:center;display:inline-flex}.langSelect{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;height:38px;padding:0 8px;font-size:12px;font-weight:600}@media (max-width:820px){.scannerInterfaceGrid{grid-template-columns:1fr}}
