:root { --night:#142C33; --cream:#F6F0DF; --marigold:#E7A33E; --blue:#3E5C78; --clay:#BD4F2E; --green:#2F7D4F; --ink:#1B2328; --soft:#5B6670; --line:#E3DED0; --bg:#FAF7EF; }
* { box-sizing: border-box; }
body { margin:0; font-family:'Source Sans 3', system-ui, sans-serif; font-size:15px; color:var(--ink); background:var(--bg); }
a { color:var(--blue); }
code, .mono { font-family:'Space Mono', monospace; font-size:12.5px; }
code { background:#EFEAD9; padding:1px 5px; border-radius:3px; }
h1 { font-size:28px; margin:0 0 6px; color:var(--night); }
h2 { font-size:18px; margin:0 0 12px; color:var(--night); }
.muted { color:var(--soft); font-weight:400; }
.small { font-size:13px; }

.a-top { background:var(--night); color:var(--cream); display:flex; align-items:center; padding:0 24px; height:58px; border-bottom:4px solid var(--marigold); }
.a-logo { font-family:'Archivo Black', sans-serif; font-size:20px; letter-spacing:-.03em; text-decoration:none; display:flex; align-items:baseline; }
.a-logo .l { color:var(--cream); } .a-logo .d { color:var(--marigold); }
.a-logo .t { font-family:'Space Mono', monospace; font-size:11px; letter-spacing:1px; color:var(--cream); opacity:.7; margin-left:10px; text-transform:uppercase; }

/* Left sidebar */
.a-side { position:fixed; top:0; left:0; bottom:0; width:240px; background:var(--night); border-right:4px solid var(--marigold); display:flex; flex-direction:column; z-index:20; overflow-y:auto; }
.a-side .a-logo { padding:22px 22px 18px; }
.a-nav { display:flex; flex-direction:column; padding:0 12px; flex:1; }
.a-group { font-family:'Space Mono', monospace; font-size:10.5px; letter-spacing:1.2px; text-transform:uppercase; color:rgba(246,240,223,.45); padding:16px 10px 6px; }
.a-nav a, .a-side-foot a { display:flex; align-items:center; gap:11px; color:var(--cream); text-decoration:none; padding:9px 10px; border-radius:7px; font-weight:600; opacity:.82; }
.a-nav a:hover, .a-side-foot a:hover { opacity:1; background:rgba(255,255,255,.07); }
.a-nav a.on, .a-side-foot a.on { opacity:1; background:rgba(231,163,62,.18); color:#FFD08A; box-shadow:inset 3px 0 0 var(--marigold); }
.a-nav svg, .a-side-foot svg { width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.a-nav a span, .a-side-foot a span { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.badge { background:var(--clay); color:#fff; font-size:11px; border-radius:9px; padding:1px 7px; }
.a-side-foot { padding:12px; border-top:1px solid rgba(246,240,223,.12); display:flex; flex-direction:column; }
.a-side-foot a { font-weight:400; font-size:14px; }
body.has-side .a-main { margin-left:240px; }
.a-mobilebar, .a-scrim { display:none; }

.a-main { max-width:1240px; margin:0 auto; padding:28px 32px 80px; }
body.has-side .a-main { max-width:none; }
body.has-side .a-main > * { max-width:1240px; }
.a-head { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.a-card { background:#fff; border:1px solid var(--line); border-radius:10px; padding:20px 22px; margin:16px 0; }
.a-flash { background:#E6F2EA; border:1px solid #BFDCC8; color:#1F5A37; padding:10px 14px; border-radius:8px; margin-bottom:16px; }
.a-err { background:#FBEAE5; border:1px solid #EEC2B5; color:#8A2E16; padding:10px 14px; border-radius:8px; margin:10px 0; }
.a-warn { background:#FFF4DF; border:1px solid #F1D6A3; padding:10px 12px; border-radius:8px; font-size:14px; line-height:1.6; }
.a-note { background:#EEF3F8; border:1px solid #D2DEE9; padding:8px 12px; border-radius:8px; font-size:14px; }
.a-empty { padding:40px; text-align:center; color:var(--soft); background:#fff; border:1px dashed var(--line); border-radius:10px; }
.a-todo { background:#FFF4DF; border:1px solid #F1D6A3; border-left:5px solid var(--marigold); padding:12px 16px; border-radius:8px; display:flex; gap:18px; flex-wrap:wrap; margin:14px 0; }
.a-todo a { font-weight:700; color:var(--clay); }

.a-stats { display:grid; grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)); gap:12px; margin:18px 0; }
.a-stats div { background:#fff; border:1px solid var(--line); border-radius:10px; padding:14px 16px; color:var(--soft); font-size:14px; }
.a-stats span { display:block; font-family:'Archivo Black', sans-serif; font-size:26px; color:var(--night); letter-spacing:-.02em; }
.a-grid2 { display:grid; grid-template-columns:1.2fr 1fr; gap:16px; } .a-grid2 .a-card { margin:0; }
.a-grid2 h2:not(:first-child) { margin-top:22px; }

.a-table { width:100%; border-collapse:collapse; background:#fff; }
.a-main > .a-table { border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-top:12px; }
.a-table th { text-align:left; font-size:12px; text-transform:uppercase; letter-spacing:.5px; color:var(--soft); padding:9px 10px; border-bottom:2px solid var(--line); background:#FCFAF4; }
.a-table td { padding:9px 10px; border-bottom:1px solid #F0ECE0; vertical-align:top; }
.a-table tr:hover td { background:#FDFBF6; }
.r { text-align:right; }
.a-act { white-space:nowrap; text-align:right; } .a-act form { display:inline; }
.bar { width:90px; height:8px; background:#EFEAD9; border-radius:4px; display:inline-block; overflow:hidden; } .bar i { display:block; height:100%; background:var(--marigold); }

.tag { display:inline-block; font-size:12px; padding:1px 8px; border-radius:10px; background:#EFEAD9; color:var(--ink); margin:2px 2px 0 0; }
.tag.published { background:#E2F1E7; color:#1F5A37; }
.tag.pending { background:#FFF0D4; color:#7A5208; }
.tag.unverified { background:#EEF0F2; color:#555F69; }
.tag.hidden { background:#FBE4DC; color:#8A2E16; }

.a-btn { display:inline-block; background:var(--night); color:#fff; border:0; border-radius:7px; padding:10px 18px; font:inherit; font-weight:700; cursor:pointer; text-decoration:none; }
.a-btn:hover { background:#21434D; }
.a-btn.sm { padding:5px 12px; font-size:13.5px; }
.a-btn.ghost { background:#fff; color:var(--night); border:1px solid #CFC8B5; } .a-btn.ghost:hover { background:#F6F2E6; }
.a-btn.danger { background:var(--clay); } .a-btn.danger:hover { background:#9D3D20; }

.a-tabs { display:flex; gap:6px; margin:16px 0 4px; flex-wrap:wrap; }
.a-tabs a { padding:7px 14px; border-radius:20px; background:#fff; border:1px solid var(--line); text-decoration:none; color:var(--ink); font-weight:600; font-size:14px; }
.a-tabs a span { color:var(--soft); font-weight:400; margin-left:4px; }
.a-tabs a.on { background:var(--night); border-color:var(--night); color:#fff; } .a-tabs a.on span { color:#cfd8da; }
.a-filter { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:14px 0; }
input, select, textarea { font:inherit; padding:7px 10px; border:1px solid #CFC8B5; border-radius:6px; background:#fff; color:var(--ink); }
input:focus, select:focus, textarea:focus { outline:2px solid var(--marigold); outline-offset:0; border-color:var(--marigold); }
.a-filter input[name=find] { min-width:240px; }

.a-sub-head { display:flex; justify-content:space-between; gap:12px; align-items:baseline; flex-wrap:wrap; } .a-sub-head h2 { margin:0; }
.a-dl { display:grid; grid-template-columns:110px 1fr; gap:6px 14px; margin:14px 0; } .a-dl dt { color:var(--soft); } .a-dl dd { margin:0; }
.a-sub-act { display:flex; gap:22px; flex-wrap:wrap; padding-top:12px; border-top:1px solid #F0ECE0; }
.a-inline { display:flex; gap:8px; align-items:center; flex-wrap:wrap; } .a-inline label { display:flex; gap:5px; align-items:center; font-size:14px; }
.a-review .stars { color:var(--marigold); letter-spacing:1px; margin-right:6px; }
.a-review p { margin:10px 0; line-height:1.5; }
.a-row-act { display:flex; gap:8px; justify-content:flex-end; }
.a-reply summary { cursor:pointer; color:var(--blue); font-size:14px; margin:6px 0; }
.a-reply textarea { width:100%; margin:6px 0; }
.a-rev { padding:10px 0; border-bottom:1px solid #F0ECE0; } .a-rev p { margin:4px 0 0; color:var(--soft); font-size:14px; }
.a-rev strong { color:var(--marigold); }
.a-links { display:flex; flex-direction:column; gap:6px; }

.a-form .a-cols { display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; }
.a-form label, .a-login label { display:flex; flex-direction:column; gap:5px; font-weight:600; font-size:14px; }
.a-form label .muted { font-weight:400; font-size:12.5px; }
.a-form .wide { grid-column:1 / -1; }
.a-save { position:sticky; bottom:0; background:linear-gradient(transparent, var(--bg) 35%); padding:20px 0 10px; }
.a-danger { border-color:#EEC2B5; }
.a-check { padding-left:0; list-style:none; } .a-check li { padding:7px 0 7px 28px; position:relative; line-height:1.5; }
.a-check li::before { content:'•'; position:absolute; left:9px; color:var(--soft); }
.a-check li.ok::before { content:'✓'; color:var(--green); font-weight:700; left:6px; }
.a-check li.bad::before { content:'✕'; color:var(--clay); font-weight:700; left:6px; }

.a-login { max-width:400px; margin:60px auto; display:flex; flex-direction:column; gap:14px; }
.a-login h1 { margin:0; }
.pager { display:flex; gap:6px; margin:20px 0; flex-wrap:wrap; }
.pager a, .pager span { padding:6px 11px; border:1px solid var(--line); border-radius:6px; background:#fff; text-decoration:none; }
.pager .cur { background:var(--night); color:#fff; border-color:var(--night); }

@media (max-width:900px) {
  .a-grid2, .a-form .a-cols { grid-template-columns:1fr; }
  .a-main > .a-table { display:block; overflow-x:auto; }
}
.bar.big { display:block; width:100%; height:6px; margin-top:8px; }
.a-log { list-style:none; padding:0; margin:12px 0 22px; max-height:320px; overflow:auto; font-size:14px; border-top:1px solid #F0ECE0; }
.a-log li { padding:6px 2px; border-bottom:1px solid #F0ECE0; }
.a-log li.ok { color:var(--green); } .a-log li.bad { color:var(--clay); }
.a-log li a { color:var(--ink); }
.a-mini { padding:5px 0; border-bottom:1px solid #F0ECE0; font-size:14px; }
.a-card h2 + p { margin-top:0; }
button:disabled { opacity:.45; cursor:not-allowed; }
.a-file { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid #F0ECE0; flex-wrap:wrap; font-size:14px; }
.a-foot { margin-top:50px; text-align:center; color:var(--soft); font-size:12.5px; font-family:'Space Mono', monospace; }

@media (max-width:900px) {
  body.has-side .a-main { margin-left:0; padding:20px 16px 60px; }
  .a-side { transform:translateX(-100%); transition:transform .2s ease; box-shadow:0 0 40px rgba(0,0,0,.3); }
  body.side-open .a-side { transform:none; }
  .a-mobilebar { display:flex; align-items:center; gap:14px; background:var(--night); padding:10px 16px; border-bottom:4px solid var(--marigold); position:sticky; top:0; z-index:10; }
  .a-burger { background:none; border:0; padding:6px; display:flex; flex-direction:column; gap:4px; cursor:pointer; }
  .a-burger span { width:22px; height:2px; background:var(--cream); display:block; }
  body.side-open .a-scrim { display:block; position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:15; }
}
.a-linkbox { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; background:#fff; border:1px solid var(--line); border-left:4px solid var(--marigold); border-radius:8px; padding:12px 16px; margin:14px 0; font-size:14.5px; }
.a-linkbox a { font-weight:700; word-break:break-all; }
.a-subtabs { display:flex; gap:14px; margin:10px 0 4px; font-size:14px; } .a-subtabs a { color:var(--soft); text-decoration:none; padding-bottom:3px; } .a-subtabs a.on { color:var(--night); font-weight:700; border-bottom:2px solid var(--marigold); }
.a-quote { margin:10px 0; padding:10px 14px; background:#FCFAF4; border-left:3px solid var(--marigold); border-radius:4px; font-size:14.5px; }
.a-quote .stars { color:var(--marigold); } .a-quote cite { display:block; font-style:normal; color:var(--soft); font-size:12.5px; margin-top:4px; }
.a-msg { background:#F7F4EA; padding:10px 14px; border-radius:6px; line-height:1.55; margin:10px 0; }
.a-report-act { border-top:1px solid #F0ECE0; padding-top:12px; margin-top:8px; display:flex; flex-direction:column; gap:8px; }
.a-report-act textarea { width:100%; }
.a-prev { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; padding:12px 14px; background:#FCFAF4; border:1px solid var(--line); border-radius:8px; }
.a-prev strong { font-size:18px; color:var(--night); }
.a-save { z-index:1000; }
.pick-search { width:100%; height:40px; padding:0 12px; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:15px; margin:6px 0; box-sizing:border-box; }
select.pick-open { height:auto !important; }
.a-logo { font-family:'Big Shoulders Display', 'Archivo Black', sans-serif; font-weight:900; font-size:26px; letter-spacing:.01em; align-items:center; }
