.admin-body { min-height: 100vh; background: #f1eadb; }
.admin-header { min-height: 68px; display: flex; align-items: center; justify-content: space-between; padding: 1rem clamp(1rem,4vw,3rem); color: #fff; background: #120b17; }
.admin-brand { color: #d8bd76; font: 600 1.2rem "Cinzel",serif; text-decoration: none; }
.admin-brand span { color: #fff; font-family: "Crimson Text",serif; }
.admin-brand small { margin-left: .7rem; color: #afa3b0; font: .7rem "Cinzel",serif; letter-spacing: .14em; text-transform: uppercase; }
.admin-header nav { display: flex; gap: 1.4rem; }
.admin-header nav a { color: #ddd3de; font: .68rem "Cinzel",serif; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.admin-main { width: min(1400px, calc(100% - 2rem)); min-height: calc(100vh - 130px); margin: 0 auto; padding: 3rem 0 6rem; }
.admin-flash { width: min(900px,calc(100% - 2rem)); margin: 1rem auto -1rem; padding: .9rem; border-left: 4px solid #4d1769; background: #fff; }
.admin-flash.error { border-color: #a83744; }
.login-card { width: min(480px,100%); margin: 4vh auto; padding: 3rem; border: 1px solid #b89045; box-shadow: 0 18px 50px rgba(14,7,18,.15); background: #f9f3e6; }
.login-card h1 { margin: 0; font: 600 2rem "Cinzel",serif; }
.login-card label, .admin-form label { display: block; margin: 1rem 0; font: 600 .75rem "Cinzel",serif; letter-spacing: .05em; }
.field-note { display: block; margin-top: -.7rem; color: #716673; }
.form-actions { display: flex; align-items: center; gap: 1rem; margin-top: 1.5rem; }
.form-actions a { color: #4d1769; }
.admin-error { padding: .7rem; color: #852c38; background: #f7dfe0; }
.admin-title-row, .panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.admin-title-row h1 { margin: 0; font: 600 clamp(2rem,4vw,3.2rem) "Cinzel",serif; }
.admin-button { color: #fff; background: #4d1769; }
.stat-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); gap: 1rem; margin: 2.5rem 0; }
.stat-grid article { padding: 1.4rem; border: 1px solid #d0bea0; background: #fbf7ed; }
.stat-grid strong { display: block; color: #4d1769; font: 600 2.3rem "Cinzel",serif; }
.stat-grid span { color: #665969; font-size: .95rem; }
.admin-tabs { position: sticky; top: 0; z-index: 4; display: flex; gap: .3rem; overflow-x: auto; padding: .5rem; background: #120b17; }
.admin-tabs a { padding: .7rem 1rem; color: #e8deea; white-space: nowrap; font: .65rem "Cinzel",serif; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.admin-panel { scroll-margin-top: 70px; margin: 2rem 0; padding: clamp(1.2rem,3vw,2.2rem); border: 1px solid #d6c6aa; background: rgba(255,255,255,.65); }
.panel-heading { margin-bottom: 1.4rem; border-bottom: 1px solid #ded0b8; }
.panel-heading h2 { margin: 0 0 1rem; font: 600 1.8rem "Cinzel",serif; }
.panel-heading p { color: #675b68; }
.photo-admin-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.2rem; }
.photo-admin-card { overflow: hidden; border: 1px solid #d2c1a4; background: #fff; }
.photo-admin-card > img { width: 100%; aspect-ratio: 4/3; object-fit: cover; background: #ddd; }
.photo-meta { padding: 1rem; }
.photo-meta h3 { margin: .5rem 0 0; font: 600 1rem "Cinzel",serif; }
.photo-meta p { margin: .2rem 0 .7rem; }
.photo-meta details { color: #615563; font-size: .88rem; }
.photo-meta dl { display: grid; grid-template-columns: 90px 1fr; word-break: break-word; }
.photo-meta dt { font-weight: 600; }
.photo-meta dd { margin: 0 0 .4rem; }
.status { display: inline-block; padding: .25rem .5rem; border-radius: 2px; font: 600 .58rem "Cinzel",serif; letter-spacing: .08em; text-transform: uppercase; }
.status-pending { color: #684a0c; background: #f1dfaa; }
.status-approved { color: #2d5d37; background: #d5ead5; }
.status-rejected { color: #7f3039; background: #f1d8da; }
.inline-actions { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .8rem; }
.small-button { padding: .45rem .65rem; cursor: pointer; border: 1px solid #aaa; background: #f5f1e8; font: 600 .58rem "Cinzel",serif; letter-spacing: .05em; text-transform: uppercase; }
.small-button.approve { color: #fff; border-color: #376643; background: #376643; }
.small-button.danger { color: #8a2835; border-color: #be8a91; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: .95rem; }
th { color: #4d1769; font: 600 .65rem "Cinzel",serif; letter-spacing: .07em; text-align: left; text-transform: uppercase; }
th, td { min-width: 120px; padding: .85rem; border-bottom: 1px solid #ddd0bb; vertical-align: top; }
.admin-form { max-width: 900px; }
.admin-form input, .admin-form textarea { background: #fffdf8; }
.compact-form { display: grid; grid-template-columns: 1fr 2fr 90px auto; gap: 1rem; align-items: end; max-width: none; }
.compact-form label { margin: 0; }
.menu-form { grid-template-columns: 1fr 1.3fr 2fr 80px auto; }
.managed-list { margin: 2rem 0 0; padding: 0; list-style: none; }
.managed-list li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem; border-top: 1px solid #d8cab2; }
.managed-list strong, .managed-list small { display: block; word-break: break-word; }
.managed-list small { color: #716673; }
.empty-state { padding: 2rem; text-align: center; color: #716673; }
.admin-footer { padding: 1.5rem; color: #a99ead; background: #120b17; text-align: center; font-size: .85rem; }
@media(max-width:950px) { .stat-grid { grid-template-columns: repeat(2,1fr); } .photo-admin-grid { grid-template-columns: repeat(2,1fr); } .compact-form,.menu-form { grid-template-columns: 1fr 1fr; } }
@media(max-width:600px) { .admin-title-row,.panel-heading { align-items: flex-start; flex-direction: column; } .stat-grid,.photo-admin-grid,.compact-form,.menu-form { grid-template-columns: 1fr; } .admin-header { align-items: flex-start; } .admin-header nav { flex-direction: column; gap: .5rem; } .login-card { padding: 1.5rem; } }
