:root { color-scheme:light; font-family:system-ui,sans-serif; background:#f7f5f0; color:#34382f; }
* { box-sizing:border-box; }
body { margin:0; }
[hidden] { display:none!important; }
a { color:inherit; text-underline-offset:4px; }
.admin-shell { max-width:1180px; margin:auto; padding:30px 28px 80px; }
header { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:13px; padding-bottom:35px; border-bottom:1px solid #ddd7cc; }
h1 { font:400 clamp(32px,4vw,46px)/1.15 Georgia,serif; margin:0 0 16px; }
p { line-height:1.6; color:#706d63; }
.login-panel { max-width:420px; margin:80px auto 25px; }
label { display:block; font-size:14px; }
input:not([type=checkbox]) { display:block; width:100%; padding:13px; margin:8px 0 24px; font:inherit; border:1px solid #bab4a8; border-radius:3px; background:#fff; }
button,select { font:inherit; padding:11px 17px; border:1px solid #4a5146; border-radius:3px; background:#4a5146; color:white; cursor:pointer; }
button.secondary,select { background:transparent; color:inherit; border-color:#c6c0b4; }
button:disabled { opacity:.5; cursor:wait; }
button:hover { filter:brightness(.94); }
:focus-visible { outline:2px solid #60734f; outline-offset:4px; }
#admin-status { margin:25px auto; line-height:1.6; }
#admin-status.error { color:#8a352c; }
.admin-heading { margin:45px 0 24px; }
.admin-heading h1 { margin:0; }
.settings { margin-top:40px; padding:24px; background:#eeece3; border:1px solid #d7d1c7; border-radius:4px; }
.settings label { display:flex; gap:10px; align-items:center; font-size:16px; }
.settings input { width:19px; height:19px; accent-color:#4a5146; }
.settings p { font-size:14px; margin:12px 0 0 32px; max-width:650px; }
#settings-status { display:block; margin-left:32px; font-size:13px; }
.toolbar { display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin:32px 0 22px; }
#photo-count { font-size:13px; color:#797268; margin-left:auto; }
.admin-photos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.photo-card { min-width:0; background:white; border:1px solid #e2ddd3; border-radius:4px; overflow:hidden; }
.photo-card a { display:block; background:#e9e5dd; }
.photo-card img { width:100%; height:240px; object-fit:contain; display:block; }
.photo-details { padding:16px; }
.photo-details p { margin:0 0 14px; font-size:12px; }
.photo-details strong { display:block; font-size:14px; margin-bottom:8px; }
.photo-actions { display:flex; gap:8px; flex-wrap:wrap; }
.photo-actions button { padding:9px 12px; font-size:13px; }
.empty-state { grid-column:1/-1; padding:45px; text-align:center; border:1px dashed #ccc5b8; }
@media(max-width:750px) { .admin-photos { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-shell { padding:24px 18px 60px; } }
@media(max-width:480px) { .admin-photos { grid-template-columns:1fr; } .login-panel { margin-top:45px; } }
