:root{--brand:#006400;--cream:#ECE7CA;--paper:#fff;--ink:#111;--accent:#EF8B2C;--font:Inter,Arial,sans-serif}.admin-body{background:#f6f7f2;color:#18201a}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:#004c12;color:white;z-index:50;display:flex;flex-direction:column}.admin-brand{display:flex;align-items:center;gap:.8rem;padding:1.2rem 1rem;border-bottom:1px solid rgba(255,255,255,.12)}.admin-brand span{width:44px;height:44px;border-radius:50%;background:var(--cream);color:var(--brand);display:grid;place-items:center;font-weight:900}.admin-brand b{font-size:1rem}.admin-sidebar nav{padding:.8rem;overflow:auto;flex:1}.admin-sidebar nav a{display:flex;align-items:center;gap:.8rem;padding:.62rem .8rem;border-radius:.65rem;margin:.1rem 0;font-size:.82rem;font-weight:700;color:rgba(255,255,255,.78)}.admin-sidebar nav a span{width:1.6rem;text-align:center}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{color:white;background:rgba(255,255,255,.12);text-decoration:none}.admin-user{padding:1rem;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem}.admin-user a,.admin-user button{display:block;background:transparent;border:0;color:white;padding:.25rem 0}.admin-top{position:fixed;z-index:40;left:260px;right:0;top:0;height:76px;background:rgba(255,255,255,.95);border-bottom:1px solid #e4e8e0;display:flex;align-items:center;padding:0 2rem;backdrop-filter:blur(10px)}.admin-top>div{margin-right:auto}.admin-top small,.admin-top b{display:block}.admin-top small{color:#6a746d;font-size:.68rem}.admin-top b{color:var(--brand)}.preview-link{color:var(--brand);font-size:.8rem;font-weight:800;padding:.7rem 1rem;border:1px solid #d8e3d8;border-radius:99rem}.admin-menu{display:none}.admin-main{margin-left:260px;padding:110px clamp(1rem,4vw,3.5rem) 5rem;max-width:1600px}.admin-heading{display:flex;justify-content:space-between;gap:2rem;align-items:flex-end;margin-bottom:2rem}.admin-heading h1{font-size:clamp(2.2rem,4vw,4rem);margin-bottom:.3rem}.admin-heading p{color:#5f6a63;max-width:680px}.back-link{font-size:.8rem;color:var(--brand);font-weight:800}.admin-alert{background:#dff2df;color:#174d1b;border-left:4px solid var(--brand);padding:1rem;border-radius:.6rem;margin-bottom:1.5rem}.metric-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.8rem;margin-bottom:1.5rem}.metric-grid a{background:white;border:1px solid #e3e8df;border-radius:1rem;padding:1.2rem}.metric-grid span{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:.6rem;background:var(--cream);color:var(--brand)}.metric-grid strong{display:block;font-size:2rem;color:var(--brand);margin-top:1rem}.metric-grid small{color:#687269}.admin-grid{display:grid;grid-template-columns:1.5fr .5fr;gap:1rem}.admin-panel{background:white;border:1px solid #e4e8e0;border-radius:1.2rem;padding:clamp(1.2rem,3vw,2rem);margin-bottom:1rem}.admin-panel h2{font-size:1.45rem}.panel-head{display:flex;justify-content:space-between}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.quick-grid a{padding:1.2rem;border:1px solid #e3e8df;border-radius:.9rem}.quick-grid a:hover{border-color:var(--brand);text-decoration:none}.quick-grid span{font-size:1.4rem;color:var(--brand)}.quick-grid b,.quick-grid small{display:block}.quick-grid small{color:#687269}.checklist label{display:block;padding:.7rem 0;border-bottom:1px solid #edf0eb}.record-table{background:white;border:1px solid #e4e8e0;border-radius:1.2rem;overflow:hidden}.record-table>div,.record-table>a{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.3rem;border-bottom:1px solid #edf0eb}.record-table>div:last-child,.record-table>a:last-child{border-bottom:0}.record-table>a:hover{background:#f8faf6;text-decoration:none}.record-table b,.record-table small{display:block}.record-table small{color:#6c746f}.row-actions{display:flex;gap:.5rem;align-items:center}.row-actions a,.row-actions button{border:0;background:#eef5ed;color:var(--brand);border-radius:.5rem;padding:.45rem .7rem;font-size:.75rem;font-weight:700}.row-actions button{color:#8c251b;background:#fff0ed}.row-actions form{margin:0}.empty-admin{padding:3rem!important;text-align:center!important;display:block!important}.page-selector{background:white;padding:1rem;border-radius:1rem;margin-bottom:1rem}.page-selector label{display:flex;align-items:center;gap:1rem;font-weight:700}.page-selector select{flex:1;padding:.7rem;border:1px solid #dbe2d9;border-radius:.6rem}.admin-form{display:grid;gap:.2rem}.admin-form.narrow{max-width:640px}.admin-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.admin-form label{display:block;font-weight:700;color:#204328;font-size:.82rem}.admin-form label>small{display:block;font-weight:400;color:#687269}.admin-form input,.admin-form textarea,.admin-form select{width:100%;border:1px solid #cfd8cd;border-radius:.65rem;padding:.72rem;background:white;margin-top:.3rem;color:#111}.admin-form textarea{resize:vertical}.admin-form label.full{grid-column:1/-1}.admin-form .check{display:flex;align-items:center;gap:.5rem;background:#f4f7f2;padding:.8rem;border-radius:.6rem}.admin-form .check input{width:auto;margin:0}.sticky-save{position:sticky;bottom:1rem;z-index:20;display:flex;justify-content:space-between;align-items:center;background:#003f12;color:white;padding:.8rem 1rem .8rem 1.3rem;border-radius:1rem;box-shadow:0 14px 40px rgba(0,50,0,.25)}.rich-toolbar{display:flex;gap:.25rem;background:#eef3eb;border:1px solid #d5ded2;padding:.35rem;border-radius:.5rem .5rem 0 0;margin-top:.35rem}.rich-toolbar button{border:0;background:white;border-radius:.35rem;padding:.35rem .55rem}.rich-editor{margin-top:0!important;border-radius:0 0 .65rem .65rem!important}.wysiwyg{min-height:220px;padding:1rem;border:1px solid #cfd8cd;border-radius:0 0 .65rem .65rem;background:white;color:#111;font-size:.9rem;font-weight:400;overflow:auto}.image-editor{border:0;padding:0;display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:2rem}.image-editor legend{font-size:1rem;font-weight:800;color:var(--brand);margin-bottom:1rem}.image-preview{position:relative;aspect-ratio:4/3;background:var(--cream);overflow:hidden;border:var(--border,0) solid var(--border-color,var(--brand));border-radius:var(--curve,1rem);align-self:start}.image-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--fx,50%) var(--fy,50%);transform:scale(var(--zoom,1))}.image-preview>span{position:absolute;inset:0;display:grid;place-items:center;color:var(--brand);font-weight:800}.image-preview.shape-angled,.shape-thumb.shape-angled{clip-path:polygon(12% 0,100% 0,100% 82%,84% 100%,0 92%,0 14%)}.image-preview.shape-arch,.shape-thumb.shape-arch{border-radius:48% 48% 18% 18%/34% 34% 12% 12%}.image-preview.shape-rounded-top,.shape-thumb.shape-rounded-top{border-radius:48% 48% 0 0/25% 25% 0 0}.image-preview.shape-bubble,.shape-thumb.shape-bubble{clip-path:polygon(0 0,100% 0,100% 82%,70% 82%,58% 100%,52% 82%,0 82%);border-radius:1rem}.image-preview.shape-blob,.shape-thumb.shape-blob{border-radius:44% 56% 61% 39%/38% 43% 57% 62%}.image-preview.shape-circle,.shape-thumb.shape-circle{border-radius:50%;aspect-ratio:1}.image-preview.shape-oval,.shape-thumb.shape-oval{border-radius:50%/38%}.image-preview.shape-curved-panel,.shape-thumb.shape-curved-panel{border-radius:62% 0 0 0/48% 0 0 0}.focal-point{position:absolute;width:1.2rem;height:1.2rem;border:2px solid white;border-radius:50%;background:var(--accent);left:var(--fx,50%);top:var(--fy,50%);transform:translate(-50%,-50%);box-shadow:0 0 0 2px var(--brand)}.shape-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:.55rem;margin:1rem 0}.shape-picker label{text-align:center;font-size:.62rem}.shape-picker input{position:absolute;opacity:0}.shape-picker input:focus-visible+.shape-thumb{outline:3px solid var(--accent)}.shape-picker input:checked+.shape-thumb{box-shadow:0 0 0 3px var(--brand)}.shape-thumb{display:block;height:54px;background:linear-gradient(135deg,var(--cream),#a7ca9c);border-radius:.6rem;margin-bottom:.25rem}.range-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.range-grid input[type=range]{padding:0}.image-actions{display:flex;gap:.5rem;margin-top:1rem}.image-actions button{border:1px solid #d5ded2;background:#f4f7f2;color:var(--brand);border-radius:.5rem;padding:.55rem}.face-message{font-size:.75rem;color:#59645c}.colour-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;margin:1rem 0}.colour-grid label{border:1px solid #e0e5dd;border-radius:.8rem;padding:.7rem}.colour-grid label>span{display:block;height:72px;border-radius:.5rem;margin-bottom:.5rem;border:1px solid #ddd}.colour-grid input[type=color]{height:38px;padding:2px}.theme-preview{margin-top:2rem;padding:2rem;border-radius:1.2rem;background:var(--cream);color:var(--ink)}.theme-preview h3{font-size:2rem;color:var(--brand)}.theme-preview button{border:0;border-radius:99rem;background:var(--brand);color:white;padding:.7rem 1rem;font-weight:800}.pin-editor{max-width:720px;margin:1.5rem auto;background:linear-gradient(145deg,#f7f4e5,var(--cream));border-radius:1.5rem;min-height:540px}.reference-pin{position:absolute;transform:translate(-50%,-50%);font-size:.62rem;padding:.2rem .45rem;border-radius:.4rem;background:rgba(255,255,255,.65);color:#36513a}.reference-pin.published{color:var(--brand);font-weight:800}.editable-pin{position:absolute;transform:translate(-50%,-100%);border:0;background:transparent;z-index:8}.editable-pin span{width:1.7rem;height:1.7rem}.coordinates{text-align:center}.overview-pin{position:absolute;transform:translate(-50%,-100%);z-index:5}.overview-pin small{position:absolute;left:1rem;white-space:nowrap;background:white;border-radius:.4rem;padding:.15rem .35rem;color:var(--brand)}.overview-pin.draft span{background:var(--cream);border-color:var(--brand)}.enquiries-table details{border-bottom:1px solid #edf0eb}.enquiries-table summary{display:flex;justify-content:space-between;padding:1rem 1.3rem;cursor:pointer}.enquiries-table summary b,.enquiries-table summary small{display:block}.enquiries-table details>div{padding:0 1.3rem 1.3rem}.enquiries-table form{display:flex;align-items:end;gap:.8rem}.enquiries-table select{padding:.6rem}.status{border-radius:99rem;padding:.35rem .7rem;font-size:.68rem;font-weight:800}.status-new{background:#fff0c9;color:#775600}.status-in-progress{background:#dceaff;color:#174c8c}.status-resolved{background:#dcf3df;color:#176426}.login-page{min-height:100vh;background:var(--brand);display:grid;place-items:center;padding:1rem}.login-page main{width:min(1000px,100%);display:grid;grid-template-columns:1fr 1fr;background:white;border-radius:1.5rem;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.25)}.login-card{padding:clamp(2rem,5vw,4rem)}.login-card h1{font-size:2.8rem}.login-card form{display:grid;gap:1rem}.login-card label{color:var(--brand);font-size:.82rem;font-weight:800}.login-card input{width:100%;padding:.8rem;border:1px solid #ccd8ca;border-radius:.7rem;margin-top:.3rem}.login-card>a{display:block;margin-top:1rem;color:var(--brand);font-size:.8rem}.login-mark{width:65px;height:65px;display:grid;place-items:center;border-radius:50%;background:var(--cream);color:var(--brand);font-weight:900;margin-bottom:2rem}.login-error{background:#fff0ed;color:#93281c;padding:.8rem;border-radius:.5rem}.login-page aside{background:linear-gradient(140deg,#007224,#003e14);color:white;padding:4rem;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden}.login-page aside:before{content:"";position:absolute;width:350px;height:350px;border:70px solid rgba(255,255,255,.06);border-radius:50%;right:-150px;top:-100px}.login-page aside h2{color:white;font-size:3rem}.login-page aside span{color:var(--cream);text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:800}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(3,1fr)}.admin-grid{grid-template-columns:1fr}.shape-picker{grid-template-columns:repeat(4,1fr)}.colour-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:780px){.admin-sidebar{transform:translateX(-100%);transition:.25s}.admin-sidebar.open{transform:none}.admin-top{left:0;padding:0 1rem}.admin-menu{display:block;border:0;background:transparent;font-size:1.5rem;margin-right:.7rem}.admin-main{margin-left:0;padding:96px 1rem 4rem}.admin-heading{display:block}.admin-heading>.btn,.admin-heading>.preview-link{margin-top:1rem}.metric-grid{grid-template-columns:1fr 1fr}.quick-grid,.admin-form .form-grid{grid-template-columns:1fr}.admin-form label.full{grid-column:auto}.image-editor{grid-template-columns:1fr}.shape-picker{grid-template-columns:repeat(3,1fr)}.colour-grid{grid-template-columns:1fr 1fr}.login-page main{grid-template-columns:1fr}.login-page aside{display:none}.record-table>div,.record-table>a{align-items:flex-start;gap:.6rem}.row-actions{display:block}.row-actions a,.row-actions form{display:inline-block}.sticky-save span{display:none}.pin-editor{min-height:400px}.preview-link{padding:.5rem}.admin-top small{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.page-items-form{margin-top:1rem}.repeatable-items{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.repeatable-items fieldset{border:1px solid #dfe6dc;border-radius:.8rem;padding:1rem}.repeatable-items legend{color:var(--brand);font-weight:800}.repeatable-items label{margin-bottom:.7rem}.repeatable-items .full{grid-column:auto!important}@media(max-width:780px){.repeatable-items{grid-template-columns:1fr}}
.shape-picker label{position:relative}.shape-picker input{inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.profile-add-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.profile-add-actions .btn{min-height:2.7rem;padding:.55rem .8rem;font-size:.72rem}.profile-admin-group{padding:0;overflow:hidden}.profile-admin-group .panel-head{padding:1.25rem 1.4rem;align-items:center;border-bottom:1px solid #e4e8e0}.profile-admin-group .panel-head h2{margin:0}.profile-admin-group .panel-head>b{color:var(--brand);font-size:.75rem;background:var(--cream);border-radius:99rem;padding:.35rem .65rem}.profile-admin-group .record-table{border:0;border-radius:0}
@media(max-width:780px){.profile-add-actions{justify-content:flex-start;margin-top:1rem}.profile-add-actions .btn{width:100%}}
