﻿/* Shared with the contractor portal palette; deliberately no global reset. */
.pv-theme { --pv-accent:#176b87; --pv-title:#174a73; --pv-soft:#e6f1f9; --pv-border:#bfd7e8; font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif; color:#233747; }
body.pv-theme,.pv-visit { background:#f4f8fc; }
.pv-theme *, .pv-theme *::before,.pv-theme *::after { box-sizing:border-box; }
.pv-theme :is(button,a,input,select,textarea):not(.medi-page *):focus-visible { outline:2px solid #176b87; outline-offset:2px; }
.pv-theme :is(.bg-teal-600,.bg-teal-700,.bg-teal-800),.pv-theme .pv-primary { background:#176b87!important; background-image:none!important; }
.pv-theme :is(.text-teal-700,.text-teal-800,.text-teal-950) { color:#174a73; }
.pv-theme :is(.bg-teal-50,.bg-teal-100) { background:#e6f1f9; }
.pv-theme :is(.bg-gradient-to-r,.bg-gradient-to-br) { background:#e6f1f9!important; color:#174a73!important; border:1px solid #bfd7e8; border-left:3px solid #176b87; box-shadow:none; }
.pv-theme :is(.bg-gradient-to-r,.bg-gradient-to-br) :is(p,span,h1,h2) { color:inherit!important; }
.pv-theme :is(.rounded-2xl,.rounded-xl):not(.medi-page *) { border-radius:12px; }
.pv-theme :is(.bg-white.rounded-xl,.bg-white.rounded-2xl,.card):not(.medi-page *) { border:1px solid #dbe5ef; box-shadow:0 1px 3px #23374712; }
.pv-theme :is(.pv-heading,.pv-modal-heading) { background:#e6f1f9!important; color:#174a73!important; border:1px solid #bfd7e8!important; border-left:3px solid #176b87!important; border-radius:12px 12px 0 0; padding:12px 16px!important; }
.pv-theme :is(.pv-heading,.pv-modal-heading) :is(h1,h2,h3,i,span,div) { color:inherit!important; }
.pv-theme .pv-modal-heading { font-size:16px; font-weight:700; }
.pv-theme .pv-modal-panel { border:1px solid #dbe5ef!important; border-radius:12px!important; max-height:calc(100dvh - 32px)!important; overflow:auto; box-shadow:0 20px 50px #23374726!important; }
.pv-theme :is(.tab-btn,.medi-tab) { border:1px solid transparent; border-radius:8px; padding:8px 12px!important; color:#174a73!important; font-size:13px!important; }
.pv-theme .tab-btn.active { background:#e1f4ff!important; border:1px solid #38bdf8!important; color:#174a73!important; box-shadow:0 1px 2px #23374712; }
.pv-theme .stat-card { background:white!important; color:#174a73!important; border:1px solid #dbe5ef; border-left:3px solid #176b87; box-shadow:0 1px 3px #23374712; padding:16px!important; }
.pv-theme .stat-card:hover { transform:none; }
.pv-theme .stat-card :is(i,div,span) { color:inherit!important; }
.pv-theme .dataTables_wrapper { width:100%; overflow-x:auto; }
.pv-theme table.table { font-size:13px; border-color:#dbe5ef!important; }
.pv-theme table.table th { background:#f1f7fb; color:#174a73; border-color:#dbe5ef!important; padding:9px 10px; }
.pv-theme table.table td { border-color:#e5edf4!important; padding:8px 10px; vertical-align:middle; }
.pv-theme table.table tbody tr:hover { background:#eef7fc!important; }
.pv-theme :is(.column-filters input,.column-filters select) { min-height:32px; font-size:12px!important; border:1px solid #cbd9e6!important; border-radius:6px!important; }
.pv-theme :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea):not(.medi-page *) { border-radius:8px; font-family:inherit; }
.pv-theme .medi-field { min-width:0; }
.pv-theme .medi-label { display:block; font-size:13px; font-weight:600; color:#334155; margin-bottom:4px; }
.pv-theme .medi-control { border:1px solid #cbd5e1; }
.pv-theme .medi-field[data-medi-form-state=missing] :is(.medi-control,.select2-selection),.pv-theme .medi-field[data-medi-form-state=invalid] :is(.medi-control,.select2-selection) { border-color:#fda4af!important; background-color:#fff1f2!important; }
.pv-theme .medi-field[data-medi-form-state=complete] :is(.medi-control,.select2-selection) { border-color:#6ee7b7!important; background-color:#ecfdf5!important; }
.pv-theme .medi-field[data-medi-form-state=missing]>.medi-label,.pv-theme .medi-field[data-medi-form-state=invalid]>.medi-label { color:#be123c; }
.pv-theme .medi-field[data-medi-form-state=complete]>.medi-label { color:#047857; }
.pv-theme .medi-required { color:#e11d48; margin-left:3px; }
.pv-theme .medi-field[data-medi-form-state=complete] .medi-required,
.pv-theme .medi-required[hidden] { display:none!important; }
.pv-theme .ti { width:1.1em; height:1.1em; flex-shrink:0; vertical-align:-.15em; }
.pv-visit { width:100%; }
.pv-visit-modal { font-size:14px; }
.pv-employee #portalSidebar { background:#fff; color:#174a73; border-right:1px solid #dbe5ef; box-shadow:none; }
.pv-employee #portalSidebar :is(a,p,span,button) { color:#174a73; }
.pv-employee #portalSidebar a:hover { background:#e6f1f9; }
.pv-employee #portalSidebar a[class*="bg-teal-500"] { background:#e6f1f9; border:1px solid #bfd7e8; }
.pv-employee header>div { height:68px; }
.pv-employee main { padding:20px 24px; width:100%; }
.pv-visitor>header { background:#fff!important; color:#174a73!important; border-color:#dbe5ef!important; }
.pv-visitor>header :is(a,button,.text-teal-100) { color:#174a73; }
.pv-visitor>main { width:100%; max-width:none; padding:20px 24px; }
.pv-login { background:#f0f4f8!important; background-image:none!important; }
.pv-login .page-wrap { max-width:384px; }
.pv-login .card { border-radius:16px; box-shadow:0 4px 24px #0000001a; }
.pv-login .card-header { background:#176b87; }
.pv-login .card-header p { color:#ffffffb3; }
.pv-login .card-body { padding:28px 32px; }
.pv-login :is(.btn-login,#suGonder) { background:#176b87!important; }
.pv-employee-login main>div { max-width:420px; }
.pv-login-card { display:block; box-shadow:0 4px 24px #0000001a!important; }
.pv-login-content { display:block; padding:28px 32px; }
.pv-login-content h2 { font-size:22px; }
.pv-login-content>div>div:first-child { background:#176b87; color:white; margin:-28px -32px 24px; padding:24px; }
.pv-login-content>div>div:first-child :is(p,span) { color:white; }
@media(max-width:767px) { .pv-visit>.grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; } .pv-employee main,.pv-visitor>main { padding:12px; } .pv-visit { padding:12px; } .pv-theme .pv-heading { flex-wrap:wrap; gap:8px; } }
@media(max-width:420px) { .pv-login-content { padding:24px; } .pv-login-content>div>div:first-child { margin:-24px -24px 24px; } .pv-visit>.grid { grid-template-columns:1fr!important; } }
@media print { .pv-theme .dataTables_wrapper { overflow:visible; } .pv-theme .pv-heading { background:white!important; } }

/* Modal and page headers share the compact contractor card heading. */
.pv-theme .pv-primary.pv-modal-heading { background:#e6f1f9!important; }
.pv-theme .pv-heading>div { display:flex; flex-wrap:wrap; gap:6px!important; }
.pv-theme .pv-heading { display:flex; flex-wrap:wrap; gap:10px; }
.pv-theme .pv-modal-heading button { color:#174a73!important; background:#fff!important; border:1px solid #bfd7e8!important; border-radius:6px!important; }
.pv-theme .pv-modal-panel :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select) { min-height:36px; font-size:14px!important; }
.pv-theme .pv-modal-panel textarea { font-size:14px!important; }
.pv-theme .ti-spin { animation:pv-spin 1s linear infinite; }
.pv-theme .ti-2x { width:2em; height:2em; }
@keyframes pv-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .pv-theme .ti-spin { animation:none; } }

.pv-theme .pv-section-heading { background:#e6f1f9; color:#174a73; border:1px solid #bfd7e8; border-left:3px solid #176b87; border-radius:10px 10px 0 0; padding:10px 12px; font-size:15px; }
.pv-theme #passwordModal>div>div:first-child,.pv-theme #invitationModal>div>div:first-child { color:#174a73; }
.pv-theme .medi-field [data-pv-required][hidden] { display:none!important; }
.pv-theme .pv-modal-panel>.pv-modal-heading { margin:0; }

.pv-theme input:-webkit-autofill { animation-name:pv-autofill; animation-duration:1ms; }
@keyframes pv-autofill { from { opacity:.99; } to { opacity:1; } }
.pv-login-content>div>div:first-child>span { background:#ffffff26; border:1px solid #ffffff4d; }

.pv-login .btn-submit { background:#176b87; }
.pv-login .btn-submit:hover { background:#125870; }
.pv-login .btn-submit:disabled { background:#94a3b8; }
.pv-login #sifremiUnuttumLink { color:#174a73; }

/* Employee-specific parity: no visitor or administrator layout changes. */
.pv-employee .pv-employee-heading { padding:16px!important; background:#e6f1f9!important; color:#174a73!important; border:1px solid #bfd7e8; border-left:3px solid #176b87; border-radius:12px; box-shadow:none!important; }
.pv-employee .pv-employee-heading :is(h1,h2) { font-size:20px; line-height:1.3; margin-top:4px; }
.pv-employee .pv-employee-heading p { font-size:13px; }
.pv-employee .pv-employee-heading button { flex-shrink:0; }
.pv-theme .pv-employee-modal-heading { background:#e6f1f9!important; color:#174a73; padding:12px 16px; border-bottom:1px solid #bfd7e8; border-left:3px solid #176b87; border-radius:12px 12px 0 0; }
.pv-theme .pv-employee-modal-heading--inset { margin:-20px -20px 16px; }
.pv-theme .pv-employee-modal-heading :is(h2,h3) { font-size:16px; line-height:1.4; }
.pv-theme .pv-employee-modal-heading button { width:32px; height:32px; color:#174a73; border:1px solid #bfd7e8; background:white; border-radius:6px; flex-shrink:0; }
.pv-employee .profile-tab { margin:4px 3px; padding:8px 12px; border:1px solid transparent; border-radius:8px; font-size:13px; color:#174a73; }
.pv-employee .profile-tab[aria-selected=true] { background:#e1f4ff; border-color:#38bdf8; color:#174a73; }
.pv-employee :is(button:disabled,button[disabled]):not(.medi-page *),.pv-employee-login :is(button:disabled,button[disabled]):not(.medi-page *) { background:#e2e8f0!important; color:#64748b!important; box-shadow:none!important; cursor:not-allowed; }
.pv-employee :is(#passwordChangeForm,#passwordChangePageForm,#invitationForm) .medi-control { min-height:36px; font-size:14px; }
.pv-employee :is(#passwordChangeForm,#passwordChangePageForm,#invitationForm) textarea.medi-control { min-height:72px; }
/* Random TC: checkbox inputun solunda; w-full üstüne binmesin. */
.pv-employee #invitationForm .pv-tc-row { display:flex; align-items:center; gap:.5rem; width:100%; }
.pv-employee #invitationForm .pv-tc-random { display:none; flex:0 0 auto; align-items:center; line-height:1; }
.pv-employee #invitationForm .pv-tc-random.is-visible { display:inline-flex; }
.pv-employee #invitationForm .pv-tc-random input[type=checkbox] { margin:0; cursor:pointer; }
.pv-employee #invitationForm .pv-tc-input { flex:1 1 auto; min-width:0; }
.pv-employee #invitationForm .pv-tc-input .medi-control { width:100%; box-sizing:border-box; }
.pv-employee #invitationForm .pv-tc-input .medi-control:disabled { background:#f3f4f6; color:#6b7280; cursor:not-allowed; }
/* MediTooltip — Calisan demetinde yok; modal üstünde, shrink-to-fit. */
.medi-tooltip {
    position:fixed !important;
    z-index:11050 !important;
    top:auto;
    right:auto;
    bottom:auto;
    left:auto;
    width:max-content !important;
    max-width:min(18rem, calc(100vw - 16px)) !important;
    height:auto !important;
    min-height:0 !important;
    padding:0.45rem 0.7rem;
    border-radius:0.5rem;
    border:1px solid rgba(15,39,66,.12);
    background:#0f2a36;
    color:#fff;
    font-size:0.75rem;
    font-weight:600;
    line-height:1.35;
    letter-spacing:.01em;
    box-shadow:0 10px 28px rgba(15,39,66,.22);
    pointer-events:none !important;
    opacity:0;
    transform:translateY(4px) scale(.98);
    transition:opacity 140ms ease, transform 140ms cubic-bezier(.22,1,.36,1);
}
.medi-tooltip.is-visible { opacity:1; transform:translateY(0) scale(1); }
.medi-tooltip[hidden] { display:none !important; }
[data-medi-tooltip] { cursor:help; }
.pv-employee .pv-employee-password { max-width:480px; }
.pv-employee .pv-employee-back { display:flex; justify-content:center; align-items:center; gap:8px; margin-top:16px; color:#174a73; font-size:13px; }
.pv-employee .pv-employee-back:hover { text-decoration:underline; }
.pv-employee .pv-employee-heading .pv-section-heading { border:0; background:none; padding:0; }
.pv-theme.pv-employee .ti:not(.medi-page *),.pv-theme.pv-employee-login .ti:not(.medi-page *) { width:1.25em; height:1.25em; }

.pv-employee .profile-panel dl>div { padding:12px; border-radius:8px; }
.pv-employee .profile-panel dt { text-transform:none; color:#64748b; font-size:12px; letter-spacing:normal; }

/* Ziyaretçi portalı: taşeron başlık, ikon ve işlem durumları. */
.pv-visitor .ti { width: 1.25em; height: 1.25em; flex-shrink: 0; }
.pv-visitor button:disabled, .pv-visitor-password button:disabled, .pv-visitor-login button:disabled { background: #cbd5e1 !important; color: #64748b !important; cursor: not-allowed; }
.pv-visitor-password .pv-password-card { max-width: 384px; padding: 24px; overflow: hidden; }
.pv-visitor-password .pv-password-heading { margin: -24px -24px 24px; padding: 24px; background: #176b87; color: #fff; }
.pv-visitor-password .pv-password-heading h1 { color: #fff !important; }
.pv-visitor-password .pv-password-heading p { color: #dbeafe !important; }
.pv-visitor-password .pv-password-heading > span { background: rgba(255,255,255,.15) !important; color: #fff !important; }
.pv-visitor-login #suModal > div { border: 1px solid #bfd7e8; max-height: calc(100dvh - 32px); overflow-y: auto; }
.pv-visitor-login #suBaslik { color: #174a73 !important; background: #e6f1f9; margin: -22px -22px 16px !important; padding: 18px 22px; border-bottom: 1px solid #bfd7e8; }
.pv-visitor-login #suGonder { background: #176b87 !important; }
.pv-visitor-login #suGonder:disabled { background: #cbd5e1 !important; }

.pv-visitor .thumb > .ti { width: 20px; height: 20px; color: #fff; }
.pv-visitor .badge > .ti { width: 11px; height: 11px; }
.pv-visitor-login .card-header .icon-wrap > .ti { width: 28px; height: 28px; }
.pv-visitor-login .btn-submit > .ti { display: none; }
.pv-visitor-login .btn-submit.loading > .ti { display: inline-flex; }
.pv-visitor-password .pv-password-heading .ti { width: 28px; height: 28px; }
