/* Styles du panneau d'administration DJ Mirkin Faust */

:root{--bg:#07091b;--panel:#0c1028;--panel2:#111632;--line:#28234e;--muted:#a7aed4;--white:#f7f7ff;--pink:#f000e8;--purple:#7b2cff;--cyan:#00d9ff;--green:#00e59b;--gold:#ffbf47;--radius:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 75% -10%,#24104d 0,transparent 34%),var(--bg);color:var(--white);font-family:Inter,Arial,sans-serif;font-size:13px}button,a,input,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}
.topbar{height:84px;display:flex;align-items:center;gap:20px;padding:0 22px;border-bottom:1px solid #d000ff;background:#080817ed;position:sticky;top:0;z-index:20;backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:13px;min-width:310px}.brand-logo{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#2d125f,#09091b 65%);border:2px solid var(--pink);box-shadow:0 0 22px #f000e866;color:#ff43ed}.brand-logo i{width:34px;height:34px}.brand-name{font-size:20px;font-weight:800;letter-spacing:.5px}.brand-sub{font-size:11px;letter-spacing:2px;color:#ff50f5;margin-top:5px;font-weight:700}
.toplinks{display:flex;align-items:center;gap:10px;flex:1}.toplinks a,.outline-btn{display:flex;align-items:center;gap:9px;border:1px solid #50249a;border-radius:8px;padding:12px 14px;background:#100d2a;white-space:nowrap;font-weight:600}.toplinks i{color:#fa48ef;width:18px}.toplinks a:hover,.outline-btn:hover{border-color:var(--pink);box-shadow:0 0 14px #f000e833}
.top-actions{display:flex;align-items:center;gap:16px}.notification{position:relative;border:1px solid #5127a0;border-radius:9px;background:#11102b;padding:12px;color:#ff4bf1}.notification b{position:absolute;right:-5px;top:-6px;background:#ff087e;border-radius:50%;font-size:10px;padding:4px 6px;color:white}.admin-user{display:flex;align-items:center;gap:10px;white-space:nowrap}.user-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid #b13dff;background:linear-gradient(135deg,#39207b,#15182e);box-shadow:0 0 14px #8d37ff55}.user-avatar i{width:22px;height:22px}.hello{font-size:11px;color:#bfc3e5;margin-bottom:4px}.logout{border-color:#ff00cd;color:#fff;box-shadow:0 0 14px #ff00cd22}
.layout{display:grid;grid-template-columns:242px minmax(0,1fr);min-height:calc(100vh - 84px)}.sidebar{padding:21px 10px 22px 14px;border-right:1px solid #61229c;background:#090b20;display:flex;flex-direction:column;gap:16px}.side-nav{border:1px solid #24264c;border-radius:12px;overflow:hidden}.side-nav a{min-height:53px;display:flex;align-items:center;gap:16px;padding:13px 16px;border-bottom:1px solid #1b203f;transition:.2s}.side-nav a:last-child{border-bottom:0}.side-nav a i{width:22px;height:22px;color:#df6bfa;flex-shrink:0}.side-nav a:hover{background:#171437}.side-nav a.active{background:linear-gradient(105deg,#ef00e8,#5734ff);box-shadow:0 0 18px #b900ff55;font-weight:700}.side-nav a.active i{color:white}.nav-badge{margin-left:auto;background:#ff087e;border-radius:20px;padding:4px 8px;font-size:10px}.promo{margin-top:auto;border:1px solid #7521c7;border-radius:16px;padding:15px;background:linear-gradient(160deg,#1c1243,#080b20 72%);box-shadow:0 0 18px #9c00ff25}.promo-art{height:100px;border-radius:10px;margin:-5px -5px 14px;background:linear-gradient(135deg,#1c0e54,#0d1e53 48%,#4b0071);display:grid;place-items:center;overflow:hidden;position:relative}.promo-art:before,.hero-art:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0 13px,#00d9ff16 14px 16px),radial-gradient(ellipse at 50% 100%,#f000e877,transparent 55%)}.promo-art i{width:54px;height:54px;color:#f64df8;filter:drop-shadow(0 0 10px #f000e8);z-index:1}.promo h3{text-align:center;font-size:18px;margin:8px 0 5px}.promo .sub{text-align:center;color:#fa50f0;font-weight:700;letter-spacing:2px}.promo p{font-size:13px;line-height:1.8;color:#e2e4ff;margin:22px 6px 7px}
main{min-width:0;padding:18px 14px 30px}.hero{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:124px;position:relative;margin:0 0 4px;padding:0 8px 13px;overflow:hidden}.hero-art{position:absolute;inset:0 0 0 42%;opacity:.65;background:radial-gradient(ellipse at 60% 40%,#1039a4,transparent 60%),linear-gradient(90deg,transparent,#18013d)}.hero-copy{position:relative;z-index:1}.hero h1{font-size:clamp(30px,3.2vw,52px);line-height:1.05;margin:0 0 9px;letter-spacing:-1.5px}.hero h1 span{background:linear-gradient(90deg,#fff,#ff4de9);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{color:#d0d3f5;line-height:1.7;font-size:14px;margin:0}.date-card{position:relative;z-index:1;min-width:156px;text-align:center;border:1px solid #7026c9;border-radius:11px;padding:14px;background:#090b22dc;box-shadow:0 0 18px #8300ff19}.date-card .date{font-size:11px;color:#d2d4f3}.date-card strong{display:block;font-size:28px;margin:5px 0}.online{color:var(--green);font-size:11px}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:14px}.metric{position:relative;display:flex;align-items:center;gap:15px;min-height:116px;padding:17px;border:1px solid var(--accent);border-radius:12px;background:radial-gradient(ellipse at 100% 0,var(--glow),transparent 45%),linear-gradient(120deg,#0a0d24,#0b1028);overflow:hidden;box-shadow:inset 0 0 20px #0002}.metric.cyan{--accent:#008cff;--glow:#00d9ff35;--accent2:#00e7ff}.metric.pink{--accent:#ed00dc;--glow:#ff00d833;--accent2:#ff37e9}.metric.purple{--accent:#7b2cff;--glow:#7b2cff40;--accent2:#bc5cff}.metric-icon{width:59px;height:59px;border:1px solid var(--accent2);border-radius:11px;display:grid;place-items:center;color:var(--accent2);box-shadow:0 0 13px color-mix(in srgb,var(--accent2) 20%,transparent);flex-shrink:0}.metric-icon i{width:30px;height:30px}.metric-label{font-size:12px;color:#d8daf7;white-space:nowrap}.metric-value{font-size:30px;font-weight:800;margin:8px 0 5px}.metric-foot{font-size:11px;color:#d8daf7;white-space:nowrap}.metric-foot i{width:12px;color:var(--green);vertical-align:middle}.spark{margin-left:auto;align-self:flex-end;height:45px;display:flex;align-items:end;gap:3px;flex-shrink:0}.spark span{width:7px;background:var(--accent2);box-shadow:0 0 8px color-mix(in srgb,var(--accent2) 30%,transparent)}
.content-grid{display:grid;grid-template-columns:1.15fr 1fr .82fr;gap:12px;margin-bottom:14px}.panel{border:1px solid #4a2580;border-radius:13px;background:linear-gradient(145deg,#0c1027ee,#080b20f2);min-width:0;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-bottom:1px solid #202442}.panel-title{display:flex;align-items:center;gap:11px;font-size:16px;font-weight:800;white-space:nowrap}.panel-title i{color:#f337ef;width:24px;height:24px}.panel-title .cyan-icon{color:var(--cyan)}.small-btn{border:1px solid #b800d7;background:#140b2a;color:#ff55f2;border-radius:7px;padding:7px 10px;font-size:11px;white-space:nowrap}.small-btn:hover{background:#32104a}.activity-list{padding:0 12px}.activity{display:flex;align-items:center;gap:12px;padding:9px 3px;border-bottom:1px solid #1e2341;min-height:52px}.activity:last-child{border:0}.activity-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:#073957;color:#00dcff}.activity-icon.pink{background:#3b0646;color:#ff2de8}.activity-icon.green{background:#064435;color:#00f3a5}.activity-icon i{width:22px;height:22px}.activity-main{min-width:0;flex:1}.activity-main strong{font-size:12px;display:block;margin-bottom:4px}.activity-main span{font-size:11px;color:#b8bee4;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity time{color:#b9bde0;font-size:11px;white-space:nowrap}
.chart-wrap{padding:12px 12px 8px}.chart-wrap select{background:#0d112c;color:#f3f2ff;border:1px solid #333a72;border-radius:7px;padding:7px;font-size:11px;max-width:145px}.chart{width:100%;height:220px;display:block}.chart-labels{display:flex;justify-content:space-between;padding:0 10px;color:#c5c9eb;font-size:10px}.status-body{padding:14px;display:flex;align-items:center;gap:16px}.donut{width:136px;height:136px;border-radius:50%;background:conic-gradient(#f000e8 0 42%,#ffbd45 42% 75%,#00b8ff 75% 92%,#5e2cff 92%);display:grid;place-items:center;flex-shrink:0;box-shadow:0 0 20px #7d00ff25}.donut-hole{width:91px;height:91px;border-radius:50%;background:#0a0d22;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-hole strong{font-size:23px}.donut-hole span{font-size:11px;margin-top:3px}.legend{flex:1;min-width:0}.legend div{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:8px;margin:13px 0;font-size:11px;white-space:nowrap}.dot{width:12px;height:12px;border-radius:4px}.legend .count{color:#d2d5f1}
.quick{padding:0 11px 11px}.quick-title{display:flex;align-items:center;gap:10px;padding:0 4px 10px;font-size:14px;font-weight:800}.quick-title i{color:#ff32ec}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.quick-grid a{display:flex;align-items:center;gap:7px;padding:8px 9px;border:1px solid #c100d8;border-radius:7px;color:#ff8af8;font-size:10px;white-space:nowrap}.quick-grid a:nth-child(2),.quick-grid a:nth-child(4){border-color:#00bfe7;color:#00e4ff}.quick-grid i{width:15px;height:15px}
.tables-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.table-panel{padding-bottom:12px}.table-scroll{overflow-x:auto;padding:0 11px}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:11px;white-space:nowrap}.data-table th{background:#171d42;color:#e5e7ff;text-align:left;padding:11px 9px;font-weight:600}.data-table td{padding:9px;border-bottom:1px solid #1b2141;color:#e2e4fb}.data-table tbody tr:nth-child(even){background:#11152e88}.data-table tbody tr:hover{background:#21143b}.person{display:flex;align-items:center;gap:9px}.person-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:800;color:#fff;background:linear-gradient(135deg,#783bce,#ed42cf)}.person-avatar.pink{background:linear-gradient(135deg,#ff82c9,#7528b8)}.person-avatar.gold{background:linear-gradient(135deg,#ffe58b,#b76b1a);color:#38220b}.person-avatar.blue{background:linear-gradient(135deg,#54d7ff,#303acb)}.status{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:5px 8px;font-size:10px;border:1px solid transparent}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status.pending,.status.progress{background:#3b260d;color:#ffbd47;border-color:#71410a}.status.success{background:#063b2e;color:#00e6a0;border-color:#075b43}.status.new{background:#062e4d;color:#00d9ff;border-color:#075581}.status.rejected{background:#450e38;color:#ff5cd9;border-color:#76155f}.actions{display:flex;gap:9px}.actions button{border:0;background:none;color:#d2d4ff;padding:2px}.actions button:last-child{color:#ff30d9}.actions i{width:16px;height:16px}.mobile-menu{display:none;border:1px solid #4d248e;background:#100d2a;color:white;border-radius:8px;padding:9px}
.section-page{padding:18px}.section-page h2{margin:0 0 8px;font-size:22px}.section-page p{color:var(--muted);line-height:1.6}.section-placeholder{border:1px dashed #5b2b91;border-radius:12px;padding:25px;margin-top:18px;background:#0d1027}.section-placeholder i{color:#f348f0;width:30px;height:30px}.toast{position:fixed;right:20px;bottom:20px;background:#101735;border:1px solid #00d9ff;border-radius:10px;padding:13px 17px;box-shadow:0 0 22px #00d9ff25;z-index:50;display:none}

.agenda-admin{padding:20px}.agenda-admin>h2{margin:12px 0 6px}.agenda-admin>p{color:#b8c2ed;line-height:1.6}.agenda-key{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0;color:#d3d8f7;font-size:11px}.agenda-key span{display:flex;align-items:center;gap:6px}.key-dot{display:inline-block;width:9px;height:9px;border-radius:50%}.key-dot.available{background:#00e6a0}.key-dot.unavailable{background:#ff4fbd}.key-dot.booked{background:#ffbd47}.agenda-flash{padding:12px 14px;border:1px solid #00d9ff;border-radius:9px;background:#06253a;margin:14px 0;color:#c9f8ff}.agenda-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:16px}.calendar-box,.agenda-form,.agenda-list{border:1px solid #282c55;border-radius:12px;background:#0a0e25;padding:14px;min-width:0}.calendar-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.calendar-top h3{font-size:17px;text-transform:capitalize;margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays{margin-bottom:6px}.calendar-weekdays div{text-align:center;padding:8px 2px;color:#bfc4e7;font-size:11px;font-weight:700}.calendar-day{min-width:0;min-height:72px;border:1px solid #30365f;border-radius:8px;background:#101631;color:#f7f7ff;padding:7px 5px;text-align:left;display:flex;flex-direction:column;gap:5px;overflow:hidden}.calendar-day strong{font-size:14px}.calendar-day span{font-size:9px;line-height:1.3}.calendar-day small{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day.available{border-color:#087654;background:linear-gradient(145deg,#0b302d,#0d142a)}.calendar-day.unavailable{border-color:#8a276e;background:linear-gradient(145deg,#38132f,#111329)}.calendar-day.booked{border-color:#80551b;background:linear-gradient(145deg,#3b2912,#111329)}.calendar-day.selected,.calendar-day:focus{outline:2px solid #00d9ff;outline-offset:1px}.calendar-day.blank{background:transparent;border-color:transparent;pointer-events:none}.agenda-form h3{display:flex;align-items:center;gap:8px;margin:0 0 18px}.agenda-form h3 i{color:#f343ed}.agenda-form label{display:block;color:#dce0ff;font-weight:600;margin:13px 0 7px}.agenda-form input,.agenda-form select,.agenda-form textarea{width:100%;border:1px solid #343a68;border-radius:8px;background:#090d22;color:#f6f6ff;padding:11px;outline:none}.agenda-form input:focus,.agenda-form select:focus,.agenda-form textarea:focus{border-color:#00d9ff}.agenda-form textarea{resize:vertical}.agenda-save{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:18px;padding:12px;border:1px solid #d800db;border-radius:8px;background:linear-gradient(100deg,#bd00cf,#6331ff);color:white;font-weight:700}.agenda-save i{width:17px}.form-help{font-size:10px!important;color:#a9b0d8!important;margin-top:12px}.agenda-list{margin-top:16px}.agenda-list h3{margin:0 0 10px}.agenda-list>p{color:#a9b0d8;line-height:1.6}
@media(max-width:1050px){.agenda-layout{grid-template-columns:1fr}}@media(max-width:700px){.agenda-admin{padding:12px}.calendar-box{padding:7px}.calendar-grid{gap:3px}.calendar-day{min-height:58px;padding:5px 3px}.calendar-day span{font-size:8px}.calendar-day small{display:none}.calendar-top h3{font-size:13px}.calendar-top .small-btn{font-size:9px;padding:6px}.calendar-weekdays div{font-size:9px}}

@media(max-width:1350px){.brand{min-width:240px}.brand-logo{width:54px;height:54px}.brand-name{font-size:16px}.toplinks a{padding:11px 9px;font-size:11px}.content-grid{grid-template-columns:1fr 1fr}.status-panel{grid-column:1/-1}.status-body{justify-content:center}.legend{max-width:340px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.toplinks{display:none}.brand{flex:1}.mobile-menu{display:block}.layout{grid-template-columns:220px minmax(0,1fr)}.content-grid{grid-template-columns:1fr}.status-panel{grid-column:auto}.tables-grid{grid-template-columns:1fr}.hero-art{left:25%}}
@media(max-width:700px){.topbar{height:70px;padding:0 12px;gap:10px}.brand{min-width:0;gap:9px}.brand-logo{width:43px;height:43px}.brand-name{font-size:13px}.brand-sub{font-size:9px;letter-spacing:1px}.top-actions{gap:8px}.admin-user,.logout{display:none}.layout{display:block}.sidebar{display:none;position:fixed;top:70px;bottom:0;left:0;width:260px;z-index:30;overflow:auto;box-shadow:10px 0 30px #0008}.sidebar.open{display:flex}.promo{display:none}main{padding:12px 9px 24px}.hero{align-items:flex-start;min-height:0;padding:8px 5px 15px}.hero h1{font-size:30px}.hero p{font-size:12px}.date-card{display:none}.hero-art{left:10%;opacity:.35}.metrics{gap:8px;grid-template-columns:1fr 1fr}.metric{padding:11px;gap:9px;min-height:94px}.metric-icon{width:39px;height:39px}.metric-icon i{width:22px;height:22px}.metric-label{font-size:10px;white-space:normal}.metric-value{font-size:24px;margin:5px 0}.metric-foot{font-size:9px}.spark{display:none}.panel-head{padding:12px}.panel-title{font-size:13px;white-space:normal}.panel-title i{width:20px;height:20px}.status-body{gap:12px;padding:12px 8px}.donut{width:112px;height:112px}.donut-hole{width:76px;height:76px}.legend div{font-size:10px;gap:5px}.quick-grid{grid-template-columns:1fr 1fr}.quick-grid a{font-size:9px;padding:8px 6px}.chart{height:190px}.activity time{font-size:9px}.activity-main span{max-width:180px}.data-table{font-size:10px}.table-panel .panel-head{align-items:flex-start}.small-btn{font-size:10px;padding:7px}.section-page{padding:15px}}

/* Correctif galerie : limiter les médias pour éviter qu'une photo occupe toute la page */
.section-page img[src*="uploads/gallery/"],
.section-page img[src*="/gallery/"],
.section-page a[href*="uploads/gallery/"] img,
.gallery-grid img,
.gallery-item img,
.gallery-card img,
.media-grid img,
.media-card img,
.admin-gallery img {
  display: block;
  width: 190px !important;
  height: 145px !important;
  max-width: 100% !important;
  max-height: 145px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 10px;
}
.section-page img[src*="uploads/gallery/"] {
  margin: 8px 0;
}



/* Correctif galerie : limiter également les vidéos et leurs aperçus */
.section-page video,
.section-page video[src*="uploads/gallery/"],
.section-page iframe[src*="uploads/gallery/"],
.gallery-grid video,
.gallery-item video,
.gallery-card video,
.media-grid video,
.media-card video,
.admin-gallery video,
.gallery-grid iframe,
.gallery-item iframe,
.gallery-card iframe,
.media-grid iframe,
.media-card iframe,
.admin-gallery iframe,
.section-page .gallery-video,
.section-page .media-video {
  display: block;
  width: 190px !important;
  height: 145px !important;
  max-width: 100% !important;
  max-height: 145px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 10px;
  background: #050714;
}

/* Les lecteurs ne dépassent pas non plus la carte qui les contient */
.gallery-grid,
.gallery-item,
.gallery-card,
.media-grid,
.media-card,
.admin-gallery {
  min-width: 0;
  max-width: 100%;
}

/* Calendrier de disponibilités intégré à l'administration */
.availability-admin-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.8fr);gap:16px;align-items:start;margin-top:12px}
.availability-admin .calendar-box,.availability-admin .agenda-form,.availability-admin .agenda-list{border:1px solid #282c55;border-radius:12px;background:#0a0e25;padding:14px;min-width:0}
.availability-admin .calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.availability-admin .calendar-weekdays{margin-bottom:6px}
.availability-admin .calendar-weekdays div{text-align:center;padding:8px 2px;color:#bfc4e7;font-size:11px;font-weight:700}
.availability-admin .calendar-day{min-width:0;min-height:64px;border:1px solid #30365f;border-radius:8px;background:#101631;color:#f7f7ff;padding:7px 5px;text-align:left;display:flex;flex-direction:column;gap:5px;overflow:hidden}
.availability-admin a.calendar-day{text-decoration:none}
.availability-admin .calendar-day strong{font-size:14px}
.availability-admin .calendar-day span{font-size:9px;line-height:1.3}
.availability-admin .calendar-day.available{border-color:#087654;background:linear-gradient(145deg,#0b302d,#0d142a)}
.availability-admin .calendar-day.unavailable{border-color:#8a276e;background:linear-gradient(145deg,#38132f,#111329)}
.availability-admin .calendar-day.booked{border-color:#80551b;background:linear-gradient(145deg,#3b2912,#111329)}
.availability-admin .calendar-day.selected,.availability-admin .calendar-day:focus{outline:2px solid #00d9ff;outline-offset:1px}
.availability-admin .calendar-day.blank{background:transparent;border-color:transparent;pointer-events:none}
.availability-admin .agenda-form h3{display:flex;align-items:center;gap:8px;margin:0 0 18px}
.availability-admin .agenda-form h3 i{color:#f343ed}
.availability-admin .agenda-form label{display:block;color:#dce0ff;font-weight:600;margin:13px 0 7px}
.availability-admin .agenda-form input,.availability-admin .agenda-form select{width:100%;border:1px solid #343a68;border-radius:8px;background:#090d22;color:#f6f6ff;padding:11px}
.availability-admin .agenda-save{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:18px;padding:12px;border:1px solid #d800db;border-radius:8px;background:linear-gradient(100deg,#bd00cf,#6331ff);color:white;font-weight:700}
.availability-admin .agenda-list{margin-top:16px}
.availability-admin .agenda-list h3{margin:0 0 10px}
.availability-admin .agenda-list>p{color:#a9b0d8;line-height:1.6}
.availability-admin .agenda-key{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0;color:#d3d8f7;font-size:11px}
.availability-admin .agenda-key span{display:flex;align-items:center;gap:6px}
.availability-admin .key-dot{display:inline-block;width:9px;height:9px;border-radius:50%}
.availability-admin .key-dot.available{background:#00e6a0}
.availability-admin .key-dot.unavailable{background:#ff4fbd}
.availability-admin .key-dot.booked{background:#ffbd47}
@media(max-width:900px){.availability-admin-layout{grid-template-columns:1fr}}
@media(max-width:600px){.availability-admin .calendar-day{min-height:52px;padding:5px 3px}.availability-admin .calendar-day span{font-size:8px}.availability-admin .calendar-top h3{font-size:13px}}


/* Correctif ciblé : cartes statistiques de la rubrique Avis clients */
.section-page .stats-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
}
.section-page .stats-grid .stat-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  min-height: 92px;
  box-sizing: border-box;
  padding: 18px 20px;
  border: 1px solid rgba(143, 67, 255, .55);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(19, 29, 58, .96), rgba(13, 12, 34, .98));
}
.section-page .stats-grid .stat-label {
  color: #c8c9e8;
  font-size: .9rem;
  font-weight: 600;
}
.section-page .stats-grid .stat-value {
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.1;
  font-weight: 800;
}
@media (max-width: 700px) {
  .section-page .stats-grid { grid-template-columns: 1fr; }
}


/* Correctif ciblé : formulaire de la playlist dans le panneau admin */
#playlist .playlist-upload-form {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr);
  gap: 16px 20px;
  align-items: end;
  width: 100%;
  max-width: 100%;
}
#playlist .playlist-upload-form > input[type="hidden"] { display: none; }
#playlist .playlist-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
#playlist .playlist-field label { display: block; line-height: 1.5; color: var(--white); font-weight: 600; }
#playlist .playlist-field input[type="text"] {
  width: 100%; min-width: 0; min-height: 42px; padding: 10px 12px;
  border: 1px solid var(--line); border-radius: 8px;
  background: #080c20; color: var(--white);
}
#playlist .playlist-file-field { grid-column: 1 / -1; }
#playlist .playlist-field input[type="file"] {
  display: block; width: 100%; max-width: 100%; min-width: 0;
  padding: 10px; border: 1px solid var(--line); border-radius: 8px;
  background: #080c20; color: var(--muted);
}
#playlist #playlist-progress, #playlist #playlist-upload-status {
  grid-column: 1 / -1; width: 100%; min-width: 0; margin: 0;
}
#playlist #playlist-progress { height: 10px; accent-color: var(--pink); }
#playlist #playlist-upload-button { justify-self: start; }
@media (max-width: 700px) {
  #playlist .playlist-upload-form { grid-template-columns: minmax(0, 1fr); }
  #playlist .playlist-file-field, #playlist #playlist-progress, #playlist #playlist-upload-status { grid-column: 1; }
}


/* Consultation du contenu complet des demandes de devis */
.quote-details { min-width: 125px; }
.quote-details > summary {
  display: inline-block; cursor: pointer; color: #f12ce7; font-weight: 700;
  padding: 7px 10px; border: 1px solid #8e20c9; border-radius: 7px;
  list-style-position: inside; white-space: nowrap;
}
.quote-details > summary:hover { background: rgba(177, 38, 255, .12); }
.quote-details[open] > summary { margin-bottom: 10px; }
.quote-details-content {
  position: relative; z-index: 2; min-width: 280px; max-width: 520px;
  max-height: 420px; overflow: auto; padding: 14px;
  border: 1px solid #6424a0; border-radius: 10px;
  background: #0b0d22; color: #f4f5ff; white-space: normal;
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
}
.quote-details-content p { margin: 0 0 8px; line-height: 1.45; }
.quote-details-content strong { color: #d7b7ff; }
.quote-message { margin-top: 12px; padding-top: 10px; border-top: 1px solid #303456; }
.quote-message > div { margin-top: 7px; line-height: 1.55; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .quote-details-content { min-width: 240px; max-width: min(80vw, 420px); }
}
