:root{--gold:#b89b65}body{font-family:system-ui,sans-serif;font-weight:400}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 5%;border-bottom:1px solid var(--line);gap:1rem}.admin-header nav{display:flex;align-items:center;gap:1.5rem;font-size:.8rem}.admin-header form{margin:0}.admin-header button{color:var(--ivory);border:1px solid var(--line);padding:.5rem 1rem;background:none;cursor:pointer}.admin-main{width:min(1200px,90%);margin:4rem auto 6rem}.admin-main h1{font-size:clamp(2.5rem,6vw,5rem);max-width:20ch;margin-bottom:2rem}.admin-main h2{font-size:2rem;margin-bottom:1.5rem}.auth-panel{max-width:520px}.auth-panel>p,.muted{color:var(--ivory-dim);font-size:.9rem}.admin-form{display:grid;gap:1.5rem;margin-top:2rem}.admin-form label{display:grid;gap:.6rem;font-size:.78rem;color:var(--ivory-dim)}.admin-form input,.admin-form textarea,.admin-form select{width:100%;background:#1b1b1b;color:var(--ivory);border:1px solid #444;padding:.9rem 1rem;font:inherit;font-size:.95rem;border-radius:4px}.admin-form input:focus,.admin-form textarea:focus{outline:2px solid var(--gold);outline-offset:2px}.admin-form textarea{resize:vertical;min-height:110px}.admin-form small{font-size:.7rem;line-height:1.7;color:var(--ivory-dim)}.admin-form .checkbox{display:flex;align-items:center;gap:.7rem}.checkbox input{width:18px;height:18px;accent-color:var(--gold)}.admin-form fieldset{border:1px solid var(--line);padding:1.5rem;display:grid;gap:1.3rem;min-width:0}.admin-form legend{color:var(--gold);font-size:.8rem;padding:0 .5rem}.admin-form .btn,.dashboard-top .btn{background:var(--gold);color:#111;width:fit-content;text-decoration:none;font-weight:600}.admin-form .btn:hover,.dashboard-top .btn:hover{background:var(--ivory)}.notice{padding:1rem 1.2rem;border:1px solid #b89b6566;background:#b89b6511;line-height:1.7}.notice.error{border-color:#bf7777;color:#f1b8b8}.dashboard-top{display:flex;align-items:center;justify-content:space-between;gap:2rem}.dashboard-top p{color:var(--ivory-dim)}.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin:3rem 0}.dashboard-stats>div{padding:2rem;border-right:1px solid var(--line)}.dashboard-stats strong{display:block;font-size:2.7rem;color:var(--gold);font-weight:300}.dashboard-stats span{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em}.admin-section{margin-top:4rem}.admin-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.admin-project{padding:2rem;background:#1a1a1a;border:1px solid var(--line);transition:border-color .3s}.admin-project:hover{border-color:var(--gold)}.admin-project h3{font-size:2rem;margin:1.5rem 0 .8rem}.admin-project p{font-size:.8rem;color:var(--ivory-dim)}.admin-project>span:last-child{font-size:.75rem;color:var(--gold)}.project-state{font-size:.6rem;text-transform:uppercase;border:1px solid #666;padding:.4rem .6rem}.project-state.published{color:var(--gold);border-color:#b89b6577}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.admin-form .full{grid-column:1/-1}.admin-form .preview{width:220px;max-height:180px;object-fit:cover}.save-bar{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.save-bar a{color:var(--gold);font-size:.8rem}.enquiry-record{border-top:1px solid var(--line);padding:1rem 0}.enquiry-record summary{display:flex;gap:2rem;justify-content:space-between;cursor:pointer;font-size:.85rem}.enquiry-record time{font-size:.7rem;color:var(--ivory-dim)}.enquiry-record>p{margin:1rem 0;color:var(--ivory-dim);overflow-wrap:anywhere}.message-body{max-width:60rem;font-size:.9rem}.admin-main a:focus-visible,.admin-main button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}@media(max-width:750px){.admin-projects{grid-template-columns:1fr 1fr}.dashboard-top{align-items:start;flex-direction:column}.dashboard-stats>div{padding:1rem}.dashboard-stats strong{font-size:2rem}.form-grid{grid-template-columns:1fr}.admin-header .logo-sub{display:none}.admin-form fieldset{padding:1rem}}@media(max-width:480px){.admin-projects{grid-template-columns:1fr}.enquiry-record summary{gap:.6rem}.enquiry-record time{font-size:.6rem}}
