:root{--ink:#263f32;--blue:#315b43;--sky:#edf4ef;--gold:#c98332;--paper:#f7faf7;--red:#a33;--green:#315b43}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}
a{color:var(--blue)}
header{background:#fff;border-bottom:1px solid #dce5eb;position:sticky;top:0;z-index:5}
.top{max-width:1100px;margin:auto;padding:14px 20px;display:flex;gap:18px;align-items:center;justify-content:space-between}
.brand{text-decoration:none;font-size:1.25rem;font-weight:800;color:var(--blue)}
nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
main{max-width:1100px;margin:28px auto;padding:0 20px}
.narrow{max-width:620px}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}
.choice{display:block;padding:28px;border-radius:20px;text-decoration:none;background:var(--blue);color:#fff;box-shadow:0 8px 24px #315b4322}
.choice.need{background:#ad692b}
.choice h2{margin:0 0 8px;font-size:1.7rem}
.card{background:#fff;border:1px solid #dce5eb;border-radius:16px;padding:20px;box-shadow:0 5px 18px #315b430d}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.post img{width:100%;height:190px;object-fit:cover;border-radius:12px;background:#edf2f5}
.post h3{margin:10px 0 5px}
.meta{color:#617382;font-size:.9rem}
.tag{display:inline-block;padding:4px 9px;border-radius:999px;background:var(--sky);font-size:.82rem;margin:2px}
.tag.reserved{background:#fff0cc}
.tag.closed{background:#eee}
.form{display:grid;gap:14px}
.form label{font-weight:650;display:grid;gap:6px}
.form input,.form select,.form textarea{width:100%;padding:11px;border:1px solid #b9c7d0;border-radius:9px;font:inherit;background:#fff}
.form textarea{min-height:120px}
button,.button{display:inline-block;border:0;border-radius:9px;background:var(--blue);color:#fff;padding:11px 16px;text-decoration:none;font:inherit;font-weight:700;cursor:pointer}
.secondary{background:#e7eef2;color:var(--ink)}
.danger{background:var(--red)}
.alert{padding:12px 15px;border-radius:9px;background:#dff4e9}
.alert.error{background:#f8dddd}
.filters{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.empty{text-align:center;padding:40px;color:#617382}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{text-align:left;padding:11px;border-bottom:1px solid #e2e8ed}
footer{max-width:1100px;margin:40px auto;padding:20px;color:#657987;font-size:.88rem}
@media(max-width:760px){.hero,.grid{grid-template-columns:1fr}
.filters{grid-template-columns:1fr 1fr}
.top{align-items:flex-start}
.post img{height:230px}
}
@media(max-width:430px){.filters{grid-template-columns:1fr}
nav{font-size:.9rem}
}
.form small{font-weight:400;color:#617382}
.scope-tabs{display:flex;gap:8px;margin:16px 0;overflow:auto}
.scope-tabs a{white-space:nowrap;padding:10px 16px;border-radius:999px;background:#e7eef2;text-decoration:none;font-weight:750}
.scope-tabs a.active{background:var(--blue);color:#fff}
.link-button{background:transparent;color:#647481;padding:8px}
.report-form{margin-top:12px;padding-top:12px;border-top:1px solid #e2e8ed}
.report-form label{display:grid;gap:6px}
.report-form input{padding:10px;border:1px solid #b9c7d0;border-radius:9px}
.suggestions{display:grid;border:1px solid #b9c7d0;border-radius:10px;background:#fff;box-shadow:0 10px 30px #173f5f22;overflow:hidden}
.suggestions button{display:grid;gap:2px;text-align:left;border-radius:0;background:#fff;color:var(--ink);border-bottom:1px solid #e4eaee}
.suggestions button:hover{background:var(--sky)}
.suggestions span{font-size:.86rem;color:#617382}
.suggestions p{padding:8px 12px;margin:0}
.account-links{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:18px;font-size:.92rem}
.detail{max-width:850px}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:22px}
.gallery figure{margin:0;position:relative}
.gallery img{display:block;width:100%;height:320px;object-fit:cover;border-radius:12px}
.gallery form{position:absolute;right:8px;bottom:8px}
.gallery button{font-size:.8rem;padding:7px 10px}
.price{font-size:1.65rem;font-weight:850;color:var(--blue)}
@media(max-width:600px){.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}
.gallery figure{min-width:88%;scroll-snap-align:start}
.gallery img{height:340px}
}
.admin-list{display:grid;gap:12px}
.admin-category{display:grid;grid-template-columns:minmax(180px,2fr) minmax(150px,1fr) 90px auto auto;gap:10px;align-items:end}
.admin-category label{display:grid;gap:5px;font-weight:650}
.admin-category input,.admin-category select{width:100%;padding:9px;border:1px solid #b9c7d0;border-radius:8px;font:inherit}
section+section{margin-top:34px}
@media(max-width:760px){.admin-category{grid-template-columns:1fr 1fr}
.admin-category label:first-of-type{grid-column:1/-1}
}
.tag.urgent{background:#b42318;color:#fff;font-weight:850;text-transform:uppercase}
.tag.featured{background:#ffe39b;color:#664400;font-weight:800}
.post:has(.tag.urgent){border:2px solid #b42318}
.post:has(.tag.featured){border:2px solid var(--gold)}
.stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:20px 0 34px}
.stat-grid .card{display:grid;gap:2px}
.stat-grid strong{font-size:1.7rem;color:var(--blue)}
.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.feature-list .actions{justify-content:space-between;align-items:center;margin:0}
.feature-list small{color:#617382}
@media(max-width:760px){.stat-grid{grid-template-columns:repeat(2,1fr)}
.feature-list{grid-template-columns:1fr}
}
.plan-grid{display:grid;gap:14px}
.plan h2{margin:0}
.plan-price{font-size:1.25rem;font-weight:800}
.plan button:disabled{background:#d5dde2;color:#5f6e78;cursor:not-allowed}
.featured-button{background:var(--gold);color:#2f2512}
.admin-plan{display:grid;grid-template-columns:minmax(170px,2fr) 100px 120px 130px auto;gap:10px;align-items:end}
.admin-plan label{display:grid;gap:5px}
.admin-plan input{padding:9px;border:1px solid #b9c7d0;border-radius:8px;font:inherit}
.admin-plan input[type=checkbox]{width:auto}
@media(max-width:760px){.admin-plan{grid-template-columns:1fr 1fr}
.admin-plan strong{grid-column:1/-1}
}
.check{grid-template-columns:auto 1fr!important;align-items:start}
.check input{width:auto!important;margin-top:5px}
.legal{max-width:780px}
.legal h2{margin-top:30px}
.legal p,.legal li{line-height:1.7}
footer nav{display:flex;gap:14px;flex-wrap:wrap}
footer p{margin-top:0}
header nav>a:not(.button){display:inline-flex;align-items:center;min-height:42px;padding:8px 13px;border-radius:10px;background:#e7eef2;color:var(--blue);font-weight:750;text-decoration:none}
header nav>a:not(.button):hover{background:#d9e7ee}
header nav>a.button{display:inline-flex;align-items:center}
.button,button{transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}
.button:hover,button:hover{filter:brightness(.96);box-shadow:0 5px 14px #173f5f22}
.button:active,button:active{transform:translateY(1px)}
footer{border-top:1px solid #dce5eb}
footer nav{gap:8px}
footer nav a{display:inline-flex;align-items:center;min-height:38px;padding:6px 11px;border:1px solid #ccd9e1;border-radius:999px;background:#fff;color:var(--blue);font-weight:650;text-decoration:none}
footer nav a:hover{background:var(--sky);border-color:#9fb8c7}
.legal>h1{padding-bottom:12px;border-bottom:3px solid var(--gold)}
.legal>h2{color:var(--blue)}
