/* Ayn Booking Admin App ƒ?" base.css (NO @import)
   - Fusion des composants: badge, button, card, form, modal, table, toast
   - + styles App (layout/sidebar/topbar/grids/dashboard/autocomplete)

   PATCH UX/UI:
   - Sidebar dark teal (#0F3D3E) + items clairs
   - Fond global teintÇ¸ (moins ƒ?ofadeƒ??)
   - Radius rÇ¸duit (premium, moins ƒ?opillowƒ??)
   - Font-weight normalisÇ¸ (moins de gras partout)
*/

/* =========================
   Base / Reset scoped
========================= */

#ayn-booking-admin-app,
#ayn-booking-admin-app *{
  box-sizing: border-box;
}

#ayn-booking-admin-app{
  color: var(--ayn-text);
  font-family: var(--ayn-font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ayn-app{
  display:flex;
  min-height: calc(100vh - 32px);
  background-color: var(--ayn-bg);
}

/* =========================
   Typography helpers
========================= */

.ayn-h2{
  margin:0;
  font-size: var(--ayn-text-xl);
  font-weight: var(--ayn-weight-semibold);
  letter-spacing: -0.01em;
}

.ayn-h3{
  margin:0;
  font-size: var(--ayn-text-md);
  font-weight: var(--ayn-weight-semibold);
  letter-spacing: -0.01em;
}

.ayn-h4{
  margin:0;
  font-size: var(--ayn-text-sm);
  font-weight: var(--ayn-weight-semibold);
}

.ayn-hr{
  border:none;
  border-top: 1px solid var(--ayn-border);
  margin: 12px 0;
}

.ayn-code{
  font-family: ui-monospace, 'Cascadia Code', monospace;
  font-size: var(--ayn-text-xs);
  background: var(--ayn-surface-2);
  padding: 2px 7px;
  border-radius: 4px;
  border: 1px solid var(--ayn-border);
  word-break: break-all;
}

.ayn-subtle{
  margin:6px 0 0 0;
  font-weight: var(--ayn-weight-regular);
  color: var(--ayn-text-muted);
  font-size: var(--ayn-text-xs);
}

.ayn-link{
  font-weight: var(--ayn-weight-medium);
  color: var(--ayn-primary);
  text-decoration: none;
  border-bottom: 1px dashed rgba(37,99,235,0.25);
}
.ayn-link:hover{
  color: var(--ayn-primary-hover);
  border-bottom-color: rgba(37,99,235,0.45);
}

/* =========================
   Layout: sidebar/content
========================= */

.ayn-sidebar{
  width: 260px;
  padding: 16px 12px;
  background: var(--ayn-slate-950, #0B1120);
  border-right: none;
  box-shadow: inset -1px 0 0 rgba(255,255,255,0.04), 4px 0 24px rgba(0,0,0,0.15);
  position: sticky;
  top: 32px;
  height: calc(100vh - 32px);
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.08) transparent;
}

.ayn-sidebar::-webkit-scrollbar {
  width: 4px;
}
.ayn-sidebar::-webkit-scrollbar-track {
  background: transparent;
}
.ayn-sidebar::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.08);
  border-radius: 99px;
}

.ayn-sidebar,
.ayn-sidebar * {
  color: var(--ayn-slate-300, #CBD5E1);
}

.ayn-content{
  flex:1;
  padding: 32px;
  min-width: 0;
}

/* Sidebar nav */
.ayn-nav-logo{
  padding: 14px 12px;
  border-radius: var(--ayn-radius-md);
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  margin-bottom: 8px;
}
.ayn-nav-logo .ayn-h3 {
  font-family: var(--ayn-font-heading, 'Bricolage Grotesque', sans-serif);
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.025em;
}
.ayn-nav-logo .ayn-subtle{
  color: rgba(255,255,255,0.35);
  font-size: 11px;
  margin-top: 2px;
}

.ayn-nav{
  display: grid;
  gap: 8px;
  margin-top: 8px;
}

.ayn-nav__item{
  position: relative;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 12px;
  border-radius: var(--ayn-radius-sm);
  border: 1px solid transparent;
  background: transparent;
  color: var(--ayn-slate-300, #CBD5E1);
  text-decoration:none;
  font-size: 13.5px;
  font-weight: var(--ayn-weight-medium);
  transition: background 150ms ease, color 150ms ease, border-color 150ms ease;
}

.ayn-nav__item:hover{
  background: rgba(255,255,255,0.06);
  color: #fff;
  border-color: transparent;
}

.ayn-nav__item.is-active{
  background: rgba(37,99,235,0.18);
  border-color: rgba(37,99,235,0.3);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
}
.ayn-nav__item.is-active::before{
  content:"";
  position: absolute;
  left: -2px;
  top: 8px;
  bottom: 8px;
  width: 3px;
  border-radius: 999px;
  background: var(--ayn-primary, #2563EB);
}

.ayn-nav__item:focus{
  outline:none;
}
.ayn-nav__item:focus-visible{
  box-shadow: 0 0 0 2px rgba(37,99,235,0.6);
  border-color: rgba(37,99,235,0.4);
}

.ayn-nav__left{
  display:flex;
  align-items:center;
  gap: 10px;
  min-width: 0;
}

.ayn-nav__icon{
  width: 18px;
  height: 18px;
  opacity: .92;
}

.ayn-nav__label{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ayn-nav__right{
  display:flex;
  align-items:center;
  gap: 8px;
}

/* =========================
   Nav Groups (Sidebar)
========================= */

.ayn-nav__group {
  margin-top: 4px;
}

.ayn-nav__group-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 8px 12px;
  background: transparent;
  border: none;
  border-radius: var(--ayn-radius-sm);
  color: rgba(255,255,255,0.3);
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}

.ayn-nav__group-header:hover {
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.6);
}

.ayn-nav__group-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ayn-nav__group-icon {
  width: 16px;
  height: 16px;
  font-size: 16px;
  opacity: 0.7;
}

.ayn-nav__group-label {
  white-space: nowrap;
}

.ayn-nav__group-chevron {
  width: 16px;
  height: 16px;
  font-size: 16px;
  opacity: 0.5;
  transition: transform .2s ease;
}

.ayn-nav__group.is-expanded .ayn-nav__group-chevron {
  transform: rotate(180deg);
}

.ayn-nav__group-items {
  display: none;
  padding-left: 0;
  margin-top: 2px;
}

.ayn-nav__group.is-expanded .ayn-nav__group-items {
  display: grid;
  gap: 4px;
}

/* Child items inside groups */
.ayn-nav__item--child {
  margin-left: 6px;
  padding: 7px 10px;
  font-size: 13px;
  border: 1px solid transparent;
  background: transparent;
}

.ayn-nav__item--child:hover {
  background: rgba(255,255,255,0.05);
  color: #fff;
}

.ayn-nav__item--child.is-active {
  background: rgba(37,99,235,0.15);
  border-color: rgba(37,99,235,0.25);
  color: #fff;
}

.ayn-nav__item--child.is-active::before {
  left: -1px;
}

.ayn-nav__item--child .ayn-nav__icon {
  width: 15px;
  height: 15px;
  opacity: 0.75;
}

/* Separator */
.ayn-nav__separator {
  height: 1px;
  margin: 12px 4px;
  background: rgba(255,255,255,0.06);
}

/* =========================
   Topbar
========================= */

.ayn-topbar{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 20px;
  border: 1px solid var(--ayn-border);
  border-radius: var(--ayn-radius-md);
  background: var(--ayn-surface-1);
  box-shadow: var(--ayn-shadow-xs);
}

.ayn-page-title{
  margin:0;
  font-family: var(--ayn-font-heading, 'Bricolage Grotesque', sans-serif);
  font-weight: 700;
  font-size: var(--ayn-text-xl);
  letter-spacing: -0.025em;
  color: var(--ayn-text);
}

.ayn-topbar-actions{
  display:flex;
  align-items:center;
  gap: 10px;
  flex-wrap: wrap;
}

/* Topbar search wrapper */
.ayn-topbar-search{
  display:flex;
  align-items:center;
  gap: 8px;
}
.ayn-topbar-search--rel{ position: relative; }

/* Period select */
.ayn-period{
  border: 1px solid var(--ayn-border);
  background: var(--ayn-surface-1);
  border-radius: var(--ayn-radius-sm);
  padding: 8px 10px;
  font-weight: var(--ayn-weight-medium);
  color: var(--ayn-text);
}
.ayn-period:focus{
  outline:none;
  border-color: rgba(37,99,235,0.55);
  box-shadow: 0 0 0 3px var(--ayn-focus);
}

/* =========================
   Page containers / grids
========================= */

.ayn-main{
  margin-top: 24px;
}

.ayn-page__head{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  padding: 16px 20px;
  border-radius: var(--ayn-radius-md);
  background: var(--ayn-surface-1);
  border: 1px solid var(--ayn-border);
  box-shadow: none;
}

.ayn-page__actions{
  display:flex;
  align-items:center;
  gap: 10px;
}

/* .ayn-toolbar — groupement boutons d'action dans le header de page */
.ayn-toolbar{
  display:flex;
  align-items:center;
  gap: 8px;
  flex-wrap: wrap;
}

/* .ayn-page__header — variante du header utilisée par providers.php */
.ayn-page__header{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}

.ayn-page__title{
  margin:0;
  font-size: var(--ayn-text-xl);
  font-weight: var(--ayn-weight-semibold);
  letter-spacing: -0.01em;
}

.ayn-page__subtitle{
  margin: 4px 0 0;
  font-size: var(--ayn-text-xs);
  color: var(--ayn-text-muted);
}

.ayn-grid-2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media (max-width: 960px){
  .ayn-sidebar{ display:none; }
  .ayn-grid-2{ grid-template-columns: 1fr; }
}

/* Dashboard header */
.ayn-dashboard__header{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  padding: 20px 24px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--ayn-primary-softer), var(--ayn-surface-2));
  border:1px solid var(--ayn-border);
  box-shadow: var(--ayn-shadow-sm);
}
.ayn-dashboard__header-actions{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
}
.ayn-welcome{
  margin: 4px 0 0 0;
  font-weight: 600;
  color: var(--ayn-text);
}

/* KPI grid */
.ayn-kpi-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 1100px){
  .ayn-kpi-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px){
  .ayn-kpi-grid{ grid-template-columns: 1fr; }
}

/* Alerts */
.ayn-alerts{
  margin-top: 20px;
  display:grid;
  gap: 14px;
}
.ayn-alert{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 12px; /* <-- rÇ¸duit */
  border: 1px solid rgba(13,31,34,0.10);
  background: #fff;
  box-shadow: var(--ayn-shadow-sm);
}
.ayn-alert--danger{
  border-color: rgba(199,62,29,0.22);
  background: rgba(199,62,29,0.04);
}
.ayn-alert__title{
  font-weight: 700; /* <-- moins gras */
  margin:0;
}
.ayn-alert__message{
  margin-top: 4px;
  font-weight: 500; /* <-- moins gras */
  color: rgba(13,31,34,0.68);
}

/* Logs list */
.ayn-log{
  list-style:none;
  margin: 0;
  padding: 0;
  display:grid;
  gap: 14px;
}
.ayn-log__item{
  padding: 14px 16px;
  border-radius: 12px; /* <-- rÇ¸duit */
  border: 1px solid rgba(13,31,34,0.08);
  background: var(--ayn-color-surface-soft, #F9FBFB);
}
.ayn-log__meta{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
}
.ayn-log__date{
  font-weight: 600; /* <-- moins gras */
  color: var(--ayn-text-muted);
  font-size: 12px;
}
.ayn-log__title{
  margin-top: 6px;
  font-weight: 700; /* <-- moins gras */
}
.ayn-log__msg{
  margin-top: 6px;
  font-weight: 500; /* <-- moins gras */
  color: rgba(13,31,34,0.66);
}

/* =========================
   COMPONENTS (merged)
========================= */

/* ---- Badge (components/badge.css) ---- */
.ayn-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  font-weight:650; /* <-- moins gras */
  font-size:12px;
  line-height:1;
  border:1px solid rgba(13,31,34,0.12);
  background: rgba(13,31,34,0.03);
  color: var(--ayn-ink-black);
  white-space:nowrap;
}
.ayn-badge--neutral{
  opacity: 1;
  background: #FFF0C2;
  border-color: #FFF0C2;
  color: #4A3700;
}
.ayn-badge--ok{
  background: var(--ayn-success-soft);
  border-color: rgba(22,163,74,0.25);
  color: var(--ayn-success);
}
.ayn-badge--info{
  background: var(--ayn-primary-soft);
  border-color: rgba(37,99,235,0.25);
  color: var(--ayn-primary);
}
.ayn-badge--warning{
  background: var(--ayn-warning-soft);
  border-color: rgba(245,158,11,0.25);
  color: var(--ayn-warning);
}
.ayn-badge--success{
  background: var(--ayn-success-soft);
  border-color: rgba(22,163,74,0.25);
  color: var(--ayn-success);
}
.ayn-badge--danger{
  background: var(--ayn-danger-soft);
  border-color: rgba(220,38,38,0.25);
  color: var(--ayn-danger);
}
.ayn-badge--muted{
  background: var(--ayn-surface-2);
  border-color: var(--ayn-border);
  color: var(--ayn-text-muted);
}
.ayn-badge--count{
  padding: 2px 7px;
  font-size: 11px;
  border-radius: 999px;
}

.ayn-badge--sm{
  font-size: 10px;
  padding: 1px 5px;
  line-height: 1.4;
}

/* ---- Template cards (settings) ---- */
.ayn-template-card{
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 14px;
}
.ayn-template-card__media{
  position: relative;
}
.ayn-template-card__badges{ display:none !important; }
.ayn-template-card.is-selected{
  border: 2px solid var(--ayn-primary) !important;
  box-shadow: none;
}
.ayn-template-card:hover{
  transform: translateY(0);
  box-shadow: none;
  border-color: var(--ayn-border) !important;
}
.ayn-template-card__badges{
  position: absolute;
  top: 8px;
  left: 8px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  pointer-events: none;
}
.ayn-template-card__badge{
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: var(--ayn-weight-semibold);
  color: #fff;
  box-shadow: none;
  backdrop-filter: blur(2px);
}
.ayn-template-card__badge--default{
  background: var(--ayn-primary);
}
.ayn-template-card__badge--selected{
  background: var(--ayn-danger);
}
.ayn-template-card__check{
  position: absolute;
  top: 8px;
  right: 8px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
  color: var(--ayn-danger);
  pointer-events: none;
}
.ayn-template-card__selected{ pointer-events:none; }

/* ---- Buttons (components/button.css) ---- */
.ayn-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: var(--ayn-radius-lg, 12px);
  font-weight: 600;
  font-size: 13px;
  line-height: 1;
  border: 1px solid rgba(13,31,34,0.12);
  background: #ffffff;
  color: var(--ayn-ink-black);
  cursor: pointer;
  text-decoration: none;
  transition: all .25s cubic-bezier(0.4, 0, 0.2, 1);
  user-select: none;
}

.ayn-btn:hover{
  background: rgba(13,31,34,0.03);
  border-color: rgba(13,31,34,0.18);
  transform: translateY(0);
  box-shadow: none;
}

.ayn-btn:active{
  transform: translateY(0px);
}

.ayn-btn:focus{
  outline: none;
  box-shadow: 0 0 0 3px rgba(199,62,29,0.25);
  border-color: rgba(199,62,29,0.55);
}

.ayn-btn[disabled],
.ayn-btn.is-disabled{
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* Primary = dark teal (Airbnb style) */
.ayn-btn--primary{
  background: var(--ayn-color-danger);
  border-color: transparent;
  color: white;
  font-weight: 600;
  box-shadow: none;
}

.ayn-btn--primary:hover{
  background: #b53619;
  box-shadow: none;
  transform: translateY(-2px);
}

.ayn-btn--secondary{
  background: #ffffff;
  border-color: rgba(13,31,34,0.15);
  color: var(--ayn-ink-black);
}

.ayn-btn--secondary:hover{
  background: rgba(13,31,34,0.04);
  border-color: rgba(13,31,34,0.25);
}

.ayn-btn--ghost{
  background: transparent;
  border-color: transparent;
  color: var(--ayn-ink-black);
}

.ayn-btn--ghost:hover{
  background: rgba(13,31,34,0.05);
  border-color: transparent;
}

.ayn-btn--danger-outline{
  background: rgba(199,62,29,0.04);
  border-color: rgba(199,62,29,0.25);
  color: var(--ayn-color-danger);
}

.ayn-btn--danger-outline:hover{
  background: rgba(199,62,29,0.1);
  border-color: rgba(199,62,29,0.4);
}

.ayn-btn--sm{
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 12px;
}

.ayn-btn--block{ 
  width: 100%;
}

/* ---- Card (components/card.css) ---- */
.ayn-card{
  background: var(--ayn-surface-1);
  border: 1px solid var(--ayn-border);
  border-radius: var(--ayn-radius-md);
  padding: 24px;
  box-shadow: var(--ayn-shadow-sm);
  transition: border-color .2s ease, box-shadow .2s ease;
}

.ayn-card:hover{
  box-shadow: var(--ayn-shadow-sm);
  transform: translateY(0);
  border-color: var(--ayn-border);
}

/* ---- Tabs (Admin App) ---- */
.ayn-tabs{
  display: flex;
  gap: var(--ayn-space-2);
  align-items: center;
  border-bottom: 1px solid var(--ayn-border);
  margin-bottom: var(--ayn-space-6);
}

.ayn-tabs__item{
  display: inline-flex;
  align-items: center;
  gap: var(--ayn-space-1);
  padding: var(--ayn-space-3) var(--ayn-space-4);
  color: var(--ayn-text-muted);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  font-weight: var(--ayn-weight-medium);
}

.ayn-tabs__item:hover{
  color: var(--ayn-primary);
}

.ayn-tabs__item.is-active{
  color: var(--ayn-primary);
  border-bottom-color: var(--ayn-primary);
}

.ayn-tabs__item .dashicons{
  font-size: 16px;
  width: 16px;
  height: 16px;
}

.ayn-subtabs{
  margin-top: var(--ayn-space-2);
}

.ayn-subtabs .ayn-subtab__badge{
  margin-left: var(--ayn-space-1);
}

.ayn-card__header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--ayn-border);
}

.ayn-card__header h3{
  margin: 0;
  font-size: var(--ayn-text-lg);
  font-weight: var(--ayn-weight-semibold);
  color: var(--ayn-text);
}

.ayn-card__actions{
  display: flex;
  align-items: center;
  gap: 8px;
}

.ayn-card__body{ 
  color: var(--ayn-text);
}
.ayn-kpi__meta{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: 10px;
}
.ayn-kpi__label{
  font-weight: var(--ayn-weight-medium);
  color: var(--ayn-text-muted);
  font-size: var(--ayn-text-xs);
}
.ayn-kpi__icon{
  font-size: 18px;
  line-height: 1;
  opacity: .85;
}
.ayn-kpi__value{
  margin-top: 14px;
  font-size: 24px;
  font-weight: var(--ayn-weight-semibold);
}
.ayn-kpi__hint{
  margin-top: 8px;
  font-weight: var(--ayn-weight-regular);
  font-size: var(--ayn-text-xs);
  color: var(--ayn-text-muted);
}
.ayn-kpi__na{
  color: var(--ayn-text-muted);
  opacity: .5;
}
/* Period-over-period delta badges */
.ayn-delta{
  display:inline-flex;
  align-items:center;
  gap:2px;
  margin-left:6px;
  padding:1px 6px;
  border-radius:999px;
  font-size:11px;
  font-weight:600;
  line-height:1.4;
  vertical-align:middle;
}
.ayn-delta--up{
  background:rgba(22,163,74,0.08);
  color:#16a34a;
}
.ayn-delta--down{
  background:rgba(220,38,38,0.08);
  color:#dc2626;
}
.ayn-empty{ padding: 40px 20px; text-align: center; }
.ayn-empty__title{ font-weight: 700; font-size: 14px; }
.ayn-empty__text{ margin-top: 12px; font-weight: 500; color: var(--ayn-text-muted); }

/* ---- Form (components/form.css) ---- */
.ayn-field{ display:grid; gap: 8px; }
.ayn-label{
  font-weight: 650; /* <-- moins gras */
  font-size: 12px;
  color: rgba(13,31,34,0.70);
}
.ayn-help{
  font-weight: 500; /* <-- moins gras */
  font-size: 12px;
  color: var(--ayn-text-muted);
}
.ayn-input,
.ayn-select,
.ayn-textarea{
  width: 100%;
  border: 1px solid rgba(13,31,34,0.12);
  background: #ffffff;
  border-radius: 14px;
  padding: 12px 14px;
  font-weight: 500; /* <-- moins gras */
  color: var(--ayn-ink-black);
  box-shadow: 0 8px 18px rgba(13,31,34,0.06);
}
.ayn-textarea{ min-height: 110px; resize: vertical; }
.ayn-input:focus,
.ayn-select:focus,
.ayn-textarea:focus{
  outline: none;
  border-color: rgba(199,62,29,0.55);
  box-shadow: 0 0 0 3px rgba(199,62,29,0.18);
}
.ayn-input[disabled],
.ayn-select[disabled],
.ayn-textarea[disabled]{
  opacity: .6;
  background: rgba(13,31,34,0.03);
  cursor: not-allowed;
}
.ayn-form-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 960px){
  .ayn-form-row{ grid-template-columns: 1fr; }
}
.ayn-search-input{
  width: 320px;
  max-width: 52vw;
  border: 1px solid var(--ayn-border);
  background: var(--ayn-surface-1);
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: var(--ayn-weight-regular);
  color: var(--ayn-text);
  box-shadow: none;
}
.ayn-search-input:focus{
  outline: none;
  border-color: rgba(37,99,235,0.55);
  box-shadow: 0 0 0 3px var(--ayn-focus);
}

/* ---- Modal (components/modal.css) ---- */
.ayn-modal{
  position: fixed;
  inset: 0;
  display: none;
  z-index: 100000;
}
.ayn-modal.is-open{ display:block; }
.ayn-modal__backdrop{
  position:absolute;
  inset:0;
  background: rgba(13,31,34,0.55);
}
.ayn-modal__panel{
  position: relative;
  width: min(720px, 92vw);
  margin: 6vh auto;
  background: #fff;
  border-radius: 12px; /* <-- rÇ¸duit */
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 24px 60px rgba(13,31,34,0.35);
  overflow: hidden;
}
.ayn-modal__head{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 14px;
  padding: 20px 24px;
  border-bottom: 1px solid rgba(13,31,34,0.08);
}
.ayn-modal__title{
  margin:0;
  font-weight: 700; /* <-- moins gras */
  font-size: 14px;
}
.ayn-modal__body{ padding: 20px 24px; }
.ayn-modal__foot{
  padding: 16px 24px;
  border-top: 1px solid rgba(13,31,34,0.08);
  display:flex;
  justify-content:flex-end;
  gap: 12px;
}
.ayn-modal__close{
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  color: var(--ayn-text-muted);
}
.ayn-modal__close:hover{
  color: var(--ayn-text);
}

/* =========================
   Provider Hub Views (migrated styles)
========================= */

.is-hidden{
  display: none !important;
}

.ayn-form--inline{
  display: inline;
}

.ayn-table__cell--checkbox{
  width: 30px;
}

.ayn-icon--primary{
  color: var(--ayn-primary);
}

/* Provider rates form */
.ayn-form-container{
  max-width: 900px;
}

.ayn-form-header{
  margin-bottom: var(--ayn-space-4);
}

.ayn-back-link{
  display: inline-flex;
  align-items: center;
  gap: var(--ayn-space-1);
  color: var(--ayn-text-muted);
  text-decoration: none;
  font-size: 13px;
  margin-bottom: var(--ayn-space-2);
}

.ayn-back-link:hover{
  color: var(--ayn-primary);
}

.ayn-form-header h2{
  margin: 0;
}

.ayn-form-grid{
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: var(--ayn-space-4);
}

@media (max-width: 900px){
  .ayn-form-grid{ grid-template-columns: 1fr; }
}

.ayn-form-field{
  margin-bottom: var(--ayn-space-4);
}

.ayn-form-field:last-child{
  margin-bottom: 0;
}

.ayn-form-field label{
  display: block;
  font-weight: var(--ayn-weight-medium);
  margin-bottom: var(--ayn-space-2);
}

.ayn-form-field label .required{
  color: var(--ayn-danger);
}

.ayn-form-field input[type="text"],
.ayn-form-field input[type="number"],
.ayn-form-field select{
  width: 100%;
  padding: var(--ayn-space-2) var(--ayn-space-3);
  border: 1px solid var(--ayn-border);
  border-radius: var(--ayn-radius-md);
  background: var(--ayn-surface-1);
}

.ayn-form-field .description{
  margin-top: var(--ayn-space-1);
  font-size: 12px;
  color: var(--ayn-text-muted);
}

.ayn-form-row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--ayn-space-4);
}

.ayn-form-actions{
  display: flex;
  justify-content: flex-end;
  gap: var(--ayn-space-2);
  margin-top: var(--ayn-space-4);
  padding-top: var(--ayn-space-4);
  border-top: 1px solid var(--ayn-border);
}

/* Provider rates list */
.ayn-filter-bar{
  margin-bottom: var(--ayn-space-4);
}

.ayn-rate-group{
  margin-bottom: var(--ayn-space-6);
  border: 1px solid var(--ayn-border);
  border-radius: var(--ayn-radius-md);
  overflow: hidden;
  background: var(--ayn-surface-1);
}

.ayn-rate-group__header{
  display: flex;
  align-items: center;
  gap: var(--ayn-space-3);
  padding: var(--ayn-space-3) var(--ayn-space-4);
  background: var(--ayn-surface-2);
  border-bottom: 1px solid var(--ayn-border);
}

.ayn-rate-group__header h3{
  margin: 0;
  font-size: 14px;
  flex: 1;
}

.ayn-count{
  color: var(--ayn-text-muted);
  font-size: 13px;
}

/* Shared badges */
.ayn-type-badge{
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
}

.ayn-type-badge--menage{ background: var(--ayn-primary-soft); color: var(--ayn-primary); }
.ayn-type-badge--linge{ background: rgba(143, 185, 168, 0.2); color: var(--ayn-primary); }
.ayn-type-badge--checkin{ background: rgba(143, 185, 168, 0.3); color: var(--ayn-primary); }
.ayn-type-badge--checkout{ background: rgba(15, 61, 62, 0.12); color: var(--ayn-primary); }
.ayn-type-badge--maintenance{ background: var(--ayn-surface-2); color: var(--ayn-text-muted); }
.ayn-type-badge--autre{ background: rgba(143, 185, 168, 0.15); color: var(--ayn-primary); }

.ayn-text-muted{
  color: var(--ayn-text-muted);
}

.ayn-text-success{ color: var(--ayn-success); }
.ayn-text-warning{ color: var(--ayn-warning); }

.ayn-rules-summary{
  font-size: 12px;
  color: var(--ayn-text-muted);
}

.ayn-action-buttons{
  display: flex;
  gap: var(--ayn-space-2);
}

/* Provider billing */
.ayn-billing-page{
  max-width: 1400px;
}

.ayn-status-explainer{
  display: flex;
  gap: var(--ayn-space-4);
  padding: var(--ayn-space-3) var(--ayn-space-4);
  background: var(--ayn-surface-2);
  border: 1px solid var(--ayn-border);
  border-radius: var(--ayn-radius-md);
  margin-bottom: var(--ayn-space-4);
  font-size: 12px;
}

.ayn-status-explainer__item{
  display: flex;
  align-items: center;
  gap: var(--ayn-space-2);
}

.ayn-status-explainer__badge{
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 500;
}

.ayn-status-explainer__badge--done{ background: rgba(143, 185, 168, 0.2); color: var(--ayn-primary); }
.ayn-status-explainer__badge--approved{ background: var(--ayn-primary-soft); color: var(--ayn-primary); }
.ayn-status-explainer__badge--paid{ background: rgba(143, 185, 168, 0.3); color: var(--ayn-primary); }

.ayn-billing-content{
  background: var(--ayn-surface-1);
  border-radius: var(--ayn-radius-lg);
  padding: var(--ayn-space-4);
  box-shadow: var(--ayn-shadow-sm);
}

.ayn-bulk-bar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--ayn-space-3) var(--ayn-space-4);
  background: var(--ayn-primary-soft);
  border-radius: var(--ayn-radius-md);
  margin-bottom: var(--ayn-space-4);
}

.ayn-provider-group{
  margin-bottom: var(--ayn-space-6);
  border: 1px solid var(--ayn-border);
  border-radius: var(--ayn-radius-md);
  overflow: hidden;
  background: var(--ayn-surface-1);
}

.ayn-provider-group__header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--ayn-space-3) var(--ayn-space-4);
  background: var(--ayn-surface-2);
  border-bottom: 1px solid var(--ayn-border);
}

.ayn-provider-group__info{
  display: flex;
  align-items: center;
  gap: var(--ayn-space-3);
}

.ayn-provider-group__info h3{
  margin: 0;
  font-size: 14px;
}

.ayn-provider-group__total{
  font-size: 14px;
}

.ayn-no-rate{
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--ayn-warning);
  font-size: 13px;
}

.ayn-no-rate .dashicons{
  font-size: 16px;
}

/* Billing history */
.ayn-history-header{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--ayn-space-4);
}

.ayn-history-header h2{
  margin: 0;
  font-size: 18px;
}

.ayn-history-filters select{
  padding: var(--ayn-space-2) var(--ayn-space-3);
  border: 1px solid var(--ayn-border);
  border-radius: var(--ayn-radius-md);
  background: var(--ayn-surface-1);
}

.ayn-table--history .text-right{ text-align: right; }

.ayn-row--paid{ background: var(--ayn-surface-2); }

.ayn-paid-badge{
  display: inline-flex;
  align-items: center;
  gap: var(--ayn-space-1);
  padding: 2px 8px;
  background: rgba(143, 185, 168, 0.3);
  color: var(--ayn-primary);
  border-radius: var(--ayn-radius-sm);
  font-size: 11px;
  font-weight: 600;
  margin-bottom: var(--ayn-space-1);
}

.ayn-paid-badge .dashicons{
  font-size: 14px;
  width: 14px;
  height: 14px;
}

.ayn-mission-id{
  color: var(--ayn-text-muted);
  font-size: 12px;
  margin-left: var(--ayn-space-2);
}

.ayn-user-badge{
  display: inline-flex;
  align-items: center;
  gap: var(--ayn-space-1);
  font-size: 12px;
  color: var(--ayn-text-muted);
}

.ayn-user-badge .dashicons{
  font-size: 14px;
  width: 14px;
  height: 14px;
}

.ayn-table--history code{
  background: var(--ayn-surface-2);
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 12px;
}

.ayn-pagination{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--ayn-space-4);
  margin-top: var(--ayn-space-4);
  padding-top: var(--ayn-space-4);
  border-top: 1px solid var(--ayn-border);
}

.ayn-pagination__info{
  color: var(--ayn-text-muted);
}

/* Recap */
.ayn-recap-header{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--ayn-space-4);
}

.ayn-recap-header h2{
  margin: 0;
  font-size: 18px;
}

.ayn-recap-actions{
  display: flex;
  gap: var(--ayn-space-2);
}

.ayn-table--recap .text-center{ text-align: center; }
.ayn-table--recap .text-right{ text-align: right; }

.ayn-totals-row{ background: var(--ayn-surface-2); }

/* Empty state */
.ayn-empty-state{
  text-align: center;
  padding: var(--ayn-space-8);
}

.ayn-empty-state__icon{
  font-size: 48px;
  color: var(--ayn-text-muted);
}

.ayn-empty-state__title{
  font-size: var(--ayn-text-md);
  font-weight: var(--ayn-weight-semibold);
  margin: var(--ayn-space-2) 0 0;
}

.ayn-empty-state__text{
  font-size: var(--ayn-text-sm);
  color: var(--ayn-text-muted);
  margin: var(--ayn-space-1) 0 0;
}

/* Confirmation modal content */
.ayn-confirm-summary{
  margin-bottom: var(--ayn-space-4);
}

.ayn-confirm-summary p{
  margin: 0 0 var(--ayn-space-2) 0;
  font-size: 14px;
}

.ayn-confirm-amount{
  font-size: 18px;
  color: var(--ayn-primary);
}

.ayn-confirm-warning{
  display: flex;
  gap: var(--ayn-space-3);
  padding: var(--ayn-space-3);
  background: var(--ayn-primary-soft);
  border: 1px solid var(--ayn-border);
  border-radius: var(--ayn-radius-md);
  margin-bottom: var(--ayn-space-4);
}

.ayn-confirm-warning > .dashicons{
  flex-shrink: 0;
  color: var(--ayn-primary);
  font-size: 20px;
  width: 20px;
  height: 20px;
}

.ayn-confirm-warning strong{
  display: block;
  color: var(--ayn-text);
  margin-bottom: var(--ayn-space-1);
}

.ayn-confirm-warning p{
  margin: 0;
  font-size: 13px;
  color: var(--ayn-text-muted);
}

/* Alerts variants */
.ayn-alert--warning{
  border-color: rgba(245,158,11,0.25);
  background: var(--ayn-warning-soft);
}

.ayn-alert--success{
  border-color: rgba(22,163,74,0.25);
  background: var(--ayn-success-soft);
}

.ayn-alert--info{
  border-color: rgba(37,99,235,0.25);
  background: var(--ayn-primary-soft);
}

/* Missions view */
.ayn-missions-page{
  max-width: 1400px;
}

.ayn-page-header{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--ayn-space-4);
}

.ayn-page-header__subtitle{
  color: var(--ayn-text-muted);
  margin: var(--ayn-space-1) 0 0;
}

.ayn-stats-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--ayn-space-3);
  margin-bottom: var(--ayn-space-4);
}

.ayn-stat-card{
  display: flex;
  align-items: center;
  background: var(--ayn-surface-1);
  padding: var(--ayn-space-3) var(--ayn-space-4);
  border-radius: var(--ayn-radius-md);
  border: 1px solid var(--ayn-border);
  box-shadow: var(--ayn-shadow-sm);
}

.ayn-stat-card--alert{
  background: var(--ayn-danger-soft);
  border-left: 4px solid var(--ayn-danger);
}

.ayn-stat-card__icon{
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: var(--ayn-space-3);
}

.ayn-stat-card__icon--draft{ background: var(--ayn-primary-soft); color: var(--ayn-primary); }
.ayn-stat-card__icon--assigned{ background: var(--ayn-warning-soft); color: var(--ayn-warning); }
.ayn-stat-card__icon--progress{ background: var(--ayn-success-soft); color: var(--ayn-success); }
.ayn-stat-card__icon--overdue{ background: var(--ayn-danger-soft); color: var(--ayn-danger); }

.ayn-stat-card__value{
  display: block;
  font-size: 24px;
  font-weight: var(--ayn-weight-semibold);
  line-height: 1;
}

.ayn-stat-card__label{
  color: var(--ayn-text-muted);
  font-size: 13px;
}

.ayn-tabs{
  display: flex;
  gap: var(--ayn-space-2);
  margin-bottom: var(--ayn-space-4);
  border-bottom: 1px solid var(--ayn-border);
}

.ayn-tab{
  padding: var(--ayn-space-2) var(--ayn-space-4);
  text-decoration: none;
  color: var(--ayn-text-muted);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}

.ayn-tab:hover{ color: var(--ayn-primary); }

.ayn-tab--active{
  color: var(--ayn-primary);
  border-bottom-color: var(--ayn-primary);
  font-weight: var(--ayn-weight-medium);
}

.ayn-tab .dashicons{
  margin-right: var(--ayn-space-1);
  vertical-align: middle;
}

.ayn-filters{
  background: var(--ayn-surface-1);
  padding: var(--ayn-space-3);
  border-radius: var(--ayn-radius-md);
  margin-bottom: var(--ayn-space-4);
  border: 1px solid var(--ayn-border);
  box-shadow: var(--ayn-shadow-sm);
}

.ayn-filters form{
  display: flex;
  flex-wrap: wrap;
  gap: var(--ayn-space-2);
  align-items: center;
}

.ayn-filter-select{ min-width: 150px; }
.ayn-filter-search{ min-width: 200px; }

.ayn-table-container{
  background: var(--ayn-surface-1);
  border-radius: var(--ayn-radius-md);
  border: 1px solid var(--ayn-border);
  box-shadow: var(--ayn-shadow-sm);
  overflow: hidden;
}

.ayn-row--overdue{ background: var(--ayn-danger-soft); }

.ayn-mission-link{
  text-decoration: none;
  color: var(--ayn-primary);
}

.ayn-mission-order{
  display: block;
  font-size: 12px;
  color: var(--ayn-text-muted);
}

.ayn-status-badge{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: var(--ayn-weight-medium);
}

.status-draft{ background: var(--ayn-primary-soft); color: var(--ayn-primary); }
.status-assigned{ background: var(--ayn-warning-soft); color: var(--ayn-warning); }
.status-accepted{ background: var(--ayn-success-soft); color: var(--ayn-success); }
.status-refused{ background: var(--ayn-danger-soft); color: var(--ayn-danger); }
.status-in_progress{ background: var(--ayn-primary-soft); color: var(--ayn-primary); }
.status-done{ background: var(--ayn-success-soft); color: var(--ayn-success); }
.status-issue{ background: var(--ayn-danger-soft); color: var(--ayn-danger); }
.status-cancelled{ background: var(--ayn-surface-2); color: var(--ayn-text-muted); }

.ayn-type-badge--cleaning{ background: var(--ayn-primary-soft); color: var(--ayn-primary); }
.ayn-type-badge--maintenance{ background: var(--ayn-warning-soft); color: var(--ayn-warning); }
.ayn-type-badge--linen{ background: var(--ayn-danger-soft); color: var(--ayn-danger); }
.ayn-type-badge--checkin{ background: var(--ayn-success-soft); color: var(--ayn-success); }
.ayn-type-badge--checkout{ background: var(--ayn-primary-soft); color: var(--ayn-primary); }
.ayn-type-badge--inspection{ background: var(--ayn-primary-soft); color: var(--ayn-primary); }
.ayn-type-badge--other{ background: var(--ayn-surface-2); color: var(--ayn-text-muted); }

.ayn-overdue-badge{
  color: var(--ayn-danger);
  margin-left: var(--ayn-space-1);
}

.ayn-pagination{
  padding: var(--ayn-space-3);
  text-align: center;
  border-top: 1px solid var(--ayn-border);
}

.ayn-planning__header{ margin-bottom: var(--ayn-space-4); }

.ayn-planning__nav{
  display: flex;
  align-items: center;
  gap: var(--ayn-space-3);
}

.ayn-planning__range{ font-weight: var(--ayn-weight-medium); }

.ayn-planning__days{
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: var(--ayn-space-2);
}

.ayn-planning__day{
  background: var(--ayn-surface-1);
  border-radius: var(--ayn-radius-md);
  border: 1px solid var(--ayn-border);
  box-shadow: var(--ayn-shadow-sm);
  min-height: 200px;
}

.ayn-planning__day--empty{ opacity: 0.7; }

.ayn-planning__day-header{
  padding: var(--ayn-space-2) var(--ayn-space-3);
  border-bottom: 1px solid var(--ayn-border);
  background: var(--ayn-surface-2);
  border-radius: var(--ayn-radius-md) var(--ayn-radius-md) 0 0;
}

.ayn-planning__day-label{ display: block; font-weight: var(--ayn-weight-medium); }

.ayn-planning__day-count{ font-size: 12px; color: var(--ayn-text-muted); }

.ayn-planning__day-missions{ padding: var(--ayn-space-2); }

.ayn-planning__empty{
  text-align: center;
  color: var(--ayn-text-muted);
  padding: var(--ayn-space-3);
  font-size: 13px;
}

.ayn-planning__mission{
  display: block;
  padding: var(--ayn-space-2);
  margin-bottom: var(--ayn-space-2);
  border-radius: var(--ayn-radius-sm);
  text-decoration: none;
  border-left: 4px solid;
  background: var(--ayn-surface-2);
}

.ayn-planning__mission--assigned{ border-color: var(--ayn-warning); }
.ayn-planning__mission--accepted{ border-color: var(--ayn-success); }
.ayn-planning__mission--in_progress{ border-color: var(--ayn-primary); }
.ayn-planning__mission--done{ border-color: var(--ayn-success); }

.ayn-planning__mission-time{
  display: block;
  font-weight: var(--ayn-weight-semibold);
  font-size: 14px;
  color: var(--ayn-text);
}

.ayn-planning__mission-title{
  display: block;
  font-size: 13px;
  color: var(--ayn-text);
}

.ayn-planning__mission-type,
.ayn-planning__mission-provider{
  display: block;
  font-size: 11px;
  color: var(--ayn-text-muted);
}

.ayn-mission-detail__header{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: var(--ayn-space-4);
}

.ayn-mission-detail__title h2{ margin: 0; }

.ayn-mission-detail__title .ayn-status-badge{
  vertical-align: middle;
  margin-left: var(--ayn-space-2);
}

.ayn-mission-detail__grid{
  display: grid;
  grid-template-columns: 1fr 350px;
  gap: var(--ayn-space-4);
}

.ayn-detail-table{ width: 100%; }

.ayn-detail-table th,
.ayn-detail-table td{
  padding: 8px 0;
  border-bottom: 1px solid var(--ayn-border);
}

.ayn-detail-table th{
  width: 120px;
  color: var(--ayn-text-muted);
  font-weight: var(--ayn-weight-regular);
}

.ayn-timeline{
  list-style: none;
  margin: 0;
  padding: 0;
}

.ayn-timeline__item{
  display: flex;
  gap: var(--ayn-space-2);
  padding: var(--ayn-space-2) 0;
  border-bottom: 1px solid var(--ayn-border);
}

.ayn-timeline__item:last-child{ border-bottom: none; }

.ayn-timeline__icon{
  width: 32px;
  height: 32px;
  background: var(--ayn-surface-2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ayn-timeline__icon .dashicons{
  font-size: 16px;
  width: 16px;
  height: 16px;
}

.ayn-timeline__content strong{ display: block; font-size: 13px; }

.ayn-timeline__actor,
.ayn-timeline__time{
  font-size: 12px;
  color: var(--ayn-text-muted);
}

.ayn-timeline__actor::after{ content: ' · '; }

.ayn-note{
  padding: var(--ayn-space-3);
  border-radius: var(--ayn-radius-sm);
  margin-bottom: var(--ayn-space-3);
  background: var(--ayn-surface-2);
}

.ayn-note:last-child{ margin-bottom: 0; }

.ayn-note h4{ margin: 0 0 var(--ayn-space-2); font-size: 13px; }

.ayn-note--internal{ background: var(--ayn-surface-2); }
.ayn-note--provider{ background: var(--ayn-primary-soft); }

@media (max-width: 1200px){
  .ayn-planning__days{ grid-template-columns: repeat(4, 1fr); }
  .ayn-mission-detail__grid{ grid-template-columns: 1fr; }
}

@media (max-width: 768px){
  .ayn-planning__days{ grid-template-columns: repeat(2, 1fr); }
  .ayn-stats-grid{ grid-template-columns: repeat(2, 1fr); }
}

/* ---- Table (components/table.css) ---- */
.ayn-table-wrap{
  width:100%;
  overflow:auto;
  background: var(--ayn-surface-1);
  box-shadow: none;
  border-radius: var(--ayn-radius-md);
  border: 1px solid var(--ayn-border);
}
.ayn-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--ayn-surface-1);
}
.ayn-table thead th{
  text-align:left;
  font-size: var(--ayn-text-xs);
  font-weight: var(--ayn-weight-medium);
  color: var(--ayn-text-muted);
  padding: 12px 12px;
  background: var(--ayn-surface-2);
  border-bottom: 1px solid var(--ayn-border);
  position: sticky;
  top: 0;
  z-index: 1;
}
.ayn-table tbody td{
  padding: 12px 12px;
  border-bottom: 1px solid var(--ayn-border);
  vertical-align: top;
  font-weight: var(--ayn-weight-regular);
}
.ayn-table tbody tr:nth-child(even) td{
  background: var(--ayn-surface-2);
}
.ayn-table tbody tr:hover td{ background: var(--ayn-surface-2); }
.ayn-table tbody tr:last-child td{ border-bottom: none; }

.ayn-actions{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* ---- Toast (components/toast.css) ---- */
.ayn-toast-area{
  position: fixed;
  right: 18px;
  bottom: 18px;
  display: grid;
  gap: 10px;
  z-index: 100001;
}
.ayn-toast{
  width: min(420px, calc(100vw - 36px));
  background: #fff;
  border-radius: 12px; /* <-- rÇ¸duit */
  border: 1px solid rgba(13,31,34,0.12);
  box-shadow: var(--ayn-shadow-lg);
  padding: 12px 12px;
}
.ayn-toast__title{
  font-weight: 700; /* <-- moins gras */
  margin: 0 0 4px 0;
  font-size: 13px;
}
.ayn-toast__msg{
  margin: 0;
  font-weight: 500; /* <-- moins gras */
  color: rgba(13,31,34,0.70);
  font-size: 12px;
}
.ayn-toast--ok{
  border-color: rgba(15,61,62,0.30);
  background: rgba(15,61,62,0.08);
}
.ayn-toast--info{
  border-color: rgba(90,130,160,0.35);
  background: rgba(90,130,160,0.10);
}
.ayn-toast--warning{
  border-color: rgba(255,193,7,0.35);
  background: rgba(255,193,7,0.12);
}
.ayn-toast--danger{
  border-color: rgba(199,62,29,0.45);
  background: rgba(199,62,29,0.08);
}

/* Stripe delete action (accent ocre) */
.ayn-stripe-delete{
  display:flex;
  align-items:center;
  gap:6px;
  color: var(--ayn-red-ochre);
  font-weight: 650;
}
.ayn-stripe-delete input[type="checkbox"]{
  accent-color: var(--ayn-red-ochre);
}

/* Tabs / panes (Stripe refonte) */
.ayn-stripe-tabs{
  display:flex;
  gap:8px;
  margin-bottom:10px;
}
.ayn-tab-btn{
  border:1px solid rgba(13,31,34,0.12);
  background:#fff;
  border-radius:10px;
  padding:8px 12px;
  font-weight:650;
  cursor:pointer;
}
.ayn-tab-btn.is-active{
  background: rgba(15,61,62,0.08);
  border-color: rgba(15,61,62,0.35);
}
.ayn-stripe-pane{
  display:none;
}
.ayn-stripe-pane.is-active{
  display:block;
}

/* =========================
   Autocomplete dropdown
========================= */

.ayn-search-dd{
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: min(520px, 80vw);
  max-height: 340px;
  overflow: auto;
  border-radius: 12px; /* <-- rÇ¸duit */
  background: #fff;
  border: 1px solid rgba(13,31,34,0.12);
  box-shadow: var(--ayn-shadow-lg);
  display: none;
  z-index: 9999;
}
.ayn-search-dd.is-open{ display:block; }

.ayn-search-dd__inner{ padding: 10px; display: grid; gap: 10px; }
.ayn-search-dd__group{ display: grid; gap: 6px; }
.ayn-search-dd__title{
  font-weight: 650; /* <-- moins gras */
  font-size: 12px;
  color: rgba(13,31,34,0.6);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.ayn-search-dd__list{ list-style:none; margin:0; padding:0; display:grid; gap:6px; }

.ayn-search-dd__item{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 10px;
  border-radius: 10px; /* <-- rÇ¸duit */
  cursor: pointer;
  border: 1px solid rgba(13,31,34,0.06);
  background: rgba(13,31,34,0.02);
}
.ayn-search-dd__item:hover,
.ayn-search-dd__item.is-active{
  background: rgba(15,61,62,0.10);
  border-color: rgba(15,61,62,0.24);
}
.ayn-search-dd__primary{ font-weight: 650; color: var(--ayn-ink-black); }
.ayn-search-dd__meta{ font-weight: 500; color: rgba(13,31,34,0.6); white-space: nowrap; }

.ayn-search-dd__loading,
.ayn-search-dd__empty{
  padding: 12px;
  font-weight: 500; /* <-- moins gras */
  color: rgba(13,31,34,0.65);
}

/* =========================
   Key/Value + status + lists (used in Settings pages)
========================= */

.ayn-kv{ display:grid; gap:8px; }
.ayn-kv__row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:10px;
  border-radius:10px; /* <-- rÇ¸duit */
  background: rgba(13,31,34,0.02);
  border:1px solid rgba(13,31,34,0.06);
}
.ayn-kv__k{ color: var(--ayn-text-muted); font-weight: 650; }
.ayn-kv__v{ font-weight: 650; }

.ayn-status{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px;
  border-radius: var(--ayn-radius-lg, 12px);
  border:1px solid rgba(13,31,34,0.10);
  background: rgba(13,31,34,0.02);
}
.ayn-status__dot{ width:10px; height:10px; border-radius:50%; background: rgba(13,31,34,0.35); }
.ayn-status.is-ok{
  border-color: rgba(15,61,62,0.28);
  background: rgba(15,61,62,0.10);
}
.ayn-status.is-ok .ayn-status__dot{ background: rgba(15,61,62,1); }
.ayn-status.is-warn{
  border-color: rgba(199,62,29,0.32);
  background: rgba(199,62,29,0.08);
}
.ayn-status.is-warn .ayn-status__dot{ background: rgba(199,62,29,1); }

.ayn-list{
  margin:0;
  padding-left: 18px;
  display:grid;
  gap:8px;
}

/* Settings pills */
.ayn-settings-tabs{
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 12px 0;
}

.ayn-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--ayn-border);
  background: var(--ayn-surface-2);
  color: var(--ayn-text);
  text-decoration: none;
  font-weight: var(--ayn-weight-medium);
  font-size: var(--ayn-text-sm);
  box-shadow: none;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.ayn-pill:hover{
  background: var(--ayn-surface-1);
  border-color: var(--ayn-border);
}

.ayn-pill.is-active{
  background: var(--ayn-primary-soft);
  border-color: rgba(37,99,235,.35);
  color: var(--ayn-primary);
  box-shadow: none;
}
