:root { --ink:#171816; --muted:#70716c; --surface:#f7f7f3; --paper:#efede5; --line:#d8d9d2; --accent:#244cff; }
* { box-sizing:border-box; }
html { background:var(--surface); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif; }
body { margin:0; }
button,input,select { font:inherit; }
.hidden { display:none !important; }
.admin-topbar { min-height:70px; padding:max(17px,env(safe-area-inset-top)) max(20px,calc((100vw - 1120px)/2)) 14px; border-bottom:1px solid var(--line); display:flex; align-items:flex-end; justify-content:space-between; position:sticky; top:0; z-index:20; background:rgba(247,247,243,.92); backdrop-filter:blur(18px); }
.brand { color:var(--ink); text-decoration:none; display:flex; flex-direction:column; font:800 11px/1.1 ui-monospace,monospace; letter-spacing:.12em; }
.brand small { color:var(--accent); }
.admin-topbar button { border:0; background:none; cursor:pointer; font-weight:650; }
main { width:min(calc(100% - 32px),1080px); margin:0 auto 80px; }
.admin-intro { padding:56px 0 38px; }
.admin-intro p,.kicker { margin:0 0 9px; color:var(--accent); font:750 9px ui-monospace,monospace; letter-spacing:.16em; }
.admin-intro h1 { margin:0 0 12px; font:600 clamp(34px,7vw,58px)/1 "Songti SC",Georgia,serif; }
.admin-intro span,.panel span { color:var(--muted); font-size:12px; line-height:1.6; }
.summary-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:24px; }
.summary-item { min-height:110px; padding:18px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.summary-item strong { display:block; margin-top:20px; font-size:26px; }
.summary-item span { color:var(--muted); font-size:10px; }
.panel { margin-top:18px; padding:24px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.panel h2 { margin:0 0 5px; font-size:18px; }
.panel-heading { display:flex; justify-content:space-between; gap:20px; align-items:end; margin-bottom:20px; }
.invite-panel { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.invite-panel form { display:flex; gap:8px; align-self:center; }
input,select { min-height:44px; border:1px solid var(--line); border-radius:11px; padding:0 13px; background:var(--surface); outline:none; }
input:focus,select:focus { border-color:var(--accent); }
.invite-panel input { flex:1; min-width:0; }
.invite-panel button,.admin-dialog button { min-height:44px; border:0; border-radius:11px; padding:0 17px; background:var(--ink); color:#fff; cursor:pointer; }
.invite-result { grid-column:1/-1; padding:15px 16px; border-radius:12px; background:var(--paper); display:flex; align-items:center; gap:14px; }
.invite-result strong { font:700 17px ui-monospace,monospace; letter-spacing:.06em; }
.invite-result button { margin-left:auto; min-height:36px; }
.account-list { display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:13px; overflow:hidden; }
.account-row { display:grid; grid-template-columns:1fr auto auto; gap:18px; padding:14px 15px; background:var(--surface); align-items:center; }
.account-row strong { font-size:13px; }
.account-row span { font:10px ui-monospace,monospace; }
.admin-gallery { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.job-card { border:0; padding:0; background:none; text-align:left; cursor:pointer; }
.job-card img,.job-empty { width:100%; aspect-ratio:3/5; object-fit:cover; border-radius:12px; background:var(--paper); }
.job-card.landscape img,.job-card.landscape .job-empty { aspect-ratio:5/3; }
.job-card p { margin:7px 1px 2px; font-size:11px; font-weight:700; }
.job-card small { color:var(--muted); font-size:9px; }
.job-empty { display:grid; place-items:center; color:var(--muted); font-size:10px; text-align:center; padding:12px; }
.admin-dialog { width:min(calc(100% - 30px),390px); border:0; border-radius:21px; padding:0; box-shadow:0 30px 100px rgba(0,0,0,.28); }
.admin-dialog::backdrop,.image-dialog::backdrop { background:rgba(18,19,17,.78); backdrop-filter:blur(8px); }
.admin-dialog form { padding:30px 24px 24px; display:grid; gap:13px; }
.admin-dialog h2 { margin:0; font:600 27px "Songti SC",Georgia,serif; }
.admin-dialog p:not(.kicker) { min-height:14px; margin:0; color:#b52d21; font-size:10px; }
.image-dialog { width:min(calc(100% - 24px),900px); max-height:94vh; border:0; border-radius:18px; padding:14px; background:#222; color:#fff; }
.image-dialog > button { display:block; margin-left:auto; border:0; background:none; color:#fff; padding:5px 2px 11px; cursor:pointer; }
.image-dialog img { width:100%; max-height:76vh; object-fit:contain; display:block; background:#111; }
.image-dialog div { display:flex; justify-content:space-between; padding:12px 2px 1px; font-size:11px; }
.image-dialog a { color:#fff; }
.toast { position:fixed; left:50%; bottom:25px; transform:translate(-50%,20px); opacity:0; background:var(--ink); color:white; padding:10px 14px; border-radius:99px; font-size:11px; transition:.2s; }
.toast.show { transform:translate(-50%,0); opacity:1; }
@media(max-width:720px){ .summary-grid{grid-template-columns:1fr 1fr}.invite-panel{grid-template-columns:1fr}.invite-result{grid-column:1}.admin-gallery{grid-template-columns:1fr 1fr}.account-row{grid-template-columns:1fr auto}.account-row span:last-child{display:none}.panel{padding:18px} }
