:root{--ink:#17201b;--green:#263c32;--sage:#aebda8;--cream:#f2efe8;--paper:#fff;--line:#d8d8d2;--danger:#9d3028}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#f5f4ef;font:14px/1.5 "DM Sans",sans-serif}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.dev-warning{padding:8px 20px;text-align:center;color:#5e4808;background:#f6df91;font-size:12px;font-weight:600}.admin-header{min-height:82px;padding:15px clamp(20px,5vw,70px);display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--paper);border-bottom:1px solid var(--line)}.admin-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.admin-brand>span{width:42px;height:48px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;font:24px Georgia,serif}.admin-brand strong{font:19px Georgia,serif}.admin-brand small{display:block;margin-top:3px;font:600 8px "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase}.admin-header nav{display:flex;gap:24px}.admin-header nav a{font-size:12px;font-weight:600;text-decoration:none}.admin-main{max-width:1450px;min-height:calc(100vh - 115px);margin:auto;padding:55px clamp(20px,5vw,70px)}h1{margin:0;font:clamp(38px,5vw,60px)/1.1 "Libre Caslon Display",Georgia,serif}.admin-eyebrow{margin:0 0 10px;color:#718071;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.admin-title-row{display:flex;align-items:end;justify-content:space-between;gap:30px}.admin-button,.record-filters button{display:inline-block;padding:13px 20px;border:0;color:white;background:var(--green);font:600 11px "DM Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer}.flash-message,.error-message{margin:25px 0;padding:15px 18px;background:#e2eddf;border-left:3px solid #668063}.error-message{background:#f5dfdc;border-color:var(--danger)}.record-filters{margin-top:35px;padding:20px;display:grid;grid-template-columns:1fr 180px auto;align-items:end;gap:15px;background:var(--paper);border:1px solid var(--line)}label span{display:block;margin-bottom:6px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #c9cbc7;border-radius:0;background:white;font:14px "DM Sans",sans-serif}.record-total{color:#6c746e;font-size:12px}.admin-table-wrap{overflow:auto;background:var(--paper);border:1px solid var(--line)}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:15px 18px;text-align:left;border-bottom:1px solid #ecece8;white-space:nowrap}.admin-table th{color:#737b75;background:#f8f8f5;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.status{padding:5px 9px;border-radius:20px;font-size:10px;font-weight:600}.status.active{color:#315f3d;background:#e0eddf}.status.archived{color:#6d6255;background:#e9e4dc}.row-actions{display:flex;justify-content:flex-end;gap:13px}.row-actions form{display:inline}.row-actions a,.row-actions button{padding:0;border:0;background:none;color:#52665a;font:600 11px "DM Sans",sans-serif;text-decoration:underline;cursor:pointer}.row-actions .danger-link{color:var(--danger)}.empty-table{padding:45px!important;text-align:center!important;color:#777}.pagination{margin-top:25px;display:flex;justify-content:center;align-items:center;gap:25px}.pagination a{font-weight:600}.form-heading{position:relative;margin-bottom:35px}.form-heading>a{position:absolute;right:0;bottom:8px}.record-form{display:grid;gap:22px}.record-form fieldset{margin:0;padding:25px;background:var(--paper);border:1px solid var(--line)}.record-form legend{padding:0 10px;font:23px "Libre Caslon Display",serif}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-grid .wide{grid-column:1/-1}.form-actions{display:flex;align-items:center;gap:22px}.delete-confirmation{max-width:680px;margin:50px auto;padding:45px;background:var(--paper);border-top:4px solid var(--danger)}.delete-confirmation p{font-size:16px}.delete-confirmation form{margin-top:30px;display:flex;align-items:center;gap:20px}.delete-button{padding:13px 20px;border:0;color:white;background:var(--danger);font-weight:600;cursor:pointer}@media(max-width:760px){.admin-header{align-items:flex-start;flex-direction:column}.admin-header nav{width:100%;justify-content:space-between}.admin-title-row{align-items:flex-start;flex-direction:column}.record-filters,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.form-heading>a{position:static;display:inline-block;margin-top:15px}.admin-table th,.admin-table td{padding:12px}.row-actions{justify-content:flex-start}.record-form fieldset{padding:18px}}
:root{}
.image-upload{padding:20px;background:#f7f7f3;border:1px solid var(--line)}
.image-upload>img{display:block;max-width:280px;max-height:280px;margin:10px 0 18px;object-fit:contain}
.image-upload>p{color:#786d54}
.image-upload small{display:block;margin-top:8px;color:#747b76}
.image-upload .remove-image{width:max-content;margin:0 0 18px;display:flex;align-items:center;gap:8px;color:var(--danger);font-size:12px}
.image-upload .remove-image input{width:auto}
.row-actions{display:table-cell!important;text-align:right!important;vertical-align:middle}
.action-group{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;vertical-align:middle}
.action-group form{display:flex;margin:0}
.action-group a,.action-group button{height:30px;padding:0 10px!important;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d5d9d5!important;background:#fff!important;color:#405247!important;font:600 10px/1 "DM Sans",sans-serif!important;text-decoration:none!important;cursor:pointer}
.action-group a:hover,.action-group button:hover{background:#eef1ed!important;border-color:#aab4ad!important}
.action-group .danger-link{color:var(--danger)!important;border-color:#e2c6c3!important}
.action-group .danger-link:hover{background:#faefed!important;border-color:#c78d87!important}
.admin-header nav form{display:inline;margin:0}.admin-header nav button{padding:0;border:0;background:none;font:600 12px "DM Sans",sans-serif;cursor:pointer}.login-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:linear-gradient(rgba(23,40,32,.78),rgba(23,40,32,.78)),url("../images/site_search.jpg") center/cover}.login-card{width:min(470px,100%);padding:45px;background:#fff;box-shadow:0 25px 80px rgba(0,0,0,.22)}.login-card h1{margin-bottom:28px}.login-brand{margin-bottom:45px;display:flex;align-items:center;gap:13px;text-decoration:none}.login-brand>span{width:48px;height:54px;display:grid;align-content:center;justify-items:center;border:1px solid var(--ink);border-radius:50%;font:25px Georgia,serif}.login-brand small{display:block;font:6px "DM Sans",sans-serif}.login-brand strong{font:20px Georgia,serif}.login-form{display:grid;gap:20px}.login-form small{display:block;margin-top:5px;color:#747b76}.login-form .admin-button{width:100%;margin-top:5px}.setup-notice{margin:0 0 24px;padding:14px;background:#f2ead0}.return-site{display:inline-block;margin-top:25px;color:#657069;font-size:12px}
.user-management-grid{margin-top:35px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.7fr);gap:25px;align-items:start}.admin-panel{padding:25px;background:var(--paper);border:1px solid var(--line)}.admin-panel:first-child{grid-row:span 2}.admin-panel h2{margin:0 0 22px;font:27px "Libre Caslon Display",Georgia,serif}.account-form{display:grid;gap:18px}.account-form small{display:block;margin-top:5px;color:#747b76}.account-form .admin-button{justify-self:start}.admin-table .danger-link{color:var(--danger)!important}
.admin-header nav{flex-wrap:wrap;align-items:center}
@media(max-width:980px){.user-management-grid{grid-template-columns:1fr}.admin-panel:first-child{grid-row:auto}}
