body { background: #f4f6f9; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
.header-stripe { height: 4px; background: linear-gradient(to right, #000 20%, #ffc107 20%, #ffc107 40%, #000 40%, #000 60%, #dc3545 60%, #dc3545 80%, #000 80%); width: 100%; margin-top: 5px; }

/* Excel Tarzı Ana Tablo */
.table-excel { width: 100%; border-collapse: collapse; background-color: #fff; font-size: 14px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
.table-excel th { background-color: #e9ecef; border: 1px solid #adb5bd; padding: 10px; text-align: center; font-weight: bold; color: #495057; }
.table-excel td { border: 1px solid #dee2e6; padding: 8px; vertical-align: middle; text-align: center; color: #000; }

/* Durum Renkleri */
.row-yellow { background-color: #fff3cd !important; color: #000; }
.row-green-blink { animation: blinkingGreen 1.5s infinite; border: 2px solid #198754 !important; font-weight: bold; }
@keyframes blinkingGreen { 0% { background-color: #d1e7dd; color: #0f5132; } 50% { background-color: #198754; color: #ffffff; } 100% { background-color: #d1e7dd; color: #0f5132; } }
.row-red { background-color: #f8d7da !important; color: #842029; text-decoration: line-through; opacity: 0.7; }

.action-btn-group { display: flex; justify-content: center; gap: 5px; }
.form-control:required:invalid, .form-select:required:invalid { background-color: #ffe6e6; border-color: #dc3545; }
.form-control:required:valid, .form-select:required:valid { background-color: #e6fffa; border-color: #198754; }

/* --- ÇİZELGE STİLLERİ --- */
.btn-availability {
    background-color: #fd7e14;
    color: white;
    font-weight: bold;
    border: none;
    transition: all 0.3s;
}
.btn-availability:hover { background-color: #e36209; color: white; transform: scale(1.02); }

.grid-table { width: 100%; font-size: 12px; border-collapse: collapse; }
.grid-table th { background: #343a40; color: white; padding: 8px; border: 1px solid #454d55; text-align: center; position: sticky; top: 0; }
.grid-table td { border: 1px solid #dee2e6; padding: 5px; text-align: center; vertical-align: middle; height: 35px; }

/* Çizelge Hücre Durumları */
.cell-free { background-color: #d1e7dd; color: #0f5132; font-weight: bold; cursor: pointer; }
.cell-free:hover { background-color: #198754; color: white; }

.cell-busy { background-color: #f8d7da; color: #842029; font-size: 11px; }

/* YENİ: Geçmiş Saatler (Gri) */
.cell-past { 
    background-color: #e9ecef; 
    color: #adb5bd; 
    font-size: 11px; 
    cursor: not-allowed; 
    background-image: linear-gradient(45deg, #dee2e6 25%, transparent 25%, transparent 50%, #dee2e6 50%, #dee2e6 75%, transparent 75%, transparent);
    background-size: 10px 10px;
}
.clock-digital {
    /* Daha modern ve okunaklı yazı tipi */
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    font-size: 2.2rem;
    font-weight: 700;
    
    /* ELİT RENKLER */
    color: #b8860b; /* Koyu Altın/Amber Rengi (Okunabilir Sarı) */
    background: #ffffff; /* Tertemiz Beyaz Zemin */
    
    /* GÖLGELENDİRME VE DERİNLİK (Premium His) */
    text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
    box-shadow: 0 10px 25px rgba(0,0,0,0.08); /* Havada asılı gibi duran gölge */
    
    /* KUTU YAPISI */
    padding: 5px 40px;
    border-radius: 15px; /* Yumuşak köşeler */
    display: inline-block;
    
    /* İNCE DETAYLAR */
    border: 1px solid #f0f0f0; /* Çok silik gri çerçeve */
    border-bottom: 3px solid #ffc107; /* Salonun sarı rengine atıf yapan alt çizgi */
    letter-spacing: 3px; /* Rakamlar arası ferah boşluk */
    transition: all 0.3s ease;
}

/* ONAY BEKLEYEN (kırmızı flaş) */
.row-red-alert{background:#ffe3e3 !important;}
@keyframes blinkRed{0%{background:#ffe3e3;}50%{background:#ffb3b3;}100%{background:#ffe3e3;}}
.row-red-alert{animation:blinkRed 1s infinite;}


/* =========================
   PUBLIC INDEX (Kurumsal)
   ========================= */
.public-body{ background:#f6f7fb; color:#111; }
.public-topbar{ background:#ffffff; border-bottom:1px solid #e9ecef; }
.brand-title{ font-weight:800; letter-spacing:.5px; font-size:28px; line-height:1.1; }
.brand-sub{ font-weight:600; font-size:18px; margin-left:8px; color:#444; }

.rainbow-bar{
  height:4px;
  width:100%;
  background: linear-gradient(90deg,
    #ff1744, #ff9100, #ffea00, #00e676, #00b0ff, #2979ff, #651fff, #d500f9, #ff1744);
  background-size: 600% 100%;
  animation: rainbowMove 9s linear infinite;
  border-radius: 999px;
}
@keyframes rainbowMove{
  0%{ background-position: 0% 50%; }
  100%{ background-position: 600% 50%; }
}
@media (prefers-reduced-motion: reduce){
  .rainbow-bar{ animation: none; }
}
  100%{ background-position: 400% 50%; }
}

.public-main .public-card{
  background:#fff;
  border:1px solid #e9ecef;
  border-radius:16px;
  box-shadow: 0 12px 30px rgba(0,0,0,.06);
  overflow:hidden;
}
.public-card-head{
  padding:22px 22px 0 22px;
}
.public-card-body{
  padding:18px 22px 22px 22px;
}
.kicker{
  font-size:12px;
  letter-spacing:2px;
  color:#6c757d;
  font-weight:700;
  margin-bottom:6px;
}
.public-input.is-invalid{ border-color:#dc3545 !important; box-shadow:none; }
.public-input.is-valid{ border-color:#198754 !important; box-shadow:none; }
.public-input:focus{ box-shadow:none; }

.public-hero{
  background: radial-gradient(1200px 600px at 70% 20%, rgba(255,193,7,.10), transparent 60%),
              radial-gradient(900px 500px at 20% 80%, rgba(220,53,69,.08), transparent 60%),
              #ffffff;
  border:1px solid #e9ecef;
  border-radius:16px;
  box-shadow: 0 12px 30px rgba(0,0,0,.06);
  overflow:hidden;
  position:relative;
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-img{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
}
.hero-img img{
  max-width:100%;
  max-height:520px;
  object-fit:contain;
  filter: drop-shadow(0 18px 30px rgba(0,0,0,.25));
}

.work-hours{
  position:absolute;
  right:18px;
  bottom:18px;
  width:260px;
  border-radius:14px;
}
.clock-ic{ opacity:.8; }

.captcha-box{
  width:140px;
  height:46px;
  border:1px solid #e9ecef;
  border-radius:10px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.captcha-box img{ width:140px; height:46px; display:block; }

.public-footer{
  background:#111;
  color:#fff;
}
.public-footer .muted{ color: rgba(255,255,255,.75); }


/* Footer contacts */
.contacts{ display:flex; flex-direction:column; gap:10px; }
.contact-row{ display:grid; grid-template-columns: 1fr auto; grid-template-rows:auto auto; column-gap:10px; row-gap:2px; align-items:center; }
.contact-name{ grid-column:1/2; grid-row:1/2; color:#fff; }
.contact-actions{ grid-column:2/3; grid-row:1/2; display:flex; gap:8px; justify-content:flex-end; }
.contact-num{ grid-column:1/3; grid-row:2/3; color:#cfd3d7; font-size:13px; }
.icon-btn{ width:34px; height:30px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:rgba(255,255,255,.10); color:#fff; text-decoration:none; border:1px solid rgba(255,255,255,.18); }
.icon-btn:hover{ background:rgba(255,255,255,.18); }
.icon-btn.wa{ color:#25D366; border-color: rgba(37,211,102,.35); background: rgba(37,211,102,.12); }
.icon-btn.wa:hover{ background: rgba(37,211,102,.18); }
