:root{--color-primary: #b5456e;--color-primary-hover: #9c3a5e;--color-primary-light: #f9e8ef;--color-accent: #d4896e;--color-accent-light: #fdf0eb;--color-bg: #faf8f6;--color-surface: #ffffff;--color-surface-alt: #f3f0ed;--color-border: #e4dfd9;--color-border-focus: #b5456e;--color-text: #2c2421;--color-text-muted: #78706a;--color-text-inverse: #ffffff;--color-success: #3a8a5c;--color-success-bg: #eaf6ef;--color-danger: #c0392b;--color-danger-bg: #fdecea;--color-warning: #d4a017;--color-warning-bg: #fef9e7;--color-admin-header: #2c2421;--color-admin-header-text: #f3f0ed;--color-admin-nav-link: #d4c5be;--color-admin-nav-hover: #ffffff;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Playfair Display", Georgia, "Times New Roman", serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--leading-tight: 1.2;--leading-normal: 1.6;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(44, 36, 33, .06);--shadow-md: 0 2px 8px rgba(44, 36, 33, .08);--shadow-lg: 0 4px 16px rgba(44, 36, 33, .1);--shadow-xl: 0 8px 32px rgba(44, 36, 33, .12);--transition-fast: .15s ease;--transition-base: .25s ease;--container-sm: 640px;--container-md: 768px;--container-lg: 960px;--container-xl: 1200px;--bp-sm: 640px;--bp-md: 768px;--z-header: 100;--z-overlay: 200;--z-modal: 300}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}a{color:var(--color-primary);text-decoration-thickness:1px;text-underline-offset:2px;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:var(--leading-tight);color:var(--color-text);font-weight:var(--weight-bold)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-base)}@media(min-width:768px){h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}}p+p{margin-top:var(--space-md)}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}::selection{background:var(--color-primary-light);color:var(--color-text)}.container{width:100%;max-width:var(--container-xl);margin-inline:auto;padding-inline:var(--space-md)}.container--sm{max-width:var(--container-sm)}.container--md{max-width:var(--container-md)}.container--lg{max-width:var(--container-lg)}@media(min-width:768px){.container{padding-inline:var(--space-lg)}}.stack{display:flex;flex-direction:column}.stack--xs{gap:var(--space-xs)}.stack--sm{gap:var(--space-sm)}.stack--md{gap:var(--space-md)}.stack--lg{gap:var(--space-lg)}.stack--xl{gap:var(--space-xl)}.stack--2xl{gap:var(--space-2xl)}.cluster{display:flex;flex-wrap:wrap;align-items:center}.cluster--sm{gap:var(--space-sm)}.cluster--md{gap:var(--space-md)}.cluster--lg{gap:var(--space-lg)}.row{display:flex;align-items:center}.row--sm{gap:var(--space-sm)}.row--md{gap:var(--space-md)}.row--lg{gap:var(--space-lg)}.row--between{justify-content:space-between}.grid{display:grid;gap:var(--space-lg)}.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.grid--4{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.flex-1{flex:1}.flex-none{flex:none}.flex-auto{flex:1 1 auto}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.text-center{text-align:center}.text-right{text-align:right}.section{padding-block:var(--space-2xl)}.section--sm{padding-block:var(--space-lg)}@media(min-width:768px){.section{padding-block:var(--space-3xl)}.section--sm{padding-block:var(--space-xl)}}@media(max-width:640px){.hide-mobile{display:none!important}}@media(min-width:641px){.hide-desktop{display:none!important}}@media(max-width:768px){.stack-on-mobile{flex-direction:column;align-items:stretch}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.625rem 1.25rem;font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:1;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap}.btn:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.btn--primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn--primary:hover{background:var(--color-primary-hover)}.btn--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn--secondary:hover{background:var(--color-surface-alt);border-color:var(--color-text-muted)}.btn--danger{background:var(--color-danger);color:var(--color-text-inverse)}.btn--danger:hover{background:#e74c3c}.btn--ghost{background:transparent;color:var(--color-primary);padding:.5rem .75rem}.btn--ghost:hover{background:var(--color-primary-light)}.btn--sm{padding:.375rem .75rem;font-size:var(--text-xs)}.btn--lg{padding:.75rem 1.75rem;font-size:var(--text-base)}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.card--elevated{box-shadow:var(--shadow-md);border-color:transparent}.card--hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);transition:box-shadow var(--transition-base),transform var(--transition-base)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text)}.form-input,.form-textarea,.form-select{width:100%;padding:.625rem .75rem;font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-textarea{min-height:100px;resize:vertical}.form-error-text{font-size:var(--text-xs);color:var(--color-danger);font-weight:var(--weight-medium)}.form-input--error,.form-textarea--error{border-color:var(--color-danger)}.form-label--inline{display:inline-flex;align-items:center;gap:var(--space-sm);cursor:pointer}.form-checkbox-label{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);cursor:pointer}.form-checkbox-label input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:var(--color-primary)}.alert{padding:.75rem 1rem;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium)}.alert--error{background:var(--color-danger-bg);color:var(--color-danger)}.alert--success{background:var(--color-success-bg);color:var(--color-success)}.alert--warning{background:var(--color-warning-bg);color:var(--color-warning)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th,.table td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}.table th{font-weight:var(--weight-semibold);color:var(--color-text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;background:var(--color-surface-alt)}.table tbody tr:hover{background:var(--color-surface-alt)}@media(max-width:640px){.table--responsive thead{display:none}.table--responsive tbody tr{display:block;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-sm);background:var(--color-surface)}.table--responsive tbody td{display:flex;justify-content:space-between;padding:var(--space-xs) 0;border-bottom:none}.table--responsive tbody td:before{content:attr(data-label);font-weight:var(--weight-semibold);color:var(--color-text-muted);font-size:var(--text-xs);text-transform:uppercase}}.badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:var(--radius-full);line-height:1.4}.badge--success{background:var(--color-success-bg);color:var(--color-success)}.badge--muted{background:var(--color-surface-alt);color:var(--color-text-muted)}.divider{border:none;border-top:1px solid var(--color-border);margin-block:var(--space-lg)}.product-card{display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);text-decoration:none;color:inherit;transition:box-shadow var(--transition-base),transform var(--transition-base)}.product-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);color:inherit}.product-card__img{aspect-ratio:4 / 3;object-fit:cover;width:100%;background:var(--color-surface-alt)}.product-card__body{padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs);flex:1}@media(min-width:768px){.product-card__body{padding:var(--space-md) var(--space-lg) var(--space-lg)}}.product-card__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.product-card__desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.product-card__price{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-primary);margin-top:auto;padding-top:var(--space-sm)}.inline-form{display:inline}
