/* Admin dashboard styles */
body.admin{background:#F6F2EA;font-size:15px;line-height:1.55}
[data-theme=dark] body.admin{background:#12100c}
.admin-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.sb-collapsed .admin-shell{grid-template-columns:68px minmax(0,1fr)}
.sb-collapsed .sb-label{display:none}
.sidebar-nav{background:var(--color-surface);border-right:1px solid var(--color-border);padding:16px 12px;position:sticky;top:0;height:100vh;overflow-y:auto}
.sidebar-nav__brand{display:flex;justify-content:flex-start;align-items:center;gap:10px;font-family:var(--font-heading);font-weight:700;font-size:1.1rem;text-decoration:none;padding:6px 10px 16px;color:var(--color-primary)}
.sidebar-nav__group{font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--color-muted);margin:16px 10px 6px;font-weight:700}
.sidebar-nav ul{list-style:none}
.sidebar-nav a:not(.sidebar-nav__brand){display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;text-decoration:none;font-weight:500;color:var(--color-text)}
.sidebar-nav a:not(.sidebar-nav__brand):hover{background:var(--color-soft)}
.sidebar-nav a.is-active{background:color-mix(in srgb,var(--color-primary) 14%,transparent);color:var(--color-primary);font-weight:700}
.sidebar-nav .badge{margin-left:auto}
.admin-main{min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:12px;padding:10px 20px;background:color-mix(in srgb,var(--color-bg) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border)}
.topbar__search{display:flex;align-items:center;gap:8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;padding:0 14px;flex:0 1 340px}
.topbar__search input{border:0;box-shadow:none!important;background:transparent;padding:8px 0}
.topbar__right{display:flex;align-items:center;gap:6px;margin-left:auto}
.notif{position:relative}.notif__dot{position:absolute;top:8px;right:9px;width:9px;height:9px;border-radius:50%;background:var(--color-danger);border:2px solid var(--color-bg)}
.dropdown{position:relative}.dropdown__menu{position:absolute;top:calc(100% + 6px);left:0;min-width:180px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow);list-style:none;padding:6px;z-index:60}
.dropdown__menu--right{left:auto;right:0}.dropdown__menu a{display:block;padding:8px 12px;border-radius:8px;text-decoration:none}.dropdown__menu a:hover{background:var(--color-soft)}
.admin-content{padding:20px clamp(16px,3vw,32px) 64px;max-width:1500px;width:100%}
.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.page-head h1{font-size:1.7rem;margin:0}
.page-head__actions,.panel__actions,.row-actions,.side-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.inline-form{display:inline}
.panel{padding:20px}.panel h2{font-size:1.1rem;margin-bottom:14px}.panel__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.panel__head h2{margin:0}
.mt{margin-top:20px}.center{text-align:center}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem}
.form-narrow{max-width:720px}.form-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.form-inline{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.form-inline .field{margin:0;flex:1 1 180px}
.stat-cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));list-style:none;margin-bottom:20px}
.stat-card{display:flex;gap:14px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px 18px}
.stat-card .icon{width:36px;height:36px;padding:8px;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 14%,transparent);color:var(--color-primary)}
.stat-card strong{display:block;font-size:1.5rem;font-family:var(--font-heading);line-height:1.1}.stat-card span{font-size:.8rem;color:var(--color-muted)}
.chart-box{position:relative;height:280px}
.list{list-style:none;display:grid;gap:10px}.list li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--color-border)}.list li:last-child{border:0;padding:0}.list a{font-weight:600;text-decoration:none}
ol.list{counter-reset:i}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px}.kv dt{color:var(--color-muted)}.kv dd{margin:0;word-break:break-word}
.subnav{display:flex;gap:4px;list-style:none;flex-wrap:wrap;margin-bottom:14px;border-bottom:1px solid var(--color-border)}.subnav a{display:block;padding:8px 14px;text-decoration:none;color:var(--color-muted);border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:600}.subnav a.is-active{color:var(--color-primary);border-color:var(--color-primary)}
.filters,.bulkbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.filters input,.filters select,.bulkbar select{width:auto;min-width:150px}
.narrow{width:36px}.actions-col{width:1%;white-space:nowrap}.thumb{border-radius:8px;object-fit:cover}
.btn--danger-ghost{color:var(--color-danger)}.btn--danger-ghost:hover{background:#fbe4e2;color:var(--color-danger)}
.is-unread td{font-weight:600;background:color-mix(in srgb,var(--color-primary) 6%,transparent)}
.drag-handle{cursor:grab;color:var(--color-muted);display:inline-flex}.sortable-ghost{opacity:.4}
.section-list,.menu-items{list-style:none;display:grid;gap:10px}
.section-row{display:flex;align-items:center;gap:14px;padding:12px 16px}.section-row.is-off{opacity:.6}.section-row__info{display:grid;flex:1}
.picker-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));list-style:none}.picker{display:block;padding:20px;text-decoration:none;text-align:center;transition:transform var(--t)}.picker:hover{transform:translateY(-2px);border-color:var(--color-primary)}
.menu-row{display:flex;gap:12px;align-items:flex-start;padding:12px 14px}.menu-row__fields{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));flex:1}.menu-row label{font-size:.78rem;font-weight:600;display:grid;gap:4px}.menu-row .check{display:flex;align-items:center;gap:6px;align-self:end;padding-bottom:10px}
.editor-grid{display:grid;gap:20px}@media(min-width:1100px){.editor-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start}}
.editor-main,.editor-side{display:grid;gap:16px;min-width:0}.editor-side{align-content:start}
.input-lg{font-size:1.4rem;font-family:var(--font-heading);padding:14px 16px}
.slug-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:.85rem}.slug-row input{flex:1;min-width:160px}
.check{display:flex;gap:8px;align-items:center;margin:6px 0;font-weight:500}fieldset.field{border:0;padding:0}fieldset legend{font-weight:600;font-size:.85rem;margin-bottom:4px}
.tag-input{display:flex;flex-wrap:wrap;gap:6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 8px;background:var(--color-surface)}.tag-input input{border:0!important;box-shadow:none!important;flex:1;min-width:100px;padding:4px}
.tag-input__list{display:contents;list-style:none}.tag-chip{display:inline-flex;align-items:center;gap:4px;background:var(--color-soft);border-radius:999px;padding:2px 4px 2px 10px;font-size:.8rem}.tag-chip button{border:0;background:none;padding:2px 6px;color:var(--color-muted)}
.serp{display:grid;gap:2px;background:#fff;color:#202124;padding:14px 16px;border-radius:10px;border:1px solid var(--color-border);font-family:Arial,sans-serif}.serp__url{font-size:.78rem;color:#4d5156;word-break:break-all}.serp__title{font-size:1.15rem;color:#1a0dab}.serp__desc{font-size:.85rem;color:#4d5156}
.counter{font-size:.75rem;color:var(--color-muted);text-align:right;display:block}.counter.is-over{color:var(--color-danger)}
/* image fields: see the 'Friendly image upload' block at the end of this file */
.color-row{display:flex;gap:10px;align-items:center}.color-row input{width:56px;height:40px;padding:2px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface)}
.theme-preview{margin-top:16px;padding:20px;border-radius:var(--radius);background:var(--pv-bg,#FBF8F3);color:var(--pv-text,#1F1F1F);border:1px solid var(--color-border)}.theme-preview .btn{background:var(--pv-primary,#C9892B);color:#fff}.theme-preview a{color:var(--pv-primary,#C9892B)}
.settings-layout{display:grid;gap:20px}@media(min-width:900px){.settings-layout{grid-template-columns:220px minmax(0,720px);align-items:start}}
.settings-tabs{display:flex;flex-wrap:wrap;gap:4px}@media(min-width:900px){.settings-tabs{flex-direction:column;position:sticky;top:80px}}.settings-tabs a{padding:8px 14px;border-radius:10px;text-decoration:none;font-weight:500}.settings-tabs a.is-active{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-primary);font-weight:700}
.dropzone{border:2px dashed var(--color-border);border-radius:var(--radius);padding:32px;text-align:center;background:var(--color-surface);transition:border-color var(--t),background var(--t);margin-bottom:14px}.dropzone.is-over{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.dropzone p{margin:4px 0}.dropzone .icon{width:32px;height:32px;color:var(--color-primary)}
.upload-progress{height:6px;background:var(--color-border);border-radius:99px;overflow:hidden;margin-bottom:12px}.upload-progress span{display:block;height:100%;width:0;background:var(--color-primary);transition:width .15s}
.media-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));list-style:none}
.media-grid li{position:relative}.media-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.media-picker__item{border:2px solid transparent;border-radius:12px;padding:0;background:none;width:100%;text-align:left}.media-picker__item:hover,.media-picker__item:focus-visible{border-color:var(--color-primary)}
.media-grid--lib{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.media-item{padding:10px;display:grid;gap:8px}.media-item__meta{display:grid;font-size:.82rem}
.media-grid--list{grid-template-columns:1fr}.media-grid--list .media-item{grid-template-columns:96px 1fr auto;align-items:center}.media-grid--list img{width:96px;height:72px}
.modal__head{display:flex;justify-content:space-between;align-items:center}.modal__img{border-radius:12px;margin:10px 0}.media-picker__bar{display:flex;gap:10px;margin:12px 0}.media-picker__bar input{flex:1}
.blocks{display:grid;gap:12px}.block-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg)}.block-card.is-hidden{opacity:.55}
.block-card__head{display:flex;gap:8px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--color-border)}.block-card__head strong{flex:1;font-size:.9rem}.block-card__body{padding:14px;display:grid;gap:10px}
.repeat-item{border:1px dashed var(--color-border);border-radius:10px;padding:10px;display:grid;gap:8px}
.comment-admin{list-style:none;display:grid;gap:10px}.comment-admin li{display:flex;gap:14px;padding:14px 16px}.comment-admin__body{flex:1;min-width:0}.comment-admin p{margin:0 0 6px}.reply-box{margin-top:6px}
.page-map{display:grid;gap:10px;background:var(--color-soft);padding:16px;border-radius:var(--radius);border:1px solid var(--color-border)}
.page-map__hero,.page-map__post,.page-map__article{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:10px;padding:14px;text-align:center;color:var(--color-muted);font-size:.8rem}
.page-map__cols{display:grid;grid-template-columns:1fr 200px;gap:10px}.page-map__main,.page-map__side{display:grid;gap:10px;align-content:start}
.slot-tile{display:grid;gap:2px;background:color-mix(in srgb,var(--color-primary) 14%,var(--color-surface));border:2px solid var(--color-primary);border-radius:10px;padding:8px 12px;text-decoration:none;font-size:.8rem;text-align:center}.slot-tile.is-off{opacity:.45;border-style:dashed}.slot-tile small{color:var(--color-muted)}
.ad-preview{background:var(--color-soft);border-radius:var(--radius-sm);padding:16px;overflow:auto}.ad-preview img{max-width:100%;margin:auto}
kbd{font:inherit;font-size:.7rem;background:rgba(0,0,0,.12);padding:1px 6px;border-radius:4px;margin-left:4px}
.auth-card__brand{display:flex;gap:10px;align-items:center;justify-content:center;color:var(--color-primary)}.auth-card__brand h1{margin:0;font-size:1.5rem}
.auth-card .btn--block{margin-top:6px}
@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.sidebar-nav{position:fixed;z-index:200;left:0;top:0;width:260px;transform:translateX(-100%);transition:transform var(--t)}.admin.sb-open .sidebar-nav{transform:none;box-shadow:var(--shadow-lg)}.sb-collapsed .sb-label{display:inline}.topbar__search{display:none}.menu-row{flex-wrap:wrap}.page-map__cols{grid-template-columns:1fr}}

.bars{list-style:none;display:grid;gap:8px}.bars li{display:grid;grid-template-columns:110px 1fr 56px;gap:10px;align-items:center;font-size:.88rem}.bars__track{height:10px;background:var(--color-soft);border-radius:99px;overflow:hidden}.bars__fill{display:block;height:100%;background:var(--color-primary);border-radius:99px;width:0}.bars__n{text-align:right;color:var(--color-muted)}.bars__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.subnav__right{margin-left:auto}.subnav__right~.subnav__right{margin-left:0}
pre.code{background:#1f1b16;color:#f5ead6;padding:12px 14px;border-radius:10px;overflow-x:auto;font-size:.8rem;margin:6px 0 12px}

/* Show/hide password button */
.pw-wrap{position:relative;display:block}
.pw-wrap input{padding-right:48px}
.pw-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--color-muted);cursor:pointer}
.pw-toggle:hover{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent)}
.pw-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}

/* Photo uploading (assets/js/images.js) */
.image-field{display:grid;gap:8px;justify-items:start;width:100%}
.image-drop{position:relative;display:grid;place-items:center;width:100%;max-width:440px;min-height:136px;border:2px dashed var(--color-border);border-radius:var(--radius);background:var(--color-surface);overflow:hidden;cursor:pointer;transition:border-color var(--t),background var(--t)}
.image-drop:hover,.image-field.is-over .image-drop,.image-field.is-drop-target .image-drop{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface))}
.image-drop:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.image-drop__empty{display:grid;gap:2px;justify-items:center;padding:22px 16px;text-align:center;color:var(--color-muted);font-size:.9rem}
.image-drop__empty .icon{width:32px;height:32px;color:var(--color-primary);margin-bottom:4px}
.image-drop__empty strong{color:var(--color-text);font-size:1rem}
.image-field__preview{display:block;width:100%;height:auto;max-height:260px;object-fit:contain;border:0;border-radius:0;background:color-mix(in srgb,var(--color-text) 4%,var(--color-surface))}
.image-field.has-image .image-drop{border-style:solid}
.image-field.has-image .image-drop__empty{display:none}
.image-field:not(.has-image) .image-field__preview{display:none}
.image-field:not(.has-image) [data-image-browse],.image-field:not(.has-image) [data-media-clear],.image-field:not(.has-image) [data-image-edit]{display:none}
.image-field.is-uploading [data-image-edit],.image-field.is-uploading [data-image-browse]{opacity:.5;pointer-events:none}
.image-field__actions{display:flex;flex-wrap:wrap;gap:8px}
.image-field__error{margin:0;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));color:var(--color-danger);font-size:.88rem;max-width:440px}.image-field__error[hidden]{display:none}
.image-drop__overlay{position:absolute;inset:auto 0 0 0;display:none;gap:6px;padding:12px 14px;text-align:center;background:linear-gradient(transparent,rgba(0,0,0,.62));color:#fff;font-size:.85rem}
.image-drop__overlay .upload-progress{margin:0;background:rgba(255,255,255,.35)}
.image-drop__overlay .link-btn{color:#fff;text-decoration:underline;justify-self:center}
.image-field.is-uploading .image-drop__overlay{display:grid}
.image-field.is-uploading .image-field__preview{opacity:.8}
.image-field.just-added .image-drop{animation:lwf-pop .5s ease}
@keyframes lwf-pop{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--color-success) 55%,transparent)}100%{box-shadow:0 0 0 14px transparent}}
.block-card .image-drop{max-width:100%}
.toast{display:flex;align-items:center;gap:14px}.toast__action{background:none;border:0;color:inherit;font-weight:700;text-decoration:underline;padding:0}
/* page-wide drop veil */
.drop-veil{position:fixed;inset:0;z-index:950;display:grid;place-items:center;background:color-mix(in srgb,var(--color-primary) 22%,rgba(0,0,0,.35));pointer-events:none;backdrop-filter:blur(2px)}
.drop-veil[hidden]{display:none}
.drop-veil__card{display:grid;gap:8px;justify-items:center;padding:28px 36px;border-radius:20px;background:var(--color-surface);box-shadow:var(--shadow-lg);border:2px dashed var(--color-primary);text-align:center;max-width:90vw}
.drop-veil__card .icon{width:40px;height:40px;color:var(--color-primary)}
.is-drop-target{outline:3px solid var(--color-primary);outline-offset:4px;border-radius:var(--radius)}
body.modal-open{overflow:hidden}
/* photo grid (galleries) */
.photo-grid{display:grid;gap:10px;width:100%}.photo-grid.is-over{outline:2px dashed var(--color-primary);outline-offset:4px;border-radius:var(--radius)}
.photo-grid__list{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.photo-tile,.photo-add{position:relative;border-radius:14px;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border)}
.photo-tile__img{aspect-ratio:1/1;background:color-mix(in srgb,var(--color-text) 6%,var(--color-surface))}.photo-tile__img img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0;-webkit-user-drag:none;user-select:none}
.photo-tile.is-ghost{opacity:.35}.photo-tile.is-chosen{box-shadow:var(--shadow-lg)}
.photo-tile{cursor:grab}
.photo-tile__badge{position:absolute;left:8px;top:8px;padding:2px 10px;border-radius:99px;background:var(--color-primary);color:var(--color-primary-ink);font-size:.72rem;font-weight:700;display:none}.photo-tile.is-cover .photo-tile__badge{display:block}
.photo-tile__tools{position:absolute;right:6px;top:6px;display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;opacity:0;transition:opacity .15s}
.photo-tile:hover .photo-tile__tools,.photo-tile:focus-within .photo-tile__tools{opacity:1}
@media(hover:none){.photo-tile__tools{opacity:1}}
.photo-tile__tools button{width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.62);color:#fff;cursor:pointer}.photo-tile__tools button:disabled{opacity:.35;cursor:default}.photo-tile__tools button:hover:not(:disabled){background:rgba(0,0,0,.85)}.photo-tile__tools .icon{width:16px;height:16px}
.photo-tile__alt{width:100%;border:0;border-top:1px solid var(--color-border);border-radius:0;padding:8px 10px;font-size:.82rem;background:transparent}
.photo-tile__veil,.photo-tile__err{position:absolute;inset:0 0 auto 0;aspect-ratio:1/1;display:none;place-content:center;gap:8px;padding:14px;text-align:center;font-size:.82rem}
.photo-tile__veil{background:rgba(255,255,255,.72);color:var(--color-text)}[data-theme=dark] .photo-tile__veil{background:rgba(0,0,0,.6);color:#fff}
.photo-tile__veil .upload-progress{margin:0;width:100%}
.photo-tile__err{background:color-mix(in srgb,var(--color-surface) 92%,var(--color-danger));color:var(--color-danger)}
.photo-tile.is-uploading .photo-tile__veil{display:grid}.photo-tile.is-error .photo-tile__err{display:grid}.photo-tile.is-uploading .photo-tile__tools,.photo-tile.is-error .photo-tile__tools{display:none}
.photo-add{border:2px dashed var(--color-border);background:var(--color-surface);aspect-ratio:1/1;min-height:150px}
.photo-add__btn{width:100%;height:100%;display:grid;place-content:center;justify-items:center;gap:4px;padding:12px;border:0;background:none;color:var(--color-muted);font-size:.8rem;text-align:center;cursor:pointer}
.photo-add__btn .icon{width:30px;height:30px;color:var(--color-primary)}.photo-add__btn strong{color:var(--color-text);font-size:.95rem}
.photo-add:hover{border-color:var(--color-primary)}
.photo-grid__bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
/* library popup */
.dropzone--sm{padding:22px 16px;margin:12px 0 10px;cursor:pointer}
.dropzone--sm:hover,.dropzone--sm:focus-visible,.dropzone--sm.is-over{border-color:var(--color-primary)}
.dropzone .link-btn{color:var(--color-primary);text-decoration:underline;font-weight:600}
.alert[hidden]{display:none}
.media-picker__bar{align-items:center;flex-wrap:wrap}
.picker-sub{font-size:.95rem;margin:0;flex:1 1 220px}
.media-picker__bar input[type=search]{flex:1 1 220px}
.media-empty{grid-column:1/-1;padding:18px 0;text-align:center}
.media-modal{max-height:92vh;display:flex;flex-direction:column}.media-modal .media-grid{overflow:auto;min-height:120px;padding:4px;flex:1}
.media-modal__foot{display:flex;gap:14px;align-items:center;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--color-border);margin-top:10px}.media-modal__foot[hidden]{display:none}.media-modal__foot span{margin-right:auto;font-size:.9rem}
.media-picker__item{position:relative}.media-picker__check{position:absolute;right:6px;top:6px;width:24px;height:24px;border-radius:50%;display:none;place-items:center;background:var(--color-primary);color:var(--color-primary-ink)}.media-picker__check .icon{width:14px;height:14px}
.media-picker__item.is-selected{border-color:var(--color-primary)}.media-picker__item.is-selected .media-picker__check{display:grid}
.media-up{display:grid;gap:4px;font-size:.78rem}.media-up .upload-progress{margin:0}.media-up__img img{opacity:.7}.media-up__err{color:var(--color-danger);display:grid;gap:2px}.media-up__err[hidden]{display:none}
.media-item--up .media-up__img img{opacity:.7}.media-item--up.is-done .media-up__img img{opacity:1}.media-item--up.is-error{outline:2px solid var(--color-danger)}
/* crop editor */
.crop{display:grid;gap:12px;max-height:94vh;overflow:auto}
.crop__stage{position:relative;height:min(52vh,460px);background:#1b1b1b;border-radius:14px;overflow:hidden;touch-action:none;cursor:grab;outline:none}.crop__stage.is-grabbing{cursor:grabbing}
.crop__stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.crop__frame{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px rgba(0,0,0,.55);pointer-events:none;border-radius:2px}
.crop__loading{position:absolute;inset:0;display:grid;place-items:center;color:#fff}
.crop__hint{margin:0;font-size:.85rem}
.crop__ratios{display:flex;gap:8px;flex-wrap:wrap}.crop__ratios .chip{border:0;cursor:pointer}.crop__ratios .chip[aria-pressed=true]{background:var(--color-text);color:var(--color-bg)}
.crop__row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.crop__zoom{display:flex;gap:8px;align-items:center;flex:1 1 160px}.crop__zoom input{flex:1}
.crop__actions{display:flex;gap:10px;justify-content:flex-end}
.crop-modal{z-index:1000}
@media(max-width:640px){.photo-tile__tools button{width:28px;height:28px}.photo-tile__tools{gap:3px}.photo-grid__list{grid-template-columns:repeat(2,1fr)}.crop__stage{height:46vh}.crop__actions .btn{flex:1}.media-modal{max-height:96vh}}

/* Logo in the admin */
.sidebar-nav__brand .sb-logo{display:block;line-height:0}
.sidebar-nav__brand .brand__logo{height:64px;width:auto;display:block}
.sidebar-nav__brand .brand__logo--dark{display:none}
[data-theme=dark] .sidebar-nav__brand .brand__logo--light{display:none}[data-theme=dark] .sidebar-nav__brand .brand__logo--dark{display:block}
[data-theme=dark] .sidebar-nav__brand .brand__logo--solo{background:#FBF8F3;border-radius:10px;padding:3px 8px}
.sidebar-nav__brand .sb-mark{display:none;width:36px;height:36px;border-radius:9px}
.sb-collapsed .sidebar-nav__brand .sb-mark{display:block}
@media(max-width:900px){.sb-collapsed .sidebar-nav__brand .sb-mark{display:none}}
.auth-card__brand{flex-direction:column;gap:2px;padding-top:4px}
.auth-card__brand .auth-logo{height:120px;width:auto;display:block;margin:0 auto}
.auth-card__brand .brand__logo--dark{display:none}
