body.admin-open { overflow: hidden; }
body.admin-open > .announcement,
body.admin-open > .site-header,
body.admin-open > [data-storefront],
body.admin-open > footer,
body.admin-open > .toast { display: none; }
.admin { position: fixed; inset: 0; z-index: 100; overflow: auto; background: var(--cream); }
.admin-login { min-height: 100%; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 70% 20%, rgba(201,161,91,.28) 0, transparent 30%), var(--cream); }
.admin-login[hidden] { display: none; }
.admin-login__card { width: min(430px, 100%); padding: 40px; border: 1px solid #e2e1d9; border-radius: 26px; background: rgba(255,255,255,.94); box-shadow: var(--shadow); }
.admin-login__eyebrow { margin: 35px 0 10px !important; color: var(--orange) !important; font-size: 9px !important; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.admin-login__card h1 { font-size: 34px; line-height: 1.05; }
.admin-login__card > p { color: #727b74; font-size: 12px; line-height: 1.5; }
.admin-login__card form { margin: 25px 0 18px; display: grid; gap: 15px; }
.admin-login__card form button { width: 100%; margin-top: 4px; }
.admin-login__card > a { color: #68726b; font-size: 10px; }
.admin-login__error { margin: 0 !important; padding: 9px 11px; border-radius: 8px; color: #9b3d3d !important; background: #fbe8e8; font-size: 10px !important; }
.admin__shell { min-height: 100%; display: grid; grid-template-columns: 230px 1fr; }
.admin__sidebar { position: sticky; top: 0; height: 100vh; padding: 30px 22px; display: flex; flex-direction: column; color: white; background: var(--navy); }
.admin__caption { margin: 8px 0 35px; color: #afc2cd; font-size: 10px; }
.admin__nav { display: grid; gap: 7px; }
.admin__nav button { width: 100%; padding: 12px 13px; display: flex; align-items: center; gap: 11px; border: 0; border-radius: 11px; color: #dce4e9; background: transparent; text-align: left; font-size: 13px; }
.admin__nav button.is-active { color: var(--navy); background: var(--gold); font-weight: 750; }
.admin__nav button:disabled { opacity: .55; }
.admin__nav small { margin-left: auto; font-size: 8px; text-transform: uppercase; }
.admin__back { margin-top: auto; color: #dce4e9; font-size: 11px; }
.admin__workspace { min-width: 0; padding: 42px clamp(24px, 4vw, 64px) 60px; }
.admin__topbar { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.admin__top-actions { display: flex; align-items: center; gap: 8px; }.admin__top-actions > span { margin-right: 4px; color: #6f7871; font-size: 10px; }
.admin__topbar p, .admin-modal__header p { margin: 0 0 5px; color: #7d867f; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.admin__topbar h1 { font-size: 38px; }
.admin-button { min-height: 42px; padding: 0 17px; border: 0; border-radius: 11px; cursor: pointer; font-size: 12px; font-weight: 750; }
.admin-button--primary { color: var(--graphite); background: var(--green); }
.admin-button--ghost { border: 1px solid var(--line); background: white; }
.admin-button--danger { color: white; background: #a94343; }
.admin__stats { margin: 30px 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.admin__stats article { padding: 19px; border: 1px solid #e1e3dc; border-radius: 16px; background: white; }
.admin__stats span { display: block; margin-bottom: 8px; color: #768078; font-size: 10px; }
.admin__stats strong { font-size: 27px; }
.admin__toolbar { margin-bottom: 14px; display: flex; gap: 10px; }
.admin-search { height: 44px; flex: 1; display: flex; align-items: center; gap: 9px; padding: 0 14px; border: 1px solid #dfe1db; border-radius: 12px; background: white; }
.admin-search input { width: 100%; border: 0; outline: 0; background: transparent; font-size: 12px; }
.admin__toolbar select { padding: 0 38px 0 14px; border: 1px solid #dfe1db; border-radius: 12px; background: white; font-size: 11px; }
.admin-select-all { white-space: nowrap; }
.admin__bulkbar { margin: -2px 0 14px; padding: 12px 14px; display: flex; align-items: center; flex-wrap: wrap; gap: 10px; border: 1px solid rgba(143,175,199,.65); border-radius: 13px; background: #eef5f8; }
.admin__bulkbar[hidden] { display: none; }
.admin__bulkbar strong { color: var(--navy); font-size: 12px; }
.admin__bulkbar > span { flex: 1; color: #68747b; font-size: 10px; }
.admin__bulkbar .admin-button { min-height: 36px; }
.admin-table-wrap { overflow-x: auto; border: 1px solid #e1e3dc; border-radius: 17px; background: white; }
.admin-table { width: 100%; border-collapse: collapse; white-space: nowrap; }
.admin-table th { padding: 13px 16px; color: #7d857e; background: #fafbf8; text-align: left; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.admin-table td { padding: 14px 16px; border-top: 1px solid #eceee9; font-size: 11px; }
.admin-table__check { width: 42px; padding-right: 4px !important; text-align: center !important; }
.admin-table__check input, .admin-row-check { width: 17px; height: 17px; accent-color: var(--green); cursor: pointer; }
.admin-book { display: flex; align-items: center; gap: 11px; }
.admin-book__cover { width: 34px; height: 48px; flex: 0 0 auto; border-radius: 3px; background: var(--green); box-shadow: 3px 4px 7px rgba(0,0,0,.12); }
.admin-book__cover.cover--internat { background: #353c50; }.admin-book__cover.cover--forest { background: #d76838; }.admin-book__cover.cover--darkness { background: #1b2029; }.admin-book__cover.cover--alphabet { background: #527aa0; }.admin-book__cover.cover--stories { background: #e9ca58; }
.admin-book strong { display: block; max-width: 260px; overflow: hidden; text-overflow: ellipsis; font-size: 12px; }
.admin-book small { display: block; margin-top: 3px; color: #7d857e; }
.stock-input { width: 64px; padding: 7px 8px; border: 1px solid var(--line); border-radius: 8px; }
.price-input { width: 82px; padding: 7px 8px; border: 1px solid var(--line); border-radius: 8px; background: white; font-weight: 750; }
.stock-input:focus, .price-input:focus { outline: 2px solid rgba(143,175,199,.35); border-color: var(--green); }
.status-pill { padding: 6px 9px; border-radius: 999px; color: #28754a; background: #e4f5e9; font-size: 9px; font-weight: 750; }
.status-pill.is-low { color: #9c5a20; background: #fff0d8; }.status-pill.is-empty { color: #984242; background: #fbe5e5; }.status-pill.is-hidden { color: #666; background: #ececec; }
.quick-status { display: flex; align-items: center; gap: 6px; }
.quick-status__edit { width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 8px; background: white; cursor: pointer; font-size: 11px; }
.quick-status__edit:hover { color: white; border-color: var(--green); background: var(--green); }
.quick-status__select { max-width: 132px; padding: 6px 25px 6px 8px; border: 1px solid var(--green); border-radius: 8px; background: white; font-size: 10px; }
.row-actions { display: flex; justify-content: flex-end; gap: 5px; }
.row-actions button { width: 32px; height: 32px; border: 1px solid var(--line); border-radius: 9px; background: white; cursor: pointer; }
.row-actions button:last-child { color: #a94343; }
.admin-empty { padding: 50px; color: #737c75; text-align: center; font-size: 12px; }
.admin-modal, .confirm-modal { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 18px; }
.admin-modal[hidden], .confirm-modal[hidden] { display: none; }
.admin-modal__backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(13, 24, 18, .55); backdrop-filter: blur(3px); }
.admin-modal__panel { position: relative; width: min(760px, 100%); max-height: calc(100vh - 36px); overflow: auto; border-radius: 22px; background: white; box-shadow: 0 30px 90px rgba(0,0,0,.25); }
.admin-modal__header { padding: 25px 28px 18px; display: flex; align-items: start; justify-content: space-between; border-bottom: 1px solid #eceee9; }
.admin-modal__header h2 { font-size: 27px; }
.admin-modal__close { width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; background: white; cursor: pointer; font-size: 20px; }
.book-form { padding: 24px 28px 28px; }
.book-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field { display: grid; gap: 7px; }
.field--wide { grid-column: 1 / -1; }
.field > span { font-size: 10px; font-weight: 750; }
.field input, .field select, .field textarea { width: 100%; padding: 11px 12px; border: 1px solid #dcded8; border-radius: 10px; outline: none; background: white; font-size: 12px; }
.field textarea { resize: vertical; }
.field small { color: #7d857e; font-size: 9px; }
.image-preview { display: flex; align-items: end; gap: 14px; padding: 12px; border-radius: 12px; background: #f5f5f1; }.image-preview[hidden] { display: none; }.image-preview > div { display:flex; gap:7px; overflow-x:auto; }.image-preview img { width: 62px; height: 84px; flex:0 0 auto; border-radius: 6px; object-fit: cover; }.image-preview label { flex:0 0 auto; font-size: 10px; }
.media-field{display:grid;gap:10px}.media-field__heading{display:flex;align-items:end;justify-content:space-between;gap:15px}.media-field__heading strong,.media-field__heading small{display:block}.media-field__heading strong{font-size:10px}.media-field__heading small{margin-top:3px;color:#7d857e;font-size:9px}.media-field__heading>span{color:var(--green);font-size:10px;font-weight:800}.media-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.drop-zone{min-height:105px;padding:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1.5px dashed #bfc6bf;border-radius:14px;color:#526058;background:#fafbf8;cursor:pointer;transition:.2s}.drop-zone:hover,.drop-zone.is-dragging{border-color:var(--green);background:#f0f5e7}.drop-zone__icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:white;background:var(--green);font-size:18px}.drop-zone strong{font-size:10px}.drop-zone small{color:#7d857e;font-size:8px}.cover-upload-preview{display:flex;gap:12px;align-items:center;padding:11px;border:1px solid #e0e2dc;border-radius:13px;background:#fafbf8}.cover-upload-preview[hidden]{display:none}.cover-upload-preview img{width:75px;height:100px;border-radius:7px;object-fit:contain;background:#ecece7}.cover-upload-preview div{display:grid;gap:6px}.cover-upload-preview strong{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.media-action{width:fit-content;padding:7px 9px;border:1px solid #d7dad3;border-radius:8px;background:white;cursor:pointer;font-size:9px}.media-action.is-danger{color:#a44141}.gallery-editor{display:grid;grid-template-columns:repeat(5,minmax(80px,1fr));gap:9px}.gallery-item{position:relative;padding:7px;border:1px solid #dde0d9;border-radius:11px;background:white;cursor:grab;transition:.18s}.gallery-item:active{cursor:grabbing}.gallery-item.is-dragging{opacity:.35;transform:scale(.96)}.gallery-item img{width:100%;aspect-ratio:3/4;display:block;border-radius:6px;object-fit:contain;background:#f0f0eb}.gallery-item__bar{padding-top:6px;display:flex;align-items:center;justify-content:space-between}.gallery-item__bar span{color:#8b938c;font-size:8px}.gallery-remove{width:23px;height:23px;border:0;border-radius:50%;color:#9e4242;background:#f9e7e7;cursor:pointer}.gallery-empty{grid-column:1/-1;padding:12px;color:#858d86;text-align:center;font-size:9px}
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(35,75,54,.08); }
.switch-field { display: flex; align-items: center; gap: 11px; }
.switch-field > input { position: absolute; opacity: 0; }
.switch-field > span { width: 40px; height: 23px; padding: 3px; border-radius: 999px; background: #c6cbc7; transition: .2s; }
.switch-field > span::after { content: ""; display: block; width: 17px; height: 17px; border-radius: 50%; background: white; transition: .2s; }
.switch-field > input:checked + span { background: var(--green); }.switch-field > input:checked + span::after { transform: translateX(17px); }
.switch-field strong, .switch-field small { display: block; }.switch-field strong { font-size: 11px; }.switch-field small { margin-top: 2px; color: #7d857e; font-size: 9px; }
.book-form__actions { margin-top: 25px; display: flex; justify-content: flex-end; gap: 8px; }
.admin-modal__panel--small { width: min(480px, 100%); }
.confirm-modal__panel { position: relative; width: min(380px, 100%); padding: 30px; border-radius: 20px; background: white; text-align: center; }
.confirm-modal__panel > span { width: 44px; height: 44px; margin: auto; display: grid; place-items: center; border-radius: 50%; color: #a94343; background: #fbe5e5; font-weight: 800; }
.confirm-modal__panel h3 { margin: 15px 0 5px; }.confirm-modal__panel p { margin: 0 0 22px; color: #7d857e; font-size: 12px; }.confirm-modal__panel > div { display: flex; justify-content: center; gap: 8px; }
.admin-toast { position: fixed; right: 24px; bottom: 24px; z-index: 140; padding: 13px 17px; border-radius: 11px; color: white; background: var(--green); box-shadow: var(--shadow); opacity: 0; transform: translateY(60px); transition: .2s; font-size: 11px; pointer-events: none; }.admin-toast.is-visible { opacity: 1; transform: none; }
@media (max-width: 850px) { .admin__shell { grid-template-columns: 1fr; }.admin__sidebar { position: static; height: auto; padding: 17px 20px; flex-direction: row; align-items: center; gap: 15px; }.admin__caption,.admin__nav { display: none; }.admin__back { margin: 0 0 0 auto; }.admin__workspace { padding: 28px 18px 50px; }.admin__stats { grid-template-columns: repeat(2, 1fr); }.admin-table th:nth-child(3),.admin-table td:nth-child(3) { display:none; }.admin__bulkbar { align-items: stretch; flex-direction: column; }.admin__bulkbar > span { display: none; } }
@media (max-width: 560px) { .admin-login__card { padding: 28px 22px; }.admin__topbar { align-items: center; }.admin__topbar h1 { font-size: 30px; }.admin__top-actions > span,.admin__top-actions .admin-button--ghost { display:none; }.admin__stats { grid-template-columns: 1fr 1fr; }.admin__stats article { padding: 14px; }.admin__toolbar { flex-direction: column; }.admin__toolbar select,.admin-select-all { min-height: 42px; }.admin-table th:nth-child(6),.admin-table td:nth-child(6) { display:none; }.book-form__grid { grid-template-columns: 1fr; }.field--wide { grid-column: auto; }.admin-modal__header,.book-form { padding-left: 18px; padding-right: 18px; }.gallery-editor{grid-template-columns:repeat(3,1fr)} }

/* Larger, identifiable gallery cards and full-size preview. */
.cover-upload-preview img{width:92px;height:122px;cursor:zoom-in}
.cover-upload-preview strong{max-width:360px}
.gallery-editor{grid-template-columns:repeat(3,minmax(130px,1fr));gap:11px}
.gallery-item{padding:8px}
.gallery-preview-button{width:100%;padding:0;border:0;border-radius:7px;background:#f0f0eb;cursor:zoom-in}
.gallery-item .gallery-preview-button img{width:100%;aspect-ratio:4/3;object-fit:contain}
.gallery-item__bar{padding-top:7px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px}
.gallery-item__label{min-width:0}
.gallery-item__label strong,.gallery-item__label small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gallery-item__label strong{font-size:9px}.gallery-item__label small{margin-top:2px;color:#8b938c;font-size:8px}
.gallery-remove{grid-column:2;grid-row:1/3;width:25px;height:25px}
.media-lightbox{position:fixed;inset:0;z-index:180;display:grid;place-items:center;padding:22px}
.media-lightbox[hidden]{display:none}.media-lightbox__backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(8,15,11,.82);backdrop-filter:blur(5px)}
.media-lightbox__panel{position:relative;width:min(920px,94vw);height:min(820px,90vh);padding:48px 65px 55px;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;border-radius:20px;background:#f7f7f2;box-shadow:0 35px 100px rgba(0,0,0,.4)}
.media-lightbox__panel>img{max-width:100%;max-height:100%;object-fit:contain}.media-lightbox__panel>div{width:100%;padding-top:15px;display:flex;justify-content:space-between;gap:20px}
.media-lightbox__panel>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.media-lightbox__panel>div span{flex:0 0 auto;color:#7d857e;font-size:10px}
.media-lightbox__close{position:absolute;right:15px;top:15px;width:35px;height:35px;border:1px solid #d9dcd5;border-radius:50%;background:white;cursor:pointer;font-size:20px}
.media-lightbox__nav{position:absolute;top:50%;width:40px;height:55px;border:0;border-radius:10px;background:white;box-shadow:0 5px 20px rgba(0,0,0,.15);cursor:pointer;font-size:28px}.media-lightbox__nav--prev{left:13px}.media-lightbox__nav--next{right:13px}.media-lightbox__nav:disabled{opacity:.25;cursor:default}
@media(max-width:560px){.gallery-editor{grid-template-columns:repeat(2,1fr)}.media-lightbox__panel{padding:48px 45px 55px}.media-lightbox__nav--prev{left:5px}.media-lightbox__nav--next{right:5px}}
