.admin-page,.recipe-page{min-height:100vh;background:var(--paper)}
.admin-shell,.recipe-detail{max-width:1200px;margin:auto;padding:clamp(2rem,6vw,6rem) clamp(1rem,5vw,4rem)}
.admin-top,.detail-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:3rem}
.admin-top a,.detail-top a{font-weight:900;text-transform:uppercase;text-decoration:none;font-size:.75rem;letter-spacing:.08em}
.admin-title,.detail-title{font-family:var(--display);font-size:clamp(3.6rem,9vw,8rem);line-height:.86;text-transform:uppercase;margin:.4rem 0 1.5rem}
.admin-panel{background:#fff;border:1px solid var(--ink);padding:clamp(1.2rem,4vw,3rem);margin:2rem 0}
.admin-panel-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.admin-panel-head h2{margin:0}
.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.admin-form label{display:grid;gap:.45rem;font-size:.75rem;text-transform:uppercase;font-weight:900;letter-spacing:.08em}
.admin-form .wide,.admin-form .admin-actions{grid-column:1/-1}
.admin-form textarea{min-height:120px}
.admin-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.admin-message{padding:1rem;background:var(--cream);border-left:5px solid var(--red)}
.admin-message.error{border-color:#8e1b12}
.admin-list{display:grid;gap:1px;background:var(--ink);border:1px solid var(--ink)}
.admin-row{display:grid;grid-template-columns:90px 1fr auto;gap:1.2rem;align-items:center;background:var(--paper);padding:1rem}
.admin-row img{width:90px;height:70px;object-fit:cover;background:var(--cream)}
.admin-row h2{font-size:1.2rem;margin:0}.admin-row p{margin:.25rem 0 0}
.admin-row-actions{display:flex;gap:.5rem;align-items:center}.admin-row-actions form{margin:0}
.small-button{border:1px solid var(--ink);background:transparent;padding:.65rem .8rem;color:inherit;text-decoration:none;font-weight:900;text-transform:uppercase;font-size:.68rem;cursor:pointer}
.small-button.danger{background:var(--ink);color:#fff}
.crop-field{display:grid;gap:.65rem;align-content:start}.crop-preview{aspect-ratio:4/3;position:relative;overflow:hidden;background:var(--cream);border:2px solid var(--ink);cursor:crosshair;touch-action:none}.crop-preview img{width:100%;height:100%;object-fit:cover}.crop-preview span{position:absolute;inset:auto 0 0;background:rgba(20,20,18,.82);color:#fff;padding:.55rem .7rem;font-size:.68rem;line-height:1.35;text-transform:none;letter-spacing:0;font-weight:700;pointer-events:none}.crop-preview img:not([hidden])+span{opacity:0;transition:opacity .2s}.crop-preview:hover span,.crop-preview:focus span{opacity:1}.crop-preview::after{content:"";position:absolute;width:18px;height:18px;border:2px solid #fff;border-radius:50%;left:var(--focus-x,50%);top:var(--focus-y,50%);transform:translate(-50%,-50%);box-shadow:0 0 0 2px var(--red);pointer-events:none}.crop-preview:has(img[hidden])::after{display:none}
.detail-header{max-width:850px;margin-bottom:4rem}.detail-lead{font-size:clamp(1.15rem,2vw,1.45rem);max-width:62ch}
.detail-images{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:3rem 0 5rem}
.detail-image{margin:0;background:#fff;border:1px solid var(--line);padding:1rem}
.detail-image img{width:100%;height:min(72vh,850px);object-fit:contain}
.detail-image figcaption{text-transform:uppercase;font-weight:900;font-size:.72rem;letter-spacing:.1em;margin-top:.8rem}
.detail-description{max-width:780px;font-size:1.08rem;margin:0 auto 6rem}
.recipe-neighbors{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,3vw,2rem);margin-top:4rem}.recipe-neighbor-label{text-transform:uppercase;font-size:.72rem;letter-spacing:.12em;font-weight:900;margin:0 0 .7rem}.recipe-neighbor-slot .recipe-card{height:calc(100% - 2rem)}.recipe-neighbor-slot .recipe-card-link{height:100%}
@media(max-width:700px){.admin-form,.detail-images,.recipe-neighbors{grid-template-columns:1fr}.admin-row{grid-template-columns:70px 1fr}.admin-row img{width:70px;height:60px}.admin-row-actions{grid-column:1/-1}.admin-panel-head{align-items:flex-start;flex-direction:column}}
