/* =========================================================
   ENZA MASI — Dashboard Atlantide Aqua
   Refonte visuelle uniquement : conserve les fonctions métier
   ========================================================= */
:root{
  --gold:#168ca3;
  --gold2:#54c9c5;
  --ink:#163c46;
  --soft:#66828a;
  --line:rgba(21,139,158,.16);
  --panel:rgba(246,253,252,.88);
  --shadow:0 20px 58px rgba(3,70,84,.10);
  --script:"Great Vibes",cursive;
  --green:#208b68;
  --red:#b34f57;
  --orange:#a8782b;
  --aqua:#2ca7c5;
  --aqua2:#65d3d0;
  --deep:#07556b;
  --nav:#073e50;
  --glass:rgba(244,253,252,.84);
  --gold-accent:#d7b15a;
}
html{background:#dff2f0}
body{
  color:var(--ink);
  background:
    radial-gradient(circle at 92% 8%,rgba(91,210,211,.24),transparent 28%),
    radial-gradient(circle at 8% 88%,rgba(44,167,197,.16),transparent 34%),
    linear-gradient(135deg,rgba(235,249,247,.94),rgba(219,241,241,.92)),
    url('../images/background-atlantis.png') center/cover fixed;
  background-attachment:fixed;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.48),transparent 38%,rgba(255,255,255,.18));
}
button,input,textarea,select{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

/* Navigation */
.admin-app{grid-template-columns:276px minmax(0,1fr)}
.admin-side{
  width:auto;padding:24px 17px 22px;
  background:
    radial-gradient(circle at 18% 8%,rgba(101,211,208,.20),transparent 23%),
    linear-gradient(180deg,rgba(5,76,94,.97),rgba(4,53,70,.97));
  border-right:1px solid rgba(215,177,90,.24);
  box-shadow:18px 0 55px rgba(3,55,69,.10);
  overflow:hidden;
}
.admin-side::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-radial-gradient(circle at 28% 0,rgba(255,255,255,.035) 0 1px,transparent 2px 25px);opacity:.65}
.admin-logo{position:relative;z-index:1;width:148px;margin:3px auto 24px;filter:drop-shadow(0 8px 20px rgba(0,27,40,.22)) drop-shadow(0 0 14px rgba(255,255,255,.12))}
.admin-nav{position:relative;z-index:1;display:grid;gap:6px;max-height:calc(100dvh - 215px);overflow-y:auto;padding:2px 3px 8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}
.admin-nav button{
  position:relative;display:flex;align-items:center;gap:11px;min-height:45px;padding:8px 11px;
  border:1px solid transparent;border-radius:15px;background:transparent;color:rgba(236,252,253,.83);
  font:600 12px/1.2 Inter,system-ui,sans-serif;letter-spacing:.01em;text-align:left;transition:.18s ease
}
.admin-nav button::before{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:10px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.07);color:#a9e9e5;font-size:15px;font-weight:500;transition:.18s ease}
.admin-nav button[data-view="appointments"]::before{content:"◫"}.admin-nav button[data-view="clients"]::before{content:"◎"}.admin-nav button[data-view="subscriptions"]::before{content:"◇"}.admin-nav button[data-view="availability"]::before{content:"◷"}.admin-nav button[data-view="music-catalog"]::before{content:"♪"}.admin-nav button[data-view="music-orders"]::before{content:"↧"}.admin-nav button[data-view="member-spaces"]::before{content:"◉"}.admin-nav button[data-view="promo-codes"]::before{content:"%"}.admin-nav button[data-view="events"]::before{content:"✦"}.admin-nav button[data-view="testimonials"]::before{content:"❝"}.admin-nav button[data-view="service-builder"]::before{content:"+"}
.admin-nav button:hover{background:rgba(255,255,255,.075);color:#fff;transform:translateX(2px)}
.admin-nav button.active{background:linear-gradient(135deg,rgba(83,201,198,.23),rgba(255,255,255,.10));border-color:rgba(215,177,90,.34);color:#fff;box-shadow:0 9px 24px rgba(0,31,44,.16),inset 0 1px 0 rgba(255,255,255,.10)}
.admin-nav button.active::before{background:linear-gradient(145deg,#55c9c5,#198ca3);border-color:rgba(255,255,255,.28);color:#fff;box-shadow:0 6px 16px rgba(0,28,40,.18)}
.site-link{z-index:2;left:17px;right:17px;bottom:18px;color:#e7fafb;border-color:rgba(215,177,90,.28);background:rgba(255,255,255,.07);backdrop-filter:blur(12px);font-weight:600;transition:.18s ease}
.site-link:hover{background:rgba(255,255,255,.13);border-color:rgba(215,177,90,.55)}

/* Main & header */
.admin-main{padding:24px clamp(18px,2.6vw,40px) 60px;min-width:0}
.admin-head{
  position:sticky;top:14px;z-index:30;margin-bottom:22px;padding:13px 16px 13px 20px;border:1px solid rgba(20,139,159,.14);border-radius:23px;
  background:linear-gradient(145deg,rgba(248,254,253,.86),rgba(227,248,247,.76));
  box-shadow:0 15px 42px rgba(3,70,84,.10),inset 0 1px 0 rgba(255,255,255,.86);
  backdrop-filter:blur(22px) saturate(1.15);-webkit-backdrop-filter:blur(22px) saturate(1.15)
}
.admin-head h1{font-family:"Great Vibes",cursive;font-size:48px;line-height:.95;color:#0b7183;text-shadow:0 1px 0 #fff;margin-top:3px}
.eyebrow{color:#9a772e;font-size:9px;font-weight:700;letter-spacing:.22em}
.admin-head-actions{gap:8px}.admin-pill{border-color:rgba(24,141,160,.14);background:rgba(255,255,255,.58);color:#40636c;box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}
#syncStatus::before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#45b98f;box-shadow:0 0 10px rgba(69,185,143,.55)}

/* Cards */
.stats{gap:12px;margin-bottom:17px}
.stat,.panel{border-color:rgba(20,139,159,.14);background:linear-gradient(145deg,rgba(249,254,253,.89),rgba(231,248,247,.78));box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.87);backdrop-filter:blur(18px) saturate(1.1);-webkit-backdrop-filter:blur(18px) saturate(1.1)}
.stat{position:relative;overflow:hidden;padding:17px 18px;border-radius:20px;transition:.18s ease}.stat::after{content:"";position:absolute;right:-14px;top:-18px;width:70px;height:70px;border-radius:50%;background:radial-gradient(circle,rgba(83,201,198,.18),transparent 70%)}.stat:hover{transform:translateY(-2px);box-shadow:0 22px 52px rgba(3,70,84,.13)}
.stat b{position:relative;font-size:27px;color:#0d7284}.stat span{position:relative;color:#6b858c;font-weight:600}
.panel{padding:21px;border-radius:24px;margin-bottom:17px}
.panel h2,.modal h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:30px;font-weight:600;color:#174b56;letter-spacing:.01em}
.panel h3{color:#174b56}.panel p,.modal p{color:#6b858c}
.panel-head{align-items:center}.panel-head>div:first-child{min-width:0}.panel-head p{max-width:840px}

/* Controls */
.btn{min-height:39px;padding:10px 16px;border:1px solid rgba(215,177,90,.28);background:linear-gradient(135deg,#198fa7,#34b6bd 62%,#4cc7c2);color:#fff;font-weight:700;font-size:12px;box-shadow:0 8px 20px rgba(12,126,148,.14);transition:.18s ease}
.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 11px 25px rgba(12,126,148,.20)}
.btn.secondary{background:rgba(255,255,255,.72);color:#216171;border-color:rgba(21,139,158,.17);box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.btn.secondary:hover:not(:disabled){background:#fff;border-color:rgba(215,177,90,.42);color:#8b6a29}
.btn.danger{background:linear-gradient(135deg,#c7676d,#a84650);border-color:rgba(145,50,60,.18)}
input,textarea,select{border-color:rgba(17,130,151,.16);background:rgba(255,255,255,.76);color:#173e48;border-radius:13px;box-shadow:inset 0 1px 0 rgba(255,255,255,.76);transition:border-color .18s,box-shadow .18s,background .18s}
input:hover,textarea:hover,select:hover{border-color:rgba(17,130,151,.26)}
input:focus,textarea:focus,select:focus{border-color:rgba(44,167,197,.60);box-shadow:0 0 0 4px rgba(44,167,197,.09);background:#fff;outline:none}
input[type="checkbox"]{accent-color:#178ca4}.field-label,.music-editor label,.events-editor label{color:#456d75!important}.check-line{color:#315b65}
.segmented{padding:4px;border-radius:999px;background:rgba(14,116,136,.05);border:1px solid rgba(18,134,154,.08);width:max-content;max-width:100%}.segmented button,.quick-slots button{border-color:transparent;background:transparent;color:#53767e}.segmented button:hover,.quick-slots button:hover{background:rgba(255,255,255,.78)}.segmented button.active{background:#fff;border-color:rgba(21,139,158,.12);color:#0e7d91;box-shadow:0 5px 14px rgba(3,70,84,.08)}
.notice{background:rgba(78,191,192,.10);border-color:rgba(19,139,158,.18);color:#315d66}

/* Tables */
.table-wrap{border:1px solid rgba(17,130,151,.10);border-radius:17px;background:rgba(255,255,255,.36)}
.admin-table{background:transparent}.admin-table th{position:sticky;top:0;z-index:2;background:rgba(230,248,247,.96);color:#557982;border-bottom-color:rgba(18,134,154,.12)}.admin-table td{border-bottom-color:rgba(18,134,154,.08);color:#294d55}.admin-table tbody tr{transition:background .15s}.admin-table tbody tr:hover{background:rgba(81,198,197,.055)}.admin-table a{color:#0d8196}.admin-table small{color:#7a9298}
.actions{min-width:0}.actions .btn{padding:7px 11px;min-height:34px}
.badge{border:1px solid transparent}.badge.pending{background:rgba(215,177,90,.15);color:#856623}.badge.confirmed,.badge.paid{background:rgba(49,170,125,.13);color:#247052}.badge.refused,.badge.cancelled{background:rgba(190,75,86,.11);color:#a44850}.badge.completed{background:rgba(22,124,145,.10);color:#326c79}

/* Calendrier & disponibilité */
.weekday-checks label,.slot-check,.price-card,.client-card,.history-item,.music-catalog-item,.music-editor,.builder-draft-item{border-color:rgba(19,136,156,.12)!important;background:rgba(255,255,255,.62)!important;color:#254f59!important}
.weekday-checks label:has(input:checked),.slot-check:has(input:checked){background:rgba(70,190,190,.12)!important;border-color:rgba(21,139,158,.32)!important;color:#126d7f!important}
.round-btn{border-color:rgba(20,139,159,.17);background:rgba(255,255,255,.70);color:#118397}.cal-day{border-color:rgba(19,136,156,.10);background:rgba(255,255,255,.50)}.cal-day.weekly{background:rgba(80,192,190,.09)}.cal-day.green{background:rgba(70,182,127,.13);border-color:rgba(50,157,107,.28)}.cal-day.red,.cal-day.holiday,.cal-day.vacation{background:rgba(192,80,89,.11);border-color:rgba(178,75,85,.25)}
.price-input-wrap span,.client-link{color:#108399}.client-card.active{background:linear-gradient(145deg,rgba(78,195,194,.15),rgba(255,255,255,.68))!important;border-color:rgba(20,139,159,.32)!important;box-shadow:0 8px 20px rgba(4,75,88,.07)}
.client-history-head h3{font-family:"Cormorant Garamond",Georgia,serif!important;color:#174b56!important}

/* Evénements */
.events-layout{gap:17px}.events-editor{border-color:rgba(18,136,157,.13)!important;background:linear-gradient(145deg,rgba(248,254,253,.86),rgba(228,248,247,.72))!important;box-shadow:0 16px 38px rgba(3,70,84,.07)}
.event-preview{border-color:rgba(21,139,158,.20)!important;background:linear-gradient(145deg,rgba(240,253,252,.94),rgba(219,246,245,.84))!important;color:#315f69!important;box-shadow:0 9px 23px rgba(4,75,88,.07)!important}.event-preview small{color:#118297!important}.event-preview b{color:#26525b!important}.event-preview span{color:#6c858b!important}
.event-list-card{border-color:rgba(18,136,157,.12)!important;background:rgba(255,255,255,.62)!important;box-shadow:0 8px 20px rgba(4,75,88,.045);transition:.18s ease}.event-list-card:hover{transform:translateY(-1px);border-color:rgba(18,136,157,.22)!important}.event-list-card h3{color:#174b56}.event-list-card p,.event-current-selection{color:#69848b!important}.event-pill{background:rgba(19,136,156,.08)!important;color:#39707b!important}.event-pill.published{background:rgba(55,176,128,.12)!important;color:#267052!important}.event-pill.draft{background:rgba(215,177,90,.15)!important;color:#876724!important}.event-pill.featured{background:rgba(44,167,197,.13)!important;color:#126f83!important}.events-admin-toolbar .admin-pill{display:none}

/* Modales */
.modal{background:rgba(3,47,62,.50);backdrop-filter:blur(10px)}.modal-card{background:linear-gradient(145deg,rgba(249,254,253,.98),rgba(229,248,247,.96));border-color:rgba(21,139,158,.16);box-shadow:0 30px 100px rgba(0,46,60,.28)}.modal-close{color:#4f747c}.email-preview-shell{background:rgba(8,93,112,.07);border-color:rgba(18,136,157,.12)}.email-preview-toolbar .device-switch{background:rgba(14,116,136,.07)}.email-preview-toolbar .device-switch button.active{color:#0f7d91}.email-preview-meta{background:rgba(255,255,255,.56)}

/* Catalogue & builder */
.music-catalog-item:hover{border-color:rgba(21,139,158,.26)!important;background:#fff!important}.music-catalog-item.active{border-color:rgba(21,139,158,.38)!important;background:rgba(71,190,190,.11)!important}.music-editor textarea{background:rgba(255,255,255,.72)!important}.builder-preview-shell{border-color:rgba(18,136,157,.18)!important;background:linear-gradient(180deg,rgba(249,254,253,.96),rgba(230,248,247,.88))!important;box-shadow:0 20px 50px rgba(3,70,84,.09)!important}.builder-preview-head{border-bottom-color:rgba(18,136,157,.12)!important}.builder-preview-head small{color:#16879d!important}.builder-preview-head h2{color:#176b7b!important}.builder-preview-head p,.builder-preview-body p{color:#597982!important}.builder-preview-price{color:#118398!important}.builder-preview-actions a,.builder-preview-actions button{border-color:rgba(18,136,157,.22)!important;color:#176b7b!important}.builder-preview-actions .primary{background:linear-gradient(135deg,#168ba3,#45c3c0)!important;border-color:#168ba3!important}.builder-code{background:#063d4e!important;color:#e7fbfb!important}

.notification-toast{background:linear-gradient(145deg,rgba(249,254,253,.98),rgba(229,248,247,.95));border-color:rgba(18,136,157,.14);box-shadow:0 22px 70px rgba(0,48,62,.20)}.notification-toast b{color:#0d7588}.notification-button.enabled{background:rgba(50,174,127,.10);border-color:rgba(45,163,119,.22);color:#267153}

/* Responsive: navigation plus fluide sur petit écran */
@media(max-width:900px){
  .admin-app{display:block}.admin-side{position:sticky;top:0;height:auto;z-index:60;padding:9px 10px 10px;border-right:0;border-bottom:1px solid rgba(215,177,90,.22);box-shadow:0 9px 30px rgba(2,51,66,.14)}
  .admin-logo{width:88px;margin:0 auto 5px}.admin-nav{display:flex;gap:6px;max-height:none;overflow-x:auto;overflow-y:hidden;padding:1px 2px 4px;scroll-snap-type:x proximity}.admin-nav button{flex:0 0 auto;min-height:38px;padding:6px 10px;border-radius:13px;scroll-snap-align:start}.admin-nav button::before{width:25px;height:25px;flex-basis:25px;border-radius:8px}.admin-nav button:hover{transform:none}.site-link{display:none}
  .admin-main{padding:13px 12px 42px}.admin-head{position:relative;top:auto;border-radius:19px;padding:12px 14px}.admin-head h1{font-size:39px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.panel{padding:16px;border-radius:20px}.panel-head{align-items:flex-start}
}
@media(max-width:620px){
  .admin-nav button{font-size:11px}.admin-nav button::before{display:none}.admin-head{align-items:flex-start;flex-direction:column}.admin-head-actions{width:100%;justify-content:flex-start}.admin-head-actions .btn{flex:1}.admin-pill{flex:0 0 auto}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:14px}.stat b{font-size:23px}.panel-head{flex-direction:column}.panel-actions{width:100%}.panel-actions .btn{flex:1}.filter-row{grid-template-columns:1fr}.segmented{width:100%;overflow-x:auto;flex-wrap:nowrap}.segmented button{flex:0 0 auto}.events-admin-toolbar{width:100%}.events-admin-toolbar .btn{flex:1}.modal-card{padding:21px;border-radius:22px}
}
@media(max-width:390px){.admin-main{padding-inline:9px}.admin-head{padding:11px 12px}.admin-head h1{font-size:35px}.panel{padding:13px}.stat{padding:12px}.stat b{font-size:21px}}
