/**
 * Zikabrims Talent Dashboard — styles matched to the ZIKA design system.
 * Dark full-height sidebar, lime accent, full-bleed light canvas, rounded cards.
 */
.zkt-wrap {
	--zkt-lime: #c3e82e;
	--zkt-lime-2: #b6dd1f;
	--zkt-on-lime: #10131a;
	--zkt-side: #0b0b0f;
	--zkt-side-2: #16161d;
	--zkt-side-tx: #9aa1ad;
	--zkt-canvas: #f3f5f8;
	--zkt-ink: #0e1424;
	--zkt-muted: #6b7480;
	--zkt-line: #e9edf2;
	--zkt-card: #ffffff;
	--zkt-ok-bg: #d9f5e3;   --zkt-ok-tx: #17803a;
	--zkt-warn-bg: #fdeecd; --zkt-warn-tx: #a76a09;
	--zkt-err-bg: #fde3e3;  --zkt-err-tx: #c02626;
	color: var(--zkt-ink);
	font-family: inherit;
	/* Full-bleed without 100vw (avoids the scrollbar-width horizontal overflow). */
	position: relative;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
.zkt-wrap * { box-sizing: border-box; }

.zkt-shell { display: grid; grid-template-columns: 258px 1fr; min-height: 100vh; background: var(--zkt-canvas); }

/* ---------- Sidebar ---------- */
/* Stretch to the dashboard's own height (never a fixed 100vh) so the dark rail
   ends exactly where the content ends and never floats over the site footer. */
.zkt-side { background: var(--zkt-side); color: var(--zkt-side-tx); padding: 22px 14px; align-self: stretch; display: flex; flex-direction: column; }
.zkt-brand { display: flex; align-items: center; gap: 11px; padding: 4px 8px 22px; }
.zkt-brand__logo { width: 42px; height: 42px; border-radius: 12px; background: var(--zkt-lime); color: var(--zkt-on-lime); display: grid; place-items: center; font-weight: 900; font-size: 1.35rem; flex: none; }
.zkt-brand > img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex: none; }
.zkt-brand__tag { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 150px; }
.zkt-brand__name { color: #fff; font-weight: 800; font-size: 1.12rem; line-height: 1; }
.zkt-brand__tag { display: block; color: var(--zkt-lime); font-size: .62rem; font-weight: 800; letter-spacing: .14em; margin-top: 4px; }
.zkt-brand__txt { min-width: 0; flex: 1; }
.zkt-brand__name, .zkt-brand__tag { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* Hamburger + toggle are desktop-hidden; shown only on mobile. */
.zkt-navtoggle { display: none; }
.zkt-burger { display: none; margin-left: auto; flex-direction: column; gap: 4px; padding: 8px; cursor: pointer; flex: none; }
.zkt-burger span { display: block; width: 22px; height: 2px; border-radius: 2px; background: #fff; transition: transform .2s, opacity .2s; }

.zkt-menu { display: flex; flex-direction: column; gap: 3px; }
.zkt-menu__item { position: relative; display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-radius: 10px; color: var(--zkt-side-tx); text-decoration: none; font-weight: 600; font-size: .93rem; transition: background .15s, color .15s; }
.zkt-menu__item:hover { background: var(--zkt-side-2); color: #e7eaef; }
.zkt-menu__item .dashicons { font-size: 19px; width: 19px; height: 19px; }
.zkt-ico { display: inline-flex; flex: none; }
.zkt-ico svg { width: 20px; height: 20px; }
.zkt-sm__img { border-radius: 50%; object-fit: cover; flex: none; }
.zkt-photo__pic { flex: none; line-height: 0; }
.zkt-photo__pic img, .zkt-photo__pic .zkt-av { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.zkt-photo__act { display: flex; flex-direction: column; gap: 6px; }
.zkt-photo__btns { display: flex; align-items: center; gap: 14px; }
.zkt-photo__act .zkt-btn { cursor: pointer; }
.zkt-photo__remove { display: inline-flex; align-items: center; gap: 6px; font-size: .84rem; color: #b91c1c; font-weight: 600; cursor: pointer; }
.zkt-photo__name { font-size: .82rem; font-weight: 600; }
.zkt-photo__name.is-ok { color: #17803a; }
.zkt-photo__name.is-err { color: #b91c1c; }
.zkt-menu__item.is-active { background: var(--zkt-side-2); color: var(--zkt-lime); }
.zkt-menu__item.is-active::after { content: ""; position: absolute; right: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 3px; background: var(--zkt-lime); }
.zkt-badge { font-style: normal; background: #ef4444; color: #fff; font-size: .66rem; font-weight: 800; border-radius: 999px; padding: 1px 7px; margin-left: auto; }

.zkt-side__foot { margin-top: auto; }
.zkt-logout { display: flex; align-items: center; gap: 10px; padding: 11px 14px; color: var(--zkt-side-tx); text-decoration: none; font-weight: 600; font-size: .93rem; border-radius: 10px; }
.zkt-logout:hover { background: var(--zkt-side-2); color: #fff; }
.zkt-status { display: flex; align-items: center; gap: 8px; padding: 14px 14px 2px; font-size: .74rem; color: #6b7280; }
.zkt-status i { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,.18); }

/* ---------- Main / topbar ---------- */
.zkt-main { min-width: 0; padding: 26px 40px 60px; }
.zkt-viewas { display: flex; align-items: center; gap: 10px; background: #fef3da; color: #8a5a00; border: 1px solid #f5d78a; border-radius: 12px; padding: 12px 16px; margin-bottom: 18px; font-weight: 600; }
.zkt-viewas a { color: #8a5a00; text-decoration: underline; font-weight: 800; margin-left: auto; white-space: nowrap; }
.zkt-viewas .dashicons { color: #b45309; flex: none; }
.zkt-topbar { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-bottom: 22px; margin-bottom: 26px; border-bottom: 1px solid var(--zkt-line); }
.zkt-topbar__title { flex: 1; min-width: 0; }
.zkt-topbar__title h1 { margin: 0; font-size: 2rem; font-weight: 800; letter-spacing: -.01em; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.zkt-topbar__title p { margin: 6px 0 0; color: var(--zkt-muted); }
.zkt-idpill { font-size: .68rem; font-weight: 800; letter-spacing: .05em; background: var(--zkt-lime); color: var(--zkt-on-lime); padding: 4px 10px; border-radius: 999px; }
.zkt-topbar__right { display: flex; align-items: center; gap: 14px; flex: none; }
.zkt-discord { display: inline-flex; align-items: center; gap: 8px; flex: none; text-decoration: none; background: #fff; border: 1px solid var(--zkt-line); border-radius: 999px; padding: 6px 15px 6px 6px; color: var(--zkt-ink); font-weight: 600; font-size: .88rem; transition: border-color .15s ease, box-shadow .15s ease; }
.zkt-discord img { width: 26px; height: 26px; display: block; border-radius: 50%; flex: none; }
.zkt-discord__txt { white-space: nowrap; line-height: 1; }
.zkt-discord:hover { border-color: #c7cdf7; box-shadow: 0 4px 12px rgba(88,101,242,.20); }
.zkt-bell { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--zkt-line); border-radius: 999px; padding: 8px 14px; font-weight: 600; font-size: .88rem; color: var(--zkt-ink); text-decoration: none; }
.zkt-bell .dashicons { font-size: 17px; width: 17px; height: 17px; }
.zkt-bell em { font-style: normal; background: #ef4444; color: #fff; font-size: .68rem; font-weight: 800; border-radius: 999px; padding: 1px 6px; }
.zkt-chip { display: flex; align-items: center; gap: 10px; min-width: 0; }
.zkt-chip > div { min-width: 0; }
.zkt-chip img, .zkt-chip .zkt-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: none; }
.zkt-chip strong, .zkt-chip span { display: block; max-width: 160px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.zkt-avatar { background: var(--zkt-lime); color: var(--zkt-on-lime); display: grid; place-items: center; font-weight: 800; }
.zkt-chip strong { display: block; font-size: .9rem; line-height: 1.2; }
.zkt-chip span { font-size: .74rem; color: var(--zkt-muted); }

/* ---------- Generic ---------- */
.zkt-muted { color: var(--zkt-muted); }
.zkt-link { color: #2563a6; text-decoration: none; font-weight: 700; }
.zkt-guard, .zkt-empty { text-align: center; padding: 56px 20px; color: var(--zkt-muted); }
.zkt-empty .dashicons { font-size: 46px; width: 46px; height: 46px; color: #c4ccd6; }

.zkt-btn { display: inline-flex; align-items: center; gap: 7px; background: var(--zkt-lime); color: var(--zkt-on-lime) !important; border: 0; border-radius: 10px; padding: 11px 20px; font-weight: 800; font-size: .92rem; cursor: pointer; text-decoration: none !important; font-family: inherit; }
.zkt-btn:hover { background: var(--zkt-lime-2); }
.zkt-btn--sm { padding: 8px 15px; font-size: .84rem; }
.zkt-btn--dark { background: var(--zkt-side); color: #fff !important; }
.zkt-btn--dark:hover { background: #24242e; }
.zkt-btn--ghost { background: #fff; border: 1px solid var(--zkt-line); color: var(--zkt-ink) !important; }
.zkt-btn--ghost:hover { border-color: #cfd6df; }
.zkt-btn .dashicons { font-size: 17px; width: 17px; height: 17px; }

/* Banners (full-width alerts) */
.zkt-banner { display: flex; align-items: center; gap: 14px; padding: 16px 20px; border-radius: 14px; margin-bottom: 22px; }
.zkt-banner .dashicons { font-size: 22px; width: 22px; height: 22px; flex: none; }
.zkt-banner strong { display: block; }
.zkt-banner--warn { background: var(--zkt-warn-bg); color: var(--zkt-warn-tx); }
.zkt-banner--err { background: var(--zkt-err-bg); color: var(--zkt-err-tx); }
.zkt-banner--info { background: var(--zkt-side); color: #fff; }
.zkt-banner--info .zkt-avatar { flex: none; }

.zkt-notice { padding: 12px 16px; border-radius: 12px; font-weight: 600; margin-bottom: 20px; }
.zkt-notice--ok { background: var(--zkt-ok-bg); color: var(--zkt-ok-tx); }
.zkt-notice--err { background: var(--zkt-err-bg); color: var(--zkt-err-tx); }

/* Cards / panels */
.zkt-panel { background: var(--zkt-card); border: 1px solid var(--zkt-line); border-radius: 18px; padding: 24px; margin-bottom: 20px; }
.zkt-panel h3 { margin: 0 0 16px; font-size: 1.15rem; }
.zkt-panel--dark { background: var(--zkt-side); color: #fff; border-color: transparent; }
.zkt-panel--dark h3 { color: #fff; }
.zkt-panel--dark .zkt-muted { color: #9aa1ad; }
.zkt-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
.zkt-grid-aside { display: grid; grid-template-columns: 1fr 360px; gap: 20px; align-items: start; }

/* Stat cards */
.zkt-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; margin-bottom: 22px; }
.zkt-stat { background: var(--zkt-card); border: 1px solid var(--zkt-line); border-radius: 16px; padding: 22px 24px; }
.zkt-stat__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.zkt-stat__label { font-size: .9rem; font-weight: 600; color: #6b7280; }
.zkt-stat__ico .dashicons { font-size: 22px; width: 22px; height: 22px; }
.zkt-stat__row { display: flex; align-items: center; gap: 16px; }
.zkt-stat__badge { width: 54px; height: 54px; border-radius: 50%; background: var(--zkt-lime); color: var(--zkt-on-lime); display: grid; place-items: center; font-weight: 800; font-size: .95rem; line-height: 1; flex: none; text-align: center; }
.zkt-stat__badge .dashicons { font-size: 26px; width: 26px; height: 26px; }
.zkt-stat__info { min-width: 0; flex: 1; }
.zkt-stat__info strong { display: block; font-size: 1.35rem; font-weight: 800; color: var(--zkt-ink); line-height: 1.15; }
.zkt-stat__sub { display: block; font-size: .82rem; color: var(--zkt-muted); margin-top: 3px; }
.zkt-stat__prog { height: 8px; margin: 10px 0 0; }
.zkt-stat__prog span { background: #8bc53f; }
.zkt-stars { font-size: 1.05rem; color: #f5a623; white-space: nowrap; }
.zkt-stars .dashicons { font-size: 19px; width: 19px; height: 19px; }

/* Progress + steps (home mini journey) */
.zkt-progress { height: 8px; background: #eaeef3; border-radius: 999px; overflow: hidden; margin-bottom: 16px; }
.zkt-progress span { display: block; height: 100%; background: var(--zkt-lime); }
.zkt-steps { list-style: none; margin: 0; padding: 0; }
.zkt-steps li { display: flex; align-items: center; gap: 12px; padding: 8px 0; color: var(--zkt-muted); font-size: .92rem; }
.zkt-steps li span { width: 15px; height: 15px; border-radius: 50%; border: 2px solid #d5dbe3; flex: none; }
.zkt-steps li.done { color: var(--zkt-ink); } .zkt-steps li.done span { background: var(--zkt-lime); border-color: var(--zkt-lime); }
.zkt-steps li.current { color: var(--zkt-ink); font-weight: 700; } .zkt-steps li.current span { border-color: var(--zkt-lime); box-shadow: 0 0 0 4px rgba(195,232,46,.28); }

.zkt-quick { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.zkt-quick__item { display: flex; align-items: center; gap: 10px; padding: 14px; border: 1px solid var(--zkt-line); border-radius: 12px; text-decoration: none; color: var(--zkt-ink); font-weight: 600; font-size: .92rem; }
.zkt-quick__item:hover { border-color: var(--zkt-lime); background: #fbfef0; }
.zkt-quick__item .dashicons { color: #5c7a00; }

/* Timeline (journey) */
.zkt-timeline { margin: 4px 0; }
.zkt-tl { display: flex; gap: 16px; padding: 0 0 26px; position: relative; }
.zkt-tl::before { content: ""; position: absolute; left: 11px; top: 22px; bottom: -4px; width: 2px; background: #e3e8ee; }
.zkt-tl:last-child::before { display: none; }
.zkt-tl__dot { width: 24px; height: 24px; border-radius: 50%; border: 2px solid #d5dbe3; background: #fff; flex: none; z-index: 1; display: grid; place-items: center; }
.zkt-tl__dot .dashicons { font-size: 15px; width: 15px; height: 15px; color: #fff; }
.zkt-tl.done .zkt-tl__dot { background: var(--zkt-lime); border-color: var(--zkt-lime); }
.zkt-tl.current .zkt-tl__dot { border-color: var(--zkt-lime); background: var(--zkt-lime); box-shadow: 0 0 0 5px rgba(195,232,46,.25); }
.zkt-tl__body { flex: 1; display: flex; justify-content: space-between; gap: 16px; }
.zkt-tl__body strong { display: block; }
.zkt-tl.current .zkt-tl__body strong { color: #6b8a00; }
.zkt-tl__body span { font-size: .86rem; color: var(--zkt-muted); }

/* Status pills */
.zkt-pill { display: inline-block; padding: 4px 12px; border-radius: 999px; font-size: .7rem; font-weight: 800; letter-spacing: .02em; background: #eef1f5; color: #5b6472; text-transform: uppercase; }
.zkt-pill--ok, .zkt-pill--active, .zkt-pill--verified, .zkt-pill--completed { background: var(--zkt-ok-bg); color: var(--zkt-ok-tx); }
.zkt-pill--pending, .zkt-pill--progress, .zkt-pill--upcoming { background: var(--zkt-warn-bg); color: var(--zkt-warn-tx); }
.zkt-pill--overdue, .zkt-pill--missing, .zkt-pill--rejected { background: var(--zkt-err-bg); color: var(--zkt-err-tx); }

/* Skill / tool tags */
.zkt-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.zkt-tag { display: inline-block; padding: 5px 13px; border-radius: 8px; font-size: .82rem; font-weight: 700; background: var(--zkt-lime); color: var(--zkt-on-lime); }
.zkt-tag--soft { background: #eef1f5; color: #4b5563; }
.zkt-tag--green { background: var(--zkt-ok-bg); color: var(--zkt-ok-tx); }

/* Action-required list (home) */
.zkt-tasks { list-style: none; margin: 0; padding: 0; }
.zkt-task { display: flex; align-items: center; gap: 16px; padding: 16px 0; border-top: 1px solid var(--zkt-line); }
.zkt-task:first-child { border-top: 0; }
.zkt-task__main { flex: 1; }
.zkt-task__main strong { display: block; }
.zkt-task__main p { margin: 3px 0 0; font-size: .86rem; color: var(--zkt-muted); }
.zkt-task__due { font-size: .82rem; color: var(--zkt-muted); white-space: nowrap; }

/* Assignments */
.zkt-assign { background: var(--zkt-card); border: 1px solid var(--zkt-line); border-radius: 18px; padding: 24px; margin-bottom: 20px; }
.zkt-assign__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.zkt-assign__head h3 { margin: 0; }
.zkt-dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px 24px; margin: 18px 0; }
.zkt-dl dt { font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; color: var(--zkt-muted); font-weight: 700; }
.zkt-dl dd { margin: 4px 0 0; font-weight: 700; font-size: .9rem; }
.zkt-filelist { list-style: none; margin: 10px 0 0; padding: 0; }
.zkt-file { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 16px; border: 1px solid var(--zkt-line); border-radius: 12px; margin-bottom: 10px; }
.zkt-file span { display: flex; align-items: center; gap: 10px; }
.zkt-file span .dashicons { color: var(--zkt-muted); }
.zkt-file a { color: #6b8a00; font-weight: 700; text-decoration: none; }

/* Documents table */
.zkt-table { width: 100%; border-collapse: collapse; }
.zkt-table th { text-align: left; font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: var(--zkt-muted); font-weight: 700; padding: 0 12px 14px; border-bottom: 1px solid var(--zkt-line); }
.zkt-table td { padding: 18px 12px; border-bottom: 1px solid var(--zkt-line); vertical-align: middle; }
.zkt-table tr:last-child td { border-bottom: 0; }
.zkt-table td:first-child { font-weight: 700; }
.zkt-table .zkt-act { color: #6b8a00; font-weight: 700; text-decoration: none; margin-right: 14px; }
.zkt-docform { display: inline-flex; gap: 8px; align-items: center; }
.zkt-docform input[type=file] { max-width: 190px; }
.zkt-rowact { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.zkt-doc-progress { display: flex; align-items: center; gap: 8px; width: 100%; margin-top: 4px; font-size: .78rem; font-weight: 700; color: var(--zkt-primary); }
.zkt-doc-progress__bar { flex: 1; min-width: 120px; height: 8px; background: #eaeef3; border-radius: 999px; overflow: hidden; }
.zkt-doc-progress__bar i { display: block; height: 100%; width: 0; background: var(--zkt-primary); border-radius: 999px; transition: width .18s ease; }
.zkt-doc-progress__pct { white-space: nowrap; }
.zkt-doc-progress.is-done { color: #17803a; }
.zkt-doc-progress.is-done .zkt-doc-progress__bar i { background: #1A7F26; }
.zkt-doc-progress.is-err { color: #b91c1c; }
.zkt-doc-progress.is-err .zkt-doc-progress__bar i { background: #dc2626; }

/* Performance */
.zkt-comp { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 16px; margin-bottom: 22px; }
.zkt-comp__card { background: var(--zkt-card); border: 1px solid var(--zkt-line); border-radius: 16px; padding: 18px; }
.zkt-comp__card h4 { margin: 0 0 10px; font-size: .95rem; }
.zkt-obj { padding: 16px 0; border-top: 1px solid var(--zkt-line); }
.zkt-obj:first-child { border-top: 0; }
.zkt-obj__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.zkt-obj__top strong { font-size: .98rem; }
.zkt-obj .zkt-progress { height: 7px; margin-bottom: 6px; }
.zkt-obj .zkt-progress span { background: #f5a623; }
.zkt-obj .zkt-progress.done span { background: #22c55e; }
.zkt-obj__foot { display: flex; justify-content: space-between; font-size: .8rem; color: var(--zkt-muted); }

/* Messages (two-pane) */
.zkt-inbox { display: grid; grid-template-columns: 380px 1fr; gap: 20px; align-items: start; }
.zkt-thread-list { background: var(--zkt-card); border: 1px solid var(--zkt-line); border-radius: 18px; overflow: hidden; }
.zkt-thread { display: block; padding: 16px 18px; border-bottom: 1px solid var(--zkt-line); text-decoration: none; color: var(--zkt-ink); }
.zkt-thread:hover { background: #fafbfc; }
.zkt-thread.is-active { background: #fbfef0; }
.zkt-thread__top { display: flex; justify-content: space-between; }
.zkt-thread__top strong { font-size: .92rem; }
.zkt-thread__top span { font-size: .76rem; color: var(--zkt-muted); }
.zkt-thread__sub { margin: 4px 0 8px; font-weight: 600; font-size: .9rem; }
.zkt-thread__pre { font-size: .84rem; color: var(--zkt-muted); }
.zkt-chat { background: var(--zkt-card); border: 1px solid var(--zkt-line); border-radius: 18px; padding: 22px; }
.zkt-chat__scroll { max-height: 440px; overflow: auto; display: flex; flex-direction: column; gap: 12px; margin-bottom: 14px; }
.zkt-bubble { max-width: 82%; padding: 12px 16px; border-radius: 14px; text-align: left; }
.zkt-bubble p { margin: 0; }
.zkt-bubble span { font-size: .72rem; color: var(--zkt-muted); display: block; margin-top: 4px; }
.zkt-bubble.me { align-self: flex-end; background: #eef4f9; }
.zkt-bubble.them { align-self: flex-start; background: #fbfef0; }
.zkt-chat__form { display: flex; gap: 10px; align-items: flex-end; border-top: 1px solid var(--zkt-line); padding-top: 14px; }
.zkt-chat__form textarea { flex: 1; padding: 12px 14px; border: 1px solid var(--zkt-line); border-radius: 10px; font: inherit; min-width: 0; }
.zkt-attach { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--zkt-line); border-radius: 10px; cursor: pointer; color: var(--zkt-muted); flex: none; }
.zkt-attach:hover { border-color: var(--zkt-lime-2); color: var(--zkt-ink); background: #fbfef0; }
.zkt-attach .dashicons { font-size: 19px; width: 19px; height: 19px; }
.zkt-attach__row { display: flex; align-items: center; gap: 12px; margin-top: 8px; font-size: .8rem; }
.zkt-attach__name { font-weight: 600; }
.zkt-attach__name.is-ok { color: #17803a; }
.zkt-attach__name.is-err { color: #b91c1c; }
.zkt-attach__hint { margin-left: auto; }
.zkt-bubble__file { display: inline-flex; align-items: center; gap: 7px; margin-top: 8px; padding: 8px 12px; background: rgba(255,255,255,.7); border: 1px solid var(--zkt-line); border-radius: 10px; text-decoration: none; color: #2563a6; font-weight: 700; font-size: .84rem; }
.zkt-bubble__file:hover { background: #fff; }
.zkt-bubble__file .dashicons { color: #c0392b; font-size: 17px; width: 17px; height: 17px; }

/* Support */
.zkt-tickets { display: flex; flex-direction: column; gap: 12px; }
.zkt-ticket { background: var(--zkt-card); border: 1px solid var(--zkt-line); border-radius: 14px; padding: 16px 18px; }
.zkt-ticket.is-active { border-color: var(--zkt-lime); background: #fbfef0; }
.zkt-ticket__id { font-size: .74rem; font-weight: 800; color: #6b8a00; letter-spacing: .03em; }
.zkt-ticket h4 { margin: 6px 0 2px; }
.zkt-ticket time { font-size: .8rem; color: var(--zkt-muted); }

/* Forms */
.zkt-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.zkt-label { display: block; font-weight: 600; font-size: .86rem; margin-bottom: 16px; color: #374151; }
.zkt-label input, .zkt-label select, .zkt-label textarea,
.zkt-form input:not([type=file]):not([type=checkbox]):not([type=radio]), .zkt-form select, .zkt-form textarea {
	width: 100%; margin-top: 7px; padding: 12px 14px; border: 1px solid var(--zkt-line); border-radius: 10px; font: inherit; font-weight: 500; background: #fff; color: var(--zkt-ink);
}
.zkt-label input:focus, .zkt-form textarea:focus, .zkt-form select:focus { outline: none; border-color: var(--zkt-lime-2); box-shadow: 0 0 0 3px rgba(195,232,46,.28); }

/* Settings toggle rows */
.zkt-toggles { display: flex; flex-direction: column; }
.zkt-toggle-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-top: 1px solid var(--zkt-line); }
.zkt-toggle-row:first-child { border-top: 0; }
.zkt-toggle-row p { margin: 3px 0 0; font-size: .82rem; color: var(--zkt-muted); }
.zkt-switch { position: relative; width: 46px; height: 26px; flex: none; }
.zkt-switch input { position: absolute; opacity: 0; }
.zkt-switch label { position: absolute; inset: 0; border-radius: 999px; background: #d4dae2; cursor: pointer; transition: background .2s; }
.zkt-switch label::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .2s; }
.zkt-switch input:checked + label { background: var(--zkt-lime); }
.zkt-switch input:checked + label::after { transform: translateX(20px); }

/* Panel head with meta on the right */
.zkt-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.zkt-panel__head h3 { margin: 0; display: flex; align-items: center; gap: 8px; }
.zkt-panel h3 .dashicons { font-size: 20px; width: 20px; height: 20px; }
.zkt-sec { margin: 4px 0 16px; }
.zkt-subhead { margin: 18px 0 10px; font-size: .95rem; }
.zkt-checks { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 16px; }
.zkt-checks label { display: flex; align-items: center; gap: 6px; font-weight: 500; }
.zkt-checks input { width: auto; margin: 0; }
.zkt-formbar { margin-top: 8px; }
.zkt-formbar--right { text-align: right; }
.zkt-hint { font-size: .8rem; margin: 0 0 8px; }

/* Home: profile strip */
.zkt-hcard { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.zkt-hcard__id { display: flex; align-items: center; gap: 16px; }
.zkt-hcard__id img { width: 64px; height: 64px; border-radius: 50%; }
.zkt-hcard__id strong { display: block; font-size: 1.2rem; }
.zkt-hcard__id span { color: var(--zkt-muted); }
.zkt-ring { width: 48px; height: 48px; border-radius: 50%; background: var(--zkt-lime); color: var(--zkt-on-lime); display: grid; place-items: center; font-weight: 800; flex: none; }

/* Home: events */
.zkt-event { display: flex; align-items: center; gap: 18px; padding: 16px; border: 1px solid #dfe4ff; background: #f7f8ff; border-radius: 14px; }
.zkt-event__date { width: 56px; height: 56px; border-radius: 12px; background: var(--zkt-lime); color: var(--zkt-on-lime); display: grid; place-items: center; text-align: center; flex: none; }
.zkt-event__date strong { font-size: 1.3rem; line-height: 1; }
.zkt-event__date span { font-size: .68rem; font-weight: 800; }
.zkt-event__body { flex: 1; }
.zkt-event__meta { display: flex; align-items: center; gap: 10px; margin-bottom: 3px; }
.zkt-event__body strong { display: block; }
.zkt-event__act { display: flex; gap: 10px; flex: none; }

/* Status banners (white card style) */
.zkt-statusbar { background: #fff; border: 1px solid var(--zkt-line); }
.zkt-statusbar__ico { width: 48px; height: 48px; border-radius: 50%; background: var(--zkt-ok-bg); color: var(--zkt-ok-tx); display: grid; place-items: center; flex: none; }
.zkt-statusbar__ico .dashicons { font-size: 24px; width: 24px; height: 24px; }
.zkt-banner--info .zkt-ring { flex: none; }

/* Profile */
.zkt-photo { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.zkt-photo img { width: 72px; height: 72px; border-radius: 50%; }
.zkt-lines { width: 100%; padding: 12px 14px; border: 1px solid var(--zkt-line); border-radius: 10px; font: inherit; }
.zkt-entries { margin-top: 14px; display: flex; flex-direction: column; gap: 14px; }
.zkt-entry { padding-left: 14px; border-left: 3px solid var(--zkt-lime); }
.zkt-entry strong { display: block; }
.zkt-entry__meta { font-size: .84rem; color: var(--zkt-muted); }
.zkt-entry p { margin: 4px 0 0; font-size: .88rem; color: var(--zkt-muted); }

/* Segmented radio (Employment preference) */
.zkt-segment { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.zkt-segment__opt { position: relative; }
.zkt-segment__opt input { position: absolute; opacity: 0; }
.zkt-segment__opt span { display: block; text-align: center; padding: 12px; border: 1px solid var(--zkt-line); border-radius: 10px; font-weight: 700; cursor: pointer; color: var(--zkt-muted); }
.zkt-segment__opt input:checked + span { border-color: var(--zkt-lime); background: #fbfef0; color: #5c7a00; }

/* Journey extras */
.zkt-tl__side { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.zkt-actbox { background: var(--zkt-lime); color: var(--zkt-on-lime); border-radius: 12px; padding: 14px 16px; margin: 14px 0; }
.zkt-actbox strong { display: block; }
.zkt-actbox span { font-size: .9rem; }
.zkt-sm { display: flex; align-items: center; gap: 12px; margin-top: 14px; }
.zkt-sm .zkt-avatar, .zkt-sm img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex: none; }
.zkt-chat__head img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex: none; }
.zkt-sm strong { display: block; }
.zkt-panel--dark .zkt-sm span { color: var(--zkt-lime); font-size: .82rem; }

/* Assignment check-ins */
.zkt-checkin { padding: 14px 0; border-top: 1px solid var(--zkt-line); }
.zkt-checkin:first-of-type { border-top: 0; }
.zkt-checkin.is-hi { background: #fbfef0; border: 1px solid #eaf3c4; border-radius: 12px; padding: 14px; margin-bottom: 12px; }
.zkt-checkin__top { display: flex; justify-content: space-between; align-items: center; }
.zkt-checkin.is-hi .zkt-checkin__top strong { color: #6b8a00; }
.zkt-checkin p { margin: 6px 0 0; font-size: .88rem; }

/* Availability matches */
.zkt-match { border: 1px solid #eaf3c4; background: #fcfef4; border-radius: 14px; padding: 18px; }
.zkt-match__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.zkt-match__phase { display: inline-flex; align-items: center; gap: 7px; font-size: .74rem; font-weight: 800; letter-spacing: .04em; color: #b45309; }
.zkt-match__phase i { width: 8px; height: 8px; border-radius: 50%; background: #f59e0b; }
.zkt-match h4 { margin: 0 0 2px; }
.zkt-match__meta { list-style: none; margin: 12px 0 16px; padding: 0; }
.zkt-match__meta li { display: flex; align-items: center; gap: 8px; padding: 4px 0; font-size: .9rem; }
.zkt-match__meta .dashicons { color: var(--zkt-muted); font-size: 16px; width: 16px; height: 16px; }

/* Performance */
.zkt-eval { background: #fff; border: 1px solid var(--zkt-line); }
.zkt-eval__ico { width: 56px; height: 56px; border-radius: 50%; background: rgba(195,232,46,.25); color: #5c7a00; display: grid; place-items: center; flex: none; }
.zkt-eval__ico .dashicons { font-size: 26px; width: 26px; height: 26px; }
.zkt-eval__meta { display: flex; align-items: center; gap: 24px; flex: none; }
.zkt-eval__meta > div { display: flex; flex-direction: column; gap: 6px; text-align: right; }
.zkt-eval__meta .zkt-muted { font-size: .68rem; font-weight: 700; letter-spacing: .05em; }
.zkt-eval__next { border-left: 1px solid var(--zkt-line); padding-left: 24px; }
.zkt-feedback { border: 1px solid var(--zkt-line); border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; }
.zkt-feedback__top { display: flex; justify-content: space-between; margin-bottom: 6px; }
.zkt-feedback__kind { font-size: .72rem; font-weight: 800; letter-spacing: .04em; color: #6b8a00; }
.zkt-feedback p { margin: 0; font-style: italic; color: #374151; }
.zkt-dev { list-style: none; margin: 8px 0 0; padding: 0; }
.zkt-dev li { display: flex; align-items: center; gap: 10px; padding: 7px 0; }
.zkt-dev .dashicons { color: #5c7a00; }
.zkt-obj__row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }

/* Tabs */
.zkt-tabs { display: flex; gap: 6px; border-bottom: 1px solid var(--zkt-line); margin-bottom: 20px; flex-wrap: wrap; }
.zkt-tab { padding: 10px 4px; margin-right: 18px; font-weight: 700; color: var(--zkt-muted); text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; cursor: default; }
a.zkt-tab { cursor: pointer; }
.zkt-tab.is-active { color: var(--zkt-ink); border-bottom-color: var(--zkt-lime); }
.zkt-tabs--pill { border: 0; gap: 8px; }
.zkt-tabs--pill .zkt-tab { padding: 7px 14px; margin: 0; border-radius: 999px; border: 0; }
.zkt-tabs--pill .zkt-tab.is-active { background: var(--zkt-lime); color: var(--zkt-on-lime); }

/* Training course rows */
.zkt-courses { display: flex; flex-direction: column; gap: 14px; }
.zkt-course { display: flex; align-items: center; gap: 18px; background: #fff; border: 1px solid var(--zkt-line); border-radius: 16px; padding: 18px 22px; }
.zkt-course.is-locked { border-color: #f4c9c9; background: #fdf5f5; }
.zkt-course__ico { width: 44px; height: 44px; border-radius: 50%; background: var(--zkt-lime); color: var(--zkt-on-lime); display: grid; place-items: center; flex: none; }
.zkt-course.is-locked .zkt-course__ico { background: #eef1f5; color: #94a3b8; }
.zkt-course__main { flex: 1; min-width: 0; }
.zkt-course__head { display: flex; align-items: center; gap: 10px; }
.zkt-course__head strong { font-size: 1.02rem; }
.zkt-course__main p { margin: 4px 0 8px; font-size: .88rem; }
.zkt-course__prog { display: flex; align-items: center; gap: 12px; }
.zkt-course__prog .zkt-progress { flex: 1; max-width: 240px; margin: 0; }
.zkt-course__side { text-align: center; flex: none; }
.zkt-course__side span { display: block; font-size: .68rem; font-weight: 700; color: var(--zkt-muted); letter-spacing: .04em; }
.zkt-course__side strong { font-size: 1rem; }

/* Messages */
.zkt-threadwrap { min-width: 0; }
.zkt-chat__head { display: flex; align-items: center; gap: 12px; padding-bottom: 16px; margin-bottom: 8px; border-bottom: 1px solid var(--zkt-line); }
.zkt-chat__head .zkt-avatar { width: 44px; height: 44px; }
.zkt-chat__head strong { display: block; }

/* Support */
.zkt-supporthead { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.zkt-supstats { display: flex; gap: 36px; }
.zkt-supstats > div { display: flex; flex-direction: column; }
.zkt-supstats span { font-size: .7rem; font-weight: 700; letter-spacing: .04em; }
.zkt-supstats strong { font-size: 1.6rem; }
.zkt-ticket__head { display: flex; align-items: center; gap: 10px; }

/* Documents table actions */
.zkt-rowact { display: flex; align-items: center; gap: 10px; }
.zkt-act--btn { background: none; border: 0; padding: 0; cursor: pointer; font: inherit; }
.zkt-docform { display: inline; }
.zkt-docform input[type=file] { max-width: 130px; font-size: .78rem; }

/* Settings */
.zkt-passrow { display: flex; gap: 10px; align-items: center; margin-top: 7px; }
.zkt-passrow input { flex: 1; margin: 0 !important; }
.zkt-2fa { background: #f6f8fc; border-radius: 12px; padding: 14px 16px !important; border: 0 !important; }
.zkt-notify__head { display: grid; grid-template-columns: 1fr 56px 56px; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--zkt-line); }
.zkt-notify__head span { font-size: .68rem; font-weight: 800; letter-spacing: .05em; color: var(--zkt-muted); text-align: center; }
.zkt-notify__head span:first-child { text-align: left; }
.zkt-notify__row { display: grid; grid-template-columns: 1fr 56px 56px; gap: 10px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--zkt-line); }
.zkt-notify__row .zkt-switch { justify-self: center; }

/* ===================== RESPONSIVE ===================== */

/* Tablet: collapse the two-column layouts. */
@media (max-width: 1080px) {
	.zkt-grid2, .zkt-grid-aside, .zkt-inbox, .zkt-form__grid { grid-template-columns: 1fr; }
	.zkt-supstats { gap: 22px; }
	.zkt-eval__meta { flex-wrap: wrap; gap: 14px; }
	.zkt-main { padding: 24px 28px 56px; }
}

/* Mobile: sidebar becomes a top bar with a hamburger-collapsible menu. */
@media (max-width: 860px) {
	html, body { overflow-x: hidden; }
	.zkt-wrap { margin-left: 0; margin-right: 0; overflow-x: hidden; }
	.zkt-shell { grid-template-columns: 1fr; min-height: 0; overflow-x: hidden; }
	.zkt-side, .zkt-main { min-width: 0; max-width: 100%; }

	.zkt-side { position: static; height: auto; padding: 12px 14px; }
	.zkt-brand { padding: 4px 2px 0; margin-bottom: 0; border-bottom: 0; }
	.zkt-burger { display: flex; }

	/* Menu is collapsed by default; the hamburger reveals it. */
	.zkt-menu { display: none; flex-direction: column; gap: 3px; margin-top: 12px; }
	.zkt-navtoggle:checked ~ .zkt-menu { display: flex; }
	.zkt-menu__item { padding: 12px 14px; white-space: normal; }
	.zkt-menu__item.is-active::after { left: 0; right: auto; top: 8px; bottom: 8px; width: 3px; height: auto; }
	.zkt-badge { margin-left: auto; }

	/* Footer (Sign Out + status) only shows with the menu open, to keep the bar compact. */
	.zkt-side__foot { display: none; margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.08); }
	.zkt-navtoggle:checked ~ .zkt-side__foot { display: block; }
	.zkt-logout { padding: 10px 14px; }
	.zkt-status { padding: 12px 14px 2px; }
	.zkt-navtoggle:checked ~ .zkt-brand .zkt-burger span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
	.zkt-navtoggle:checked ~ .zkt-brand .zkt-burger span:nth-child(2) { opacity: 0; }
	.zkt-navtoggle:checked ~ .zkt-brand .zkt-burger span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

	.zkt-main { padding: 20px 16px 44px; }
	.zkt-topbar { flex-direction: column; align-items: stretch; gap: 14px; }
	.zkt-topbar__title h1 { font-size: 1.5rem; }
	.zkt-topbar__right { flex-wrap: wrap; }

	/* Let flex rows wrap instead of overflowing. */
	.zkt-banner, .zkt-panel__head, .zkt-hcard, .zkt-supporthead, .zkt-assign__head, .zkt-eval, .zkt-tl__body, .zkt-event, .zkt-course, .zkt-obj__top, .zkt-feedback__top, .zkt-checkin__top, .zkt-task { flex-wrap: wrap; }
	.zkt-task { gap: 8px 12px; }
	.zkt-task__main { flex: 1 1 100%; }
	.zkt-task__due { order: 3; }
	.zkt-eval__meta { width: 100%; justify-content: flex-start; }
	.zkt-eval__meta > div { text-align: left; }
	.zkt-eval__next { border-left: 0; padding-left: 0; }
	.zkt-supstats { flex-wrap: wrap; gap: 18px 28px; }
	.zkt-event__act { width: 100%; }
	.zkt-hcard__status { width: 100%; }

	.zkt-course__prog .zkt-progress { max-width: none; }
	.zkt-course__side { margin-left: auto; }
}

/* Small phones. */
@media (max-width: 560px) {
	.zkt-main { padding: 18px 12px 40px; }
	.zkt-topbar__title h1 { font-size: 1.3rem; gap: 8px; }
	.zkt-panel, .zkt-assign, .zkt-content, .zkt-comp__card, .zkt-stat { padding: 16px; }
	.zkt-cards, .zkt-comp { grid-template-columns: 1fr; }
	.zkt-dl { grid-template-columns: 1fr 1fr; }
	.zkt-notify__head, .zkt-notify__row { grid-template-columns: 1fr 46px 46px; gap: 6px; }
	.zkt-course { gap: 12px; }
	.zkt-course__main { flex: 1 1 100%; order: 2; }
	.zkt-course__ico { order: 1; }
	.zkt-course > .zkt-btn, .zkt-course__side { order: 3; }
	.zkt-chip span { display: none; }
	.zkt-bell { padding: 7px 12px; }
	.zkt-segment { grid-template-columns: 1fr; }
	.zkt-passrow { flex-direction: column; align-items: stretch; }
	.zkt-passrow .zkt-btn { align-self: flex-start; }
	.zkt-cert { padding: 26px 18px; }
}
