@import"https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,900&family=Space+Mono:wght@400;700&display=swap";:root{--green: #0b5d3a;--cream: #f4f1ea;--display: "Bodoni Moda", "Didot", serif;--mono: "Space Mono", ui-monospace, monospace;--sidebar: 220px}*,*:before,*:after{box-sizing:border-box;border-radius:0}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--green);color:var(--cream);font-family:var(--mono);font-size:14px;line-height:1.5}a{color:inherit}::selection{background:var(--cream);color:var(--green)}.display{font-family:var(--display);font-weight:900;text-transform:uppercase;line-height:.92;letter-spacing:-.01em;margin:0}.kicker{font-size:11px;text-transform:uppercase;letter-spacing:.18em;margin:0}.muted{opacity:.72}.small{font-size:11px;letter-spacing:.08em}.btn{display:inline-block;padding:10px 18px;border:2px solid var(--cream);background:transparent;color:var(--cream);font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;text-decoration:none}.btn:hover:not(:disabled){background:var(--cream);color:var(--green)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-danger{border-color:var(--cream)}.panel{background:var(--cream);color:var(--green);padding:24px;border:3px solid var(--cream)}.panel ::selection{background:var(--green);color:var(--cream)}.error{border:2px solid var(--cream);padding:12px 16px;margin:16px 0;font-size:12px}.admin-shell{display:flex;min-height:100vh}.admin-sidebar{width:var(--sidebar);flex-shrink:0;border-right:3px solid var(--cream);padding:24px 16px;display:flex;flex-direction:column;gap:8px}.admin-sidebar .display{font-size:1.4rem;margin-bottom:24px}.admin-nav a{display:block;padding:10px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;border:1px solid transparent}.admin-nav a:hover,.admin-nav a.active{border-color:var(--cream)}.admin-main{flex:1;padding:32px;max-width:1100px}.admin-header{margin-bottom:28px}.admin-header h1{font-family:var(--display);font-size:2rem;font-weight:900;text-transform:uppercase;margin:0 0 8px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:28px}.stat{border:2px solid var(--cream);padding:16px}.stat .value{font-size:1.6rem;font-weight:700}.table-wrap{overflow-x:auto;border:2px solid var(--cream)}table.data{width:100%;border-collapse:collapse;font-size:12px}table.data th,table.data td{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(244,241,234,.25);vertical-align:top}table.data th{font-size:10px;text-transform:uppercase;letter-spacing:.14em;opacity:.8}table.data tr:last-child td{border-bottom:none}.tabs{display:flex;gap:0;margin-bottom:16px}.tab{padding:8px 16px;border:2px solid var(--cream);border-right:none;background:transparent;color:var(--cream);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.tab:last-child{border-right:2px solid var(--cream)}.tab.active{background:var(--cream);color:var(--green)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{max-width:420px;width:100%;text-align:center}.login-card .display{font-size:2.4rem;margin-bottom:12px}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b5d3ad9;display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.modal{background:var(--cream);color:var(--green);padding:28px;max-width:440px;width:100%;border:3px solid var(--cream)}.modal h2{font-family:var(--display);text-transform:uppercase;margin:0 0 16px}.modal textarea{width:100%;min-height:80px;font-family:var(--mono);font-size:12px;padding:8px;border:2px solid var(--green);background:transparent;color:var(--green);margin-bottom:16px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.addr{font-size:11px;word-break:break-all}@media (max-width: 720px){.admin-shell{flex-direction:column}.admin-sidebar{width:100%;border-right:none;border-bottom:3px solid var(--cream)}.admin-nav{display:flex;flex-wrap:wrap;gap:8px}}
