:root{--color-ink:#17211b;--color-fjord:#1f6f5b;--color-signal:#b42318;--color-coupon:#f4c95d;--color-mist:#eef3f0;--color-paper:#fbfcf9;--color-line:#d6dfda;--font-body:Inter,system-ui,sans-serif;--font-display:Fraunces,Georgia,serif}*{box-sizing:border-box}body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body)}a{color:inherit}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid color-mix(in srgb,var(--color-coupon),white 15%);outline-offset:2px}.page-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:24px 0 48px}.top-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;border:1px solid var(--color-line);border-radius:14px;background:radial-gradient(circle at 0 50%,var(--color-paper) 0 9px,transparent 10px),radial-gradient(circle at 100% 50%,var(--color-paper) 0 9px,transparent 10px),linear-gradient(135deg,white,color-mix(in srgb,var(--color-mist),white 45%));box-shadow:0 12px 28px color-mix(in srgb,var(--color-ink),transparent 91%);min-height:58px;padding:8px 12px;font-size:.95rem}.nav-brand,.nav-links a,.nav-status{border-radius:999px;text-decoration:none}.nav-brand{background:var(--color-ink);color:white;padding:10px 14px;font-family:var(--font-display);font-size:1.08rem;font-weight:800;letter-spacing:-.02em}.nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.nav-links a,.nav-status{border:1px solid var(--color-line);background:color-mix(in srgb,white,var(--color-mist) 42%);padding:9px 12px;font-weight:750}.nav-links a:hover{border-color:color-mix(in srgb,var(--color-fjord),var(--color-line) 45%);background:white}.nav-status{border-color:color-mix(in srgb,var(--color-fjord),var(--color-line) 30%);color:var(--color-fjord)}.catalog-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:16px 0 20px;border-bottom:1px solid var(--color-line)}.catalog-header h1{margin:0;font-size:clamp(1.6rem,3vw,2.25rem);line-height:1.08;letter-spacing:-.02em}.catalog-summary{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 0;font-size:.92rem;font-weight:600}.catalog-summary,.merchant{color:var(--color-fjord);letter-spacing:0}.merchant{margin:0 0 6px;font-size:.78rem;font-weight:700;text-transform:uppercase}.catalog-layout{display:grid;grid-template-columns:260px 1fr;grid-gap:24px;gap:24px;align-items:start}.catalog-results{display:grid;grid-gap:10px;gap:10px}.result-count{margin:0;color:var(--color-fjord);font-size:.9rem;font-weight:700}.auth-alert,.auth-card,.catalog-controls,.profile-panel{border:1px solid var(--color-line);border-radius:8px;background:var(--color-mist);padding:18px}.catalog-controls{position:-webkit-sticky;position:sticky;top:16px;display:grid;grid-gap:16px;gap:16px}.auth-card label,.catalog-controls label{display:grid;grid-gap:7px;gap:7px;font-weight:700}.auth-card input,.catalog-controls input,.catalog-controls select{width:100%;border:1px solid var(--color-line);border-radius:6px;background:white;color:var(--color-ink);padding:10px 11px}.auth-page{min-height:100vh}.login-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,440px);grid-gap:clamp(24px,6vw,72px);gap:clamp(24px,6vw,72px);align-items:center;min-height:calc(100vh - 150px);padding:clamp(24px,6vw,72px) 0}.login-copy{max-width:610px}.eyebrow{margin:0 0 12px;color:var(--color-fjord);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.login-copy h1{margin:0;font-family:var(--font-display);font-size:clamp(2.35rem,7vw,5rem);line-height:.95;letter-spacing:-.05em}.login-copy p:not(.eyebrow){max-width:34rem;margin:18px 0 0;color:color-mix(in srgb,var(--color-ink),white 16%);font-size:1.08rem;line-height:1.6}.login-card-stack{display:grid;grid-gap:12px;gap:12px}.auth-alert{margin:0;background:color-mix(in srgb,var(--color-coupon),white 65%);color:var(--color-signal);font-weight:750}.input-row,.search-box{display:flex;align-items:center;gap:8px}.discount-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px}.catalog-empty{grid-column:1/-1;border:1px solid var(--color-line);border-radius:8px;background:white;padding:20px}.catalog-empty h2{margin:0 0 6px;font-size:1.1rem}.catalog-empty p{margin:0;color:color-mix(in srgb,var(--color-ink),white 15%)}.discount-card{display:grid;grid-template-columns:10px 1fr;min-height:250px;overflow:hidden;border:1px solid var(--color-line);border-radius:8px;background:white}.eligibility-rail{background:var(--color-line)}.eligibility-rail.available{background:var(--color-fjord)}.eligibility-rail.stale{background:var(--color-signal)}.discount-card-body{display:grid;grid-gap:12px;gap:12px;padding:16px}.discount-card-header{display:flex;gap:12px;justify-content:space-between}.discount-card-header>div{min-width:0}.discount-card h2{margin:0;font-size:1.1rem;line-height:1.25}.discount-value{align-self:start;flex:0 0 auto;min-width:max-content;border-radius:6px;background:var(--color-coupon);padding:7px 9px;font-family:var(--font-display);font-size:1.3rem;line-height:1.05;max-width:min(46%,11rem);overflow-wrap:normal;text-align:center;white-space:nowrap}.discount-value.long{min-width:0;font-family:var(--font-body);font-size:.94rem;font-weight:800;overflow-wrap:break-word;white-space:normal}.link-row,.meta-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.code-chip,.meta-row span{border:1px solid var(--color-line);border-radius:999px;padding:5px 8px;font-size:.84rem}.user-created-chip{border-color:color-mix(in srgb,var(--color-coupon),var(--color-line) 30%);background:color-mix(in srgb,var(--color-coupon),white 50%);font-weight:800}.code-chip,.link-row a,.warning{display:inline-flex;gap:6px;align-items:center}.warning{color:var(--color-signal);font-weight:700}.discount-details{border-top:1px solid var(--color-line);padding-top:10px}.discount-details summary{cursor:pointer;color:var(--color-fjord);font-weight:800}.discount-details p{margin:8px 0 0}.auth-shell{display:grid;place-items:center;min-height:100vh;padding:24px}.auth-card,.profile-panel{width:min(100%,620px)}.auth-card{display:grid;grid-gap:14px;gap:14px;background:linear-gradient(180deg,white,color-mix(in srgb,var(--color-mist),white 68%));box-shadow:0 18px 45px color-mix(in srgb,var(--color-ink),transparent 90%)}.auth-card h2{margin:0;font-size:1.35rem}.auth-card button,.profile-panel button{border:0;border-radius:6px;background:var(--color-fjord);color:white;padding:11px 14px;font-weight:800}.access-group-list{display:grid;grid-gap:10px;gap:10px}.access-group-option{display:grid;grid-template-columns:auto 1fr;grid-gap:10px;gap:10px;align-items:start;border:1px solid var(--color-line);border-radius:8px;background:white;padding:12px}.access-group-option span{display:grid;grid-gap:4px;gap:4px}.management-layout{display:grid;grid-gap:18px;gap:18px;margin-top:24px}.management-form,.management-panel{border:1px solid var(--color-line);border-radius:8px;background:white;padding:18px}.management-form{display:grid;grid-gap:14px;gap:14px}.management-form h2{margin:0}.management-form label{display:grid;grid-gap:7px;gap:7px;font-weight:700}.management-form input,.management-form select,.management-form textarea{width:100%;border:1px solid var(--color-line);border-radius:6px;padding:10px 11px;font:inherit}.management-form textarea{min-height:84px;resize:vertical}.management-form button,.management-item button{border:0;border-radius:6px;background:var(--color-fjord);color:white;padding:11px 14px;font-weight:800}.form-status{margin:0;border-radius:6px;padding:10px 11px;font-weight:750}.form-status.error{background:color-mix(in srgb,var(--color-signal),white 88%);color:var(--color-signal)}.form-status.success{background:color-mix(in srgb,var(--color-fjord),white 88%);color:var(--color-fjord)}.management-list{display:grid;grid-gap:16px;gap:16px}.management-item{display:grid;grid-gap:12px;gap:12px;border:1px solid var(--color-line);border-radius:8px;padding:16px}.management-item h3,.management-item p{margin:0}@media (max-width:820px){.nav-links,.top-nav{justify-content:flex-start}.nav-brand{width:100%;text-align:center}.catalog-layout{grid-template-columns:1fr}.catalog-controls{position:static}.login-layout{grid-template-columns:1fr;align-items:start;min-height:auto;padding:18px 0 40px}}