:root {
    --brand: #0f9fa8;
    --brand-dark: #0a7d84;
    --brand-light: #27d3cf;
    --brand-pale: #d8fbf8;
    --nav: #072238;
    --nav-soft: #0b3453;
    --bg: #f3f8fb;
    --card-bg: #ffffff;
    --text: #10233d;
    --text-muted: #6c7c91;
    --border: #dce7ef;
    --danger: #e54855;
    --warning: #d99a14;
    --success: #17a86f;
    --info: #2d6cdf;
    --shadow: 0 14px 34px rgba(12, 35, 57, .08);
    --shadow-soft: 0 8px 22px rgba(12, 35, 57, .06);
}

html {
    min-height: 100%;
}

body {
    min-height: 100vh;
    background:
        linear-gradient(180deg, #f9fcfe 0%, #eef6f8 48%, #f7fbfc 100%);
    color: var(--text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
}

body::before {
    content: "";
    position: fixed;
    left: 0;
    bottom: 0;
    width: 360px;
    height: 360px;
    pointer-events: none;
    opacity: .42;
    background:
        repeating-linear-gradient(90deg, rgba(15,159,168,.18) 0 3px, transparent 3px 18px),
        linear-gradient(135deg, rgba(15,159,168,.13), transparent 55%);
    clip-path: ellipse(55% 62% at 0% 100%);
    z-index: -1;
}

/* LOGIN */
.login-body {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(135deg, #061c30 0%, #0b3453 52%, #0f9fa8 100%);
    padding: 16px;
}

.login-wrap {
    width: 100%;
    max-width: 420px;
}

.login-card {
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,.6);
    box-shadow: var(--shadow);
}

.login-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto;
    border-radius: 50%;
    background: var(--brand-pale);
    color: var(--brand);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
}

/* NAVBAR */
.app-navbar {
    background: linear-gradient(90deg, #071e33 0%, #092940 56%, #06192b 100%);
    border-bottom: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 12px 28px rgba(5, 26, 44, .14);
    padding: 0.8rem 1.25rem;
}

.app-navbar .container-fluid {
    gap: 1rem;
}

.app-navbar .navbar-brand {
    color: #fff;
    font-weight: 700;
    font-size: 1.05rem;
    min-width: 245px;
}

.app-navbar .navbar-brand > div:first-child {
    background: linear-gradient(180deg, #12b4b8, #0a8c91) !important;
    box-shadow: 0 10px 22px rgba(15,159,168,.24);
}

.app-navbar .navbar-brand div[style*="font-size:.82rem"] {
    color: #f8fbff !important;
    font-weight: 800 !important;
}

.app-navbar .navbar-brand div[style*="font-size:.65rem"] {
    color: rgba(229, 240, 247, .82) !important;
    letter-spacing: 0 !important;
}

.app-navbar .navbar-brand i {
    font-size: 1.4rem;
}

.app-navbar .navbar-toggler {
    border-color: rgba(255,255,255,.28);
}

.app-navbar .navbar-toggler-icon {
    filter: invert(1);
}

.app-navbar .nav-link {
    color: rgba(239, 247, 252, .82);
    font-weight: 650;
    padding: 0.78rem 1rem !important;
    border-radius: 8px;
    margin: 0 3px;
    transition: background .16s ease, color .16s ease, transform .16s ease;
}

.app-navbar .nav-link:hover {
    color: #fff;
    background: rgba(255,255,255,.08);
}

.app-navbar .nav-link.active {
    color: #fff;
    background: linear-gradient(135deg, #0f9fa8, #16bbb9);
    box-shadow: 0 12px 26px rgba(15,159,168,.28);
    font-weight: 750;
}

.app-navbar .nav-link i {
    margin-right: 7px;
}

.app-navbar .dropdown-toggle {
    border-left: 1px solid rgba(255,255,255,.12);
    padding-left: 1.35rem !important;
}

.dropdown-menu {
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: var(--shadow-soft);
}

/* MAIN */
.app-main {
    max-width: 1600px;
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}

.page-title {
    font-size: 1.75rem;
    font-weight: 800;
    margin: 0;
    color: var(--text);
}

.page-title i {
    color: var(--brand) !important;
}

.page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.45rem;
    flex-wrap: wrap;
    gap: 0.75rem;
}

/* CARDS */
.card {
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: var(--shadow-soft);
    background: rgba(255,255,255,.94);
    overflow: hidden;
}

.card-header {
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid var(--border);
    font-weight: 750;
    color: var(--text);
    padding: .9rem 1rem;
}

.card-body {
    color: var(--text);
}

/* STAT CARD */
.stat-card {
    position: relative;
    min-height: 122px;
    padding: 1.35rem 1.25rem;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: var(--shadow-soft);
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    overflow: hidden;
}

.stat-card::after {
    content: "";
    position: absolute;
    left: -18px;
    right: -18px;
    bottom: -27px;
    height: 58px;
    background: rgba(15,159,168,.14);
    border-radius: 55% 45% 0 0;
}

.stat-card > * {
    position: relative;
    z-index: 1;
}

.stat-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}

.stat-icon.si-brand   { background: #c8f5f1; color: #047f86; }
.stat-icon.si-warn    { background: #ffe8b7; color: #b36b00; }
.stat-icon.si-success { background: #c8f2d9; color: #087d50; }
.stat-icon.si-danger  { background: #ffd6db; color: #c62836; }
.stat-icon.si-info    { background: #d7e6ff; color: #215ec7; }

.stat-value {
    font-size: 1.7rem;
    font-weight: 850;
    line-height: 1;
    color: #071e33;
}

.stat-label {
    color: #33445c;
    font-size: 0.9rem;
    margin-top: 8px;
    font-weight: 550;
}

.page-dashboard .row.g-3 > .col-lg-7 > .card {
    background: linear-gradient(145deg, #08243c 0%, #0b3556 55%, #09233a 100%);
    border-color: rgba(255,255,255,.08);
    box-shadow: 0 18px 40px rgba(6, 25, 43, .22);
}

.page-dashboard .row.g-3 > .col-lg-7 > .card .table {
    --bs-table-bg: transparent;
    --bs-table-color: #eaf6fb;
    --bs-table-hover-bg: rgba(255,255,255,.06);
    --bs-table-hover-color: #fff;
}

.page-dashboard .row.g-3 > .col-lg-7 > .card .card-header,
.page-dashboard .row.g-3 > .col-lg-7 > .card .table thead th {
    background: rgba(255,255,255,.04);
    color: #eaf6fb;
    border-color: rgba(255,255,255,.1);
}

.page-dashboard .row.g-3 > .col-lg-7 > .card .table td,
.page-dashboard .row.g-3 > .col-lg-7 > .card .table th {
    color: #eaf6fb;
    border-color: rgba(255,255,255,.08);
}

.page-dashboard .row.g-3 > .col-lg-7 > .card .table strong {
    color: #24e3dc;
}

.page-dashboard .row.g-3 > .col-lg-7 > .card .text-muted {
    color: rgba(234,246,251,.65) !important;
}

.page-dashboard .row.g-3 > .col-lg-7 > .card tbody tr:last-child td {
    background: transparent;
}

.page-dashboard .list-group-item {
    padding: .78rem 1rem;
}

/* BUTTONS */
.btn {
    border-radius: 8px;
    font-weight: 650;
}

.btn-sm {
    border-radius: 7px;
}

.btn-primary {
    background: #0a2d4b;
    border-color: #0a2d4b;
    box-shadow: 0 8px 18px rgba(10,45,75,.14);
}

.btn-primary:hover, .btn-primary:focus {
    background: #0f9fa8;
    border-color: #0f9fa8;
}

.btn-success {
    background: #10906b;
    border-color: #10906b;
}

.btn-danger {
    background: #d9404d;
    border-color: #d9404d;
}

.btn-outline-primary {
    color: var(--brand);
    border-color: var(--brand);
}

.btn-outline-primary:hover {
    background: var(--brand);
    border-color: var(--brand);
}

.btn-outline-secondary {
    color: #486074;
    border-color: #c9d8e3;
}

.btn-outline-secondary:hover {
    background: #eaf4f7;
    color: var(--text);
    border-color: #b7cad7;
}

/* FORMS */
.form-control,
.form-select,
.input-group-text {
    border-color: #d5e3ec;
    border-radius: 8px;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 .2rem rgba(15,159,168,.13);
}

.input-group > .form-control,
.input-group > .form-select,
.input-group > .input-group-text,
.input-group > .btn {
    border-radius: 0;
}

.input-group > :first-child {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

.input-group > :last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

/* BADGES */
.badge {
    letter-spacing: 0;
}

.badge-status {
    font-weight: 650;
    padding: 0.38em 0.68em;
}

.badge-bekliyor { background: #dbeafe; color: #1e40af; }
.badge-geldi { background: #dcfce7; color: #166534; }
.badge-gelmedi { background: #fee2e2; color: #991b1b; }
.badge-iptal { background: #f3f4f6; color: #4b5563; }

/* TABLE */
.table {
    margin-bottom: 0;
    vertical-align: middle;
}

.table > :not(caption) > * > * {
    padding: 0.82rem 0.9rem;
}

.table thead th {
    background: #f5f9fb;
    font-weight: 750;
    color: #53667e;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0;
    border-bottom: 1px solid var(--border);
}

.table tbody tr {
    transition: background .14s ease;
}

.table-hover > tbody > tr:hover > * {
    background: #f3fbfb;
}

.table-bordered > :not(caption) > * {
    border-color: var(--border);
}

.list-group-item {
    border-color: var(--border);
}

.progress {
    background-color: #e7f0f5;
    border-radius: 999px;
}

.progress-bar {
    border-radius: 999px;
}

/* TABS */
.nav-tabs {
    border-bottom-color: var(--border);
}

.nav-tabs .nav-link {
    border: 0;
    color: var(--text-muted);
    font-weight: 700;
    border-radius: 8px 8px 0 0;
}

.nav-tabs .nav-link.active {
    background: #fff;
    color: var(--brand-dark);
    border-bottom: 3px solid var(--brand);
}

/* MODALS */
.modal-content {
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: 0 24px 60px rgba(7,30,51,.22);
}

.modal-header,
.modal-footer {
    border-color: var(--border);
}

/* CALENDAR */
.fc {
    --fc-border-color: #dbe7ef;
    --fc-today-bg-color: rgba(15,159,168,.08);
}

.fc .fc-toolbar-title {
    color: var(--text);
    font-size: 1.35rem;
    font-weight: 800;
}

.fc .fc-button-primary {
    background: #0a2d4b;
    border-color: #0a2d4b;
    border-radius: 7px;
    font-weight: 700;
}

.fc .fc-button-primary:hover,
.fc .fc-button-primary:focus {
    background: var(--brand);
    border-color: var(--brand);
}

.fc .fc-col-header-cell {
    background: #f5f9fb;
}

.fc .fc-event {
    border-radius: 7px !important;
    box-shadow: 0 6px 13px rgba(12,35,57,.12);
}

/* SCHEDULE GRID */
.slot-cell {
    transition: transform .12s ease, box-shadow .12s ease;
}

.slot-cell:hover {
    transform: translateY(-1px);
    box-shadow: inset 0 0 0 2px rgba(15,159,168,.22);
}

.slot-open {
    background: #ebfbf4 !important;
}

.slot-closed {
    background: #f6f7f9 !important;
}

.slot-empty {
    background: #fbfdfe !important;
}

/* Patient detail long history stays scrollable inside modal. */
.seans-gecmisi-tablosu {
    max-height: 42vh;
    overflow-y: auto;
    border: 1px solid var(--border);
    border-radius: 8px;
}

.seans-gecmisi-tablosu thead th {
    position: sticky;
    top: 0;
    z-index: 1;
}

/* MOBILE */
@media (max-width: 991px) {
    .app-navbar {
        padding: .65rem .9rem;
    }

    .app-navbar .navbar-brand {
        min-width: 0;
    }

    .app-navbar .dropdown-toggle {
        border-left: 0;
        padding-left: 1rem !important;
    }

    .app-navbar .navbar-collapse {
        padding-top: .8rem;
    }
}

@media (max-width: 768px) {
    body::before {
        width: 260px;
        height: 260px;
    }

    .app-main {
        padding-top: 1.2rem !important;
    }

    .page-title {
        font-size: 1.35rem;
    }

    .stat-card {
        min-height: 108px;
        padding: 1rem;
    }

    .stat-value {
        font-size: 1.35rem;
    }

    .stat-label {
        font-size: .82rem;
    }

    .stat-icon {
        width: 44px;
        height: 44px;
        font-size: 21px;
    }
}

/* İzvivo klinik paneli: kompakt mavi arayüz */
body{background:#f6f8fc;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:.86rem}body::before{display:none}.app-navbar{background:#0d1b31;box-shadow:none;padding:.5rem .7rem}.app-navbar .nav-link{font-size:.79rem;padding:.72rem .9rem!important;border:1px solid rgba(148,163,184,.18);background:#101f36}.app-navbar .nav-link.active{background:#2563eb;box-shadow:none;border-color:#2563eb}.app-navbar .dropdown-toggle{border-left:0}.user-avatar,.patient-avatar{display:inline-grid;place-items:center;border-radius:50%;background:#dbeafe;color:#2563eb;font-weight:800}.user-avatar{width:28px;height:28px;background:#2563eb;color:#fff;margin-right:5px}.app-main{max-width:1500px;padding-top:1.5rem!important}.page-title{font-size:1.35rem}.page-header{margin-bottom:1rem}.card{box-shadow:none;border-color:#d9e2ef;border-radius:8px}.btn-primary{background:#2563eb;border-color:#2563eb;box-shadow:none}.btn-primary:hover{background:#1d4ed8;border-color:#1d4ed8}.patient-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:14px}.patient-list{max-height:calc(100vh - 205px);overflow:auto}.patient-item{display:flex;gap:10px;align-items:center;padding:12px 10px;border-bottom:1px solid #e2e8f0;color:#16243a;text-decoration:none}.patient-item:hover,.patient-item.active{background:#dbeafe;color:#102b5a;border-left:3px solid #2563eb;padding-left:7px}.patient-item small{display:block;color:#64748b;font-size:.68rem}.patient-item .bi-chevron-right{margin-left:auto;color:#64748b}.patient-avatar{width:38px;height:38px;flex:0 0 38px;font-size:.78rem}.patient-empty{min-height:390px;display:grid;place-items:center;text-align:center;border:1px dashed #cfdaea;border-radius:10px;background:#fff;color:#64748b}.profile-card{padding:18px}.profile-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:15px;align-items:center}.profile-grid dt{font-size:.65rem;color:#64748b;font-weight:500}.profile-grid dd{font-size:.8rem;margin:2px 0 0;font-weight:650}.quick-actions{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin:10px 0}.quick-actions button,.quick-actions a{min-height:56px;border:1px solid #d9e2ef;border-radius:8px;background:#fff;color:#334155;text-align:center;padding:8px 4px;text-decoration:none;font-size:.67rem;font-weight:650}.quick-actions i{display:block;color:#2563eb;font-size:18px;margin-bottom:3px}.patient-detail-card{min-height:180px}.info-box{border:1px solid #e1e8f1;border-radius:7px;padding:13px;min-height:124px}.info-box h6{font-size:.76rem;margin:0 0 10px;font-weight:750}.info-box p{font-size:.74rem;margin:3px 0;color:#475569}.mini-status{font-size:.67rem;padding:3px 7px;border-radius:999px;background:#dcfce7;color:#15803d;font-weight:700}.status-wait{background:#dbeafe;color:#1d4ed8}.status-no{background:#fee2e2;color:#b91c1c}.finance-number{font-size:1.25rem;font-weight:800}.finance-card{padding:15px}.finance-card small{color:#64748b}@media(max-width:900px){.patient-layout{grid-template-columns:1fr}.patient-list{max-height:280px}.quick-actions{grid-template-columns:repeat(3,1fr)}.profile-grid{grid-template-columns:1fr 1fr}.app-navbar .nav-link{margin:2px 0}}
