:root{
  --gold:#C9972B; --gold-deep:#A87A1E; --charcoal:#33383E; --charcoal-deep:#1D2023;
  --bg:#EDE7DA; --border:#E2DECF; --text:#1E1F22; --text-dim:#6B6F76;
  --success:#2E7D4F; --success-soft:#E4F3EA; --danger:#C0392B; --danger-soft:#FBEAE7;
  --glass-bg:rgba(255,255,255,.65); --glass-border:rgba(255,255,255,.55);
  --glass-shadow:0 8px 32px rgba(29,32,35,.14);
}
*{box-sizing:border-box;}
body{
  margin:0; font-family:'Segoe UI',Arial,sans-serif; color:var(--text); min-height:100vh;
  background:
    radial-gradient(circle at 8% 10%, rgba(201,151,43,.35), transparent 42%),
    radial-gradient(circle at 92% 18%, rgba(51,56,62,.30), transparent 45%),
    radial-gradient(circle at 25% 85%, rgba(201,151,43,.22), transparent 40%),
    radial-gradient(circle at 80% 90%, rgba(29,32,35,.25), transparent 45%),
    var(--bg);
  background-attachment:fixed;
}
a{ color:var(--gold-deep); text-decoration:none; }
a:hover{ text-decoration:underline; }

.auth-page{ display:flex; align-items:center; justify-content:center; min-height:100vh; }
.auth-box{
  background:rgba(255,255,255,.72); backdrop-filter:blur(24px) saturate(180%); -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid var(--glass-border); border-radius:16px; padding:32px 30px; width:100%; max-width:380px;
  box-shadow:0 20px 60px rgba(29,32,35,.28);
}
.auth-brand{ text-align:center; margin-bottom:20px; }
.auth-brand img{ width:56px; height:56px; object-fit:contain; margin-bottom:8px; }
.auth-brand-name{ font-weight:800; font-size:20px; letter-spacing:.04em; }
.auth-brand-sub{ font-size:12px; color:var(--text-dim); text-transform:uppercase; letter-spacing:.05em; }
.auth-box form{ display:flex; flex-direction:column; gap:6px; }
.auth-box label{ font-size:12px; font-weight:600; color:var(--text-dim); margin-top:8px; }
.auth-box input, .auth-box select{
  padding:10px; border:1px solid rgba(226,222,207,.8); border-radius:7px; font-size:14px;
  background:rgba(255,255,255,.75);
}
.auth-footnote{ text-align:center; font-size:11px; color:var(--text-dim); margin-top:16px; }

.btn-gold{ background:var(--gold); color:#1D2023; border:none; padding:11px; border-radius:7px; font-weight:700; cursor:pointer; margin-top:14px; display:inline-block; text-align:center; text-decoration:none; }
.btn-gold:hover{ background:var(--gold-deep); color:#1D2023; text-decoration:none; }
.btn-dark{ background:rgba(29,32,35,.85); color:#fff; border:none; padding:11px; border-radius:7px; font-weight:700; cursor:pointer; }
.btn-danger{ background:var(--danger-soft); color:var(--danger); border:none; padding:11px; border-radius:7px; font-weight:700; cursor:pointer; }

.alert{ padding:10px 14px; border-radius:7px; font-size:13px; margin-bottom:10px; }
.alert-error{ background:var(--danger-soft); color:var(--danger); }
.alert-success{ background:var(--success-soft); color:var(--success); }

.topbar{
  background:linear-gradient(135deg, rgba(29,32,35,.75), rgba(51,56,62,.65));
  backdrop-filter:blur(18px) saturate(160%); -webkit-backdrop-filter:blur(18px) saturate(160%);
  color:#fff; padding:14px 26px; display:flex; justify-content:space-between; align-items:center; font-size:13px;
}
.topbar-brand{ font-weight:700; display:flex; align-items:center; gap:10px; }
.topbar-brand img{ width:26px; height:26px; object-fit:contain; }
.topbar-user a{ color:var(--gold); }

.page{ max-width:960px; margin:30px auto; padding:0 20px; }
.page-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }

.form-card{
  background:var(--glass-bg); backdrop-filter:blur(20px) saturate(180%); -webkit-backdrop-filter:blur(20px) saturate(180%);
  border:1px solid var(--glass-border); border-radius:12px; padding:20px; margin-bottom:18px;
  display:flex; flex-direction:column; gap:6px; max-width:420px; box-shadow:var(--glass-shadow);
}
.form-card label{ font-size:12px; font-weight:600; color:var(--text-dim); margin-top:8px; }
.form-card input, .form-card select{ padding:9px; border:1px solid rgba(226,222,207,.8); border-radius:7px; background:rgba(255,255,255,.75); }

.data-table{
  width:100%; border-collapse:collapse; background:var(--glass-bg); backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%); border:1px solid var(--glass-border); border-radius:12px;
  overflow:hidden; box-shadow:var(--glass-shadow);
}
.data-table th, .data-table td{ padding:10px 12px; border-bottom:1px solid rgba(226,222,207,.6); text-align:left; font-size:13px; }
.data-table th{ background:rgba(255,255,255,.35); font-size:11px; text-transform:uppercase; color:var(--text-dim); }

.badge{ display:inline-block; padding:3px 9px; border-radius:20px; font-size:10.5px; font-weight:700; background:rgba(237,235,227,.8); color:var(--text-dim); }
.badge-green{ background:var(--success-soft); color:var(--success); }
.badge-red{ background:var(--danger-soft); color:var(--danger); }
