.admin-body{background:var(--paper-tint);}

/* robust hide — guards against any class elsewhere overriding [hidden] */
[hidden]{display:none !important;}

/* login */
.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;}
.admin-login__box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:40px;max-width:360px;width:100%;text-align:center;}
.admin-login__logo{height:40px;margin-bottom:18px;}
.admin-login__box h1{font-size:1.3rem;margin-bottom:6px;}
.admin-login__box p{font-size:.9rem;margin-bottom:20px;}
.admin-login__box input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;font-family:var(--font-body);font-size:.95rem;}
.admin-login__box .btn{width:100%;justify-content:center;}
.admin-login__error{color:var(--red);font-size:.85rem;margin:12px 0 0;min-height:1em;}

/* shell */
.admin__header{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;background:#fff;border-bottom:1px solid var(--line);}
.admin__header-actions{display:flex;gap:10px;}
.btn--sm{padding:9px 18px;font-size:.85rem;}

.admin__tabs{display:flex;gap:4px;padding:14px 28px 0;background:#fff;border-bottom:1px solid var(--line);overflow-x:auto;}
.admin__tab{background:none;border:0;padding:10px 16px;font-family:var(--font-body);font-weight:600;font-size:.88rem;color:var(--ink-soft);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;}
.admin__tab.is-active{color:var(--blue-deep);border-color:var(--blue);}

.admin__main{max-width:900px;margin:0 auto;padding:36px 28px 80px;}
.admin__panel{display:none;}
.admin__panel.is-active{display:block;animation:adminFadeIn .28s ease;}
@keyframes adminFadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.admin__hint{color:var(--ink-soft);font-size:.9rem;margin-bottom:22px;max-width:60ch;}

.admin__form{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:28px;align-items:end;}
.admin__form label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:500;}
.admin__form input,.admin__form select,.admin__form textarea{
  font-family:var(--font-body);font-size:.92rem;padding:10px 11px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-tint);
}
.admin__form textarea{resize:vertical;}
.admin__form button{grid-column:1/-1;justify-self:start;}

.admin__lists{display:flex;flex-direction:column;gap:28px;}
.admin__lists h4{font-family:var(--font-head);font-size:1rem;margin:0 0 10px;}
.admin__list,.admin__grid{display:flex;flex-direction:column;gap:10px;}
.admin__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;}

.admin-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;font-size:.9rem;}
.admin-row__title{font-weight:600;}
.admin-row__meta{color:var(--ink-soft);font-size:.82rem;display:block;}
.admin-row__delete{background:none;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:.78rem;font-weight:600;color:var(--red);cursor:pointer;white-space:nowrap;}
.admin-row__delete:hover{background:#FDEAEA;}

.admin-tile{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.admin-tile img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.admin-tile__body{padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:8px;}
.admin-tile__body span{font-size:.8rem;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

.admin-siteimg{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.admin-siteimg img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.admin-siteimg__body{padding:12px;}
.admin-siteimg__body label{font-size:.78rem;font-weight:600;color:var(--ink-soft);display:block;margin-bottom:8px;}
.admin-siteimg__body input[type="file"]{font-size:.8rem;}

.admin__empty{color:var(--ink-soft);font-size:.88rem;}

/* site text editor */
.admin__text-group{margin-bottom:28px;}
.admin__text-group h4{font-family:var(--font-head);font-size:.98rem;margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line);}
.admin__text-field{margin-bottom:14px;}
.admin__text-field label{display:block;font-size:.8rem;font-weight:600;color:var(--ink-soft);margin-bottom:5px;}
.admin__text-field input,.admin__text-field textarea{
  width:100%;font-family:var(--font-body);font-size:.9rem;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;
}
.admin__text-field textarea{resize:vertical;}
.admin__save-bar{position:sticky;bottom:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;display:flex;align-items:center;gap:14px;margin-top:8px;box-shadow:0 -10px 24px -18px rgba(14,27,51,.25);}
.admin__save-status{font-size:.85rem;color:var(--ink-soft);}
.admin__save-status.is-success{color:#1E8E3E;}

@media (max-width:700px){
  .admin__form{grid-template-columns:1fr;}
}
