/* ADMIN LOGIN */
.admin-login{position:fixed;inset:0;z-index:9000;background:rgba(10,10,10,.97);backdrop-filter:blur(16px);display:none;align-items:center;justify-content:center;}
.admin-login.open{display:flex;}
.login-box{background:var(--gray);border:1px solid var(--gray2);padding:48px;width:100%;max-width:380px;position:relative;animation:fadeUp .3s ease;}
.login-box::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);}
.login-title{font-family:'Syne',sans-serif;font-weight:800;font-size:1.6rem;margin-bottom:6px;}
.login-hint{font-size:.8rem;color:var(--text-muted);margin-bottom:28px;}
.login-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.login-label{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);}
.login-input{background:var(--black);border:1px solid var(--gray2);color:var(--white);padding:13px 16px;font-family:'DM Sans',sans-serif;font-size:.95rem;outline:none;transition:border-color .2s;width:100%;}
.login-input:focus{border-color:var(--accent);}
.login-error{color:var(--accent);font-size:.8rem;margin-bottom:12px;display:none;}
.login-btn{width:100%;background:var(--accent);border:none;color:var(--white);padding:14px;font-family:'Syne',sans-serif;font-weight:700;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;cursor:none;transition:background .2s;margin-top:4px;}
.login-btn:hover{background:#ff5a4e;}
.login-cancel{width:100%;background:transparent;border:none;color:var(--text-muted);padding:12px;font-family:'DM Sans',sans-serif;font-size:.85rem;cursor:none;margin-top:8px;transition:color .2s;}
.login-cancel:hover{color:var(--white);}

/* ADMIN PANEL */
.admin-panel{position:fixed;inset:0;z-index:8500;background:#0d0d0d;display:none;overflow-y:auto;}
.admin-panel.open{display:block;}
.admin-bar{position:sticky;top:0;background:var(--black);border-bottom:1px solid var(--gray2);padding:16px 40px;display:flex;align-items:center;justify-content:space-between;z-index:10;flex-wrap:wrap;gap:12px;}
.admin-bar-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.admin-logo{font-family:'Syne',sans-serif;font-weight:800;color:var(--white);display:inline-flex;flex-direction:column;line-height:1.1;}
.admin-badge{background:var(--accent);color:var(--white);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;}
.admin-tabs{display:flex;gap:4px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;padding-bottom:2px;}
.admin-tabs::-webkit-scrollbar{display:none;}
.admin-tab{flex-shrink:0;}
.admin-tab{background:transparent;border:1px solid var(--gray2);color:var(--text-muted);padding:8px 18px;font-family:'DM Sans',sans-serif;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;cursor:none;transition:all .2s;}
.admin-tab.active,.admin-tab:hover{border-color:var(--accent);color:var(--accent);background:rgba(255,60,46,.05);}
.admin-close{background:transparent;border:1px solid var(--gray2);color:var(--text-muted);padding:8px 16px;font-family:'DM Sans',sans-serif;font-size:.75rem;cursor:none;transition:all .2s;}
/* SAVE STATUS INDICATOR */
.admin-save-status{display:flex;align-items:center;gap:6px;font-size:.72rem;font-family:'DM Sans',sans-serif;padding:5px 12px;border-radius:2px;font-weight:600;letter-spacing:.04em;transition:all .3s;}
.admin-save-status.saving{background:rgba(255,200,0,.12);color:#ffc800;border:1px solid rgba(255,200,0,.3);animation:savePulse .8s infinite alternate;}
.admin-save-status.ok{background:rgba(40,200,100,.12);color:#28c864;border:1px solid rgba(40,200,100,.3);}
.admin-save-status.error{background:rgba(255,60,46,.12);color:var(--accent);border:1px solid rgba(255,60,46,.3);}
@keyframes savePulse{from{opacity:.7}to{opacity:1}}
.admin-close:hover{border-color:var(--white);color:var(--white);}
.admin-body{padding:40px;max-width:1100px;margin:0 auto;}
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:40px;}
.astat{background:var(--gray);border:1px solid var(--gray2);padding:20px;}
.astat-n{font-family:'Syne',sans-serif;font-weight:800;font-size:2rem;color:var(--accent);line-height:1;margin-bottom:4px;}
.astat-l{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);}
.admin-section-title{font-family:'Syne',sans-serif;font-weight:800;font-size:1.4rem;margin-bottom:6px;}
.admin-section-sub{color:var(--text-muted);font-size:.85rem;margin-bottom:28px;}

/* Formulaire add projet */
.add-form{background:var(--gray);border:1px solid var(--gray2);padding:36px;margin-bottom:40px;position:relative;}
.add-form::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--accent),var(--accent2));}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-grid .full{grid-column:span 2;}
.af-group{display:flex;flex-direction:column;gap:6px;}
.af-label{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);}
.af-input,.af-select,.af-textarea{background:var(--black);border:1px solid var(--gray2);color:var(--white);padding:12px 15px;font-family:'DM Sans',sans-serif;font-size:.92rem;outline:none;transition:border-color .2s;width:100%;}
.af-input:focus,.af-select:focus,.af-textarea:focus{border-color:var(--accent);}
.af-select{appearance:none;cursor:none;}
.af-select option{background:var(--gray);}
.af-textarea{resize:vertical;min-height:80px;}

/* Multi upload zone */
.upload-zone{border:1.5px dashed var(--gray2);padding:28px 20px;text-align:center;position:relative;cursor:none;transition:all .25s;}
.upload-zone:hover,.upload-zone.drag{border-color:var(--accent);background:rgba(255,60,46,.03);}
.upload-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.upload-icon{font-size:2rem;margin-bottom:8px;opacity:.4;}
.upload-txt{font-size:.85rem;color:var(--text-muted);}
.upload-hint{font-size:.72rem;color:var(--gray2);margin-top:4px;}
.media-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-top:14px;}
.media-preview-item{position:relative;aspect-ratio:1;background:var(--gray2);overflow:hidden;}
.media-preview-item img,.media-preview-item video{width:100%;height:100%;object-fit:cover;display:block;}
.media-preview-del{position:absolute;top:4px;right:4px;background:rgba(255,60,46,.85);border:none;color:var(--white);width:20px;height:20px;font-size:.7rem;display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1;}
.media-preview-badge{position:absolute;bottom:4px;left:4px;background:rgba(0,0,0,.7);color:var(--text-muted);font-size:.55rem;letter-spacing:.05em;padding:2px 5px;text-transform:uppercase;}
.media-preview-badge.v{color:var(--accent);}

.add-form-footer{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--gray2);}
.af-note{font-size:.75rem;color:var(--text-muted);}
.btn-add-project{background:var(--accent);border:none;color:var(--white);padding:14px 36px;font-family:'Syne',sans-serif;font-weight:700;font-size:.88rem;letter-spacing:.06em;text-transform:uppercase;cursor:none;transition:all .22s;}
.btn-add-project:hover{background:#ff5a4e;transform:translateY(-2px);}

/* Liste projets admin */
.proj-list{display:flex;flex-direction:column;gap:10px;}
.proj-row{background:var(--gray);border:1px solid var(--gray2);padding:14px 20px;display:flex;align-items:center;gap:14px;transition:border-color .2s;}
.proj-row:hover{border-color:rgba(255,255,255,.15);}
.proj-row-thumb{width:60px;height:46px;object-fit:cover;background:var(--gray2);border:1px solid var(--gray2);flex-shrink:0;}
.proj-row-info{flex:1;min-width:0;}
.proj-row-name{font-family:'Syne',sans-serif;font-weight:700;font-size:.95rem;}
.proj-row-meta{font-size:.72rem;color:var(--text-muted);margin-top:2px;}
.proj-row-cat{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid rgba(255,60,46,.3);padding:3px 10px;flex-shrink:0;}
.proj-row-actions{display:flex;gap:8px;flex-shrink:0;}
.proj-row-btn{background:transparent;border:1px solid var(--gray2);color:var(--text-muted);padding:5px 12px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;cursor:none;transition:all .2s;}
.proj-row-btn.del:hover{border-color:var(--accent);color:var(--accent);}
.proj-empty-list{text-align:center;padding:40px;color:var(--text-muted);font-size:.85rem;border:1px dashed var(--gray2);}

/* Gestion catégories */
.cat-manager{background:var(--gray);border:1px solid var(--gray2);padding:28px;margin-bottom:32px;}
.cat-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;min-height:40px;}
.cat-pill{display:flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid var(--gray2);background:var(--black);font-size:.78rem;letter-spacing:.08em;}
.cat-pill-del{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;transition:color .2s;padding:0;}
.cat-pill-del:hover{color:var(--accent);}
.cat-pill-del.locked{color:rgba(255,60,46,.3);cursor:not-allowed;}
.cat-add-row{display:flex;gap:10px;}
.cat-add-input{flex:1;background:var(--black);border:1px solid var(--gray2);color:var(--white);padding:10px 14px;font-family:'DM Sans',sans-serif;font-size:.88rem;outline:none;transition:border-color .2s;}
.cat-add-input:focus{border-color:var(--accent);}
.cat-add-btn{background:transparent;border:1px solid var(--accent);color:var(--accent);padding:10px 20px;font-family:'Syne',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.06em;cursor:none;transition:all .2s;white-space:nowrap;}
.cat-add-btn:hover{background:var(--accent);color:var(--white);}

/* Réglages */
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.settings-card{background:var(--gray);border:1px solid var(--gray2);padding:32px;}
.settings-card-title{font-family:'Syne',sans-serif;font-weight:700;font-size:1.1rem;margin-bottom:20px;}
.settings-card-title span{color:var(--accent);}
.sf{display:flex;flex-direction:column;gap:14px;}
.btn-save{background:transparent;border:1px solid var(--accent);color:var(--accent);padding:12px 28px;font-family:'Syne',sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;cursor:none;transition:all .22s;margin-top:8px;align-self:flex-start;}
.btn-save:hover{background:var(--accent);color:var(--white);}
.btn-danger{border-color:#555;color:#555;}
.btn-danger:hover{background:#222;color:var(--white);border-color:#555;}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

/* ADMIN MODE BAR */
.admin-mode-bar{position:fixed;bottom:0;left:0;right:0;z-index:7500;background:rgba(10,10,10,.97);border-top:2px solid var(--accent);padding:10px 48px;display:flex;align-items:center;justify-content:space-between;backdrop-filter:blur(12px);}
.ambar-left{display:flex;align-items:center;gap:10px;font-size:.78rem;letter-spacing:.06em;color:rgba(245,240,235,.6);}
.ambar-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:blink 2s infinite;flex-shrink:0;}
.ambar-right{display:flex;gap:10px;}
.ambar-btn{background:transparent;border:1px solid var(--gray2);color:rgba(245,240,235,.6);padding:6px 16px;font-family:'DM Sans',sans-serif;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;cursor:none;transition:all .2s;}
.ambar-btn:hover{border-color:var(--accent);color:var(--accent);}
.ambar-logout:hover{border-color:#555;color:#aaa;}
.admin-mode-active .project-card[data-views]::after{content:'👁 'attr(data-views)' vue(s)';position:absolute;top:10px;right:10px;background:rgba(255,60,46,.9);color:#fff;font-size:.6rem;letter-spacing:.06em;padding:3px 8px;z-index:10;pointer-events:none;}

/* DRAG HANDLE */
.drag-handle{cursor:grab;color:var(--text-muted);font-size:1.2rem;padding:0 6px;transition:color .2s;flex-shrink:0;user-select:none;}
.drag-handle:active{cursor:grabbing;}
.drag-handle:hover{color:var(--white);}
.proj-row.dragging{opacity:.35;border-style:dashed;}
.proj-row.drag-over{border-color:var(--accent);background:rgba(255,60,46,.04);}

/* ACTIVITY LOG */
.activity-log{max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:3px;margin-top:4px;}
.activity-item{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--black);border:1px solid var(--gray2);font-size:.73rem;}
.activity-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0;}
.activity-ts{color:var(--text-muted);font-size:.62rem;flex-shrink:0;letter-spacing:.04em;}
.activity-msg{color:rgba(245,240,235,.75);flex:1;}

/* ANALYTICS / HEATMAP */
.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px;}
.analytics-card{background:var(--gray);border:1px solid var(--gray2);padding:20px;}
.analytics-num{font-family:'Syne',sans-serif;font-weight:800;font-size:2.2rem;color:var(--accent);line-height:1;margin-bottom:4px;}
.analytics-label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);}
.heatmap-row{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--gray2);}
.heatmap-row:last-child{border-bottom:none;}
.heatmap-section{font-size:.78rem;color:var(--white);min-width:100px;font-family:'Syne',sans-serif;font-weight:700;}
.heatmap-bar-wrap{flex:1;height:5px;background:var(--gray2);border-radius:3px;overflow:hidden;}
.heatmap-bar{height:100%;background:linear-gradient(to right,var(--accent),var(--accent2));border-radius:3px;transition:width .8s cubic-bezier(.16,1,.3,1);}
.heatmap-count{font-size:.72rem;color:var(--text-muted);min-width:30px;text-align:right;}
.monthly-chart{display:flex;align-items:flex-end;gap:6px;height:80px;margin-top:12px;}
.month-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;}
.month-bar{width:100%;background:var(--accent);border-radius:2px 2px 0 0;min-height:2px;transition:height .6s cubic-bezier(.16,1,.3,1);}
.month-label{font-size:.55rem;color:var(--text-muted);letter-spacing:.04em;}

/* APPARENCE ADMIN */
.color-presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.color-dot{width:26px;height:26px;border-radius:50%;cursor:none;border:2px solid transparent;transition:transform .2s,border-color .2s;flex-shrink:0;}
.color-dot:hover,.color-dot.active{transform:scale(1.25);border-color:var(--white);}
.font-grid{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.font-opt{background:var(--black);border:1px solid var(--gray2);color:var(--white);padding:10px 16px;font-size:.85rem;cursor:none;transition:all .2s;text-align:left;}
.font-opt:hover,.font-opt.active{border-color:var(--accent);color:var(--accent);}

/* VIEWS HISTORY SPARKLINE */
.proj-sparkline{display:flex;align-items:flex-end;gap:2px;height:20px;margin-top:5px;}
.proj-spark-bar{width:7px;border-radius:2px 2px 0 0;background:var(--accent);opacity:.45;min-height:2px;transition:opacity .2s,height .2s;}
.proj-spark-bar:hover{opacity:1;}
.proj-spark-bar.today{background:var(--accent2);opacity:.9;}

/* ── ADMIN TABS ICONS ── */
.admin-tab{display:flex;align-items:center;gap:7px;}
.admin-tab svg{width:14px;height:14px;flex-shrink:0;opacity:.7;}
.admin-tab.active svg,.admin-tab:hover svg{opacity:1;}

/* ── EDIT MODAL ── */
.edit-modal{position:fixed;inset:0;z-index:9200;background:rgba(5,5,5,.92);backdrop-filter:blur(10px);display:none;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto;}
.edit-modal.open{display:flex;}
.edit-modal-box{background:#141414;border:1px solid var(--gray2);width:100%;max-width:760px;position:relative;animation:fadeUp .3s ease;}
.edit-modal-box::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--accent),var(--accent2));}
.edit-modal-header{padding:28px 36px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--gray2);padding-bottom:20px;}
.edit-modal-title{font-family:'Syne',sans-serif;font-weight:800;font-size:1.2rem;}
.edit-modal-close{background:transparent;border:none;color:var(--text-muted);font-size:1.4rem;cursor:pointer;line-height:1;transition:color .2s;padding:0;}
.edit-modal-close:hover{color:var(--white);}
.edit-modal-body{padding:28px 36px;}
.edit-modal-footer{padding:20px 36px;border-top:1px solid var(--gray2);display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;}

/* ── MEDIA EDIT GRID ── */
.edit-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;margin-top:12px;}
.edit-media-item{position:relative;aspect-ratio:1;background:var(--gray2);overflow:hidden;border:1px solid var(--gray2);cursor:grab;}
.edit-media-item img,.edit-media-item video{width:100%;height:100%;object-fit:cover;}
.edit-media-item .del-media{position:absolute;top:3px;right:3px;background:rgba(255,60,46,.9);border:none;color:#fff;width:18px;height:18px;font-size:.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.edit-media-add{aspect-ratio:1;background:transparent;border:1.5px dashed var(--gray2);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);font-size:1.6rem;transition:border-color .2s,color .2s;position:relative;}
.edit-media-add:hover{border-color:var(--accent);color:var(--accent);}
.edit-media-add input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}

/* ── PROJ ROW EDIT BTN ── */
.proj-row-btn.edit:hover{border-color:#4ade80;color:#4ade80;}
.proj-row-btn.trash-restore:hover{border-color:#60a5fa;color:#60a5fa;}

/* ── TRASH SECTION ── */
.trash-section{margin-top:32px;border-top:1px solid var(--gray2);padding-top:24px;}
.trash-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;cursor:pointer;user-select:none;}
.trash-header-title{font-family:'Syne',sans-serif;font-weight:700;font-size:.88rem;color:var(--text-muted);display:flex;align-items:center;gap:8px;}
.trash-list{display:flex;flex-direction:column;gap:8px;}
.trash-row{background:rgba(255,60,46,.04);border:1px solid rgba(255,60,46,.15);opacity:.7;}

/* ── CORBEILLE ITEMS EN ADMIN ── */
.proj-row.trash-row .proj-row-name{text-decoration:line-through;opacity:.5;}

/* ── TIMELINE ADMIN ── */
.timeline-admin-item{background:var(--gray);border:1px solid var(--gray2);padding:16px 20px;display:flex;align-items:center;gap:14px;}
.timeline-admin-year{font-family:'Syne',sans-serif;font-weight:800;font-size:1.1rem;color:var(--accent);min-width:52px;flex-shrink:0;}
.timeline-admin-info{flex:1;min-width:0;}
.timeline-admin-title{font-size:.9rem;font-weight:600;}
.timeline-admin-desc{font-size:.75rem;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ── ADMIN MODE BAR (compact, no overlap) ── */
.admin-mode-bar{padding:8px 28px;}

/* ── ADMIN RESPONSIVE ── */
@media(max-width:900px){
  .admin-bar{padding:12px 16px;gap:8px;}
  .admin-body{padding:20px 16px;}
  .admin-stats{grid-template-columns:repeat(2,1fr);}
  .form-grid{grid-template-columns:1fr;}
  .form-grid .full{grid-column:span 1;}
  .settings-grid{grid-template-columns:1fr;}
  .settings-card[style*="span 2"]{grid-column:span 1;}
  .edit-modal-box{max-width:100%;}
  .edit-modal-body{padding:20px 16px;}
  .edit-modal-header,.edit-modal-footer{padding:16px;}
  .admin-tabs{flex-wrap:wrap;gap:4px;}
}
@media(max-width:600px){
  .admin-stats{grid-template-columns:1fr 1fr;}
  .astat{padding:14px;}
  .add-form{padding:18px 14px;}
  .admin-bar-left{gap:8px;}
  .admin-logo{display:none;}
}
.vbp-list{display:flex;flex-direction:column;}
.vbp-item{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--gray2);}
.vbp-item:last-child{border-bottom:none;}
.vbp-name{flex:1;font-size:.8rem;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.vbp-total{font-family:'Syne',sans-serif;font-weight:700;font-size:.9rem;color:var(--accent);min-width:36px;text-align:right;}
.vbp-sparkline{display:flex;align-items:flex-end;gap:2px;height:18px;min-width:70px;}
.vbp-spark-bar{flex:1;border-radius:2px 2px 0 0;min-height:2px;background:var(--accent);opacity:.55;}
.vbp-spark-bar.today{background:var(--accent2);opacity:1;}
