/* ==========================================================================
   REM Mühendislik — Yönetim Paneli
   Yoğun, işlevsel, sakin. Katmanlar: tokens → base → layout → components
   ========================================================================== */

/* ---------- Tokens ---------------------------------------------------- */
:root {
	--font-ui: "Geist", ui-sans-serif, -apple-system, "Segoe UI", system-ui, sans-serif;
	--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

	--bg: #f6f6f3;
	--surface: #ffffff;
	--surface-2: #fafaf8;
	--sunken: #f0efeb;
	--hover: #efeeea;
	--active: #e8e7e2;
	--border: #e6e5e0;
	--border-strong: #d5d4ce;
	--text: #17171a;
	--text-2: #3b3a37;
	--muted: #6a6964;
	--subtle: #9c9a94;
	--inverse: #14190f;
	--on-inverse: #ffffff;

	/* Marka yeşili */
	--accent: #0a8a12;
	--accent-hover: #077a0e;
	--accent-soft: #e9f5ea;
	--accent-text: #066b0c;
	--success: #1d7a4b;
	--success-soft: #e7f3ec;
	--warning: #9c5605;
	--warning-soft: #fbf0e1;
	--danger: #c0341d;
	--danger-hover: #a52b17;
	--danger-soft: #fcece8;
	--info: #2f4fd8;
	--info-soft: #eef1fd;

	--ring: 0 0 0 2px var(--surface), 0 0 0 4px rgb(10 138 18 / .5);
	--ring-danger: 0 0 0 2px var(--surface), 0 0 0 4px rgb(192 52 29 / .45);

	--fs-2xs: 11px;
	--fs-xs: 12px;
	--fs-sm: 13px;
	--fs-md: 14px;
	--fs-lg: 16px;
	--fs-xl: 20px;
	--fs-2xl: 26px;

	--r-sm: 5px;
	--r: 7px;
	--r-lg: 10px;

	--shadow-xs: 0 1px 1px rgb(20 20 18 / .04);
	--shadow-pop: 0 0 0 1px rgb(20 20 18 / .06), 0 2px 4px rgb(20 20 18 / .04), 0 12px 32px -8px rgb(20 20 18 / .16);
	--shadow-dialog: 0 0 0 1px rgb(20 20 18 / .06), 0 24px 64px -16px rgb(20 20 18 / .28);

	--side-w: 252px;
	--top-h: 52px;
	--content-max: 1180px;

	--ease: cubic-bezier(.2, .7, .1, 1);
	--ease-in: cubic-bezier(.4, 0, 1, 1);
	--dur-1: 120ms;
	--dur-2: 200ms;
	--dur-3: 320ms;

	color-scheme: light;
}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--bg: #0f0f10; --surface: #161618; --surface-2: #1a1a1c; --sunken: #121213; --hover: #1f1f22; --active: #26262a;
		--border: #262629; --border-strong: #34343a; --text: #ededeb; --text-2: #cfcecb; --muted: #9a9993; --subtle: #6c6b67;
		--inverse: #ededeb; --on-inverse: #111112;
		--accent: #3fbf4a; --accent-hover: #55cd5f; --accent-soft: #13261a; --accent-text: #7fd987;
		--success: #4cc08a; --success-soft: #10271c; --warning: #e3a04a; --warning-soft: #2b1f0e;
		--danger: #f07a64; --danger-hover: #ff8f7a; --danger-soft: #2e1510; --info: #8ea2ff; --info-soft: #1b2040;
		--ring: 0 0 0 2px var(--surface), 0 0 0 4px rgb(63 191 74 / .55);
		--shadow-pop: 0 0 0 1px rgb(255 255 255 / .06), 0 12px 32px -8px rgb(0 0 0 / .6);
		--shadow-dialog: 0 0 0 1px rgb(255 255 255 / .07), 0 24px 64px -16px rgb(0 0 0 / .7);
		color-scheme: dark;
	}
}
:root[data-theme="dark"] {
	--bg: #0f0f10; --surface: #161618; --surface-2: #1a1a1c; --sunken: #121213; --hover: #1f1f22; --active: #26262a;
	--border: #262629; --border-strong: #34343a; --text: #ededeb; --text-2: #cfcecb; --muted: #9a9993; --subtle: #6c6b67;
	--inverse: #ededeb; --on-inverse: #111112;
	--accent: #3fbf4a; --accent-hover: #55cd5f; --accent-soft: #13261a; --accent-text: #7fd987;
	--success: #4cc08a; --success-soft: #10271c; --warning: #e3a04a; --warning-soft: #2b1f0e;
	--danger: #f07a64; --danger-hover: #ff8f7a; --danger-soft: #2e1510; --info: #8ea2ff; --info-soft: #1b2040;
	--ring: 0 0 0 2px var(--surface), 0 0 0 4px rgb(63 191 74 / .55);
	--shadow-pop: 0 0 0 1px rgb(255 255 255 / .06), 0 12px 32px -8px rgb(0 0 0 / .6);
	--shadow-dialog: 0 0 0 1px rgb(255 255 255 / .07), 0 24px 64px -16px rgb(0 0 0 / .7);
	color-scheme: dark;
}

/* ---------- Base ------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body.ym {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font: 400 var(--fs-md)/1.5 var(--font-ui);
	font-feature-settings: "ss01", "cv11";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.ym h1, .ym h2, .ym h3, .ym h4, .ym p, .ym dl, .ym dd, .ym figure { margin: 0; }
.ym img, .ym svg, .ym video { max-width: 100%; }
.ym button, .ym input, .ym select, .ym textarea { font: inherit; color: inherit; }
.ym button { cursor: pointer; }
.ym a { color: inherit; text-decoration: none; }
.ym :focus { outline: none; }
.ym :focus-visible { box-shadow: var(--ring); border-radius: var(--r-sm); }
::selection { background: rgb(10 138 18 / .18); }
.yi { display: inline-block; flex: none; vertical-align: middle; }
[hidden] { display: none !important; }
.ym-subtle { color: var(--subtle); }
.ym-mono { font-family: var(--font-mono); font-size: .92em; letter-spacing: -.01em; }
.ym-tabular { font-variant-numeric: tabular-nums; }

.ym-skip {
	position: fixed; left: 12px; top: -48px; z-index: 1000;
	background: var(--inverse); color: var(--on-inverse) !important; padding: 8px 12px; border-radius: var(--r);
	transition: top var(--dur-2) var(--ease);
}
.ym-skip:focus { top: 12px; }

/* ---------- App layout ------------------------------------------------ */
.ym-app { display: grid; grid-template-columns: var(--side-w) minmax(0, 1fr); min-height: 100vh; min-height: 100dvh; }

.ym-side {
	position: sticky; top: 0; z-index: 40;
	height: 100vh; height: 100dvh;
	display: flex; flex-direction: column;
	padding: 10px 10px 8px;
	border-right: 1px solid var(--border);
	background: var(--bg);
}
.ym-main { min-width: 0; display: flex; flex-direction: column; background: var(--surface); }

.ym-top {
	position: sticky; top: 0; z-index: 30;
	height: var(--top-h);
	display: flex; align-items: center; gap: 12px;
	padding: 0 20px;
	background: color-mix(in srgb, var(--surface) 88%, transparent);
	backdrop-filter: saturate(1.4) blur(10px);
	-webkit-backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid var(--border);
}
.ym-top-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.ym-burger { display: none; }

.ym-content { flex: 1; width: 100%; max-width: var(--content-max); margin: 0 auto; padding: 28px 32px 64px; }

/* ---------- Sidebar --------------------------------------------------- */
.ym-site {
	display: flex; align-items: center; gap: 10px;
	padding: 6px 8px 6px 6px; border-radius: var(--r);
	border: 1px solid transparent;
	transition: background var(--dur-1);
}
.ym-site:hover { background: var(--hover); }
.ym-site-avatar {
	width: 28px; height: 28px; flex: none; display: grid; place-items: center;
	border-radius: 6px; background: #fff; overflow: hidden;
	box-shadow: inset 0 0 0 1px rgb(0 0 0 / .08);
}
.ym-site-avatar img { width: 22px; height: 22px; object-fit: contain; }
.ym-site-meta { min-width: 0; flex: 1; line-height: 1.25; }
.ym-site-name { display: block; font-weight: 550; font-size: var(--fs-md); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ym-site-host { display: block; font-size: var(--fs-xs); color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.ym-nav { flex: 1; min-height: 0; overflow-y: auto; margin: 0 -10px; padding: 4px 10px 12px; scrollbar-width: thin; }
.ym-nav-group { display: grid; gap: 1px; margin-top: 18px; }
.ym-nav-label { padding: 0 8px; margin-bottom: 4px !important; height: 22px; display: flex; align-items: center; font-size: var(--fs-xs); font-weight: 500; color: var(--subtle); }
.ym-nav-link {
	position: relative;
	display: flex; align-items: center; gap: 10px;
	height: 30px; padding: 0 8px;
	border-radius: var(--r-sm);
	color: var(--text-2) !important;
	font-size: var(--fs-md);
	transition: background var(--dur-1), color var(--dur-1);
}
.ym-nav-link span { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ym-nav-link .yi { color: var(--muted); }
.ym-nav-link:hover { background: var(--hover); color: var(--text) !important; }
.ym-nav-link[aria-current="page"] { background: var(--active); color: var(--text) !important; font-weight: 500; }
.ym-nav-link[aria-current="page"] .yi { color: var(--text); }
.ym-nav-count {
	margin-left: auto; min-width: 18px; height: 18px; padding: 0 5px;
	display: inline-grid; place-items: center; border-radius: 9px;
	font-style: normal; font-size: var(--fs-2xs); font-weight: 600;
	background: var(--accent); color: #fff;
}
:root[data-theme="dark"] .ym-nav-count { color: #0b1a0c; }

.ym-side-foot { display: grid; gap: 4px; border-top: 1px solid var(--border); margin: 0 -10px; padding: 8px 10px 0; }
.ym-user-btn {
	display: flex; align-items: center; gap: 10px; width: 100%;
	padding: 6px 8px; border: 0; border-radius: var(--r); background: none; text-align: left;
}
.ym-user-btn:hover, .ym-user-btn[aria-expanded="true"] { background: var(--hover); }
.ym-user-meta { min-width: 0; flex: 1; line-height: 1.25; }
.ym-user-name { display: block; font-weight: 500; font-size: var(--fs-sm); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ym-user-mail { display: block; font-size: var(--fs-xs); color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ym-avatar {
	width: 26px; height: 26px; flex: none;
	display: inline-grid; place-items: center;
	border-radius: 50%;
	background: var(--sunken); color: var(--text-2);
	font-size: var(--fs-2xs); font-weight: 600; letter-spacing: .02em;
	box-shadow: inset 0 0 0 1px var(--border);
}
.ym-avatar--lg { width: 32px; height: 32px; font-size: var(--fs-xs); }

/* ---------- Dropdown menu --------------------------------------------- */
.ym-menu-host { position: relative; }
.ym-menu {
	position: absolute; z-index: 60;
	min-width: 220px; padding: 4px;
	border-radius: var(--r-lg);
	background: var(--surface);
	box-shadow: var(--shadow-pop);
	animation: ym-pop var(--dur-2) var(--ease);
}
.ym-menu--up { left: 0; right: 0; bottom: calc(100% + 6px); transform-origin: bottom left; }
.ym-menu form { margin: 0; }
.ym-menu-label { padding: 6px 8px 4px; font-size: var(--fs-xs); color: var(--subtle); font-weight: 500; }
.ym-menu-item {
	display: flex; align-items: center; gap: 10px; width: 100%;
	min-height: 32px; padding: 0 8px;
	border: 0; border-radius: var(--r-sm); background: none;
	text-align: left; font-size: var(--fs-md); color: var(--text-2) !important;
}
.ym-menu-item .yi { color: var(--muted); }
.ym-menu-item:hover, .ym-menu-item:focus-visible { background: var(--hover); color: var(--text) !important; box-shadow: none; }
.ym-menu-item[aria-checked="true"]::after { content: ""; margin-left: auto; width: 6px; height: 6px; border-radius: 50%; background: var(--text); }
.ym-menu-sep { height: 1px; margin: 4px -4px; background: var(--border); }
@keyframes ym-pop { from { opacity: 0; transform: scale(.97) translateY(2px); } }

/* ---------- Breadcrumb ------------------------------------------------ */
.ym-crumb { min-width: 0; font-size: var(--fs-md); }
.ym-crumb ol { display: flex; align-items: center; gap: 6px; list-style: none; margin: 0; padding: 0; min-width: 0; }
.ym-crumb li { display: flex; align-items: center; gap: 6px; min-width: 0; color: var(--muted); white-space: nowrap; }
.ym-crumb li > * { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ym-crumb li:last-child { flex: 1; }
.ym-crumb li + li::before { content: "/"; color: var(--border-strong); }
.ym-crumb a:hover { color: var(--text); }
.ym-crumb [aria-current="page"] { color: var(--text); font-weight: 500; }

/* ---------- Page header ----------------------------------------------- */
.ym-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.ym-page-head h1 { font-size: var(--fs-2xl); line-height: 1.15; font-weight: 600; letter-spacing: -.022em; overflow-wrap: anywhere; }
.ym-page-head p { margin-top: 6px !important; color: var(--muted); max-width: 64ch; text-wrap: pretty; }
.ym-page-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; align-items: center; }
.ym-page-actions form { margin: 0; }

.ym-toolbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.ym-toolbar .ym-spacer { flex: 1; }
.ym-help { font-size: var(--fs-sm); color: var(--muted); margin: 6px 0 0; }
.ym-help .yi { vertical-align: -2px; margin-right: 2px; }
.ym-help a, .ym-link { color: var(--text); text-decoration: underline; text-decoration-color: var(--border-strong); text-underline-offset: 3px; }
.ym-help a:hover, .ym-link:hover { text-decoration-color: currentColor; }

/* ---------- Buttons --------------------------------------------------- */
.ym-btn {
	--_h: 32px;
	position: relative;
	display: inline-flex; align-items: center; justify-content: center; gap: 7px;
	height: var(--_h); padding: 0 12px;
	border: 1px solid var(--border-strong);
	border-radius: var(--r);
	background: var(--surface);
	color: var(--text) !important;
	font-size: var(--fs-md); font-weight: 500; line-height: 1;
	white-space: nowrap; text-decoration: none;
	box-shadow: var(--shadow-xs);
	transition: background var(--dur-1), border-color var(--dur-1), color var(--dur-1), transform var(--dur-1);
	user-select: none; -webkit-tap-highlight-color: transparent;
}
.ym-btn:hover { background: var(--surface-2); border-color: var(--subtle); }
.ym-btn:active { transform: translateY(1px); }
.ym-btn:focus-visible { box-shadow: var(--ring); border-radius: var(--r); }
.ym-btn .yi { margin-inline: -2px; }
.ym-btn--light { /* varsayılan görünüm */ }
.ym-btn--primary { background: var(--inverse); border-color: var(--inverse); color: var(--on-inverse) !important; box-shadow: none; }
.ym-btn--primary:hover { background: color-mix(in srgb, var(--inverse) 86%, var(--bg)); border-color: transparent; }
.ym-btn--accent { background: var(--accent); border-color: var(--accent); color: #fff !important; box-shadow: none; }
.ym-btn--accent:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.ym-btn--ghost { background: none; border-color: transparent; box-shadow: none; color: var(--text-2) !important; }
.ym-btn--ghost:hover { background: var(--hover); border-color: transparent; color: var(--text) !important; }
.ym-btn--danger { background: none; border-color: transparent; box-shadow: none; color: var(--danger) !important; }
.ym-btn--danger:hover { background: var(--danger-soft); border-color: transparent; }
.ym-btn--danger:focus-visible { box-shadow: var(--ring-danger); }
.ym-btn--danger-solid { background: var(--danger); border-color: var(--danger); color: #fff !important; box-shadow: none; }
.ym-btn--danger-solid:hover { background: var(--danger-hover); border-color: var(--danger-hover); }
.ym-btn--sm { --_h: 28px; padding: 0 10px; font-size: var(--fs-sm); gap: 6px; }
.ym-btn--lg { --_h: 40px; padding: 0 16px; }
.ym-btn--block { width: 100%; }
.ym-btn--icon { width: var(--_h); padding: 0; }
.ym-btn:disabled { opacity: .5; pointer-events: none; box-shadow: none; }
.ym-btn.is-loading { color: transparent !important; pointer-events: none; }
.ym-btn.is-loading > * { visibility: hidden; }
.ym-btn.is-loading::after {
	content: ""; position: absolute; inset: 0; margin: auto;
	width: 14px; height: 14px; border-radius: 50%;
	border: 1.75px solid var(--text); border-right-color: transparent;
	animation: ym-spin .6s linear infinite;
}
.ym-btn--primary.is-loading::after { border-color: var(--on-inverse); border-right-color: transparent; }
@keyframes ym-spin { to { transform: rotate(360deg); } }

/* ---------- Alerts & toasts ------------------------------------------- */
.ym-alert {
	display: flex; gap: 10px; align-items: flex-start;
	padding: 10px 12px; margin-bottom: 20px; border-radius: var(--r);
	font-size: var(--fs-md);
	background: var(--sunken); color: var(--text-2);
	border: 1px solid var(--border);
}
.ym-alert > .yi { margin-top: 2px; }
.ym-alert span { flex: 1; }
.ym-alert--err { background: var(--danger-soft); color: var(--danger); border-color: transparent; }
.ym-alert--ok { background: var(--success-soft); color: var(--success); border-color: transparent; }
.ym-alert-close { border: 0; background: none; padding: 2px; color: inherit; opacity: .7; border-radius: var(--r-sm); }
.ym-alert-close:hover { opacity: 1; }

.ym-toasts { position: fixed; z-index: 200; right: 16px; bottom: 16px; display: grid; gap: 8px; justify-items: end; pointer-events: none; }
.ym-toast {
	pointer-events: auto;
	display: flex; align-items: center; gap: 10px;
	min-width: 280px; max-width: 420px;
	padding: 10px 10px 10px 14px;
	border-radius: var(--r-lg);
	background: var(--inverse); color: var(--on-inverse);
	box-shadow: 0 12px 32px -8px rgb(0 0 0 / .35);
	font-size: var(--fs-md);
	animation: ym-toast-in var(--dur-3) var(--ease);
}
.ym-toast.is-leaving { animation: ym-toast-out var(--dur-2) var(--ease-in) forwards; }
.ym-toast .ym-toast-icon { display: flex; color: #5fd49a; }
.ym-toast--err .ym-toast-icon { color: #ff8a73; }
:root[data-theme="dark"] .ym-toast .ym-toast-icon { color: var(--success); }
:root[data-theme="dark"] .ym-toast--err .ym-toast-icon { color: var(--danger); }
.ym-toast-msg { flex: 1; min-width: 0; }
.ym-toast-close { display: flex; border: 0; background: none; color: inherit; opacity: .6; padding: 4px; border-radius: var(--r-sm); }
.ym-toast-close:hover { opacity: 1; }
@keyframes ym-toast-in { from { opacity: 0; transform: translateY(8px) scale(.98); } }
@keyframes ym-toast-out { to { opacity: 0; transform: translateY(4px) scale(.98); } }

/* ---------- Surfaces -------------------------------------------------- */
.ym-card { border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface); min-width: 0; }
.ym-card + .ym-card { margin-top: 16px; }
.ym-card-head {
	display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
	min-height: 50px; padding: 10px 18px; border-bottom: 1px solid var(--border);
}
.ym-card-head h2 { font-size: var(--fs-md); font-weight: 600; display: flex; align-items: center; gap: 8px; }
.ym-card-head p { color: var(--muted); font-size: var(--fs-sm); margin-top: 2px; }
.ym-card-body { padding: 18px; }
.ym-card-foot {
	display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap;
	padding: 12px 18px; border-top: 1px solid var(--border);
	background: var(--surface-2); border-radius: 0 0 var(--r-lg) var(--r-lg);
}
.ym-card-foot .ym-help { margin: 0 auto 0 0; }
.ym-card--danger { border-color: color-mix(in srgb, var(--danger) 30%, var(--border)); }
.ym-card--danger .ym-card-head h2 { color: var(--danger); }

/* ---------- Forms ----------------------------------------------------- */
.ym-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; }
.ym-stack { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
.ym-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ym-field--full { grid-column: 1 / -1; }
.ym-field > .ym-help { margin-top: 0; }
.ym-label { font-size: var(--fs-sm); font-weight: 500; color: var(--text-2); display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ym-label .req { color: var(--danger); margin-right: auto; }
.ym-counter { font-weight: 400; font-size: var(--fs-xs); color: var(--subtle); font-variant-numeric: tabular-nums; }
.ym-counter.is-over { color: var(--danger); }

.ym-input, .ym-select, .ym-textarea {
	width: 100%; height: 34px; padding: 0 10px;
	border: 1px solid var(--border-strong); border-radius: var(--r);
	background: var(--surface); color: var(--text);
	font-size: var(--fs-md);
	box-shadow: var(--shadow-xs);
	transition: border-color var(--dur-1), box-shadow var(--dur-1);
}
.ym-textarea { height: auto; min-height: 88px; padding: 8px 10px; line-height: 1.5; resize: vertical; }
.ym-textarea--code { font-family: var(--font-mono); font-size: var(--fs-sm); }
.ym-select {
	appearance: none; -webkit-appearance: none; padding-right: 30px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%239c9a94' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='m7 15 5 5 5-5M7 9l5-5 5 5'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 8px center;
}
.ym-input::placeholder, .ym-textarea::placeholder { color: var(--subtle); }
.ym-input:hover, .ym-select:hover, .ym-textarea:hover { border-color: var(--subtle); }
.ym-input:focus, .ym-select:focus, .ym-textarea:focus { border-color: var(--accent); box-shadow: var(--ring); border-radius: var(--r); }
.ym-input:disabled, .ym-select:disabled, .ym-textarea:disabled { background: var(--sunken); color: var(--muted); cursor: not-allowed; }
.ym-input--lg { height: 40px; font-size: var(--fs-lg); font-weight: 500; }

.ym-input-group { display: flex; align-items: stretch; min-width: 0; }
.ym-input-group .ym-prefix {
	display: flex; align-items: center; padding: 0 10px;
	border: 1px solid var(--border-strong); border-right: 0; border-radius: var(--r) 0 0 var(--r);
	background: var(--sunken); color: var(--muted); font-size: var(--fs-sm); font-family: var(--font-mono); white-space: nowrap;
}
.ym-input-group .ym-input { border-radius: 0 var(--r) var(--r) 0; min-width: 0; }

.ym-switch { position: relative; display: inline-flex; align-items: center; gap: 10px; max-width: 100%; cursor: pointer; font-weight: 500; user-select: none; }
.ym-switch input { position: absolute; opacity: 0; pointer-events: none; }
.ym-switch .track { width: 30px; height: 18px; border-radius: 9px; background: var(--border-strong); position: relative; flex: none; transition: background var(--dur-2) var(--ease); }
.ym-switch .track::after { content: ""; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgb(0 0 0 / .2); transition: transform var(--dur-2) var(--ease); }
.ym-switch input:checked + .track { background: var(--accent); }
.ym-switch input:checked + .track::after { transform: translateX(12px); }
.ym-switch input:focus-visible + .track { box-shadow: var(--ring); }

/* Görsel alanı */
.ym-image { display: flex; gap: 14px; align-items: flex-start; flex-wrap: wrap; }
.ym-image-preview {
	width: 200px; aspect-ratio: 16 / 10; flex: none;
	display: grid; place-items: center; overflow: hidden;
	border-radius: var(--r); border: 1px solid var(--border);
	background: repeating-linear-gradient(135deg, var(--sunken) 0 6px, var(--hover) 6px 12px);
	color: var(--subtle);
}
.ym-image-preview img { width: 100%; height: 100%; object-fit: cover; }
.ym-image-preview--contain { background: var(--surface-2); }
.ym-image-preview--contain img { object-fit: contain; }
.ym-image-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; flex: 1; min-width: min(200px, 100%); }
.ym-image-actions .ym-help { margin: 0; }
.ym-file { position: relative; overflow: hidden; }
.ym-file input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.ym-file-name:empty { display: none; }

/* İkon seçici (sitedeki hizmet ikonları) */
.ym-icon-row { display: flex; gap: 8px; align-items: center; }
.ym-icon-picks { display: grid; grid-template-columns: repeat(auto-fill, 32px); gap: 4px; margin-top: 4px; }
.ym-icon-picks button { width: 32px; height: 32px; border-radius: var(--r-sm); border: 1px solid transparent; background: none; color: var(--muted); font-size: 14px; display: grid; place-items: center; }
.ym-icon-picks button:hover { background: var(--hover); color: var(--text); }
.ym-icon-picks button.is-on { border-color: var(--accent); background: var(--accent-soft); color: var(--accent-text); }
.ym-icon-preview { width: 34px; height: 34px; flex: 0 0 34px; border-radius: var(--r); background: var(--accent); color: #fff; display: grid; place-items: center; font-size: 15px; }

/* Tekrarlanan satırlar */
.ym-repeat { display: grid; gap: 8px; }
.ym-repeat-list { display: grid; gap: 8px; }
.ym-repeat-row {
	display: grid; grid-template-columns: 22px minmax(0, 1fr) 28px; gap: 8px; align-items: start;
	padding: 10px; border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface-2);
}
.ym-repeat-row.is-dragging { opacity: .5; }
.ym-repeat-row .cols { display: grid; gap: 8px; }
.ym-repeat-row .cols.c2 { grid-template-columns: 1fr 1fr; }
.ym-repeat-row .cols.c3 { grid-template-columns: 1fr 1fr 2fr; }
.ym-repeat-row .cols.c4 { grid-template-columns: 1fr 1fr 80px 2fr; }
.ym-repeat-row .cols.cqa { grid-template-columns: 1fr; }
.ym-repeat-row .handle, .ym-handle { cursor: grab; color: var(--subtle); display: flex; justify-content: center; }
.ym-repeat-row .handle { padding-top: 8px; }
.ym-handle:hover, .ym-repeat-row .handle:hover { color: var(--text); }
.ym-repeat-empty { padding: 20px; text-align: center; border: 1px dashed var(--border-strong); border-radius: var(--r-lg); color: var(--muted); font-size: var(--fs-sm); }

/* ---------- Table ----------------------------------------------------- */
.ym-table-wrap { overflow-x: auto; }
.ym-card > .ym-table-wrap:first-child .ym-table th:first-child { border-top-left-radius: var(--r-lg); }
.ym-card > .ym-table-wrap:first-child .ym-table th:last-child { border-top-right-radius: var(--r-lg); }
.ym-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: var(--fs-md); }
.ym-table th {
	text-align: left; font-weight: 500; font-size: var(--fs-xs); color: var(--muted);
	height: 36px; padding: 0 14px; background: var(--surface-2); border-bottom: 1px solid var(--border);
	white-space: nowrap;
}
.ym-table td { height: 52px; padding: 8px 14px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.ym-table tr:last-child td { border-bottom: 0; }
.ym-table tbody tr { transition: background var(--dur-1); }
.ym-table tbody tr:hover { background: var(--surface-2); }
.ym-table tr.is-dragging { opacity: .5; background: var(--accent-soft); }
.ym-table tr.is-unread .ym-strong { font-weight: 600; }
.ym-table tr.is-unread td:first-child { box-shadow: inset 2px 0 0 var(--accent); }
.ym-table .ym-handle { width: 36px; padding-right: 0; }
.ym-row-main { display: flex; align-items: center; gap: 12px; min-width: 0; }
.ym-row-main > div { min-width: 0; }
.ym-thumb { width: 56px; height: 40px; border-radius: var(--r-sm); object-fit: cover; background: var(--sunken); display: block; flex: none; box-shadow: inset 0 0 0 1px var(--border); }
.ym-thumb--doc { object-fit: contain; background: var(--surface-2); }
.ym-strong { font-weight: 500; color: var(--text); }
a.ym-strong:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--border-strong); }
.ym-sub { display: block; font-size: var(--fs-sm); color: var(--muted); margin-top: 1px; }
.ym-sub .yi { vertical-align: -2px; }
.ym-actions { display: flex; gap: 4px; justify-content: flex-end; align-items: center; white-space: nowrap; }
.ym-actions form { margin: 0; }
.ym-svc-ico { color: var(--accent); margin-right: 6px; font-size: 13px; }

/* Rozetler */
.ym-pill {
	display: inline-flex; align-items: center; gap: 5px;
	height: 22px; padding: 0 8px;
	border-radius: 11px; border: 1px solid var(--border);
	font-size: var(--fs-xs); font-weight: 500; line-height: 1; white-space: nowrap;
	background: var(--sunken); color: var(--text-2);
}
.ym-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--subtle); flex: none; }
.ym-pill--ok { background: var(--success-soft); color: var(--success); border-color: transparent; }
.ym-pill--ok::before { background: var(--success); }
.ym-pill--off { background: var(--sunken); color: var(--muted); }
.ym-pill--new { background: var(--warning-soft); color: var(--warning); border-color: transparent; }
.ym-pill--new::before { background: var(--warning); }
.ym-pill--info { background: var(--info-soft); color: var(--info); border-color: transparent; }
.ym-pill--info::before { background: var(--info); }
.ym-pill--plain::before { display: none; }
button.ym-pill { cursor: pointer; transition: filter var(--dur-1); }
button.ym-pill:hover { filter: brightness(.96); }
.ym-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--subtle); flex: none; display: inline-block; }
.ym-dot--accent { background: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); }

/* Boş durum */
.ym-state, .ym-empty { display: grid; justify-items: center; text-align: center; gap: 6px; padding: 48px 24px; color: var(--muted); }
.ym-state-icon {
	width: 40px; height: 40px; display: grid; place-items: center; margin-bottom: 8px;
	border-radius: 10px; border: 1px solid var(--border); background: var(--surface); color: var(--muted);
	box-shadow: 0 1px 0 var(--border), 0 4px 12px -4px rgb(0 0 0 / .08);
}
.ym-state-title { font-size: var(--fs-lg); font-weight: 600; letter-spacing: -.01em; color: var(--text); }
.ym-state-text { max-width: 44ch; text-wrap: pretty; }
.ym-state-actions { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; justify-content: center; }
.ym-state--compact { padding: 28px 16px; }

.ym-pager { display: flex; gap: 4px; justify-content: center; padding: 12px; border-top: 1px solid var(--border); flex-wrap: wrap; }
.ym-pager a, .ym-pager span { min-width: 30px; height: 30px; padding: 0 8px; border-radius: var(--r-sm); display: inline-flex; align-items: center; justify-content: center; font-size: var(--fs-sm); font-weight: 500; color: var(--text-2); font-variant-numeric: tabular-nums; }
.ym-pager a:hover { background: var(--hover); }
.ym-pager .is-active { background: var(--active); color: var(--text); }

/* Segmentli filtre */
.ym-filter { display: inline-flex; padding: 2px; gap: 2px; border-radius: var(--r); background: var(--sunken); border: 1px solid var(--border); max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.ym-filter a {
	display: inline-flex; align-items: center; gap: 6px;
	height: 26px; padding: 0 10px; border-radius: var(--r-sm);
	color: var(--muted); font-size: var(--fs-sm); font-weight: 500; white-space: nowrap;
	transition: background var(--dur-1), color var(--dur-1);
}
.ym-filter a:hover { color: var(--text); }
.ym-filter a.is-active { background: var(--surface); color: var(--text); box-shadow: 0 1px 2px rgb(0 0 0 / .08), 0 0 0 1px var(--border); }
.ym-filter .n { color: var(--subtle); font-variant-numeric: tabular-nums; }

.ym-search { position: relative; display: flex; align-items: center; min-width: 0; }
.ym-search > .yi { position: absolute; left: 10px; color: var(--subtle); pointer-events: none; }
.ym-search .ym-input { padding-left: 32px; width: 240px; max-width: 100%; }
.ym-search-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 0; }
.ym-search-row .ym-select { width: auto; }

/* ---------- Tabs ------------------------------------------------------ */
.ym-tabs { display: flex; gap: 2px; border-bottom: 1px solid var(--border); margin-bottom: 24px; overflow-x: auto; scrollbar-width: none; }
.ym-tabs::-webkit-scrollbar { display: none; }
.ym-tabs a {
	position: relative; display: inline-flex; align-items: center; gap: 6px;
	height: 38px; padding: 0 10px;
	color: var(--muted); font-size: var(--fs-md); font-weight: 500; white-space: nowrap;
}
.ym-tabs a:hover { color: var(--text); }
.ym-tabs a.is-active { color: var(--text); }
.ym-tabs a.is-active::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: -1px; height: 2px; background: var(--text); border-radius: 2px; }

/* Ayar blokları: sol açıklama, sağ form */
.ym-settings { display: grid; }
.ym-settings-block { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: 32px; padding: 24px 0; border-top: 1px solid var(--border); }
.ym-settings-block:first-child { border-top: 0; padding-top: 0; }
.ym-settings-block h2 { font-size: var(--fs-lg); font-weight: 600; letter-spacing: -.01em; }
.ym-settings-block > div:first-child p { color: var(--muted); font-size: var(--fs-sm); margin-top: 4px; text-wrap: pretty; }

/* Sabit kaydet çubuğu */
.ym-form-bar {
	position: sticky; bottom: 0; z-index: 5;
	display: flex; justify-content: flex-end; align-items: center; gap: 8px;
	margin: 24px -32px -64px; padding: 12px 32px;
	background: color-mix(in srgb, var(--surface) 92%, transparent);
	backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
	border-top: 1px solid var(--border);
}
.ym-form-bar .ym-help { margin: 0 auto 0 0; }
/* Ardından başka içerik gelen formlarda çubuk sayfa sonuna taşmasın */
.ym-form-bar.is-ara { margin-bottom: 0; border-radius: 0; }
.ym-save-state { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); color: var(--muted); margin-right: auto; }
.ym-save-state.is-dirty { color: var(--warning); }
.ym-save-state.is-dirty::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }

/* ---------- Genel bakış ----------------------------------------------- */
.ym-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 16px; border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface); overflow: hidden; }
.ym-stat { display: grid; gap: 2px; padding: 16px 18px; border-left: 1px solid var(--border); color: var(--text); transition: background var(--dur-1); min-width: 0; }
.ym-stat:first-child { border-left: 0; }
a.ym-stat:hover { background: var(--surface-2); }
.ym-stat-label { display: flex; align-items: center; gap: 6px; font-size: var(--fs-sm); color: var(--muted); }
.ym-stat-value { font-size: 26px; font-weight: 600; letter-spacing: -.02em; line-height: 1.2; font-variant-numeric: tabular-nums; }
.ym-stat-sub { font-size: var(--fs-xs); color: var(--subtle); }
.ym-stat--alert .ym-stat-value { color: var(--accent-text); }

.ym-grid-2 { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.ym-grid-2 > div > .ym-card + .ym-card { margin-top: 16px; }
.ym-grid-2--form { grid-template-columns: minmax(0, 1fr) 320px; }
.ym-grid-2--even { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.ym-sticky { position: sticky; top: calc(var(--top-h) + 16px); }

.ym-list { list-style: none; margin: 0; padding: 4px 0; }
.ym-list li { display: flex; align-items: center; gap: 12px; padding: 10px 18px; }
.ym-list li + li { border-top: 1px solid var(--border); }
.ym-list .grow { flex: 1; min-width: 0; }
.ym-list .grow .ym-strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ym-list-icon { width: 28px; height: 28px; flex: none; display: grid; place-items: center; border-radius: 6px; background: var(--sunken); color: var(--muted); }
.ym-list-meta { font-size: var(--fs-xs); color: var(--subtle); white-space: nowrap; }

.ym-quick { list-style: none; margin: 0; padding: 6px; display: grid; }
.ym-quick a { display: flex; align-items: center; gap: 10px; height: 36px; padding: 0 10px; border-radius: var(--r); color: var(--text-2); }
.ym-quick a .yi { color: var(--muted); }
.ym-quick a:hover { background: var(--hover); color: var(--text); }
.ym-quick a .ym-quick-arrow { margin-left: auto; opacity: 0; transition: opacity var(--dur-1); }
.ym-quick a:hover .ym-quick-arrow { opacity: 1; }

.ym-todo { list-style: none; margin: 0; padding: 6px; }
.ym-todo li { display: flex; align-items: flex-start; gap: 12px; padding: 10px 12px; border-radius: var(--r); }
.ym-todo strong { display: block; font-weight: 500; }
.ym-todo .ym-sub { font-size: var(--fs-sm); }
.ym-todo-dot { width: 8px; height: 8px; margin-top: 7px; border-radius: 50%; border: 1.5px solid var(--warning); flex: none; }
.ym-todo-ok { margin-top: 2px; color: var(--success); flex: none; }

/* ---------- Medya ----------------------------------------------------- */
.ym-media { display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 12px; margin-top: 16px; }
.ym-media-item { position: relative; border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden; background: var(--surface); }
.ym-media-item .img { aspect-ratio: 4 / 3; background: var(--surface-2); display: grid; place-items: center; padding: 10px; border-bottom: 1px solid var(--border); }
.ym-media-item img { max-width: 100%; max-height: 100%; object-fit: contain; }
.ym-media-item .img.cover { padding: 0; }
.ym-media-item .img.cover img { width: 100%; height: 100%; object-fit: cover; }
.ym-media-item .meta { display: flex; align-items: center; gap: 4px; padding: 6px; }
.ym-media-caption { flex: 1; min-width: 0; margin: 0; }
.ym-media-caption input { width: 100%; height: 28px; border: 1px solid transparent; border-radius: var(--r-sm); padding: 0 6px; font-size: var(--fs-sm); color: var(--text); background: transparent; text-overflow: ellipsis; transition: border-color var(--dur-1), background var(--dur-1); }
.ym-media-caption input:hover { border-color: var(--border); }
.ym-media-caption input:focus { border-color: var(--accent); background: var(--surface); box-shadow: var(--ring); }
.ym-drop {
	position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
	padding: 24px; border: 1px dashed var(--border-strong); border-radius: var(--r-lg);
	background: var(--surface-2); color: var(--muted); text-align: center; cursor: pointer;
	font-size: var(--fs-sm); transition: border-color var(--dur-1), background var(--dur-1);
}
.ym-drop .yi { color: var(--muted); margin-bottom: 4px; }
.ym-drop strong { color: var(--text); font-weight: 500; font-size: var(--fs-md); }
.ym-drop input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.ym-drop:hover { border-color: var(--subtle); }
.ym-drop.is-over { border-color: var(--accent); background: var(--accent-soft); }
.ym-asset { display: flex; gap: 16px; align-items: center; padding: 14px 18px; }
.ym-asset + .ym-asset { border-top: 1px solid var(--border); }
.ym-asset-preview { width: 120px; height: 72px; flex: none; display: grid; place-items: center; padding: 8px; border-radius: var(--r); border: 1px solid var(--border); background: var(--surface-2); }
.ym-asset-preview img { max-width: 100%; max-height: 100%; object-fit: contain; }
.ym-asset-preview--dark { background: #072b00; border-color: #072b00; }
.ym-asset-preview--square { width: 72px; }
.ym-asset-meta { flex: 1; min-width: 0; }
.ym-asset-meta strong { display: block; font-weight: 500; }
.ym-asset-meta p { font-size: var(--fs-sm); color: var(--muted); }
.ym-asset-actions { display: flex; gap: 4px; flex-wrap: wrap; justify-content: flex-end; }
.ym-asset-actions form { margin: 0; }

/* ---------- Talep detayı ---------------------------------------------- */
.ym-dl { display: grid; margin: 0; }
.ym-dl > div { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 16px; padding: 10px 18px; border-top: 1px solid var(--border); }
.ym-dl > div:first-child { border-top: 0; }
.ym-dl dt { color: var(--muted); }
.ym-dl dd { margin: 0; word-break: break-word; }
.ym-dl dd a { color: var(--accent-text); }
.ym-dl dd a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ym-message { white-space: pre-wrap; padding: 14px 16px; border-radius: var(--r); background: var(--surface-2); border: 1px solid var(--border); line-height: 1.6; }

/* ---------- Giriş ----------------------------------------------------- */
.ym-auth { min-height: 100vh; min-height: 100dvh; display: grid; grid-template-rows: auto 1fr auto; grid-template-columns: minmax(0, 1fr); background: var(--bg); }
.ym-auth-top, .ym-auth-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 28px; font-size: var(--fs-sm); color: var(--muted); }
.ym-auth-brand { display: inline-flex; align-items: center; gap: 9px; font-weight: 600; font-size: 15px; letter-spacing: -.015em; color: var(--text); }
.ym-auth-brand .ym-site-avatar { width: 24px; height: 24px; }
.ym-auth-brand .ym-site-avatar img { width: 18px; height: 18px; }
.ym-auth-main { display: grid; place-items: center; padding: 24px 20px 48px; }
.ym-auth-card { width: 100%; max-width: 380px; }
.ym-auth-card h1 { font-size: 28px; line-height: 1.12; font-weight: 600; letter-spacing: -.028em; text-wrap: balance; }
.ym-auth-lead { margin-top: 10px !important; color: var(--muted); text-wrap: pretty; }
.ym-auth-form { margin-top: 28px; display: grid; gap: 18px; }
.ym-auth-form .ym-alert { margin: 0; }
.ym-auth-form .ym-btn { margin-top: 4px; }
.ym-auth-bottom a:hover { color: var(--text); }
.ym-pass { position: relative; }
.ym-pass .ym-input { padding-right: 38px; }
.ym-pass button { position: absolute; right: 3px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border: 0; border-radius: var(--r-sm); background: none; color: var(--subtle); display: grid; place-items: center; }
.ym-pass button:hover { color: var(--text); background: var(--hover); }

/* TinyMCE çerçevesi panel diline uysun */
.ym .tox-tinymce { border: 1px solid var(--border-strong) !important; border-radius: var(--r) !important; box-shadow: var(--shadow-xs); }
.ym .tox .tox-statusbar { border-top-color: var(--border) !important; }

/* ---------- Responsive ------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media (max-width: 1100px) {
	.ym-grid-2, .ym-grid-2--form, .ym-grid-2--even { grid-template-columns: minmax(0, 1fr); }
	.ym-sticky { position: static; }
	.ym-settings-block { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.ym-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ym-stat:nth-child(3) { border-left: 0; }
	.ym-stat:nth-child(n+3) { border-top: 1px solid var(--border); }
}
@media (max-width: 900px) {
	.ym-app { grid-template-columns: minmax(0, 1fr); }
	.ym-side {
		position: fixed; inset: 0 auto 0 0; z-index: 50;
		width: min(300px, 86vw);
		transform: translateX(-100%); visibility: hidden;
		transition: transform var(--dur-3) var(--ease), visibility 0s linear var(--dur-3);
		background: var(--surface);
	}
	.ym-app.nav-open .ym-side { transform: none; visibility: visible; transition: transform var(--dur-3) var(--ease), visibility 0s; box-shadow: var(--shadow-dialog); }
	.ym-backdrop { position: fixed; inset: 0; z-index: 45; background: rgb(15 15 16 / .4); opacity: 0; pointer-events: none; transition: opacity var(--dur-3) var(--ease); }
	.ym-app.nav-open .ym-backdrop { opacity: 1; pointer-events: auto; }
	.ym-top { padding: 0 12px; }
	.ym-burger { display: inline-flex; }
	.ym-content { padding: 20px 16px 48px; }
	.ym-page-head { flex-direction: column; align-items: stretch; gap: 14px; }
	.ym-page-actions { justify-content: flex-start; }
	.ym-form-bar { margin: 24px -16px -48px; padding: 12px 16px; }
}
@media (min-width: 901px) { .ym-backdrop { display: none; } }
@media (max-width: 640px) {
	.ym-crumb li:not(:last-child) { display: none; }
	.ym-crumb li + li::before { display: none; }
	.ym-hide-sm { display: none !important; }
	.ym-page-head h1 { font-size: 22px; }
	.ym-form-grid { grid-template-columns: minmax(0, 1fr); }
	.ym-card-body { padding: 16px; }
	.ym-card-head { padding: 10px 16px; }
	.ym-stat { padding: 14px; }
	.ym-stat-value { font-size: 22px; }
	.ym-search, .ym-search .ym-input, .ym-search-row { width: 100%; }
	.ym-search-row .ym-select { flex: 1; }
	.ym-table .hide-sm { display: none; }
	.ym-table td, .ym-table th { padding-left: 12px; padding-right: 12px; }
	.ym-dl > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
	.ym-repeat-row .cols.c2, .ym-repeat-row .cols.c3, .ym-repeat-row .cols.c4 { grid-template-columns: minmax(0, 1fr); }
	.ym-asset { flex-wrap: wrap; }
	.ym-asset-actions { width: 100%; justify-content: flex-start; }
	.ym-toasts { left: 12px; right: 12px; bottom: 12px; justify-items: stretch; }
	.ym-toast { min-width: 0; max-width: none; }
	.ym-auth-top, .ym-auth-bottom { padding: 16px 20px; }
	.ym-input, .ym-select { height: 40px; font-size: 16px; }
	.ym-textarea { font-size: 16px; }
	.ym-image-preview { width: 100%; }
}

/* Sitedeki özel topraklama ikonu (hizmet ikon seçicisi için) */
.rem-ico-ground { display: inline-flex; align-items: center; justify-content: center; vertical-align: -0.125em; }
.rem-ico-ground::before {
    content: ""; display: block; width: 1em; height: 1em; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='11' y='1' width='2' height='9'/%3E%3Crect x='3' y='10' width='18' height='2.4' rx='1'/%3E%3Crect x='6.5' y='15' width='11' height='2.4' rx='1'/%3E%3Crect x='9.5' y='20' width='5' height='2.4' rx='1'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='11' y='1' width='2' height='9'/%3E%3Crect x='3' y='10' width='18' height='2.4' rx='1'/%3E%3Crect x='6.5' y='15' width='11' height='2.4' rx='1'/%3E%3Crect x='9.5' y='20' width='5' height='2.4' rx='1'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ym-btn--sm .yi { width: 14px; height: 14px; }
.ym-grid-2--form > div:last-child .ym-image-preview { width: 100%; }
body:has(.ym-form-bar) .ym-toasts { bottom: 72px; }

/* ==========================================================================
   İş Takip Sistemi
   ========================================================================== */
:root {
	--ev-saha: #0a8a12; --ev-randevu: #2f4fd8; --ev-teslim: #b45309; --ev-rapor: #7c3aed;
	--ev-hatirlatma: #0f766e; --ev-vade: #c0341d; --ev-periyodik: #0369a1;
}
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ym-nowrap { white-space: nowrap; }
.ym-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ym-late { color: var(--danger) !important; font-weight: 500; }
.ym-pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.ym-clamp { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ym-link-quiet { color: var(--text); }
.ym-link-quiet:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--border-strong); }
.ym-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ym-row > .ym-input, .ym-row > .ym-select { flex: 1; min-width: 0; }
.ym-linkbtn { border: 0; background: none; padding: 0; color: var(--accent-text); font-size: var(--fs-sm); cursor: pointer; text-align: left; }
.ym-linkbtn:hover { text-decoration: underline; text-underline-offset: 3px; }
.ym-check-row { display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-md); color: var(--text-2); cursor: pointer; }
.ym-check-row input { width: 15px; height: 15px; accent-color: var(--accent); margin: 0; }
.ym-checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px 16px; }
.ym-form-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ym-field--span2 { grid-column: span 2; }
.ym-input-group .ym-suffix { display: flex; align-items: center; padding: 0 10px; border: 1px solid var(--border-strong); border-left: 0; border-radius: 0 var(--r) var(--r) 0; background: var(--sunken); color: var(--muted); font-size: var(--fs-sm); white-space: nowrap; }
.ym-input-group .ym-input:not(:last-child) { border-radius: var(--r) 0 0 var(--r); }
.ym-input-group .ym-prefix + .ym-input:not(:last-child) { border-radius: 0; }
.ym-input--note { height: 30px; font-size: var(--fs-sm); margin-top: 6px; }
.is-muted { opacity: .6; }
.ym-nav-count--late { background: var(--danger); }
.ym-dot--late { background: var(--danger); box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 20%, transparent); }
.ym-pill--accent { background: var(--accent-soft); color: var(--accent-text); border-color: transparent; }
.ym-pill--accent::before { background: var(--accent); }
.ym-pill--danger { background: var(--danger-soft); color: var(--danger); border-color: transparent; }
.ym-pill--danger::before { background: var(--danger); }
.ym-alert--warn { background: var(--warning-soft); color: var(--warning); border-color: transparent; align-items: center; }
.ym-alert form { margin: 0; }
.ym-th-sort { color: inherit; }
.ym-th-sort:hover, .ym-th-sort.is-active { color: var(--text); }
.ym-pager-gap { color: var(--subtle); }

/* Sekme sayaçları */
.ym-tab-n { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; margin-left: 2px; border-radius: 9px; background: var(--sunken); color: var(--muted); font-size: var(--fs-2xs); font-weight: 600; font-variant-numeric: tabular-nums; }
.ym-tab-n--late { background: var(--danger-soft); color: var(--danger); }
.ym-tabs a.is-active .ym-tab-n:not(.ym-tab-n--late) { background: var(--active); color: var(--text); }
.ym-tabs--tight { margin-bottom: 16px; }
.ym-btn.is-on { border-color: var(--text); }
.ym-btn .ym-tab-n { margin-left: 0; }

/* Arama / filtre çubuğu */
.ym-filterbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 16px; }
.ym-search--grow { flex: 1; min-width: 220px; }
.ym-search--grow .ym-input { width: 100%; }
.ym-filter-panel { flex-basis: 100%; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; padding: 14px; border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface-2); }
.ym-filter-actions { display: flex; align-items: flex-end; }

/* Pano kartları (8'li) */
.ym-stats--8 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ym-stats--8 .ym-stat:nth-child(n+5) { border-top: 1px solid var(--border); }
.ym-stats--8 .ym-stat:nth-child(5) { border-left: 0; }
.ym-stat--late .ym-stat-value { color: var(--danger); }
.ym-card--late { border-color: color-mix(in srgb, var(--danger) 35%, var(--border)); }

/* Listeler: gecikme ve tamamlanma */
.ym-list li.is-late { box-shadow: inset 2px 0 0 var(--danger); }
.ym-list li.is-done .ym-strong { text-decoration: line-through; color: var(--muted); }
.ym-list li form { margin: 0; }
.ym-list-group { padding: 8px 18px 6px !important; font-size: var(--fs-xs); font-weight: 500; color: var(--subtle); background: var(--surface-2); border-top: 1px solid var(--border); }
.ym-list-group:first-child { border-top: 0; }
.ym-list-group.is-late { color: var(--danger); }
.ym-list--rem li + li { border-top: 1px solid var(--border); }
.ym-table tr.is-late td:first-child { box-shadow: inset 2px 0 0 var(--danger); }
.ym-table tfoot td { background: var(--surface-2); border-top: 1px solid var(--border); height: 44px; }
.ym-table .col-actions { width: 1%; text-align: right; white-space: nowrap; }
.show-sm { display: none !important; }

/* Gündem */
.ym-agenda { list-style: none; margin: 0; padding: 4px 0; }
.ym-agenda-item { display: flex; align-items: center; gap: 12px; padding: 10px 18px; }
.ym-agenda-item + .ym-agenda-item { border-top: 1px solid var(--border); }
.ym-agenda-item .grow { flex: 1; min-width: 0; }
.ym-agenda-item form { margin: 0; }
.ym-agenda-time { width: 52px; flex: none; font-size: var(--fs-sm); font-weight: 500; color: var(--text-2); }
.ym-agenda-bar { width: 3px; align-self: stretch; border-radius: 2px; background: var(--ev, var(--subtle)); flex: none; }

/* Olay renkleri */
.ym-ev--saha { --ev: var(--ev-saha); } .ym-ev--randevu { --ev: var(--ev-randevu); } .ym-ev--teslim { --ev: var(--ev-teslim); }
.ym-ev--rapor { --ev: var(--ev-rapor); } .ym-ev--hatirlatma { --ev: var(--ev-hatirlatma); } .ym-ev--vade { --ev: var(--ev-vade); } .ym-ev--periyodik { --ev: var(--ev-periyodik); }

/* Zaman çizelgesi */
.ym-timeline { list-style: none; margin: 0; padding: 14px 18px; display: grid; gap: 0; }
.ym-timeline li { position: relative; display: grid; grid-template-columns: 14px minmax(0, 1fr); gap: 12px; padding-bottom: 14px; }
.ym-timeline li:last-child { padding-bottom: 0; }
.ym-timeline li::before { content: ""; position: absolute; left: 6px; top: 14px; bottom: 0; width: 1px; background: var(--border); }
.ym-timeline li:last-child::before { display: none; }
.ym-timeline-dot { width: 13px; height: 13px; margin-top: 3px; border-radius: 50%; background: var(--surface); border: 2px solid var(--border-strong); position: relative; z-index: 1; }
.ym-tl--durum, .ym-tl--olustur { border-color: var(--accent); } .ym-tl--tahsilat, .ym-tl--finans { border-color: var(--ev-vade); }
.ym-tl--rapor { border-color: var(--ev-rapor); } .ym-tl--kontrol { border-color: var(--ev-periyodik); } .ym-tl--sil { border-color: var(--danger); background: var(--danger); }
.ym-timeline p { font-size: var(--fs-md); }
.ym-timeline-note { margin-top: 4px !important; padding: 6px 10px; border-radius: var(--r); background: var(--surface-2); border: 1px solid var(--border); color: var(--text-2); font-size: var(--fs-sm) !important; white-space: pre-wrap; }
.ym-timeline--dense p { font-size: var(--fs-sm); }

/* İş başlığı */
.ym-jobhead { margin: -8px 0 16px; padding: 14px 18px; border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface-2); }
.ym-jobhead.is-late { border-color: color-mix(in srgb, var(--danger) 40%, var(--border)); box-shadow: inset 3px 0 0 var(--danger); }
.ym-jobhead-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.ym-jobhead-meta { display: grid; grid-template-columns: repeat(6, minmax(0, auto)); gap: 4px 28px; margin: 0; justify-content: start; }
.ym-jobhead-meta dt { font-size: var(--fs-xs); color: var(--muted); }
.ym-jobhead-meta dd { margin: 0; font-weight: 500; overflow-wrap: anywhere; }
.ym-jobhead-meta a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ym-next { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 12px !important; padding-top: 10px; border-top: 1px solid var(--border); font-size: var(--fs-md); color: var(--text-2); }
.ym-next.is-late { color: var(--danger); }

.ym-dl--border { border-top: 1px solid var(--border); }
.ym-progress { height: 4px; margin: 0 18px; background: var(--sunken); border-radius: 2px; overflow: hidden; }
.ym-progress span { display: block; height: 100%; background: var(--accent); border-radius: 2px; transition: width var(--dur-3) var(--ease); }
.ym-checklist { list-style: none; margin: 0; padding: 8px 6px; }
.ym-checklist li { display: flex; align-items: center; gap: 10px; padding: 6px 12px; border-radius: var(--r); }
.ym-checklist li form { margin: 0; display: flex; }
.ym-checklist li.is-done > span:not(.handle), .ym-checklist li.is-done .grow { color: var(--muted); text-decoration: line-through; }
.ym-checklist--edit li { padding: 8px 12px; }
.ym-checklist--edit li + li { border-top: 1px solid var(--border); border-radius: 0; }
.ym-checklist--edit li.is-dragging { opacity: .5; background: var(--accent-soft); }
.ym-checklist .grow { flex: 1; min-width: 0; }
.ym-check { width: 18px; height: 18px; flex: none; display: grid; place-items: center; padding: 0; border: 1.5px solid var(--border-strong); border-radius: 5px; background: var(--surface); color: transparent; transition: background var(--dur-1), border-color var(--dur-1); }
.ym-check:hover { border-color: var(--accent); }
.ym-check[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: #fff; }

/* Para özetleri */
.ym-money { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 16px; border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface); overflow: hidden; }
.ym-money > * { display: grid; gap: 2px; padding: 14px 18px; border-left: 1px solid var(--border); color: var(--text); min-width: 0; }
.ym-money > *:first-child { border-left: 0; }
.ym-money a:hover { background: var(--surface-2); }
.ym-money span { font-size: var(--fs-sm); color: var(--muted); }
.ym-money strong { font-size: 20px; font-weight: 600; letter-spacing: -.02em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ym-money em { font-style: normal; font-size: var(--fs-xs); color: var(--subtle); }
.ym-money .is-due { background: color-mix(in srgb, var(--warning-soft) 60%, var(--surface)); }

/* Notlar */
.ym-notes { list-style: none; margin: 0; padding: 0; }
.ym-notes li { padding: 12px 18px; }
.ym-notes li + li { border-top: 1px solid var(--border); }
.ym-notes-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; flex-wrap: wrap; }
.ym-notes-head form { margin: 0; }
.ym-notes--compact li { padding: 10px 18px; }
.ym-notes--compact .ym-pre { font-size: var(--fs-sm); }

/* Dosyalar / fotoğraflar */
.ym-upload-row { display: flex; gap: 14px; align-items: stretch; flex-wrap: wrap; }
.ym-drop--inline { flex: 1; min-width: 240px; padding: 18px; }
.ym-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.ym-photos--sm { grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); margin-bottom: 8px; }
.ym-photo { margin: 0; border: 1px solid var(--border); border-radius: var(--r); overflow: hidden; background: var(--surface); }
.ym-photo > a { display: block; aspect-ratio: 4 / 3; background: var(--sunken); }
.ym-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ym-photo figcaption { display: flex; align-items: center; gap: 4px; padding: 4px 4px 4px 8px; font-size: var(--fs-xs); color: var(--muted); }
.ym-photo figcaption span { flex: 1; min-width: 0; }
.ym-photo figcaption form { margin: 0 0 0 auto; }
.ym-photo-file { display: grid !important; place-items: center; align-content: center; gap: 4px; padding: 8px; text-align: center; color: var(--muted); font-size: var(--fs-xs); }
.ym-photo-file span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.ym-attach { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--r); background: var(--surface-2); }

/* Müşteri seçim kutusu */
.ym-combo { position: relative; }
.ym-combo .ym-search .ym-input { width: 100%; }
.ym-combo-list { position: absolute; z-index: 70; left: 0; right: 0; top: 38px; max-height: 280px; overflow-y: auto; padding: 4px; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--shadow-pop); }
.ym-combo-opt { display: grid; gap: 1px; width: 100%; padding: 7px 10px; border: 0; border-radius: var(--r-sm); background: none; text-align: left; cursor: pointer; }
.ym-combo-opt strong { font-weight: 500; }
.ym-combo-opt span { font-size: var(--fs-xs); color: var(--muted); }
.ym-combo-opt:hover, .ym-combo-opt.is-active { background: var(--hover); }
.ym-combo-new { color: var(--accent-text); }
.ym-combo-yeni { display: flex; align-items: center; gap: 6px; }
.ym-combo-yeni[hidden], .ym-combo-ek[hidden] { display: none !important; }

/* Pencere (dialog) */
dialog.ym-dialog { width: min(560px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); padding: 0; border: 0; border-radius: 12px; background: var(--surface); color: var(--text); box-shadow: var(--shadow-dialog); overflow: visible; }
dialog.ym-dialog--sm { width: min(420px, calc(100vw - 24px)); }
dialog.ym-dialog[open] { animation: ym-pop var(--dur-2) var(--ease); display: flex; flex-direction: column; }
dialog.ym-dialog > form { display: flex; flex-direction: column; min-height: 0; max-height: calc(100dvh - 32px); }
dialog.ym-dialog::backdrop { background: rgb(15 15 16 / .35); }
.ym-dialog-head { position: relative; padding: 18px 22px 0; }
.ym-dialog-head h2 { font-size: var(--fs-lg); font-weight: 600; letter-spacing: -.01em; padding-right: 32px; }
.ym-dialog-head p { margin-top: 4px !important; color: var(--muted); font-size: var(--fs-sm); }
.ym-dialog-close { position: absolute; top: 12px; right: 12px; }
.ym-dialog-body { padding: 16px 22px; overflow-y: auto; }
.ym-dialog-foot { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 22px; background: var(--surface-2); border-top: 1px solid var(--border); border-radius: 0 0 12px 12px; }
.ym-dialog .ym-alert { margin: 0; }
.ym-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ym-chip input { position: absolute; opacity: 0; pointer-events: none; }
.ym-chip span { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border: 1px solid var(--border-strong); border-radius: 14px; font-size: var(--fs-sm); color: var(--text-2); cursor: pointer; transition: all var(--dur-1); }
.ym-chip span .yi { color: var(--muted); }
.ym-chip input:checked + span { border-color: var(--text); background: var(--inverse); color: var(--on-inverse); }
.ym-chip input:checked + span .yi { color: inherit; }
.ym-chip input:focus-visible + span { box-shadow: var(--ring); }
.ym-quick-dates { display: flex; gap: 4px; flex-wrap: wrap; }
.ym-quick-dates button { height: 24px; padding: 0 8px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); color: var(--muted); font-size: var(--fs-xs); }
.ym-quick-dates button:hover { color: var(--text); border-color: var(--border-strong); }

/* Menü: tablo içinde sağa hizalı, satır içi seçim */
.ym-menu--right { right: 0; top: calc(100% + 4px); }
.ym-menu.is-fixed { position: fixed; }
.ym-menu-form { padding: 2px 4px 4px; margin: 0; }
.ym-menu-form .ym-select { height: 30px; font-size: var(--fs-sm); }
.ym-menu-item--danger, .ym-menu-item--danger .yi { color: var(--danger) !important; }

/* Rapor durumu: rozet görünümlü seçim */
.ym-inline-select { margin: 0; }
.ym-select--pill { height: 24px; width: auto; padding: 0 24px 0 8px; border-radius: 12px; border: 1px solid transparent; font-size: var(--fs-xs); font-weight: 500; box-shadow: none; background-position: right 4px center; background-size: 14px; }
.ym-select--pill.ym-pill--off { background-color: var(--sunken); }

/* Takvim */
.ym-cal-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.ym-cal-title { font-size: var(--fs-xl); font-weight: 600; letter-spacing: -.015em; margin-left: 8px !important; white-space: nowrap; }
.ym-legend { display: flex; flex-wrap: wrap; gap: 4px 14px; align-items: center; margin-bottom: 12px; font-size: var(--fs-sm); color: var(--text-2); }
.ym-legend-item { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.ym-legend-item input { position: absolute; opacity: 0; pointer-events: none; }
.ym-legend-dot { width: 10px; height: 10px; border-radius: 3px; background: var(--ev); }
.ym-legend-item input:not(:checked) ~ .ym-legend-dot { background: none; box-shadow: inset 0 0 0 1.5px var(--ev); }
.ym-legend-item:has(input:not(:checked)) { color: var(--subtle); }
.ym-legend-item:has(input:focus-visible) { box-shadow: var(--ring); border-radius: var(--r-sm); }
.ym-cal { border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface); overflow: hidden; }
.ym-cal--month { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.ym-cal-dow { padding: 8px 10px; font-size: var(--fs-xs); font-weight: 500; color: var(--muted); background: var(--surface-2); border-bottom: 1px solid var(--border); }
.ym-cal-day { min-height: 118px; padding: 4px 4px 6px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); display: flex; flex-direction: column; gap: 2px; min-width: 0; transition: background var(--dur-1); }
.ym-cal-day:nth-child(7n) { border-right: 0; }
.ym-cal-day.is-out { background: var(--surface-2); }
.ym-cal-day.is-out .ym-cal-num { color: var(--subtle); }
.ym-cal-num { align-self: flex-start; min-width: 24px; height: 24px; padding: 0 6px; display: inline-grid; place-items: center; border-radius: 12px; font-size: var(--fs-sm); font-weight: 500; color: var(--text-2); }
.ym-cal-num:hover { background: var(--hover); }
.ym-cal-day.is-today .ym-cal-num, .ym-cal-col.is-today .ym-cal-colhead strong { background: var(--accent); color: #fff; }
.ym-cal-more { font-size: var(--fs-xs); color: var(--muted); padding: 0 6px; }
.ym-cal-more:hover { color: var(--text); }
.is-drop { background: var(--accent-soft) !important; box-shadow: inset 0 0 0 2px var(--accent); }
.ym-ev { position: relative; display: flex; align-items: stretch; min-width: 0; border-radius: 5px; background: color-mix(in srgb, var(--ev) 10%, var(--surface)); box-shadow: inset 2px 0 0 var(--ev); font-size: var(--fs-xs); line-height: 1.35; cursor: grab; }
.ym-ev > a { flex: 1; min-width: 0; display: flex; align-items: center; gap: 4px; padding: 3px 6px 3px 7px; color: var(--text); }
.ym-ev-ico { display: flex; color: var(--ev); flex: none; }
.ym-ev-time { font-weight: 600; font-variant-numeric: tabular-nums; flex: none; }
.ym-ev-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.ym-ev-sub { display: none; }
.ym-ev-flag { margin-left: auto; flex: none; padding: 0 5px; border-radius: 4px; background: var(--danger); color: #fff; font-size: 10px; font-weight: 600; }
.ym-ev.is-late { box-shadow: inset 2px 0 0 var(--danger); background: color-mix(in srgb, var(--danger) 9%, var(--surface)); }
.ym-ev.is-done { opacity: .55; }
.ym-ev.is-done .ym-ev-title { text-decoration: line-through; }
.ym-ev.is-dragging { opacity: .4; }
.ym-ev:hover { background: color-mix(in srgb, var(--ev) 16%, var(--surface)); }
.ym-ev-move { flex: none; width: 26px; border: 0; border-left: 1px solid color-mix(in srgb, var(--ev) 20%, transparent); background: none; color: var(--muted); display: grid; place-items: center; border-radius: 0 5px 5px 0; }
.ym-ev-move:hover { color: var(--text); background: color-mix(in srgb, var(--ev) 14%, transparent); }
.ym-cal--week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.ym-cal-col { min-height: 420px; padding: 0 6px 8px; border-right: 1px solid var(--border); display: flex; flex-direction: column; gap: 4px; min-width: 0; transition: background var(--dur-1); }
.ym-cal-col:last-child { border-right: 0; }
.ym-cal-colhead { display: flex; align-items: center; gap: 6px; margin: 0 -6px 4px; padding: 8px 10px; background: var(--surface-2); border-bottom: 1px solid var(--border); font-size: var(--fs-xs); color: var(--muted); z-index: 1; }
.ym-cal-colhead strong { min-width: 24px; height: 24px; display: inline-grid; place-items: center; border-radius: 12px; font-size: var(--fs-md); color: var(--text); }
.ym-cal--week .ym-ev > a, .ym-cal-daylist .ym-ev > a { flex-wrap: wrap; padding: 6px 6px 6px 8px; }
.ym-cal--week .ym-ev-title { white-space: normal; flex-basis: 100%; order: 3; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.ym-cal--week .ym-ev-sub, .ym-cal-daylist .ym-ev-sub { display: block; flex-basis: 100%; order: 4; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ym-cal--week .ym-ev-flag { order: 2; }
.ym-cal-empty { color: var(--subtle); text-align: center; padding: 8px 0; font-size: var(--fs-sm); }
.ym-cal-daylist { padding: 6px 0; }
.ym-cal-dayrow { display: flex; align-items: center; gap: 12px; padding: 6px 18px; }
.ym-cal-dayrow .ym-ev { flex: 1; font-size: var(--fs-md); }
.ym-cal-daylist .ym-ev-title { white-space: normal; }
.ym-cal-daylist .ym-ev-sub { font-size: var(--fs-sm); }

/* Kontrol formu */
.ym-fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.ym-fieldset:disabled .ym-input, .ym-fieldset:disabled .ym-select, .ym-fieldset:disabled .ym-textarea { background: var(--surface-2); color: var(--text); opacity: 1; }
.ym-cform { display: grid; gap: 0; padding-top: 4px; }
.ym-cform-head { margin: 18px 0 2px !important; padding-bottom: 6px; border-bottom: 1px solid var(--border); font-size: var(--fs-md); font-weight: 600; }
.ym-cform-head:first-child { margin-top: 0 !important; }
.ym-cform-row { padding: 12px 0; border-bottom: 1px dashed var(--border); }
.ym-cform-row:last-child { border-bottom: 0; }
.ym-seg-radio { display: inline-flex; flex-wrap: wrap; padding: 2px; gap: 2px; border-radius: var(--r); background: var(--sunken); border: 1px solid var(--border); align-self: flex-start; }
.ym-seg-radio label { position: relative; }
.ym-seg-radio input { position: absolute; opacity: 0; pointer-events: none; }
.ym-seg-radio span { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: var(--r-sm); font-size: var(--fs-sm); font-weight: 500; color: var(--muted); cursor: pointer; }
.ym-seg-radio input:checked + span { background: var(--surface); color: var(--text); box-shadow: 0 1px 2px rgb(0 0 0 / .08), 0 0 0 1px var(--border); }
.ym-seg-uygun input:checked + span { color: var(--success); }
.ym-seg-uygun_degil input:checked + span { color: var(--danger); }
.ym-seg-kismen input:checked + span { color: var(--warning); }
.ym-seg-radio input:focus-visible + span { box-shadow: var(--ring); }

/* Form alanı tanımları */
.ym-fields { list-style: none; margin: 0; padding: 0; }
.ym-fields-item + .ym-fields-item { border-top: 1px solid var(--border); }
.ym-fields-item.is-dragging { opacity: .5; background: var(--accent-soft); }
.ym-fields-item summary { display: flex; align-items: center; gap: 10px; padding: 10px 18px; cursor: pointer; list-style: none; }
.ym-fields-item summary::-webkit-details-marker { display: none; }
.ym-fields-item summary .grow { flex: 1; min-width: 0; }
.ym-fields-item summary:hover { background: var(--surface-2); }
.ym-fields-item.is-heading summary { background: var(--surface-2); }
.ym-fields-item.is-heading .ym-strong { font-weight: 600; text-transform: none; }
.ym-fields-item details[open] summary { border-bottom: 1px solid var(--border); }
.ym-fields-edit { padding: 14px 18px 16px; background: var(--surface-2); }
.ym-alanform [data-tip-goster][hidden], .ym-alanform [data-tip-gizle][hidden] { display: none !important; }

@media (max-width: 1100px) {
	.ym-jobhead-meta { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ym-cal--week { grid-template-columns: minmax(0, 1fr); }
	.ym-cal-col { min-height: 0; border-right: 0; border-bottom: 1px solid var(--border); padding-bottom: 10px; }
	.ym-cal-col:last-child { border-bottom: 0; }
	.ym-cal--week .ym-ev-title { -webkit-line-clamp: 2; }
	.hide-md { display: none !important; }
}
@media (max-width: 900px) {
	.ym-stats--8 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ym-stats--8 .ym-stat { border-left: 1px solid var(--border); border-top: 1px solid var(--border); }
	.ym-stats--8 .ym-stat:nth-child(odd) { border-left: 0; }
	.ym-stats--8 .ym-stat:nth-child(-n+2) { border-top: 0; }
	.ym-money, .ym-money--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ym-money > * { border-left: 1px solid var(--border); border-top: 1px solid var(--border); }
	.ym-money > *:nth-child(odd) { border-left: 0; }
	.ym-money > *:nth-child(-n+2) { border-top: 0; }
	.ym-form-grid--3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 640px) {
	.show-sm { display: block !important; }
	.ym-jobhead { padding: 12px 14px; }
	.ym-jobhead-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; }
	.ym-cal-title { font-size: var(--fs-lg); margin-left: 4px !important; }
	.ym-cal--month { grid-template-columns: repeat(7, minmax(0, 1fr)); }
	.ym-cal-day { min-height: 64px; padding: 2px; }
	.ym-cal--month .ym-ev > a { padding: 2px 3px; }
	.ym-cal--month .ym-ev-ico, .ym-cal--month .ym-ev-time, .ym-cal--month .ym-ev-flag { display: none; }
	.ym-cal--month .ym-ev-title { font-size: 10px; }
	.ym-cal-dow { padding: 6px 4px; text-align: center; }
	.ym-form-grid--3 { grid-template-columns: minmax(0, 1fr); }
	.ym-field--span2 { grid-column: auto; }
	.ym-agenda-item, .ym-list li, .ym-notes li, .ym-cal-dayrow { padding-left: 14px; padding-right: 14px; }
	.ym-agenda-item { flex-wrap: wrap; }
	.ym-agenda-item .grow { flex-basis: calc(100% - 80px); }
	.ym-money strong { font-size: 17px; }
	.ym-upload-row > * { min-width: 0 !important; flex-basis: 100%; }
	.ym-filterbar .ym-select, .ym-filterbar .ym-input[type=date] { flex: 1; }
	dialog.ym-dialog { width: 100%; max-width: none; margin: auto 0 0; border-radius: 14px 14px 0 0; }
	.ym-dialog-foot { border-radius: 0; }
	.ym-dialog-foot .ym-btn { flex: 1; --_h: 40px; }
	.ym-seg-radio span { padding: 0 9px; }
}
.ym-ev--takip { --ev: var(--accent-text); }

/* Ölçüm tablosu (teknik kontrol) */
.ym-mtable .ym-table-wrap { border: 1px solid var(--border); border-radius: var(--r); }
.ym-mtable-t { font-size: var(--fs-sm); counter-reset: satir; }
.ym-mtable-t th { height: auto; padding: 8px; white-space: normal; vertical-align: bottom; line-height: 1.3; min-width: 90px; }
.ym-mtable-t td { height: auto; padding: 4px; vertical-align: middle; }
.ym-mtable-t tbody tr:hover { background: none; }
.ym-mtable-t tbody tr { counter-increment: satir; }
.ym-mtable-t .ym-mtable-no, .ym-mtable-t .ym-mtable-act { width: 1%; min-width: 0; padding: 4px; white-space: nowrap; }
.ym-mtable-t td.ym-mtable-no { color: var(--subtle); font-size: var(--fs-xs); }
.ym-mtable-t td.ym-mtable-no .handle { display: inline-flex; align-items: center; gap: 2px; padding: 0; }
.ym-mtable-t td.ym-mtable-no .handle::after { content: counter(satir); font-variant-numeric: tabular-nums; min-width: 14px; }
.ym-mtable-unit { display: block; font-weight: 400; color: var(--subtle); }
.ym-cell { height: 30px; min-width: 80px; padding: 0 7px; font-size: var(--fs-sm); box-shadow: none; }
select.ym-cell { padding-right: 22px; background-position: right 4px center; }
.ym-cell--uyg[data-deger="uygun"] { color: var(--success); background-color: var(--success-soft); border-color: transparent; }
.ym-cell--uyg[data-deger="uygun_degil"] { color: var(--danger); background-color: var(--danger-soft); border-color: transparent; }
.ym-cell--uyg[data-deger="kismen"] { color: var(--warning); background-color: var(--warning-soft); border-color: transparent; }
.ym-cform-row--tablo { padding-top: 14px; }
.ym-fieldset:disabled .ym-mtable [data-satir-sil], .ym-fieldset:disabled .ym-mtable .ym-row { display: none; }
.ym-mtable-t tbody.ym-repeat-list { display: table-row-group; }
.ym-mtable-t tr.ym-repeat-row { display: table-row; padding: 0; border: 0; border-radius: 0; background: none; }
.ym-mtable-t tr.ym-repeat-row td { border-bottom: 1px solid var(--border); }
.ym-mtable-t tr.ym-repeat-row:last-child td { border-bottom: 0; }
.ym-mtable-t tr.ym-repeat-row .handle { padding-top: 0; }
.ym-mtable-t tr.is-dragging { opacity: .5; }
@media (max-width: 1440px) {
	.ym-grid-2--kontrol { grid-template-columns: minmax(0, 1fr); }
	.ym-grid-2--kontrol > div:last-child { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; align-items: start; }
	.ym-grid-2--kontrol > div:last-child > .ym-card + .ym-card { margin-top: 0; }
}

/* Ölçüm cihazı seçimi (kontrol formu) */
.ym-cihaz-secim { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 8px; padding: 12px 18px 16px; }
.ym-cihaz { position: relative; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface); cursor: pointer; transition: border-color var(--dur-1), background var(--dur-1); min-width: 0; }
.ym-cihaz:hover { border-color: var(--border-strong); }
.ym-cihaz input { position: absolute; opacity: 0; pointer-events: none; }
.ym-cihaz .grow { flex: 1; min-width: 0; }
.ym-cihaz .ym-strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ym-cihaz-kutu { width: 18px; height: 18px; flex: none; display: grid; place-items: center; border: 1.5px solid var(--border-strong); border-radius: 5px; color: transparent; background: var(--surface); }
.ym-cihaz input:checked ~ .ym-cihaz-kutu { background: var(--accent); border-color: var(--accent); color: #fff; }
.ym-cihaz:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); }
.ym-cihaz input:focus-visible ~ .ym-cihaz-kutu { box-shadow: var(--ring); }
.ym-cihaz.is-other { opacity: .75; }
.ym-cihaz.is-warn:has(input:checked) { border-color: var(--danger); background: var(--danger-soft); }
.ym-cihaz-kal { flex: none; text-align: right; }
.ym-fieldset:disabled .ym-cihaz { cursor: default; }
.ym-ev--kalibrasyon { --ev: #a16207; }
.ym-ev[draggable="false"] { cursor: pointer; }

/* Referans logosu (panel listesi) */
.ym-ref-logo { width: 64px; height: 40px; flex: none; display: grid; place-items: center; padding: 4px; border-radius: var(--r-sm); background: #fff; box-shadow: inset 0 0 0 1px var(--border); font-size: var(--fs-xs); font-weight: 600; color: #6a6964; }
.ym-ref-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* Satır işlemleri için açılır mini menü (details) */
.ym-mini-menu { position: relative; }
.ym-mini-menu > summary { list-style: none; cursor: pointer; }
.ym-mini-menu > summary::-webkit-details-marker { display: none; }
.ym-mini-menu > .ym-menu { right: 0; top: calc(100% + 4px); min-width: 250px; }
.ym-mini-menu:not([open]) > .ym-menu { display: none; }

/* Portal erişimi kartı (müşteri sayfası) */
.ym-portal-user { gap: 8px !important; }
.ym-portal-link { background: var(--accent-soft); border-bottom: 1px solid var(--border); }
.ym-portal-link .ym-input { flex: 1; min-width: 0; font-size: var(--fs-sm); }

/* Rapor doğrulama kartı (rapor formu) */
.ym-dogrula { display: flex; gap: 18px; align-items: flex-start; flex-wrap: wrap; }
.ym-dogrula-qr { width: 132px; height: 132px; flex: none; padding: 6px; border-radius: var(--r-md); background: #fff; box-shadow: 0 0 0 1px var(--border); }
.ym-dogrula-qr svg { display: block; width: 100%; height: 100%; }
.ym-dogrula .ym-stack { flex: 1; min-width: 220px; }
.ym-dogrula-kod { display: block; font-size: 22px; font-weight: 600; letter-spacing: .06em; }
.ym-mono-sm { font-family: "Geist Mono", ui-monospace, monospace; font-size: 13px; }

/* Müşteri portalı */
.ym-auth-tag { white-space: nowrap; font-size: var(--fs-xs); font-weight: 500; color: var(--accent-text); background: var(--accent-soft); padding: 3px 10px; border-radius: 999px; }
.ym-auth-links { margin: 14px 0 0; text-align: center; font-size: var(--fs-sm); }
.ym-auth-links a { display: inline-flex; align-items: center; gap: 4px; color: var(--muted); }
.ym-auth-links a:hover { color: var(--text); }
.ym-auth-note { display: flex; gap: 8px; align-items: flex-start; margin: 20px 0 0; padding-top: 16px; border-top: 1px solid var(--border); font-size: var(--fs-sm); color: var(--muted); line-height: 1.55; }
.ym-auth-note .yi { flex: none; margin-top: 3px; }
.ym-auth-note a { color: var(--text-2); text-decoration: underline; text-underline-offset: 2px; }
.ym-portal-hello { margin: -6px 0 16px; color: var(--muted); }
.ym-portal-hello strong { color: var(--text); font-weight: 600; }
.ym-portal .ym-table td input[type=checkbox] { width: 16px; height: 16px; accent-color: var(--accent); margin: 0; }
@media (max-width: 760px) {
	.ym-portal .ym-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ym-portal .ym-stats .ym-stat:nth-child(3) { border-left: 0; }
	.ym-portal .ym-stats .ym-stat:nth-child(n+3) { border-top: 1px solid var(--border); }
}
.ym-portal-firma { width: 100%; margin: 4px 0 0; font-size: var(--fs-sm); }

/* Uygunsuzluk listesi */
.ym-uyg-bar { gap: 8px; flex-wrap: wrap; }
.ym-uyg-list li { align-items: flex-start; }
.ym-uyg-list li > input[type=checkbox], .ym-portal .ym-uyg-list input[type=checkbox] { width: 16px; height: 16px; margin-top: 3px; accent-color: var(--accent); flex: none; }
.ym-uyg-list li.is-wait { box-shadow: inset 2px 0 0 #b7791f; background: color-mix(in srgb, #f6e05e 6%, transparent); }
.ym-uyg-rozet { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex: none; }
.ym-uyg-giderme { display: flex; gap: 6px; align-items: flex-start; margin-top: 6px; padding: 6px 10px; border-radius: var(--r-sm); background: var(--sunken); font-size: var(--fs-sm); color: var(--text-2); }
.ym-uyg-giderme .yi { flex: none; margin-top: 2px; }
.ym-uyg-dosyalar { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.ym-uyg-dosyalar a { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: 999px; background: var(--sunken); font-size: var(--fs-xs); color: var(--text-2); }
.ym-uyg-bildir { margin-top: 8px; }
.ym-uyg-bildir > summary { list-style: none; display: inline-flex; cursor: pointer; }
.ym-uyg-bildir > summary::-webkit-details-marker { display: none; }
.ym-uyg-bildir[open] > summary { margin-bottom: 8px; }
.ym-uyg-bildir form { padding: 12px; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface-2); max-width: 520px; }

/* Saha modu (kontrol formu) */
.ym-saha-serit { margin: 0 0 12px; padding: 8px 12px; border-radius: var(--r-md); background: var(--accent-soft); color: var(--accent-text); font-size: var(--fs-sm); }
.ym-saha-serit.is-off { background: var(--danger-soft); color: var(--danger); font-weight: 500; }
body.ym-saha #sahaModu { background: var(--accent); color: #fff; border-color: var(--accent); }
body.ym-saha .ym-grid-2--kontrol { grid-template-columns: minmax(0, 1fr) !important; }
body.ym-saha .ym-cform .ym-input, body.ym-saha .ym-cform .ym-select, body.ym-saha #kontrolForm .ym-input, body.ym-saha #kontrolForm .ym-select { min-height: 46px; font-size: 16px; }
body.ym-saha .ym-seg-radio label span { min-height: 44px; padding: 0 14px; display: inline-flex; align-items: center; font-size: 15px; }
body.ym-saha .ym-cform-row { padding-top: 14px; padding-bottom: 14px; }
body.ym-saha .ym-cform .ym-label { font-size: 15px; }
body.ym-saha #kontrolForm .ym-card-foot:has([value=tamamla]) { position: fixed; z-index: 40; left: 0; right: 0; bottom: 0; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: var(--surface); border-top: 1px solid var(--border); box-shadow: 0 -8px 24px rgb(0 0 0 / .08); }
body.ym-saha #kontrolForm .ym-card-foot:has([value=tamamla]) .ym-btn { min-height: 44px; flex: 1; justify-content: center; }
body.ym-saha .ym-content { padding-bottom: 96px; }
@media (min-width: 901px) { body.ym-saha #kontrolForm .ym-card-foot:has([value=tamamla]) { left: var(--side-w, 248px); } }

/* İmza */
.ym-imza-onizleme { display: grid; gap: 4px; }
.ym-imza-onizleme img { width: 100%; max-width: 300px; height: auto; border: 1px solid var(--border); border-radius: var(--r-md); background: #fff; }
.ym-imza-dialog { width: min(640px, calc(100vw - 16px)) !important; }
.ym-imza-alan { position: relative; border: 1.5px dashed var(--border-strong); border-radius: var(--r-md); background: #fff; }
.ym-imza-alan canvas { display: block; width: 100%; aspect-ratio: 3 / 1; touch-action: none; cursor: crosshair; }
.ym-imza-ipucu { position: absolute; inset: auto 0 10px 0; text-align: center; font-size: var(--fs-sm); color: #9a9a96; pointer-events: none; }
.ym-imza-ipucu[hidden] { display: none; }
.ym-imza-hata { color: var(--danger) !important; margin: 0; }
.ym-rota { counter-reset: none; }
.ym-rota-no { width: 24px; height: 24px; flex: none; border-radius: 50%; background: var(--accent); color: #fff; display: grid; place-items: center; font-size: var(--fs-xs); font-weight: 600; }
.ym-bars { display: grid; grid-template-columns: repeat(12, 1fr); gap: 6px; height: 200px; align-items: end; }
.ym-bar { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; }
.ym-bar span { width: 100%; min-height: 2px; background: var(--accent); border-radius: 4px 4px 0 0; }
.ym-bar b { position: absolute; top: 0; font-size: var(--fs-xs); font-weight: 500; color: var(--muted); }
.ym-bar em { font-style: normal; font-size: var(--fs-xs); color: var(--muted); margin-top: 4px; }
.ym-hbars > div { display: grid; grid-template-columns: 150px 1fr auto; gap: 10px; align-items: center; padding: 4px 0; font-size: var(--fs-sm); }
.ym-hbars span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ym-hbars i { display: block; height: 10px; border-radius: 5px; background: var(--accent); min-width: 2px; }
.ym-hbars b { font-weight: 500; white-space: nowrap; }

/* Yardım ve dokümantasyon */
.ym-doc { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 20px; align-items: start; }
.ym-doc-nav { position: sticky; top: calc(var(--top-h, 56px) + 16px); max-height: calc(100vh - 100px); overflow-y: auto; }
.ym-doc-ara { display: flex; align-items: center; gap: 8px; padding: 0 10px; height: 36px; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface); margin-bottom: 10px; color: var(--muted); }
.ym-doc-ara input { border: 0; background: none; outline: none; flex: 1; min-width: 0; font: inherit; color: var(--text); }
.ym-doc-nav ol { list-style: none; margin: 0; padding: 0; }
.ym-doc-nav a { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: var(--r-sm); font-size: var(--fs-sm); color: var(--text-2); }
.ym-doc-nav a:hover { background: var(--surface-2); color: var(--text); }
.ym-doc-nav a.is-active { background: var(--accent-soft); color: var(--accent-text); font-weight: 500; }
.ym-doc-nav li[hidden], .ym-doc-bolum[hidden] { display: none; }
.ym-doc-bolum { scroll-margin-top: 80px; }
.ym-doc-bolum .ym-card-head h2 { display: flex; align-items: center; gap: 8px; }
.ym-doc-icerik { font-size: 14.5px; line-height: 1.7; color: var(--text-2); }
.ym-doc-icerik h3 { font-size: 15px; font-weight: 600; color: var(--text); margin: 18px 0 6px; }
.ym-doc-icerik h3:first-child { margin-top: 0; }
.ym-doc-icerik p { margin: 0 0 10px; }
.ym-doc-icerik ul, .ym-doc-icerik ol { margin: 0 0 12px; padding-left: 20px; }
.ym-doc-icerik li { margin-bottom: 5px; }
.ym-doc-icerik a { color: var(--accent-text); text-decoration: underline; text-underline-offset: 2px; }
.ym-doc-icerik code { font-family: "Geist Mono", ui-monospace, monospace; font-size: 12.5px; padding: 1px 5px; border-radius: 4px; background: var(--sunken); color: var(--text); }
.ym-doc-icerik kbd { font-family: inherit; font-size: 12px; padding: 1px 6px; border: 1px solid var(--border-strong); border-bottom-width: 2px; border-radius: 4px; background: var(--surface); }
.ym-doc-table { overflow-x: auto; margin: 6px 0 12px; border: 1px solid var(--border); border-radius: var(--r-md); }
.ym-doc-table table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.ym-doc-table th, .ym-doc-table td { padding: 8px 12px; text-align: left; vertical-align: top; border-top: 1px solid var(--border); }
.ym-doc-table thead th { border-top: 0; background: var(--surface-2); font-weight: 600; color: var(--text); }
.ym-doc-table tbody tr:first-child td { border-top: 0; }
.ym-doc-table thead + tbody tr:first-child td { border-top: 1px solid var(--border); }
.ym-doc-note { margin: 10px 0; padding: 10px 14px; border-radius: var(--r-md); background: var(--accent-soft); color: var(--text); font-size: 13.5px; }
.ym-doc-note.is-warn { background: color-mix(in srgb, #f6ad55 18%, transparent); }
.ym-doc-dl dt { font-weight: 600; color: var(--text); margin-top: 12px; }
.ym-doc-dl dd { margin: 3px 0 0; }
.ym-doc-bos { padding: 20px; text-align: center; color: var(--muted); }
@media (max-width: 900px) { .ym-doc { grid-template-columns: minmax(0, 1fr); } .ym-doc-nav, .ym-doc-body { min-width: 0; } .ym-doc-nav { position: static; max-height: none; } .ym-doc-nav ol { display: flex; flex-wrap: wrap; gap: 4px; } }

/* Kılavuz: adım adım anlatılan ekran görüntüleri */
.ym-shot { margin: 18px 0 26px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-2); overflow: hidden; }
.ym-shot-cerceve { position: relative; line-height: 0; border-bottom: 1px solid var(--border); overflow: hidden; }
.ym-shot-img { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.ym-shot-img img { display: block; width: 100%; height: auto; }
.ym-shot-alan { position: absolute; border-radius: 6px; pointer-events: none; opacity: 0; transition: opacity .2s, box-shadow .2s; }
.ym-shot-alan.is-aktif { opacity: 1; outline: 2px solid #f59e0b; outline-offset: 2px; box-shadow: 0 0 0 9999px rgba(0, 0, 0, .55), 0 0 18px 2px rgba(245, 158, 11, .55); }
.ym-shot figcaption { padding: 14px 18px 16px; font-size: 14px; }
.ym-shot-ust { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.ym-shot-baslik { font-weight: 600; color: var(--text); }
.ym-shot-baslik::before { content: "Ekran: "; color: var(--muted); font-weight: 500; }
.ym-shot-nav { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; }
.ym-shot-nav .ym-btn { min-width: 32px; justify-content: center; font-size: 16px; line-height: 1; }
.ym-shot-sayac { min-width: 44px; text-align: center; color: var(--muted); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.ym-shot-aciklama { min-height: 46px; padding: 10px 12px; border-left: 3px solid #f59e0b; border-radius: 6px; background: var(--surface); color: var(--muted); line-height: 1.55; }
.ym-shot-aciklama strong { display: block; color: var(--text); margin-bottom: 2px; }
.ym-shot-cipler { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.ym-shot-cip { padding: 4px 10px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); color: var(--muted); font: inherit; font-size: 12.5px; cursor: pointer; }
.ym-shot-cip:hover { color: var(--text); }
.ym-shot-cip.is-aktif { border-color: #f59e0b; color: var(--text); background: rgba(245, 158, 11, .14); }
.ym-shot-dlg { width: min(96vw, 1500px); max-width: none; padding: 0; border: 0; border-radius: 10px; background: #000; }
.ym-shot-dlg::backdrop { background: rgba(0, 0, 0, .8); }
.ym-shot-dlg img { display: block; width: 100%; height: auto; cursor: zoom-out; }

@media (max-width: 480px) { .ym-auth-top, .ym-auth-bottom { padding: 16px; gap: 10px; flex-wrap: wrap; } .ym-auth-main { padding: 16px 16px 40px; } }
.ym-auth-note > span { min-width: 0; overflow-wrap: anywhere; }

/* Teklif kalemleri ve toplamlar */
.ym-teklif-kalem td { vertical-align: middle; }
.ym-teklif-kalem td[data-tutar] { white-space: nowrap; font-variant-numeric: tabular-nums; }
.ym-teklif-toplam { margin: 16px 0 0 auto; max-width: 340px; display: grid; gap: 6px; font-variant-numeric: tabular-nums; }
.ym-teklif-toplam > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: var(--fs-sm); color: var(--text-2); }
.ym-teklif-toplam > div > span { display: inline-flex; align-items: center; white-space: nowrap; }
.ym-teklif-toplam strong { color: var(--text); font-weight: 600; white-space: nowrap; }
.ym-teklif-toplam .is-total { margin-top: 4px; padding-top: 10px; border-top: 1px solid var(--border); font-size: var(--fs-base, 15px); color: var(--text); }
.ym-teklif-toplam .is-total strong { font-size: 18px; }
@media (max-width: 700px) {
	.ym-teklif-kalem thead { display: none; }
	.ym-teklif-kalem, .ym-teklif-kalem tbody { display: block; }
	.ym-teklif-kalem tr { display: grid; grid-template-columns: 1fr 1fr 1.4fr; grid-template-areas: "ad ad ad" "mk br fy" "tt tt sl"; gap: 8px; padding: 12px; border-bottom: 1px solid var(--border); }
	.ym-teklif-kalem td { display: block; padding: 0; border: 0; }
	.ym-teklif-kalem td:nth-child(1) { grid-area: ad; } .ym-teklif-kalem td:nth-child(2) { grid-area: mk; } .ym-teklif-kalem td:nth-child(3) { grid-area: br; }
	.ym-teklif-kalem td:nth-child(4) { grid-area: fy; } .ym-teklif-kalem td:nth-child(5) { grid-area: tt; align-self: center; text-align: left; font-weight: 600; }
	.ym-teklif-kalem td:nth-child(6) { grid-area: sl; justify-self: end; }
	.ym-teklif-kalem td:nth-child(5)::before { content: "Tutar: "; font-weight: 400; color: var(--muted); }
	.ym-teklif-kalem td:nth-child(2) input::placeholder, .ym-teklif-kalem td:nth-child(3) input::placeholder { color: var(--subtle); }
	.ym-teklif-toplam { max-width: none; }
}

/* Uygunluk seçimi: dar ekranda eşit 2×2 ızgara, "boş" seçeneği tam genişlikte ince satır */
@media (max-width: 560px) {
	.ym-seg-radio { display: grid; grid-template-columns: 1fr 1fr; width: 100%; align-self: stretch; }
	.ym-seg-radio label { display: block; }
	.ym-seg-radio span { display: flex; justify-content: center; width: 100%; height: 40px; padding: 0 8px; text-align: center; }
	.ym-seg-radio .ym-seg-bos { grid-column: 1 / -1; }
	.ym-seg-radio .ym-seg-bos span { height: 28px; font-size: var(--fs-xs); }
	.ym-seg-radio .ym-seg-bos span::after { content: " Seçimi temizle"; margin-left: 4px; }
}
@media (max-width: 560px) { body.ym-saha .ym-seg-radio label span { display: flex; justify-content: center; width: 100%; } body.ym-saha .ym-seg-radio .ym-seg-bos span { min-height: 34px; } }

/* Tekrarlanan satırlarda kalıcı alan etiketi (placeholder yerine) */
.ym-rcell { display: flex; flex-direction: column; gap: 4px; min-width: 0; margin: 0; }
.ym-rcell-label { font-size: var(--fs-xs); font-weight: 500; color: var(--muted); line-height: 1.2; }

/* Liste araç çubuğu: dar ekranda arama tam satır, düğmeler altta eşit genişlikte */
@media (max-width: 560px) {
	.ym-toolbar .ym-search--grow, .ym-filterbar .ym-search--grow { flex: 1 1 100%; min-width: 0; }
	.ym-toolbar:has(.ym-search--grow) > .ym-btn, .ym-toolbar:has(.ym-search--grow) > .ym-select,
	.ym-filterbar:has(.ym-search--grow) > .ym-btn, .ym-filterbar:has(.ym-search--grow) > .ym-select { flex: 1 1 0; justify-content: center; }
}
