/* Lisibilité et états exclusifs de l'administration EBEN. */
.admin-page.is-auth #dashboard-view { display: none !important; }
.admin-page.is-dashboard #auth-view { display: none !important; }
.admin-page.is-auth #auth-view { display: grid; }
.admin-page.is-dashboard #dashboard-view { display: block; }
.admin-page #dashboard-view[hidden],
.admin-page #auth-view[hidden],
.admin-page [hidden] { display: none !important; }

.back-site { font-size: 14px; }
.admin-main { max-width: 1240px; padding-top: 54px; }
.auth-layout { max-width: 1120px; grid-template-columns: minmax(0, .9fr) minmax(420px, 1fr); gap: clamp(48px, 8vw, 120px); }
.auth-info h1 { font-size: clamp(54px, 6vw, 76px); }
.auth-info > p, .auth-form > p { font-size: 16px; }
.auth-values { font-size: 15px; }
.auth-values i { width: 34px; height: 34px; font-size: 11px; }
.auth-card { padding: clamp(28px, 3vw, 42px); border-radius: 20px; }
.auth-tabs { padding: 5px; gap: 8px; }
.auth-tab, .dash-tab { min-height: 46px; padding: 12px 14px; font-size: 14px; }
.auth-form { gap: 16px; padding-top: 26px; }
.account-fields { display: grid; gap: 14px; }
.account-fields[hidden] { display: none !important; }
.auth-form select { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 7px; background: #fff; font-size: 16px; }
.auth-form select:focus { border-color: var(--red); outline: 2px solid #ae101c20; }
.auth-form h2 { font-size: 29px; }
.auth-form label, .product-modal label { gap: 8px; font-size: 14px; }
.auth-form input, .product-modal input, .product-modal select, .product-modal textarea, .order-select { min-height: 50px; padding: 12px 14px; font-size: 16px; }
.auth-form input[type="file"] { min-height: 54px; }
.auth-form .button { min-height: 56px; font-size: 16px; }
.text-button { min-height: 40px; padding: 8px 10px; font-size: 14px; }
.admin-message { padding: 14px; font-size: 14px; }
.dash-heading h1 { font-size: 38px; }
.dash-heading p, .stat-card span, .panel-heading p, .admin-row p, .empty-admin { font-size: 14px; }
.stat-card { padding: 22px; }
.stat-card strong { font-size: 30px; }
.dash-panel { padding: 28px; }
.panel-heading h2 { font-size: 23px; }
.admin-row { padding: 18px; }
.admin-row h3 { font-size: 17px; }
.small-button { min-height: 40px; padding: 9px 12px; font-size: 13px; }
.status-pill { padding: 5px 9px; font-size: 11px; }
.settings-form > label, .settings-input-row input { font-size: 16px; }
.settings-input-row { min-height: 52px; }
.settings-form > p { font-size: 14px; }
.product-modal { padding: 30px; }
.product-modal h2 { font-size: 27px; }
.price-heading { font-size: 15px; }
.code-row .button { min-height: 48px; font-size: 13px; }

/* Dashboard EBEN en colonnes sur ordinateur et en pile sur mobile. */
.dashboard-main { max-width: 1440px; }
.dashboard-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 22px; align-items: start; }
.dashboard-sidebar { position: sticky; top: 18px; display: grid; gap: 10px; padding: 19px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.sidebar-label { padding: 4px 8px 8px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: 1px; }
.dashboard-sidebar .dash-tabs { display: grid; gap: 5px; max-width: none; margin: 0; padding: 0; background: transparent; }
.dashboard-sidebar .dash-tab { min-height: 48px; text-align: left; }
.sidebar-site-link { padding: 14px 10px 4px; border-top: 1px solid var(--line); color: var(--red); font-size: 14px; font-weight: 700; }
.dashboard-content { min-width: 0; }
.secret-code-form { margin-top: 28px; padding-top: 26px; border-top: 1px solid var(--line); }
.secret-code-form h3,.settings-form h3 { margin: 0 0 8px; font-size: 19px; }
.dashboard-content .dash-stats { margin-bottom: 17px; }
.dashboard-content .dash-panel { min-height: 300px; }
@media(max-width:760px) {
  .dashboard-layout { grid-template-columns: 1fr; gap: 14px; }
  .dashboard-sidebar { position: static; gap: 7px; padding: 12px; }
  .dashboard-sidebar .dash-tabs { display: flex; }
  .dashboard-sidebar .dash-tab { flex: 1; min-height: 46px; padding: 8px 5px; font-size: 12px; text-align: center; }
  .sidebar-label,.sidebar-site-link { display: none; }
  .secret-code-form { margin-top: 22px; padding-top: 20px; }
}

@media (max-width: 760px) {
  .admin-main { min-height: calc(100vh - 120px); padding: 28px 18px 46px; }
  .auth-layout { grid-template-columns: minmax(0, 1fr); gap: 22px; margin: 0 auto; }
  .auth-info { text-align: center; }
  .auth-info h1 { margin: 12px 0; font-size: clamp(38px, 11vw, 52px); letter-spacing: -1.8px; }
  .auth-info > p { max-width: 38ch; margin: 0 auto; font-size: 16px; line-height: 1.65; }
  .auth-values { grid-template-columns: 1fr; gap: 9px; max-width: 340px; margin: 18px auto 0; text-align: left; font-size: 14px; }
  .auth-values i { flex: 0 0 32px; }
  .auth-card { width: 100%; padding: 20px; border-radius: 16px; }
  .auth-tab { min-height: 48px; font-size: 14px; }
  .auth-form { gap: 14px; padding-top: 22px; }
  .auth-form h2 { font-size: 25px; }
  .auth-form > p { font-size: 15px; line-height: 1.6; }
  .auth-form label { font-size: 14px; }
  .auth-form input { min-height: 52px; font-size: 16px; }
  .auth-form .button { min-height: 56px; font-size: 16px; }
  .text-button { min-height: 44px; font-size: 14px; }
  .dash-heading { align-items: stretch; flex-direction: column; }
  .dash-heading h1 { font-size: 30px; }
  .dash-heading p { font-size: 14px; line-height: 1.55; }
  .dash-heading .button { align-self: flex-start; min-height: 46px; }
  .dash-stats { grid-template-columns: 1fr; gap: 10px; }
  .stat-card { padding: 16px; }
  .stat-card span { font-size: 14px; }
  .stat-card strong { margin-top: 4px; font-size: 24px; }
  .dash-tabs { position: sticky; top: 8px; z-index: 2; max-width: none; gap: 4px; }
  .dash-tab { min-height: 48px; padding: 8px 5px; font-size: 12px; }
  .dash-panel { padding: 18px 14px; }
  .panel-heading { align-items: stretch; flex-direction: column; }
  .panel-heading h2 { font-size: 21px; }
  .panel-heading p { font-size: 14px; line-height: 1.55; }
  .panel-heading .button { align-self: stretch; min-height: 50px; }
  .admin-row { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 14px; }
  .admin-row h3 { font-size: 16px; line-height: 1.45; }
  .admin-row p { font-size: 14px; overflow-wrap: anywhere; }
  .admin-row-actions { justify-content: flex-start; }
  .small-button { min-height: 42px; font-size: 13px; }
  .order-select { width: 100%; min-height: 46px; font-size: 14px; }
  .settings-form .button { width: 100%; min-height: 52px; }
  .settings-form > p { font-size: 14px; }
  .form-two, .price-row { grid-template-columns: 1fr; }
  .product-modal { width: calc(100% - 20px); max-height: 92vh; padding: 22px 17px; }
  .product-modal label { font-size: 14px; }
  .product-modal input, .product-modal select, .product-modal textarea { font-size: 16px; }
  .footer { padding: 16px 18px; font-size: 12px; }
}

@media (max-width: 380px) {
  .admin-main { padding-right: 14px; padding-left: 14px; }
  .auth-card { padding: 17px 14px; }
  .auth-info > p, .auth-form > p { font-size: 14px; }
  .dash-tab { font-size: 11px; }
}
.google-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 50px; padding: 0 16px; border: 1px solid #dadce0; border-radius: 8px; background: #fff; color: #3c4043; font-size: 15px; font-weight: 650; transition: background .18s ease, box-shadow .18s ease; }
.google-button:hover:not(:disabled) { background: #f8faff; box-shadow: 0 2px 7px #3c404326; }
.google-button:disabled { opacity: .55; cursor: not-allowed; }
.google-mark { color: #4285f4; font-family: Arial,sans-serif; font-size: 21px; font-weight: 800; }
.auth-form[hidden] { display: none !important; }
@media (max-width: 700px) { .google-button { min-height: 54px; font-size: 16px; } }

/* Pages d'authentification : formulaires séparés, Google en premier, titre aligné. */
.admin-page.is-auth .admin-main { padding-top: clamp(24px, 5vh, 58px); }
.admin-page.is-auth .auth-layout { align-items: start; }
.admin-page.is-auth .auth-info { position: sticky; top: 36px; padding-top: 34px; }
.admin-page.is-auth .auth-info h1 { margin-top: 18px; }
.auth-divider { display:flex; align-items:center; gap:12px; color:#8a817a; font-size:13px; }
.auth-divider::before,.auth-divider::after { content:""; height:1px; flex:1; background:#eee7e1; }
.google-button-top { order:-1; min-height:54px; }
.google-logo { width:21px; height:21px; flex:0 0 21px; }
.auth-switch { margin:5px 0 0; color:var(--muted); text-align:center; font-size:14px; line-height:1.6; }
.auth-switch a { color:var(--red); font-weight:750; text-decoration:none; }
.auth-switch a:hover { text-decoration:underline; }
.auth-form .text-button { margin-top:0; }
@media (max-width:760px) {
  .admin-page.is-auth .admin-main { padding-top:22px; }
  .admin-page.is-auth .auth-layout { gap:18px; }
  .admin-page.is-auth .auth-info { position:static; padding-top:0; }
  .admin-page.is-auth .auth-info h1 { margin:8px 0 10px; font-size:clamp(38px,10vw,52px); line-height:1.03; }
  .admin-page.is-auth .auth-values { display:none; }
  .admin-page.is-auth .auth-info > p { max-width:36ch; }
  .auth-card { box-shadow:0 14px 38px #39120e0b; }
}
