:root {
    --bg: #f4f6f8;
    --surface: #ffffff;
    --text: #15202b;
    --muted: #6b7280;
    --line: #e5e7eb;
    --primary: #0f4c81;
    --primary-dark: #0a3b65;
    --success: #137a45;
    --success-soft: #e9f8ef;
    --danger: #b42318;
    --danger-soft: #fff0ee;
    --warning: #9a6700;
    --warning-soft: #fff7df;
    --shadow: 0 12px 35px rgba(16, 24, 40, .08);
    --radius: 16px;
}
* { box-sizing: border-box; }
html { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; color: var(--text); background: var(--bg); }
body { margin: 0; background: var(--bg); }
a { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: underline; }
button, input, select { font: inherit; }
input, select { width: 100%; border: 1px solid #cfd5dd; border-radius: 10px; padding: 12px 13px; background: #fff; color: var(--text); outline: none; }
input:focus, select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(15, 76, 129, .12); }
label { display: block; font-size: 14px; font-weight: 650; color: #344054; }
label input, label select { margin-top: 7px; font-weight: 400; }
h1, h2, p { margin-top: 0; }
h1 { font-size: 28px; margin-bottom: 5px; }
h2 { font-size: 19px; margin-bottom: 8px; }
.muted { color: var(--muted); }
.center { text-align: center; }
.hidden { display: none !important; }
.container { width: min(1240px, calc(100% - 36px)); margin: 0 auto; }
.admin-container { padding: 30px 0 55px; }
.topbar { background: #0c3150; color: #fff; min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0 clamp(18px, 2vw, 34px); box-shadow: 0 2px 10px rgba(0,0,0,.1); }
/* Marka grubu */
.brand-group { display: flex; align-items: center; gap: 18px; min-width: 0; }
.topbar .brand { color: white; font-weight: 800; font-size: 18px; text-decoration: none; white-space: nowrap; }
.topbar .brand:hover { text-decoration: none; }
.topbar nav { display: flex; align-items: center; flex-wrap: nowrap; gap: 3px; min-width: 0; white-space: nowrap; }
.topbar nav a { color: #eaf3fb; padding: 9px 9px; border-radius: 8px; font-size: 14px; white-space: nowrap; }
.topbar nav a:hover { background: rgba(255,255,255,.1); text-decoration: none; }
.page-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 22px; }
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow); margin-bottom: 22px; }
.panel-header { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 16px; }
.stack-form { display: grid; gap: 16px; }
.btn { display: inline-flex; justify-content: center; align-items: center; border: 0; border-radius: 10px; padding: 11px 15px; font-weight: 750; cursor: pointer; text-decoration: none !important; transition: .15s ease; }
.btn:hover { transform: translateY(-1px); }
.btn:disabled { opacity: .65; cursor: wait; transform: none; }
.btn-primary { background: var(--primary); color: #fff; }
.btn-primary:hover { background: var(--primary-dark); }
.btn-secondary { background: #eef2f6; color: #263646; border: 1px solid #dce2e8; }
.btn-link { background: transparent; color: var(--primary); }
.btn-block { width: 100%; }
.btn-large { min-height: 58px; font-size: 18px; }
.btn-small { padding: 8px 11px; font-size: 13px; }
.alert { padding: 13px 15px; border-radius: 10px; margin-bottom: 18px; border: 1px solid transparent; }
.alert-error { background: var(--danger-soft); border-color: #ffcdc7; color: var(--danger); }
.alert-success { background: var(--success-soft); border-color: #b9e7cc; color: var(--success); }
.stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 22px; }
.stat-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; box-shadow: var(--shadow); }
.stat-card span { display: block; color: var(--muted); font-size: 14px; margin-bottom: 8px; }
.stat-card strong { font-size: 34px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th { text-align: left; padding: 11px 12px; background: #f7f8fa; color: #475467; border-bottom: 1px solid var(--line); white-space: nowrap; }
td { padding: 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
tbody tr:hover { background: #fafbfc; }
.empty { text-align: center; color: var(--muted); padding: 28px !important; }
.pill { display: inline-block; padding: 5px 8px; border-radius: 999px; font-size: 12px; font-weight: 750; }
.pill.ok { background: var(--success-soft); color: var(--success); }
.pill.warning { background: var(--warning-soft); color: var(--warning); }
.two-column { display: grid; grid-template-columns: minmax(290px, 360px) 1fr; gap: 22px; align-items: start; }
.sticky-panel { position: sticky; top: 18px; }
.location-list { display: grid; gap: 10px; }
.location-row { display: flex; justify-content: space-between; align-items: center; gap: 15px; border: 1px solid var(--line); padding: 13px; border-radius: 12px; }
.location-row.inactive { opacity: .58; }
.location-info { display: grid; gap: 4px; }
.location-info span { color: var(--muted); font-size: 13px; }
.row-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.narrow-panel { max-width: 620px; }
.checkbox-label { display: flex; gap: 9px; align-items: center; }
.checkbox-label input { width: auto; margin: 0; }
.qr-layout { display: grid; grid-template-columns: minmax(320px, 540px) 1fr; gap: 22px; align-items: start; }
.qr-card { text-align: center; }
.qr-title { font-size: 13px; font-weight: 850; letter-spacing: .12em; color: var(--muted); }
.qr-card h2 { font-size: 26px; margin: 8px 0 18px; }
.qr-image { width: min(100%, 430px); aspect-ratio: 1/1; object-fit: contain; }
.qr-code-label { font-weight: 800; margin-top: 10px; }
.qr-instruction { margin: 5px 0 0; color: var(--muted); }
.copy-line { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin: 8px 0 18px; }
.button-stack { display: grid; gap: 9px; }
.note { color: var(--muted); font-size: 12px; margin: 16px 0 0; line-height: 1.5; }
.filter-grid { display: grid; grid-template-columns: 1fr 1fr 1.4fr 1.4fr auto; gap: 12px; align-items: end; }
.filter-actions { display: flex; gap: 8px; }
.gps-small { color: var(--muted); font-size: 11px; margin-top: 4px; white-space: nowrap; }
.footer { color: #87909b; font-size: 12px; text-align: center; padding: 0 0 25px; display: flex; justify-content: center; align-items: center; gap: 8px; flex-wrap: wrap; }
.footer-signature { color: #52606d; font-weight: 750; }
.footer-separator { opacity: .55; }
.centered-body { min-height: 100vh; display: grid; place-items: center; padding: 22px; background: radial-gradient(circle at top, #e9f2f9, #f5f7f9 45%); }
.auth-card { width: min(430px, 100%); background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 30px; box-shadow: 0 22px 60px rgba(14,48,75,.13); }
.wide-card { width: min(560px, 100%); }
.logo-mark { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 13px; background: var(--primary); color: #fff; font-weight: 900; margin-bottom: 18px; }
.auth-help { margin: 18px 0 0; text-align: center; font-size: 13px; color: var(--muted); }
.scan-body { min-height: 100vh; background: #edf2f6; }
.scan-shell { min-height: 100vh; display: grid; align-content: center; justify-items: center; padding: 18px; }
.scan-card { width: min(560px, 100%); background: #fff; border-radius: 22px; padding: 26px; box-shadow: 0 24px 60px rgba(13,47,72,.15); border: 1px solid #dfe6ec; }
.scan-card h1 { text-align: center; font-size: clamp(26px, 6vw, 38px); line-height: 1.1; margin: 10px 0 8px; }
.scan-badge { width: fit-content; margin: 0 auto; color: #516274; background: #eef2f6; font-weight: 850; letter-spacing: .08em; font-size: 11px; padding: 7px 10px; border-radius: 999px; }
.action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
.action-button { border: 2px solid transparent; border-radius: 18px; padding: 25px 14px; cursor: pointer; display: grid; place-items: center; gap: 6px; min-height: 180px; }
.action-button.entry { background: #eaf7ef; color: #0b6a3b; border-color: #b8e2c7; }
.action-button.exit { background: #fff1ef; color: #a3291d; border-color: #f2c4bf; }
.action-button strong { font-size: 26px; }
.action-button small { font-size: 13px; opacity: .8; }
.action-icon { font-size: 42px; line-height: 1; }
.selected-action { text-align: center; padding: 11px; border-radius: 10px; font-weight: 850; margin-bottom: 17px; }
.selected-action.entry { background: #eaf7ef; color: #0b6a3b; }
.selected-action.exit { background: #fff1ef; color: #a3291d; }
.big-label { font-size: 15px; }
.big-input { min-height: 56px; font-size: 18px; }
.geo-status { font-size: 13px; color: var(--muted); padding: 10px 12px; background: #f7f8fa; border-radius: 9px; line-height: 1.45; }
.error-text { color: var(--danger); background: var(--danger-soft); }
.success-panel { text-align: center; background: var(--success-soft); border: 1px solid #b9e7cc; border-radius: 16px; padding: 22px; margin: 22px 0 14px; }
.success-icon { width: 58px; height: 58px; border-radius: 999px; display: grid; place-items: center; background: var(--success); color: #fff; font-size: 33px; font-weight: 900; margin: 0 auto 12px; }
.success-panel h2 { color: var(--success); }
.scan-footer { color: #7d8994; font-size: 12px; margin-top: 14px; display: grid; justify-items: center; gap: 9px; }
@media (max-width: 900px) {
    .topbar { align-items: flex-start; flex-direction: column; padding: 14px 18px; }
    .two-column, .qr-layout { grid-template-columns: 1fr; }
    .sticky-panel { position: static; }
    .filter-grid { grid-template-columns: 1fr 1fr; }
    .filter-actions { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
    .container { width: min(100% - 22px, 1240px); }
    .admin-container { padding-top: 18px; }
    .topbar nav { width: 100%; overflow-x: auto; flex-wrap: nowrap; }
    .stats-grid { grid-template-columns: 1fr; gap: 10px; }
    .panel { padding: 16px; border-radius: 13px; }
    .location-row { align-items: flex-start; flex-direction: column; }
    .row-actions { width: 100%; }
    .row-actions .btn { flex: 1; }
    .filter-grid { grid-template-columns: 1fr; }
    .filter-actions { grid-column: auto; }
    .scan-shell { padding: 10px; align-content: start; }
    .scan-card { margin-top: 14px; padding: 20px 15px; border-radius: 18px; }
    .action-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
    .action-button { min-height: 150px; padding: 20px 8px; }
    .action-button strong { font-size: 22px; }
}
@media print {
    body * { visibility: hidden !important; }
    #printArea, #printArea * { visibility: visible !important; }
    #printArea { position: absolute; inset: 0; width: 100%; border: 0; box-shadow: none; margin: 0; padding: 25mm; }
    .qr-image { width: 120mm; }
}

/* V3 - Bekci kodu dogrulama */
.stats-grid-four { grid-template-columns: repeat(4, 1fr); }
.guard-code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-weight: 800; color: #243b53 !important; letter-spacing: .04em; }
.guard-code-form { margin-top: 24px; }
.guard-code-input { text-transform: uppercase; text-align: center; letter-spacing: .08em; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-weight: 800; }
.guard-verified { margin: 20px 0 12px; padding: 15px; border-radius: 14px; background: #eef7ff; border: 1px solid #c8def0; text-align: center; display: grid; gap: 4px; }
.guard-verified span { font-size: 11px; color: #60758a; letter-spacing: .08em; font-weight: 850; }
.guard-verified strong { font-size: 21px; color: #173b5b; }
.guard-verified small { color: #526b82; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-weight: 700; }
.change-guard-form { margin-top: 12px; }
@media (max-width: 900px) { .stats-grid-four { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .stats-grid-four { grid-template-columns: 1fr; } }

/* Murat YILMAZ Yazılım - tipografik marka */
.developer-brand { display: inline-flex; align-items: center; gap: 9px; line-height: 1; user-select: none; }
.developer-mark { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: linear-gradient(145deg, #ffffff 0%, #dfeeff 100%); color: #0c3150; border: 1px solid rgba(255,255,255,.55); box-shadow: 0 4px 12px rgba(0,0,0,.12); font-weight: 950; letter-spacing: -.04em; font-size: 14px; }
.developer-copy { display: grid; gap: 3px; text-align: left; }
.developer-copy strong { font-size: 12px; font-weight: 850; letter-spacing: .02em; }
.developer-copy small { font-size: 8px; font-weight: 900; letter-spacing: .24em; opacity: .8; }
.developer-brand--top { color: #fff; padding-left: 18px; border-left: 1px solid rgba(255,255,255,.22); }
.developer-brand--auth { margin-bottom: 20px; }
.developer-brand--auth .developer-mark { width: 50px; height: 50px; border-radius: 14px; background: linear-gradient(145deg, #0f4c81 0%, #0a3b65 100%); color: #fff; border: 0; font-size: 19px; box-shadow: 0 9px 22px rgba(15,76,129,.22); }
.developer-brand--auth .developer-copy strong { font-size: 15px; color: #173b5b; }
.developer-brand--auth .developer-copy small { font-size: 9px; color: #5a7185; }
.developer-brand--scan { opacity: .92; }
.developer-brand--scan .developer-mark { width: 30px; height: 30px; border-radius: 8px; background: #fff; color: #0c3150; border: 1px solid #d6e0e8; box-shadow: none; font-size: 12px; }
.developer-brand--scan .developer-copy strong { color: #52606d; font-size: 11px; }
.developer-brand--scan .developer-copy small { color: #7d8994; font-size: 7px; }

@media (max-width: 900px) {
    .brand-group { width: 100%; justify-content: space-between; gap: 12px; }
    .developer-brand--top { padding-left: 12px; }
}
@media (max-width: 520px) {
    .developer-brand--top .developer-copy { display: none; }
    .developer-brand--top { border-left: 0; padding-left: 0; }
    .developer-brand--top .developer-mark { width: 32px; height: 32px; }
}

/* V3.2 - Panelden ziyaret kaydi silme */
.btn-danger { background: var(--danger); color: #fff; }
.btn-danger:hover { background: #912018; }
.inline-delete-form { margin: 0; }
.report-action-cell { white-space: nowrap; }
.report-delete-note { margin: -2px 0 16px; padding: 10px 12px; border-radius: 10px; background: var(--warning-soft); color: #765300; border: 1px solid #f2dda1; font-size: 12px; line-height: 1.45; }


/* V3.3 - Panelden bekci/lokasyon ve hareket silme */
.delete-warning { margin: 0 0 14px; padding: 10px 12px; border-radius: 10px; background: var(--danger-soft); color: #7b241c; border: 1px solid #efc2bd; font-size: 12px; line-height: 1.45; }
.click-delete-row { cursor: pointer; transition: background-color .15s ease; }
.click-delete-row:hover td { background: #fff7f6; }
.click-delete-row .report-action-cell { cursor: default; }

/* V4 - Web ici QR tarayici ve bekci oturumu */
.patrol-body { margin: 0; min-height: 100vh; background: #edf2f6; color: #102a43; font-family: inherit; }
.patrol-shell { width: min(100% - 22px, 720px); margin: 0 auto; padding: 14px 0 30px; }
.patrol-topbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 8px 2px 16px; }
.patrol-title { font-size: 23px; line-height: 1.1; font-weight: 900; letter-spacing: -.02em; }
.developer-brand--patrol { margin-top: 8px; }
.developer-brand--patrol .developer-mark { width: 30px; height: 30px; box-shadow: none; border-color: #cfdce7; }
.developer-brand--patrol .developer-copy strong { color: #294b66; font-size: 11px; }
.developer-brand--patrol .developer-copy small { color: #71879a; }
.patrol-logout, .patrol-text-button { border: 0; background: transparent; color: #1d5f91; font-weight: 800; cursor: pointer; padding: 10px; }
.patrol-login-card, .patrol-user-card, .patrol-camera-card, .patrol-location-card, .patrol-success-card { background: #fff; border: 1px solid #d9e3ec; border-radius: 20px; box-shadow: 0 13px 32px rgba(26, 54, 79, .09); }
.patrol-login-card { max-width: 520px; margin: 7vh auto 0; padding: 26px 22px; }
.patrol-login-card h1 { text-align: center; margin: 10px 0 8px; font-size: 30px; }
.patrol-session-note { margin: 15px 0 0; color: #718096; font-size: 12px; text-align: center; line-height: 1.45; }
.patrol-user-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; margin-bottom: 12px; }
.patrol-user-card > div:first-child { display: grid; gap: 3px; }
.patrol-user-card span { color: #718096; font-size: 10px; letter-spacing: .08em; font-weight: 900; }
.patrol-user-card strong { font-size: 18px; }
.patrol-open-visit { text-align: right; color: #718096; font-size: 12px; padding: 8px 10px; border-radius: 11px; background: #f3f6f9; }
.patrol-open-visit.has-open { color: #7a4d00; background: #fff6df; border: 1px solid #f5dc9a; }
.patrol-app { display: grid; gap: 12px; }
.patrol-camera-card, .patrol-location-card, .patrol-success-card { padding: 16px; }
.patrol-section-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 13px; }
.patrol-section-head > div { display: flex; align-items: center; gap: 9px; }
.patrol-step { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #0f578d; color: #fff; font-weight: 900; }
.patrol-camera-state { font-size: 11px; color: #718096; font-weight: 800; background: #eef2f6; padding: 6px 9px; border-radius: 999px; }
.patrol-camera-state.active { background: #e2f7ec; color: #18794e; }
.patrol-reader-wrap { position: relative; min-height: 330px; overflow: hidden; border-radius: 18px; background: #0d1720; border: 1px solid #1d2d3b; }
.patrol-reader { min-height: 330px; width: 100%; }
.patrol-reader video { width: 100% !important; min-height: 330px; object-fit: cover; border-radius: 17px; }
.patrol-reader img { display: none !important; }
.patrol-reader-placeholder { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 8px; color: #dce6ee; text-align: center; padding: 24px; pointer-events: none; }
.patrol-reader-placeholder span { font-size: 12px; color: #99aabd; }
.camera-icon { width: 62px; height: 62px; border: 2px solid #7ba5c4; border-radius: 18px; display: grid; place-items: center; font-size: 34px; color: #b9d3e6; margin-bottom: 4px; }
.patrol-camera-actions { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 12px; }
.patrol-help { margin: 10px 2px 0; text-align: center; color: #718096; font-size: 12px; line-height: 1.45; }
.patrol-fallback { margin-top: 12px; border-top: 1px solid #e2e8f0; padding-top: 10px; color: #60758a; font-size: 12px; }
.patrol-fallback summary { cursor: pointer; font-weight: 800; }
.patrol-manual-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 8px; }
.patrol-manual-row input { min-width: 0; border: 1px solid #cbd7e2; border-radius: 10px; padding: 10px 11px; }
.patrol-location-name { font-size: 28px; line-height: 1.1; font-weight: 950; text-align: center; margin: 18px 0 8px; letter-spacing: -.02em; }
.patrol-location-state { text-align: center; color: #49657b; background: #eef6fc; border: 1px solid #d0e4f2; border-radius: 12px; padding: 10px 12px; font-size: 13px; line-height: 1.45; margin-bottom: 14px; }
.patrol-location-state.blocked { color: #842b23; background: #fff0ee; border-color: #f2c6c1; }
.patrol-action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.patrol-action { min-height: 145px; border-radius: 17px; border: 2px solid transparent; display: grid; place-content: center; justify-items: center; gap: 3px; cursor: pointer; font: inherit; transition: transform .12s ease, opacity .12s ease, box-shadow .12s ease; }
.patrol-action:not(:disabled):active { transform: scale(.98); }
.patrol-action span { font-size: 28px; }
.patrol-action strong { font-size: 23px; }
.patrol-action small { font-size: 11px; opacity: .75; }
.patrol-action-entry { background: #eaf7ef; color: #166534; }
.patrol-action-exit { background: #fff0ed; color: #9a3412; }
.patrol-action.recommended { border-color: currentColor; box-shadow: 0 0 0 3px rgba(15, 87, 141, .08); }
.patrol-action:disabled { opacity: .32; cursor: not-allowed; }
.patrol-gps-status { margin-top: 12px; border-radius: 11px; background: #f4f7fa; color: #60758a; padding: 10px 12px; text-align: center; font-size: 12px; line-height: 1.4; }
.patrol-success-card { text-align: center; padding: 26px 18px; }
.patrol-success-card h2 { margin: 8px 0; }
.patrol-success-card > strong { display: block; font-size: 24px; margin-bottom: 8px; }
.patrol-success-card p { margin: 5px 0; color: #49657b; }
.patrol-success-card small { color: #718096; }
.patrol-countdown { margin-top: 14px; color: #1d5f91; font-weight: 800; font-size: 12px; }
.patrol-success-actions { display: grid; gap: 12px; margin-top: 16px; }
.patrol-success-actions .patrol-action-incident { width: 100%; }

@media (max-width: 560px) {
    .patrol-shell { width: min(100% - 16px, 720px); padding-top: 8px; }
    .patrol-title { font-size: 20px; }
    .developer-brand--patrol .developer-copy { display: none; }
    .patrol-user-card { align-items: flex-start; }
    .patrol-open-visit { max-width: 48%; }
    .patrol-reader-wrap, .patrol-reader, .patrol-reader video { min-height: 300px; }
    .patrol-camera-card, .patrol-location-card { padding: 13px; border-radius: 16px; }
    .patrol-action { min-height: 130px; }
    .patrol-action strong { font-size: 21px; }
}

/* V4.2 - Ana ekran kisayolu / PWA kurulum deneyimi */
.patrol-top-actions { display: flex; align-items: center; gap: 6px; }
.patrol-install-button { border: 1px solid #bdd0df; background: #fff; color: #174d76; border-radius: 11px; padding: 9px 11px; font: inherit; font-size: 12px; font-weight: 850; cursor: pointer; box-shadow: 0 3px 10px rgba(16,42,67,.06); }
.patrol-install-button:active { transform: translateY(1px); }
.install-help { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: end center; padding: 16px; }
.install-help.hidden { display: none !important; }
.install-help-backdrop { position: absolute; inset: 0; background: rgba(8,24,38,.58); backdrop-filter: blur(3px); }
.install-help-card { position: relative; width: min(100%, 500px); background: #fff; border-radius: 22px; padding: 24px 20px 20px; box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.install-help-close { position: absolute; top: 10px; right: 12px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #edf2f6; color: #294b66; font-size: 25px; cursor: pointer; }
.install-help-icon { width: 54px; height: 54px; border-radius: 15px; margin-bottom: 12px; background: #0c3b60; color: #fff; border: 0; box-shadow: none; font-size: 18px; }
.install-help-card h2 { margin: 0 42px 7px 0; font-size: 22px; }
.install-help-card p { margin: 0 0 14px; color: #60758a; font-size: 13px; line-height: 1.5; }
.install-help-steps { margin: 0 0 18px; padding-left: 21px; color: #294b66; font-size: 14px; line-height: 1.55; }
.install-help-steps li + li { margin-top: 6px; }
.install-help-open { overflow: hidden; }
@media (max-width: 560px) {
    .patrol-topbar { align-items: flex-start; }
    .patrol-top-actions { flex-direction: column; align-items: flex-end; }
    .patrol-install-button, .patrol-logout { white-space: nowrap; font-size: 11px; }
    .install-help { padding: 0; place-items: end stretch; }
    .install-help-card { width: 100%; border-radius: 22px 22px 0 0; padding: 24px 18px calc(20px + env(safe-area-inset-bottom)); }
}

/* V5 - Olay ve uygunsuzluk bildirimi */
textarea { width: 100%; border: 1px solid #cfd5dd; border-radius: 10px; padding: 12px 13px; background: #fff; color: var(--text); outline: none; resize: vertical; font: inherit; }
textarea:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(15, 76, 129, .12); }
label textarea { margin-top: 7px; font-weight: 400; }
.stats-grid-five { grid-template-columns: repeat(5, 1fr); }
.stat-card-link { color: inherit; text-decoration: none !important; display: block; }
.stat-card-link:hover { transform: translateY(-1px); border-color: #c8d9e7; }
.stat-card-link small { display: block; margin-top: 5px; color: var(--primary); font-size: 11px; font-weight: 750; }
.patrol-incident-card { background: #fff; border: 1px solid #ead8a6; border-radius: 20px; box-shadow: 0 13px 32px rgba(26, 54, 79, .09); padding: 16px; }
.patrol-step-warning { background: #a56700; }
.patrol-action-incident { grid-column: 1 / -1; min-height: 105px; background: #fff7df; color: #815600; border-color: #f0d28a; }
.patrol-action-incident span { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: #f5c75d; color: #5c3b00; font-size: 24px; font-weight: 950; }
.patrol-action-incident strong { font-size: 21px; }
.patrol-incident-location { margin: 4px 0 15px; padding: 11px 13px; border-radius: 12px; background: #fff8e7; color: #704b00; text-align: center; font-size: 22px; font-weight: 900; }
.incident-form { display: grid; gap: 14px; }
.optional-label { font-weight: 500; color: var(--muted); font-size: 12px; letter-spacing: 0; }
.btn-warning { background: #a56700; color: #fff; }
.btn-warning:hover { background: #875300; }
.incident-photo-preview { display: grid; gap: 8px; justify-items: center; padding: 10px; border: 1px dashed #d2bf8d; border-radius: 12px; background: #fffcf4; }
.incident-photo-preview img { width: min(100%, 360px); max-height: 320px; object-fit: contain; border-radius: 10px; background: #f2f2f2; }
.incident-filter-grid { display: grid; grid-template-columns: .9fr .9fr 1.25fr 1.25fr 1.2fr auto; gap: 12px; align-items: end; }
.incident-stats-grid { grid-template-columns: repeat(3, 1fr); }
.incident-type-pill { display: inline-block; padding: 6px 9px; border-radius: 999px; background: #fff3d1; color: #795100; font-size: 12px; font-weight: 800; white-space: nowrap; }
.incident-type-water_leak { background: #e8f5ff; color: #135c8a; }
.incident-type-fire_equipment { background: #fff0ee; color: #9b2c20; }
.incident-type-suspicious { background: #f3edff; color: #5d3a9e; }
.incident-type-door_open { background: #fff7df; color: #815600; }
.incident-type-other { background: #eef2f6; color: #40566b; }
.incident-description-cell { min-width: 210px; max-width: 360px; line-height: 1.45; }
.incident-photo-link { display: grid; gap: 4px; width: 84px; text-align: center; font-size: 11px; font-weight: 700; }
.incident-thumb { width: 84px; height: 64px; object-fit: cover; border-radius: 9px; border: 1px solid #dce2e8; background: #eef2f6; }
.nowrap { white-space: nowrap; }
@media (max-width: 1100px) {
    .stats-grid-five { grid-template-columns: repeat(3, 1fr); }
    .incident-filter-grid { grid-template-columns: repeat(2, 1fr); }
    .incident-filter-grid .filter-actions { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
    .stats-grid-five, .incident-stats-grid { grid-template-columns: 1fr; }
    .incident-filter-grid { grid-template-columns: 1fr; }
    .incident-filter-grid .filter-actions { grid-column: auto; }
    .patrol-action-incident { min-height: 96px; }
    .patrol-incident-card { padding: 13px; border-radius: 16px; }
}
.action-button.incident { grid-column: 1 / -1; min-height: 125px; background: #fff7df; color: #815600; border-color: #f0d28a; }
.selected-action.incident { background: #fff7df; color: #815600; }
.incident-fields { display: grid; gap: 14px; margin: 0 0 14px; padding: 14px; border: 1px solid #ead8a6; border-radius: 12px; background: #fffcf4; }


/* V5.2 - Olay fotoğrafı sıkıştırma bilgisi */
.incident-photo-note,
.incident-photo-info {
    display: block;
    margin-top: 6px;
    color: #64748b;
    font-size: 0.82rem;
    line-height: 1.35;
}
.incident-photo-info {
    color: #0f5d8f;
    font-weight: 700;
}

/* V5.3 - Raporlarda olay / uygunsuzluk görünürlüğü */
.report-filter-note {
    margin: 14px 0 0;
    padding: 10px 12px;
    border-radius: 10px;
    background: #f4f8fb;
    color: #53687a;
    font-size: 13px;
}
.report-stats-grid { grid-template-columns: repeat(4, 1fr); }
.report-incident-stat { border-color: #ead8a6; background: #fffcf4; }
.report-incident-stat.has-incidents { border-color: #e6b94f; background: #fff7df; }
.report-incident-stat.has-incidents strong { color: #9a5d00; }
.report-incidents-panel { border: 1px solid #ead8a6; scroll-margin-top: 90px; }
.report-section-kicker {
    display: inline-block;
    margin-bottom: 6px;
    color: #986100;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .1em;
}
.report-incident-count {
    display: inline-flex;
    min-width: 30px;
    height: 30px;
    margin-left: 7px;
    padding: 0 9px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #f5c75d;
    color: #5c3b00;
    font-size: 14px;
    vertical-align: middle;
}
.report-header-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.report-incident-warning {
    margin-bottom: 14px;
    padding: 12px 14px;
    border: 1px solid #efd18a;
    border-radius: 11px;
    background: #fff7df;
    color: #704b00;
}
.report-no-incidents {
    margin-bottom: 14px;
    padding: 12px 14px;
    border-radius: 11px;
    background: #f4f8fb;
    color: #64748b;
}
.report-incident-table tbody tr { background: #fffdf8; }
@media (max-width: 1100px) {
    .report-stats-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .report-stats-grid { grid-template-columns: 1fr; }
    .report-header-actions { width: 100%; justify-content: stretch; }
    .report-header-actions .btn { flex: 1; }
}

/* V5.4 - Rapor ekranı görsel düzenleme */
.stats-grid.report-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}
.stats-grid.report-stats-grid .stat-card {
    min-width: 0;
    min-height: 142px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.stats-grid.report-stats-grid .report-incident-stat {
    justify-content: center;
}

.report-incidents-panel {
    padding: 26px;
}
.report-incidents-panel .panel-header {
    align-items: flex-start;
    gap: 24px;
}
.report-incidents-panel .panel-header > div:first-child {
    max-width: 900px;
}
.report-incidents-panel .panel-header h2 {
    margin-bottom: 6px;
}
.report-incidents-panel .panel-header .muted {
    max-width: 850px;
    line-height: 1.55;
}
.report-incident-warning,
.report-no-incidents {
    margin: 18px 0 20px;
}

.report-incident-list {
    display: grid;
    gap: 14px;
}
.report-incident-empty {
    padding: 28px;
    text-align: center;
    color: var(--muted);
    border: 1px dashed var(--line);
    border-radius: 14px;
    background: #fafcfd;
}
.report-incident-card-item {
    overflow: hidden;
    border: 1px solid #e2e8ef;
    border-left: 5px solid #e5b344;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 7px 20px rgba(27, 50, 71, .055);
}
.report-incident-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 16px;
    background: #fffaf0;
    border-bottom: 1px solid #efe4c8;
}
.report-incident-card-title {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.report-incident-time {
    color: #526779;
    font-size: 13px;
    font-weight: 750;
    white-space: nowrap;
}
.report-incident-delete {
    flex: 0 0 auto;
}
.report-incident-card-grid {
    display: grid;
    grid-template-columns: minmax(150px, .9fr) minmax(150px, .9fr) minmax(280px, 2.2fr) minmax(250px, 1.6fr);
    gap: 0;
    align-items: stretch;
}
.report-incident-field,
.report-incident-evidence {
    min-width: 0;
    padding: 17px 18px;
}
.report-incident-field + .report-incident-field,
.report-incident-evidence {
    border-left: 1px solid #edf1f5;
}
.report-incident-field > span,
.report-incident-location-proof > span,
.report-incident-photo-proof > span {
    display: block;
    margin-bottom: 7px;
    color: #7b8a98;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.report-incident-field strong {
    display: block;
    color: #142c3f;
    font-size: 15px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.report-incident-description p {
    margin: 0;
    color: #243b4d;
    font-size: 14px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}
.report-incident-evidence {
    display: grid;
    grid-template-columns: minmax(125px, 1fr) 118px;
    gap: 18px;
    align-items: center;
    background: #fbfcfd;
}
.report-incident-location-proof,
.report-incident-photo-proof {
    min-width: 0;
}
.report-map-link {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 11px;
    border-radius: 9px;
    background: #eef6fc;
    color: #0f578d;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}
.report-map-link:hover {
    background: #e2f0fa;
}
.report-incident-location-proof small {
    display: block;
    margin-top: 7px;
    color: #708293;
    font-size: 10.5px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.report-incident-photo-proof {
    text-align: center;
}
.report-incident-photo-link {
    display: grid;
    gap: 6px;
    justify-items: center;
    color: #0f578d;
    font-weight: 800;
    text-decoration: none;
}
.report-incident-thumb {
    width: 104px;
    height: 78px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid #d9e1e8;
    background: #eef2f6;
    box-shadow: 0 4px 12px rgba(27, 50, 71, .08);
}
.report-incident-photo-link small {
    font-size: 11px;
}

@media (max-width: 1180px) {
    .stats-grid.report-stats-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px;
    }
    .stats-grid.report-stats-grid .stat-card {
        padding: 16px;
        min-height: 126px;
    }
    .report-incident-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .report-incident-description,
    .report-incident-evidence {
        grid-column: 1 / -1;
        border-left: 0;
        border-top: 1px solid #edf1f5;
    }
    .report-incident-card-grid > .report-incident-field:nth-child(2) {
        border-left: 1px solid #edf1f5;
    }
}
@media (max-width: 820px) {
    .stats-grid.report-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .report-incidents-panel {
        padding: 18px;
    }
    .report-incidents-panel .panel-header {
        flex-direction: column;
        align-items: stretch;
    }
    .report-header-actions {
        justify-content: flex-start;
    }
    .report-incident-card-grid {
        grid-template-columns: 1fr;
    }
    .report-incident-card-grid > .report-incident-field,
    .report-incident-description,
    .report-incident-evidence {
        grid-column: auto;
        border-left: 0 !important;
        border-top: 1px solid #edf1f5;
    }
    .report-incident-card-grid > .report-incident-field:first-child {
        border-top: 0;
    }
}
@media (max-width: 560px) {
    .stats-grid.report-stats-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    .stats-grid.report-stats-grid .stat-card {
        min-height: 112px;
        padding: 14px;
    }
    .stats-grid.report-stats-grid .stat-card strong {
        font-size: 28px;
    }
    .stats-grid.report-stats-grid .stat-card span {
        font-size: 12px;
    }
    .report-incident-card-head {
        align-items: flex-start;
        padding: 12px;
    }
    .report-incident-card-title {
        gap: 8px;
    }
    .report-incident-time {
        width: 100%;
    }
    .report-incident-field,
    .report-incident-evidence {
        padding: 14px;
    }
    .report-incident-evidence {
        grid-template-columns: 1fr 105px;
        gap: 12px;
    }
    .report-incident-thumb {
        width: 92px;
        height: 70px;
    }
}

/* V5.5 - Panel kullanicilari ve acilir kullanici menusu */
.nav-dropdown { position: relative; }
.nav-dropdown > summary { list-style: none; color: #eaf3fb; padding: 9px 9px; border-radius: 8px; font-size: 14px; cursor: pointer; user-select: none; white-space: nowrap; }
.nav-dropdown > summary::-webkit-details-marker { display: none; }
.nav-dropdown > summary:hover,
.nav-dropdown[open] > summary { background: rgba(255,255,255,.1); }
.nav-dropdown > summary span { display: inline-block; margin-left: 3px; font-size: 10px; transition: transform .15s ease; }
.nav-dropdown[open] > summary span { transform: rotate(180deg); }
.nav-dropdown-menu { position: absolute; z-index: 300; top: calc(100% + 8px); right: 0; width: 210px; padding: 7px; border: 1px solid #d7e1e9; border-radius: 12px; background: #fff; box-shadow: 0 18px 44px rgba(11,42,67,.2); }
.topbar .nav-dropdown-menu a { display: block; color: #173b5b; padding: 10px 11px; border-radius: 8px; font-size: 13px; font-weight: 700; }
.topbar .nav-dropdown-menu a:hover { color: #0c3150; background: #edf4f9; }

.user-stats-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.management-grid { display: grid; grid-template-columns: minmax(300px, .78fr) minmax(0, 1.7fr); gap: 22px; align-items: start; }
.management-grid .panel { margin-bottom: 0; }
.admin-user-list { display: grid; gap: 11px; }
.admin-user-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 14px; border: 1px solid #dce4eb; border-radius: 14px; background: #fff; }
.admin-user-card.is-inactive { background: #f7f9fb; opacity: .78; }
.admin-user-avatar { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: #e7f1f8; color: #0c4f7d; font-weight: 900; font-size: 18px; }
.admin-user-main { display: grid; gap: 3px; min-width: 0; }
.admin-user-title-row { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.admin-user-title-row strong { font-size: 16px; }
.admin-user-username { color: #4c6579; font-size: 12px; font-weight: 700; }
.admin-user-main small { color: #7a8996; font-size: 11px; }
.user-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 7px; font-size: 10px; font-weight: 850; }
.user-badge-active { background: #e6f7ee; color: #147347; }
.user-badge-passive { background: #edf0f3; color: #5d6771; }
.user-badge-self { background: #e9f3fb; color: #175f91; }
.admin-user-actions { flex-wrap: nowrap; }
.user-edit-panel { max-width: 980px; }
.user-edit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.user-active-toggle { display: flex; align-items: center; gap: 11px; padding: 13px 14px; border: 1px solid #dce4eb; border-radius: 12px; background: #f8fafc; cursor: pointer; }
.user-active-toggle input { width: 19px; height: 19px; margin: 0; }
.user-active-toggle span { display: grid; gap: 2px; }
.user-active-toggle small { color: #6e7e8c; font-weight: 500; }
.password-change-box { padding: 16px; border-radius: 13px; background: #f7f9fb; border: 1px solid #e0e6eb; }
.password-change-box h3 { margin: 0 0 4px; font-size: 16px; }
.password-change-box h3 small { color: #758592; font-weight: 500; font-size: 11px; }
.password-change-box .muted { margin: 0 0 12px; }
.form-actions { display: flex; flex-wrap: wrap; gap: 10px; }


/* V6.7 - Genis admin menusunun tek satirda kalmasi */
@media (min-width: 981px) and (max-width: 1380px) {
    .topbar { gap: 12px; padding-left: 14px; padding-right: 14px; }
    .brand-group { gap: 12px; }
    .topbar .brand { font-size: 16px; }
    .topbar nav { gap: 1px; }
    .topbar nav a,
    .nav-dropdown > summary { padding-left: 7px; padding-right: 7px; font-size: 13px; }
    .developer-brand--top { transform: scale(.92); transform-origin: left center; margin-right: -8px; }
}

@media (max-width: 980px) {
    .management-grid { grid-template-columns: 1fr; }
    .nav-dropdown-menu { right: auto; left: 0; }
}
@media (max-width: 720px) {
    .user-stats-grid { grid-template-columns: 1fr; }
    .admin-user-card { grid-template-columns: auto minmax(0,1fr); }
    .admin-user-actions { grid-column: 1 / -1; justify-content: flex-end; }
    .user-edit-grid { grid-template-columns: 1fr; }
    .nav-dropdown-menu { position: fixed; top: 126px; left: 16px; right: 16px; width: auto; }
}

/* V5.5 - Son işlemden sonra olay bildirimi QR alanının üstünde, dikkat çekici */
.patrol-recent-action {
    display: grid;
    gap: 12px;
    margin: 0 0 18px;
    padding: 16px;
    border: 2px solid #efd48b;
    border-radius: 22px;
    background: #fff8e2;
    box-shadow: 0 10px 26px rgba(111, 78, 0, .10);
}
.patrol-recent-action-copy {
    display: grid;
    gap: 4px;
    text-align: center;
}
.patrol-recent-action-copy strong {
    color: #6b4a00;
    font-size: 15px;
    font-weight: 900;
}
.patrol-recent-action-copy span {
    color: #8a6a23;
    font-size: 12px;
    line-height: 1.4;
}
.patrol-recent-incident-button {
    width: 100%;
    min-height: 132px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 4px;
    padding: 14px 16px;
    border: 2px solid #e7c45f;
    border-radius: 20px;
    background: #fff3c9;
    color: #855900;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.7);
}
.patrol-recent-incident-button:active { transform: scale(.995); }
.patrol-recent-incident-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #ffc94f;
    color: #704b00;
    font-size: 34px;
    font-weight: 950;
    line-height: 1;
}
.patrol-recent-incident-label {
    display: block;
    margin-top: 2px;
    font-size: 28px;
    font-weight: 950;
    line-height: 1.05;
}
.patrol-recent-incident-button small {
    color: #a17c2e;
    font-size: 13px;
    font-weight: 650;
}
@media (max-width: 560px) {
    .patrol-recent-action { margin-bottom: 16px; padding: 13px; border-radius: 18px; }
    .patrol-recent-incident-button { min-height: 118px; border-radius: 17px; }
    .patrol-recent-incident-label { font-size: 25px; }
}

/* V5.6 - Son işlem kartı eski başarı ekranındaki vurguya yaklaştırıldı */
.patrol-recent-action {
    display: grid;
    justify-items: center;
    gap: 9px;
    margin: 0 0 18px;
    padding: 20px 18px 18px;
    border: 1px solid #d8e1e8;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 13px 32px rgba(26, 54, 79, .09);
    text-align: center;
}
.patrol-recent-success-icon {
    width: 66px;
    height: 66px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #16864d;
    color: #fff;
    font-size: 43px;
    font-weight: 950;
    line-height: 1;
    box-shadow: 0 6px 16px rgba(22, 134, 77, .18);
}
.patrol-recent-action-copy {
    display: grid;
    justify-items: center;
    gap: 4px;
    width: 100%;
    text-align: center;
}
.patrol-recent-action-copy .patrol-recent-action-title {
    color: #102f49;
    font-size: 24px;
    font-weight: 950;
    line-height: 1.08;
}
.patrol-recent-location {
    color: #102f49;
    font-size: 27px;
    font-weight: 950;
    line-height: 1.1;
}
.patrol-recent-message {
    margin-top: 3px;
    color: #506b80;
    font-size: 14px;
    line-height: 1.4;
}
.patrol-recent-time {
    color: #75869a;
    font-size: 13px;
    font-weight: 650;
}
.patrol-recent-note {
    width: 100%;
    margin-top: 4px;
    color: #1d5f91;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.35;
}
.patrol-recent-incident-button {
    width: 100%;
    min-height: 118px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 3px;
    margin-top: 3px;
    padding: 13px 16px;
    border: 2px solid #efcf78;
    border-radius: 18px;
    background: #fff7df;
    color: #815600;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.75);
}
.patrol-recent-incident-button:active { transform: scale(.995); }
.patrol-recent-incident-icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f5c75d;
    color: #5c3b00;
    font-size: 30px;
    font-weight: 950;
    line-height: 1;
}
.patrol-recent-incident-label {
    display: block;
    margin-top: 1px;
    font-size: 25px;
    font-weight: 950;
    line-height: 1.05;
}
.patrol-recent-incident-button small {
    color: #a17c2e;
    font-size: 12px;
    font-weight: 650;
}
@media (max-width: 560px) {
    .patrol-recent-action { padding: 17px 13px 14px; border-radius: 18px; gap: 8px; }
    .patrol-recent-success-icon { width: 58px; height: 58px; font-size: 38px; }
    .patrol-recent-action-copy .patrol-recent-action-title { font-size: 21px; }
    .patrol-recent-location { font-size: 25px; }
    .patrol-recent-message { font-size: 13px; }
    .patrol-recent-note { font-size: 12px; }
    .patrol-recent-incident-button { min-height: 104px; border-radius: 16px; }
    .patrol-recent-incident-icon { width: 42px; height: 42px; font-size: 28px; }
    .patrol-recent-incident-label { font-size: 23px; }
}

/* V5.7 - Son islem karti mobilde daha kompakt; QR alani daha yukarida kalir */
.patrol-recent-action {
    gap: 6px;
    padding: 14px 16px 13px;
    margin-bottom: 14px;
}
.patrol-recent-success-icon {
    width: 50px;
    height: 50px;
    font-size: 33px;
}
.patrol-recent-action-copy {
    gap: 2px;
}
.patrol-recent-action-copy .patrol-recent-action-title {
    font-size: 21px;
}
.patrol-recent-location {
    font-size: 22px;
}
.patrol-recent-message {
    margin-top: 1px;
    font-size: 13px;
    line-height: 1.3;
}
.patrol-recent-time {
    font-size: 12px;
}
.patrol-recent-note {
    margin-top: 1px;
    font-size: 12px;
    line-height: 1.25;
}
.patrol-recent-incident-button {
    min-height: 88px;
    gap: 1px;
    margin-top: 1px;
    padding: 8px 14px;
    border-radius: 16px;
}
.patrol-recent-incident-icon {
    width: 36px;
    height: 36px;
    font-size: 24px;
}
.patrol-recent-incident-label {
    font-size: 22px;
}
.patrol-recent-incident-button small {
    font-size: 11px;
}
@media (max-width: 560px) {
    .patrol-recent-action {
        padding: 11px 12px 10px;
        margin-bottom: 12px;
        border-radius: 17px;
        gap: 5px;
    }
    .patrol-recent-success-icon { width: 44px; height: 44px; font-size: 29px; }
    .patrol-recent-action-copy .patrol-recent-action-title { font-size: 18px; }
    .patrol-recent-location { font-size: 20px; }
    .patrol-recent-message { font-size: 12px; }
    .patrol-recent-time { font-size: 11px; }
    .patrol-recent-note { font-size: 11px; line-height: 1.2; }
    .patrol-recent-incident-button { min-height: 78px; padding: 7px 12px; border-radius: 14px; }
    .patrol-recent-incident-icon { width: 32px; height: 32px; font-size: 22px; }
    .patrol-recent-incident-label { font-size: 20px; }
    .patrol-recent-incident-button small { font-size: 10px; }
}


/* V5.8 - Son islem alani yatay ve cok daha kompakt; kamera yukarida kalir */
.patrol-recent-action {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    align-items: center;
    justify-items: stretch;
    column-gap: 11px;
    row-gap: 7px;
    padding: 11px 13px 12px;
    margin: 0 0 12px;
    border-radius: 17px;
    text-align: left;
}
.patrol-recent-success-icon {
    grid-column: 1;
    grid-row: 1;
    width: 44px;
    height: 44px;
    font-size: 29px;
    align-self: start;
}
.patrol-recent-action-copy {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    justify-items: start;
    gap: 0;
    text-align: left;
}
.patrol-recent-action-copy .patrol-recent-action-title {
    font-size: 17px;
    line-height: 1.05;
}
.patrol-recent-location {
    margin-top: 2px;
    font-size: 18px;
    line-height: 1.05;
}
.patrol-recent-message {
    display: none;
}
.patrol-recent-time {
    margin-top: 2px;
    font-size: 11px;
    line-height: 1.1;
}
.patrol-recent-note {
    grid-column: 1 / -1;
    grid-row: 2;
    margin: 0;
    font-size: 11px;
    line-height: 1.2;
    text-align: center;
}
.patrol-recent-incident-button {
    grid-column: 1 / -1;
    grid-row: 3;
    min-height: 62px;
    display: grid;
    grid-template-columns: 34px auto;
    grid-template-rows: auto auto;
    justify-content: center;
    align-items: center;
    column-gap: 9px;
    row-gap: 0;
    margin: 0;
    padding: 7px 12px;
    border-radius: 14px;
}
.patrol-recent-incident-icon {
    grid-column: 1;
    grid-row: 1 / 3;
    width: 32px;
    height: 32px;
    font-size: 22px;
}
.patrol-recent-incident-label {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    font-size: 20px;
    line-height: 1;
    text-align: left;
}
.patrol-recent-incident-button small {
    grid-column: 2;
    grid-row: 2;
    font-size: 10px;
    line-height: 1.1;
    text-align: left;
}
@media (max-width: 560px) {
    .patrol-recent-action {
        grid-template-columns: 42px minmax(0, 1fr);
        column-gap: 9px;
        row-gap: 6px;
        padding: 9px 11px 10px;
        margin-bottom: 10px;
        border-radius: 16px;
    }
    .patrol-recent-success-icon {
        width: 40px;
        height: 40px;
        font-size: 26px;
    }
    .patrol-recent-action-copy .patrol-recent-action-title { font-size: 16px; }
    .patrol-recent-location { font-size: 17px; }
    .patrol-recent-time { font-size: 10px; }
    .patrol-recent-note { font-size: 10px; }
    .patrol-recent-incident-button {
        min-height: 58px;
        grid-template-columns: 30px auto;
        column-gap: 8px;
        padding: 6px 10px;
    }
    .patrol-recent-incident-icon {
        width: 29px;
        height: 29px;
        font-size: 20px;
    }
    .patrol-recent-incident-label { font-size: 18px; }
    .patrol-recent-incident-button small { font-size: 9px; }
}

/* V6 - Planli devriye yonetimi ve tur bazli rapor */
.patrol-plan-layout { align-items: start; }
.form-two-col,
.form-three-col {
    display: grid;
    gap: 12px;
}
.form-two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-three-col { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.checkbox-fieldset {
    border: 1px solid #d8e0e8;
    border-radius: 14px;
    padding: 12px;
    margin: 0;
}
.checkbox-fieldset legend {
    padding: 0 7px;
    font-weight: 800;
    color: #344054;
}
.checkbox-list {
    display: grid;
    gap: 8px;
    max-height: 330px;
    overflow: auto;
}
.compact-checkbox-list { max-height: 290px; }
.location-checkbox-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.check-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border: 1px solid #e4e9ef;
    border-radius: 11px;
    background: #fff;
    cursor: pointer;
}
.check-row input { width: 18px; height: 18px; margin: 0; flex: 0 0 auto; }
.check-row span { display: grid; min-width: 0; }
.check-row strong { font-size: 14px; overflow-wrap: anywhere; }
.check-row small { color: #667085; font-size: 11px; }
.check-row.inactive { opacity: .55; }
.toggle-row {
    display: flex !important;
    align-items: center;
    gap: 9px;
    font-weight: 800;
}
.toggle-row input { width: 19px; height: 19px; margin: 0; }
.plan-card-list,
.tour-editor-list,
.planned-run-list { display: grid; gap: 11px; }
.plan-card {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    align-items: center;
    border: 1px solid #e0e7ef;
    border-radius: 14px;
    padding: 14px;
    background: #fff;
}
.plan-card.inactive { opacity: .65; }
.plan-card-main { min-width: 0; }
.plan-card-title-row { display: flex; gap: 9px; align-items: center; flex-wrap: wrap; }
.plan-card-title-row strong { font-size: 17px; }
.plan-card-time { font-weight: 900; margin-top: 5px; color: #17324d; }
.plan-card-meta { margin-top: 4px; font-size: 12px; color: #667085; }
.status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    white-space: nowrap;
}
.status-ok { background: #e9f9ef; color: #14783b; }
.status-muted { background: #eef1f4; color: #667085; }
.patrol-plan-summary-banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}
.patrol-plan-summary-banner > div { display: grid; gap: 3px; }
.patrol-plan-summary-banner strong { font-size: 19px; }
.patrol-plan-summary-banner span { color: #667085; font-weight: 800; }
.tour-editor-card {
    border: 1px solid #dfe6ee;
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
}
.tour-editor-card > summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 15px;
    background: #f8fafc;
}
.tour-editor-card > summary::-webkit-details-marker { display: none; }
.tour-editor-card > summary span:first-child { display: grid; gap: 2px; }
.tour-editor-card > summary strong { font-size: 16px; }
.tour-editor-card > summary small { color: #667085; }
.tour-editor-body { padding: 15px; position: relative; }
.tour-delete-form { margin-top: 12px; padding-top: 12px; border-top: 1px solid #edf0f3; }

.planned-report-panel { border-top: 4px solid #244c74; }
.planned-report-header { align-items: flex-start; }
.planned-report-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0 16px;
}
.planned-stat {
    border: 1px solid #e1e7ee;
    border-radius: 12px;
    padding: 11px 12px;
    display: grid;
    gap: 3px;
    background: #fafbfc;
}
.planned-stat span { font-size: 11px; color: #667085; font-weight: 800; }
.planned-stat strong { font-size: 25px; line-height: 1; }
.planned-stat-ok { border-color: #bfe8cc; background: #f1fbf5; }
.planned-stat-open { border-color: #f0d99a; background: #fffaf0; }
.planned-stat-missing { border-color: #f0b8b8; background: #fff4f4; }
.planned-stat-pending { border-color: #ccd7e3; background: #f6f8fa; }
.planned-run-card {
    border: 1px solid #dfe6ee;
    border-left-width: 5px;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
}
.planned-run-card.is-complete { border-left-color: #28a25c; }
.planned-run-card.has-missing { border-left-color: #d92d20; }
.planned-run-card.has-open { border-left-color: #dc8a00; }
.planned-run-card.has-pending { border-left-color: #7a8b9d; }
.planned-run-card > summary {
    list-style: none;
    cursor: pointer;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 15px;
    align-items: center;
    padding: 13px 15px;
    background: #fbfcfd;
}
.planned-run-card > summary::-webkit-details-marker { display: none; }
.planned-run-primary { display: grid; gap: 2px; min-width: 0; }
.planned-run-primary strong { font-size: 15px; overflow-wrap: anywhere; }
.planned-run-primary small { color: #667085; }
.planned-run-date { font-size: 11px; font-weight: 900; color: #47627c; }
.planned-run-score { text-align: right; display: grid; grid-template-columns: auto auto; column-gap: 7px; align-items: baseline; }
.planned-run-score strong { font-size: 22px; }
.planned-run-score span { font-size: 12px; color: #667085; font-weight: 900; }
.planned-run-score em { grid-column: 1 / -1; font-size: 11px; font-style: normal; font-weight: 900; color: #667085; }
.has-missing .planned-run-score em { color: #b42318; }
.is-complete .planned-run-score em { color: #14783b; }
.planned-location-grid { border-top: 1px solid #e9edf2; }
.planned-location-row {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(150px, .7fr) minmax(180px, .8fr);
    gap: 12px;
    align-items: center;
    padding: 10px 14px;
    border-bottom: 1px solid #edf0f3;
}
.planned-location-row:last-child { border-bottom: 0; }
.planned-location-name { display: flex; align-items: center; gap: 8px; }
.planned-status-icon {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    flex: 0 0 auto;
}
.status-complete .planned-status-icon { background: #e5f8eb; color: #14783b; }
.status-open .planned-status-icon { background: #fff0ca; color: #9a6700; }
.status-missing .planned-status-icon { background: #ffe7e7; color: #b42318; }
.status-pending .planned-status-icon { background: #edf1f5; color: #667085; }
.planned-location-status { font-size: 12px; font-weight: 900; }
.status-complete .planned-location-status { color: #14783b; }
.status-open .planned-location-status { color: #9a6700; }
.status-missing .planned-location-status { color: #b42318; }
.status-pending .planned-location-status { color: #667085; }
.planned-location-times { color: #667085; font-size: 12px; text-align: right; }

@media (max-width: 850px) {
    .location-checkbox-grid { grid-template-columns: 1fr; }
    .planned-report-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .planned-location-row { grid-template-columns: 1fr; gap: 4px; }
    .planned-location-times { text-align: left; padding-left: 33px; }
}
@media (max-width: 560px) {
    .form-two-col, .form-three-col { grid-template-columns: 1fr; }
    .plan-card { align-items: flex-start; flex-direction: column; }
    .patrol-plan-summary-banner { align-items: flex-start; flex-direction: column; }
    .planned-run-card > summary { grid-template-columns: 1fr; }
    .planned-run-score { text-align: left; justify-content: start; }
}


/* V6.1 - large location picker controls */
.location-picker-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 360px) auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 12px;
}
.location-picker-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.location-search-label { display: grid; gap: 5px; margin: 0; }
.location-search-label > span { font-size: 12px; font-weight: 700; color: #475467; }
.location-search-label input { margin: 0; }
.location-picker-count {
    align-self: center;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 800;
    color: #175c8d;
    background: #eef6fb;
    border: 1px solid #cfe4f1;
    border-radius: 999px;
    padding: 8px 12px;
}
[data-location-row][hidden] { display: none !important; }
@media (max-width: 900px) {
    .location-picker-toolbar { grid-template-columns: 1fr; align-items: stretch; }
    .location-picker-count { justify-self: start; }
}

/* V6.2 - operational planned patrol dashboard */
.planned-ops-panel { border-top-color: #1f4f78; }
.planned-run-stats { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.planned-stat-problem { border-color: #e8c6f0; background: #fbf5fd; }
.planned-ops-filter {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto;
    gap: 12px;
    align-items: end;
    padding: 13px;
    margin: 0 0 10px;
    border: 1px solid #dfe6ee;
    border-radius: 13px;
    background: #f8fafc;
}
.planned-ops-filter label { display: grid; gap: 5px; margin: 0; font-size: 12px; font-weight: 800; color: #475467; }
.planned-ops-filter select { margin: 0; }
.planned-ops-filter-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.planned-ops-caption {
    display: flex;
    gap: 5px;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 0 12px;
    color: #667085;
    font-size: 12px;
}
.planned-ops-caption strong { color: #17324d; }
.planned-ops-empty { border: 1px dashed #cdd7e2; border-radius: 12px; background: #fafcfe; }
.planned-run-flags { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 5px; }
.run-flag {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
}
.flag-missing { color: #b42318; background: #feecec; }
.flag-open { color: #9a6700; background: #fff3d6; }
.flag-pending { color: #52677d; background: #edf2f6; }
.flag-complete { color: #14783b; background: #e9f8ee; }
.planned-run-detail { border-top: 1px solid #e9edf2; background: #fff; }
.planned-detail-title {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    padding: 11px 14px 7px;
}
.planned-detail-title strong { font-size: 13px; color: #17324d; }
.planned-detail-title span { font-size: 11px; color: #667085; font-weight: 800; }
.planned-detail-foot {
    padding: 9px 14px 11px;
    color: #667085;
    font-size: 11px;
    background: #fafbfc;
    border-top: 1px solid #edf0f3;
}
.planned-complete-note { padding: 16px 14px; color: #14783b; font-weight: 800; background: #f4fbf6; }

@media (max-width: 1050px) {
    .planned-run-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .planned-ops-filter { grid-template-columns: 1fr 1fr; }
    .planned-ops-filter-actions { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
    .planned-run-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .planned-ops-filter { grid-template-columns: 1fr; }
    .planned-ops-filter-actions { grid-column: auto; }
}

/* V6.3 - refined operations report UI */
.planned-ops-panel {
    padding: 24px 26px 26px;
}
.planned-ops-panel .panel-header {
    margin-bottom: 18px;
}
.planned-ops-panel .panel-header h2 {
    margin-bottom: 5px;
}
.planned-run-stats {
    gap: 12px;
    margin: 16px 0 20px;
}
.planned-run-stats .planned-stat {
    min-height: 84px;
    padding: 14px 15px;
    border-radius: 14px;
    align-content: center;
}
.planned-run-stats .planned-stat span {
    font-size: 12px;
    line-height: 1.25;
}
.planned-run-stats .planned-stat strong {
    margin-top: 3px;
    font-size: 28px;
}

.planned-ops-filter {
    grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr) auto;
    gap: 14px;
    align-items: end;
    padding: 17px 18px;
    margin: 0 0 14px;
    border-color: #d8e1ea;
    border-radius: 15px;
    background: #f8fafc;
}
.planned-ops-filter label {
    gap: 7px;
    font-size: 12px;
    color: #34495e;
}
.planned-ops-filter select {
    min-height: 44px;
    padding: 9px 36px 9px 12px;
    border-radius: 10px;
    background-color: #fff;
}
.planned-ops-filter-actions {
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    padding-bottom: 1px;
}
.planned-ops-filter-actions .btn {
    min-height: 44px;
    padding: 10px 16px;
    border-radius: 10px;
    white-space: nowrap;
}
.planned-ops-caption {
    margin: 0 0 12px;
    min-height: 28px;
}
.planned-ops-result-count {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 10px;
    border: 1px solid #dfe7ef;
    border-radius: 999px;
    background: #f8fafc;
    color: #60758a;
    font-size: 12px;
    font-weight: 700;
}
.planned-ops-result-count strong {
    color: #17324d;
    font-size: 13px;
}

.planned-ops-list {
    display: grid;
    gap: 12px;
}
.planned-run-card {
    border-radius: 15px;
    box-shadow: 0 2px 8px rgba(23, 50, 77, .035);
}
.planned-run-card > summary {
    min-height: 96px;
    gap: 20px;
    padding: 16px 18px;
    background: #fff;
}
.planned-run-card > summary:hover {
    background: #fbfcfe;
}
.planned-run-primary {
    gap: 4px;
}
.planned-run-date {
    margin-bottom: 1px;
    font-size: 11px;
    letter-spacing: .02em;
}
.planned-run-primary strong {
    font-size: 16px;
    line-height: 1.35;
}
.planned-run-primary small {
    margin-top: 1px;
    font-size: 12px;
    line-height: 1.45;
}
.planned-run-flags {
    margin-top: 7px;
    gap: 7px;
}
.run-flag {
    min-height: 24px;
    padding: 3px 9px;
    font-size: 10px;
}
.planned-run-score {
    min-width: 126px;
    grid-template-columns: auto auto;
    column-gap: 8px;
    row-gap: 3px;
    padding: 7px 10px;
    border-radius: 11px;
    background: #f7f9fb;
}
.planned-run-score strong {
    font-size: 25px;
    line-height: 1;
}
.planned-run-score span {
    font-size: 12px;
}
.planned-run-score em {
    margin-top: 2px;
    font-size: 10px;
    line-height: 1.3;
}
.has-missing .planned-run-score { background: #fff5f5; }
.has-open .planned-run-score { background: #fff9ed; }
.has-pending .planned-run-score { background: #f5f8fb; }
.is-complete .planned-run-score { background: #f2fbf5; }

.planned-run-detail {
    background: #fbfcfd;
}
.planned-detail-title {
    padding: 14px 18px 11px;
    border-bottom: 1px solid #e9eef3;
}
.planned-detail-title > div {
    display: grid;
    gap: 2px;
}
.planned-detail-title strong {
    font-size: 13px;
}
.planned-detail-title small {
    color: #7a8b9d;
    font-size: 10px;
}
.planned-detail-title > span {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 3px 9px;
    border-radius: 999px;
    background: #eef3f7;
    color: #52677d;
    font-size: 10px;
}
.planned-location-grid {
    border-top: 0;
    background: #fff;
}
.planned-location-row {
    min-height: 54px;
    padding: 12px 18px;
    column-gap: 18px;
}
.planned-location-name strong {
    font-size: 13px;
}
.planned-location-status {
    font-size: 11px;
}
.planned-location-times {
    font-size: 11px;
}
.planned-detail-foot {
    padding: 11px 18px;
    font-size: 11px;
    line-height: 1.45;
}

@media (max-width: 1050px) {
    .planned-ops-filter {
        grid-template-columns: 1fr 1fr;
    }
    .planned-ops-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}
@media (max-width: 680px) {
    .planned-ops-panel {
        padding: 18px 14px 20px;
    }
    .planned-ops-filter {
        grid-template-columns: 1fr;
        padding: 14px;
    }
    .planned-ops-filter-actions {
        grid-column: auto;
    }
    .planned-ops-filter-actions .btn {
        flex: 1 1 auto;
    }
    .planned-run-card > summary {
        gap: 12px;
        padding: 14px;
    }
    .planned-run-score {
        min-width: 0;
        justify-self: stretch;
        text-align: left;
    }
    .planned-detail-title,
    .planned-location-row,
    .planned-detail-foot {
        padding-left: 14px;
        padding-right: 14px;
    }
}

/* V6.4 - Canlı operasyon / tur analizi */
.live-ops-hero { border-top: 4px solid #1f4f78; }
.ops-group-list, .analysis-group-list { display: grid; gap: 14px; }
.ops-plan-group { padding: 0; overflow: hidden; }
.ops-plan-group > summary { list-style: none; cursor: pointer; }
.ops-plan-group > summary::-webkit-details-marker { display: none; }
.ops-plan-summary { display: grid; grid-template-columns: minmax(260px,1.2fr) minmax(260px,1fr) auto; gap: 18px; align-items: center; padding: 18px 20px; background: #fff; }
.ops-plan-summary:hover { background: #fbfdff; }
.ops-plan-group.has-missing { border-left: 5px solid #d92d20; }
.ops-plan-group.has-open { border-left: 5px solid #dc8a00; }
.ops-plan-group.has-pending { border-left: 5px solid #7a8b9d; }
.ops-plan-group.is-complete { border-left: 5px solid #28a25c; }
.ops-plan-main { min-width: 0; }
.ops-plan-main h3 { margin: 2px 0 3px; font-size: 20px; }
.ops-plan-main small { color: #667085; }
.ops-plan-badges { display: flex; flex-wrap: wrap; gap: 7px; }
.ops-plan-score { min-width: 120px; display: grid; grid-template-columns: auto auto; justify-content: end; column-gap: 8px; align-items: baseline; text-align: right; }
.ops-plan-score strong { font-size: 27px; color: #122b43; }
.ops-plan-score span { font-weight: 900; color: #61758a; }
.ops-plan-score small { grid-column: 1 / -1; color: #7a8998; font-weight: 700; }
.ops-tour-list { border-top: 1px solid #e6edf3; background: #f8fbfd; padding: 10px 14px 14px; display: grid; gap: 8px; }
.ops-tour-row { border: 1px solid #dce6ee; border-radius: 12px; background: #fff; overflow: hidden; }
.ops-tour-row > summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: minmax(180px,1fr) minmax(220px,auto) auto; gap: 14px; align-items: center; padding: 12px 14px; }
.ops-tour-row > summary::-webkit-details-marker { display: none; }
.ops-tour-row > summary:hover { background: #fbfdff; }
.ops-tour-row > summary > div:first-child { display: grid; gap: 2px; }
.ops-tour-row > summary small { color: #667085; }
.ops-tour-mini-flags { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.ops-tour-score { display: flex; gap: 6px; align-items: baseline; justify-content: flex-end; min-width: 78px; }
.ops-tour-score strong { font-size: 18px; }
.ops-tour-score span { color: #667085; font-size: 12px; font-weight: 900; }
.ops-tour-detail { border-top: 1px solid #edf1f4; padding: 12px 14px 14px; }
.analysis-filter-panel { border-top: 4px solid #315f85; }
.analysis-filter-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 12px; align-items: end; }
.analysis-filter-grid label { display: grid; gap: 5px; font-size: 12px; font-weight: 800; color: #475467; }
.analysis-filter-grid input, .analysis-filter-grid select { margin: 0; }
.analysis-filter-actions { display: flex; gap: 8px; flex-wrap: wrap; grid-column: 1 / -1; }
.analysis-stats { margin: 16px 0; }

@media (max-width: 1050px) {
  .ops-plan-summary { grid-template-columns: 1fr auto; }
  .ops-plan-badges { grid-column: 1 / 2; }
  .ops-plan-score { grid-column: 2; grid-row: 1 / 3; }
  .analysis-filter-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .ops-plan-summary { grid-template-columns: 1fr; gap: 10px; }
  .ops-plan-badges, .ops-plan-score { grid-column: auto; grid-row: auto; }
  .ops-plan-score { justify-content: start; text-align: left; }
  .ops-tour-row > summary { grid-template-columns: 1fr; gap: 8px; }
  .ops-tour-mini-flags, .ops-tour-score { justify-content: flex-start; }
  .analysis-filter-grid { grid-template-columns: 1fr; }
  .analysis-filter-actions { grid-column: auto; }
}

/* V6.8 - Mobil admin hamburger menusu */
.mobile-menu-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 9px 13px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 10px;
    background: rgba(255,255,255,.08);
    color: #fff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}
.mobile-menu-toggle:hover,
.mobile-menu-toggle[aria-expanded="true"] { background: rgba(255,255,255,.16); }
.mobile-menu-icon { font-size: 20px; line-height: 1; }

@media (max-width: 980px) {
    .topbar {
        min-height: 64px;
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
        gap: 10px 14px;
        padding: 11px 16px;
    }
    .brand-group { flex: 1 1 auto; min-width: 0; }
    .mobile-menu-toggle { display: inline-flex; flex: 0 0 auto; }

    .topbar nav {
        display: none;
        order: 3;
        width: 100%;
        flex: 0 0 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 3px;
        overflow: visible;
        white-space: normal;
        padding: 8px;
        margin-top: 1px;
        border: 1px solid rgba(255,255,255,.10);
        border-radius: 13px;
        background: rgba(3,31,52,.34);
    }
    .topbar nav.is-open { display: flex; }
    .topbar nav > a,
    .nav-dropdown > summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 43px;
        padding: 10px 12px;
        border-radius: 9px;
        font-size: 14px;
    }
    .topbar nav > a:hover,
    .nav-dropdown > summary:hover,
    .nav-dropdown[open] > summary { background: rgba(255,255,255,.10); }

    .nav-dropdown { width: 100%; }
    .nav-dropdown-menu {
        position: static;
        width: 100%;
        margin: 3px 0 5px;
        padding: 5px 7px 7px 18px;
        border: 0;
        border-left: 2px solid rgba(255,255,255,.18);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }
    .topbar .nav-dropdown-menu a {
        color: #eef6fc;
        min-height: 39px;
        padding: 9px 11px;
        font-size: 13px;
        font-weight: 700;
    }
    .topbar .nav-dropdown-menu a:hover {
        color: #fff;
        background: rgba(255,255,255,.09);
    }
}

@media (max-width: 560px) {
    .topbar { padding-left: 12px; padding-right: 12px; }
    .topbar .brand { font-size: 16px; }
    .developer-brand--top { display: none; }
    .mobile-menu-toggle { padding: 8px 11px; }
}

/* =========================================================
   Havajet PDKS - V7.0 brand/theme overrides
   ========================================================= */
:root {
    --havajet-blue: #0b6eaa;
    --havajet-blue-dark: #084c78;
    --havajet-sky: #19a9df;
    --havajet-ice: #eef8fc;
    --havajet-border: #cfe5f0;
    --havajet-text: #14364a;
}

.havajet-admin-body,
.havajet-body { background: linear-gradient(180deg, #f4fbfe 0%, #eef5f8 100%); color: var(--havajet-text); }

.havajet-admin-topbar {
    background: linear-gradient(105deg, #ffffff 0%, #f4fbfe 62%, #e6f6fc 100%);
    border-bottom: 3px solid var(--havajet-sky);
    box-shadow: 0 8px 28px rgba(8, 76, 120, .10);
}
.havajet-admin-brand { display:flex; align-items:center; gap:14px; text-decoration:none; color:var(--havajet-blue-dark); }
.havajet-admin-brand img { width:142px; max-height:48px; object-fit:contain; }
.havajet-admin-brand span { display:flex; flex-direction:column; line-height:1.05; }
.havajet-admin-brand strong { font-size:1.15rem; letter-spacing:.08em; }
.havajet-admin-brand small { margin-top:5px; font-size:.66rem; letter-spacing:.04em; color:#688596; }
.havajet-admin-topbar nav > a:hover,
.havajet-admin-topbar nav > details > summary:hover { color:var(--havajet-blue); }

.havajet-dashboard-hero {
    display:flex; justify-content:space-between; align-items:center; gap:24px; padding:28px 30px; margin-bottom:22px;
    border-radius:22px; background:linear-gradient(120deg, #073e63 0%, #0b6eaa 58%, #18a7dc 100%); color:#fff;
    box-shadow:0 18px 38px rgba(8,76,120,.20); overflow:hidden; position:relative;
}
.havajet-dashboard-hero:after { content:""; position:absolute; width:260px; height:260px; border:45px solid rgba(255,255,255,.07); border-radius:50%; right:-80px; top:-105px; }
.havajet-dashboard-hero h2 { margin:3px 0 8px; font-size:clamp(1.5rem,3vw,2.25rem); }
.havajet-dashboard-hero p { margin:0; max-width:680px; color:rgba(255,255,255,.84); }
.havajet-dashboard-hero .report-section-kicker { color:#9fe2ff; }
.havajet-dashboard-hero .btn { position:relative; z-index:1; background:#fff; color:var(--havajet-blue-dark); border-color:#fff; white-space:nowrap; }

.pdks-stats-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
.pdks-stats-grid .stat-card { border-top:3px solid var(--havajet-sky); }
.personnel-admin-layout { align-items:start; }
.person-name-line { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.person-type-badge { display:inline-flex; align-items:center; padding:4px 9px; border-radius:999px; font-size:.72rem; font-weight:800; letter-spacing:.02em; }
.person-type-badge.type-teacher { background:#e8f7fd; color:#096e9f; border:1px solid #bce7f7; }
.person-type-badge.type-personnel { background:#edf2fb; color:#465d91; border:1px solid #d2dcf3; }
.segmented-filter { display:flex; gap:4px; padding:4px; background:#eef5f8; border-radius:12px; }
.segmented-filter a { padding:7px 10px; border-radius:9px; text-decoration:none; color:#557181; font-size:.78rem; font-weight:800; }
.segmented-filter a.active { background:#fff; color:var(--havajet-blue); box-shadow:0 2px 8px rgba(8,76,120,.10); }

.havajet-patrol-topbar { align-items:center; padding:14px 16px; border-bottom:3px solid var(--havajet-sky); }
.havajet-patrol-brand { display:flex; align-items:center; gap:12px; color:var(--havajet-blue-dark); text-decoration:none; }
.havajet-patrol-brand img { width:132px; max-height:46px; object-fit:contain; }
.havajet-patrol-brand div { display:flex; flex-direction:column; }
.havajet-patrol-brand strong { font-size:1.1rem; letter-spacing:.09em; }
.havajet-patrol-brand span { font-size:.64rem; color:#668293; margin-top:3px; }
.havajet-login-card { border-top:4px solid var(--havajet-sky); box-shadow:0 18px 45px rgba(8,76,120,.14); }
.havajet-user-card { border-left:4px solid var(--havajet-sky); }
.havajet-user-card small { display:block; margin-top:4px; color:#718996; }
.remember-code-row { display:flex !important; align-items:flex-start; gap:10px; padding:12px 13px; background:var(--havajet-ice); border:1px solid var(--havajet-border); border-radius:12px; cursor:pointer; }
.remember-code-row input { width:20px; height:20px; margin-top:1px; flex:0 0 auto; accent-color:var(--havajet-blue); }
.remember-code-row span { display:flex; flex-direction:column; gap:2px; }
.remember-code-row strong { font-size:.92rem; }
.remember-code-row small { color:#6b8492; }
.install-help-havajet-logo { width:190px; max-width:70%; display:block; margin:0 auto 12px; }
.auth-havajet-logo, .setup-havajet-logo { width:220px; max-width:82%; display:block; margin:0 auto 14px; }
.auth-system-name { text-align:center; color:var(--havajet-blue); font-weight:900; letter-spacing:.16em; font-size:.77rem; margin-bottom:8px; }

.btn-primary { background:linear-gradient(135deg,var(--havajet-blue),var(--havajet-sky)); border-color:var(--havajet-blue); }
.btn-primary:hover { filter:brightness(.96); }
.scan-badge { background:#e7f7fd; color:var(--havajet-blue-dark); border-color:#b9e5f5; }
.patrol-step { background:var(--havajet-blue); }
.patrol-action-entry.recommended, .patrol-action-exit.recommended { box-shadow:0 0 0 3px rgba(25,169,223,.18); }

@media (max-width: 1120px) {
    .pdks-stats-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .havajet-admin-brand span { display:none; }
}
@media (max-width: 760px) {
    .havajet-dashboard-hero { flex-direction:column; align-items:flex-start; padding:22px; }
    .pdks-stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .havajet-patrol-brand img { width:112px; }
    .havajet-patrol-brand span { display:none; }
    .havajet-admin-brand img { width:120px; }
    .segmented-filter { width:100%; overflow:auto; }
}

/* Havajet PDKS V7.0.1 - Admin menu contrast fix */
.havajet-admin-topbar nav > a,
.havajet-admin-topbar nav > details > summary {
    color: var(--havajet-blue-dark);
    font-weight: 650;
}
.havajet-admin-topbar nav > a:hover,
.havajet-admin-topbar nav > details > summary:hover,
.havajet-admin-topbar nav > details[open] > summary {
    color: var(--havajet-blue);
    background: rgba(11, 110, 170, .08);
}

/* =========================================================
   Havajet PDKS - V7.1 PDKS sadeleştirme ve rapor düzeni
   ========================================================= */
.pdks-report-filter-panel { padding: 22px 24px; }
.pdks-report-filter-head { margin-bottom: 18px; }
.pdks-report-filter-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    gap: 14px;
    align-items: end;
}
.pdks-report-filter-grid label,
.pdks-live-filter label { display:grid; gap:6px; font-weight:800; color:#34495e; font-size:.86rem; }
.pdks-report-filter-grid input,
.pdks-report-filter-grid select,
.pdks-live-filter select { margin:0; width:100%; }
.pdks-report-actions { grid-column: 1 / -1; display:flex; gap:10px; justify-content:flex-start; }
.pdks-report-actions .btn { min-width:150px; }
.pdks-report-stats { grid-template-columns: repeat(3,minmax(0,1fr)); margin:18px 0 22px; }
.pdks-report-stats .stat-card { min-height:112px; border-top:3px solid var(--havajet-sky); }
.pdks-report-results .panel-header { align-items:center; }
.pdks-report-results .table-wrap { border:1px solid #e4edf2; border-radius:14px; }
.pdks-report-results table { min-width:1180px; }
.pdks-report-results th { white-space:nowrap; background:#f5f9fb; }
.pdks-report-results td { vertical-align:middle; }

.pdks-live-hero { border-top:4px solid var(--havajet-sky); }
.pdks-live-stats { grid-template-columns:repeat(6,minmax(0,1fr)); margin:18px 0; }
.pdks-live-stats .stat-card { min-height:104px; }
.pdks-live-filter {
    display:grid;
    grid-template-columns: 1fr 1fr 1.2fr 1.25fr auto;
    gap:12px;
    align-items:end;
    padding:16px;
    background:#f7fafc;
    border:1px solid #e1ebf0;
    border-radius:14px;
}
.pdks-live-list-panel { margin-top:20px; }
.pdks-live-table { min-width:980px; }
.pdks-status { display:inline-flex; padding:5px 9px; border-radius:999px; font-weight:800; font-size:.75rem; white-space:nowrap; }
.pdks-status.status-open { color:#9a5b00; background:#fff4d9; border:1px solid #f1d393; }
.pdks-status.status-complete { color:#176b45; background:#e8f7ef; border:1px solid #bfe5d0; }

@media (max-width:1180px) {
    .pdks-report-filter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .pdks-live-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .pdks-live-filter { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .pdks-live-filter .filter-actions { grid-column:1 / -1; }
}
@media (max-width:720px) {
    .pdks-report-filter-panel { padding:18px; }
    .pdks-report-filter-grid { grid-template-columns:1fr; }
    .pdks-report-actions { grid-column:auto; }
    .pdks-report-actions .btn { min-width:0; flex:1; }
    .pdks-report-stats { grid-template-columns:1fr; }
    .pdks-live-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .pdks-live-filter { grid-template-columns:1fr; }
    .pdks-live-filter .filter-actions { grid-column:auto; display:flex; gap:8px; }
}
