@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-ext-wght-normal-CawQDOvP.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-wght-normal-DdqRvwsR.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-primary-900:#000;--color-primary-700:#141414;--color-primary-600:#1f1f1f;--color-primary-500:#333;--color-primary-100:#eefbdd;--color-accent-500:#90fa40;--color-accent-600:#74d428;--color-accent-ink:#3b7b0a;--color-danger-500:#c0392b;--color-danger-fill-hover:#a5301f;--color-danger-600:#a5301f;--color-danger-100:#fbe6e3;--color-info-500:#1f7a8c;--color-info-600:#185f6d;--color-info-100:#e1f0f2;--color-neutral-500:#6b7280;--color-neutral-600:#4b5563;--color-neutral-100:#eceff1;--color-surface:#fff;--color-surface-muted:#f6f8f5;--color-border:#dde3dc;--color-border-strong:#7d8b80;--color-text:#1c2620;--color-text-muted:#55635c;--color-text-on-primary:#f4f9dd;--color-brand-surface:#000;--color-brand-surface-raised:#1f1f1f;--color-brand-surface-tint:#141414;--color-on-brand-surface:#f4f9dd;--color-on-brand-surface-muted:#d8dfc4;--color-on-accent:#0f1310;--color-on-danger:#fff;--font-display:"Sora Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-sans:"Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--shadow-sm:0 1px 2px #00000014;--shadow-md:0 6px 20px #0000001f;--shadow-lg:0 16px 40px #0000002e;--max-width-content:72rem;--max-width-narrow:26rem;--transition-fast:.15s ease;--court-line:#ffffff8c;--court-glow-strong:#90fa401f;--court-glow-soft:#90fa401a}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-primary-900:#f2f7f2;--color-primary-700:#dfe8e0;--color-primary-600:#c9d6cb;--color-primary-500:#9fb0a3;--color-primary-100:#232b25;--color-accent-ink:#90fa40;--color-danger-600:#ff9d8e;--color-danger-100:#3d1f19;--color-info-600:#7fd8e8;--color-info-100:#123039;--color-neutral-500:#8f9c95;--color-neutral-600:#c3ccc7;--color-neutral-100:#262e29;--color-surface:#1a201c;--color-surface-muted:#0f1310;--color-border:#2f3a33;--color-border-strong:#63736a;--color-text:#e9efe9;--color-text-muted:#a6b3a9;--color-text-on-primary:#0f1310;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 6px 20px #0000008c;--shadow-lg:0 16px 40px #000000a6;--court-line:#e9efe90d;--court-glow-strong:#90fa401a;--court-glow-soft:#90fa4014}}*,:before,:after{box-sizing:border-box}.brand-mark-picture{display:contents}html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{min-height:100dvh;font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-surface-muted);background-image:radial-gradient(circle at 15% 20%, var(--court-glow-strong) 0%, transparent 45%), radial-gradient(circle at 85% 75%, var(--court-glow-soft) 0%, transparent 50%), repeating-linear-gradient(115deg, var(--court-line) 0px, var(--court-line) 1px, transparent 1px, transparent 140px);background-size:140% 140%,160% 160%,100% 100%;background-attachment:fixed;margin:0;line-height:1.5;animation:42s ease-in-out infinite alternate court-drift;overflow-x:hidden}@keyframes court-drift{0%{background-position:0 0,100% 100%,0 0}to{background-position:15% 10%,80% 85%,60px 30px}}#root{min-height:100dvh}main{width:100%;max-width:var(--max-width-content);padding:var(--space-6) var(--space-4) var(--space-8);margin-inline:auto;display:block}h1,h2,h3{font-family:var(--font-display);color:var(--color-primary-900);line-height:1.25}h1{margin:0 0 var(--space-4);font-size:1.95rem;font-weight:800}h2{margin:var(--space-6) 0 var(--space-3);font-size:1.35rem;font-weight:700}h3{margin:var(--space-4) 0 var(--space-2);font-size:1.1rem;font-weight:700}p{margin:0 0 var(--space-3)}a{color:var(--color-primary-600);text-decoration:none}a:hover,a:focus-visible{text-decoration:underline}ul,ol{padding-left:var(--space-5);margin:0 0 var(--space-4)}table{border-collapse:collapse;width:100%;margin:0 0 var(--space-5);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}th,td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}thead th{background:var(--color-primary-100);color:var(--color-primary-900);font-weight:600}tbody tr:last-child td{border-bottom:none}form{gap:var(--space-4);flex-direction:column;max-width:28rem;display:flex}fieldset{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);margin:0}legend{padding:0 var(--space-2);color:var(--color-primary-900);font-weight:600}label{color:var(--color-text);margin-bottom:var(--space-1);font-size:.9rem;font-weight:600;display:inline-block}input,select,textarea{font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);width:100%;transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.password-field{display:block;position:relative}.password-field input{padding-right:2.75rem}.password-field .password-field__toggle{border-radius:0 var(--radius-sm) var(--radius-sm) 0;width:2.75rem;height:100%;color:var(--color-text-muted);transition:color var(--transition-fast);background:0 0;border:none;padding:0;position:absolute;top:0;right:0}.password-field .password-field__toggle:hover:not(:disabled){color:var(--color-text);background:0 0;transform:none}.password-field .password-field__toggle:active:not(:disabled){transform:none}.password-field .password-field__toggle:focus-visible{color:var(--color-text);box-shadow:inset 0 0 0 2px var(--color-primary-500);outline:none}button{font:inherit;cursor:pointer}button:not([role=tab]){justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--color-primary-600);color:var(--color-text-on-primary);transition:background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #0000;font-weight:600;display:inline-flex}button:not([role=tab]):hover:not(:disabled){background:var(--color-primary-700);transform:translateY(-1px)}button:not([role=tab]):active:not(:disabled){transform:translateY(0)scale(.96)}button:not([role=tab]):focus-visible{box-shadow:0 0 0 3px var(--color-primary-100), 0 0 0 1px var(--color-primary-500);outline:none}.btn-primary{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--color-primary-600);color:var(--color-text-on-primary);transition:background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #0000;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary:hover{background:var(--color-primary-700);color:var(--color-text-on-primary);text-decoration:none;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)scale(.96)}.btn-primary:focus-visible{box-shadow:0 0 0 3px var(--color-primary-100), 0 0 0 1px var(--color-primary-500);outline:none}button:not([role=tab]):disabled{opacity:.6;cursor:not-allowed}.btn-secondary,button.btn-secondary{background:var(--color-surface);color:var(--color-primary-700);border-color:var(--color-primary-500)}.btn-secondary:hover:not(:disabled),button.btn-secondary:hover:not(:disabled){background:var(--color-primary-100)}.btn-danger,button.btn-danger{background:var(--color-danger-500);color:var(--color-on-danger)}.btn-danger:hover:not(:disabled),button.btn-danger:hover:not(:disabled){background:var(--color-danger-fill-hover)}output{margin:0 0 var(--space-4);color:var(--color-text-muted);font-style:italic;display:inline-block}[role=alert]{background:var(--color-danger-100);color:var(--color-danger-600);border:1px solid var(--color-danger-500);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin:0 0 var(--space-4);font-weight:500}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);margin-bottom:var(--space-4);animation:.36s backwards fade-slide-in}a.card{color:inherit;transition:transform var(--transition-fast), box-shadow var(--transition-fast);text-decoration:none;display:block}a.card:hover{box-shadow:var(--shadow-md);text-decoration:none;transform:translateY(-2px)}a.card:focus-visible{box-shadow:var(--shadow-md), 0 0 0 3px var(--color-primary-100), 0 0 0 1px var(--color-primary-500);outline:none;text-decoration:none}@keyframes fade-slide-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.pack-card,.notification-item,.admin-list__row,.stat-tile,.grid-cell,.row-list li,.match-list li{animation:.36s backwards fade-slide-in}.pack-grid>li:nth-child(2),.notification-list>li:nth-child(2),.admin-list>li:nth-child(2),.stat-grid>:nth-child(2),.grid-cells>li:nth-child(2),.row-list>li:nth-child(2),.match-list>li:nth-child(2){animation-delay:60ms}.pack-grid>li:nth-child(3),.notification-list>li:nth-child(3),.admin-list>li:nth-child(3),.stat-grid>:nth-child(3),.grid-cells>li:nth-child(3),.row-list>li:nth-child(3),.match-list>li:nth-child(3){animation-delay:.12s}.pack-grid>li:nth-child(n+4),.notification-list>li:nth-child(n+4),.admin-list>li:nth-child(n+4),.stat-grid>:nth-child(n+4),.grid-cells>li:nth-child(n+4),.row-list>li:nth-child(n+4),.match-list>li:nth-child(n+4){animation-delay:.18s}.tabs{gap:var(--space-2);margin-bottom:var(--space-5);display:flex}.tab{background:var(--color-surface);color:var(--color-primary-700);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);font-weight:600}.tab[aria-selected=true]{background:var(--color-primary-600);color:var(--color-text-on-primary);border-color:var(--color-primary-600)}.tab:disabled{cursor:default}.match-list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.card.match-card{padding-left:calc(var(--space-5) + 6px);gap:var(--space-4);background:radial-gradient(circle 6rem at calc(100% - 4rem) 4rem, var(--court-glow-strong), transparent 70%), var(--color-surface);display:grid;position:relative;overflow:hidden}.match-card:before{content:"";background:linear-gradient(180deg, var(--color-accent-500), var(--color-primary-600));width:6px;position:absolute;top:0;bottom:0;left:0}.match-card__header{align-items:flex-start;gap:var(--space-3);display:flex}.match-card__court-icon{border-radius:var(--radius-md);background:var(--color-accent-500);width:3rem;height:3rem;color:var(--color-on-accent);box-shadow:0 2px 10px var(--court-glow-strong);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.match-card__court-icon svg{width:1.5rem;height:1.5rem}.match-card__header h2{margin:0;font-size:1.15rem;line-height:1.3}.match-card__header-text{gap:var(--space-2);flex:1;justify-items:start;min-width:0;display:grid}.match-card__tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.match-card__tags:empty{display:none}.match-card__status{flex-shrink:0}.match-card__when{align-items:baseline;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted);border-left:3px solid var(--color-accent-500);flex-wrap:wrap;display:flex}.match-card__when-time{align-items:center;gap:var(--space-2);font-family:var(--font-display);color:var(--color-text);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700;display:inline-flex}.match-card__when-time svg{color:var(--color-primary-600);flex-shrink:0}.match-card__when-date{color:var(--color-text);font-weight:600}.match-card__when-court{color:var(--color-text-muted);margin-left:auto;font-size:.92rem}.badge--lg{padding:var(--space-2) var(--space-4);font-size:.9rem}.match-card__details{gap:var(--space-2) var(--space-5);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.match-card__detail{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:.92rem;display:flex}.match-card__detail svg{color:var(--color-primary-600);flex-shrink:0}.match-card__detail--seats{color:var(--color-text);font-weight:700}.match-card__seats-count{font-variant-numeric:tabular-nums}.match-card__seats-meter{align-items:center;gap:4px;display:inline-flex}.match-card__seat{border:1.5px solid var(--color-border-strong);border-radius:50%;width:8px;height:8px}.match-card__seat--taken{background:var(--color-accent-500);border-color:var(--color-accent-600)}.match-card__meta{color:var(--color-text-muted);margin:0;font-size:.92rem}.auth-shell{width:100%;max-width:none;min-height:100dvh;padding:var(--space-6) var(--space-4);background-color:var(--color-brand-surface);background-image:linear-gradient(160deg, var(--color-brand-surface-tint) 0%, var(--color-brand-surface) 70%), radial-gradient(circle at 25% 20%, #90fa4059 0%, transparent 42%), radial-gradient(circle at 78% 72%, #90fa402e 0%, transparent 45%), repeating-linear-gradient(90deg, #ffffff14 0px, #ffffff14 2px, transparent 2px, transparent 90px), repeating-linear-gradient(0deg, #ffffff0f 0px, #ffffff0f 2px, transparent 2px, transparent 160px);background-size:100% 100%,170% 170%,190% 190%,100% 100%,100% 100%;background-attachment:fixed;justify-content:center;align-items:center;animation:26s ease-in-out infinite alternate court-drift-hero;display:flex;position:relative}@keyframes court-drift-hero{0%{background-position:0 0,0 0,100% 100%,0 0,0 0}to{background-position:0 0,18% 12%,82% 88%,40px 0,0 40px}}.auth-card{width:100%;max-width:var(--max-width-narrow);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6);animation:.42s backwards fade-slide-in}.brand-mark{width:auto;height:2rem;display:block}.app-nav__brand .brand-mark,.public-nav__brand .brand-mark{height:6rem}.auth-brand{width:100%;max-width:20rem;height:auto;margin:0 auto var(--space-5)}@media (width<=640px){.app-nav__brand .brand-mark,.public-nav__brand .brand-mark{height:4.5rem}}.app-nav{background:var(--color-brand-surface);box-shadow:var(--shadow-sm)}.app-nav__inner{max-width:var(--max-width-content);padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-5);flex-wrap:wrap;margin-inline:auto;display:flex}.app-nav__brand{align-items:center;display:inline-flex}.app-nav__links{gap:var(--space-1);flex-wrap:wrap;margin-right:auto;display:flex}.app-nav__link{color:var(--color-on-brand-surface-muted);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);font-weight:500;position:relative}.app-nav__link:hover{color:var(--color-on-brand-surface);background:#ffffff14;text-decoration:none}.app-nav__link:focus-visible,.app-nav__brand:focus-visible{outline:none;text-decoration:none;box-shadow:0 0 0 3px #90fa408c}.app-nav__link--active{color:var(--color-on-brand-surface);background:var(--color-brand-surface-raised);font-weight:700}.app-nav__link:after{content:"";left:var(--space-3);right:var(--space-3);background:var(--color-accent-500);transform-origin:50%;height:2px;transition:transform var(--transition-fast);border-radius:1px;position:absolute;bottom:3px;transform:scaleX(0)}.app-nav__link:hover:after,.app-nav__link--active:after{transform:scaleX(1)}.app-nav__menu{position:relative}button.app-nav__menu-button{align-items:center;gap:var(--space-1);font:inherit;cursor:pointer;color:var(--color-on-brand-surface-muted);background:0 0;border:none;font-weight:500;display:inline-flex}button.app-nav__menu-button:hover:not(:disabled){color:var(--color-on-brand-surface);background:#ffffff14;transform:none}button.app-nav__menu-button.app-nav__link--active{background:var(--color-brand-surface-raised);color:var(--color-on-brand-surface);font-weight:700}.app-nav__menu-caret{font-size:.7em;line-height:1}.app-nav__menu-panel{top:calc(100% + var(--space-1));z-index:20;min-width:14rem;padding:var(--space-2);border-radius:var(--radius-md);background:var(--color-brand-surface-raised);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:absolute;left:0}@media (width<=640px){.app-nav__menu-panel{min-width:0;box-shadow:none;position:static}}.app-nav__actions{align-items:center;gap:var(--space-3);display:flex}.app-nav__user{color:var(--color-on-brand-surface);text-overflow:ellipsis;white-space:nowrap;max-width:12rem;font-weight:600;overflow:hidden}.app-nav__bell a{color:var(--color-on-brand-surface)}.app-nav__bell:before{content:"🔔";margin-right:var(--space-1)}.public-nav{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.public-nav__inner{max-width:var(--max-width-content);padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);margin-inline:auto;display:flex}.public-nav__brand{font-family:var(--font-display);color:var(--color-primary-700);letter-spacing:.01em;font-size:1.15rem;font-weight:800}.public-nav__brand:hover{color:var(--color-primary-600);text-decoration:none}.public-nav__cta{padding:var(--space-2) var(--space-4);border:1px solid var(--color-primary-500);border-radius:var(--radius-sm);color:var(--color-primary-700);transition:background var(--transition-fast), transform var(--transition-fast);font-weight:600;display:inline-block}.public-nav__cta:hover{background:var(--color-primary-100);text-decoration:none;transform:translateY(-1px)}.public-nav__cta:active{transform:translateY(0)scale(.97)}.public-nav__cta:focus-visible,.public-nav__brand:focus-visible{box-shadow:0 0 0 3px var(--color-primary-100), 0 0 0 1px var(--color-primary-500);outline:none;text-decoration:none}.badge{padding:var(--space-1) var(--space-3);background:var(--color-surface-muted);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:999px;align-items:center;font-size:.8rem;font-weight:700;animation:.22s backwards badge-pop;display:inline-flex}@keyframes badge-pop{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}.badge--free,.badge--positive{background:var(--color-primary-100);color:var(--color-primary-700);border-color:var(--color-primary-500)}.badge--taken,.badge--negative{background:var(--color-danger-100);color:var(--color-danger-600);border-color:var(--color-danger-500)}.badge--info{background:var(--color-info-100);color:var(--color-info-600);border-color:var(--color-info-500)}.badge--neutral{background:var(--color-neutral-100);color:var(--color-neutral-600);border-color:var(--color-neutral-500)}.badge--unread{background:var(--color-accent-500);color:var(--color-on-accent);border-color:var(--color-accent-600)}.badge--ranked{background:var(--color-primary-100);color:var(--color-accent-ink);border-color:var(--color-accent-600);font-weight:700}.badge--live,.badge--discount{background:var(--color-accent-500);color:var(--color-on-accent);border-color:var(--color-accent-600);font-weight:800}.stat-grid{gap:var(--space-4);margin:0 0 var(--space-5);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}.stat-tile{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);text-align:center}.stat-tile__value{color:var(--color-primary-700);font-size:2.2rem;font-weight:800;line-height:1.1;display:block}.stat-tile--accent .stat-tile__value{color:var(--color-primary-900)}.stat-tile__label{margin-top:var(--space-2);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.85rem;font-weight:600;display:block}.stats-hero{align-items:center;gap:var(--space-6);margin-bottom:var(--space-5);background:radial-gradient(circle at 12% 50%, #90fa4024, transparent 42%), linear-gradient(135deg, var(--color-brand-surface), var(--color-brand-surface-raised));color:var(--color-on-brand-surface);flex-wrap:wrap;display:flex}.stats-ring{flex-shrink:0;width:8.5rem;height:8.5rem;position:relative}.stats-ring__svg{width:100%;height:100%;transform:rotate(-90deg)}.stats-ring__track{fill:none;stroke:#ffffff24;stroke-width:10px}.stats-ring__value{fill:none;stroke:var(--color-accent-500);stroke-width:10px;stroke-linecap:round;transition:stroke-dashoffset .9s cubic-bezier(.22,1,.36,1)}.stats-ring__center{flex-direction:column;justify-content:center;align-items:center;gap:.1rem;display:flex;position:absolute;inset:0}.stats-ring__rate{font-family:var(--font-display);color:var(--color-accent-500);font-size:2.3rem;font-weight:800;line-height:1}.stats-ring__caption{text-transform:uppercase;letter-spacing:.08em;opacity:.8;font-size:.72rem;font-weight:600}.stats-hero__side{flex:1;min-width:12rem}.stats-hero__eyebrow{margin:0 0 var(--space-1);text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-500);font-size:.75rem;font-weight:700}.stats-hero__summary{margin:0 0 var(--space-4);font-size:1.15rem}.stats-hero__summary strong{color:var(--color-accent-500)}.stat-card{position:relative}.stat-card__icon{width:2.25rem;height:2.25rem;margin-bottom:var(--space-2);background:var(--color-primary-100);color:var(--color-primary-700);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.stat-card__icon--won{background:var(--color-primary-100);color:var(--color-accent-ink)}.stat-card__icon--lost{background:var(--color-danger-100);color:var(--color-danger-600)}.stat-card--won .stat-tile__value{color:var(--color-accent-ink)}.empty-state{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;color:var(--color-text-muted)}.availability-legend{gap:var(--space-3);margin:var(--space-3) 0 0;padding-top:var(--space-3);border-top:1px solid var(--color-border);align-items:center;display:flex}.availability-grid{gap:var(--space-4);display:grid}.availability-day{padding-top:var(--space-4)}.availability-day h2{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);background:var(--color-surface);z-index:1;display:flex;position:sticky;top:0}.availability-day h2 svg{color:var(--color-primary-600);flex-shrink:0}.grid-cells{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));margin:0;padding:0;list-style:none;display:grid}.grid-cell{align-items:center;gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-muted);flex-direction:column;display:flex}.grid-cell__time{align-items:center;gap:var(--space-1);color:var(--color-text);font-weight:700;display:flex}.grid-cell--free{border-color:var(--color-primary-500);background:var(--color-primary-100);transition:transform var(--transition-fast), box-shadow var(--transition-fast)}.grid-cell--free:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.grid-cell--free .grid-cell__time svg{color:var(--color-primary-600)}.grid-cell--taken .grid-cell__time svg{color:var(--color-neutral-500)}.grid-cell--free a.grid-cell__link{align-items:center;gap:var(--space-1);color:inherit;flex-direction:column;width:100%;text-decoration:none;display:flex}.grid-cell--free a.grid-cell__link:focus-visible{box-shadow:0 0 0 3px var(--color-primary-100), 0 0 0 1px var(--color-primary-600);border-radius:var(--radius-sm);outline:none}.grid-cell--taken{background:var(--color-surface);opacity:.65;cursor:not-allowed}.day-strip{margin:0 0 var(--space-4);border:0;min-inline-size:0;padding:0}.day-strip__options{gap:var(--space-2);padding-bottom:var(--space-2);scroll-snap-type:x proximity;display:flex;overflow-x:auto}.day-option{scroll-snap-align:start;min-width:3.6rem;padding:var(--space-2) var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;flex-direction:column;flex:none;align-items:center;gap:.1rem;margin:0;display:flex;position:relative}.day-option input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}.day-option__weekday{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:.7rem;font-weight:600}.day-option__number{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700;line-height:1.1}.day-option__free{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.65rem}.day-option:has(input:disabled){cursor:not-allowed;opacity:.55}.day-option:has(input:checked){background:var(--color-primary-900);border-color:var(--color-primary-900);color:var(--color-text-on-primary)}:is(.day-option:has(input:checked) .day-option__weekday,.day-option:has(input:checked) .day-option__free){color:inherit;opacity:.78}.day-option:has(input:focus-visible){outline:3px solid var(--color-accent-ink);outline-offset:2px}.block-day{margin:0 0 var(--space-4);border-color:var(--color-border)}.block-day__options{gap:var(--space-2);flex-wrap:wrap;display:flex}.block-option{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;margin:0;font-weight:500;display:inline-flex}.block-option input{width:auto}.block-option:has(input:disabled){cursor:not-allowed;opacity:.6}.block-option:has(input:checked){border-color:var(--color-primary-600);background:var(--color-primary-100);color:var(--color-primary-900);font-weight:700}.pack-grid{margin:0 0 var(--space-5);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));padding:0;list-style:none;display:grid}.pack-card{gap:var(--space-2);flex-direction:column;display:flex}.pack-card__title{color:var(--color-primary-900);font-size:1.05rem;font-weight:700}.pack-card__price{color:var(--color-primary-700);font-size:1.3rem;font-weight:800}.pack-card__price-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.pack-card__price--original{color:var(--color-text-muted);font-size:1rem;font-weight:500;text-decoration:line-through}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.row-list{margin:0 0 var(--space-4);gap:var(--space-2);padding:0;list-style:none;display:grid}.row-list li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), box-shadow var(--transition-fast);display:flex}.row-list li:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.cart-summary{color:var(--color-primary-900);font-weight:700}.checkout-notice{color:var(--color-text-muted);font-size:.85rem}.cart-notice{margin-top:var(--space-3);color:var(--color-accent-ink);font-weight:600;display:block}.cart-notice:empty{margin-top:0}.notification-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.notification-item{gap:var(--space-1);flex-direction:column;display:flex}.notification-item--unread{border-left:4px solid var(--color-accent-600)}.notification-item__meta{color:var(--color-text-muted);font-size:.85rem}.admin-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.admin-list__row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.admin-list__name{margin-right:auto;font-weight:700}.admin-edit-field{gap:var(--space-1);color:var(--color-text);flex-direction:column;margin-bottom:0;font-size:1rem;font-weight:400;display:flex}.admin-edit-field__label{color:var(--color-text-muted);font-size:.78rem;font-weight:600}.club-map{gap:var(--space-3);flex-direction:column;display:flex}.club-map .leaflet-container{border-radius:var(--radius-md)}.club-map__pin{filter:drop-shadow(0 2px 3px #00000059);background:0 0;border:none}.team-picker-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.team-picker-row:last-child{border-bottom:none}.team-picker-row__name{font-weight:600}.team-picker-row__name-input{flex:12rem;min-width:0;margin:0}.form-hint{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:.85rem}.segmented-control{border:1px solid var(--color-border);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.segmented-control__option{padding:var(--space-1) var(--space-3);color:var(--color-text-muted);background:var(--color-surface);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);margin:0;font-size:.85rem;font-weight:600;position:relative}.segmented-control__option:not(:first-child){border-left:1px solid var(--color-border)}.segmented-control__option input{opacity:0;width:1px;height:1px;margin:0;padding:0;position:absolute}.segmented-control__option:has(input:checked){background:var(--color-primary-600);color:var(--color-text-on-primary)}.segmented-control__option:has(input:focus-visible){box-shadow:inset 0 0 0 2px var(--color-primary-500);outline:none}.set-row{justify-content:center;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.set-row__label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;color:var(--color-primary-700);min-width:3.5rem;font-size:.85rem;font-weight:700}.set-row__input{max-width:5rem}.set-row__remove{padding:var(--space-1) var(--space-2);font-size:.8rem}.scoreboard__input{text-align:center;width:100%;font-family:var(--font-display);padding:var(--space-2);color:var(--color-primary-900);font-size:2.25rem;font-weight:800}.scoreboard__vs{font-family:var(--font-display);color:var(--color-accent-ink);font-size:1.4rem;font-weight:800}.scoreboard-sets{border-collapse:collapse;width:100%;margin:var(--space-5) 0;text-align:center}.scoreboard-sets th,.scoreboard-sets td{padding:var(--space-2) var(--space-3)}.scoreboard-sets thead th{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;color:var(--color-primary-700);font-size:.85rem;font-weight:700}.scoreboard-sets tbody th{font-family:var(--font-display);text-align:left;color:var(--color-primary-700);white-space:nowrap;font-weight:700}.scoreboard-sets tbody td{font-family:var(--font-display);color:var(--color-primary-900);font-size:1.75rem;font-weight:800;line-height:1}.scoreboard-sets__row--winner td{color:var(--color-accent-ink)}.scoreboard-sets__row--winner th[scope=row]:after{content:"★";color:var(--color-accent-ink);margin-left:.35em}.match-result__winner{justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-text);margin:0;display:flex}.match-result__winner svg{color:var(--color-accent-ink)}.match-detail__header{gap:var(--space-4);display:grid}.match-detail__title-row{align-items:flex-start;gap:var(--space-3);display:flex}.match-detail__court-icon{border-radius:var(--radius-md);background:var(--color-primary-100);width:3rem;height:3rem;color:var(--color-primary-700);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.match-detail__title-text{gap:var(--space-2);flex:1;min-width:0;display:grid}.match-detail__title-text h1{margin:0}.match-detail__badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.match-detail__meta{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.match-detail__meta-row{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:.95rem;display:flex}.match-detail__meta-row svg{color:var(--color-primary-600);flex-shrink:0}.match-detail__description{padding-top:var(--space-3);border-top:1px solid var(--color-border);color:var(--color-text);margin:0}.player-chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.player-chip{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;display:inline-flex}.player-chip__avatar{background:var(--color-primary-100);width:1.75rem;height:1.75rem;color:var(--color-primary-700);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.player-chip__name{color:var(--color-text);font-weight:600}.badge--team{padding:2px var(--space-2);font-size:.72rem}.badge--team-1{background:var(--color-info-100);color:var(--color-info-600);border-color:var(--color-info-500)}.badge--team-2{background:var(--color-primary-100);color:var(--color-primary-700);border-color:var(--color-primary-500)}.match-result__heading{align-items:center;gap:var(--space-2);display:flex}.match-result__heading svg{color:var(--color-accent-ink)}dl.stat-grid{margin:0}.stat-tile{flex-direction:column-reverse;display:flex}.stat-tile dd{margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=640px){.app-nav__inner{flex-direction:column;align-items:flex-start}.app-nav__links{margin-right:0}.auth-card{padding:var(--space-5)}}.needing-result{border-left:4px solid var(--color-accent-500)}.needing-result__title{margin:0 0 var(--space-2);font-weight:600}.needing-result__hint{color:var(--color-text-muted);font-size:.85rem;font-weight:400}.needing-result__list{padding-left:var(--space-5);margin:0}.confirm-dialog{max-width:min(30rem, calc(100vw - 2 * var(--space-4)));padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-lg)}.confirm-dialog::backdrop{background:#06331f73}.confirm-dialog__title{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:1.25rem}.confirm-dialog__match{margin:0 0 var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);line-height:1.5}.confirm-dialog__refund{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border-left:4px solid;line-height:1.5}.confirm-dialog__refund--yes{border-left-color:var(--color-primary-500);background:var(--color-primary-100);color:var(--color-primary-900)}.confirm-dialog__refund--no{border-left-color:var(--color-danger-500);background:var(--color-danger-100);color:var(--color-danger-600)}.confirm-dialog__warning{margin:0 0 var(--space-5);color:var(--color-text-muted);font-size:.9rem;line-height:1.5}.whatsapp-link{align-items:center;gap:var(--space-2);display:inline-flex}.match-share__url{color:var(--color-text-muted);overflow-wrap:anywhere;margin:0;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Liberation Mono,monospace;font-size:.875rem}.match-share__actions,.public-match-preview__actions{align-items:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.guest-rent-result{align-items:flex-start;gap:var(--space-3);color:var(--color-text);flex-direction:column;font-style:normal;display:flex}.guest-rent-result__code{letter-spacing:.12em;color:var(--color-accent-ink);overflow-wrap:anywhere;margin:0;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Liberation Mono,monospace;font-size:1.5rem;font-weight:700}.confirm-dialog__code{margin:var(--space-4) 0;padding:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-muted)}.confirm-dialog__code-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.confirm-dialog__actions{gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.confirm-dialog__ack{align-items:flex-start;gap:var(--space-2);margin:0 0 var(--space-4);cursor:pointer;font-size:.92rem;font-weight:500;display:flex}.confirm-dialog__ack input{flex-shrink:0;margin-top:.15rem}.profile-details{gap:var(--space-3);margin:0;display:grid}.profile-details__row{gap:var(--space-1) var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.profile-details__row:last-child{border-bottom:none;padding-bottom:0}.profile-details__row dt{min-width:10rem;color:var(--color-text-muted);font-weight:600}.profile-details__row dd{color:var(--color-text);margin:0;font-weight:600}.profile-notice__contact{margin-top:var(--space-3)}.profile-edit__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.field-hint{margin-top:calc(var(--space-2) * -1);margin-bottom:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted)}.profile-password__success{margin-bottom:var(--space-4);color:var(--color-accent-ink);font-weight:600;display:block}.profile-danger{padding-left:calc(var(--space-5) + 6px);position:relative;overflow:hidden}.profile-danger:before{content:"";background:var(--color-danger-500);width:6px;position:absolute;top:0;bottom:0;left:0}.profile-danger__retain{color:var(--color-text-muted);font-size:.9rem}.match-created{border-top:4px solid var(--color-accent-500);background:linear-gradient(var(--color-primary-100), var(--color-surface) 60%);display:block}.match-created__eyebrow{margin:0 0 var(--space-1);color:var(--color-primary-600);letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;font-weight:600}.match-created__title{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:1.35rem}.match-created__when{align-items:center;gap:var(--space-2);margin:0 0 var(--space-5);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.match-created__next-label{margin:0 0 var(--space-2);font-weight:600}.match-created__steps{margin:0 0 var(--space-5);padding-left:var(--space-5);gap:var(--space-3);line-height:1.5;display:grid}.match-created__steps li::marker{color:var(--color-primary-600);font-weight:700}.match-created__cta{padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);background:var(--color-primary-600);color:var(--color-text-on-primary);transition:background var(--transition-fast);font-weight:600;text-decoration:none;display:inline-block}.match-created__cta:hover{background:var(--color-primary-700)}.match-created__cta:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.confirm-dialog__error{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border-left:4px solid var(--color-danger-500);border-radius:var(--radius-sm);background:var(--color-danger-100);color:var(--color-danger-600);line-height:1.5}.page-intro{max-width:60ch;color:var(--color-text-muted)}.filters__row{gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.filters__row>div{flex:12rem}.filters__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}form.filters{max-width:none}.results-count{color:var(--color-text-muted);font-size:.9rem}.summary-row{gap:var(--space-6);flex-wrap:wrap;display:flex}.summary-row__item{flex-direction:column;margin:0;display:flex}.summary-row__value{color:var(--color-primary-900);font-size:1.9rem;font-weight:700;line-height:1.1}.summary-row__label{color:var(--color-text-muted);font-size:.9rem}.filters__checkbox{align-items:center;gap:var(--space-2);flex:none;align-self:end;display:flex}.filters__checkbox input{width:auto}.filters__checkbox label{margin-bottom:0}th button.table-sort{align-items:center;gap:var(--space-2);color:inherit;font:inherit;background:0 0;border:none;padding:0;font-weight:700;display:inline-flex}th button.table-sort:hover:not(:disabled){color:inherit;background:0 0;text-decoration:underline;transform:none}th button.table-sort:active:not(:disabled){background:0 0;transform:none}th button.table-sort:focus-visible{box-shadow:0 0 0 3px var(--color-primary-100);border-radius:var(--radius-sm);background:0 0;outline:none}.table-sort__arrow{color:var(--color-text-muted);font-size:.75em}.numeric{text-align:right;font-variant-numeric:tabular-nums}.table-scroll{overflow-x:auto}.kind-dot{width:.6rem;height:.6rem;margin-right:var(--space-2);vertical-align:baseline;border-radius:50%;display:inline-block}.delta{font-variant-numeric:tabular-nums;font-weight:700}.delta--in{color:var(--color-accent-ink)}.delta--out{color:var(--color-danger-600)}.pager{align-items:center;gap:var(--space-4);margin-top:var(--space-4);display:flex}.chart-card__note{margin:0 0 var(--space-4);color:var(--color-text-muted);font-size:.85rem}.chart-label{fill:var(--color-text);font-size:.85rem}.chart-value{font-variant-numeric:tabular-nums;fill:var(--color-text-muted);font-size:.85rem;font-weight:700}.kpi-grid{gap:var(--space-4);margin:0 0 var(--space-5);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.kpi-grid .stat-tile{gap:var(--space-1)}.kpi-grid dt{color:var(--color-text-muted);font-size:.85rem}.kpi-grid dd{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--color-primary-900);font-size:1.5rem;font-weight:800}.page-warning{max-width:60ch;padding:var(--space-3) var(--space-4);border-left:4px solid var(--color-accent-500);border-radius:var(--radius-sm);background:var(--color-primary-100);color:var(--color-primary-900);font-size:.9rem}.admin-list__price{white-space:nowrap}.admin-list__price-was{color:var(--color-text-muted);font-size:.9em}.effective-price{padding:var(--space-2) var(--space-3);border-left:4px solid var(--color-accent-500);border-radius:var(--radius-sm);background:var(--color-primary-100);color:var(--color-primary-900);margin:0;font-size:.9rem}.field-error{margin:var(--space-1) 0 0;color:var(--color-danger-600);font-size:.85rem}.receipt-list{margin:0;padding:0;list-style:none}.receipt-list__item{gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.receipt-list__item>div{min-width:0}.receipt-list__item>div>p{margin:0}.receipt-list__number{color:var(--color-accent-ink);font-variant-numeric:tabular-nums;font-weight:700}.receipt-list__meta{color:var(--color-text-muted);font-size:.9rem}.receipt-list__item [role=alert]{color:var(--color-danger-600);flex-basis:100%;margin:0;font-size:.9rem}.receipt-list__actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.receipt-list__actions button{align-items:center;gap:var(--space-2);display:inline-flex}.receipt-preview{width:min(52rem, calc(100vw - 2 * var(--space-4)));max-height:calc(100vh - 2 * var(--space-4));padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-lg)}.receipt-preview::backdrop{background:#06331f73}.receipt-preview>h2{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:1.25rem}.receipt-preview__frame{aspect-ratio:1/1.414;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;width:100%;height:min(70vh,60rem)}.receipt-preview__actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;justify-content:flex-end;display:flex}.receipt-preview__error{margin:var(--space-2) 0 0;color:var(--color-danger-600);font-size:.9rem}
