/* Etütmatik ortak stiller */
[x-cloak] { display: none !important; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; border-radius: .5rem; padding: .5rem .9rem; font-size: .875rem; font-weight: 500; line-height: 1.25rem; border: 1px solid transparent; cursor: pointer; transition: background-color .15s, border-color .15s, color .15s; white-space: nowrap; }
.btn:disabled { opacity: .55; cursor: not-allowed; }
.btn-sm { padding: .3rem .6rem; font-size: .8rem; }
.btn-primary { background: #1d4ed8; color: #fff; }
.btn-primary:hover { background: #1e40af; }
.btn-success { background: #059669; color: #fff; }
.btn-success:hover { background: #047857; }
.btn-danger { background: #e11d48; color: #fff; }
.btn-danger:hover { background: #be123c; }
.btn-light { background: #fff; color: #334155; border-color: #cbd5e1; }
.btn-light:hover { background: #f8fafc; border-color: #94a3b8; }
.btn-ghost { background: transparent; color: #475569; }
.btn-ghost:hover { background: #f1f5f9; }

.input, .select, .textarea { display: block; width: 100%; border-radius: .5rem; border: 1px solid #cbd5e1; background: #fff; padding: .5rem .75rem; font-size: .875rem; color: #0f172a; outline: none; transition: border-color .15s, box-shadow .15s; }
.input:focus, .select:focus, .textarea:focus { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, .15); }
.label { display: block; margin-bottom: .3rem; font-size: .8rem; font-weight: 500; color: #475569; }
.help { margin-top: .25rem; font-size: .75rem; color: #94a3b8; }

.table { width: 100%; font-size: .875rem; border-collapse: collapse; }
.table th { text-align: left; font-weight: 600; font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #64748b; background: #f8fafc; padding: .6rem 1rem; border-bottom: 1px solid #e2e8f0; white-space: nowrap; }
.table td { padding: .7rem 1rem; border-bottom: 1px solid #f1f5f9; vertical-align: middle; }
.table tbody tr:hover { background: #f8fafc; }
.table tbody tr:last-child td { border-bottom: 0; }

/* Haftalık saat tablosu */
.grid-week { border-collapse: separate; border-spacing: 4px; width: 100%; min-width: 640px; table-layout: fixed; }
.grid-week th:first-child { width: 58px; }
.grid-week th { font-size: .75rem; font-weight: 600; color: #475569; padding: .35rem .25rem; text-align: center; }
.grid-week td.time { font-size: .75rem; color: #64748b; white-space: nowrap; text-align: right; padding-right: .5rem; font-variant-numeric: tabular-nums; }
.cell { display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 46px; border-radius: .45rem; font-size: .72rem; line-height: 1.15; text-align: center; padding: .25rem; border: 1px solid #e2e8f0; background: #fff; color: #94a3b8; transition: all .12s; width: 100%; }
button.cell:not(:disabled):hover { border-color: #2563eb; color: #1d4ed8; }
.cell-open { background: #ecfdf5; border-color: #6ee7b7; color: #047857; font-weight: 600; }
button.cell-open:not(:disabled):hover { background: #d1fae5; border-color: #059669; color: #065f46; }
.cell-booked { background: #eff6ff; border-color: #93c5fd; color: #1e40af; font-weight: 600; }
.cell-pending { background: #fffbeb; border-color: #fcd34d; color: #92400e; font-weight: 600; }
.cell-done { background: #f1f5f9; border-color: #cbd5e1; color: #475569; }
.cell-noshow { background: #fff1f2; border-color: #fda4af; color: #9f1239; }
.cell-past { background: #f8fafc; border-style: dashed; color: #cbd5e1; }
.cell-busy { background: repeating-linear-gradient(135deg, #f1f5f9, #f1f5f9 6px, #e2e8f0 6px, #e2e8f0 12px); color: #94a3b8; }
.cell-today { box-shadow: inset 0 0 0 1px #1d4ed8; }
th.today { color: #1d4ed8; }

/* FullCalendar uyumu */
.fc { font-size: .85rem; }
.fc .fc-toolbar-title { font-size: 1.1rem; font-weight: 600; }
.fc .fc-button-primary { background: #1d4ed8; border-color: #1d4ed8; }
.fc .fc-button-primary:not(:disabled).fc-button-active, .fc .fc-button-primary:not(:disabled):active { background: #1e3a8a; border-color: #1e3a8a; }
.fc-event { cursor: pointer; }

@media print { aside, header, footer, .no-print { display: none !important; } .lg\:pl-64 { padding-left: 0 !important; } }
