/* Local Discount Pass shared visual system. */
:root{--accent:#b42338;--dark:#921b2d;--ink:#202530;--muted:#667180;--line:#e2e4ea;--canvas:#fafbfc;--surface:#fff;--accent-soft:#e9edf2}
body{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}a,button,input,select,textarea{transition:background-color .16s,border-color .16s,box-shadow .16s}a{text-underline-offset:4px}:is(a,button,input,select,textarea):focus-visible{outline:3px solid #b4233860;outline-offset:3px}button:disabled{cursor:wait;opacity:.6}input[type=checkbox]{accent-color:var(--accent)}
/* Business and employee workspaces. */
:is(.portal-business,.portal-employee){background:var(--canvas);font-size:15px;line-height:1.6}
:is(.portal-business,.portal-employee) h1{font-weight:750;letter-spacing:-.045em}
:is(.business-header,.employee-header){background:#fff;border-bottom:1px solid var(--line)}
.employee-header{padding:18px max(28px,calc((100vw - 1440px)/2));min-height:84px}.employee-header img{width:224px}.employee-header-account{font-size:14px;gap:16px}.employee-admin-label{font-size:12px}.employee-header-account button{min-height:36px;padding:7px 13px;font-size:13px}
.business-container{width:min(1360px,calc(100% - 64px))}.header-inner{min-height:84px}.business-brand img{width:224px}.business-header nav a{padding:7px 12px;border-radius:8px;background:#f7f8fa;color:#485260}
.employee-layout{max-width:1440px;grid-template-columns:224px minmax(0,1fr);gap:40px;padding:40px 28px 64px}.account-layout{grid-template-columns:224px minmax(0,1fr);gap:40px;padding-top:40px;padding-bottom:64px}
:is(.employee-layout aside,.account-sidebar){border:0;padding:0;align-self:start;position:sticky;top:24px}.employee-layout main,.account-content{min-width:0}
:is(.eyebrow,.business-kicker){font-size:10px;letter-spacing:.16em;font-weight:750;color:#7b8591}
:is(.employee-layout nav,.account-sidebar nav){gap:5px;margin-top:18px}
:is(.employee-layout nav a,.account-sidebar nav a){position:relative;display:flex;align-items:center;justify-content:flex-start;gap:11px;min-height:46px;padding:11px 13px;font-size:14px;font-weight:550;color:#596472;border-radius:10px}
:is(.employee-layout nav a,.account-sidebar nav a):hover{background:#eaeef2;color:var(--ink)}
:is(.employee-layout nav a,.account-sidebar nav a)[aria-current=page]{background:var(--accent-soft);color:var(--dark);font-weight:700;box-shadow:inset 3px 0 var(--accent)}
:is(.employee-layout nav a,.account-sidebar nav a)::before{content:"";width:18px;height:18px;flex-shrink:0;background:currentColor;mask:var(--nav-icon) center/contain no-repeat;--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='4' y='4' width='16' height='16' rx='3'/%3E%3Cpath d='M8 9h8M8 13h8M8 17h4'/%3E%3C/svg%3E")}
:is(.employee-layout nav,.account-sidebar nav) a[href*="signup"]::before{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='3' y='7' width='18' height='14' rx='2'/%3E%3Cpath d='M8 7V3h8v4M12 11v6M9 14h6'/%3E%3C/svg%3E")}
:is(.employee-layout nav,.account-sidebar nav) a[href*="overview"]::before{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='3' y='3' width='7' height='7' rx='2'/%3E%3Crect x='14' y='3' width='7' height='7' rx='2'/%3E%3Crect x='3' y='14' width='7' height='7' rx='2'/%3E%3Crect x='14' y='14' width='7' height='7' rx='2'/%3E%3C/svg%3E")}
:is(.employee-layout nav,.account-sidebar nav) a[href*="support"]::before,.employee-layout nav a[href*="messages"]::before{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M5 4h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H9l-6 4V6a2 2 0 0 1 2-2Z'/%3E%3Cpath d='M7 8h10M7 12h7'/%3E%3C/svg%3E")}
.employee-layout nav a[href*="businesses.php"]::before{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Ccircle cx='10' cy='10' r='6'/%3E%3Cpath d='m15 15 6 6'/%3E%3C/svg%3E")}
.nav-count{font-size:11px;min-width:22px;min-height:22px;padding:2px 6px}.employee-layout h1{font-size:32px;margin-bottom:24px}
:is(.portal-business .business-card,.portal-employee .card){border:1px solid var(--line);border-radius:16px;box-shadow:0 2px 5px #20253003,0 8px 24px #20253003;padding:28px}
:is(.portal-business,.portal-employee) :is(input:not([type=hidden]):not([type=checkbox]),select,textarea){min-height:46px;border:1px solid #dbe1e7;border-radius:9px;padding:11px 13px;background:#fff;font-size:14px;color:var(--ink)}
:is(.portal-business,.portal-employee) :is(input,textarea)::placeholder{color:#89939e;opacity:1}
:is(.portal-business,.portal-employee) :is(input,select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px #b4233810}
:is(.portal-business,.portal-employee) label{font-size:13px;font-weight:650;color:#34404d}
:is(.portal-business,.portal-employee) :is(button,.button,.account-button){min-height:43px;border-radius:9px;padding:10px 17px;font-size:14px;font-weight:650;box-shadow:none}
:is(.portal-business,.portal-employee) :is(.secondary,.business-form .secondary){background:#fff;border:1px solid #dce2e8;color:#485260}.secondary:hover{background:#f0f3f6!important}
:is(.notice,.account-success){background:#edf8f2;border:1px solid #d2ebdd;color:#226844;font-size:14px}.error,.business-error{border:1px solid #f3d8d1;font-size:14px}
.portal-employee .form-grid{gap:20px 24px}.portal-employee fieldset{margin:12px 0 0;border:1px solid var(--line);border-radius:12px;padding:22px}.portal-employee legend{font-size:13px;font-weight:650;padding:0 8px}.portal-employee .signup-location{padding:18px 22px;background:#eef2f6;border-radius:12px;font-size:13px}.portal-employee .signup-location p{margin:0 0 8px}
/* Overview and report hierarchy. */
.overview-intro{margin:-12px 0 28px;color:var(--muted);max-width:650px;font-size:15px}.overview-metrics{gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.overview-metrics .card{padding:26px;display:flex;flex-direction:column;min-height:208px}.metric-label{font-size:13px;font-weight:600;letter-spacing:0;margin-bottom:20px;color:#606d7c}.metric-value{font-size:46px;letter-spacing:-.05em;color:var(--ink);font-weight:750;font-variant-numeric:tabular-nums}.metric-note{font-size:12px;line-height:1.65;margin-top:16px}.metric-report-link{color:var(--accent)}.overview-metrics .monthly-metric{border-color:#d6dbe3;background:linear-gradient(145deg,#fff,#f8f9fb)}.monthly-metric .metric-note::after{content:"  \2192";color:var(--accent)}.active-area-total{font-size:13px;margin-top:14px}.active-area-total strong{font-variant-numeric:tabular-nums}
.portal-employee th{font-size:11px;font-weight:650;letter-spacing:.035em;color:#718092;background:#f7f9fb;padding:13px 16px;white-space:nowrap}.portal-employee td{padding:16px;font-size:13px;line-height:1.6}.portal-employee tbody tr:last-child td{border-bottom:0}.portal-employee tbody tr:hover{background:#fafbfc}.table-wrap{border:1px solid var(--line);border-radius:10px}.search-results a{font-weight:650;text-decoration:none}.search-results a:hover{text-decoration:underline}.back-link{font-size:13px;text-decoration:none}.review-company-logo{border-radius:12px}.review-company-info h2{font-size:20px}.queue-offer-title{font-size:18px}.status,.offer-status,.business-status{font-size:12px;padding:5px 10px;font-weight:650;line-height:1.5}.review-form{margin-top:26px}.checkbox-label{font-size:14px;border:1px solid #f4e4d6;background:#fffaf5}.details{gap:22px}.details dt{font-size:12px}.details dd{font-size:14px}
/* Business profile and offers. */
.account-heading{position:relative;margin-bottom:28px}.account-heading h1{font-size:34px;margin:10px 0 14px;line-height:1.2}.account-heading>p{max-width:720px;font-size:14px;line-height:1.7;margin:14px 0 0}.account-heading>.business-status{background:#eaf4ee;color:#316c48;border:1px solid #d3e8da}.offers-heading{margin-top:0;margin-bottom:22px}.offers-heading h2{font-size:22px}.offers-heading p{font-size:13px}.app-offer-preview .preview-business-name{font-size:20px}.app-offer-preview .preview-offer-title{font-size:26px;letter-spacing:-.025em;margin-top:4px}.preview-business-location{color:var(--muted);font-size:12px}.app-offer-preview .offer-description{font-size:15px;line-height:1.7}.app-offer-preview .offer-restrictions{font-size:13px}.preview-offer-image{width:88px;height:88px;border-radius:14px}.app-offer-preview .offer-actions{margin-top:22px;padding-top:20px}.profile-logo,.logo-empty{width:112px;height:112px;border-radius:16px}.logo-editor{padding-bottom:26px}.offer-photo-preview{width:220px;height:145px}.business-form input[readonly]{background:#fafbfc;border-color:#e8ecf0;color:#667180}.account-sidebar .business-form button{width:100%;justify-content:flex-start;background:transparent;border:1px solid #e1e6eb;color:#677280}.portal-business .business-footer{background:transparent}.login-layout{gap:64px;min-height:calc(100vh - 165px)}.login-card{padding:36px}.login-card h2{font-size:28px}.intro-points{gap:20px}.point-number{background:#fff;border-color:var(--line)}
/* Public pages retain their content and launch status. */
.public-site{--o:#b42338;--od:#921b2d;--line:#e2e4ea;--soft:#fafbfc;color:var(--ink)}.public-site header{background:#fff;backdrop-filter:none}.public-site .nav{min-height:84px}.public-site .hero{background:linear-gradient(145deg,#fff 20%,#f1f3f6 100%);padding:84px 0 94px}.public-site .hero:before{display:none}.public-site h1{letter-spacing:-.06em;line-height:1.03;font-size:clamp(44px,6vw,76px)}.public-site .hero-copy{font-size:18px;line-height:1.8;max-width:570px}.public-site .eyebrow{letter-spacing:.08em;font-size:11px;padding:7px 12px}.public-site .button{border-radius:10px;box-shadow:none;font-size:14px;min-height:48px}.public-site .button:hover{transform:none}.public-site :is(.step,.benefit,.free-card,.form-card){border-radius:16px;border-color:var(--line);box-shadow:0 8px 30px #20253005}.public-site :is(input:not([type=checkbox]),select,textarea){border-color:#dbe1e7;border-radius:9px}.public-site .phone{box-shadow:0 28px 65px #20253026;transform:none}.public-site .phone-glow{background:#e6eaf0}.public-site .nav-status{font-size:11px;letter-spacing:.1em}.public-site .panel{border-radius:20px}.public-site .signup h2{letter-spacing:-.035em}
@media(max-width:1150px){.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-layout,.account-layout{gap:28px;grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:780px){.employee-header{padding:16px 20px;gap:16px}.employee-header img{width:190px}.employee-layout{display:block;padding:24px 18px 44px}.employee-layout aside,.account-sidebar{position:static;padding:0 0 20px;margin-bottom:24px;border-bottom:1px solid var(--line)}.employee-layout nav,.account-sidebar nav{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0}.employee-layout nav a,.account-sidebar nav a{font-size:12px;min-height:40px;padding:9px 11px}.employee-layout nav a::before,.account-sidebar nav a::before{width:15px;height:15px}.employee-layout nav a[aria-current=page],.account-sidebar nav a[aria-current=page]{box-shadow:none}.employee-layout h1{font-size:28px}.business-container{width:calc(100% - 36px)}.account-layout{display:block;padding-top:24px}.account-heading h1{font-size:29px}.portal-employee .form-grid,.profile-form{grid-template-columns:1fr}.portal-employee .card,.portal-business .business-card{padding:22px}.header-inner{min-height:76px;justify-content:space-between;flex-wrap:wrap;gap:14px}.business-brand img{width:190px}.business-header nav{gap:10px}.login-layout{grid-template-columns:1fr;gap:28px}.public-site .hero{padding:50px 0 60px}.public-site .hero-copy{font-size:16px}.overview-metrics .card{min-height:190px}.account-sidebar .business-form{max-width:150px;margin-top:16px}.preview-business-name-row{flex-wrap:wrap}.preview-business-name-row .offer-status{margin-left:auto}.app-offer-preview .preview-offer-title{font-size:23px}}
@media(max-width:480px){.overview-metrics{grid-template-columns:1fr}.overview-metrics .card{min-height:0}.metric-value{font-size:42px}.employee-header-account{width:100%;justify-content:space-between}.preview-offer-image{width:64px;height:64px}.preview-business-header{gap:12px}.public-site h1{font-size:44px}.business-header nav a{font-size:12px}.employee-layout nav a{flex-grow:1}.preview-business-name-row .preview-business-name{flex-basis:auto}.business-search-form{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:780px){.employee-layout nav,.account-sidebar nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.employee-layout nav a,.account-sidebar nav a{flex:0 0 auto;white-space:nowrap}.employee-layout aside,.account-sidebar{padding-bottom:14px;margin-bottom:24px}}

.account-heading>.business-status{background:#eef1f4;border-color:#e0e6eb;color:#5f6b78}.account-heading>.status-approved{background:#eaf4ee;border-color:#d3e8da;color:#316c48}.account-heading>.status-pending{background:#fff5df;border-color:#efdfb5;color:#815e18}.account-heading>.status-declined{background:#fff0ed;border-color:#efcec7;color:#9c3221}.preview-offer-image.preview-logo{object-fit:contain;background:#f7f9fb;padding:8px}

/* Recolor brand-owned raster artwork without changing business-uploaded images. */
.brand-logo,.business-brand img,.employee-header img,.login-logo img,.register-logo img,.category-icon img{filter:hue-rotate(-20deg) saturate(1.03) brightness(.82)}

:is(.public-site .hero,.overview-metrics .monthly-metric){background:#f8f9fb}.public-site .eyebrow{background:#f0f2f5;border-color:#d6dbe3}.public-site .phone-glow{background:#e6eaf0}
