:root{--surface: #fffaf7;--surface-2: #fdeef1;--pink: #f9c9d6;--pink-deep: #ec8fab;--pink-strong: #c94f78;--mint: #c9eedc;--lavender: #e0d6f7;--butter: #fff0b3;--sky: #cfe7fb;--peach: #ffdcc7;--text: #4b3d5a;--text-muted: #8a7d98;--border: #f1dfe5;--accent: var(--pink-deep);--radius: 22px;--shadow: 0 6px 18px rgb(236 143 171 / .18);--font-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Fredoka", "Nunito", system-ui, sans-serif;color-scheme:light}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 8% 12%,rgba(224,214,247,.55) 0 14rem,transparent 14.1rem),radial-gradient(circle at 95% 30%,rgba(201,238,220,.5) 0 11rem,transparent 11.1rem),var(--surface);background-attachment:fixed;color:var(--text);font-family:var(--font-body);line-height:1.65;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.2;margin:0 0 1rem}h1{font-size:clamp(2rem,4.5vw,3rem)}h2{font-size:1.6rem;margin-top:2.5rem}a{color:var(--pink-deep)}img{display:block;max-width:100%}.container{width:100%;max-width:72rem;margin:0 auto;padding:0 1rem}@media(min-width:640px){.container{padding:0 2rem}}.muted{color:var(--text-muted)}.grid{display:grid;gap:2.25rem 1.5rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}.button{display:inline-block;padding:.8rem 1.7rem;border:none;border-radius:999px;background:var(--pink);color:var(--text);font:inherit;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:var(--shadow);transition:transform .2s ease,background .2s ease}.button:hover{background:var(--pink-strong);color:#fff;transform:translateY(-2px)}.button:disabled{opacity:.55;cursor:not-allowed;transform:none;background:var(--pink);color:var(--text)}button.link{padding:0;border:none;background:none;color:var(--text-muted);font:inherit;text-decoration:underline;text-decoration-style:wavy;text-underline-offset:4px;cursor:pointer}.placeholder{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M24 8h16v6c0 3 8 8 8 20 0 12-7 22-16 22S16 46 16 34c0-12 8-17 8-20z' fill='%23ffffff' fill-opacity='.7'/%3E%3Ccircle cx='27' cy='34' r='2' fill='%234b3d5a' fill-opacity='.5'/%3E%3Ccircle cx='37' cy='34' r='2' fill='%234b3d5a' fill-opacity='.5'/%3E%3Cpath d='M29 40q3 3 6 0' stroke='%234b3d5a' stroke-opacity='.5' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/38% no-repeat,var(--tile, var(--pink))}.grid>:nth-child(5n+1){--tile: var(--pink)}.grid>:nth-child(5n+2){--tile: var(--mint)}.grid>:nth-child(5n+3){--tile: var(--lavender)}.grid>:nth-child(5n+4){--tile: var(--butter)}.grid>:nth-child(5n+5){--tile: var(--sky)}.field{display:grid;gap:.35rem;margin-bottom:1.1rem}.field>span{font-weight:700;font-size:.9rem}.field small{color:var(--text-muted);font-size:.8rem}.field .error{color:#c2416b;font-size:.85rem;font-weight:600}input[type=text],input[type=number],select,textarea{width:100%;padding:.65rem .9rem;border:2px solid var(--border);border-radius:14px;background:#fff;color:var(--text);font:inherit}input[type=text]:focus,input[type=number]:focus,select:focus,textarea:focus{outline:none;border-color:var(--pink-deep);box-shadow:0 0 0 4px #f9c9d680}input[type=text].invalid,input[type=number].invalid,select.invalid,textarea.invalid{border-color:#e7839f}textarea{min-height:8rem;resize:vertical}.button.secondary{background:var(--surface);border:2px solid var(--pink);box-shadow:none}.button.secondary:hover{background:var(--pink);color:var(--text)}.button.danger{background:#fde2e7;color:#b23a5c;box-shadow:none}.button.danger:hover{background:#f7b9c8}.button.small{padding:.45rem 1rem;font-size:.9rem}.notice{padding:.85rem 1.1rem;border-radius:16px;background:var(--butter);margin-bottom:1.5rem}.notice.error{background:#fde2e7;color:#9c2f4f}.notice.success{background:var(--mint)}.status-chip{display:inline-block;padding:.15rem .7rem;border-radius:999px;font-size:.8rem;font-weight:700}.status-chip.Draft{background:var(--sky)}.status-chip.Available{background:var(--mint)}.status-chip.Reserved{background:var(--butter)}.status-chip.Sold{background:var(--lavender)}.status-chip.Archived{background:#eee7ea;color:var(--text-muted)}
