:root{
  --petrol-950:#0A2E2B;
  --petrol-900:#0E4B47;
  --teal-500:#17A398;
  --teal-300:#6FC9BE;
  --amber-500:#F2A93B;
  --amber-600:#DE8F1C;
  --sand-100:#F6F3EC;
  --sand-50:#FBFAF6;
  --ink-900:#1C2521;
  --ink-600:#48534E;
  --line:#D9D2C2;
  --line-strong:#B9C6C2;
  --font-display:'Space Grotesk', sans-serif;
  --font-body:'IBM Plex Sans', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
}
*,*::before,*::after{box-sizing:border-box;}
body{
  margin:0;background:var(--sand-100);color:var(--ink-900);
  font-family:var(--font-body);line-height:1.6;
}
h1,h2{font-family:var(--font-display);color:var(--petrol-950);margin:0 0 .4em;}
a{color:inherit;}

.btn{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:var(--font-mono);font-size:.82rem;
  padding:11px 20px;border-radius:4px;border:1px solid transparent;
  cursor:pointer;text-decoration:none;transition:transform .15s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--amber-500);color:var(--petrol-950);}
.btn-primary:hover{background:var(--amber-600);}
.btn-outline{border-color:var(--line-strong);color:var(--petrol-900);background:#fff;}
.btn-ghost-dark{color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.3);}

/* Login */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;}
.login-card{
  background:#fff;border:1px solid var(--line);border-radius:6px;
  padding:40px 36px;max-width:400px;width:100%;text-align:center;
}
.login-logo{height:56px;margin-bottom:18px;}
.login-sub{color:var(--ink-600);font-size:.92rem;margin-bottom:24px;}
.login-error{
  background:#FBEAEA;color:#9B2C2C;border:1px solid #F1C0C0;
  padding:10px 14px;border-radius:4px;font-size:.88rem;margin-bottom:18px;
}
.back-link{display:inline-block;margin-top:20px;font-size:.85rem;color:var(--teal-500);text-decoration:none;}

/* Admin shell */
.admin-header{background:var(--petrol-950);padding:18px 0;}
.admin-header-inner{
  max-width:920px;margin:0 auto;padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;
}
.admin-logo{height:38px;}
.admin-header-actions{display:flex;gap:10px;flex-wrap:wrap;}

.admin-main{max-width:920px;margin:0 auto;padding:40px 24px 80px;}
.admin-intro{color:var(--ink-600);max-width:60ch;margin-bottom:24px;}
.admin-success{
  background:#E8F5E9;color:#2E7D32;border:1px solid #C5E6C7;
  padding:12px 16px;border-radius:4px;margin-bottom:24px;font-size:.92rem;
}

.admin-section{
  background:#fff;border:1px solid var(--line);border-radius:6px;
  padding:28px 28px 24px;margin-bottom:28px;
}
.admin-section h2{font-size:1.15rem;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--line);}

.form-field{margin-bottom:18px;}
.form-field label{
  display:block;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.03em;
  text-transform:uppercase;color:var(--ink-600);margin-bottom:6px;
}
.form-field input,.form-field textarea{
  width:100%;border:1px solid var(--line-strong);background:var(--sand-50);
  padding:11px 13px;font-family:var(--font-body);font-size:.95rem;color:var(--ink-900);
  border-radius:4px;
}
.form-field textarea.mono{font-family:var(--font-mono);font-size:.85rem;}
.form-field textarea{resize:vertical;}
.form-field input:focus,.form-field textarea:focus{
  outline:2px solid var(--teal-500);outline-offset:1px;
}
.field-hint{display:block;font-size:.78rem;color:var(--ink-600);margin-top:5px;}
