:root { --ink:#07101c; --ink2:#0e1c2c; --paper:#eef1ed; --white:#fff; --cyan:#15d1c5; --gold:#f0ba57; --red:#d64747; --muted:#74818a; --line:#d7ddda; --display:"Palatino Linotype","Book Antiqua",Palatino,serif; --sans:"Trebuchet MS","Gill Sans",sans-serif; }
* { box-sizing: border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
img { display:block; max-width:100%; }
.admin-brand { display:flex; align-items:center; gap:12px; }
.admin-brand img { width:48px; height:48px; border-radius:12px; object-fit:cover; }
.admin-brand span { font-family:var(--display); font-size:1.1rem; font-weight:700; line-height:1; }
.admin-brand small { display:block; margin-bottom:5px; color:var(--cyan); font-family:var(--sans); font-size:.58rem; letter-spacing:.16em; text-transform:uppercase; }
.alert { margin:0 0 24px; padding:14px 16px; border-left:4px solid; font-size:.84rem; font-weight:800; }
.alert.error { color:#7a2222; background:#ffe9e7; border-color:var(--red); }
.alert.success { color:#075e58; background:#d9fffa; border-color:var(--cyan); }
.login-page { min-height:100vh; color:#fff; background:radial-gradient(circle at 25% 15%,rgba(21,209,197,.16),transparent 25%),linear-gradient(135deg,#07101c,#0b1c2e); }
.login-shell { display:grid; min-height:100vh; padding:25px; place-items:center; }
.login-card { width:min(100%,480px); padding:42px; background:rgba(9,24,40,.94); border:1px solid rgba(21,209,197,.2); box-shadow:0 35px 90px rgba(0,0,0,.4); }
.login-card h1 { margin:50px 0 8px; font-family:var(--display); font-size:2.55rem; letter-spacing:-.04em; }
.login-card > p { margin:0 0 28px; color:#92a2ae; line-height:1.6; }
.login-card form { display:grid; gap:19px; }
.login-card label { color:#bcc8cf; font-size:.72rem; font-weight:900; letter-spacing:.04em; }
.login-card input { width:100%; margin-top:8px; padding:14px; color:#fff; background:#07101c; border:1px solid rgba(255,255,255,.15); outline:none; }
.login-card input:focus { border-color:var(--cyan); }
.login-card button { display:flex; padding:15px 18px; justify-content:space-between; border:0; color:var(--ink); background:var(--cyan); font-weight:900; cursor:pointer; }
.back-link { display:inline-block; margin-top:26px; color:#8fa0ab; font-size:.75rem; }
.admin-header { position:sticky; top:0; z-index:20; display:flex; min-height:76px; padding:0 clamp(20px,5vw,76px); align-items:center; justify-content:space-between; color:#fff; background:rgba(7,16,28,.97); border-bottom:1px solid rgba(255,255,255,.1); }
.admin-header nav { display:flex; gap:24px; font-size:.78rem; font-weight:900; }
.admin-header nav a:first-child { color:var(--cyan); }
.dashboard { width:min(1400px,calc(100% - 40px)); margin:0 auto; padding:64px 0 100px; }
.dashboard-title { display:flex; margin-bottom:50px; align-items:end; justify-content:space-between; gap:30px; }
.dashboard-title span { color:#168a84; font-size:.7rem; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.dashboard-title h1 { margin:7px 0 0; font-family:var(--display); font-size:clamp(2.8rem,6vw,5.5rem); letter-spacing:-.055em; line-height:.9; }
.dashboard-title p { max-width:420px; margin:0; color:var(--muted); line-height:1.6; }
.settings-form { display:grid; gap:24px; }
.panel { display:grid; grid-template-columns:310px 1fr; background:#fff; box-shadow:0 14px 34px rgba(26,37,42,.06); }
.panel-head { display:flex; padding:32px; gap:18px; background:var(--ink2); color:#fff; }
.panel-head b { color:var(--cyan); font-family:var(--display); font-size:1.4rem; }
.panel-head h2 { margin:0; font-family:var(--display); font-size:1.5rem; }
.panel-head p { margin:8px 0 0; color:#8fa0ab; font-size:.77rem; line-height:1.5; }
.fields { display:grid; grid-template-columns:1fr 1fr; padding:32px; gap:24px; align-content:start; }
.fields label { color:#3f4b53; font-size:.72rem; font-weight:900; letter-spacing:.03em; }
.fields .wide { grid-column:1/-1; }
.fields input,.fields textarea { width:100%; margin-top:8px; padding:12px 2px; border:0; border-bottom:1px solid var(--line); border-radius:0; outline:none; color:var(--ink); background:#fff; }
.fields input:focus,.fields textarea:focus { border-color:#159b93; box-shadow:0 1px #159b93; }
.upload { position:relative; min-height:100px; padding:14px 90px 14px 14px; border:1px dashed #b8c2c0; }
.upload input { border:0; }
.upload img { position:absolute; top:12px; right:14px; width:72px; height:72px; border-radius:12px; object-fit:cover; background:var(--ink); }
.save-bar { position:sticky; z-index:10; bottom:18px; display:flex; padding:17px 20px; align-items:center; justify-content:space-between; gap:18px; color:#fff; background:rgba(7,16,28,.96); box-shadow:0 15px 45px rgba(0,0,0,.25); }
.save-bar span { color:#91a0aa; font-size:.75rem; }
.save-bar button { padding:13px 18px; border:0; color:var(--ink); background:var(--gold); font-weight:900; cursor:pointer; }
@media (max-width:850px) { .dashboard-title { align-items:flex-start; flex-direction:column; }.panel { grid-template-columns:1fr; }.panel-head { padding:24px; }.fields { padding:24px; } }
@media (max-width:560px) { .login-card { padding:28px 22px; }.dashboard { width:calc(100% - 24px); padding-top:38px; }.admin-header { padding:0 14px; }.admin-brand span { display:none; }.fields { grid-template-columns:1fr; }.fields label { grid-column:1; }.save-bar span { display:none; }.save-bar button { width:100%; }.dashboard-title h1 { font-size:3.4rem; } }
