:root{
  --bg:#ffffff; --text:#111; --muted:#666; --line:#eaeaea;
  --card:#fff; --soft:#f6f6f6; --accent:#111;
  --radius:14px;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;color:var(--text);background:var(--bg)}
a{color:inherit}
.container{max-width:1120px;margin:0 auto;padding:0 16px}
.header{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line);z-index:9}
.header__inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.3px;text-decoration:none}
.nav a{text-decoration:none;margin-left:14px;color:#111}
.nav a:hover{opacity:.7}
.hero{min-height:72vh;display:flex;align-items:center;background:linear-gradient(0deg, rgba(0,0,0,.45), rgba(0,0,0,.25)), url('/assets/img/hero.jpg');background-size:cover;background-position:center}
.hero__inner{padding:80px 0;color:#fff}
.hero h1{font-size:44px;line-height:1.05;margin:0 0 12px}
.hero p{max-width:720px;color:rgba(255,255,255,.9);font-size:18px;line-height:1.5;margin:0 0 22px}
.btn{display:inline-block;padding:11px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.65);text-decoration:none}
.btn--solid{background:#fff;color:#111;border-color:#fff}
.section{padding:46px 0}
.section--soft{background:var(--soft)}
.grid{display:grid;gap:14px}
.grid-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.grid-3{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.card h3{margin:0 0 6px}
.muted{color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media (max-width:900px){.gallery{grid-template-columns:repeat(2,1fr)}}
.ph{aspect-ratio:1/1;border-radius:14px;background:linear-gradient(135deg,#ddd,#f3f3f3);border:1px solid var(--line)}
.footer{padding:28px 0;border-top:1px solid var(--line)}
/* admin */
.admin{display:flex;min-height:100vh}
.sidebar{width:260px;background:#0f0f10;color:#fff;padding:18px 14px}
.sidebar a{color:#fff;text-decoration:none;display:block;padding:10px 10px;border-radius:10px;opacity:.92}
.sidebar a:hover{background:rgba(255,255,255,.08);opacity:1}
.sidebar .title{font-weight:700;margin:4px 10px 14px}
.main{flex:1;background:#fafafa}
.topbar{background:#fff;border-bottom:1px solid var(--line);padding:12px 16px}
.main .wrap{padding:18px 16px}
.table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}
.table th{background:#fcfcfc}