/* ============================================================
   RACING QUARTER HORSE — Pannello Admin
   ============================================================ */
:root{
  --bg:#0c0c0f; --surface:#15151a; --surface-2:#1c1c22;
  --line:rgba(201,162,75,.22); --line-soft:rgba(255,255,255,.08);
  --gold:#c9a24b; --gold-light:#e6c878; --text:#ece9e3; --muted:#9a958c;
  --danger:#e0564b; --ok:#25d366; --warn:#d8a23a;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Jost',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body.admin,body.admin-login{font-family:var(--sans);background:var(--bg);color:var(--text);font-weight:300;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.15}

/* ---- buttons ---- */
.abtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-weight:500;font-size:.82rem;letter-spacing:.08em;border:1px solid transparent;border-radius:6px;padding:11px 20px;cursor:pointer;transition:.25s;white-space:nowrap}
.abtn--sm{padding:8px 15px;font-size:.76rem}
.abtn--xs{padding:6px 11px;font-size:.72rem;border-radius:5px}
.abtn--lg{padding:15px 26px;font-size:.9rem}
.abtn--block{display:flex;width:100%}
.abtn--gold{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#1a1408;border-color:var(--gold)}
.abtn--gold:hover{filter:brightness(1.06);box-shadow:0 8px 20px -8px rgba(201,162,75,.6)}
.abtn--ghost{background:transparent;color:var(--text);border-color:var(--line-soft)}
.abtn--ghost:hover{border-color:var(--gold);color:var(--gold-light)}
.abtn--danger{background:transparent;color:var(--danger);border-color:rgba(224,86,75,.4)}
.abtn--danger:hover{background:var(--danger);color:#fff}

/* ---- flash ---- */
.admin-flash{padding:13px 18px;border-radius:8px;font-size:.9rem;margin-bottom:20px}
.admin-flash--success{background:rgba(37,211,102,.13);border:1px solid rgba(37,211,102,.4);color:#aef0c8}
.admin-flash--error{background:rgba(224,86,75,.13);border:1px solid rgba(224,86,75,.4);color:#f4b8b2}
.admin-flash--info{background:rgba(201,162,75,.13);border:1px solid var(--line);color:var(--gold-light)}

/* ---- login ---- */
.admin-login{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;
  background:radial-gradient(circle at 50% 0%,#15110a,#0c0c0f 60%)}
.admin-login__card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:46px 40px;text-align:center;box-shadow:0 30px 70px -20px rgba(0,0,0,.7)}
.admin-login__logo{width:74px;margin:0 auto 20px}
.admin-login__card h1{font-size:1.7rem;margin-bottom:8px}
.admin-login__card p{color:var(--muted);font-size:.92rem;margin-bottom:26px}
.admin-login__card input{width:100%;background:var(--bg);border:1px solid var(--line-soft);border-radius:7px;padding:14px 16px;color:var(--text);font-family:var(--sans);font-size:1rem;margin-bottom:16px;text-align:center;letter-spacing:.1em}
.admin-login__card input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,75,.12)}
.admin-login__back{display:inline-block;margin-top:22px;color:var(--muted);font-size:.84rem}
.admin-login__back:hover{color:var(--gold-light)}

/* ---- top bar ---- */
.admin-top{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;background:rgba(12,12,15,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft)}
.admin-top__brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:1.2rem;font-weight:600}
.admin-top__brand img{width:38px;height:38px;object-fit:contain}
.admin-top__nav{display:flex;align-items:center;gap:16px}
.admin-top__nav>a{font-size:.84rem;color:var(--muted);letter-spacing:.04em}
.admin-top__nav>a:hover{color:var(--gold-light)}

/* ---- main ---- */
.admin-main{max-width:1200px;margin:0 auto;padding:34px 28px 80px}
.admin-h1{font-size:2rem;margin-bottom:24px}

/* ---- stats ---- */
.admin-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-bottom:34px}
.admin-stat{background:var(--surface);border:1px solid var(--line-soft);border-radius:12px;padding:22px 18px;text-align:center}
.admin-stat__num{display:block;font-family:var(--serif);font-size:2.3rem;font-weight:600;color:var(--gold-light);line-height:1}
.admin-stat span:last-child{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:6px;display:block}

/* ---- panel ---- */
.admin-panel{background:var(--surface);border:1px solid var(--line-soft);border-radius:14px;padding:26px;margin-bottom:28px}
.admin-panel__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.admin-panel__head h2{font-size:1.5rem}
.admin-empty{color:var(--muted);padding:20px 0}
.admin-empty a{color:var(--gold-light)}

/* ---- table ---- */
.admin-table-wrap{overflow-x:auto}
.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}
.admin-table th{text-align:left;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500;padding:10px 14px;border-bottom:1px solid var(--line-soft)}
.admin-table td{padding:12px 14px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
.admin-table tr:hover td{background:rgba(255,255,255,.02)}
.admin-table strong{font-weight:500;font-family:var(--serif);font-size:1.1rem}
.admin-table small{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}
.admin-table__thumb img{width:64px;height:48px;object-fit:cover;border-radius:6px}
.admin-table__actions{display:flex;gap:6px;align-items:center;white-space:nowrap}
.admin-table__actions form{display:inline}
.admin-msg{max-width:280px;color:var(--muted);font-size:.84rem}
.tag{display:inline-block;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:20px;background:rgba(255,255,255,.06);color:var(--muted)}
.tag--gold{background:rgba(201,162,75,.18);color:var(--gold-light)}
.status{font-size:.72rem;letter-spacing:.06em;padding:4px 11px;border-radius:20px;font-weight:500}
.status--available{background:rgba(37,211,102,.15);color:#7fe0a6}
.status--reserved{background:rgba(216,162,58,.18);color:var(--gold-light)}
.status--sold{background:rgba(224,86,75,.18);color:#f0a39c}

/* ---- form ---- */
.admin-form-page{max-width:1120px}
.aform__grid{display:grid;grid-template-columns:1fr 360px;gap:26px;align-items:start}
.aform__main{display:flex;flex-direction:column;gap:24px}
.aform__side{display:flex;flex-direction:column;gap:24px}
.aform__card{background:var(--surface);border:1px solid var(--line-soft);border-radius:14px;padding:26px}
.aform__card h3{font-size:1.35rem;margin-bottom:20px;color:var(--gold-light)}
.aform__card--sticky{position:sticky;top:80px;border-color:var(--line)}
.aform__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.aform__hint{font-size:.8rem;color:var(--muted);margin-top:8px}
.aform__delete{margin-top:24px;text-align:center}
.afield{display:flex;flex-direction:column;gap:7px;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.afield:last-child{margin-bottom:0}
.afield input,.afield textarea,.afield select{font-family:var(--sans);font-weight:300;font-size:.98rem;color:var(--text);background:var(--bg);border:1px solid var(--line-soft);border-radius:7px;padding:12px 14px;text-transform:none;letter-spacing:0;width:100%}
.afield input:focus,.afield textarea:focus,.afield select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,75,.12)}
.afield textarea{resize:vertical;line-height:1.6}
.afield--file input{padding:10px;background:var(--surface-2)}
.afield--check{flex-direction:row;align-items:center;gap:10px;text-transform:none;letter-spacing:0;font-size:.92rem;color:var(--text)}
.afield--check input{width:auto}

/* ---- photo grid ---- */
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-bottom:18px}
.photo-item{position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;border:2px solid var(--line-soft)}
.photo-item.is-primary{border-color:var(--gold)}
.photo-item img{width:100%;height:100%;object-fit:cover}
.photo-item__badge{position:absolute;bottom:6px;left:6px;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#1a1408;padding:3px 8px;border-radius:4px;font-weight:600}
.photo-item__actions{position:absolute;top:6px;right:6px;display:flex;gap:5px;opacity:0;transition:.25s}
.photo-item:hover .photo-item__actions{opacity:1}
.photo-btn{width:28px;height:28px;border-radius:6px;border:none;background:rgba(12,12,15,.85);color:var(--gold-light);cursor:pointer;font-size:.95rem;display:flex;align-items:center;justify-content:center;transition:.2s}
.photo-btn:hover{background:var(--gold);color:#1a1408}
.photo-btn--del{color:#f0a39c}
.photo-btn--del:hover{background:var(--danger);color:#fff}

@media(max-width:860px){
  .admin-stats{grid-template-columns:repeat(3,1fr)}
  .aform__grid{grid-template-columns:1fr}
  .aform__card--sticky{position:static}
}
@media(max-width:520px){
  .admin-stats{grid-template-columns:repeat(2,1fr)}
  .admin-top__nav>a:first-child{display:none}
  .aform__row{grid-template-columns:1fr}
}
