:root { --ink:#3b302c; --muted:#766a65; --gold:#9b7627; --paper:#fffdf8; --line:#e6ddd4; --rose:#f7e8eb; --sage:#edf4e9; --danger:#9b3030; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#f7f3ee; font:15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:inherit; }
button,input,select,textarea { font:inherit; }
.admin-shell { min-height:100vh; display:grid; grid-template-columns:240px minmax(0,1fr); }
.admin-nav { padding:1.5rem 1rem; color:#fffaf3; background:#3b302c; }
.admin-brand { display:block; margin:0 .7rem 1.6rem; font:700 1.35rem Georgia,serif; text-decoration:none; }
.admin-brand small { display:block; margin-top:.15rem; color:#cfbeb5; font:500 .72rem system-ui; letter-spacing:.08em; text-transform:uppercase; }
.admin-nav nav { display:grid; gap:.35rem; }
.admin-nav nav a { padding:.7rem .8rem; border-radius:10px; color:#e9ddd7; text-decoration:none; font-weight:650; }
.admin-nav nav a:hover,.admin-nav nav a.active { color:#3b302c; background:#fffaf3; }
.admin-main { min-width:0; padding:2rem clamp(1rem,4vw,3rem) 4rem; }
.admin-top { display:flex; justify-content:space-between; align-items:start; gap:1rem; margin-bottom:1.5rem; }
h1,h2,h3,p { margin-top:0; } h1 { margin-bottom:.2rem; font:700 clamp(1.8rem,4vw,2.6rem) Georgia,serif; } h2 { font:700 1.35rem Georgia,serif; }
.muted { color:var(--muted); }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:1rem; margin-bottom:1.5rem; }
.card,.panel { border:1px solid var(--line); border-radius:16px; background:var(--paper); box-shadow:0 8px 28px rgba(59,48,44,.06); }
.card { padding:1.15rem; } .card strong { display:block; font:700 2rem Georgia,serif; } .card span { color:var(--muted); }
.panel { padding:1.2rem; margin-bottom:1rem; overflow:auto; }
.panel-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.btn { display:inline-flex; min-height:40px; align-items:center; justify-content:center; padding:.55rem .85rem; border:1px solid #b68e39; border-radius:10px; color:#fff; background:#9b7627; text-decoration:none; cursor:pointer; font-weight:700; }
.btn.secondary { color:var(--ink); border-color:var(--line); background:#fff; }.btn.danger { border-color:#c76767; background:var(--danger); }.btn.small { min-height:32px; padding:.3rem .55rem; font-size:.86rem; }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; }.actions form { display:inline-flex; gap:.35rem; margin:0; }
table { width:100%; border-collapse:collapse; white-space:nowrap; } th,td { padding:.7rem .6rem; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; } th { color:var(--muted); font-size:.78rem; letter-spacing:.04em; text-transform:uppercase; } tbody tr:last-child td { border-bottom:0; }
.admin-note { display:inline-block; max-width:360px; white-space:normal; }
.badge { display:inline-flex; padding:.2rem .48rem; border-radius:999px; background:#eee7df; font-size:.79rem; font-weight:750; }.badge.confirmed,.badge.paid,.badge.published,.badge.completed,.badge.earned,.badge.settled { color:#315c38; background:#e4f1e3; }.badge.pending,.badge.sent,.badge.requested,.badge.planned,.badge.open { color:#735b1d; background:#fff1c9; }.badge.cancelled,.badge.refunded,.badge.reversed { color:#8c3030; background:#f9dddd; }.badge.waitlist,.badge.draft { color:#584a75; background:#ece6f7; }.badge.example { color:#5d4a72; background:#f0e9fa; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.field { display:grid; gap:.3rem; }.field.full { grid-column:1/-1; }.field label { font-weight:700; }.field input,.field select,.field textarea { width:100%; padding:.7rem .75rem; border:1px solid #cabdb4; border-radius:9px; background:#fff; }.field textarea { min-height:110px; resize:vertical; }.check { display:flex; gap:.5rem; align-items:center; }.check input { width:auto; }
.admin-image-field { padding:1rem; border:1px solid var(--line); border-radius:12px; background:#faf7f2; }.admin-event-image { width:min(520px,100%); aspect-ratio:16/9; border-radius:10px; object-fit:cover; box-shadow:0 8px 24px #3b302c18; }.admin-image-field input[type="file"] { background:#fff; }
.flash { margin-bottom:1rem; padding:.8rem 1rem; border-radius:10px; background:#e4f1e3; }.flash.error { color:#7c2929; background:#f9dddd; }
.inline-form { margin-top:.5rem; }
.note-field textarea { min-height:145px; }
.summary-strip { display:flex; flex-wrap:wrap; gap:1rem 2rem; margin-top:1rem; padding:1rem; border:1px solid var(--line); border-radius:12px; background:#faf7f2; }
.summary-strip span { color:var(--muted); }.summary-strip strong { display:block; color:var(--ink); font-size:1.08rem; }
.login-page { min-height:100vh; display:grid; place-items:center; padding:1rem; background:linear-gradient(135deg,var(--paper),var(--rose),var(--sage)); }.login-box { width:min(440px,100%); padding:2rem; border:1px solid var(--line); border-radius:20px; background:rgba(255,253,248,.94); box-shadow:0 18px 50px rgba(59,48,44,.12); }.login-box form { display:grid; gap:1rem; }
@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-nav{padding:.8rem}.admin-nav nav{display:flex;overflow:auto}.admin-brand{margin:.2rem .5rem .8rem}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cards,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.admin-main{padding:1.2rem .7rem 3rem}.admin-top,.panel-head{align-items:stretch;flex-direction:column}}
