.admin-photos-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:24px; }
.admin-photos-summary .card { display:grid; gap:4px; min-height:100px; padding:20px; }
.admin-photos-summary span { color:var(--muted); font-size:12px; }
.admin-photos-summary strong { font-size:28px; line-height:1.1; letter-spacing:-.05em; }
.admin-photos-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:18px; }
.admin-photos-toolbar > span { color:var(--muted); font-size:12px; white-space:nowrap; }
.admin-photos-filters { display:flex; flex-wrap:wrap; gap:7px; }
.admin-photos-filters button { min-height:38px; padding:0 13px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--muted); cursor:pointer; font:700 12px Manrope,sans-serif; }
.admin-photos-filters button:hover { border-color:var(--line-strong); color:var(--text); }
.admin-photos-filters button.active { border-color:rgba(124,140,255,.5); background:var(--accent-soft); color:var(--accent-bright); }
.admin-photos-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.admin-photos-empty { grid-column:1/-1; padding:58px 20px; border:1px dashed var(--line-strong); border-radius:var(--radius-lg); color:var(--muted); text-align:center; }
.admin-photo-card { min-width:0; overflow:hidden; }
.admin-photo-image { display:grid; place-items:center; aspect-ratio:4/3; overflow:hidden; background:var(--canvas-soft); }
.admin-photo-image img { display:block; width:100%; height:100%; object-fit:cover; }
.admin-photo-error { padding:20px; color:var(--muted); font-size:12px; }
.admin-photo-content { padding:18px; }
.admin-photo-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.admin-photo-top time { color:var(--muted); font-size:11px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.admin-photo-badge { padding:6px 10px; border-radius:999px; background:var(--accent-soft); color:var(--accent-bright); font-size:11px; font-weight:800; }
.admin-photo-badge.published { background:var(--positive-soft); color:var(--positive); }
.admin-photo-badge.sold { background:rgba(245,184,90,.12); color:var(--warning); }
.admin-photo-content h3 { margin:16px 0 5px; overflow-wrap:anywhere; font-size:15px; line-height:1.35; }
.admin-photo-description { min-height:38px; margin:0 0 10px; color:var(--text-soft); font-size:12px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.admin-photo-description.muted,.admin-photo-meta { color:var(--muted); }
.admin-photo-meta { font-size:11px; line-height:1.45; }
.admin-photo-statuses { display:flex; flex-wrap:wrap; gap:6px; margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }
.admin-photo-statuses button { min-height:32px; padding:0 9px; border:1px solid var(--line); border-radius:8px; background:var(--surface-raised); color:var(--text-soft); cursor:pointer; font-size:11px; font-weight:700; }
.admin-photo-statuses button:hover { border-color:var(--accent); }
.admin-photo-statuses button.selected { border-color:rgba(124,140,255,.48); background:var(--accent-soft); color:var(--accent-bright); cursor:default; }
.admin-photo-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; }
.admin-photo-actions .button { min-height:35px; font-size:11px; }
.admin-photo-actions .admin-photo-remove { color:var(--danger); }
.admin-photo-dialog { width:min(440px,calc(100vw - 28px)); max-height:calc(100dvh - 32px); overflow:auto; padding:25px; border:1px solid var(--line-strong); border-radius:var(--radius-lg); background:var(--surface); color:var(--text); box-shadow:0 30px 100px #0009; }
.admin-photo-dialog::backdrop { background:rgba(3,5,9,.76); backdrop-filter:blur(8px); }
.admin-photo-dialog h2 { margin:0 0 7px; font-size:22px; }
.admin-photo-dialog p { color:var(--muted); font-size:13px; }
.admin-photo-dialog label { display:grid; gap:7px; margin-top:15px; color:var(--text-soft); font-size:12px; font-weight:700; }
.admin-photo-dialog input,.admin-photo-dialog textarea { width:100%; padding:12px; border:1px solid var(--line-strong); border-radius:10px; background:var(--canvas-soft); color:var(--text); font:inherit; }
.admin-photo-dialog textarea { min-height:105px; resize:vertical; }
.admin-photo-dialog-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; margin-top:23px; }
.admin-photo-dialog-actions .button { min-height:40px; }
@media(max-width:1100px){.admin-photos-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.admin-photos-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-photos-summary .card{min-height:82px;padding:15px}.admin-photos-summary strong{font-size:24px}.admin-photos-toolbar{align-items:flex-start;flex-direction:column}.admin-photos-gallery{grid-template-columns:1fr}.admin-photo-content{padding:16px}.admin-photo-dialog-actions{flex-direction:column-reverse}.admin-photo-dialog-actions .button{width:100%}}
