/* ZTEK admin — same tokens and type as the public design system.
   Class names match views/admin.ejs and views/admin-login.ejs. */

@font-face{font-family:"Archivo";font-weight:400;font-style:normal;font-display:swap;src:url("/fonts/archivo-400.woff2") format("woff2")}
@font-face{font-family:"Archivo";font-weight:700;font-style:normal;font-display:swap;src:url("/fonts/archivo-700.woff2") format("woff2")}
@font-face{font-family:"Archivo";font-weight:800;font-style:normal;font-display:swap;src:url("/fonts/archivo-800.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-style:normal;font-display:swap;src:url("/fonts/ibm-plex-mono-400.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:600;font-style:normal;font-display:swap;src:url("/fonts/ibm-plex-mono-600.woff2") format("woff2")}

:root{
  --night:#121614;--night-deep:#0d100e;--paper:#f2f4f0;--white:#fff;
  --ink:#171b18;--muted:#5a625c;--line:#dee3dd;--line-strong:#c8cfc8;
  --signal:#ef2444;--signal-deep:#c4102c;--live:#35d98a;
  --font:"Archivo",ui-sans-serif,system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2{letter-spacing:-.03em;line-height:1.1}
h1{margin:0 0 6px;font-size:26px;font-weight:800}
h2{margin:0 0 10px;font-size:15px;font-weight:700}
a{color:inherit}
:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:4px}

.admin-header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;background:var(--night);color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}
.admin-header>div,.admin-header nav{display:flex;align-items:center;gap:16px}
.admin-header img{width:64px;padding:5px 9px;border-radius:8px;background:#fff}
.admin-header strong{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.admin-header a{font-size:14px;color:#cfd6cf;text-decoration:none}
.admin-header a:hover{color:#fff}
.admin-header button{border:1px solid rgba(255,255,255,.25);border-radius:9px;padding:8px 14px;background:transparent;color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.admin-header button:hover{border-color:#fff}

.admin-container{width:min(calc(100% - 32px),1400px);margin:28px auto 48px}
.admin-container section{margin-bottom:26px;padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:0 14px 40px rgba(18,22,20,.05)}
.admin-container section>p{margin:0 0 18px;color:var(--muted);font-size:14px}

.alert{margin-bottom:16px;padding:12px 16px;border-radius:11px;font-weight:600;font-size:14px}
.alert.success{background:#e8f7ee;color:#0d7a43;border-left:3px solid var(--live)}
.alert.error{background:#fdecef;color:#a30f29;border-left:3px solid var(--signal)}

.content-editors{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.editor h2{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--muted)}
.editor textarea{width:100%;padding:12px;border:1px solid var(--line-strong);border-radius:11px;background:var(--white);font:12px/1.5 var(--mono);color:var(--ink);resize:vertical}
.editor textarea:focus{outline:none;border-color:var(--signal);box-shadow:0 0 0 3px rgba(239,36,68,.12)}

.editor button,.asset-card button,.login-card button{width:100%;margin-top:10px;padding:12px;border:0;border-radius:11px;background:var(--signal);color:#fff;font:inherit;font-weight:800;cursor:pointer;transition:background .15s}
.editor button:hover,.asset-card button:hover,.login-card button:hover{background:var(--signal-deep)}

.asset-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.asset-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.asset-card h2{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.asset-card img{width:100%;height:170px;object-fit:contain;border-radius:10px;background:var(--white);border:1px solid var(--line)}
.asset-card small{display:block;margin:8px 0;color:var(--muted);font-family:var(--mono);font-size:11px;word-break:break-all}
.asset-card input[type="file"]{width:100%;font-size:13px}

.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
tr:last-child td{border-bottom:0}
th{background:var(--paper);font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
tbody tr:hover{background:#fafbf9}

.admin-login{min-height:100vh;display:grid;place-items:center;background:var(--night);background-image:radial-gradient(640px 420px at 78% 12%,rgba(239,36,68,.16),transparent 62%)}
.login-card{width:min(430px,calc(100% - 28px));padding:34px;border:1px solid var(--line);border-radius:20px;background:var(--white);box-shadow:0 30px 80px rgba(13,16,14,.45)}
.login-card img{width:84px;padding:8px 12px;border-radius:10px;border:1px solid var(--line)}
.login-card h1{margin-top:18px}
.login-card p{margin:4px 0 8px;color:var(--muted);font-size:14px}
.login-card label{display:block;margin-top:15px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.login-card input{width:100%;height:46px;margin-top:7px;padding:0 12px;border:1px solid var(--line-strong);border-radius:11px;font:inherit}
.login-card input:focus{outline:none;border-color:var(--signal);box-shadow:0 0 0 3px rgba(239,36,68,.12)}

@media(max-width:1000px){.content-editors{grid-template-columns:1fr}.asset-grid{grid-template-columns:1fr}}
