*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --coral:#FF6B35;--cream:#FAF3EA;--dark:#1A1612;--mid:#6B5B4E;--light:#B0A090;
  --white:#FFFFFF;--border:rgba(255,255,255,0.08);--pad:clamp(16px,4vw,32px);
}
html{-webkit-text-size-adjust:100%}
body{font-family:'DM Sans',sans-serif;background:var(--dark);color:var(--cream);min-height:100vh;line-height:1.5}

[hidden]{display:none!important}

.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--pad)}
.admin-login[hidden]{display:none!important}
.admin-app[hidden]{display:none!important}
.admin-login__card{width:100%;max-width:400px;background:#241f1a;border:1px solid var(--border);border-radius:20px;padding:clamp(1.5rem,5vw,2rem)}
.admin-login__brand{font-size:0.75rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--coral);margin-bottom:0.5rem}
.admin-login__title{font-family:'DM Serif Display',serif;font-size:1.75rem;margin-bottom:0.35rem}
.admin-login__hint{font-size:12px;color:var(--light);margin-bottom:1rem;word-break:break-all}
.admin-login__sub{font-size:14px;color:var(--light);margin-bottom:1.5rem}

.admin-form{display:flex;flex-direction:column;gap:0.35rem}
.admin-form__label{font-size:13px;font-weight:600;margin-top:0.5rem}
.admin-form__input{
  width:100%;border:1px solid var(--border);border-radius:12px;padding:12px 14px;
  font:inherit;font-size:16px;color:var(--cream);background:#1a1612;min-height:48px;
}
.admin-form__input:focus{outline:none;border-color:var(--coral)}
.admin-form__error{font-size:14px;color:#ff8a80;margin-top:0.5rem}

.admin-btn{
  border:none;border-radius:50px;font:inherit;font-size:14px;font-weight:600;
  padding:12px 20px;cursor:pointer;transition:opacity .15s,transform .15s;min-height:44px;
}
.admin-btn--primary{background:var(--coral);color:var(--white);margin-top:1rem;width:100%}
.admin-btn--primary:hover{opacity:.9;transform:scale(1.01)}
.admin-btn--google{
  display:flex;align-items:center;justify-content:center;gap:12px;width:100%;
  background:var(--white);color:var(--dark);border:1px solid rgba(0,0,0,0.1);margin-top:0.5rem;
}
.admin-btn--google:hover{transform:scale(1.01);box-shadow:0 4px 16px rgba(0,0,0,0.15)}
.admin-btn--google:disabled{opacity:.6;cursor:not-allowed;transform:none}
.admin-btn__google-icon{flex-shrink:0}
.admin-form__error--spaced{margin-bottom:1rem}
.admin-btn--ghost{background:transparent;color:var(--cream);border:1px solid var(--border)}
.admin-btn--ghost:hover{border-color:var(--coral);color:var(--coral)}
.admin-btn--small{padding:8px 14px;min-height:auto;font-size:13px}

.admin-header{border-bottom:1px solid var(--border);padding:12px var(--pad)}
.admin-header__inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.admin-header__brand{font-family:'DM Serif Display',serif;font-size:1.25rem}
.admin-header__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.admin-header__user{font-size:13px;color:var(--light);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.admin-main{max-width:1100px;margin:0 auto;padding:var(--pad)}
.admin-main__title{font-family:'DM Serif Display',serif;font-size:clamp(1.5rem,4vw,2rem);margin-bottom:1.25rem}

.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:1.25rem}
.admin-stat{background:#241f1a;border:1px solid var(--border);border-radius:16px;padding:1rem 1.1rem}
.admin-stat__value{font-size:1.75rem;font-weight:700;color:var(--coral)}
.admin-stat__label{font-size:13px;color:var(--light);margin-top:0.25rem}

.admin-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1rem}
.admin-filter{
  border:1px solid var(--border);background:transparent;color:var(--cream);
  border-radius:50px;padding:8px 16px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;
}
.admin-filter--active,.admin-filter[aria-pressed="true"]{background:var(--coral);border-color:var(--coral);color:var(--white)}

.admin-alert{font-size:14px;color:#ff8a80;margin-bottom:1rem}
.admin-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:16px;background:#241f1a}
.admin-table{width:100%;border-collapse:collapse;font-size:14px}
.admin-table th,.admin-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}
.admin-table th{font-size:12px;text-transform:uppercase;letter-spacing:0.06em;color:var(--light);font-weight:600}
.admin-table tbody tr:last-child td{border-bottom:none}
.admin-table a{color:var(--coral);text-decoration:none}
.admin-table a:hover{text-decoration:underline}
.admin-badge{display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;border-radius:50px;background:rgba(255,107,53,0.15);color:var(--coral)}
.admin-date{white-space:nowrap;color:var(--light);font-size:13px}
.admin-social{word-break:break-word;font-size:13px;line-height:1.45}
.admin-social-line{margin-bottom:0.2rem}
.admin-social-line__label{font-weight:600;color:rgba(255,255,255,0.55)}
.admin-certs{display:flex;flex-direction:column;gap:0.35rem;align-items:flex-start}
.admin-cert-link{
  font:inherit;font-size:13px;font-weight:600;color:#7eb8ff;background:none;border:none;padding:0;
  cursor:pointer;text-align:left;text-decoration:underline;
}
.admin-cert-link:hover{color:#a8d4ff}
.admin-cert-link:disabled{opacity:0.5;cursor:wait}
.admin-cert-kind{font-weight:400;color:rgba(255,255,255,0.45);text-decoration:none}
.admin-muted{color:var(--light)}
.admin-loading{text-align:center;color:var(--light);padding:2rem}
.admin-empty{text-align:center;color:var(--light);padding:2rem}

.admin-section{margin-top:clamp(2.5rem,8vw,4rem);padding-top:clamp(1.5rem,5vw,2rem);border-top:1px solid var(--border)}
.admin-section__title{font-family:'DM Serif Display',serif;font-size:clamp(1.35rem,4vw,1.75rem);margin-bottom:0.35rem}
.admin-section__sub{font-size:14px;color:var(--light);margin-bottom:1.25rem}
.admin-add-admin{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:0.75rem}
.admin-add-admin__input{flex:1 1 200px;max-width:100%}
.admin-add-admin__btn{flex:0 0 auto;width:auto;min-width:120px;margin-top:0}
.admin-form__success{font-size:14px;color:#7dcea0;margin-bottom:1rem}
.admin-table-wrap--spaced{margin-top:0.5rem}

@media (max-width:640px){
  .admin-stats{grid-template-columns:1fr}
  .admin-header__user{display:none}
}
