/* Marketing department: production floor, offices, Operations views. Charcoal, warm white, restrained orange, glass. */
.mk-main { max-width: 1480px; }
.mk-head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--s4); flex-wrap: wrap; margin-bottom: var(--s3); }
.mk-head h1 { margin-bottom: 4px; }
.mk-head-tools { display: flex; gap: var(--s3); align-items: center; flex-wrap: wrap; }
.mk-live { font-size: 13px; color: var(--muted); } .mk-live.on { color: var(--ok); }
.mk-tabs { display: flex; gap: 2px; overflow-x: auto; border-bottom: 1px solid var(--line); margin: 0 0 var(--s4); scrollbar-width: thin; }
.mk-tabs a { padding: 10px 12px; white-space: nowrap; color: var(--ink-2); text-decoration: none; border-bottom: 2px solid transparent; font-size: 14px; font-weight: 560; }
.mk-tabs a.on { color: var(--ink); border-color: var(--accent); }
.mk-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--s2); margin: 0 0 var(--s4); }
.mk-tile { display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: inherit; text-decoration: none; }
.mk-tile strong { font-size: 1.45rem; line-height: 1.1; font-stretch: 80%; } .mk-tile span { font-weight: 600; font-size: 14px; } .mk-tile small { font-size: 12px; }
a.mk-tile:hover { border-color: var(--accent); }
.panel + .panel, .mk-main > .panel { margin-top: var(--s4); }
.pill.info { color: var(--info); border-color: currentColor; }
.tbl-wrap { overflow-x: auto; }
.mk-ops { margin: 0; padding-left: 16px; }
.mk-list { list-style: none; padding: 0; margin: 0; } .mk-list li { padding: 6px 0; border-bottom: 1px solid var(--line); }
.mk-states { display: flex; flex-wrap: wrap; gap: 8px; margin: var(--s2) 0; } .mk-state { padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line-2); font-size: 14px; }
.mk-tag-test { display: inline-block; margin-left: 6px; padding: 0 6px; border-radius: 4px; background: #5B3FA0; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .04em; vertical-align: 1px; }
.mk-test-banner { background: #2A2140; color: #E6DBFF; border: 1px dashed #8D74D6; padding: 6px 10px; border-radius: 6px; font-weight: 600; font-size: 13px; }
.mk-stale { color: var(--bad); font-weight: 700; font-size: 12px; letter-spacing: .04em; }
.mk-unavail { color: var(--muted); font-style: italic; }
.mk-json { white-space: pre-wrap; word-break: break-word; font-size: 12px; display: block; max-height: 220px; overflow: auto; background: var(--raised); padding: 6px 8px; border-radius: 6px; }
.mk-sec { margin-top: var(--s4); } .mk-sec h3 { font-size: 15px; margin-bottom: 6px; color: var(--ink-2); }
.mk-timeline { list-style: none; margin: 0; padding: 0; max-height: 460px; overflow: auto; }
.mk-timeline li { padding: 6px 0 6px 12px; border-left: 2px solid var(--line-2); font-size: 14px; } .mk-timeline time { color: var(--muted); font-size: 12px; }
.mk-timeline li.k-handoff { border-color: var(--accent); } .mk-timeline li.k-error, .mk-timeline li.k-stale, .mk-timeline li.k-incident { border-color: var(--bad); } .mk-timeline li.k-command { border-color: var(--info); }
.mk-agent-tag { font-size: 11px; font-weight: 700; padding: 0 5px; border-radius: 4px; background: var(--raised); border: 1px solid var(--line-2); }
.mk-progress { height: 10px; background: var(--raised); border-radius: 999px; overflow: hidden; border: 1px solid var(--line); margin: 6px 0 10px; } .mk-progress .bar { height: 100%; background: var(--accent); }
.mk-pauses { display: flex; flex-wrap: wrap; gap: 6px; }
.mk-cal { display: grid; grid-template-columns: repeat(7, minmax(120px, 1fr)); gap: 6px; overflow-x: auto; }
.mk-day { min-height: 110px; border: 1px solid var(--line); border-radius: 8px; padding: 6px; background: var(--surface); }
.mk-day-h { font-size: 12px; font-weight: 650; color: var(--muted); margin-bottom: 4px; }
.mk-cal-item { display: block; width: 100%; text-align: left; font-size: 12px; padding: 4px 6px; margin: 3px 0; border-radius: 5px; border: 1px solid var(--line-2); background: var(--raised); cursor: grab; }
.mk-cal-item.s-published { border-color: var(--ok); } .mk-cal-item.s-failed { border-color: var(--bad); } .mk-cal-item.clash { outline: 2px solid var(--warn); }
.modal .sheet.wide { max-width: min(1100px, 96vw); width: 96vw; }
.mk-expanded:fullscreen { background: var(--bg); padding: 24px; overflow: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- floor ---------- */
.mk-floor-bar { margin: 0 0 var(--s2); }
.mk-cam { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; align-items: center; } .mk-cam select { width: auto; min-height: 34px; border-radius: 8px; background: var(--surface); border: 1px solid var(--line-2); padding: 0 8px; }
.mk-floor-wrap { position: relative; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: #0E1013; perspective: none; }
.mk-floor { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; touch-action: none; cursor: default; user-select: none; transition: transform .5s ease; transform-origin: 50% 50%; }
.mk-floor.grab { cursor: grabbing; }
.mk-floor-wrap.iso .mk-floor { transform: rotateX(48deg) rotateZ(-28deg) scale(.82); }
.mk-floor-wrap.iso { background: radial-gradient(ellipse at 50% 40%, #1b1e23, #0b0c0e); }
.mk-office { cursor: pointer; } .mk-office:focus { outline: none; } .mk-office:focus > rect:nth-of-type(2), .mk-office:hover > rect:nth-of-type(2) { stroke: #F49A60; stroke-width: 3; }
.mk-office.director > rect:nth-of-type(3) { stroke: rgba(232,112,42,.55); }
.mk-room { fill: #C9C4BA; font: 650 15px var(--font); letter-spacing: .02em; }
.mk-plaque { fill: #F1EEE8; font: 700 11.5px var(--font); letter-spacing: .06em; } .mk-plaque.lg { font-size: 15px; }
.mk-status { fill: #C9C4BA; font: 650 12.5px var(--font); }
.mk-sub { fill: #8A857C; font: 600 10px var(--font); letter-spacing: .08em; }
.mk-sym { fill: #111; font: 800 10px var(--font); text-anchor: middle; } .mk-sym.sm { font-size: 8px; fill: #fff; }
.mk-bay-l { fill: #C9C4BA; font: 700 12.5px var(--font); letter-spacing: .08em; }
.mk-q { fill: #F49A60; font: 700 11px var(--font); letter-spacing: .04em; }
.mk-monitor { fill: #2a2f36; } .mk-monitor.on { fill: #F49A60; filter: drop-shadow(0 0 4px rgba(244,154,96,.8)); }
.mk-belt-bed { fill: none; stroke: #2B2E33; stroke-width: 20; stroke-linejoin: round; }
.mk-belt-top { fill: none; stroke: #6E737B; stroke-width: 12; stroke-linejoin: round; stroke-dasharray: 2 6; }
.mk-belt.rework .mk-belt-top { stroke: #9A7A2E; } .mk-belt.rework .mk-belt-bed { stroke-width: 14; }
.mk-belt-top.moving { stroke: #B9BEC6; animation: mk-roll .5s linear infinite; }
@keyframes mk-roll { to { stroke-dashoffset: -16; } }
.mk-pkt { cursor: pointer; } .mk-pkt:focus { outline: none; } .mk-pkt:focus rect, .mk-pkt:hover rect, .mk-pkt.sel rect { stroke: #F49A60; stroke-width: 3.5; }
.mk-pkt.stale > rect { stroke-dasharray: 4 3; }
.mk-pkt-kind { fill: #3D3A34; font: 800 9px var(--font); letter-spacing: .06em; } .mk-pkt-code { fill: #17181B; font: 800 11px var(--font); }
.mk-pkt-test { fill: #B7A2F2; font: 800 9.5px var(--font); letter-spacing: .08em; } .mk-pkt-stale { fill: #D2543C; font: 800 10px var(--font); }
.mk-ghost { pointer-events: none; }
.mk-person.typing .mk-arm { animation: mk-type .42s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: 50% 100%; }
@keyframes mk-type { from { transform: translateY(0); } to { transform: translateY(-1.6px); } }
.mk-legend { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin-top: 8px; }
.mk-leg i { display: inline-grid; place-items: center; width: 16px; height: 16px; border-radius: 50%; color: #fff; font-style: normal; font-size: 9px; font-weight: 800; }
.mk-compact { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; }
.mk-card { display: block; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: inherit; text-decoration: none; }
.mk-card:hover { border-color: var(--accent); }

/* ---------- office ---------- */
.mk-office-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr); gap: var(--s4); margin-top: var(--s3); }
@media (max-width: 980px) { .mk-office-grid { grid-template-columns: 1fr; } }
.mk-scene-wrap { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; margin-bottom: var(--s4); }
.mk-scene { display: block; width: 100%; height: auto; }
.mk-big-monitor { cursor: zoom-in; } .mk-big-monitor:focus { outline: none; } .mk-big-monitor:focus > rect:first-child, .mk-big-monitor:hover > rect:first-child { stroke: #F49A60; }
.mk-big-monitor.on > rect:first-child { stroke: #E8702A; filter: drop-shadow(0 0 10px rgba(232,112,42,.35)); }
.mk-mon-l { fill: #F49A60; font: 800 11px var(--font); letter-spacing: .1em; } .mk-mon-t { fill: #F1EEE8; font: 700 15px var(--font); } .mk-mon-s { fill: #9A958B; font: 600 12px var(--font); }
.mk-seated.typing .mk-arm { animation: mk-type .42s ease-in-out infinite alternate; }
.mk-obs { padding: 8px 10px; border-radius: 8px; background: var(--raised); border: 1px solid var(--line-2); margin-bottom: var(--s3); }
.mk-obs.live_task.fresh strong { color: var(--ok); } .mk-obs.stale { border-color: var(--bad); } .mk-obs.stale strong { color: var(--bad); }
.mk-work .tbl { font-size: 13px; }
@media (prefers-reduced-motion: reduce) { .mk-belt-top.moving, .mk-person.typing .mk-arm, .mk-seated.typing .mk-arm { animation: none; } .mk-floor { transition: none; } }
body[data-motion="reduce"] .mk-belt-top.moving, body[data-motion="reduce"] .mk-arm { animation: none !important; }
