.admin-body{background:#f5efe6;min-height:100vh}.admin-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem clamp(1rem,3vw,1.75rem);background:var(--cream);border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm)}.admin-nav__brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--cocoa);font-family:var(--font-serif);font-size:1.15rem;font-weight:500}.admin-nav__brand img{height:26px;width:auto}.admin-nav__brand strong{font-weight:600}.admin-nav nav{display:flex;align-items:center;gap:1.25rem}.admin-nav nav a{font-size:.92rem;font-weight:700;color:var(--cocoa)}.admin-nav nav a:hover{color:var(--rose-deep)}.admin-nav__logout button{border:1.5px solid var(--line);background:var(--white);padding:.5rem .95rem;border-radius:var(--radius-pill);font-size:.85rem;font-weight:800;color:var(--cocoa);cursor:pointer}.admin-nav__logout button:hover{border-color:var(--rose);color:var(--rose-deep)}.login{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}.login__card{width:100%;max-width:380px;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:2.25rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1.1rem}.login__logo{width:200px;height:auto;margin-bottom:.25rem}.login__card h1{font-size:1.15rem;font-weight:600;color:var(--cocoa);font-family:var(--font-serif);text-align:center}.login__field{width:100%;display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:700;color:var(--cocoa-soft);letter-spacing:.04em;text-transform:uppercase}.login__field input{font:inherit;font-size:1rem;font-weight:400;letter-spacing:normal;text-transform:none;padding:.85rem 1rem;border:1.5px solid var(--line);border-radius:10px;color:var(--cocoa);background:var(--cream)}.login__field input:focus{outline:2px solid var(--rose);border-color:transparent}.login__error{width:100%;background:#fde8e6;color:#8a3a36;padding:.7rem .9rem;border-radius:8px;font-size:.88rem}.login__submit{width:100%;margin-top:.25rem}.admin{max-width:1180px;margin:0 auto;padding:clamp(1.25rem,3vw,2.25rem)}.admin__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.75rem;flex-wrap:wrap}.admin__header h1{font-size:clamp(1.7rem,1.4rem + 1vw,2.2rem);margin:0;font-family:var(--font-serif);font-weight:600;color:var(--ink)}.admin__header p{color:var(--cocoa-soft);font-size:.95rem;margin:.2rem 0 0}.admin__empty{text-align:center;padding:3rem 1rem;color:var(--cocoa-soft);font-size:1.05rem}.admin__empty a{color:var(--rose-deep);font-weight:800;text-decoration:underline}.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1.1rem}.admin-card{display:grid;grid-template-columns:110px 1fr;gap:1rem;padding:.9rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.admin-card--hidden{opacity:.6}.admin-card__media{width:110px;height:130px;border-radius:10px;overflow:hidden;background:var(--cream-2)}.admin-card__media img{width:100%;height:100%;object-fit:cover}.admin-card__noimg{display:grid;place-items:center;height:100%;color:var(--cocoa-soft);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.admin-card__body{display:flex;flex-direction:column;min-width:0}.admin-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.admin-card__head h2{font-size:1.1rem;font-family:var(--font-serif);font-weight:600;color:var(--ink);margin:0;line-height:1.2}.admin-card__cat{font-size:.78rem;color:var(--cocoa-soft);margin:.25rem 0 0;font-weight:700}.admin-card__desc{font-size:.85rem;color:var(--cocoa-soft);margin:.45rem 0 0;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.admin-card__actions{display:flex;align-items:center;gap:.5rem;margin-top:auto;padding-top:.85rem;flex-wrap:wrap}.admin-card__actions select{font:inherit;font-size:.8rem;padding:.45rem .6rem;border:1.5px solid var(--line);border-radius:8px;background:var(--cream);cursor:pointer}.admin-card__status-form{margin:0}.admin-card__delete{margin:0 0 0 auto}.admin-pill{display:inline-flex;align-items:center;padding:.22em .65em;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0}.admin-pill--visible{background:#e0f2dc;color:#336b2a}.admin-pill--out-of-stock{background:#fbeacc;color:#8a5b1a}.admin-pill--hidden{background:#e6dccd;color:#5a4d3f}.admin .btn{font-size:.85rem;padding:.7em 1.25em}.btn--danger{background:var(--white);color:#a13a36;border-color:#efc8c5}.btn--danger:hover{background:#fde8e6;border-color:#d4756f;color:#8a2c28}.form-page{max-width:720px;margin:0 auto;padding:clamp(1.25rem,3vw,2.25rem)}.form-page h1{font-family:var(--font-serif);font-weight:600;font-size:clamp(1.6rem,1.3rem + 1vw,2rem);margin:0 0 1.5rem}.form{display:flex;flex-direction:column;gap:1.25rem;background:var(--white);padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.form__row{display:flex;flex-direction:column;gap:.4rem}.form__row label,.form__row>span{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--cocoa-soft)}.form__row input,.form__row textarea,.form__row select{font:inherit;font-size:1rem;padding:.75rem .95rem;border:1.5px solid var(--line);border-radius:10px;color:var(--cocoa);background:var(--cream)}.form__row input:focus,.form__row textarea:focus,.form__row select:focus{outline:2px solid var(--rose);border-color:transparent}.form__row textarea{min-height:90px;resize:vertical}.form__row--inline{flex-direction:row;gap:1rem;flex-wrap:wrap}.form__row--inline>*{flex:1 1 200px;min-width:0}.form__help{font-size:.82rem;color:var(--cocoa-soft);text-transform:none;letter-spacing:normal;font-weight:400;margin:0}.form__error{background:#fde8e6;color:#8a3a36;padding:.75rem .95rem;border-radius:8px;font-size:.9rem}.form__actions{display:flex;gap:.7rem;justify-content:flex-end;margin-top:.5rem;flex-wrap:wrap}.form__actions .form__actions-left{margin-right:auto}.images{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.7rem}.images__item{position:relative;display:block;aspect-ratio:4 / 5;background:var(--cream-2);border-radius:10px;overflow:hidden;border:2px solid var(--line);cursor:pointer;transition:border-color .2s var(--ease),transform .15s var(--ease)}.images__item:hover{border-color:var(--rose-soft);transform:translateY(-2px)}.images__item img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .2s var(--ease)}.images__item input[type=checkbox]{position:absolute;top:.5rem;right:.5rem;width:24px;height:24px;cursor:pointer;accent-color:#a13a36;z-index:2}.images__item-mark{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:center;gap:.4em;padding:.55rem .5rem;background:#a13a36eb;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:none;text-align:center;opacity:0;transform:translateY(8px);transition:opacity .2s var(--ease),transform .2s var(--ease);pointer-events:none}.images__item:has(input:checked){border-color:#a13a36}.images__item:has(input:checked) img{opacity:.35}.images__item:has(input:checked) .images__item-mark{opacity:1;transform:translateY(0)}.upload{display:block;border:2px dashed var(--rose-soft);border-radius:12px;background:var(--rose-tint);padding:1.25rem 1rem;text-align:center;cursor:pointer;color:var(--rose-deep);font-weight:700}.upload:hover{background:var(--rose-soft)}.upload input[type=file]{display:none}.upload__chosen{display:block;margin-top:.4rem;font-size:.85rem;color:var(--cocoa);font-weight:400}.success{background:#e0f2dc;color:#336b2a;padding:.85rem 1rem;border-radius:8px;font-weight:700;margin-bottom:1.25rem}
