:root{
  --bg:#f7f5f1; --card:#ffffff; --ink:#2b2620; --ink-soft:#6b6458;
  --gold:#b08d57; --gold-dark:#8f7143; --border:#e6e0d4; --danger:#c0554f; --success:#4a7c59;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Segoe UI',Arial,sans-serif;font-size:14px;}
a{color:var(--gold-dark);}
.topbar{background:var(--ink);color:#fff;padding:16px 28px;display:flex;justify-content:space-between;align-items:center;}
.topbar .brand{font-size:17px;letter-spacing:1px;}
.topbar a{color:#e8dfc9;text-decoration:none;font-size:13px;}
.container{max-width:960px;margin:0 auto;padding:32px 20px;}
.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:28px;margin-bottom:22px;}
h1{font-size:22px;margin:0 0 6px;}
h2{font-size:17px;margin:0 0 16px;color:var(--ink);}
.subtitle{color:var(--ink-soft);font-size:13px;margin-bottom:24px;}
label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px;color:var(--ink-soft);}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=file],select,textarea{
  width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;margin-bottom:16px;font-family:inherit;background:#fff;color:var(--ink);
}
textarea{resize:vertical;}
.row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media (max-width:640px){.row{grid-template-columns:1fr;}}
.btn{display:inline-block;background:var(--gold);color:#fff;border:none;padding:11px 24px;border-radius:6px;font-size:14px;cursor:pointer;text-decoration:none;font-weight:600;}
.btn:hover{background:var(--gold-dark);}
.btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--border);}
.btn-danger{background:var(--danger);}
table{width:100%;border-collapse:collapse;font-size:13.5px;}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);}
th{color:var(--ink-soft);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:0.5px;}
.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:600;}
.badge-active{background:#e6f3e8;color:var(--success);}
.badge-pending{background:#fbf0dc;color:#a8781f;}
.badge-expired{background:#f7e5e4;color:var(--danger);}
.alert{padding:12px 16px;border-radius:6px;margin-bottom:18px;font-size:13.5px;}
.alert-error{background:#f7e5e4;color:var(--danger);}
.alert-success{background:#e6f3e8;color:var(--success);}
.login-box{max-width:380px;margin:80px auto;}
.section-title{font-size:14px;font-weight:700;color:var(--gold-dark);text-transform:uppercase;letter-spacing:1px;margin:26px 0 14px;padding-top:10px;border-top:1px solid var(--border);}
.section-title:first-child{border-top:none;padding-top:0;margin-top:0;}
.link-box{background:#f7f2e8;border:1px solid var(--border);border-radius:6px;padding:14px 16px;margin-bottom:20px;font-size:13.5px;word-break:break-all;}
.gallery-thumb{width:70px;height:70px;object-fit:cover;border-radius:6px;margin:4px;}
