.hidden{display:none !important}

/* ---- Login ---- */
.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,var(--navy-deep),var(--navy) 60%,var(--teal) 140%);padding:20px}
.login-card{background:var(--paper);border-radius:var(--radius-lg);padding:44px 40px;width:100%;max-width:380px;box-shadow:var(--shadow-lg)}
.login-card label{font-size:.83rem;font-weight:600;color:var(--navy-deep);display:block;margin-bottom:7px}
.login-card input{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--radius);font-family:inherit;font-size:.92rem;background:var(--cream)}
.login-card input:focus{outline:none;border-color:var(--gold-deep);background:var(--paper)}
.login-error{color:#C0392B;font-size:.85rem;margin-bottom:12px;min-height:18px}

/* ---- Dashboard layout ---- */
.dashboard{display:grid;grid-template-columns:230px 1fr;min-height:100vh;background:var(--cream)}
.sidebar{background:var(--navy-deep);color:#fff;padding:28px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.sidebar .brand{color:#fff}
.side-nav{display:flex;flex-direction:column;gap:4px}
.side-link{background:none;border:none;color:rgba(255,255,255,.75);text-align:left;padding:12px 14px;border-radius:var(--radius);font-size:.9rem;font-weight:500;transition:.2s}
.side-link:hover{background:rgba(255,255,255,.08);color:#fff}
.side-link.active{background:var(--gold);color:var(--navy-deep);font-weight:700}

.main-panel{padding:32px 40px;max-width:1100px}
.panel-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}
.site-switcher{display:flex;align-items:center;gap:10px}
.site-switcher label{font-size:.83rem;font-weight:600;color:var(--slate)}
.site-switcher select{padding:9px 14px;border-radius:var(--radius);border:1.5px solid var(--line);background:var(--paper);font-family:inherit;font-weight:600;color:var(--navy-deep)}
.admin-name{font-size:.88rem;color:var(--slate)}

.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.site-tag{font-size:.75rem;font-weight:700;color:var(--gold-deep);background:rgba(222,159,60,.14);padding:4px 10px;border-radius:20px;margin-left:10px;vertical-align:middle}
.big-num{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--navy-deep);margin-top:8px}

/* ---- Tables ---- */
.admin-table{width:100%;border-collapse:collapse;background:var(--paper);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.admin-table th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--slate);background:var(--cream);padding:12px 16px;border-bottom:1px solid var(--line)}
.admin-table td{padding:14px 16px;border-bottom:1px solid var(--line);font-size:.9rem}
.admin-table tr:last-child td{border-bottom:none}
.row-actions{display:flex;gap:10px}
.row-actions button{background:none;border:none;font-size:.82rem;font-weight:600;color:var(--navy-deep)}
.row-actions button.danger{color:#C0392B}
.status-badge{font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:20px;text-transform:capitalize}
.status-new{background:rgba(222,159,60,.16);color:var(--gold-deep)}
.status-contacted{background:rgba(28,143,184,.14);color:#1C8FB8}
.status-enrolled{background:rgba(46,125,91,.14);color:var(--success)}
.status-closed{background:rgba(91,107,118,.14);color:var(--slate)}

/* ---- Gallery admin grid ---- */
.gallery-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gallery-admin-item{background:var(--paper);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}
.gallery-admin-item img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--line)}
.gallery-admin-item .meta{padding:10px 12px;display:flex;justify-content:space-between;align-items:center}
.gallery-admin-item .meta span{font-size:.78rem;color:var(--slate)}

/* ---- Modal ---- */
.modal-overlay{position:fixed;inset:0;background:rgba(8,25,37,.55);display:flex;align-items:center;justify-content:center;z-index:300;padding:20px}
.modal-card{background:var(--paper);border-radius:var(--radius-lg);padding:34px;width:100%;max-width:520px;max-height:88vh;overflow-y:auto}
.modal-card h3{margin-bottom:20px}
.modal-actions{display:flex;gap:12px;margin-top:24px}

@media (max-width:860px){
  .dashboard{grid-template-columns:1fr}
  .sidebar{position:relative;height:auto;flex-direction:row;overflow-x:auto;padding:16px}
  .side-nav{flex-direction:row}
  #logoutBtn{margin-top:0}
  .main-panel{padding:24px 20px}
  .gallery-admin-grid{grid-template-columns:repeat(2,1fr)}
}
