/* =====================================================================
   Multitechnik GmbH – Mitarbeiterportal
   Corporate Design der Website: Navy #061341, Roboto, Glasfaser-Akzent
   ===================================================================== */
:root {
	--navy: #061341;
	--navy-2: #0a1d5c;
	--navy-3: #13307f;
	--fiber: #1aa3e8;
	--fiber-soft: #e6f5fd;
	--bg: #f2f4f8;
	--surface: #ffffff;
	--text: #141b2d;
	--text-2: #4a5468;
	--muted: #7d8699;
	--line: #e3e7ef;
	--line-2: #eef1f6;
	--ok: #15925a;
	--ok-bg: #e5f6ee;
	--warn: #b7700a;
	--warn-bg: #fff4e2;
	--danger: #d03a2b;
	--danger-bg: #fdecea;
	--info: #1a5bd6;
	--info-bg: #e8efff;
	--gray-bg: #eef1f6;
	--radius: 12px;
	--radius-sm: 8px;
	--shadow-sm: 0 1px 2px rgba(6, 19, 65, .06);
	--shadow: 0 1px 2px rgba(6, 19, 65, .05), 0 4px 16px rgba(6, 19, 65, .06);
	--shadow-lg: 0 24px 60px rgba(3, 10, 36, .35);
	--sidebar: 264px;
	--font: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body.mtc-body {
	margin: 0;
	font-family: var(--font);
	font-size: 15px;
	line-height: 1.55;
	color: var(--text);
	background: var(--bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
a { color: var(--navy-3); text-decoration: none; }
a:hover { color: var(--fiber); }
h1, h2, h3 { font-family: var(--font); color: var(--navy); margin: 0 0 .5em; line-height: 1.2; }
h1 { font-size: 1.65rem; font-weight: 700; letter-spacing: -.01em; }
h2 { font-size: 1.02rem; font-weight: 700; }
h3 { font-size: .92rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--text-2); }
p { margin: 0 0 .8em; }
code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .95em; }
small { font-size: .84em; }
.mtc-muted { color: var(--muted); }
.mtc-text-danger { color: var(--danger) !important; }
.mtc-empty { color: var(--muted); margin: .4em 0; padding: 18px; text-align: center; background: var(--line-2); border-radius: var(--radius-sm); font-size: .92em; }
.mtc-empty--sm { padding: 10px; background: transparent; }
.mtc-count { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 7px; border-radius: 999px; background: var(--fiber-soft); color: var(--navy-3); font-size: .72rem; font-weight: 700; margin-left: 6px; vertical-align: 2px; }
.mtc-link-sm { font-size: .85em; white-space: nowrap; font-weight: 500; }
.mtc-more { margin: 12px 0 0; font-size: .9em; font-weight: 500; }
.mtc-inline { display: inline; }
.mtc-num { text-align: right !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
.mtc-icon { flex-shrink: 0; }

/* ---------------------------------------------------------------------
   App-Rahmen: Sidebar links + Inhalt
   --------------------------------------------------------------------- */
.mtc-app { min-height: 100vh; }
.mtc-sidebar {
	position: fixed; inset: 0 auto 0 0; width: var(--sidebar); z-index: 40;
	display: flex; flex-direction: column;
	background: linear-gradient(180deg, var(--navy) 0%, #071a52 55%, var(--navy) 100%);
	color: #fff; padding: 22px 14px 16px;
	overflow-y: auto;
}
.mtc-sidebar::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .55;
	background:
		radial-gradient(120% 40% at 110% 0%, rgba(26, 163, 232, .22), transparent 60%),
		radial-gradient(90% 30% at -20% 100%, rgba(26, 163, 232, .14), transparent 60%);
}
.mtc-sidebar > * { position: relative; }
.mtc-brand { display: flex; align-items: center; gap: 12px; color: #fff; padding: 2px 8px 20px; margin-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.09); }
.mtc-brand:hover { color: #fff; }
.mtc-brand__logo { width: 52px; height: 52px; border-radius: 50%; background: #fff; padding: 2px; box-shadow: 0 0 0 3px rgba(26,163,232,.25), 0 6px 18px rgba(0,0,0,.35); flex-shrink: 0; }
.mtc-brand__text { display: flex; flex-direction: column; line-height: 1.2; }
.mtc-brand__text strong { font-size: 1rem; font-weight: 700; letter-spacing: .01em; }
.mtc-brand__text small { color: rgba(255,255,255,.62); font-size: .76rem; text-transform: uppercase; letter-spacing: .12em; margin-top: 3px; }
.mtc-nav { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.mtc-nav__section { display: block; padding: 18px 12px 6px; font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.4); }
.mtc-nav__link {
	position: relative; display: flex; align-items: center; gap: 12px;
	padding: 10px 12px; border-radius: 10px;
	color: rgba(255,255,255,.74); font-weight: 500; font-size: .94rem;
	transition: background-color .15s ease, color .15s ease;
}
.mtc-nav__link .mtc-icon { opacity: .85; }
.mtc-nav__link:hover { background: rgba(255,255,255,.07); color: #fff; }
.mtc-nav__link.is-active { background: rgba(26,163,232,.16); color: #fff; }
.mtc-nav__link.is-active::before { content: ""; position: absolute; left: -14px; top: 8px; bottom: 8px; width: 4px; border-radius: 0 4px 4px 0; background: var(--fiber); box-shadow: 0 0 12px var(--fiber); }
.mtc-nav__link.is-active .mtc-icon { color: var(--fiber); opacity: 1; }
.mtc-nav__link--sm { font-size: .86rem; padding: 8px 12px; }
.mtc-sidebar__foot { margin-top: 18px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.09); display: flex; flex-direction: column; gap: 2px; }
.mtc-userbox { display: flex; align-items: center; gap: 10px; padding: 6px 10px 10px; }
.mtc-userbox__name { display: flex; flex-direction: column; font-weight: 500; font-size: .9rem; line-height: 1.25; min-width: 0; }
.mtc-userbox__name small { color: rgba(255,255,255,.55); font-size: .75rem; }
.mtc-avatar { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg, var(--fiber), var(--navy-3)); color: #fff; font-weight: 700; font-size: .8rem; flex-shrink: 0; letter-spacing: .02em; }
.mtc-avatar--sm { width: 28px; height: 28px; font-size: .7rem; vertical-align: middle; }

.mtc-content { margin-left: var(--sidebar); min-height: 100vh; display: flex; flex-direction: column; }
.mtc-topbar { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 14px; height: 60px; padding: 0 32px; background: rgba(255,255,255,.86); backdrop-filter: saturate(160%) blur(10px); -webkit-backdrop-filter: saturate(160%) blur(10px); border-bottom: 1px solid var(--line); }
.mtc-topbar__brand { display: none; align-items: center; gap: 10px; color: var(--navy); font-weight: 700; }
.mtc-topbar__brand img { border-radius: 50%; }
.mtc-topbar__date { margin-left: auto; color: var(--muted); font-size: .88rem; }
.mtc-topbar__avatar { display: none; }
.mtc-main { flex: 1; width: 100%; max-width: 1360px; padding: 28px 32px 40px; }
.mtc-footer { padding: 18px 32px 26px; color: var(--muted); font-size: .8rem; border-top: 1px solid var(--line); }
.mtc-footer a { color: var(--muted); }
.mtc-nav-toggle { display: none; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 10px; background: #fff; padding: 9px; cursor: pointer; }
.mtc-nav-toggle span { display: block; height: 2px; margin: 4px 0; background: var(--navy); border-radius: 2px; }
.mtc-backdrop { display: none; }

@media (max-width: 1020px) {
	.mtc-sidebar { transform: translateX(-100%); transition: transform .25s ease; box-shadow: var(--shadow-lg); }
	.mtc-sidebar.is-open { transform: none; }
	.mtc-backdrop.is-open { display: block; position: fixed; inset: 0; z-index: 35; background: rgba(6,19,65,.45); }
	.mtc-content { margin-left: 0; }
	.mtc-nav-toggle { display: block; }
	.mtc-topbar { padding: 0 16px; }
	.mtc-topbar__brand { display: flex; }
	.mtc-topbar__date { display: none; }
	.mtc-topbar__avatar { display: inline-flex; margin-left: auto; }
	.mtc-main { padding: 20px 16px 32px; }
	.mtc-footer { padding: 16px; }
}

/* ---------------------------------------------------------------------
   Seitenkopf, Panels, Grids
   --------------------------------------------------------------------- */
.mtc-page-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 22px; }
.mtc-page-head h1 { margin-bottom: 4px; }
.mtc-page-head p { margin: 0; }
.mtc-breadcrumb { font-size: .8rem; color: var(--muted); margin-bottom: 6px !important; text-transform: uppercase; letter-spacing: .06em; font-weight: 500; }
.mtc-breadcrumb a { color: var(--muted); }
.mtc-breadcrumb a:hover { color: var(--fiber); }
.mtc-badges { margin-top: 8px !important; display: flex; gap: 6px; flex-wrap: wrap; }
.mtc-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.mtc-actions form { margin: 0; }
.mtc-actions--wrap { margin: 0; }
.mtc-panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px 22px; margin-bottom: 20px; box-shadow: var(--shadow); }
.mtc-panel--warn { border-top: 3px solid var(--danger); }
.mtc-panel > h2:first-child { display: flex; align-items: center; margin: -2px 0 16px; padding-bottom: 12px; border-bottom: 1px solid var(--line-2); }
.mtc-panel h3 { margin: 16px 0 10px; }
.mtc-panel > .mtc-muted:first-of-type { font-size: .9em; }
.mtc-subhead { margin: 22px 0 10px !important; color: var(--navy) !important; text-transform: none !important; letter-spacing: 0 !important; font-size: .95rem !important; display: flex; align-items: center; gap: 8px; }
.mtc-subhead::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--fiber); box-shadow: 0 0 0 3px var(--fiber-soft); }
.mtc-grid { display: grid; gap: 20px; }
.mtc-grid--2 { grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); align-items: start; }
.mtc-grid--main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
.mtc-col > .mtc-panel:last-child { margin-bottom: 0; }
.mtc-grid + .mtc-panel, .mtc-grid--main { margin-bottom: 20px; }
@media (max-width: 1100px) { .mtc-grid--main { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .mtc-grid--2 { grid-template-columns: 1fr; } .mtc-panel { padding: 16px; } }
.mtc-stack { display: flex; flex-direction: column; gap: 10px; }

/* KPIs */
.mtc-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; margin-bottom: 22px; }
.mtc-kpi { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 6px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 20px; color: var(--text); box-shadow: var(--shadow); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.mtc-kpi::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, var(--navy-3), var(--fiber)); }
a.mtc-kpi:hover { color: var(--text); transform: translateY(-2px); border-color: rgba(26,163,232,.5); box-shadow: 0 10px 28px rgba(6,19,65,.1); }
.mtc-kpi__value { font-size: 2rem; font-weight: 700; line-height: 1; color: var(--navy); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.mtc-kpi__label { color: var(--muted); font-size: .78rem; font-weight: 500; text-transform: uppercase; letter-spacing: .07em; order: -1; }
.mtc-kpi--warn { border-color: rgba(208,58,43,.35); }
.mtc-kpi--warn .mtc-kpi__value { color: var(--danger); }
.mtc-kpi--warn::before { background: var(--danger); }

/* Hinweise */
.mtc-notice { padding: 13px 16px; border-radius: var(--radius-sm); margin-bottom: 18px; border: 1px solid transparent; border-left-width: 4px; font-size: .94rem; }
.mtc-notice--ok { background: var(--ok-bg); border-color: #bfe7d3; border-left-color: var(--ok); color: #0d5c38; }
.mtc-notice--warn { background: var(--warn-bg); border-color: #f4d6a6; border-left-color: var(--warn); color: #6e4304; }
.mtc-notice--err { background: var(--danger-bg); border-color: #f4c4be; border-left-color: var(--danger); color: #8a2218; }
.mtc-notice--cred { background: #f2f9fe; border-color: #c4e6f8; border-left-color: var(--fiber); color: var(--text); }
.mtc-cred { display: grid; gap: 6px; margin: 12px 0 8px; }
.mtc-cred div { display: flex; gap: 12px; align-items: baseline; flex-wrap: wrap; }
.mtc-cred span { min-width: 120px; color: var(--muted); font-size: .85em; text-transform: uppercase; letter-spacing: .05em; }
.mtc-cred code { background: #fff; border: 1px solid var(--line); padding: 4px 10px; border-radius: 6px; font-size: 1.02em; user-select: all; color: var(--navy); }

/* ---------------------------------------------------------------------
   Buttons, Badges, Fortschritt
   --------------------------------------------------------------------- */
.mtc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 40px; padding: 0 16px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface); color: var(--navy); font: inherit; font-size: .9rem; font-weight: 500; cursor: pointer; line-height: 1; white-space: nowrap; box-shadow: var(--shadow-sm); transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s; }
.mtc-btn:hover { color: var(--navy); border-color: #c6cedd; background: #f8f9fc; }
.mtc-btn:focus-visible, .mtc-nav__link:focus-visible { outline: 3px solid rgba(26,163,232,.45); outline-offset: 2px; }
.mtc-btn--primary { background: var(--navy); border-color: var(--navy); color: #fff; box-shadow: 0 4px 12px rgba(6,19,65,.22); }
.mtc-btn--primary:hover { background: var(--navy-3); border-color: var(--navy-3); color: #fff; }
.mtc-btn--danger { color: var(--danger); border-color: #f1c7c2; }
.mtc-btn--danger:hover { background: var(--danger-bg); color: var(--danger); border-color: var(--danger); }
.mtc-btn--ghost { background: transparent; border-color: transparent; box-shadow: none; color: var(--text-2); }
.mtc-btn--ghost:hover { background: var(--line-2); border-color: transparent; }
.mtc-btn--sm { height: 32px; padding: 0 12px; font-size: .84rem; border-radius: 8px; }
.mtc-btn--xs { height: 26px; padding: 0 8px; font-size: .8rem; border-radius: 6px; }
.mtc-btn[disabled] { opacity: .6; cursor: wait; }
.mtc-btn--status { height: 44px; min-width: 170px; font-weight: 700; }
.mtc-btn--in_arbeit { border-color: rgba(26,91,214,.35); color: var(--info); }
.mtc-btn--in_arbeit:hover { background: var(--info-bg); color: var(--info); border-color: var(--info); }
.mtc-btn--erledigt { background: var(--ok); border-color: var(--ok); color: #fff; }
.mtc-btn--erledigt:hover { background: #0f7a4a; border-color: #0f7a4a; color: #fff; }
.mtc-btn--blockiert { border-color: rgba(208,58,43,.35); color: var(--danger); }
.mtc-btn--blockiert:hover { background: var(--danger-bg); color: var(--danger); border-color: var(--danger); }
.mtc-status-buttons { display: flex; gap: 10px; flex-wrap: wrap; }
.mtc-status-buttons form { margin: 0; }

.mtc-badge { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; font-size: .74rem; font-weight: 700; line-height: 1.4; white-space: nowrap; background: var(--gray-bg); color: var(--text-2); vertical-align: middle; letter-spacing: .01em; }
.mtc-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .9; }
.mtc-badge--offen { background: var(--gray-bg); color: #56607a; }
.mtc-badge--in_arbeit { background: var(--info-bg); color: var(--info); }
.mtc-badge--blockiert { background: var(--danger-bg); color: var(--danger); }
.mtc-badge--erledigt { background: var(--ok-bg); color: var(--ok); }
.mtc-badge--danger { background: var(--danger); color: #fff; }
.mtc-badge--inaktiv { background: var(--gray-bg); color: var(--muted); }
.mtc-badge--p-geplant { background: var(--gray-bg); color: #56607a; }
.mtc-badge--p-aktiv { background: var(--fiber-soft); color: #0b78b3; }
.mtc-badge--p-pausiert { background: var(--warn-bg); color: var(--warn); }
.mtc-badge--p-abgeschlossen { background: var(--ok-bg); color: var(--ok); }
.mtc-prio { display: inline-block; font-size: .72rem; font-weight: 700; padding: 2px 8px; border-radius: 6px; white-space: nowrap; text-transform: uppercase; letter-spacing: .05em; }
.mtc-prio--hoch { background: var(--danger-bg); color: var(--danger); }
.mtc-prio--mittel { background: var(--warn-bg); color: var(--warn); }
.mtc-prio--niedrig { background: var(--gray-bg); color: var(--muted); }
.mtc-chip { display: inline-flex; align-items: center; gap: 4px; background: var(--line-2); border: 1px solid var(--line); border-radius: 6px; padding: 2px 9px; font-size: .82rem; margin: 2px 6px 2px 0; color: var(--text-2); }
.mtc-chips { margin: 6px 0; }

.mtc-progress { display: inline-block; vertical-align: middle; width: 96px; max-width: 100%; height: 6px; background: var(--line-2); border-radius: 999px; overflow: hidden; }
.mtc-progress__bar { height: 100%; background: linear-gradient(90deg, var(--navy-3), var(--fiber)); border-radius: 999px; transition: width .4s ease; }
.mtc-progress--erledigt .mtc-progress__bar { background: var(--ok); }
.mtc-progress--blockiert .mtc-progress__bar { background: var(--danger); }
.mtc-progress__label { font-size: .78rem; color: var(--text-2); margin-left: 8px; vertical-align: middle; font-weight: 500; font-variant-numeric: tabular-nums; }
.mtc-cell-progress { white-space: nowrap; }

/* ---------------------------------------------------------------------
   Tabellen
   --------------------------------------------------------------------- */
.mtc-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--radius); }
.mtc-table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); font-size: .92rem; }
.mtc-panel .mtc-table { box-shadow: none; }
.mtc-table th, .mtc-table td { padding: 12px 14px; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--line-2); }
.mtc-table thead th { background: #f7f8fb; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); border-bottom: 1px solid var(--line); white-space: nowrap; }
.mtc-table thead th:first-child { border-top-left-radius: var(--radius); }
.mtc-table thead th:last-child { border-top-right-radius: var(--radius); }
.mtc-table tfoot th { background: #f7f8fb; color: var(--navy); }
.mtc-table tbody tr:last-child > * { border-bottom: 0; }
.mtc-table tbody tr { transition: background-color .12s; }
.mtc-table tbody tr:hover { background: #f8fbfe; }
.mtc-row { cursor: pointer; }
.mtc-row__title { font-weight: 500; color: var(--navy); }
.mtc-row__sub { display: block; color: var(--muted); font-size: .82rem; margin-top: 1px; }
.mtc-row--ueberfaellig td:first-child { box-shadow: inset 3px 0 0 var(--danger); }
.mtc-row--inaktiv td { color: var(--muted); }
.mtc-cell-actions { white-space: nowrap; text-align: right !important; }
.mtc-cell-actions form { margin: 0; }
.mtc-cell-actions .mtc-btn + .mtc-inline, .mtc-cell-actions .mtc-btn + .mtc-btn { margin-left: 4px; }
.mtc-table--phases input { width: 100%; }
@media (max-width: 760px) {
	.mtc-table.mtc-table--tasks, .mtc-table.mtc-table--users, .mtc-table.mtc-table--phases { border: 0; background: transparent; box-shadow: none; }
	.mtc-table--tasks thead, .mtc-table--users thead, .mtc-table--phases thead { display: none; }
	.mtc-table--tasks tr, .mtc-table--users tr, .mtc-table--phases tr { display: block; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); margin-bottom: 12px; padding: 8px 0; box-shadow: var(--shadow); }
	.mtc-table--tasks td, .mtc-table--users td, .mtc-table--phases td { display: flex; justify-content: space-between; align-items: center; gap: 12px; border: 0; padding: 6px 14px; }
	.mtc-table--tasks td::before, .mtc-table--users td::before, .mtc-table--phases td::before { content: attr(data-label); color: var(--muted); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; flex-shrink: 0; }
	.mtc-table--tasks td:first-child { display: block; padding-bottom: 8px; margin-bottom: 4px; border-bottom: 1px solid var(--line-2); }
	.mtc-table--tasks td:first-child::before { display: none; }
	.mtc-cell-actions { text-align: left !important; }
	.mtc-row--ueberfaellig td:first-child { box-shadow: none; }
	.mtc-row--ueberfaellig { border-left: 4px solid var(--danger) !important; }
}

/* Filterleiste */
.mtc-filter { display: flex; flex-wrap: wrap; gap: 12px 14px; align-items: flex-end; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px; margin-bottom: 18px; box-shadow: var(--shadow-sm); }
.mtc-filter label { display: flex; flex-direction: column; gap: 5px; font-size: .7rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .07em; }
.mtc-filter label.mtc-check { flex-direction: row; align-items: center; text-transform: none; letter-spacing: 0; font-size: .9rem; font-weight: 500; color: var(--text-2); padding-bottom: 10px; }
.mtc-filter select, .mtc-filter input[type=search], .mtc-filter input[type=month] { min-width: 170px; height: 40px; }

/* ---------------------------------------------------------------------
   Formulare
   --------------------------------------------------------------------- */
input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], input[type=time], input[type=search], input[type=month], input[type=password], select, textarea {
	font: inherit; font-size: .94rem; color: var(--text); padding: 9px 12px; min-height: 42px; border: 1px solid #d5dbe6; border-radius: 10px; background: #fff; width: 100%; max-width: 100%;
	transition: border-color .15s, box-shadow .15s;
}
select { appearance: none; -webkit-appearance: none; padding-right: 34px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23061341' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center; }
input:hover, select:hover, textarea:hover { border-color: #b9c3d4; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--fiber); box-shadow: 0 0 0 4px rgba(26,163,232,.15); }
input[disabled] { background: var(--line-2); color: var(--muted); }
input[type=file] { font: inherit; font-size: .88rem; padding: 10px; border: 1.5px dashed #c6cedd; border-radius: 10px; background: #fafbfd; width: 100%; cursor: pointer; }
input[type=file]:hover { border-color: var(--fiber); background: #f4fafe; }
input[type=checkbox], input[type=radio] { accent-color: var(--navy); width: 17px; height: 17px; }
textarea { resize: vertical; min-height: 84px; }
.mtc-form label { display: flex; flex-direction: column; gap: 6px; font-weight: 500; font-size: .85rem; color: var(--text-2); margin-bottom: 16px; }
.mtc-form label small { font-weight: 400; }
.mtc-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0 16px; }
.mtc-form__row .mtc-grow { grid-column: span 2; }
@media (max-width: 520px) { .mtc-form__row .mtc-grow { grid-column: auto; } }
.mtc-form__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; padding-top: 18px; border-top: 1px solid var(--line-2); }
.mtc-fieldset { border: 1px solid var(--line); border-radius: 10px; padding: 12px 16px 8px; margin: 0 0 18px; background: #fafbfd; }
.mtc-fieldset legend { font-weight: 700; font-size: .78rem; text-transform: uppercase; letter-spacing: .07em; color: var(--navy); padding: 0 6px; }
.mtc-checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 2px 14px; }
.mtc-check { display: flex !important; flex-direction: row !important; align-items: center; gap: 9px !important; font-weight: 500 !important; font-size: .92rem !important; color: var(--text) !important; margin-bottom: 8px !important; cursor: pointer; }
.mtc-check input { margin: 0; flex-shrink: 0; }
.mtc-check--block { align-items: flex-start; }
.mtc-check--mid { align-self: center; }
.mtc-form .mtc-check--mid { margin-top: 24px; }
.mtc-dl { display: grid; grid-template-columns: max-content 1fr; gap: 10px 22px; margin: 0; }
.mtc-dl dt { color: var(--muted); font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding-top: 2px; }
.mtc-dl dd { margin: 0; font-weight: 500; }
@media (max-width: 520px) { .mtc-dl { grid-template-columns: 1fr; gap: 0; } .mtc-dl dd { margin-bottom: 12px; } }
.mtc-prose { white-space: normal; color: var(--text-2); }

/* ---------------------------------------------------------------------
   Login – im Stil der Website (Navy, Glasfaser-Licht)
   --------------------------------------------------------------------- */
.mtc-login { position: relative; overflow: hidden; min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px 16px; background: radial-gradient(120% 90% at 50% 0%, #0d2a85 0%, var(--navy) 55%, #030a26 100%); }
.mtc-login__fibers { position: absolute; inset: 0; pointer-events: none; opacity: .9;
	background:
		radial-gradient(2px 2px at 12% 22%, rgba(120,210,255,.9), transparent 60%),
		radial-gradient(2px 2px at 82% 14%, rgba(120,210,255,.8), transparent 60%),
		radial-gradient(1.5px 1.5px at 68% 78%, rgba(120,210,255,.7), transparent 60%),
		radial-gradient(1.5px 1.5px at 24% 84%, rgba(120,210,255,.6), transparent 60%),
		linear-gradient(115deg, transparent 38%, rgba(26,163,232,.20) 48%, transparent 58%),
		linear-gradient(100deg, transparent 58%, rgba(26,163,232,.12) 64%, transparent 70%),
		linear-gradient(130deg, transparent 18%, rgba(26,163,232,.10) 24%, transparent 30%);
}
.mtc-login__card { position: relative; width: 100%; max-width: 420px; background: #fff; border-radius: 20px; padding: 34px 34px 24px; box-shadow: var(--shadow-lg); }
.mtc-login__brand { text-align: center; margin-bottom: 24px; }
.mtc-login__brand img { width: 132px; height: 132px; border-radius: 50%; margin-top: -100px; background: #fff; padding: 4px; box-shadow: 0 0 0 6px rgba(255,255,255,.12), 0 12px 32px rgba(3,10,36,.45); }
.mtc-login__brand h1 { font-size: 1.45rem; margin: 16px 0 4px; }
.mtc-login__brand p { color: var(--muted); margin: 0; font-size: .9rem; }
.mtc-login__card { margin-top: 70px; }
.mtc-login__card form p { margin-bottom: 14px; }
.mtc-login__card label { display: block; font-weight: 500; font-size: .85rem; color: var(--text-2); margin-bottom: 6px; }
.mtc-login__card input[type=text], .mtc-login__card input[type=password] { height: 46px; }
.mtc-login__card .login-remember label { display: flex; align-items: center; gap: 8px; font-weight: 400; color: var(--text-2); }
.mtc-login__card .login-submit { margin: 20px 0 6px; }
.mtc-login__card .login-submit input[type=submit] { width: 100%; height: 48px; border: 0; border-radius: 12px; background: var(--navy); color: #fff; font: inherit; font-weight: 700; font-size: 1rem; letter-spacing: .02em; cursor: pointer; box-shadow: 0 8px 20px rgba(6,19,65,.3); transition: background-color .15s, transform .15s; }
.mtc-login__card .login-submit input[type=submit]:hover { background: var(--navy-3); transform: translateY(-1px); }
.mtc-login__links { text-align: center; margin: 12px 0 0; font-size: .88rem; }
.mtc-login__foot { position: relative; margin-top: 22px; font-size: .9rem; }
.mtc-login__foot a { color: rgba(255,255,255,.75); }
.mtc-login__foot a:hover { color: #fff; }

/* ---------------------------------------------------------------------
   Karten, Feed, Verlauf
   --------------------------------------------------------------------- */
.mtc-card-task { display: block; border: 1px solid var(--line); border-left: 4px solid #a9b2c3; border-radius: 10px; padding: 12px 14px; color: inherit; background: #fff; transition: border-color .15s, box-shadow .15s, transform .15s; }
.mtc-card-task:hover { color: inherit; border-color: rgba(26,163,232,.55); box-shadow: 0 6px 18px rgba(6,19,65,.08); transform: translateY(-1px); }
.mtc-card-task--in_arbeit { border-left-color: var(--info); }
.mtc-card-task--blockiert { border-left-color: var(--danger); }
.mtc-card-task--erledigt { border-left-color: var(--ok); }
.mtc-card-task__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.mtc-card-task__head strong { font-weight: 500; color: var(--navy); }
.mtc-card-task__meta { color: var(--muted); font-size: .82rem; margin-top: 4px; }
.mtc-feed { list-style: none; margin: 0; padding: 0; }
.mtc-feed li { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line-2); }
.mtc-feed li:first-child { padding-top: 0; }
.mtc-feed li:last-child { border-bottom: 0; padding-bottom: 0; }
.mtc-feed__head { font-size: .88rem; }
.mtc-feed__head strong { font-weight: 500; color: var(--navy); }
.mtc-feed__body { font-size: .88rem; margin-top: 4px; color: var(--text-2); }
.mtc-timeline { list-style: none; margin: 0; padding: 0 0 0 4px; }
.mtc-timeline li { position: relative; padding: 0 0 18px 24px; border-left: 2px solid var(--line); margin-left: 10px; }
.mtc-timeline li:last-child { border-left-color: transparent; padding-bottom: 0; }
.mtc-timeline li::before { content: ""; position: absolute; left: -7px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 3px solid var(--fiber); }
.mtc-timeline__head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 6px; }
.mtc-timeline__head strong { font-weight: 500; color: var(--navy); }
.mtc-timeline__head .mtc-avatar { display: none; }
.mtc-timeline__head form { margin-left: auto; }
.mtc-photos { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.mtc-photo { display: block; width: 104px; height: 104px; border-radius: 10px; overflow: hidden; border: 1px solid var(--line); background: var(--line-2); transition: transform .15s, box-shadow .15s; }
.mtc-photo:hover { transform: scale(1.03); box-shadow: 0 8px 20px rgba(6,19,65,.15); }
.mtc-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mtc-photo__doc { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; font-weight: 700; color: var(--danger); text-align: center; padding: 6px; font-size: .9em; }
.mtc-photo__doc small { color: var(--muted); font-weight: 400; word-break: break-all; }

/* Projektkarten */
.mtc-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 18px; }
@media (max-width: 520px) { .mtc-cards { grid-template-columns: 1fr; } }
.mtc-card { position: relative; display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px 20px 16px; color: inherit; box-shadow: var(--shadow); overflow: hidden; transition: transform .15s, box-shadow .15s, border-color .15s; }
.mtc-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--navy), var(--fiber)); }
.mtc-card:hover { color: inherit; transform: translateY(-2px); border-color: rgba(26,163,232,.45); box-shadow: 0 14px 34px rgba(6,19,65,.12); }
.mtc-card__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.mtc-card__head h3 { margin: 2px 0 0; font-size: 1.05rem; text-transform: none; letter-spacing: 0; color: var(--navy); }
.mtc-card__head small { font-weight: 700; letter-spacing: .06em; text-transform: uppercase; font-size: .7rem; }
.mtc-card__meta { display: flex; flex-wrap: wrap; gap: 4px 14px; color: var(--muted); font-size: .84rem; margin: 10px 0 16px; }
.mtc-card__progress { margin-top: auto; }
.mtc-card__progress .mtc-progress { width: 100%; height: 8px; }
.mtc-card__progress .mtc-progress__label { display: block; margin: 6px 0 0; font-size: .78rem; }
.mtc-card__stats { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: .82rem; color: var(--muted); margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line-2); }
.mtc-card__stats strong { color: var(--navy); font-weight: 700; }

/* Phasen (Projektdetail) */
.mtc-phases { list-style: none; margin: 0; padding: 0; counter-reset: phase; display: flex; flex-direction: column; gap: 8px; }
.mtc-phase { padding: 10px 14px; border: 1px solid var(--line-2); border-left: 4px solid #c7cedb; background: #fafbfd; border-radius: 10px; }
.mtc-phase--in_arbeit { border-left-color: var(--info); }
.mtc-phase--blockiert { border-left-color: var(--danger); }
.mtc-phase--erledigt { border-left-color: var(--ok); background: #f6fcf9; }
.mtc-phase--offen { border-left-color: #8e98ab; }
.mtc-phase__head { display: flex; justify-content: space-between; gap: 8px; font-size: .92rem; }
.mtc-phase__name { font-weight: 500; color: var(--navy); }
.mtc-phase__name::before { counter-increment: phase; content: counter(phase, decimal-leading-zero); display: inline-block; min-width: 26px; color: var(--fiber); font-weight: 700; font-size: .8rem; }
.mtc-phase__count { font-weight: 700; white-space: nowrap; color: var(--navy); font-variant-numeric: tabular-nums; }
.mtc-phase .mtc-progress { width: 100%; display: block; margin: 8px 0 4px; }

/* Produktionsmatrix */
.mtc-table-wrap--matrix { margin-bottom: 10px; box-shadow: var(--shadow); }
.mtc-matrix { box-shadow: none !important; }
.mtc-matrix th.mtc-matrix__project { min-width: 220px; text-align: left; position: sticky; left: 0; z-index: 2; background: #fff; box-shadow: 1px 0 0 var(--line); }
.mtc-matrix thead th.mtc-matrix__project { background: #f7f8fb; }
.mtc-matrix th.mtc-matrix__phase { min-width: 112px; font-size: .64rem; vertical-align: bottom; white-space: normal; line-height: 1.3; }
.mtc-matrix tbody th { font-weight: 500; }
.mtc-matrix tbody th a { color: var(--navy); font-weight: 700; }
.mtc-matrix tbody th .mtc-badge { margin-top: 6px; }
.mtc-matrix__cell { text-align: center !important; padding: 8px !important; }
.mtc-matrix__cell a { display: block; color: inherit; padding: 8px 6px; border-radius: 8px; }
.mtc-matrix__cell a:hover { color: inherit; box-shadow: inset 0 0 0 2px rgba(26,163,232,.5); }
.mtc-matrix__cell strong { font-variant-numeric: tabular-nums; color: var(--navy); }
.mtc-matrix__cell .mtc-progress { width: 100%; display: block; margin-top: 6px; }
.mtc-matrix__cell small { display: block; font-size: .7rem; margin-top: 3px; }
.mtc-matrix__cell--offen a { background: #f2f4f8; }
.mtc-matrix__cell--in_arbeit a { background: var(--info-bg); }
.mtc-matrix__cell--blockiert a { background: var(--danger-bg); }
.mtc-matrix__cell--erledigt a { background: var(--ok-bg); }
.mtc-matrix__add { color: #c3cad8 !important; font-size: 1.2em; font-weight: 300; }
.mtc-matrix__add:hover { color: var(--fiber) !important; box-shadow: inset 0 0 0 1.5px dashed var(--fiber) !important; }
.mtc-matrix__total { text-align: center !important; min-width: 100px; }
.mtc-matrix__total strong { color: var(--navy); font-size: 1.05rem; }
.mtc-matrix__total .mtc-progress { width: 100%; display: block; margin: 6px 0 4px; }
.mtc-legend { display: flex; gap: 10px; flex-wrap: wrap; font-size: .8rem; margin: 0 0 22px; color: var(--text-2); }
.mtc-legend__item { display: inline-flex; align-items: center; gap: 6px; }
.mtc-legend__item::before { content: ""; width: 12px; height: 12px; border-radius: 4px; border: 1px solid var(--line); }
.mtc-legend__item.mtc-matrix__cell--offen::before { background: #f2f4f8; }
.mtc-legend__item.mtc-matrix__cell--in_arbeit::before { background: var(--info-bg); border-color: #c5d6fb; }
.mtc-legend__item.mtc-matrix__cell--blockiert::before { background: var(--danger-bg); border-color: #f4c4be; }
.mtc-legend__item.mtc-matrix__cell--erledigt::before { background: var(--ok-bg); border-color: #bfe7d3; }

/* Einsatzplan */
.mtc-week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; margin-bottom: 22px; }
@media (max-width: 1600px) { .mtc-week { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1180px) { .mtc-week { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .mtc-week { grid-template-columns: 1fr; } }
.mtc-day { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 12px; min-height: 150px; box-shadow: var(--shadow-sm); }
.mtc-day--today { border-color: var(--fiber); box-shadow: 0 0 0 3px rgba(26,163,232,.15); }
.mtc-day--today .mtc-day__head strong { color: var(--fiber); }
.mtc-day--weekend { background: #f8f9fb; }
.mtc-day__head { display: flex; align-items: center; gap: 6px; flex-wrap: nowrap; border-bottom: 1px solid var(--line-2); padding-bottom: 8px; margin-bottom: 10px; }
.mtc-day__head strong { color: var(--navy); font-size: .9rem; }
.mtc-day__head span { color: var(--muted); font-size: .8rem; }
.mtc-day__add { margin-left: auto; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 6px; color: var(--muted); font-weight: 500; }
.mtc-day__add:hover { background: var(--fiber-soft); color: var(--fiber); }
.mtc-slot { display: flex; flex-direction: column; gap: 4px; padding: 9px 11px; overflow-wrap: anywhere; border-radius: 8px; border: 1px solid var(--line); border-left-width: 4px; color: inherit; background: #fff; transition: border-color .15s, box-shadow .15s; }
.mtc-slot:hover { color: inherit; border-color: rgba(26,163,232,.55); box-shadow: 0 4px 12px rgba(6,19,65,.08); }
.mtc-slot--in_arbeit { border-left-color: var(--info); }
.mtc-slot--blockiert { border-left-color: var(--danger); }
.mtc-slot--erledigt { border-left-color: var(--ok); opacity: .7; }
.mtc-slot--offen { border-left-color: #8e98ab; }
.mtc-slot__time { align-self: flex-start; font-weight: 700; font-size: .72rem; color: var(--navy); background: var(--line-2); border-radius: 5px; padding: 1px 7px; font-variant-numeric: tabular-nums; }
.mtc-slot__body { display: flex; flex-direction: column; min-width: 0; font-size: .86rem; }
.mtc-slot__body strong { font-weight: 500; color: var(--navy); }
.mtc-slot__body small { color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mtc-slot__who { color: var(--fiber) !important; font-weight: 500; }

/* =====================================================================
   v1.2 – Topbar, Sprache, Fotos, 2FA, Berichte, Suche
   ===================================================================== */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
body.mtc-noscroll { overflow: hidden; }
.mtc-mt { margin-top: 12px !important; }
.mtc-mt-lg { margin-top: 28px !important; }
.mtc-ml { margin-left: 8px; }
@media (max-width: 640px) { .mtc-hide-sm { display: none; } }

.mtc-empty { display: flex; flex-direction: column; align-items: center; gap: 10px; border: 1px dashed #d5dbe6; background: #fafbfd; padding: 22px 16px; }
.mtc-empty p { margin: 0; }

.mtc-topbar__right { display: flex; align-items: center; gap: 10px; margin-left: 16px; }
.mtc-topbar__date { margin-left: auto; white-space: nowrap; }
.mtc-lang { display: flex; align-items: center; gap: 4px; margin: 0; }
.mtc-lang__label { color: var(--muted); display: inline-flex; }
.mtc-lang select { min-height: 34px; height: 34px; padding: 0 30px 0 10px; font-size: .84rem; border-radius: 8px; width: auto; background-position: right 10px center; }
.mtc-btn--site { background: var(--navy); color: #fff; border-color: var(--navy); height: 34px; }
.mtc-btn--site:hover { background: var(--navy-3); border-color: var(--navy-3); color: #fff; }
.mtc-topbar__search { flex: 1; max-width: 420px; position: relative; margin: 0; }
.mtc-topbar__search input { min-height: 38px; height: 38px; padding-left: 38px; border-radius: 999px; background: var(--bg); border-color: transparent; }
.mtc-topbar__search input:focus { background: #fff; }
.mtc-topbar__search .mtc-icon { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); color: var(--muted); pointer-events: none; }
@media (max-width: 1020px) {
	.mtc-topbar__right { margin-left: auto; gap: 6px; }
	.mtc-btn--site span { display: none; }
	.mtc-btn--site { width: 34px; padding: 0; }
	.mtc-topbar__search { display: none; }
	.mtc-lang__label { display: none; }
	.mtc-topbar__avatar { display: none; }
}
@media (max-width: 420px) { .mtc-topbar__brand strong { display: none; } }

a.mtc-userbox { border-radius: 10px; color: #fff; transition: background-color .15s; }
a.mtc-userbox:hover, a.mtc-userbox.is-active { background: rgba(255,255,255,.07); color: #fff; }

.mtc-segmented { gap: 6px; }
.mtc-segmented input[type=month] { height: 40px; min-height: 40px; width: 170px; }
@media (max-width: 640px) { .mtc-segmented .mtc-btn span { display: none; } }

.mtc-filter__search { flex: 1 1 200px; }
.mtc-filter__btns { display: flex; gap: 6px; padding-bottom: 1px; }
@media (max-width: 640px) { .mtc-filter > label { flex: 1 1 100%; } .mtc-filter select, .mtc-filter input[type=search] { min-width: 0; width: 100%; } }

.mtc-panel--accent { border-top: 3px solid var(--fiber); }
.mtc-panel--danger { border-top: 3px solid var(--danger); }
.mtc-panel--center { text-align: center; }
.mtc-form h2 { margin: 6px 0 16px; padding-bottom: 10px; border-bottom: 1px solid var(--line-2); font-size: 1rem; }
.mtc-form h2 ~ h2 { margin-top: 26px; }
.mtc-form__field { margin-bottom: 16px; }
.mtc-form__label { display: block; font-weight: 500; font-size: .85rem; color: var(--text-2); margin-bottom: 6px; }
.mtc-form__actions { align-items: center; }
.mtc-draft-hint { margin-left: auto; font-size: .78rem; }
@media (max-width: 640px) { .mtc-draft-hint { margin-left: 0; width: 100%; } .mtc-form__actions .mtc-btn--primary { flex: 1; } }
.mtc-subform { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line-2); }
.mtc-input-sm { max-width: 110px; }
.mtc-notice--info { background: var(--fiber-soft); border-color: #c4e6f8; border-left-color: var(--fiber); color: #0b4f75; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mtc-draft-note .mtc-btn { margin-left: auto; color: #0b4f75; }
.mtc-btn.is-loading { position: relative; color: transparent !important; }
.mtc-btn.is-loading .mtc-icon { opacity: 0; }
.mtc-btn.is-loading::after { content: ""; position: absolute; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.5); border-top-color: #fff; border-radius: 50%; animation: mtc-spin .7s linear infinite; }
.mtc-btn:not(.mtc-btn--primary):not(.mtc-btn--erledigt).is-loading::after { border-color: rgba(6,19,65,.25); border-top-color: var(--navy); }
@keyframes mtc-spin { to { transform: rotate(360deg); } }
.mtc-btn--icon { width: 34px; padding: 0; }
.mtc-table--users .mtc-cell-actions { width: 1%; }
.mtc-table--users .mtc-cell-actions > * { vertical-align: middle; }
.mtc-table--users .mtc-cell-actions .mtc-inline { display: inline-block; margin-left: 4px; }
.mtc-table--users td { font-size: .9rem; }
.mtc-person > span:last-child { min-width: 0; }
.mtc-person strong { white-space: nowrap; }
.mtc-contact a { overflow-wrap: anywhere; }
.mtc-btn--icon-danger:hover { color: var(--danger); background: var(--danger-bg); }

.mtc-person { display: flex; align-items: center; gap: 10px; }
.mtc-person strong { font-weight: 500; color: var(--navy); }
.mtc-contact { display: flex; flex-direction: column; gap: 2px; font-size: .88rem; }
.mtc-roles { display: grid; gap: 8px; }
.mtc-role { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; cursor: pointer; margin: 0; }
.mtc-role:hover { border-color: #b9c3d4; }
.mtc-role:has(input:checked) { border-color: var(--navy-3); box-shadow: 0 0 0 3px rgba(19,48,127,.1); }
.mtc-role input { margin-top: 3px; }
.mtc-role span { display: flex; flex-direction: column; }
.mtc-role strong { color: var(--navy); font-weight: 500; }
.mtc-role small { color: var(--muted); }
.mtc-checks { gap: 8px; }
.mtc-check--card { padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; margin-bottom: 0 !important; }
.mtc-check--card:has(input:checked) { border-color: var(--navy-3); background: #f4f7ff; }
.mtc-check--card > span:last-child { display: flex; flex-direction: column; line-height: 1.25; }

.mtc-photopicker__input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.mtc-photopicker { position: relative; border: 1.5px dashed #c6cedd; border-radius: 12px; padding: 12px; background: #fafbfd; transition: border-color .15s, background-color .15s; }
.mtc-photopicker:hover { border-color: var(--fiber); background: #f6fbfe; }
.mtc-photopicker__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 8px; }
.mtc-photopicker.has-files .mtc-photopicker__grid { margin-bottom: 12px; }
.mtc-photopicker__item { position: relative; aspect-ratio: 1; border-radius: 8px; overflow: hidden; border: 1px solid var(--line); background: #fff; }
.mtc-photopicker__item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mtc-photopicker__item small { position: absolute; left: 4px; bottom: 4px; background: rgba(6,19,65,.72); color: #fff; font-size: .66rem; padding: 1px 5px; border-radius: 4px; }
.mtc-photopicker__doc { display: flex; align-items: center; justify-content: center; height: 100%; font-weight: 700; color: var(--danger); }
.mtc-photopicker__rm { position: absolute; top: 4px; right: 4px; width: 26px; height: 26px; border-radius: 50%; border: 0; background: rgba(6,19,65,.78); color: #fff; font-size: 17px; line-height: 1; cursor: pointer; }
.mtc-photopicker__rm:hover { background: var(--danger); }
.mtc-photopicker__actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mtc-photopicker__actions small { flex: 1 1 200px; font-size: .78rem; }
.mtc-photopicker__count { font-size: .82rem; font-weight: 500; color: var(--navy); }
.mtc-photopicker.is-busy { opacity: .7; }
.mtc-form label.mtc-btn[data-mtc-photo-add] { display: inline-flex; flex-direction: row; cursor: pointer; margin: 0; font-size: .84rem; color: var(--navy); }

.mtc-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 10px; }
.mtc-gallery .mtc-photo { width: auto; height: auto; aspect-ratio: 1; }
.mtc-photo--sm { width: 84px; height: 84px; }
.mtc-docs { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.mtc-docs li { display: flex; align-items: center; gap: 10px; justify-content: space-between; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; }
.mtc-docs a { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; overflow-wrap: anywhere; }

.mtc-lightbox { position: fixed; inset: 0; z-index: 100; display: none; align-items: center; justify-content: center; background: rgba(3,10,36,.92); padding: 60px 16px; }
.mtc-lightbox.is-open { display: flex; }
.mtc-lightbox img { max-width: 100%; max-height: 100%; border-radius: 6px; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.mtc-lightbox__btn { position: absolute; border: 0; background: rgba(255,255,255,.12); color: #fff; width: 44px; height: 44px; border-radius: 50%; font-size: 26px; line-height: 1; cursor: pointer; }
.mtc-lightbox__btn:hover { background: rgba(255,255,255,.24); }
.mtc-lightbox__close { top: 12px; right: 12px; }
.mtc-lightbox__prev { left: 12px; top: 50%; transform: translateY(-50%); }
.mtc-lightbox__next { right: 12px; top: 50%; transform: translateY(-50%); }
.mtc-lightbox__cap { position: absolute; bottom: 18px; left: 0; right: 0; text-align: center; color: rgba(255,255,255,.8); font-size: .85rem; }

.mtc-feed__main { min-width: 0; flex: 1; }
.mtc-feed__time { font-size: .76rem; color: var(--muted); }
.mtc-feed__text { display: block; margin-top: 3px; }

.mtc-reportlist { display: flex; flex-direction: column; gap: 8px; }
.mtc-report { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 10px; color: var(--text); background: #fff; transition: border-color .15s, box-shadow .15s, transform .15s; }
.mtc-report:hover { color: var(--text); border-color: rgba(26,163,232,.55); box-shadow: 0 6px 16px rgba(6,19,65,.08); transform: translateY(-1px); }
.mtc-report > .mtc-icon { color: var(--danger); }
.mtc-report span { display: flex; flex-direction: column; min-width: 0; }
.mtc-report strong { font-weight: 500; color: var(--navy); }
.mtc-report small { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mtc-kpis--compact .mtc-kpi { padding: 14px 18px; }
.mtc-kpis--compact .mtc-kpi__value { font-size: 1.5rem; }

.mtc-pdfrange { display: flex; flex-wrap: wrap; gap: 10px 12px; align-items: flex-end; }
.mtc-pdfrange label { display: flex; flex-direction: column; gap: 5px; font-size: .7rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .07em; margin: 0; }
.mtc-pdfrange input[type=date] { width: 165px; }
.mtc-pdfrange .mtc-check { text-transform: none; letter-spacing: 0; font-size: .9rem !important; padding-bottom: 10px; }
@media (max-width: 520px) { .mtc-pdfrange label:not(.mtc-check) { flex: 1 1 45%; } .mtc-pdfrange input[type=date] { width: 100%; } .mtc-pdfrange .mtc-btn { width: 100%; } }

.mtc-day__head { justify-content: space-between; }
.mtc-day__head > div { display: flex; flex-direction: column; line-height: 1.25; }
.mtc-day__none { margin: 0; color: #b0b8c6; font-size: .8rem; text-align: center; padding: 14px 0; }
.mtc-day--empty { min-height: 110px; }
.mtc-slot__title { font-weight: 500; color: var(--navy); font-size: .88rem; line-height: 1.3; }
.mtc-slot__meta { color: var(--muted); font-size: .78rem; }
.mtc-slot__who { font-size: .78rem; }
.mtc-matrix__nr { display: block; color: var(--fiber); font-size: .7rem; margin-bottom: 2px; }
.mtc-table--compact th, .mtc-table--compact td { padding: 8px 10px; font-size: .84rem; }

.mtc-checklist { list-style: none; margin: 0 0 8px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.mtc-checklist li { position: relative; padding-left: 26px; font-size: .9rem; }
.mtc-checklist li::before { content: ""; position: absolute; left: 0; top: 3px; width: 16px; height: 16px; border-radius: 50%; background: var(--ok-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2315925a' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") no-repeat center; }
.mtc-logo-setting { display: flex; gap: 16px; align-items: flex-start; flex-wrap: wrap; margin-bottom: 8px; }
.mtc-logo-setting img { border-radius: 50%; border: 1px solid var(--line); background: #fff; padding: 2px; }
.mtc-logo-setting > div { flex: 1 1 240px; }

.mtc-langpick { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px; margin-bottom: 18px; }
.mtc-langpick__item { position: relative; display: block !important; margin: 0 !important; cursor: pointer; }
.mtc-langpick__item input { position: absolute; opacity: 0; }
.mtc-langpick__item span { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font-size: .88rem; color: var(--text-2); transition: border-color .15s, box-shadow .15s; }
.mtc-langpick__item strong { color: var(--navy); font-size: 1rem; }
.mtc-langpick__item input:checked + span { border-color: var(--navy-3); box-shadow: 0 0 0 3px rgba(19,48,127,.12); background: #f4f7ff; }
.mtc-langpick__item input:focus-visible + span { outline: 3px solid rgba(26,163,232,.45); }
.mtc-steps { margin: 0 0 14px; padding-left: 20px; color: var(--text-2); font-size: .9rem; }
.mtc-steps li { margin-bottom: 4px; }
.mtc-2fa-setup { display: flex; gap: 20px; flex-wrap: wrap; align-items: flex-start; }
.mtc-qr { width: 196px; height: 196px; border: 1px solid var(--line); border-radius: 12px; padding: 8px; background: #fff; flex-shrink: 0; }
.mtc-qr svg { width: 100%; height: 100%; display: block; }
.mtc-2fa-setup > div:last-child { flex: 1 1 220px; }
.mtc-secret { display: block; font-size: .95rem; letter-spacing: .06em; background: var(--line-2); border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; color: var(--navy); word-break: break-all; user-select: all; }
.mtc-code-input { font-size: 1.3rem !important; letter-spacing: .3em; text-align: center; max-width: 200px; font-variant-numeric: tabular-nums; }
.mtc-codes { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 6px; margin-top: 10px; }
.mtc-codes code { background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 6px; text-align: center; color: var(--navy); font-size: .95rem; }

.mtc-login__langs { position: absolute; top: 18px; right: 18px; display: flex; gap: 4px; z-index: 2; }
.mtc-login__langs a { color: rgba(255,255,255,.7); font-size: .78rem; font-weight: 700; letter-spacing: .06em; padding: 6px 9px; border-radius: 6px; }
.mtc-login__langs a:hover, .mtc-login__langs a.is-active { color: #fff; background: rgba(255,255,255,.12); }
.mtc-login__secure { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 14px 0 0; padding-top: 14px; border-top: 1px solid var(--line-2); color: var(--muted); font-size: .78rem; }
.mtc-btn--glass { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); color: #fff; box-shadow: none; }
.mtc-btn--glass:hover { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.35); color: #fff; }
.mtc-login__foot a.mtc-btn { color: #fff; }
.mtc-2fa-field label small { color: var(--muted); font-weight: 400; }
.mtc-2fa-field input { letter-spacing: .15em; }
#mtc-loginform.mtc-needs-2fa .mtc-2fa-field input { border-color: var(--fiber); box-shadow: 0 0 0 4px rgba(26,163,232,.15); }
@media (max-width: 480px) { .mtc-login__card { padding: 30px 20px 20px; } .mtc-login__langs { top: 10px; right: 10px; } }

.mtc-searchbar { position: relative; margin-bottom: 22px; }
.mtc-searchbar input[type=search] { min-height: 54px; padding: 0 130px 0 52px; font-size: 1.02rem; border-radius: 14px; border-color: var(--line); box-shadow: var(--shadow); }
.mtc-searchbar > .mtc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--muted); pointer-events: none; }
.mtc-searchbar .mtc-btn { position: absolute; right: 7px; top: 7px; height: 40px; }
@media (max-width: 520px) { .mtc-searchbar input[type=search] { padding-right: 16px; } .mtc-searchbar .mtc-btn { display: none; } }
.mtc-results { display: flex; flex-direction: column; gap: 6px; }
.mtc-result { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--text); transition: border-color .15s, box-shadow .15s; }
.mtc-result:hover { color: var(--text); border-color: rgba(26,163,232,.55); box-shadow: 0 6px 16px rgba(6,19,65,.07); }
.mtc-result__icon { width: 36px; height: 36px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: var(--fiber-soft); color: var(--navy-3); flex-shrink: 0; }
.mtc-result__main { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.mtc-result__main strong { font-weight: 500; color: var(--navy); }
.mtc-result__main small { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mtc-result mark { background: #fff1b8; color: inherit; padding: 0 1px; border-radius: 2px; }

/* =====================================================================
   v1.3 – Stunden, Urlaub & Abwesenheit, Kalender
   ===================================================================== */
.mtc-nav__badge { margin-left: auto; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: #f39200; color: #fff; font-style: normal; font-size: .7rem; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.mtc-btn--static { pointer-events: none; font-weight: 700; min-width: 70px; }
.mtc-kpi__value small { font-size: .55em; color: var(--muted); font-weight: 500; }
.mtc-switch { display: inline-flex; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 3px; box-shadow: var(--shadow-sm); }
.mtc-switch a { padding: 0 14px; height: 32px; display: inline-flex; align-items: center; border-radius: 7px; color: var(--text-2); font-weight: 500; font-size: .88rem; }
.mtc-switch a.is-active { background: var(--navy); color: #fff; }
.mtc-switch a:not(.is-active):hover { background: var(--line-2); color: var(--navy); }

/* Tag-Chips (Abwesenheiten, Feiertage) */
.mtc-tag { --c: #56607a; display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px; border-radius: 6px; font-size: .76rem; font-weight: 700; color: var(--c); background: color-mix(in srgb, var(--c) 12%, #fff); border: 1px solid color-mix(in srgb, var(--c) 30%, #fff); white-space: nowrap; }
.mtc-tag::before { content: ""; width: 7px; height: 7px; border-radius: 2px; background: var(--c); }
.mtc-tag--holiday { --c: #b7700a; }

/* Stunden: Tagesübersicht */
.mtc-grid--sheet { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: start; margin-bottom: 20px; }
@media (max-width: 1100px) { .mtc-grid--sheet { grid-template-columns: 1fr; } }
.mtc-panel--flush { padding-bottom: 6px; }
.mtc-sheet { display: flex; flex-direction: column; }
.mtc-sheet__week { display: flex; justify-content: space-between; align-items: center; margin: 14px 0 6px; padding: 6px 10px; border-radius: 8px; background: var(--fiber-soft); color: var(--navy-3); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.mtc-sheet__week:first-child { margin-top: 0; }
.mtc-sheet__day { display: grid; grid-template-columns: 54px 1fr 64px; gap: 12px; align-items: start; padding: 9px 4px; border-bottom: 1px solid var(--line-2); }
.mtc-sheet__day.is-weekend { background: #fafbfd; }
.mtc-sheet__day.is-weekend .mtc-sheet__date { color: #a9b1c0; }
.mtc-sheet__day.is-holiday { background: #fffaf0; }
.mtc-sheet__day.is-absent { background: #f5fbfe; }
.mtc-sheet__day.is-today { box-shadow: inset 3px 0 0 var(--fiber); }
.mtc-sheet__date { display: flex; flex-direction: column; align-items: center; line-height: 1.1; color: var(--navy); }
.mtc-sheet__date strong { font-size: 1.15rem; font-weight: 700; }
.mtc-sheet__date span { font-size: .72rem; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
.mtc-sheet__body { display: flex; flex-direction: column; gap: 5px; min-width: 0; padding-top: 2px; }
.mtc-sheet__body > .mtc-tag { align-self: flex-start; }
.mtc-sheet__entry { display: flex; justify-content: space-between; gap: 10px; padding: 6px 10px; border-radius: 8px; background: #fff; border: 1px solid var(--line); color: inherit; }
.mtc-sheet__entry:hover { color: inherit; border-color: rgba(26,163,232,.55); }
.mtc-sheet__task { display: flex; flex-direction: column; min-width: 0; }
.mtc-sheet__task strong { font-weight: 500; color: var(--navy); font-size: .9rem; }
.mtc-sheet__task small { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mtc-sheet__h { font-weight: 700; color: var(--navy-3); white-space: nowrap; font-variant-numeric: tabular-nums; font-size: .86rem; }
.mtc-sheet__none { color: #c0c7d3; font-size: .82rem; font-style: italic; }
.mtc-sheet__sum { text-align: right; font-weight: 700; color: var(--navy); font-variant-numeric: tabular-nums; padding-top: 4px; }
.mtc-sheet__total { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; padding: 12px 14px; border-radius: 10px; background: var(--navy); color: #fff; font-weight: 500; }
.mtc-sheet__total strong { font-size: 1.15rem; }
@media (max-width: 520px) { .mtc-sheet__day { grid-template-columns: 42px 1fr 46px; gap: 8px; } }

/* Balken-Liste, Urlaubskonto-Ring */
.mtc-bars { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.mtc-bars__head { display: flex; justify-content: space-between; gap: 10px; font-size: .88rem; margin-bottom: 5px; }
.mtc-bars__head strong { color: var(--navy); white-space: nowrap; }
.mtc-bars .mtc-progress { width: 100%; height: 8px; }
.mtc-balance { display: flex; gap: 22px; align-items: center; flex-wrap: wrap; }
.mtc-balance .mtc-dl { flex: 1 1 180px; }
.mtc-balance__ring { --p: 0; width: 132px; height: 132px; border-radius: 50%; flex-shrink: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative;
	background: conic-gradient(var(--fiber) calc(var(--p) * 1%), var(--line-2) 0); }
.mtc-balance__ring::before { content: ""; position: absolute; inset: 12px; border-radius: 50%; background: #fff; }
.mtc-balance__ring > * { position: relative; }
.mtc-balance__ring strong { font-size: 1.7rem; color: var(--navy); line-height: 1; }
.mtc-balance__ring small { font-size: .72rem; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; margin-top: 4px; }

/* Abwesenheits-Karten */
.mtc-badge--a-beantragt { background: var(--warn-bg); color: var(--warn); }
.mtc-badge--a-genehmigt { background: var(--ok-bg); color: var(--ok); }
.mtc-badge--a-abgelehnt { background: var(--danger-bg); color: var(--danger); }
.mtc-badge--a-storniert { background: var(--gray-bg); color: var(--muted); }
.mtc-leave { --c: #56607a; border: 1px solid var(--line); border-left: 4px solid var(--c); border-radius: 10px; padding: 12px 14px; background: #fff; }
.mtc-leave--abgelehnt, .mtc-leave--storniert { opacity: .7; }
.mtc-leave__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.mtc-leave__head > div { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mtc-leave__who { color: var(--navy); font-weight: 700; }
.mtc-leave__period { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 8px; color: var(--text); font-weight: 500; }
.mtc-leave__period .mtc-icon { color: var(--muted); }
.mtc-leave__days { margin-left: auto; font-size: .8rem; color: var(--navy-3); background: var(--fiber-soft); padding: 2px 8px; border-radius: 6px; font-weight: 700; }
.mtc-leave__note { margin: 8px 0 0; color: var(--text-2); font-size: .9rem; }
.mtc-leave__answer { margin: 8px 0 0; padding: 8px 10px; background: var(--line-2); border-radius: 8px; font-size: .86rem; color: var(--text-2); }
.mtc-leave__info { display: flex; flex-direction: column; gap: 3px; margin-top: 8px; font-size: .82rem; color: var(--text-2); }
.mtc-leave__actions { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.mtc-leave__decide { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.mtc-leave__decide input[type=text] { flex: 1 1 200px; min-height: 32px; height: 32px; font-size: .86rem; }
.mtc-absent-row { --c: #56607a; display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--line); border-left: 4px solid var(--c); border-radius: 8px; }
.mtc-absent-row > span:last-child { display: flex; flex-direction: column; }
.mtc-absent-row strong { color: var(--navy); font-weight: 500; }
.mtc-absent-row small { color: var(--muted); }

/* Kalender – Monatsansicht */
.mtc-cal { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; margin-bottom: 16px; }
.mtc-cal__head { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); background: var(--navy); color: #fff; }
.mtc-cal__head span { padding: 10px 12px; font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.mtc-cal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.mtc-cal__day { min-height: 128px; padding: 6px 7px 8px; border-right: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.mtc-cal__day:nth-child(7n) { border-right: 0; }
.mtc-cal__day.is-out { background: #fafbfd; }
.mtc-cal__day.is-out .mtc-cal__num span { color: #c6ccd7; }
.mtc-cal__day.is-weekend:not(.is-out) { background: #f8f9fc; }
.mtc-cal__day.is-holiday:not(.is-out) { background: #fffaf0; }
.mtc-cal__num { display: flex; justify-content: space-between; align-items: center; }
.mtc-cal__num span { font-weight: 700; color: var(--navy); font-size: .9rem; width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }
.mtc-cal__day.is-today .mtc-cal__num span { background: var(--fiber); color: #fff; }
.mtc-cal__add { width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; color: #c0c7d3; font-weight: 700; opacity: 0; transition: opacity .15s; }
.mtc-cal__day:hover .mtc-cal__add { opacity: 1; }
.mtc-cal__add:hover { background: var(--fiber-soft); color: var(--fiber); }
.mtc-cal__hol { font-size: .7rem; color: #b7700a; font-weight: 700; line-height: 1.2; }
.mtc-cal__ev { display: block; padding: 3px 7px; border-radius: 5px; font-size: .74rem; line-height: 1.3; color: var(--navy); background: #eef1f6; border-left: 3px solid #8e98ab; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mtc-cal__ev b { font-weight: 700; margin-right: 4px; color: var(--navy-3); }
.mtc-cal__ev:hover { color: var(--navy); filter: brightness(.96); }
.mtc-cal__ev--in_arbeit { background: var(--info-bg); border-left-color: var(--info); }
.mtc-cal__ev--blockiert { background: var(--danger-bg); border-left-color: var(--danger); }
.mtc-cal__ev--erledigt { background: var(--ok-bg); border-left-color: var(--ok); opacity: .8; }
.mtc-cal__abs { --c: #56607a; padding: 3px 7px; border-radius: 5px; font-size: .72rem; font-weight: 700; color: #fff; background: var(--c); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mtc-cal__abs.is-pending, .mtc-team__abs.is-pending { background: repeating-linear-gradient(135deg, var(--c), var(--c) 6px, color-mix(in srgb, var(--c) 70%, #fff) 6px, color-mix(in srgb, var(--c) 70%, #fff) 12px); }
.mtc-cal__more { font-size: .72rem; font-weight: 700; color: var(--navy-3); padding-left: 4px; }
@media (max-width: 760px) {
	.mtc-cal__head span { padding: 8px 2px; text-align: center; font-size: .66rem; }
	.mtc-cal__day { min-height: 74px; padding: 4px 3px; }
	.mtc-cal__ev, .mtc-cal__abs { font-size: 0; padding: 0; height: 6px; border-radius: 3px; border-left-width: 0; }
	.mtc-cal__ev b { display: none; }
	.mtc-cal__hol { font-size: 0; height: 4px; background: #f3c58f; border-radius: 2px; }
	.mtc-cal__more { font-size: .62rem; }
	.mtc-cal__add { display: none; }
}

/* Kalender – Teamansicht */
.mtc-team-wrap { overflow-x: auto; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); margin-bottom: 16px; }
.mtc-team { border-collapse: separate; border-spacing: 0; width: 100%; font-size: .8rem; }
.mtc-team th, .mtc-team td { border-bottom: 1px solid var(--line-2); border-right: 1px solid var(--line-2); text-align: center; padding: 0; min-width: 32px; height: 40px; }
.mtc-team thead th { background: #f7f8fb; color: var(--navy); font-weight: 700; height: 46px; position: sticky; top: 0; z-index: 1; }
.mtc-team thead th small { display: block; font-size: .62rem; color: var(--muted); font-weight: 500; text-transform: uppercase; }
.mtc-team .mtc-team__name { position: sticky; left: 0; z-index: 2; background: #fff; text-align: left; padding: 0 12px; min-width: 190px; white-space: nowrap; box-shadow: 1px 0 0 var(--line); }
.mtc-team thead .mtc-team__name { background: #f7f8fb; z-index: 3; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.mtc-team__name a { display: inline-flex; align-items: center; gap: 8px; color: var(--navy); font-weight: 500; }
.mtc-team .is-weekend { background: #f6f7fa; }
.mtc-team .is-holiday { background: #fff5e0; }
.mtc-team .is-today { box-shadow: inset 2px 0 0 var(--fiber), inset -2px 0 0 var(--fiber); }
.mtc-team thead .is-today { background: var(--fiber); color: #fff; }
.mtc-team thead .is-today small { color: rgba(255,255,255,.85); }
.mtc-team__abs { --c: #56607a; display: flex; align-items: center; justify-content: center; height: 100%; min-height: 40px; background: var(--c); color: #fff; font-weight: 700; font-size: .72rem; }
.mtc-team__ev { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 7px; background: var(--line-2); color: var(--navy); font-weight: 700; font-size: .74rem; border: 2px solid #8e98ab; }
.mtc-team__ev:hover { color: var(--navy); transform: scale(1.08); }
.mtc-team__ev--in_arbeit { background: var(--info-bg); border-color: var(--info); color: var(--info); }
.mtc-team__ev--blockiert { background: var(--danger-bg); border-color: var(--danger); color: var(--danger); }
.mtc-team__ev--erledigt { background: var(--ok-bg); border-color: var(--ok); color: var(--ok); }

/* Kalender-Legende */
.mtc-legend--cal { gap: 8px 16px; align-items: center; }
.mtc-legend__dot { display: inline-flex; align-items: center; gap: 6px; background: none !important; border: 0 !important; padding: 0 !important; font-size: .8rem; }
.mtc-legend__dot::before { content: ""; width: 12px; height: 12px; border-radius: 3px; background: #eef1f6; border-left: 3px solid #8e98ab; }
.mtc-legend__dot.mtc-cal__ev--in_arbeit::before { background: var(--info-bg); border-left-color: var(--info); }
.mtc-legend__dot.mtc-cal__ev--blockiert::before { background: var(--danger-bg); border-left-color: var(--danger); }
.mtc-legend__dot.mtc-cal__ev--erledigt::before { background: var(--ok-bg); border-left-color: var(--ok); }
.mtc-legend__abs { --c: #56607a; display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; }
.mtc-legend__abs b { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 18px; padding: 0 4px; border-radius: 4px; background: var(--c); color: #fff; font-size: .66rem; }
.mtc-legend__hol { display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; }
.mtc-legend__hol::before { content: ""; width: 12px; height: 12px; border-radius: 3px; background: #fff5e0; border: 1px solid #f3c58f; }
.mtc-table--hours td { font-size: .9rem; }

/* =====================================================================
   v1.4 – Mein Tag, Abbruch, Archiv & Statistik, Jahresplaner
   ===================================================================== */
:root { --abort: #e8590c; --abort-bg: #fff0e6; }
.mtc-badge--abgebrochen { background: var(--abort-bg); color: var(--abort); }
.mtc-card-task--abgebrochen, .mtc-slot--abgebrochen { border-left-color: var(--abort); }
.mtc-cal__ev--abgebrochen { background: var(--abort-bg); border-left-color: var(--abort); }
.mtc-team__ev--abgebrochen { background: var(--abort-bg); border-color: var(--abort); color: var(--abort); }
.mtc-progress--abgebrochen .mtc-progress__bar { background: var(--abort); }
.mtc-btn--abgebrochen { border-color: rgba(232,89,12,.4); color: var(--abort); }
.mtc-btn--abgebrochen:hover { background: var(--abort-bg); color: var(--abort); border-color: var(--abort); }
.mtc-ordernr { margin: 0 0 2px !important; color: var(--fiber); font-weight: 700; font-size: 1.05rem; letter-spacing: .02em; }
.mtc-color { width: 64px !important; min-height: 42px; padding: 4px !important; cursor: pointer; }
.mtc-filter--flat { box-shadow: none; border: 0; padding: 0; margin-bottom: 14px; background: transparent; }
.mtc-leave__sub { margin: 6px 0 0; font-size: .86rem; color: var(--text-2); display: flex; align-items: center; gap: 6px; }

/* Verlauf mit Ereignis-Label (wie "History - Order") */
.mtc-timeline__event { display: inline-block; margin-bottom: 4px; padding: 2px 9px; border-radius: 6px; font-size: .74rem; font-weight: 700; letter-spacing: .02em; background: var(--line-2); color: var(--text-2); }
.mtc-timeline__event--abgebrochen { background: var(--abort-bg); color: var(--abort); }
.mtc-timeline__event--erledigt { background: var(--ok-bg); color: var(--ok); }
.mtc-timeline__event--in_arbeit { background: var(--info-bg); color: var(--info); }
.mtc-timeline__event--blockiert { background: var(--danger-bg); color: var(--danger); }

/* Mein Tag */
.mtc-day-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.mtc-day-head h1 { margin-bottom: 2px; }
.mtc-day-head p { margin: 0; }
.mtc-jobs { display: flex; flex-direction: column; gap: 14px; padding-bottom: 90px; }
.mtc-job { --pc: #8e98ab; display: grid; grid-template-columns: 150px minmax(0, 1fr); background: var(--surface); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; box-shadow: var(--shadow); cursor: pointer; transition: box-shadow .15s, transform .15s; }
.mtc-job:hover { box-shadow: 0 12px 30px rgba(6,19,65,.12); transform: translateY(-1px); }
.mtc-job__time { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 16px 10px; background: var(--navy); color: #fff; text-align: center; }
.mtc-job__slot { font-size: 1.15rem; font-weight: 700; color: #f6a530; letter-spacing: .01em; }
.mtc-job__label { font-size: .7rem; color: rgba(255,255,255,.6); font-style: italic; margin-top: 6px; }
.mtc-job__window { font-size: .92rem; color: rgba(255,255,255,.9); font-style: italic; }
.mtc-job__dur { display: inline-flex; align-items: center; gap: 5px; font-size: .8rem; color: rgba(255,255,255,.75); font-style: italic; margin: 6px 0 4px; }
.mtc-job__time .mtc-badge { margin-top: auto; }
.mtc-job__main { position: relative; padding: 14px 16px 12px 20px; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.mtc-job__main::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--pc); }
.mtc-job__top { display: flex; flex-direction: column; gap: 1px; }
.mtc-job__nr { color: var(--fiber); font-weight: 700; font-size: 1.15rem; letter-spacing: .01em; }
.mtc-job__title { color: var(--navy); font-weight: 700; font-size: 1rem; }
.mtc-job__proj { color: var(--muted); font-size: .8rem; }
.mtc-job__addr { display: flex; flex-direction: column; font-size: .98rem; color: var(--text); line-height: 1.4; }
.mtc-job__addr strong { font-weight: 500; }
.mtc-job__note { margin: 2px 0 0; color: var(--text-2); font-style: italic; font-size: .9rem; }
.mtc-job__who { margin: 0; font-size: .82rem; color: var(--navy-3); font-weight: 500; }
.mtc-job__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 6px; }
.mtc-round { position: relative; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; width: 62px; height: 58px; border-radius: 16px; border: 1px solid var(--line); background: var(--line-2); color: var(--navy); font: inherit; font-size: .66rem; font-weight: 700; cursor: pointer; transition: background-color .15s, border-color .15s, transform .15s; }
.mtc-round:hover { background: #fff; border-color: var(--fiber); color: var(--navy); transform: translateY(-1px); }
.mtc-round em { position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: var(--fiber); color: #fff; font-style: normal; font-size: .7rem; display: inline-flex; align-items: center; justify-content: center; }
.mtc-round--primary { background: var(--navy); border-color: var(--navy); color: #fff; }
.mtc-round--primary:hover { background: var(--navy-3); color: #fff; }
/* Statusfarbe der Trennlinie zwischen blauem und weißem Bereich (v1.6.3) */
.mtc-job__main { padding-left: 24px; }
.mtc-job .mtc-job__main::before { width: 9px; opacity: 1; background: #9aa3b5; }
.mtc-job--in_arbeit .mtc-job__main::before { background: var(--fiber); }
.mtc-job--erledigt .mtc-job__main::before { background: var(--ok); }
.mtc-job--blockiert .mtc-job__main::before { background: var(--danger); }
.mtc-job--abgebrochen .mtc-job__main::before { background: var(--abort); }
.mtc-job--erledigt { background: #f3fbf6; border-color: #bfe5cf; }
.mtc-job--erledigt .mtc-job__time, .mtc-job--erledigt .mtc-job__main > * { opacity: .6; }
.mtc-job--blockiert { border-color: #f1c7c2; }
.mtc-job--abgebrochen .mtc-job__time { background: #4a2a1a; }
@media (max-width: 640px) {
	.mtc-job { grid-template-columns: 92px minmax(0, 1fr); border-radius: 14px; }
	.mtc-job__time { padding: 12px 6px; }
	.mtc-job__slot { font-size: .9rem; }
	.mtc-job__main { padding: 12px 10px 10px 14px; }
	.mtc-job__actions { gap: 6px; }
	.mtc-round { width: 48px; height: 50px; border-radius: 12px; font-size: .6rem; }
	.mtc-day-route { width: 100%; }
}
.mtc-modal { position: fixed; inset: 0; z-index: 90; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(3,10,36,.55); cursor: default; }
.mtc-modal[hidden] { display: none; }
.mtc-modal__box { width: 100%; max-width: 380px; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: var(--shadow-lg); }
.mtc-modal__head { padding: 14px 18px; background: var(--navy); color: #f6a530; font-weight: 700; }
.mtc-modal__list { list-style: none; margin: 0; padding: 6px 0; }
.mtc-modal__list li { display: flex; align-items: center; gap: 10px; padding: 9px 18px; }
.mtc-modal__list li > span:nth-child(2) { display: flex; flex-direction: column; flex: 1; }
.mtc-modal__list strong { color: var(--navy); font-weight: 500; }
.mtc-modal__list small { color: var(--muted); }
.mtc-modal__empty { padding: 16px 18px; margin: 0; color: var(--muted); }
.mtc-modal__ok { display: block; width: 100%; border: 0; padding: 14px; background: #f39200; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.mtc-modal__ok:hover { background: #e08600; }
.mtc-daybar { position: fixed; left: var(--sidebar); right: 0; bottom: 0; z-index: 25; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(6,19,65,.96); backdrop-filter: blur(8px); }
.mtc-daybar__btn { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; height: 46px; padding: 0 12px; border-radius: 14px; background: rgba(255,255,255,.1); color: #fff; font-weight: 700; }
.mtc-daybar__btn:hover { background: rgba(255,255,255,.2); color: #fff; }
.mtc-daybar__date { display: flex; flex-direction: column; align-items: center; margin: 0; color: #fff; }
.mtc-daybar__date strong { font-size: .86rem; color: #f6a530; }
.mtc-daybar__date input { background: transparent; border: 0; color: #fff; min-height: 28px; height: 28px; padding: 0 4px; text-align: center; width: auto; color-scheme: dark; }
.mtc-daybar__date input:focus { box-shadow: none; }
@media (max-width: 1020px) { .mtc-daybar { left: 0; } }
.mtc-body--app:has(.mtc-daybar) .mtc-footer { padding-bottom: 90px; }

/* Archiv & Statistik */
.mtc-chart { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 8px; align-items: stretch; height: 260px; padding: 8px 4px 0; margin-bottom: 18px; }
.mtc-chart__col { display: flex; flex-direction: column; align-items: center; height: 100%; min-width: 0; }
.mtc-chart__bars { flex: 1; width: 100%; display: flex; align-items: flex-end; justify-content: center; gap: 3px; }
.mtc-chart__bar { position: relative; width: 42%; max-width: 22px; min-height: 2px; border-radius: 5px 5px 2px 2px; background: linear-gradient(180deg, var(--fiber), var(--navy-3)); overflow: hidden; }
.mtc-chart__bar i { position: absolute; left: 0; right: 0; bottom: 0; background: repeating-linear-gradient(135deg, rgba(255,255,255,.35), rgba(255,255,255,.35) 3px, transparent 3px, transparent 6px); }
.mtc-chart__bar--b { background: #f39200; opacity: .85; }
.mtc-chart__val { font-size: .68rem; color: var(--navy); font-weight: 700; margin-top: 4px; min-height: 1em; }
.mtc-chart__lbl { font-size: .7rem; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.mtc-chart__lbl small { font-size: .62rem; }
.mtc-legend__sw { display: inline-block; width: 12px; height: 12px; border-radius: 3px; vertical-align: -1px; margin: 0 4px 0 10px; }
.mtc-legend__sw--a { background: linear-gradient(180deg, var(--fiber), var(--navy-3)); margin-left: 0; }
.mtc-legend__sw--arch { background: repeating-linear-gradient(135deg, #9ccbea, #9ccbea 3px, #13307f 3px, #13307f 6px); }
.mtc-legend__sw--b { background: #f39200; }
@media (max-width: 640px) { .mtc-chart { gap: 3px; height: 180px; } .mtc-chart__val { display: none; } .mtc-chart__lbl small { display: none; } }
.mtc-preview { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px; margin: 12px 0; }
.mtc-preview > div { background: var(--line-2); border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; }
.mtc-preview strong { font-size: 1.35rem; color: var(--navy); }
.mtc-preview span { font-size: .68rem; color: var(--muted); text-transform: uppercase; letter-spacing: .03em; overflow-wrap: anywhere; }
.mtc-archiv-run .mtc-progress { width: 100%; height: 10px; margin: 10px 0 4px; }
.mtc-archive { border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; }
.mtc-archive__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.mtc-archive__head strong { color: var(--navy); }
.mtc-archive__meta { margin: 6px 0 10px; color: var(--text-2); font-size: .86rem; }
.mtc-archive__actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }

/* Jahresplaner */
.mtc-year-wrap { overflow-x: auto; }
.mtc-year { border-collapse: separate; border-spacing: 2px; font-size: .68rem; min-width: 760px; width: 100%; }
.mtc-year th { color: var(--muted); font-weight: 700; text-align: center; padding: 2px; }
.mtc-year tbody th { text-align: left; color: var(--navy); font-size: .74rem; padding-right: 8px; white-space: nowrap; }
.mtc-year td { --c: transparent; height: 24px; min-width: 20px; border-radius: 4px; background: var(--line-2); text-align: center; vertical-align: middle; }
.mtc-year td.is-weekend { background: #e3e7ef; }
.mtc-year td.is-holiday { background: #f8d9a6; }
.mtc-year td.is-none { background: transparent; }
.mtc-year td.is-today { box-shadow: inset 0 0 0 2px var(--fiber); }
.mtc-year td[style] { background: var(--c); color: #fff; font-weight: 700; }
.mtc-year td.is-pending[style] { background: repeating-linear-gradient(135deg, var(--c), var(--c) 4px, color-mix(in srgb, var(--c) 60%, #fff) 4px, color-mix(in srgb, var(--c) 60%, #fff) 8px); }
.mtc-year td span { font-size: .6rem; }

@media print {
	.mtc-sidebar, .mtc-topbar, .mtc-actions, .mtc-filter, .mtc-footer { display: none !important; }
	.mtc-content { margin: 0; }
	.mtc-panel, .mtc-table, .mtc-kpi, .mtc-card { box-shadow: none; }
}

/* v1.5 – Kunde, Sicherheit */
.mtc-modal__box--kunde { max-width: 420px; }
.mtc-kunde { display: grid; grid-template-columns: max-content 1fr; gap: 8px 16px; margin: 0; padding: 16px 18px 6px; }
.mtc-kunde dt { color: var(--muted); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding-top: 3px; }
.mtc-kunde dd { margin: 0; color: var(--navy); font-weight: 500; overflow-wrap: anywhere; }
.mtc-modal__actions { display: flex; gap: 8px; padding: 10px 18px 16px; flex-wrap: wrap; }
.mtc-round--kunde { background: #fff6e8; border-color: #f6c983; color: #8a5300; }
.mtc-round--kunde:hover { border-color: #f39200; color: #8a5300; }
.mtc-confirm { background: #fff8ec; border: 1px solid #f4d6a6; border-radius: 10px; padding: 10px 12px; }
.mtc-confirm--opt { background: #fafbfd; border-color: var(--line); }
.mtc-input-inline { display: inline-block; width: 150px !important; min-height: 32px !important; height: 32px; font-size: .84rem !important; }
.mtc-findings { list-style: none; margin: 8px 0 12px; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: .84rem; }
.mtc-findings li { padding: 6px 10px; border-radius: 8px; background: var(--line-2); }
.mtc-findings--danger { background: var(--danger-bg) !important; color: var(--danger); }
.mtc-findings--warn { background: var(--warn-bg) !important; color: #6e4304; }
.mtc-findings code { font-size: .78rem; word-break: break-all; }
.mtc-table-wrap--scroll { max-height: 420px; overflow-y: auto; }
.mtc-row--warn td { background: #fffaf0; }

/* v1.6 – Material & Lager, Zeiterfassung */
.mtc-modal__box--wide { max-width: 560px; max-height: calc(100vh - 40px); overflow-y: auto; }
.mtc-modal__head small { display: block; color: #cfd6e8; font-weight: 400; font-size: .82rem; margin-top: 2px; }
.mtc-modal__body { padding: 16px 18px 4px; display: flex; flex-direction: column; gap: 12px; }
.mtc-modal__body h3 { margin: 4px 0 0; font-size: .95rem; color: var(--navy); }
.mtc-modal__body p { margin: 0; }
.mtc-modal__danger { padding: 0 18px 16px; text-align: right; }
.mtc-kpi--warn { border-color: #f4d6a6; background: #fffaf0; }
.mtc-kpi--warn .mtc-kpi__value { color: var(--warn); }
.mtc-row--inaktiv td { opacity: .55; }
.mtc-table td.r, .mtc-table th.r { text-align: right; }
.mtc-mb { margin-bottom: 12px; }
.mtc-btn--go { background: var(--ok); border-color: var(--ok); color: #fff; }
.mtc-btn--go:hover { background: #0f7a4a; border-color: #0f7a4a; color: #fff; }

.mtc-usage { display: flex; flex-direction: column; gap: 8px; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fafbfd; }
.mtc-usage__hint { margin: 0; font-size: .84rem; }
.mtc-usage__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.mtc-usage__row { display: grid; grid-template-columns: 1fr auto 42px; align-items: center; gap: 10px; padding: 8px 10px; background: #fff; border: 1px solid var(--line-2); border-radius: 10px; }
.mtc-usage__name { display: flex; flex-direction: column; min-width: 0; }
.mtc-usage__name strong { color: var(--navy); font-weight: 500; overflow-wrap: anywhere; }
.mtc-usage__name small { color: var(--muted); font-size: .78rem; }
.mtc-usage__unit { color: var(--muted); font-size: .84rem; }
.mtc-stepper { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: #fff; }
.mtc-stepper input { width: 64px !important; min-height: 40px !important; border: 0 !important; border-radius: 0 !important; text-align: center; box-shadow: none !important; -moz-appearance: textfield; }
.mtc-stepper input::-webkit-outer-spin-button, .mtc-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.mtc-stepper__btn { width: 40px; height: 40px; border: 0; background: var(--line-2); color: var(--navy); font-size: 1.2rem; font-weight: 700; cursor: pointer; }
.mtc-stepper__btn:hover { background: var(--fiber-soft); }
.mtc-usage__extra { display: flex; flex-direction: column; gap: 6px; }
.mtc-usage__pick { display: grid; grid-template-columns: 1fr 110px; gap: 8px; }
.mtc-usage [data-mtc-usage-add] { align-self: flex-start; }
.mtc-usage-sum { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.mtc-usage-sum li { padding: 5px 10px; border-radius: 999px; background: var(--fiber-soft); color: var(--navy); font-size: .86rem; }

.mtc-check-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.mtc-check-list li { display: grid; grid-template-columns: 1fr 110px 40px; align-items: center; gap: 10px; padding: 6px 10px; border-radius: 10px; background: var(--line-2); }
.mtc-check-list li > span { display: flex; flex-direction: column; min-width: 0; }
.mtc-check-list li small { color: var(--muted); font-size: .78rem; }
.mtc-check-list li em { font-style: normal; color: var(--muted); font-size: .84rem; }
.mtc-check-list li.is-neg { background: var(--danger-bg); }
.mtc-check-list--big li { padding: 9px 12px; }
.mtc-check-list .mtc-input-inline { width: 110px !important; height: 38px; min-height: 38px !important; }

.mtc-vehicles { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.mtc-vehicles a { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 10px; color: var(--text); }
.mtc-vehicles a:hover { background: var(--line-2); }
.mtc-vehicles a > span:nth-child(2) { display: flex; flex-direction: column; flex: 1; }
.mtc-vehicles small { color: var(--muted); font-size: .8rem; }

.mtc-journal { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.mtc-journal li { display: flex; align-items: flex-start; gap: 12px; padding: 10px 4px; border-bottom: 1px solid var(--line-2); }
.mtc-journal li.is-open { background: #fffaf0; border-radius: 8px; padding-left: 8px; }
.mtc-journal__qty { min-width: 74px; font-weight: 700; color: var(--navy); text-align: right; white-space: nowrap; }
.mtc-journal__qty small { font-weight: 400; color: var(--muted); }
.mtc-journal__qty--verbrauch, .mtc-journal__qty--ausgabe { color: var(--fiber); }
.mtc-journal__qty--zugang, .mtc-journal__qty--rueckgabe, .mtc-journal__qty--verbrauch_storno { color: var(--ok); }
.mtc-journal__qty--korrektur_ma, .mtc-journal__qty--korrektur_fzg, .mtc-journal__qty--korrektur_lager { color: var(--warn); }
.mtc-journal__main { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.mtc-journal__main strong { color: var(--navy); font-weight: 500; }
.mtc-journal__main small { font-size: .8rem; color: var(--text-2); overflow-wrap: anywhere; }

/* Zeiterfassung */
.mtc-zeitbar { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 12px; padding: 10px 20px; color: #fff; background: var(--navy-3); box-shadow: 0 2px 10px rgba(6,19,65,.2); }
.mtc-zeitbar--vor_ort { background: #0f7a4a; }
.mtc-zeitbar__icon { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,.15); flex: none; }
.mtc-zeitbar__text { display: flex; flex-direction: column; flex: 1; min-width: 0; line-height: 1.3; }
.mtc-zeitbar__text a { color: #fff; text-decoration: underline; text-underline-offset: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mtc-zeitbar__text small { color: rgba(255,255,255,.8); font-size: .8rem; }
.mtc-zeitbar__form { margin: 0; flex: none; }
.mtc-zeitbar .mtc-btn--danger { background: #fff; color: var(--danger); border-color: #fff; }
.mtc-zeitbar .mtc-btn--go { background: #fff; color: var(--ok); border-color: #fff; }
.mtc-zeitchip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; font-size: .86rem; font-weight: 500; background: var(--info-bg); color: var(--info); }
.mtc-zeitchip--vor_ort { background: var(--ok-bg); color: var(--ok); }
.mtc-zeitstart { margin: 0; display: inline-flex; }
.mtc-job__zeit { margin: 8px 0 2px; }
.mtc-job__zeit .mtc-zeitstart, .mtc-job__zeit .mtc-btn--go { width: 100%; justify-content: center; min-height: 46px; font-size: 1rem; }
.mtc-geo-note { display: flex; gap: 8px; align-items: flex-start; padding: 10px 12px; border-radius: 10px; background: var(--info-bg); color: var(--text-2); font-size: .84rem; }
.mtc-geo-note svg { flex: none; color: var(--info); margin-top: 2px; }
.mtc-zeitlist { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.mtc-zeitlist li { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding: 8px 10px; border-radius: 10px; background: var(--line-2); font-size: .88rem; }
.mtc-zeitlist__day { font-weight: 500; color: var(--navy); min-width: 120px; }
.mtc-zeitlist__steps { display: inline-flex; gap: 12px; color: var(--text-2); }
.mtc-zeitlist__steps span { display: inline-flex; align-items: center; gap: 4px; }
.mtc-zeitlist__sum { margin-left: auto; color: var(--muted); font-size: .82rem; }
.mtc-live { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px; }
.mtc-live__item { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); border-left: 4px solid var(--info); }
.mtc-live__item--vor_ort { border-left-color: var(--ok); }
.mtc-live__item > span:nth-child(2) { display: flex; flex-direction: column; min-width: 0; }
.mtc-live__item small { color: var(--muted); font-size: .8rem; }
.mtc-filter--period { align-items: flex-end; }
.mtc-dayhead { margin: 16px 0 6px; font-size: .92rem; color: var(--navy); padding: 6px 10px; background: var(--line-2); border-left: 3px solid var(--navy); border-radius: 4px; }
@media (max-width: 640px) {
	.mtc-zeitbar { padding: 8px 12px; gap: 8px; }
	.mtc-zeitbar__icon { display: none; }
	.mtc-usage__row { grid-template-columns: 1fr auto; }
	.mtc-usage__unit { display: none; }
	.mtc-check-list li { grid-template-columns: 1fr 90px 34px; }
	.mtc-check-list .mtc-input-inline { width: 90px !important; }
}

/* v1.6.2 – Fahrzeugbestand nur lesen (Mitarbeiter) */
.mtc-check-list .mtc-qty { text-align: right; font-size: 1.05rem; color: var(--navy); }
.mtc-check-list li.is-neg .mtc-qty { color: var(--danger); }

/* v1.6.3 – Statusfarbe in der Aufgabenliste */
.mtc-row--st-offen td:first-child { box-shadow: inset 7px 0 0 #9aa3b5; }
.mtc-row--st-in_arbeit td:first-child { box-shadow: inset 7px 0 0 var(--fiber); }
.mtc-row--st-erledigt td:first-child { box-shadow: inset 7px 0 0 var(--ok); }
.mtc-row--st-erledigt td { background: #f6fcf8; }
.mtc-row--st-erledigt td > * { opacity: .7; }
.mtc-row--st-blockiert td:first-child { box-shadow: inset 7px 0 0 var(--danger); }
.mtc-row--st-abgebrochen td:first-child { box-shadow: inset 7px 0 0 var(--abort); }
@media (max-width: 760px) {
	.mtc-row--st-offen { border-left: 7px solid #9aa3b5 !important; }
	.mtc-row--st-in_arbeit { border-left: 7px solid var(--fiber) !important; }
	.mtc-row--st-erledigt { border-left: 7px solid var(--ok) !important; }
	.mtc-row--st-blockiert { border-left: 7px solid var(--danger) !important; }
	.mtc-row--st-abgebrochen { border-left: 7px solid var(--abort) !important; }
	.mtc-table--tasks tr[class*="mtc-row--st-"] td:first-child { box-shadow: none; }
}

/* v1.7 – Info-Karten (gelb) */
.mtc-info-card { display: grid; grid-template-columns: 150px minmax(0, 1fr); background: #fff8d6; border: 1px solid #f3dc7a; border-radius: 16px; overflow: hidden; box-shadow: var(--shadow); }
.mtc-info-card__side { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 14px 10px; background: #f6c400; color: var(--navy); text-align: center; }
.mtc-info-card__time { font-weight: 700; font-size: 1.05rem; }
.mtc-info-card__main { position: relative; padding: 14px 16px 12px 24px; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.mtc-info-card__main::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 9px; background: #e0a800; }
.mtc-info-card__title { color: var(--navy); font-size: 1.02rem; }
.mtc-info-card__text { margin: 0; color: var(--text); line-height: 1.5; overflow-wrap: anywhere; }
.mtc-info-card__meta { color: #7a6312; font-size: .8rem; }
.mtc-info-card__actions { display: flex; gap: 8px; margin-top: 4px; }
.mtc-btn--info { background: #f6c400; border-color: #f6c400; color: var(--navy); font-weight: 700; }
.mtc-btn--info:hover { background: #e8b700; border-color: #e8b700; color: var(--navy); }
.mtc-modal__head--info { background: #f6c400; color: var(--navy); }
.mtc-empf { border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 2px 12px; }
.mtc-empf legend { padding: 0 6px; font-size: .78rem; font-weight: 700; color: var(--text-2); }
.mtc-day-head { flex-wrap: wrap; gap: 10px; }
@media (max-width: 640px) {
	.mtc-info-card { grid-template-columns: 92px minmax(0, 1fr); border-radius: 14px; }
}

/* v1.7.1 – Auftragsnummer */
input.mtc-upper { text-transform: uppercase; letter-spacing: .02em; }
