.dl-videocv-btn{ /* scoped button style, non-invasive */
  display:inline-block;
  margin-left:8px;
  padding:6px 10px;
  font-size:13px;
  cursor:pointer;
  border:1px solid #0073aa;
  background:#fff;
  color:#0073aa;
  border-radius:4px;
}

/* Modal styles (vcv- prefixed) to match site look */
.dl-videocv-modal .vcv-modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.55);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:10000;
}

.dl-videocv-modal .vcv-modal{
  width:92%;
  max-width:560px;
  background:rgba(0,0,0,0.85);
  border:1px solid rgba(0,255,136,0.2);
  border-radius:8px;
  box-shadow:0 10px 30px rgba(0,0,0,0.45);
  padding:14px;
  max-height: calc(100vh - 24px);
  overflow:auto;
}

.vcv-modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
}

.vcv-modal-header h3{
  font-size:1rem;
  letter-spacing:0.4px;
}

.vcv-modal-close{
  background:transparent;
  border:none;
  color:#00ff88;
  cursor:pointer;
  padding:4px;
}

.vcv-modal-body{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:center;
}

.vcv-video-wrap{
  position:relative;
  width: min(420px, 86vmin);
  aspect-ratio: 1 / 1;
  height:auto;
  max-width: 420px;
  background:#000;
  border-radius:6px;
  overflow:hidden;
  border:1px solid rgba(255,138,0,0.25);
  display:flex;
  align-items:center;
  justify-content:center;
}

.vcv-video-wrap video{width:100%;height:100%;object-fit:cover;z-index:1;}

.vcv-face-overlay{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  z-index:2;
  display:block;
}

.vcv-debug-grid{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(0,255,136,0.08) 1px, transparent 1px),
    linear-gradient(0deg, rgba(0,255,136,0.08) 1px, transparent 1px);
  background-size: 20px 20px;
  box-shadow: inset 0 0 30px rgba(0,255,136,0.15), inset 0 0 80px rgba(0,255,136,0.1);
  mix-blend-mode: screen;
}

.vcv-timer{
  position:absolute;
  top:10px;
  right:10px;
  background:rgba(0,0,0,0.7);
  border:1px solid rgba(255,138,0,0.35);
  color:#ffb86b;
  font-size:0.8rem;
  padding:4px 8px;
  border-radius:999px;
  z-index:5;
}

.vcv-recorded-badge{
  position:absolute;
  left:10px;
  top:10px;
  z-index:5;
  background: rgba(0, 255, 136, 0.12);
  border: 1px solid rgba(0, 255, 136, 0.32);
  color: #00ff88;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 0.72rem;
  letter-spacing: 0.2px;
}

.vcv-recorded-badge.hidden{display:none;}

.vcv-loading-layer{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.68);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  z-index:6;
}

.vcv-loading-layer.hidden{display:none;}

.vcv-loading-card{
  background:rgba(0,0,0,0.88);
  border:1px solid rgba(255,138,0,0.35);
  border-radius:10px;
  padding:12px 14px;
  max-width:420px;
  width:100%;
  color:#f6f6f6;
  display:flex;
  align-items:center;
  gap:10px;
}

.vcv-loading-text{font-size:0.82rem;line-height:1.3;color:#ffdfb8;}

.vcv-spinner{
  width:18px;
  height:18px;
  border-radius:50%;
  border:2px solid rgba(255,184,107,0.25);
  border-top-color:#ffb86b;
  animation: vcv-spin 0.9s linear infinite;
  flex: 0 0 auto;
}

@keyframes vcv-spin{to{transform:rotate(360deg);}}

.vcv-transient-warning{
  position:absolute;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  z-index:6;
  background:rgba(0,0,0,0.75);
  border:1px solid rgba(255,138,0,0.45);
  color:#ffb86b;
  padding:6px 10px;
  border-radius:999px;
  font-size:0.78rem;
  text-align:center;
  max-width: calc(100% - 24px);
}

.vcv-transient-warning.hidden{display:none;}

.vcv-warning-layer{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.78);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  z-index:4;
}

.vcv-warning-layer.hidden{display:none;}

.vcv-warning-card{
  background:rgba(0,0,0,0.88);
  border:1px solid rgba(255,138,0,0.35);
  border-radius:8px;
  padding:8px 10px;
  max-width:420px;
  color:#f6f6f6;
  max-height: calc(100% - 16px);
  overflow:auto;
  text-align:center;
}

.vcv-warning-card h4{font-size:0.72rem;margin-bottom:6px;color:#ffb86b;letter-spacing:0.2px;}
.vcv-warning-card ul{
  margin:0 0 10px 18px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:0.72rem;
  line-height:1.3;
  text-align:left;
}
.vcv-warning-card li{ text-align:left; }
.vcv-warning-card .modal-action-btn{margin:0 auto;display:inline-block;font-size:0.72rem;padding:6px 9px;}

.vcv-file-status.is-clickable{cursor:pointer;}
.vcv-file-status.is-clickable:hover{box-shadow:0 0 0 2px rgba(255,138,0,0.18);}

/* Basit izleme modalı (index sayfası için) */
.vcv-watch-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.72);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
  z-index:9999;
}

.vcv-watch-modal{
  width: min(460px, 92vmin);
  background:rgba(0,0,0,0.92);
  border:1px solid rgba(255,138,0,0.35);
  border-radius:12px;
  overflow:hidden;
  box-shadow: 0 18px 40px rgba(0,0,0,0.55);
}

.vcv-watch-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-bottom:1px solid rgba(255,255,255,0.06);
}

.vcv-watch-title{color:#ffb86b;font-size:0.9rem;letter-spacing:0.6px;}

.vcv-watch-close{
  appearance:none;
  border:1px solid rgba(255,255,255,0.1);
  background:rgba(255,255,255,0.03);
  color:#fff;
  border-radius:8px;
  padding:6px 10px;
  cursor:pointer;
}

.vcv-watch-body{padding:0;}

.vcv-watch-video-wrap{
  position:relative;
  width: min(420px, 90vmin);
  aspect-ratio: 1 / 1;
  background:#000;
  margin: 0 auto;
}

.vcv-watch-video{
  width:100%;
  height: 100%;
  display:block;
  background:#000;
  object-fit: cover;
}

.vcv-watch-logo{
  position:absolute;
  top:12px;
  left:12px;
  width:34px;
  height:34px;
  padding:6px;
  border-radius:10px;
  background:rgba(0,0,0,0.45);
  border:1px solid rgba(255,255,255,0.12);
  backdrop-filter: blur(6px);
}

.vcv-watch-name{
  position:absolute;
  top:16px;
  left:58px;
  max-width: calc(100% - 140px);
  color:#fff;
  font-size:0.82rem;
  font-weight:600;
  letter-spacing:0.2px;
  padding:6px 10px;
  border-radius:10px;
  background:rgba(0,0,0,0.35);
  border:1px solid rgba(255,255,255,0.10);
  backdrop-filter: blur(6px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.vcv-watch-close{
  position:absolute;
  top:12px;
  right:12px;
  appearance:none;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(0,0,0,0.45);
  color:#fff;
  border-radius:10px;
  padding:6px 10px;
  cursor:pointer;
  backdrop-filter: blur(6px);
}

.vcv-watch-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  padding:10px 12px;
  border-top:1px solid rgba(255,255,255,0.06);
}

.vcv-debug-panel{
  margin-top:8px;
  font-size:0.72rem;
  color:#00ff88;
  background:rgba(0,0,0,0.65);
  border:1px solid rgba(0,255,136,0.35);
  border-radius:6px;
  padding:8px 10px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:4px 12px;
  box-shadow: 0 0 12px rgba(0,255,136,0.2);
}

.vcv-checks{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.vcv-check{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-size:0.75rem;
  background:rgba(0,0,0,0.4);
  border:1px solid rgba(255,255,255,0.08);
}

.vcv-check-dot{
  width:8px;height:8px;border-radius:50%;background:#ffb86b;box-shadow:0 0 6px rgba(255,184,107,0.6);
}

.vcv-check--ok{border-color:rgba(0,255,136,0.35);color:#00ff88;}
.vcv-check--ok .vcv-check-dot{background:#00ff88;box-shadow:0 0 6px rgba(0,255,136,0.7);}

.vcv-check--fail{border-color:rgba(255,76,76,0.45);color:#ff4c4c;}
.vcv-check--fail .vcv-check-dot{background:#ff4c4c;box-shadow:0 0 6px rgba(255,76,76,0.7);}

.vcv-check--pending{border-color:rgba(255,184,107,0.45);color:#ffb86b;}

/* Kayıt modalı: bilgilendirme + kontroller + butonlar (mobile-first kompakt) */
.dl-videocv-modal .vcv-modal-header{margin-bottom:8px;}
.dl-videocv-modal .vcv-modal-header h3{font-size:0.92rem;letter-spacing:0.5px;}

.dl-videocv-modal .vcv-warning-layer{padding:12px;}
.dl-videocv-modal .vcv-warning-card{max-width:360px;padding:6px 8px;}
.dl-videocv-modal .vcv-warning-card h4{font-size:0.66rem;margin-bottom:5px;}
.dl-videocv-modal .vcv-warning-card ul{gap:4px;font-size:0.64rem;line-height:1.22;margin-bottom:8px;}
.dl-videocv-modal .vcv-warning-card .modal-action-btn{font-size:0.66rem;padding:5px 9px;border-radius:10px;min-height:30px;}

.dl-videocv-modal .vcv-checks{justify-content:center;}
.dl-videocv-modal .vcv-check{padding:5px 8px;font-size:0.7rem;}

.dl-videocv-modal .modal-action-group{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
  align-items:center;
  margin-top:4px;
}

.dl-videocv-modal .modal-action-btn{
  font-size:0.72rem;
  padding:7px 10px;
  border-radius:10px;
  min-height:34px;
  line-height:1;
  min-width:92px;
}

@media (max-width: 480px){
  .dl-videocv-modal .modal-action-btn{min-width:86px;padding:7px 9px;}
}

/* VCV upload area (independent styles with vcv- prefix) */
.vcv-label{
  margin-top: 0;
}

#vcv-file-upload,
.vcv-file-upload{
  position: relative;
  min-height: 28px;
  height: 28px;
}

.vcv-file-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:5px 7px;
  border-radius:2px;
  cursor:pointer;
  transition:background 0.3s ease,box-shadow 0.3s ease,transform 0.3s ease,color 0.3s ease,border 0.3s ease,opacity 0.3s ease;
  min-height:28px;
  height:28px;
  box-sizing:border-box;
  background: rgba(0,0,0,0.6);
  border: 1px solid rgba(255,138,0,0.28);
  color: #ffb86b;
}

.vcv-file-text{
  font-family: inherit;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.8px;
}

/* camera svg icon: neon orange stroke (URL-encoded) */
.vcv-file-icon{
  width:20px;height:20px;display:inline-block;background-size:20px 20px;background-position:center;background-repeat:no-repeat;flex:0 0 20px
}
.vcv-file-icon{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffb86b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='6' width='19' height='12' rx='2'/%3E%3Crect x='8' y='3.5' width='8' height='3' rx='0.8'/%3E%3Ccircle cx='12' cy='12' r='3.2'/%3E%3C/svg%3E");}

/* VCV status: ana sitedeki .file-status ile aynı layout; burada sadece küçük renk dokunuşu */
.file-status.vcv-file-status{
  background: rgba(0, 255, 136, 0.08);
  border: 1px solid rgba(0, 255, 136, 0.28);
}

.vcv-file-status.hidden{
  display: none;
  visibility: hidden;
  height: 0;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: none;
  overflow: hidden;
}

.file-status.vcv-file-status .file-name{ color:#00ff88; font-weight:500; }
.file-status.vcv-file-status .file-size{ color:#00cc66; }

/* VideoCV view page */
.vcv-view-card{
  background: rgba(0,0,0,0.6);
  border: 1px solid rgba(255,138,0,0.25);
  border-radius: 10px;
  padding: 16px;
  box-shadow: 0 12px 24px rgba(0,0,0,0.3);
}

.vcv-view-header{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:12px;
}

.vcv-view-title{
  font-size: 1.05rem;
  letter-spacing: 0.4px;
}

.vcv-view-name{
  color:#ffb86b;
  font-size:0.9rem;
}

.vcv-view-player{
  border:1px solid rgba(255,138,0,0.25);
  border-radius:8px;
  background:#000;
  overflow:hidden;
}

.vcv-view-player video{
  width:100%;
  max-height:520px;
  display:block;
}

.vcv-view-note{
  margin-top:10px;
  font-size:0.8rem;
  color:#cfd9d1;
}

@media (max-width: 480px) {
  .vcv-video-wrap{height:240px;}
}

/* Responsive: Tablet (768px) — must be here to override base rules due to CSS load order */
@media (max-width: 768px) {
    #vcv-file-upload,
    .vcv-file-upload {
        min-height: 48px;
        height: 48px;
    }

    .vcv-file-label {
        min-height: 48px;
        height: 48px;
        padding: 14px 12px;
        font-size: 16px;
    }
}

/* Responsive: Mobile (480px) */
@media (max-width: 480px) {
    #vcv-file-upload,
    .vcv-file-upload {
        min-height: 32px;
        height: 32px;
    }

    .vcv-file-label {
        min-height: 32px;
        height: 32px;
        padding: 5px 7px;
        font-size: 12px;
    }
}
