*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Arial,Helvetica,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af}input::placeholder,textarea::placeholder{color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.inline-block{display:inline-block}.table{display:table}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rounded-full{border-radius:9999px}.bg-\[\#ffe9e9\]{--tw-bg-opacity:1;background-color:rgb(255 233 233/var(--tw-bg-opacity,1))}.bg-green-soft{--tw-bg-opacity:1;background-color:rgb(232 247 228/var(--tw-bg-opacity,1))}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.text-\[13px\]{font-size:13px}.font-extrabold{font-weight:800}.text-danger{--tw-text-opacity:1;color:rgb(191 29 29/var(--tw-text-opacity,1))}.text-green-dark{color:var(--green-dark)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--navy:#061044;--green:#23910f;--green-dark:#176b0b;--line:#dfe6ef;--muted:#66708d;--surface:#ffffff;--page:#f6f9f5;--amber:#ffb703}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:var(--page);color:var(--navy);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.appTooltip{background:#000!important;border-radius:8px!important;box-shadow:0 18px 44px rgba(6,16,68,.18);color:#fff!important;font-size:12px!important;font-weight:800;line-height:1.35;padding:8px 10px;z-index:9999}.appTooltipArrow{fill:#000!important}.loginPage{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);min-height:100vh}.loginBrand{align-items:center;background:linear-gradient(180deg,#061044,#082550);color:white;display:flex;flex-direction:column;justify-content:center;padding:48px}.loginBrand h1{font-size:58px;margin:0}.loginBrand p{color:#9ce57c;font-weight:900;margin:8px 0 42px}.mascotMark{align-items:center;background:var(--green);border-radius:50%;color:white;display:flex;height:156px;justify-content:center;width:156px}.loginPanel{align-self:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 44px rgba(6,16,68,.08);display:grid;gap:16px;justify-self:center;max-width:420px;padding:34px;width:calc(100% - 48px)}.loginPanel h2,.loginPanel p{margin:0;text-align:center}.loginPanel p{color:var(--muted);margin-bottom:8px}@media (max-width:900px){.loginPage{align-content:start;grid-template-columns:1fr;min-height:100dvh}.loginBrand{min-height:270px;padding:32px 24px}.loginBrand h1{font-size:clamp(42px,9vw,64px);line-height:1;text-align:center}.loginBrand p{font-size:clamp(18px,4vw,24px);margin:12px 0 28px;text-align:center}.mascotMark{height:132px;width:132px}.loginPanel{margin:-34px auto 32px;max-width:520px;padding:28px;width:calc(100% - 48px)}}@media (max-width:520px){.loginBrand{min-height:220px;padding:24px 18px 44px}.loginBrand h1{font-size:clamp(38px,15vw,52px)}.loginBrand p{font-size:17px;margin:10px 0 22px}.mascotMark{height:96px;width:96px}.mascotMark svg{height:48px;width:48px}.loginPanel{gap:14px;margin:-28px auto 24px;padding:22px;width:calc(100% - 32px)}.loginPanel h2{font-size:22px}.loginPanel p{font-size:16px}}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh;transition:grid-template-columns .18s ease}.shell.sidebarCollapsed{grid-template-columns:76px 1fr}.mobileHeader,.mobileMenuButton,.sidebarOverlay{display:none}.sidebar{background:linear-gradient(180deg,#061044,#082550);color:white;display:flex;flex-direction:column;height:100dvh;overflow-y:auto;padding:22px 14px max(28px,env(safe-area-inset-bottom));position:sticky;top:0}.brandRow{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:28px}.brand{color:white;font-size:25px;font-weight:900;line-height:1;min-width:0;overflow:hidden;text-overflow:clip;white-space:nowrap}.sidebarToggle{align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:8px;color:white;display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;padding:0;width:34px}.sidebarToggle:hover{background:rgba(255,255,255,.18)}nav{display:grid;gap:6px}nav button{align-items:center;background:transparent;border:0;border-radius:8px;color:white;display:flex;font-size:14px;gap:9px;min-height:42px;padding:10px 11px;text-align:left}.sidebarCollapsed .sidebar{padding-inline:18px}.sidebarCollapsed .brandRow{flex-direction:column;gap:16px}.sidebarCollapsed .brand{font-size:22px;text-align:center;width:100%}.sidebarCollapsed nav button{justify-content:center;min-height:44px;padding:12px 0}.sidebarCollapsed .adminDetails,.sidebarCollapsed nav button span{display:none}nav button.active,nav button:hover{background:var(--green)}.adminBox{gap:10px;margin-top:auto;min-height:52px;min-width:0;padding-top:24px}.adminBox,.adminBox span{align-items:center;display:flex}.adminBox span{background:rgba(255,255,255,.18);border-radius:50%;flex:0 0 38px;font-weight:900;height:38px;justify-content:center;width:38px}.adminDetails{display:grid;gap:2px;min-width:0}.adminBox small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminProfileLink{background:transparent;border:0;color:white;padding:0;text-align:left}.adminProfileLink:hover strong{color:#9ce57c}.adminProfileLink strong{display:-webkit-box;line-clamp:2;line-height:1.15;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.adminDetails em{color:#9ce57c;display:block;font-size:11px;font-style:normal;font-weight:900;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminBox small{color:#cdd6e7;display:block;font-size:12px;line-height:1.2}.adminDetails .logoutButton{background:transparent;border:0;color:#9ce57c;font-size:12px;font-weight:800;margin-top:4px;padding:0}.adminDetails .logoutButton:hover{color:white}.content{min-width:0;overflow:hidden;padding:22px 28px}.contentInner{margin:0 auto;max-width:1180px;width:100%}.topbar{justify-content:space-between;margin-bottom:20px}.breadcrumb,.topbar{align-items:center;display:flex}.breadcrumb{color:var(--muted);gap:7px;font-weight:700;margin:0 0 4px}.breadcrumb button{background:transparent;border:0;color:var(--muted);font-weight:800;padding:0}.breadcrumb button:hover,.breadcrumb strong{color:var(--green-dark)}h1,h2,h3{margin:0}h1{font-size:36px;line-height:1.05}.actions button,.loginPanel>button,.panel button:not(.iconButton):not(.passwordToggle):not(.stepButton):not(.outlineButton):not(.couponAccordionToggle):not(.sortableHeader):not(.paginationButton):not(.detailLink):not(.infoBadge):not(.mapSearchButton):not(.couponMapMarker),.primaryButton{align-items:center;background:var(--green);border:0;border-radius:8px;color:white;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:44px;padding:10px 18px}.actions button:disabled,.loginPanel>button:disabled,.panel button:disabled,.primaryButton:disabled{cursor:not-allowed;opacity:.68}.actions .outlineButton,.outlineButton,.panel .outlineButton{background:white;border:1px solid var(--line);color:var(--navy)}.metricGrid{display:grid;gap:10px;margin-bottom:14px}.metricGrid,.metricGrid.small{grid-template-columns:repeat(4,minmax(0,1fr))}.metric,.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 30px rgba(6,16,68,.05)}.metric{display:grid;gap:5px;min-height:94px;padding:14px}.downloadBox p,.filters,.metric small,.metric span{color:var(--muted)}.metricLabel{align-items:center;display:inline-flex;gap:7px}.metric strong{font-size:24px}.dashboardToolbar{align-items:center;display:flex;justify-content:flex-end;margin-bottom:14px}.statsFilters{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(260px,1fr));margin-bottom:14px}.statsFilterControl{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;gap:6px;min-width:280px;padding:10px 12px}.statsFilterControl span{color:var(--muted);font-size:12px;font-weight:900}.statsFilterControl select{border:0;min-height:28px;padding:0}.infoBadge{align-items:center;background:var(--green);border:0;border-radius:50%;color:white;display:inline-flex;font-size:11px;font-weight:900;height:18px;justify-content:center;min-height:18px;padding:0;width:18px}.dashboardDateControls{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.dateControl{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--navy);display:flex;gap:8px;min-height:42px;padding:0 10px}.dateControl svg{color:var(--muted);flex:0 0 auto}.dateControl input,.dateControl select{background:transparent;border:0;color:var(--navy);font:inherit;font-weight:800;min-height:40px;outline:0}.dateControl input{min-width:136px}.chartPanel{min-height:330px}.chartHeader{align-items:start;display:flex;gap:12px;justify-content:space-between}.chartLegend{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;font-weight:900;gap:10px}.chartLegend span{align-items:center;display:inline-flex;gap:5px}.chartLegend i{border-radius:3px;display:inline-block;height:10px;width:10px}.greenLegend{background:#22951a}.blueLegend{background:#2574e8}.lineChart{display:grid;gap:10px;margin-top:12px}.lineChartSvg{height:240px;overflow:visible;width:100%}.lineChartGrid{stroke:#e8eef6;stroke-width:1}.lineChartPath{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.lineChartPoint{stroke:var(--surface);stroke-width:3}.lineChartHitArea{fill:transparent;cursor:pointer}.lineChart.green .lineChartPath{stroke:#22951a}.lineChart.green .lineChartPoint{fill:#22951a}.lineChart.blue .lineChartPath{stroke:#2574e8}.lineChart.blue .lineChartPoint{fill:#2574e8}.multiGreen{stroke:#22951a}.multiBlue{stroke:#2574e8}.multiGreenPoint{fill:#22951a}.multiBluePoint{fill:#2574e8}.lineChartLabels{color:var(--muted);display:grid;font-size:12px;font-weight:800;gap:4px}.lineChartLabels span{min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.metric small{color:var(--green-dark);font-weight:800}.panel{padding:20px 22px}.panelHeader{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.panelHint{color:var(--muted);margin:6px 0 0}.alert{border-radius:8px;font-size:14px;font-weight:800;margin-bottom:16px;padding:12px 14px}.alert.error{background:#ffe9e9;color:#bf1d1d}.alert.success{background:#e8f7e4;color:var(--green-dark)}.userForm{border:1px solid var(--line);border-radius:8px;margin-bottom:18px;padding:18px}.profilePanel{max-width:760px}.profileSummary{align-items:center;border:1px solid var(--line);border-radius:8px;display:flex;gap:14px;margin-bottom:16px;padding:16px}.profileSummary>span{align-items:center;background:#e9f5e7;border-radius:50%;color:var(--green-dark);display:flex;flex:0 0 56px;font-size:20px;font-weight:900;height:56px;justify-content:center;width:56px}.profileSummary p{color:var(--muted);margin:4px 0 0}.profileGrid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.profileGrid div{border:1px solid var(--line);border-radius:8px;padding:14px}.profileGrid dt{align-items:center;color:var(--muted);display:flex;font-size:12px;font-weight:900;gap:7px;margin-bottom:8px}.profileGrid dd{font-weight:900;margin:0}.brandForm,.brandFormGrid{display:grid;gap:16px}.brandFormGrid{align-items:start;grid-template-columns:minmax(220px,.9fr) minmax(260px,1fr) 72px}.formTitle{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.downloadBox,.filters,.roleBadge,.rowActions,.searchBox,.toolbar{align-items:center;display:flex;gap:10px}label{color:var(--navy);display:grid;font-size:13px;font-weight:800;gap:8px}input,select,textarea{background:white;border:1px solid var(--line);border-radius:8px;color:var(--navy);min-height:42px;padding:10px 12px;width:100%}input::-moz-placeholder,textarea::-moz-placeholder{color:#8a92a8;opacity:1}input::placeholder,textarea::placeholder{color:#8a92a8;opacity:1}input[type=file]{height:1px;opacity:0;position:absolute;width:1px}.fileUpload{align-items:center;border:1px solid var(--line);border-radius:8px;cursor:pointer;display:grid;gap:10px;grid-template-columns:max-content minmax(0,1fr);min-height:42px;padding:6px}.fileUpload:focus-within{border-color:#1677ff;box-shadow:0 0 0 2px rgba(22,119,255,.14)}.fileUploadButton{align-items:center;background:#f5f8fc;border:1px solid #d7e1ee;border-radius:6px;color:var(--navy);display:inline-flex;font-weight:900;gap:8px;min-height:32px;padding:6px 10px;white-space:nowrap}.fileName{color:var(--muted);font-size:13px;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fileUpload:hover .fileUploadButton{background:#edf4fb}input:disabled{background:#f5f7fb;color:var(--muted)}.fieldInvalid input,.fieldInvalid select,.fieldInvalid textarea{border-color:#bf1d1d}.fieldError{color:#bf1d1d;display:block;line-height:1.25}.fieldError,.fieldHelp{font-size:12px;font-weight:800}.fieldHelp,.fieldMeta{color:var(--muted)}.fieldMeta{align-items:center;display:flex;font-size:12px;justify-content:space-between}textarea{min-height:112px;resize:vertical}.passwordField{display:flex;position:relative}.passwordField input{padding-right:48px;width:100%}.passwordToggle{align-items:center;background:transparent;border:0;color:var(--muted);display:inline-flex;height:100%;justify-content:center;padding:0;position:absolute;right:0;top:0;width:44px}.passwordToggle:hover{color:var(--navy)}.searchBox{align-items:center;border:1px solid var(--line);border-radius:8px;display:grid;flex:0 1 420px;gap:10px;grid-template-columns:20px minmax(0,1fr);max-width:420px;min-height:42px;min-width:240px;padding:0 12px}.searchBox svg{color:var(--navy);flex:0 0 auto}.searchBox input{border:0;height:40px;min-height:40px;min-width:0;padding:0}.searchBox input:focus{outline:none}.searchBox:focus-within{border-color:#1677ff;box-shadow:0 0 0 2px rgba(22,119,255,.14)}.toolbar{justify-content:space-between;margin-bottom:18px}.toolbar select{min-width:210px}table{border-collapse:collapse;min-width:900px;width:100%}.compactTable{min-width:560px}.tableScroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:8px}.tableScroll::-webkit-scrollbar{height:10px}.tableScroll::-webkit-scrollbar-track{background:#eef3f7;border-radius:999px}.tableScroll::-webkit-scrollbar-thumb{background:#b8c5d6;border-radius:999px}.tableScroll::-webkit-scrollbar-thumb:hover{background:#8fa1b7}td,th{border-bottom:1px solid var(--line);padding:12px 10px;text-align:center;vertical-align:middle}th{color:var(--muted);font-size:13px;font-weight:900}.sortableHeader{align-items:center;background:transparent;border:0;color:inherit;display:inline-flex;font:inherit;font-weight:900;gap:5px;padding:0}.sortableHeader svg{color:var(--muted)}.detailLink{background:transparent;border:0;color:var(--green-dark);display:inline;font:inherit;font-weight:900;min-height:0;padding:0;text-align:inherit;text-decoration:none}.detailLink:hover{color:var(--green);text-decoration:underline;text-underline-offset:3px}.tableFooter{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;padding-top:12px}.paginationActions,.perPageControl{align-items:center;display:inline-flex;gap:8px}.paginationActions span,.paginationSummary,.perPageControl{color:var(--muted);font-size:13px;font-weight:800}.perPageControl select{font:inherit;padding:0 8px}.paginationActions button,.perPageControl select{background:white;border:1px solid var(--line);border-radius:8px;color:var(--navy);min-height:34px}.paginationActions button{font-weight:900;padding:0 10px}.paginationActions button:disabled{color:var(--muted);cursor:not-allowed;opacity:.55}td:first-child,th:first-child{text-align:left}.emptyCell{color:var(--muted);font-weight:800;text-align:center}.roleBadge{color:var(--navy);font-weight:800}.roleBadge,.tableScroll td,.tableScroll th{white-space:nowrap}.roleBadge svg{color:var(--green)}.brandLogo,.brandPreview{align-items:center;background:#f5f7fb;border:1px solid var(--line);border-radius:8px;display:inline-flex;justify-content:center;overflow:hidden}.brandLogo{height:42px;width:42px}.brandPreview{color:var(--muted);height:72px;width:72px}.brandLogo img,.brandPreview img{height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.iconButton{align-items:center;background:white;border:1px solid var(--line);border-radius:8px;color:var(--navy);display:inline-flex;height:36px;justify-content:center;padding:0;width:36px}.iconButton.danger{color:#bf1d1d}.settingsGrid{margin-top:18px}.stack{display:grid;gap:14px;min-width:0}.auditPanel,.settingsPanel{min-width:0;overflow:hidden}.settingsPanel .actions{flex-wrap:wrap}.statusSelect{margin-bottom:16px;max-width:280px}.splitPanel,.twoColumns{display:grid;gap:14px;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.steps{display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:24px;padding-top:2px;position:relative}.steps:before{background:var(--line);content:"";height:2px;left:12.5%;position:absolute;right:12.5%;top:18px}.steps button{align-items:center;border:0;border-radius:0;display:grid;gap:8px;justify-items:center;position:relative;text-align:center}.panel .steps button,.steps button{background:transparent;color:var(--muted);min-height:58px;padding:0}.panel .steps button{border:0}.steps span{align-items:center;background:white;border:2px solid var(--line);border-radius:50%;color:var(--muted);display:inline-flex;height:34px;justify-content:center;width:34px}.steps small,.steps span{font-weight:900;position:relative;z-index:2}.steps small{font-size:12px;line-height:1.2}.panel .steps .current,.steps .current{color:var(--green-dark)}.steps .current span{background:var(--green);border-color:var(--green);color:white}.formGrid{display:grid;gap:14px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}.formGrid>label{align-self:start;grid-template-rows:auto minmax(42px,auto) minmax(18px,auto)}.singleColumn{grid-template-columns:1fr}.compactSplit{align-items:start;grid-template-columns:minmax(0,1.2fr) minmax(260px,.65fr)}.compactSplit .mockMap{min-height:340px}.mapFallback small{color:var(--muted);font-weight:800;max-width:320px}.reviewGrid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.reviewItem{border-bottom:1px solid var(--line);display:grid;gap:6px;padding:10px 0}.reviewItem span{color:var(--muted);font-size:12px;font-weight:900}.reviewItem strong{white-space:normal;word-break:break-word}.wide{grid-column:1/-1}.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.mockMap{align-items:center;background:linear-gradient(35deg,transparent 45%,#ffffff 46%,#ffffff 54%,transparent 55%),linear-gradient(145deg,transparent 45%,#ffffff 46%,#ffffff 54%,transparent 55%),#e9f1e7;border:1px solid var(--line);border-radius:8px;display:flex;justify-content:center;min-height:420px;position:relative}.mockMap svg{color:var(--green);position:relative;z-index:2}.radius{border:2px solid rgba(35,145,15,.35);border-radius:50%;height:230px;position:absolute;width:230px}.bars{align-items:flex-end;display:flex;gap:10px;height:260px;padding-top:22px}.bars span{background:linear-gradient(180deg,var(--green),#1677ff);border-radius:8px 8px 0 0;flex:1}.downloadBox{border:1px solid var(--line);border-radius:8px;margin-top:18px;padding:18px}.downloadBox svg{color:var(--green)}.downloadBox div{flex:1}.actions .secondary,.downloadBox .secondary{background:white;border:1px solid var(--line);color:var(--navy)}.modalBackdrop{align-items:center;background:rgba(5,13,45,.42);display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:50}.confirmationModal{background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 22px 60px rgba(6,16,68,.22);display:grid;gap:12px;max-width:420px;padding:22px;width:100%}.confirmationModal p{color:var(--muted);font-weight:800;margin:0}.modalActions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.fieldLabelWithInfo{align-items:center;display:inline-flex;gap:8px}.couponBuilder,.couponList{display:grid;gap:14px}.couponFormCard{border:1px solid var(--line);border-radius:8px;overflow:hidden;padding:0}.couponFormCard.collapsed{background:#fbfdff}.couponAccordionHeader{align-items:center;display:flex;gap:12px;justify-content:space-between;min-height:72px;padding:12px 14px}.couponAccordionToggle{align-items:center;background:transparent;border:0;color:var(--navy);display:grid;flex:1;gap:10px;grid-template-columns:24px minmax(0,1fr);justify-items:start;min-height:44px;padding:0;text-align:left}.couponAccordionToggle svg{transition:transform .16s ease}.couponFormCard.collapsed .couponAccordionToggle svg{transform:rotate(-90deg)}.couponAccordionToggle span{display:grid;gap:3px;min-width:0}.couponAccordionToggle strong{font-size:18px}.couponAccordionToggle small,.couponHeaderMeta span{color:var(--muted);font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.couponHeaderMeta{align-items:center;display:flex;flex:0 0 auto;gap:10px}.couponAccordionBody{border-top:1px solid var(--line);padding:16px}.locationStep{display:grid;gap:16px}.locationStepHeader{display:grid;gap:4px}.selectedCouponLocation{background:#f4f8f2;border:1px solid #cfe4c8;border-radius:8px;display:grid;gap:5px;padding:12px}.selectedCouponLocation span{color:var(--muted);font-size:12px;font-weight:700;overflow-wrap:anywhere}@media (max-width:720px){.locationStepHeader{display:grid}}.mapboxShell{position:relative}.mapboxMap,.mapboxShell{border:1px solid var(--line);border-radius:8px;min-height:340px;overflow:hidden}.mapboxShell .mapboxMap{border:0;border-radius:0;min-height:inherit}.mapSearchBox{align-items:center;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 20px rgba(6,16,68,.12);display:grid;gap:8px;grid-template-columns:18px minmax(0,1fr) auto;left:10px;max-width:calc(100% - 96px);min-height:42px;padding:0 6px 0 12px;position:absolute;right:72px;top:10px;z-index:2}.mapSearchBox svg{color:var(--muted)}.mapSearchBox input{border:0;height:40px;min-height:40px;min-width:0;padding:0}.mapSearchBox input:focus{outline:none}.mapSearchButton,.panel .mapSearchButton:not(.iconButton){align-items:center;background:transparent;border:0;border-radius:8px;color:var(--navy);display:inline-flex;height:34px;justify-content:center;min-height:34px;padding:0;width:34px}.mapSearchButton:hover,.panel .mapSearchButton:not(.iconButton):hover{background:#f1f5f9}.mapSearchButton:disabled,.panel .mapSearchButton:not(.iconButton):disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.mapSearchError{background:#ffe9e9;border-radius:8px;color:#bf1d1d;font-size:12px;font-weight:800;left:10px;max-width:calc(100% - 100px);padding:8px 10px;position:absolute;right:72px;top:58px;z-index:2}.mapboxMap .mapboxgl-ctrl button,.panel .mapboxMap .mapboxgl-ctrl button{background:transparent!important;border:0!important;border-radius:0;color:inherit;display:block;font-weight:400;gap:0;min-height:29px;padding:0!important}.mapboxMap .mapboxgl-ctrl-group button{background-color:#fff!important;height:29px;width:29px}.mapboxMap .mapboxgl-ctrl-attrib-button{display:none!important}.mapboxMap .mapboxgl-ctrl-attrib{background:rgba(255,255,255,.8)!important;border-radius:6px;color:var(--muted);font-size:10px;margin:0 0 6px 6px;padding:2px 6px}.couponMapMarker{align-items:center;background:#1264d8;border:3px solid white;border-radius:50%;box-shadow:0 2px 8px rgba(6,16,68,.3);color:white;display:flex;font-size:12px;font-weight:900;height:30px;justify-content:center;min-height:30px;padding:0;width:30px}.couponMapMarker.selected{background:var(--green);box-shadow:0 0 0 4px rgba(35,145,15,.22)}.mapFallback{align-content:center;color:var(--green);gap:10px;text-align:center}.donutPanel,.mapFallback{display:grid;justify-items:center}.donutPanel{align-items:center;gap:14px;grid-template-columns:1fr;margin-top:22px}.donutChart{height:240px;width:240px}.donutSegment{cursor:pointer;transition:opacity .14s ease}.donutSegment:hover{opacity:.82}.legend{color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:center;margin:0;max-width:100%;padding:0}.legend li{align-items:center;display:flex;font-weight:900;gap:8px;min-width:0}.legend span{border-radius:3px;display:inline-block;height:10px;width:10px}.reportShell{display:grid;gap:18px;min-width:0;padding:22px}.reportFilters{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));min-width:0}.reportFilterControl{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;gap:6px;min-width:0;padding:10px 12px}.reportFilterControl span{color:var(--muted);font-size:12px;font-weight:900}.reportFilterControl input,.reportFilterControl select{background:transparent;border:0;color:var(--navy);font:inherit;font-weight:900;min-height:30px;min-width:0;outline:none;padding:0;width:100%}.reportMetricGrid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));min-width:0}.reportMetricGrid .metric{box-shadow:none;min-height:112px;min-width:0;padding:16px}.reportMetricGrid .metric strong{font-size:25px}.reportMetricLabel{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;line-height:1.2}.reportMetricLabel>span{min-width:0}.reportGrid{display:grid;gap:18px;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);min-width:0}.reportExportPanel,.reportSummaryPanel{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-height:260px;min-width:0;padding:22px}.reportSummaryList{display:grid;gap:16px;margin:26px 0 0}.reportSummaryList div{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:14px;justify-content:space-between;padding-bottom:12px}.reportSummaryList dt{color:var(--muted);font-weight:900}.reportSummaryList dd{color:var(--navy);font-size:18px;font-weight:900;margin:0;text-align:right}.reportExportPanel{align-content:start;display:grid;gap:16px}.reportExportActions{display:grid;gap:16px;margin-top:20px}.reportDownloadButton{align-items:center;display:inline-flex;gap:10px;justify-content:center;min-height:56px;width:100%}.redemptionShell{display:grid;gap:18px;min-width:0;padding:22px}.redemptionDetailGrid,.redemptionGrid{display:grid;gap:16px;grid-template-columns:1fr;min-width:0}.redemptionLookup{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(280px,520px) minmax(180px,auto);justify-content:start;min-width:0}.redemptionInput{display:grid;gap:8px}.redemptionInput>span{color:var(--muted);font-weight:900}.redemptionInput div{align-items:center;background:white;border:1px solid var(--line);border-radius:8px;display:flex;gap:10px;min-height:54px;min-width:0;padding:0 14px}.redemptionInput input{border:0;color:var(--navy);flex:1;font:inherit;font-weight:900;min-width:0;outline:none}.redemptionSearchButton{align-items:center;background:white!important;border:1px solid var(--line)!important;border-radius:8px;color:var(--navy)!important;display:inline-flex;gap:8px;justify-content:center;min-height:54px;padding:0 18px;white-space:nowrap}.redemptionRedeemButton,.redemptionScanButton{min-height:54px}.redemptionSearchButton:hover:not(:disabled){border-color:var(--green)!important;color:var(--green-dark)!important}.redemptionSearchButton:disabled{opacity:.65}.qrScanner,.redemptionActionPanel,.redemptionCard,.redemptionRecent{background:white;border:1px solid var(--line);border-radius:8px;min-width:0;padding:18px}.qrScanner{display:grid;gap:12px}.qrScannerHeader,.scannerError{align-items:center;color:var(--muted);display:flex;font-weight:900;gap:8px}.qrScanner video{aspect-ratio:16/9;background:#061044;border-radius:8px;-o-object-fit:cover;object-fit:cover;width:100%}.redemptionCard{display:grid;gap:18px}.emptyRedemption{align-content:center;color:var(--muted);justify-items:center;min-height:250px;text-align:center}.redemptionCardHeader{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.redemptionCardHeader span,.redemptionDone,.redemptionFields dt{color:var(--muted);font-weight:900}.redemptionFields{display:grid;gap:12px;margin:0}.redemptionFields div{border-bottom:1px solid var(--line);display:grid;gap:4px;padding-bottom:10px}.redemptionFields dd{color:var(--navy);font-weight:900;margin:0;overflow-wrap:anywhere}.redemptionActionPanel{align-content:start;display:grid;gap:14px}.redemptionActionPanel p{color:var(--muted);margin:0}.redemptionRecent{display:grid;gap:14px}.redemptionRecentList{display:grid}.redemptionRecentList div{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:10px;grid-template-columns:1fr 1fr 1fr;padding:12px 0}.redemptionRecentList span,.redemptionRecentList strong{color:var(--navy);font-weight:900}.redemptionRecentList small{color:var(--muted);font-weight:800;text-align:right}@media (min-width:981px){.redemptionDetailGrid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}}@media (max-width:980px){.redemptionShell{gap:16px;padding:18px}.redemptionShell .panelHeader{align-items:stretch;display:grid;gap:16px}.redemptionShell .panelHeader h2{font-size:24px}.redemptionShell .panelHint{font-size:17px;line-height:1.45}.redemptionRedeemButton,.redemptionScanButton,.redemptionSearchButton{font-size:18px;min-height:58px;width:100%}.redemptionLookup{grid-template-columns:1fr}.redemptionInput>span{font-size:15px}.redemptionInput div{min-height:62px}.redemptionInput input{font-size:17px}.qrScanner,.redemptionActionPanel,.redemptionCard,.redemptionRecent{padding:16px}.qrScanner{background:#061044}.qrScanner,.qrScannerHeader,.scannerError{color:white}.qrScanner video{aspect-ratio:4/3;border:1px solid rgba(255,255,255,.22)}.emptyRedemption{min-height:180px}.redemptionCardHeader{display:grid}.redemptionFields{gap:10px}.redemptionActionPanel{bottom:0;box-shadow:0 -14px 30px rgba(6,16,68,.08);position:sticky;z-index:10}.redemptionActionPanel h3,.redemptionActionPanel p{display:none}.redemptionRecentList div{align-items:start;grid-template-columns:1fr}.redemptionRecentList small{text-align:left}}@media (max-width:640px){.redemptionShell{margin-inline:-2px;padding:14px}.redemptionShell .panelHint{font-size:16px}.redemptionInput div{padding:0 12px}.redemptionCard,.redemptionRecent{border-radius:8px}}.storeForm{display:grid;gap:18px}.storeMapGrid{display:grid;gap:16px;grid-template-columns:minmax(0,1.8fr) minmax(260px,.8fr)}.storeMapGrid .mapboxShell,.storeMapGrid .mockMap{min-height:420px}.storeCoordinates{align-content:start;display:grid;gap:14px}@media (max-width:980px){.loginPage,.shell,.splitPanel,.twoColumns{grid-template-columns:1fr}.shell{position:relative}.mobileHeader{align-items:center;background:linear-gradient(180deg,#061044,#082550);border-bottom:0;box-shadow:0 12px 28px rgba(6,16,68,.14);display:flex;gap:12px;margin:0 -28px 28px;padding:14px 28px;position:sticky;top:0;z-index:25}.mobileHeader strong{color:white;font-size:18px;font-weight:900}.mobileMenuButton{align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:8px;box-shadow:0 10px 24px rgba(6,16,68,.2);color:white;display:inline-flex;height:42px;justify-content:center;padding:0;width:42px}.sidebarOverlay{background:rgba(6,16,68,.48);border:0;bottom:0;display:block;padding:0;right:0;z-index:35}.sidebar,.sidebarOverlay{left:0;position:fixed;top:0}.sidebar{box-shadow:18px 0 36px rgba(6,16,68,.22);height:100dvh;max-width:calc(100vw - 42px);overflow-y:auto;padding:24px 18px;transform:translateX(-105%);transition:transform .18s ease;width:320px;z-index:40}.mobileNavOpen .sidebar{transform:translateX(0)}.shell.compactShell,.shell.sidebarCollapsed{grid-template-columns:1fr}.brandRow,.sidebarCollapsed .brandRow{flex-direction:row}.sidebarCollapsed nav button,nav button{justify-content:flex-start;padding:12px}.sidebarCollapsed .adminDetails,.sidebarCollapsed nav button span{display:block}.brandFormGrid,.formGrid,.metricGrid,.metricGrid.small,.reportFilters{grid-template-columns:repeat(2,minmax(0,1fr))}.reportMetricGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.redemptionDetailGrid,.redemptionGrid,.reportGrid,.storeMapGrid{grid-template-columns:1fr}.brandPreview{grid-column:1/-1}.content{padding:0 28px 22px}.contentInner{max-width:none}.topbar{margin-bottom:28px}}@media (max-width:1280px){.reportGrid,.settingsGrid{grid-template-columns:1fr}.settingsPanel .actions{justify-content:flex-start}}@media (max-width:640px){.dashboardDateControls,.dashboardToolbar,.downloadBox,.panelHeader,.statsFilters,.toolbar,.topbar{align-items:stretch;flex-direction:column}.dateControl{width:100%}.dateControl input,.dateControl select{flex:1;min-width:0}.statsFilterControl{min-width:0}.donutPanel{justify-items:center}.brandFormGrid,.donutPanel,.formGrid,.metricGrid,.metricGrid.small,.profileGrid,.reportFilters,.reportMetricGrid{grid-template-columns:1fr}.steps{gap:8px}.steps small{font-size:11px}.searchBox{flex:0 0 auto;min-height:42px;max-width:none;width:100%}.searchBox input{min-width:0;width:100%}.content{padding:0 18px 18px}.mobileHeader{margin:0 -18px 26px;padding:14px 18px}.panel,.reportExportPanel,.reportShell,.reportSummaryPanel{padding:16px}.reportSummaryList div{align-items:flex-start;display:grid;gap:6px}.reportSummaryList dd{text-align:left}.reportDownloadButton{min-height:48px}.tableFooter{align-items:stretch;gap:10px;justify-content:flex-start}.paginationActions,.perPageControl{flex-wrap:wrap}.paginationButton{min-width:104px}.redemptionLookup,.redemptionRecentList div{grid-template-columns:1fr}.redemptionRecentList small{text-align:left}}