/* ── ADMIN STYLES ── */
.admin-body { background: #0E0E1A; min-height: 100vh; }

/* LOGIN */
.login-screen { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--dark); padding: 2rem; }
.login-box { background: #16162A; border: 1px solid rgba(255,255,255,.1); border-radius: 24px; padding: 3rem; width: 100%; max-width: 420px; text-align: center; }
.login-logo { height: 80px; margin-bottom: 1.5rem; }
.login-box h2 { color: #fff; font-family: 'Bebas Neue', sans-serif; font-size: 2rem; letter-spacing: 1px; margin-bottom: .5rem; }
.login-box p { color: rgba(255,255,255,.4); font-size: .9rem; margin-bottom: 2rem; }
.login-hint { color: rgba(255,255,255,.25); font-size: .78rem; margin-top: 1rem; }
.login-hint code { background: rgba(255,255,255,.1); padding: .2rem .5rem; border-radius: 6px; font-family: monospace; color: var(--orange2); }
.login-box .fg label { color: rgba(255,255,255,.6); }
.login-box .fg input { background: rgba(255,255,255,.06); border: 1.5px solid rgba(255,255,255,.12); color: #fff; }
.login-box .fg input::placeholder { color: rgba(255,255,255,.25); }

/* PANEL LAYOUT */
.admin-panel { display: flex; min-height: 100vh; }

/* SIDEBAR */
.admin-sidebar { width: 240px; min-width: 240px; background: #16162A; border-right: 1px solid rgba(255,255,255,.07); display: flex; flex-direction: column; padding: 1.5rem 0; }
.sidebar-brand { display: flex; align-items: center; gap: 1rem; padding: 0 1.5rem 1.5rem; border-bottom: 1px solid rgba(255,255,255,.07); }
.sidebar-brand span { font-family: 'Bebas Neue', sans-serif; font-size: 1.4rem; color: var(--orange); letter-spacing: 1px; }
.sidebar-nav { display: flex; flex-direction: column; gap: .25rem; padding: 1.5rem 1rem; flex: 1; }
.snav { display: flex; align-items: center; gap: .75rem; padding: .75rem 1rem; border-radius: 12px; color: rgba(255,255,255,.5); font-size: .88rem; font-weight: 700; cursor: pointer; transition: all .2s; text-decoration: none; }
.snav:hover { background: rgba(255,255,255,.05); color: #fff; }
.snav.active { background: rgba(255,107,0,.12); color: var(--orange); }
.btn-logout { margin: 1rem; background: rgba(231,76,60,.1); border: 1px solid rgba(231,76,60,.2); color: rgba(231,76,60,.8); padding: .6rem; border-radius: 12px; font-family: 'Nunito', sans-serif; font-weight: 700; font-size: .85rem; cursor: pointer; transition: all .2s; }
.btn-logout:hover { background: rgba(231,76,60,.2); color: #e74c3c; }

/* MAIN */
.admin-main { flex: 1; overflow-y: auto; background: #12121E; }
.admin-tab { display: none; padding: 2.5rem; }
.admin-tab.active { display: block; }
.admin-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2rem; gap: 1rem; flex-wrap: wrap; }
.admin-header h1 { font-family: 'Bebas Neue', sans-serif; font-size: 2rem; color: #fff; letter-spacing: 1px; }
.admin-filters { display: flex; gap: 1rem; margin-bottom: 1.5rem; }
.admin-filters input, .admin-filters select { background: rgba(255,255,255,.05); border: 1.5px solid rgba(255,255,255,.1); color: #fff; border-radius: 12px; padding: .65rem 1rem; font-family: 'Nunito', sans-serif; font-size: .9rem; outline: none; transition: border-color .2s; flex: 1; }
.admin-filters input::placeholder { color: rgba(255,255,255,.3); }
.admin-filters input:focus, .admin-filters select:focus { border-color: var(--orange); }
.admin-filters select option { background: #16162A; }

/* SERVICE ADMIN CARDS */
.admin-services-list { display: flex; flex-direction: column; gap: 1rem; }
.admin-service-item { background: #16162A; border: 1.5px solid rgba(255,255,255,.08); border-radius: 16px; padding: 1.5rem; display: flex; gap: 1.5rem; align-items: center; transition: border-color .2s; }
.admin-service-item:hover { border-color: rgba(255,107,0,.3); }
.asi-icon { font-size: 2rem; width: 56px; height: 56px; min-width: 56px; background: rgba(255,107,0,.1); border-radius: 14px; display: flex; align-items: center; justify-content: center; }
.asi-info { flex: 1; }
.asi-name { font-family: 'Bebas Neue', sans-serif; font-size: 1.2rem; color: #fff; letter-spacing: .5px; margin-bottom: .25rem; }
.asi-cat { font-size: .75rem; color: rgba(255,107,0,.8); font-weight: 700; text-transform: uppercase; letter-spacing: .5px; margin-bottom: .25rem; }
.asi-desc { color: rgba(255,255,255,.4); font-size: .82rem; line-height: 1.5; }
.asi-meta { display: flex; gap: .75rem; margin-top: .5rem; flex-wrap: wrap; }
.asi-badge { background: rgba(255,255,255,.05); color: rgba(255,255,255,.5); font-size: .72rem; padding: .2rem .6rem; border-radius: 50px; }
.asi-actions { display: flex; gap: .6rem; }
.btn-edit-s { background: rgba(255,107,0,.12); color: var(--orange); border: 1px solid rgba(255,107,0,.2); padding: .5rem 1rem; border-radius: 10px; font-family: 'Nunito', sans-serif; font-size: .82rem; font-weight: 700; cursor: pointer; transition: all .2s; white-space: nowrap; }
.btn-edit-s:hover { background: rgba(255,107,0,.25); }
.btn-del-s { background: rgba(231,76,60,.1); color: #e74c3c; border: 1px solid rgba(231,76,60,.15); padding: .5rem 1rem; border-radius: 10px; font-family: 'Nunito', sans-serif; font-size: .82rem; font-weight: 700; cursor: pointer; transition: all .2s; white-space: nowrap; }
.btn-del-s:hover { background: rgba(231,76,60,.2); }
.btn-view-s { background: rgba(255,255,255,.06); color: rgba(255,255,255,.6); border: 1px solid rgba(255,255,255,.1); padding: .5rem 1rem; border-radius: 10px; font-family: 'Nunito', sans-serif; font-size: .82rem; font-weight: 700; cursor: pointer; transition: all .2s; white-space: nowrap; }
.btn-view-s:hover { background: rgba(255,255,255,.1); color: #fff; }

/* ADMIN FORM */
.admin-form-card { background: #16162A; border: 1.5px solid rgba(255,255,255,.08); border-radius: 20px; padding: 2rem; }
.admin-form-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 2.5rem; }
.admin-form-left, .admin-form-right { }
.admin-form-actions { display: flex; gap: 1rem; justify-content: flex-end; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.07); }
.btn-cancel-form { background: rgba(255,255,255,.05); border: 1.5px solid rgba(255,255,255,.1); color: rgba(255,255,255,.6); padding: .7rem 1.5rem; border-radius: 50px; font-family: 'Nunito', sans-serif; font-size: .9rem; font-weight: 700; cursor: pointer; }
.admin-form-card .fg label { color: rgba(255,255,255,.65); }
.admin-form-card .fg input, .admin-form-card .fg textarea, .admin-form-card .fg select { background: rgba(255,255,255,.05); border: 1.5px solid rgba(255,255,255,.1); color: #fff; border-radius: 12px; }
.admin-form-card .fg input::placeholder, .admin-form-card .fg textarea::placeholder { color: rgba(255,255,255,.25); }
.admin-form-card .fg input:focus, .admin-form-card .fg textarea:focus, .admin-form-card .fg select:focus { border-color: var(--orange); }
.admin-form-card .fg select option { background: #16162A; }
.admin-form-card .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }

/* TARIFS ROWS */
.tarif-input-row { display: flex; gap: .5rem; margin-bottom: .5rem; }
.tarif-input-row input { flex: 1; background: rgba(255,255,255,.05); border: 1.5px solid rgba(255,255,255,.1); color: #fff; border-radius: 10px; padding: .6rem .9rem; font-family: 'Nunito', sans-serif; font-size: .85rem; }
.tarif-input-row input::placeholder { color: rgba(255,255,255,.25); }
.btn-rm-tarif { background: rgba(231,76,60,.1); color: #e74c3c; border: 1px solid rgba(231,76,60,.15); border-radius: 8px; padding: 0 .7rem; cursor: pointer; font-size: 1.1rem; }
.btn-add-tarif { background: rgba(255,255,255,.05); border: 1.5px dashed rgba(255,255,255,.15); color: rgba(255,255,255,.5); border-radius: 10px; padding: .5rem 1rem; font-family: 'Nunito', sans-serif; font-size: .82rem; font-weight: 700; cursor: pointer; width: 100%; margin-top: .25rem; transition: all .2s; }
.btn-add-tarif:hover { border-color: var(--orange); color: var(--orange); }

/* PHOTO UPLOAD */
.photo-upload-zone { border: 2px dashed rgba(255,255,255,.15); border-radius: 14px; padding: 2rem; text-align: center; cursor: pointer; transition: border-color .2s, background .2s; }
.photo-upload-zone:hover { border-color: var(--orange); background: rgba(255,107,0,.04); }
.photo-upload-icon { font-size: 2.5rem; margin-bottom: .5rem; }
.photo-upload-zone p { color: rgba(255,255,255,.5); font-size: .9rem; margin-bottom: .25rem; }
.photo-upload-zone small { color: rgba(255,255,255,.3); font-size: .75rem; }
.photos-preview { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .75rem; }
.photo-prev-item { position: relative; width: 80px; height: 80px; border-radius: 10px; overflow: hidden; }
.photo-prev-item img { width: 100%; height: 100%; object-fit: cover; }
.photo-prev-del { position: absolute; top: 2px; right: 2px; background: rgba(231,76,60,.8); color: #fff; border: none; border-radius: 50%; width: 20px; height: 20px; font-size: .75rem; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.pdf-upload-zone { border: 2px dashed rgba(255,255,255,.15); border-radius: 12px; padding: 1.25rem; text-align: center; cursor: pointer; color: rgba(255,255,255,.5); font-size: .9rem; transition: all .2s; }
.pdf-upload-zone:hover { border-color: var(--orange); color: var(--orange); }

/* PREVIEW CARD */
.admin-preview-card { background: rgba(255,255,255,.04); border: 1.5px solid rgba(255,255,255,.08); border-radius: var(--radius); padding: 1.5rem; margin-top: 1rem; }
.preview-label { font-size: .7rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,.3); margin-bottom: 1rem; }
.prev-icon { font-size: 2rem; margin-bottom: .75rem; display: block; }
.prev-name { font-family: 'Bebas Neue', sans-serif; font-size: 1.3rem; color: #fff; letter-spacing: .5px; margin-bottom: .3rem; }
.prev-cat { display: inline-block; background: rgba(255,107,0,.08); color: var(--orange); font-size: .7rem; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; padding: .2rem .6rem; border-radius: 50px; margin-bottom: .5rem; }
.prev-desc { color: rgba(255,255,255,.4); font-size: .82rem; line-height: 1.5; margin-bottom: .75rem; }
.prev-price { color: var(--orange2); font-weight: 800; font-size: .9rem; }

/* SETTINGS */
.admin-form-card h3 { color: #fff; font-family: 'Bebas Neue', sans-serif; font-size: 1.5rem; letter-spacing: .5px; }

/* PDF PREVIEW */
#pdfPreview { margin-top: .5rem; }
.pdf-item { display: flex; align-items: center; gap: .75rem; background: rgba(255,255,255,.05); border-radius: 10px; padding: .75rem 1rem; }
.pdf-item span { flex: 1; color: rgba(255,255,255,.7); font-size: .85rem; }
.btn-rm-pdf { background: rgba(231,76,60,.1); color: #e74c3c; border: 1px solid rgba(231,76,60,.15); border-radius: 8px; padding: .3rem .7rem; cursor: pointer; font-size: .8rem; }

@media(max-width:900px) {
  .admin-form-grid { grid-template-columns: 1fr; }
  .admin-sidebar { display: none; }
  .admin-tab { padding: 1.5rem; }
}
