:root{color-scheme:light;--color-primary: #b9472d;--color-primary-hover: #963721;--color-primary-soft: #f8e7df;--color-success: #198754;--color-danger: #ba3a32;--color-danger-soft: #fbe9e7;--color-text: #24211d;--color-text-muted: #6c665e;--color-bg: #f5f3ee;--color-surface: #fffefa;--color-surface-raised: #ffffff;--color-surface-subtle: #ece9e2;--color-border: #d8d3ca;--color-focus: #d66a4b;--shadow-sm: 0 1px 3px rgb(45 36 28 / 8%);--shadow-lg: 0 18px 50px rgb(45 36 28 / 13%);--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1.125rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--control-height: 2.875rem;--page-width: 76rem;--sidebar-width: 16rem}.payment-selector{border:0;border-top:1px solid var(--color-border);display:grid;gap:var(--space-3);margin:var(--space-4) 0 0;padding:var(--space-4) 0 0}.payment-selector legend{font-weight:800;padding:0}.payment-options{display:grid;gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr))}.payment-option{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font:inherit;font-weight:750;min-height:3rem;padding:var(--space-2) var(--space-3)}.payment-option:hover,.payment-option:focus-visible{border-color:var(--color-primary)}.payment-option--selected{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.external-reference{display:grid;gap:var(--space-1)}.payment-badge{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:999px;display:inline-flex;font-size:.8rem;font-weight:750;padding:var(--space-1) var(--space-2)}@media(max-width:38rem){.payment-options{grid-template-columns:1fr}}:root[data-theme=dark]{color-scheme:dark;--color-primary: #ef8a69;--color-primary-hover: #ff9e7e;--color-primary-soft: #45251d;--color-success: #5dcc91;--color-danger: #ff8c83;--color-danger-soft: #452422;--color-text: #f3efe8;--color-text-muted: #afa89f;--color-bg: #171614;--color-surface: #201f1c;--color-surface-raised: #292724;--color-surface-subtle: #33302c;--color-border: #47433d;--color-focus: #ff9e7e;--shadow-sm: 0 1px 3px rgb(0 0 0 / 28%);--shadow-lg: 0 18px 50px rgb(0 0 0 / 35%)}*{box-sizing:border-box}html{background:var(--color-bg);color:var(--color-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}body{background:radial-gradient(circle at 5% 0%,color-mix(in srgb,var(--color-primary) 10%,transparent),transparent 28rem),var(--color-bg);margin:0;min-width:20rem;min-height:100dvh}button,input,select{font:inherit}button,select{touch-action:manipulation}a{color:inherit}:focus-visible{outline:3px solid color-mix(in srgb,var(--color-focus) 55%,transparent);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.page-container{margin:0 auto;max-width:var(--page-width);padding:clamp(var(--space-4),3vw,var(--space-6));width:100%}.page-header{align-items:flex-start;display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-5)}.page-header>:first-child{min-width:0}.page-header h1{font-size:clamp(1.75rem,4vw,2.5rem);letter-spacing:-.035em;margin:0}.page-header p{color:var(--color-text-muted);margin:var(--space-2) 0 0}.surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.badge{background:var(--color-primary-soft);border-radius:999px;color:var(--color-primary);display:inline-flex;font-size:.7rem;font-weight:800;letter-spacing:.06em;padding:.2rem .5rem}.button{align-items:center;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-weight:750;justify-content:center;min-height:var(--control-height);padding:0 var(--space-4)}.button:disabled{cursor:default;filter:saturate(.7);opacity:.62}.button--primary{background:var(--color-primary);color:#fff}.button--primary:hover:not(:disabled){background:var(--color-primary-hover)}.button--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.button--secondary:hover:not(:disabled){background:var(--color-surface-subtle);border-color:color-mix(in srgb,var(--color-text-muted) 60%,var(--color-border))}.button--danger{background:var(--color-danger);color:#fff}.button--danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 84%,#000)}@media(max-width:38rem){.page-header{align-items:stretch;flex-direction:column}.page-header>.button,.page-header>:last-child.button{width:100%}}.form-control{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);min-height:var(--control-height);padding:0 var(--space-3);width:100%}.form-control:hover{border-color:color-mix(in srgb,var(--color-text-muted) 70%,var(--color-border))}.form-control:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-focus) 16%,transparent);outline:none}.quantity-input::-webkit-inner-spin-button,.quantity-input::-webkit-outer-spin-button{appearance:none;margin:0}.quantity-input{appearance:textfield;min-height:2.25rem;padding:0;text-align:center;width:4.5rem}.validation-message{color:var(--color-danger);font-size:.84rem;margin:calc(var(--space-2) * -1) 0 0}.error-state{background:var(--color-danger-soft);border-radius:var(--radius-sm);color:var(--color-danger);padding:var(--space-3)}.empty-state{color:var(--color-text-muted);padding:var(--space-6);text-align:center}.loading-state{align-items:center;color:var(--color-text-muted);display:flex;gap:var(--space-3);justify-content:center;min-height:50dvh}.spinner{animation:spin .8s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:1.5rem;width:1.5rem}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important}}
