:root {
    --tk-primary: #0d6efd;
    --tk-primary-dark: #084298;
    --tk-navy: #102a43;
    --tk-bg: #f4f7fb;
}
body { background: var(--tk-bg); color: #243b53; }
.navbar { background: linear-gradient(110deg, var(--tk-navy), var(--tk-primary-dark)); }
.navbar-brand { font-weight: 700; letter-spacing: .2px; }
.brand-icon { display: inline-grid; width: 2.15rem; height: 2.15rem; place-items: center; border-radius: 50%; overflow: hidden; background: transparent; }
.brand-icon img{display:block;width:100%;height:100%;object-fit:contain}
.navbar .nav-link { border-radius: .5rem; color: rgba(255,255,255,.78); padding-inline: .8rem !important; }
.navbar .nav-link:hover, .navbar .nav-link.active { background: rgba(255,255,255,.12); color: #fff; }
.email-test-nav-warning{white-space:normal}
@media (min-width:992px){.email-test-nav-warning{position:absolute;left:50%;transform:translateX(-50%);z-index:2;white-space:nowrap}}
.contract-main-link{font-weight:700;background:rgba(255,255,255,.08)}
.contract-page-heading{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:1rem}.contract-followup-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.6rem;padding:.65rem .8rem;border-radius:.85rem;background:rgba(13,110,253,.16);box-shadow:0 .25rem .8rem rgba(13,110,253,.12)}.contract-followup-actions .btn{white-space:nowrap}.contract-followup-actions .btn.active{box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.footer-presence{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.65rem}.footer-presence-user{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.presence-dot{width:.65rem;height:.65rem;border-radius:50%;flex:0 0 .65rem}.presence-dot.online{background:#20c997;box-shadow:0 0 0 .18rem rgba(32,201,151,.18)}.presence-dot.offline{background:#dc3545;box-shadow:0 0 0 .18rem rgba(220,53,69,.16)}
.followup-urgent{animation:followup-pulse 1.8s ease-in-out infinite}.followup-row-urgent>td{background-color:rgba(220,53,69,.07)!important}.presence-dropdown{min-width:15rem;padding:.45rem}.presence-dropdown .footer-presence-user{display:flex;padding:.45rem .55rem;border-radius:.45rem}.presence-dropdown .footer-presence-user:hover{background:var(--bs-tertiary-bg)}@keyframes followup-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,193,7,.2)}50%{box-shadow:0 0 0 .38rem rgba(255,193,7,.38)}}
@media(max-width:991.98px){.contract-page-heading{grid-template-columns:1fr}.contract-followup-actions{justify-content:flex-start}.contract-page-heading>.text-md-end{text-align:left!important}}
@media(prefers-reduced-motion:reduce){.followup-urgent{animation:none;outline:3px solid #ffc107}}
.settings-alert-card{background:rgba(255,193,7,.08)!important}.settings-alert-card>summary{color:var(--bs-warning-text-emphasis)}
.settings-panel{height:100%}.settings-icon{width:3rem;height:3rem;border-radius:.9rem;display:grid;place-items:center;font-size:1.35rem;flex:0 0 3rem}
.contract-drop-zone{min-height:180px;border:2px dashed var(--bs-primary);border-radius:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;cursor:pointer;background:var(--bs-primary-bg-subtle);transition:.2s}.contract-drop-zone.dragover{transform:scale(1.01);background:var(--bs-info-bg-subtle);box-shadow:0 0 0 .25rem rgba(13,110,253,.15)}
.destination-search{position:relative}.destination-suggestions{position:absolute;z-index:1080;top:calc(100% - 1.2rem);left:0;right:0;padding:.35rem;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:.6rem;box-shadow:0 .75rem 2rem rgba(0,0,0,.22);max-height:19rem;overflow:auto}.destination-suggestion{display:flex;width:100%;flex-direction:column;gap:.1rem;padding:.65rem .75rem;border:0;border-radius:.4rem;text-align:left;color:var(--bs-body-color);background:transparent}.destination-suggestion:hover,.destination-suggestion:focus{background:var(--bs-primary-bg-subtle);outline:0}.destination-suggestion small,.destination-empty{color:var(--bs-secondary-color)}.destination-empty{padding:.7rem}
.birth-year-select{font-weight:600;width:auto!important;margin-left:.25rem!important;padding-right:1.5rem!important}
.page-heading { font-weight: 750; color: var(--tk-navy); }
.content-card, .country-card, .hotel-card { border: 0; border-radius: 1rem; box-shadow: 0 .35rem 1.2rem rgba(16,42,67,.08); }
.content-card.bg-white,.country-card.bg-white,.hotel-card.bg-white{background-color:rgba(255,255,255,.50)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
/* A Windows Snipping Tool egyes Chromium/GPU kombinációkon üresen rögzíti
   a backdrop-filteres űrlaprétegeket. A szerződésszerkesztő ezért stabil,
   képernyőképen is megjelenő, közel azonos színű felületet használ. */
.contract-editor-page .content-card.bg-white{background-color:rgba(255,255,255,.94)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
[data-bs-theme="dark"] .contract-editor-page .content-card.bg-white,[data-admin-theme="beach-dark"] .contract-editor-page .content-card.bg-white{background-color:rgba(24,35,47,.96)!important}
.form-control,.form-select,.input-group-text{background-color:var(--bs-body-bg)!important}
.country-card, .hotel-card { transition: transform .2s ease, box-shadow .2s ease; }
.country-card:hover, .hotel-card:hover { transform: translateY(-3px); box-shadow: 0 .75rem 1.5rem rgba(16,42,67,.14); }
.country-code { display: inline-grid; width: 2.6rem; height: 2.6rem; flex: 0 0 2.6rem; place-items: center; border-radius: .75rem; background: #e7f1ff; color: var(--tk-primary-dark); font-size: .78rem; font-weight: 700; text-transform: uppercase; }
.search-box .input-group-text, .search-box .form-control { border-color: transparent; background: #fff; }
.search-box .form-control:focus { box-shadow: none; }
.site-footer { background: #fff; border-top: 1px solid #e6edf5; color: #627d98; }
.stat-icon { width:3rem;height:3rem;border-radius:.9rem;display:grid;place-items:center;font-size:1.25rem; }
.login-bg { background: radial-gradient(circle at top left,#dbeafe,#f8fafc 48%,#e0f2fe); }
.table > :not(caption) > * > * { padding:.85rem; }
.thumb { width:88px;height:64px;object-fit:cover;border-radius:.6rem;background:#e9ecef; }
.drag-handle { cursor:grab; }
.image-tile img { aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:.8rem; }
.country-open-card,.hotel-open-card{transition:.2s}.hotel-open-card{position:relative}.country-open-card:hover,.hotel-open-card:hover{transform:translateY(-3px);box-shadow:0 .8rem 2rem rgba(16,42,67,.16)}
.hotel-open-card button[data-bs-target^="#hotelDetails"]{position:static;z-index:2}.hotel-open-card>.border-top{margin-top:1rem!important}
.hotel-cover{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:.8rem}.empty-cover{background:#e8eef5;display:grid;place-items:center;font-size:3rem;color:#829ab1}
.studio-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.studio-gallery article>img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#111;border-radius:.8rem}
.official-image-choice{cursor:pointer;overflow:hidden;transition:border-color .15s,box-shadow .15s}.official-image-choice.border-success{box-shadow:0 0 0 .2rem rgba(25,135,84,.18)}.external-image-error{border:2px solid #dc3545!important}.external-image-error::before{content:'A külső kép jelenleg nem tölthető be';display:block;color:#dc3545;font-weight:600;margin-bottom:.5rem}
.photo-drag-handle{margin:-.25rem 0 .75rem;padding:.65rem .8rem;border-radius:.6rem;background:#e7f1ff;color:#084298;font-weight:600;cursor:grab;user-select:none}.photo-drag-handle:active{cursor:grabbing}.studio-gallery article.dragging{opacity:.45;transform:scale(.98)}[data-bs-theme="dark"] .photo-drag-handle{background:#26394d;color:#9ecbff}
[data-bs-theme="dark"] body{--tk-bg:#0d141c;color:#dbe5ef;background:#0d141c}
[data-bs-theme="dark"] .bg-white,[data-bs-theme="dark"] .site-footer{background-color:#18232f!important;color:#dbe5ef}
[data-bs-theme="dark"] .page-heading,[data-bs-theme="dark"] .text-dark{color:#f1f5f9!important}
[data-bs-theme="dark"] .content-card,[data-bs-theme="dark"] .country-card,[data-bs-theme="dark"] .hotel-card{box-shadow:0 .35rem 1.2rem rgba(0,0,0,.28)}
[data-bs-theme="dark"] .content-card.bg-white,[data-bs-theme="dark"] .country-card.bg-white,[data-bs-theme="dark"] .hotel-card.bg-white{background-color:rgba(24,35,47,.60)!important}
[data-bs-theme="dark"] .country-code{background:#26394d;color:#8ec5ff}
[data-bs-theme="dark"] .empty-cover{background:#243240;color:#9fb3c8}
[data-bs-theme="dark"] .login-bg{background:radial-gradient(circle at top left,#172f48,#0d141c 55%,#111827)}
[data-admin-theme^="beach"] body{position:relative;isolation:isolate;background:#dff6ff;color:#17324d}
[data-admin-theme^="beach"] body::before{content:"";position:fixed;inset:-5%;z-index:-2;background-position:center;background-size:cover;background-repeat:no-repeat;animation:beach-camera 42s ease-in-out infinite alternate;will-change:transform}
[data-admin-theme="beach"] body::before,[data-admin-theme="beach-light"] body::before{background-image:url('../images/beach-light.jpg')}
[data-admin-theme="beach-dark"] body::before{background-image:url('../images/beach-dark.jpg')}
[data-admin-theme^="beach"] body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(120deg,rgba(239,250,255,.72),rgba(248,252,255,.84))}
[data-admin-theme="beach-dark"] body::after{background:linear-gradient(120deg,rgba(5,18,38,.62),rgba(16,31,56,.74))}
[data-admin-theme^="beach"] .navbar{background:linear-gradient(110deg,rgba(5,70,105,.96),rgba(0,145,170,.92))}
[data-admin-theme="beach-dark"] .navbar{background:linear-gradient(110deg,rgba(21,30,65,.97),rgba(74,37,91,.94))}
[data-admin-theme^="beach"] .bg-white,[data-admin-theme^="beach"] .site-footer{background-color:rgba(255,255,255,.50)!important;backdrop-filter:blur(8px)}
[data-admin-theme="beach-dark"] .bg-white,[data-admin-theme="beach-dark"] .site-footer{background-color:rgba(19,29,45,.60)!important;color:#eef5fb}
[data-admin-theme^="beach"] .content-card,[data-admin-theme^="beach"] .country-card,[data-admin-theme^="beach"] .hotel-card{box-shadow:0 .5rem 1.8rem rgba(4,74,104,.20)}
@keyframes beach-camera{0%{transform:scale(1.02) translate3d(-.8%,0,0)}50%{transform:scale(1.065) translate3d(1%,-.6%,0)}100%{transform:scale(1.04) translate3d(-.4%,.7%,0)}}
@media(prefers-reduced-motion:reduce){[data-admin-theme^="beach"] body::before{animation:none;transform:scale(1.03)}}
.bi-display-slash::before{content:"▣̸";font-family:system-ui,sans-serif;font-weight:700;letter-spacing:-.35em;padding-right:.35em}
.btn-danger .bi-display-slash,.btn-outline-danger .bi-display-slash{color:#fff!important;opacity:1!important;visibility:visible!important}
.photo-screen-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.65rem;padding:.4rem;border-radius:.7rem;background:rgba(0,0,0,.08)}
button[title*="Visszavonás"],button[title*="visszavonása"]{color:#dc3545;border-color:#dc3545}button[title*="Visszavonás"]:hover,button[title*="visszavonása"]:hover{color:#fff;background:#dc3545}
.tablet-target-select{width:auto;min-width:88px}.photo-screen-controls form{display:flex;gap:.3rem}.photo-screen-controls .tablet-target-select{max-width:110px}.photo-screen-controls .btn{padding:.25rem .55rem;font-size:.875rem}
.global-search-card{position:relative;z-index:1090;overflow:visible!important}.global-search-card:has(.global-search:focus-within){z-index:1095}.global-search{position:relative;z-index:1}.search-suggestions{position:absolute;z-index:1100;left:0;right:0;top:calc(100% + .5rem);max-height:430px;overflow:auto;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:.8rem;box-shadow:0 1rem 2.5rem rgba(0,0,0,.2)}.search-suggestion{display:flex;align-items:center;gap:.8rem;padding:.75rem 1rem;color:var(--bs-body-color);text-decoration:none;border-bottom:1px solid var(--bs-border-color)}.search-suggestion:last-child{border-bottom:0}.search-suggestion:hover{background:var(--bs-primary-bg-subtle)}.search-suggestion>i{font-size:1.25rem;color:var(--bs-primary)}.search-suggestion span{display:flex;flex-direction:column}.search-suggestion small{color:var(--bs-secondary-color)}
.billing-search-card{position:relative;z-index:1085;overflow:visible!important}.billing-search-card:focus-within{z-index:1090}#billing-contract-search{position:relative}
.hotel-name-suggestions {
    top: calc(100% - 1.25rem);
    z-index: 1080;
    max-height: 18rem;
    overflow-y: auto;
}
.contract-import-tray{position:sticky;top:10px;z-index:1040;margin:0 0 1rem auto;width:min(100%,760px);max-height:310px;overflow:auto;padding:12px 14px;border-radius:12px;background:#172235;color:#fff;box-shadow:0 8px 28px #0006;border:1px solid #ffc107}.contract-import-items{display:flex;gap:8px;overflow-x:auto;padding:4px 0}.contract-import-chip{flex:0 0 230px;text-align:left;border:1px solid #7d8ca5;border-radius:8px;background:#253249;color:#fff;padding:8px;cursor:grab}.contract-import-chip strong,.contract-import-chip span{display:block}.contract-import-chip span{font-size:.8rem;color:#d6deea;white-space:normal}.contract-import-target{outline:3px solid #0dcaf0!important;outline-offset:2px}.import-uncertain{border-color:#ffc107!important;box-shadow:0 0 0 .2rem #ffc10733!important}.import-review-item{display:flex;flex-direction:column;height:100%;padding:9px 11px;border-radius:8px;border-left:4px solid #198754;background:#19875412}.import-review-item.warning{border-left-color:#ffc107;background:#ffc10716}.import-review-item span{font-size:.82rem;color:var(--bs-secondary-color)}
.contract-import-tray,.contract-import-items{-webkit-overflow-scrolling:touch}.contract-import-chip,.contract-import-tray button,.input-group button{touch-action:manipulation}
@media(max-width:767.98px){.contract-import-tray{top:max(6px,env(safe-area-inset-top));max-height:42vh;max-height:42dvh;padding:10px}.contract-import-chip{flex-basis:min(78vw,230px)}.contract-import-tray button{min-width:36px;min-height:36px}}
.contract-import-chip.selected{border-color:#0dcaf0;box-shadow:0 0 0 3px #0dcaf055}
.contract-learning-inline{display:inline-flex;vertical-align:middle}.contract-learning-inline .contract-learning-actions{display:inline-flex;gap:.2rem}.contract-learning-inline .btn{width:25px;height:23px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem}.contract-import-chip-actions{display:flex;gap:.3rem;margin-top:.55rem}.contract-import-chip-actions .btn{width:30px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center}.contract-import-chip-resolved{opacity:.72;border-style:dashed}
.contract-learning-source-line{color:var(--bs-secondary-color)!important;opacity:.72;white-space:nowrap;font-size:.78em}
.contract-import-probable-type{display:block;margin:.2rem 0;color:#78d7ff;font-size:.72rem;font-weight:600}.contract-import-probable-target{outline:3px solid #ffc107!important;outline-offset:2px;box-shadow:0 0 0 .25rem #ffc10735!important}.contract-import-source-focus{border-color:#ffc107!important;box-shadow:0 0 0 4px #ffc10755!important;animation:contractSourcePulse .55s ease-in-out 2}.contract-learning-source-line{text-decoration:none!important}.contract-learning-source-line:hover{opacity:1}@keyframes contractSourcePulse{50%{transform:translateY(-2px);box-shadow:0 0 0 7px #ffc10733}}
.contract-import-target-focus{animation:contractTargetPulse .5s ease-in-out 2}@keyframes contractTargetPulse{50%{box-shadow:0 0 0 .5rem #0dcaf055!important}}
.contract-candidate-message{max-height:3.2em;line-height:1.25;overflow:auto}
