:root{--color-palette-neutral-0:#FFFFFF;--color-palette-neutral-50:#FAF9F8;--color-palette-neutral-100:#F3F1EF;--color-palette-neutral-200:#E7E4E0;--color-palette-neutral-300:#D5D1CC;--color-palette-neutral-400:#A9A29B;--color-palette-neutral-500:#847D75;--color-palette-neutral-600:#6B645C;--color-palette-neutral-700:#453F3A;--color-palette-neutral-800:#2B2724;--color-palette-neutral-900:#1A1715;--color-palette-accent-50:#FFF3EA;--color-palette-accent-100:#FFE3CE;--color-palette-accent-200:#FFC49B;--color-palette-accent-300:#FF9E5E;--color-palette-accent-400:#F2721C;--color-palette-accent-500:#B84A00;--color-palette-accent-600:#A84300;--color-palette-accent-700:#8A3700;--color-palette-accent-800:#6B2B00;--color-palette-accent-900:#4A1D00;--color-palette-green-50:#EAF6EF;--color-palette-green-100:#CDEBD9;--color-palette-green-500:#0F7A41;--color-palette-green-600:#0D6E3A;--color-palette-green-700:#0C6435;--color-palette-green-800:#094D28;--color-palette-amber-50:#FFF6E0;--color-palette-amber-100:#FFE9B8;--color-palette-amber-400:#FFB92E;--color-palette-amber-600:#8A5200;--color-palette-amber-700:#6E4100;--color-palette-red-50:#FDF0F1;--color-palette-red-100:#FAD7DA;--color-palette-red-500:#BC1C28;--color-palette-red-600:#9C1721;--color-palette-red-700:#7C121A;--color-palette-blue-50:#EDF2FE;--color-palette-blue-500:#1D4ED8;--color-palette-blue-600:#1740B0;--color-surface-page:#FAF9F8;--color-surface-raised:#FFFFFF;--color-surface-sunken:#F3F1EF;--color-surface-inverse:#2B2724;--color-surface-scrim:#1A1715;--color-surface-accent-subtle:#FFF3EA;--color-surface-success-subtle:#EAF6EF;--color-surface-warning-subtle:#FFF6E0;--color-surface-error-subtle:#FDF0F1;--color-surface-info-subtle:#EDF2FE;--color-surface-skeleton-base:#E7E4E0;--color-surface-skeleton-highlight:#F3F1EF;--color-text-primary:#1A1715;--color-text-secondary:#453F3A;--color-text-muted:#6B645C;--color-text-disabled:#A9A29B;--color-text-inverse:#FFFFFF;--color-text-on-accent:#FFFFFF;--color-text-on-status:#FFFFFF;--color-text-accent:#A84300;--color-text-success:#0D6E3A;--color-text-warning:#8A5200;--color-text-error:#BC1C28;--color-text-link:#A84300;--color-text-link-hover:#8A3700;--color-accent-default:#B84A00;--color-accent-hover:#A84300;--color-accent-active:#8A3700;--color-accent-disabled:#E7E4E0;--color-accent-subtle:#FFF3EA;--color-accent-decorative:#F2721C;--color-success-default:#0F7A41;--color-success-hover:#0C6435;--color-success-active:#094D28;--color-success-subtle:#EAF6EF;--color-warning-default:#FFB92E;--color-warning-hover:#F0A800;--color-warning-active:#D89600;--color-warning-subtle:#FFF6E0;--color-error-default:#BC1C28;--color-error-hover:#9C1721;--color-error-active:#7C121A;--color-error-subtle:#FDF0F1;--color-border-subtle:#E7E4E0;--color-border-default:#D5D1CC;--color-border-strong:#847D75;--color-border-inverse:#453F3A;--color-border-accent:#B84A00;--color-border-success:#0F7A41;--color-border-warning:#8A5200;--color-border-error:#BC1C28;--color-border-disabled:#E7E4E0;--color-focus-ring:#1D4ED8;--color-focus-ring-inverse:#FFFFFF;--color-focus-subtle:#EDF2FE;--color-interactive-hover:#F3F1EF;--color-interactive-active:#E7E4E0;--color-interactive-selected:#FFF3EA;--color-interactive-disabled:#F3F1EF;--color-surface-scrim-rgb:26 23 21;--color-focus-ring-rgb:29 78 216;--font-family-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-family-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--font-size-xs:12px;--font-size-sm:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-size-4xl:36px;--font-size-5xl:44px;--font-line-height-xs:16px;--font-line-height-sm:20px;--font-line-height-md:24px;--font-line-height-lg:26px;--font-line-height-xl:28px;--font-line-height-2xl:32px;--font-line-height-3xl:38px;--font-line-height-4xl:44px;--font-line-height-5xl:52px;--font-letter-spacing-tight:-0.4px;--font-letter-spacing-snug:-0.2px;--font-letter-spacing-normal:0;--font-letter-spacing-wide:0.4px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-none:0;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px;--radius-pill:999px;--border-width-none:0;--border-width-thin:1px;--border-width-medium:2px;--border-width-thick:4px;--focus-ring-width:2px;--focus-ring-offset:2px;--size-touch-target-min:44px;--size-icon-sm:16px;--size-icon-md:20px;--size-icon-lg:24px;--size-icon-xl:32px;--opacity-disabled:0.45;--opacity-scrim:0.5;--opacity-subtle:0.65;--duration-instant:0ms;--duration-fast:120ms;--duration-base:180ms;--duration-slow:240ms;--z-base:0;--z-dropdown:1000;--z-sticky:1100;--z-overlay:1200;--z-modal:1300;--z-toast:1400;--breakpoint-sm:360px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--shadow-none:none;--shadow-sm:0 1px 2px 0 rgb(26 23 21/0.06),0 1px 3px 0 rgb(26 23 21/0.1);--shadow-md:0 2px 4px -1px rgb(26 23 21/0.06),0 4px 8px -2px rgb(26 23 21/0.08);--shadow-lg:0 4px 8px -4px rgb(26 23 21/0.08),0 12px 20px -4px rgb(26 23 21/0.12);--easing-standard:cubic-bezier(0.2,0,0,1);--easing-enter:cubic-bezier(0,0,0,1);--easing-exit:cubic-bezier(0.4,0,1,1)}*{box-sizing:border-box}html{background:var(--color-surface-page);color:var(--color-text-primary);font-family:var(--font-family-sans);overflow-x:hidden}body{margin:0;font-size:var(--font-size-md);line-height:var(--font-line-height-md)}a{color:var(--color-text-link);text-underline-offset:3px}button,input,select,textarea{font:inherit}a,button,input,select,textarea{min-height:var(--size-touch-target-min)}:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:var(--focus-ring-offset)}.site-header{background:var(--color-surface-raised);border-bottom:var(--border-width-thin) solid var(--color-border-subtle)}.bar,.container{max-width:1120px;margin:0 auto;padding-left:var(--space-6);padding-right:var(--space-6)}.bar{min-height:72px;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.wordmark{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);text-decoration:none;letter-spacing:var(--font-letter-spacing-tight)}.wordmark span{color:var(--color-text-accent)}.meta{color:var(--color-text-muted);font-size:var(--font-size-sm)}main{padding-top:var(--space-10);padding-bottom:var(--space-16)}h1,h2,h3,p{margin-top:0}h1{font-size:var(--font-size-4xl);line-height:var(--font-line-height-4xl);letter-spacing:var(--font-letter-spacing-tight)}h1,h2{margin-bottom:var(--space-3)}h2{font-size:var(--font-size-2xl);line-height:var(--font-line-height-2xl)}h3{font-size:var(--font-size-lg);line-height:var(--font-line-height-lg);margin-bottom:var(--space-2)}.intro{max-width:680px;margin-bottom:var(--space-8)}.eyebrow{color:var(--color-text-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);margin-bottom:var(--space-2)}.filters{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-6) 0}.field{display:grid;grid-gap:var(--space-1);gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.field input,.field select,.field textarea{background:var(--color-surface-raised);border:var(--border-width-thin) solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-primary);padding:var(--space-2) var(--space-3)}.field textarea{min-height:100px;resize:vertical}.notice{background:var(--color-surface-warning-subtle);border-left:var(--border-width-thick) solid var(--color-border-warning);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--color-text-primary);margin-bottom:var(--space-6)}.notice strong{color:var(--color-text-warning)}.list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.fresh{color:var(--color-text-success);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.coupon-list{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.coupon{display:grid;grid-template-columns:160px 1fr auto;grid-gap:var(--space-5);gap:var(--space-5);align-items:center;background:var(--color-surface-raised);border:var(--border-width-thin) solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}.coupon>*{min-width:0}.discount{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-accent-default);border-radius:var(--radius-md);color:var(--color-text-on-accent);font-size:var(--font-size-2xl);line-height:var(--font-line-height-2xl);font-weight:var(--font-weight-bold);text-align:center;padding:var(--space-3)}.coupon p{color:var(--color-text-secondary);margin-bottom:var(--space-2)}.tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag{border-radius:var(--radius-pill);background:var(--color-surface-accent-subtle);color:var(--color-text-accent);font-size:var(--font-size-xs);line-height:var(--font-line-height-xs);font-weight:var(--font-weight-bold);padding:var(--space-1) var(--space-2)}.fresh-line{color:var(--color-text-success)}.expires,.fresh-line{font-size:var(--font-size-sm)}.expires{color:var(--color-text-warning)}.actions{display:grid;grid-gap:var(--space-2);gap:var(--space-2);min-width:148px}.button{border:var(--border-width-thin) solid var(--color-border-accent);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text-accent);cursor:pointer;font-weight:var(--font-weight-semibold);padding:var(--space-2) var(--space-3);text-align:center;text-decoration:none}.button.primary{background:var(--color-accent-default);color:var(--color-text-on-accent)}.button.danger{border-color:var(--color-border-error);color:var(--color-text-error)}.button:hover{background:var(--color-interactive-hover)}.button.primary:hover{background:var(--color-accent-hover)}.link-button{border:0;background:transparent;color:var(--color-text-link);text-decoration:underline;cursor:pointer;font-size:var(--font-size-sm)}.content-blocks{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-4);gap:var(--space-4);margin-top:var(--space-10)}.info-card{background:var(--color-surface-sunken);border-radius:var(--radius-lg);padding:var(--space-5)}.info-card p{color:var(--color-text-secondary);margin-bottom:0}.empty{background:var(--color-surface-raised);border:var(--border-width-thin) solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-10);text-align:center}.empty p{color:var(--color-text-secondary);max-width:480px;margin:0 auto var(--space-5)}.state-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-6);gap:var(--space-6)}.state{background:var(--color-surface-raised);border:var(--border-width-thin) solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-5)}.error{background:var(--color-surface-error-subtle);border-left:var(--border-width-thick) solid var(--color-border-error)}.error,.success{padding:var(--space-3);border-radius:var(--radius-md)}.success{background:var(--color-surface-success-subtle);border-left:var(--border-width-thick) solid var(--color-border-success)}.skeleton{height:112px;border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--color-surface-skeleton-base),var(--color-surface-skeleton-highlight),var(--color-surface-skeleton-base));margin-top:var(--space-3)}.modal-backdrop{position:relative;background:rgb(var(--color-surface-scrim-rgb)/var(--opacity-scrim))}.modal,.modal-backdrop{border-radius:var(--radius-lg);padding:var(--space-6)}.modal{max-width:480px;margin:0 auto;background:var(--color-surface-raised)}.modal .field{margin-bottom:var(--space-3)}.top-space{margin-top:var(--space-8)}.modal-gap{margin-top:var(--space-4)}@media (max-width:767px){.bar,.container{padding-left:var(--space-4);padding-right:var(--space-4)}.bar{min-height:64px}.bar .meta{display:none}main{padding-top:var(--space-6)}h1{font-size:var(--font-size-3xl);line-height:var(--font-line-height-3xl)}.coupon{grid-template-columns:1fr;gap:var(--space-3);padding:var(--space-4)}.discount{min-height:72px}.actions{min-width:0;grid-template-columns:1fr}.actions .link-button{grid-column:auto}.content-blocks,.state-grid{grid-template-columns:1fr}.filters .field,.filters select{width:100%}}.coupon-list{list-style:none;margin:0;padding:0}.coupon-list>li{display:block}.coupon.is-expired{opacity:1}.coupon.is-expired .discount{background:var(--color-interactive-active);color:var(--color-text-primary)}.coupon.is-expired .actions .button.primary{background:var(--color-interactive-active);color:var(--color-text-secondary);border-color:var(--color-border-strong);pointer-events:none}.status-label{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.status-label.expired{color:var(--color-text-error)}.live-region{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.live-region.is-visible{position:static;width:auto;height:auto;margin:0;clip:auto;overflow:visible;white-space:normal}.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--color-surface-inverse);padding:var(--space-6)}.sidebar,.sidebar .wordmark{color:var(--color-text-inverse)}.sidebar .wordmark{display:block;margin-bottom:var(--space-10)}.sidebar nav{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.sidebar a{color:var(--color-text-inverse);padding:var(--space-3);border-radius:var(--radius-md);text-decoration:none}.sidebar a[aria-current=page]{background:var(--color-accent-default)}.admin-main{padding:var(--space-8);max-width:1200px}.table{width:100%;border-collapse:collapse;background:var(--color-surface-raised);border:var(--border-width-thin) solid var(--color-border-subtle);border-radius:var(--radius-lg);overflow:hidden}.table td,.table th{padding:var(--space-3);text-align:left;border-bottom:var(--border-width-thin) solid var(--color-border-subtle)}.table th{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.attention{background:var(--color-surface-warning-subtle)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4);background:var(--color-surface-raised);border:var(--border-width-thin) solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-6)}.form-grid .wide{grid-column:1/-1}.validation{color:var(--color-text-error);font-size:var(--font-size-sm)}.checkboxes{flex-wrap:wrap}.check,.checkboxes{display:flex;gap:var(--space-2)}.check{min-height:var(--size-touch-target-min);align-items:center;border:var(--border-width-thin) solid var(--color-border-strong);border-radius:var(--radius-md);padding:0 var(--space-2)}.session{margin-top:var(--space-6)}.login{max-width:440px;margin:10vh auto;background:var(--color-surface-raised);border:var(--border-width-thin) solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-lg)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-4);gap:var(--space-4)}.stat{background:var(--color-surface-raised);border:var(--border-width-thin) solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-5)}.stat strong{display:block;font-size:var(--font-size-3xl)}.source{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border-bottom:var(--border-width-thin) solid var(--color-border-subtle)}@media(max-width:767px){.admin-shell{grid-template-columns:1fr}.sidebar{padding:var(--space-4)}.sidebar .wordmark{margin-bottom:var(--space-4)}.sidebar nav{grid-template-columns:repeat(2,1fr)}.admin-main{padding:var(--space-4)}.form-grid,.stat-grid{grid-template-columns:1fr}.table{font-size:var(--font-size-sm)}.table td:nth-child(3),.table th:nth-child(3){display:none}}.sidebar .wordmark span{color:var(--color-text-inverse)}.sidebar :focus-visible{outline-color:var(--color-focus-ring-inverse)}.sidebar a[aria-current=page]{color:var(--color-text-on-accent)}body,html{min-height:100%}.login .wordmark{display:inline-block}.admin-main .list-head,.login .wordmark{margin-bottom:var(--space-6)}.partner-note{color:var(--color-text-muted);font-size:var(--font-size-sm)}