/* Mech Tech RO Operations workspace. Shop-floor ledger: native day/night tokens, mono numerals, signal-amber accents. */
.rop{--p:var(--mt-panel,var(--surface,#1d1f22));--pi:var(--mt-panel-ink,var(--ink,#e9e6df));--ln:var(--mt-border,var(--stroke,#3a3d42));--mu:var(--mt-panel-muted,var(--muted,#9a978f));--ac:var(--mt-accent,var(--teal,#d9472b));--bg2:var(--mt-hover,color-mix(in srgb,var(--p) 88%,var(--pi)));
  --ok:#3f9b6b;--warn:#c98a1a;--bad:#c2412d;--mono:"JetBrains Mono","Spline Sans Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  color:var(--pi);background:var(--p);border:1px solid var(--ln);border-radius:14px;margin:0 0 16px;overflow:hidden;max-width:100%;min-width:0}
.rop *{box-sizing:border-box}
.rop-mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.rop-eye{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mu);font-weight:700}
.rop-hint{font-size:12px;color:var(--mu)}.rop-hint.is-bad{color:var(--bad)}
.rop-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.rop-top{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--ln);background:linear-gradient(90deg,color-mix(in srgb,var(--ac) 9%,transparent),transparent 60%)}
.rop-id b{font-size:15px}.rop-role{font-weight:500;color:var(--mu);text-transform:capitalize;font-size:12px;margin-left:6px}
.rop-views{display:flex;gap:4px;background:var(--bg2);padding:3px;border-radius:10px}
.rop-view{border:0;background:none;color:var(--mu);font:600 13px/1 inherit;padding:9px 13px;border-radius:8px;cursor:pointer;min-height:36px}
.rop-view.is-on{background:var(--p);color:var(--pi);box-shadow:0 1px 0 var(--ln),inset 0 -2px 0 var(--ac)}
.rop-cos{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.rop-btn{border:1px solid var(--ln);background:var(--p);color:var(--pi);font:600 13px/1.1 inherit;padding:9px 14px;border-radius:9px;cursor:pointer;min-height:38px;transition:transform .12s ease}
.rop-btn:hover{border-color:var(--pi)}.rop-btn:active{transform:translateY(1px)}.rop-btn[disabled]{opacity:.5;cursor:not-allowed}
.rop-btn.is-pri{background:var(--ac);border-color:var(--ac);color:#fbf8f2}
.rop-btn.is-go{background:var(--ok);border-color:var(--ok);color:#f6fbf7}
.rop-link{border:0;background:none;color:var(--ac);font:600 12.5px inherit;cursor:pointer;padding:6px 4px;text-decoration:underline;text-underline-offset:3px}
.rop-icon{border:1px solid var(--ln);background:none;color:var(--pi);width:30px;height:30px;border-radius:8px;display:grid;place-items:center;cursor:pointer}.rop-icon svg{width:16px;height:16px}
.rop-chip{border:1px solid var(--ln);background:none;color:var(--pi);font:600 12px inherit;padding:6px 10px;border-radius:999px;cursor:pointer;min-height:30px}
.rop-chip.is-on{background:var(--pi);color:var(--p);border-color:var(--pi)}
.rop-st{display:inline-block;font-size:11px;font-weight:700;text-transform:capitalize;padding:2px 8px;border-radius:5px;background:var(--bg2);border:1px solid var(--ln)}
.rop-flag{font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:4px;border:1px solid currentColor}
.f-urgent,.f-block{color:var(--bad)}.f-over{color:var(--warn)}.f-cb{color:var(--mu)}
.rop :focus-visible{outline:2px solid var(--ac);outline-offset:2px}
/* panes */
.rop-panes{display:grid;grid-template-columns:var(--rop-nav,280px) 6px var(--rop-lines,300px) 6px minmax(0,1fr);min-height:min(78dvh,860px);max-height:86dvh}
.rop-pane{min-width:0;display:flex;flex-direction:column;overflow:hidden}
.rop-nav,.rop-lines{background:color-mix(in srgb,var(--p) 94%,var(--pi))}
.rop-pane-h{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--ln);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.rop-scroll{overflow:auto;flex:1;overscroll-behavior:contain}
.rop-split{background:var(--ln);cursor:col-resize;touch-action:none;position:relative}.rop-split:hover,.rop-split:focus{background:var(--ac)}
.rop-panes.nav-c .rop-nav>:not(.rop-pane-h),.rop-panes.lines-c .rop-lines>:not(.rop-pane-h){display:none}
.rop-panes.nav-c .rop-nav .rop-pane-h b,.rop-panes.lines-c .rop-lines .rop-pane-h b{display:none}
.rop-panes.nav-c .rop-pane-h,.rop-panes.lines-c .rop-lines .rop-pane-h{justify-content:center;padding:10px 6px}
.rop-filters{padding:10px 12px;border-bottom:1px solid var(--ln);display:grid;gap:8px}
.rop-filters input,.rop-in{width:100%;border:1px solid var(--ln);background:var(--p);color:var(--pi);border-radius:9px;padding:9px 11px;font:14px inherit;min-height:38px}
.rop-flags{display:flex;flex-wrap:wrap;gap:5px}
.rop-ros,.rop-jobs{list-style:none;margin:0;padding:6px}
.rop-ro,.rop-job{display:grid;gap:3px;width:100%;text-align:left;border:1px solid transparent;background:none;color:var(--pi);padding:10px;border-radius:10px;cursor:pointer;font:inherit}
.rop-ro:hover,.rop-job:hover{background:var(--bg2)}
.rop-ro.is-on,.rop-job.is-on{background:var(--p);border-color:var(--ln);box-shadow:inset 3px 0 0 var(--ac)}
.rop-ro-l1{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px;font-weight:700}
.rop-ro-veh{font-weight:700;font-size:14px}.rop-ro-l3{font-size:12px;color:var(--mu)}
.rop-ro-l4,.rop-job-m{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:11.5px;color:var(--mu)}
.rop-roh{padding:12px;border-bottom:1px solid var(--ln);display:grid;gap:4px}
.rop-big{font-size:17px;font-weight:800}.rop-veh{font-size:14px}.rop-sub{font-size:12px;color:var(--mu)}
.rop-reqbar{border:1px solid var(--bad);color:var(--bad);background:color-mix(in srgb,var(--bad) 8%,transparent);border-radius:8px;padding:7px 10px;font:700 12px inherit;text-align:left;cursor:pointer;margin-top:4px}
.rop-ok{font-size:12px;color:var(--ok);font-weight:700}
.rop-job{grid-template-columns:auto 1fr;column-gap:10px}.rop-op{grid-row:span 2;font-size:12px;color:var(--mu);padding-top:2px}.rop-job-t{font-weight:700;font-size:14px}
.rop-job.js-active{box-shadow:inset 3px 0 0 var(--ok)}
.rop-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--warn)}.rop-dot.d-error,.rop-dot.d-conflict{background:var(--bad)}
/* workspace */
.rop-ws{overflow:auto;padding:0}
.rop-hero-empty{padding:48px 32px;max-width:560px}.rop-hero-empty h2{font-size:28px;line-height:1.1;margin:8px 0 12px;letter-spacing:-.02em}.rop-hero-empty p{color:var(--mu)}
.rop-wsh{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;padding:16px 18px 10px;position:sticky;top:0;background:var(--p);z-index:2}
.rop-wsh h2{margin:4px 0 0;font-size:21px;letter-spacing:-.01em}
.rop-timer{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border:1px solid var(--ln);border-radius:12px;padding:6px 6px 6px 12px}
.rop-timer.is-run{border-color:var(--ok);box-shadow:inset 0 0 0 1px var(--ok)}
.rop-clock{font-size:20px;font-weight:700}
.rop-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.rop-tabs{display:flex;gap:2px;overflow-x:auto;padding:0 14px;border-bottom:1px solid var(--ln);position:sticky;top:0;background:var(--p);z-index:1;scrollbar-width:thin}
.rop-tab{border:0;background:none;color:var(--mu);font:600 13px inherit;padding:11px 12px;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;min-height:42px}
.rop-tab[aria-selected="true"]{color:var(--pi);border-bottom-color:var(--ac)}
#rop-tp{padding:16px 18px 28px;display:grid;gap:14px;min-width:0}
#rop-tp h4{margin:8px 0 4px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mu)}
.rop-story{display:grid;gap:14px}
.rop-complaint{border-left:3px solid var(--mu);padding:8px 12px;background:var(--bg2);border-radius:0 8px 8px 0}.rop-complaint p{margin:4px 0 0;white-space:pre-wrap}
.rop-savebar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-height:28px}
.rop-sv{font-size:12px;font-weight:700;padding:4px 9px;border-radius:6px;border:1px solid var(--ln)}
.sv-saved{color:var(--ok)}.sv-pending,.sv-saving{color:var(--warn)}.sv-error,.sv-conflict{color:#fbf8f2;background:var(--bad);border-color:var(--bad)}
.rop-tpl{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px}.rop-tpl select{border:1px solid var(--ln);background:var(--p);color:var(--pi);border-radius:8px;padding:7px;min-height:36px}
.rop-class{border:1px solid var(--ln);border-radius:10px;padding:8px 12px;display:flex;gap:18px;flex-wrap:wrap}.rop-class legend{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mu);padding:0 4px}
.rop-class label{display:flex;gap:6px;align-items:center;min-height:32px;font-size:14px}
.rop-field{display:grid;gap:6px}.rop-fh{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.rop-fh label{font-weight:800;font-size:14px}.rop-tools{margin-left:auto;display:flex;gap:4px}
.rop-field textarea{width:100%;resize:vertical;border:1px solid var(--ln);background:var(--p);color:var(--pi);border-radius:10px;padding:10px 12px;font:15px/1.5 inherit;min-height:72px}
.rop-field textarea:focus{border-color:var(--ac)}.rop-field textarea[readonly]{background:var(--bg2)}
.rop-review{border:1px dashed var(--ac);border-radius:10px;padding:10px;display:grid;gap:8px;background:color-mix(in srgb,var(--ac) 5%,transparent)}
.rop-review textarea{width:100%;border:1px solid var(--ln);background:var(--p);color:var(--pi);border-radius:8px;padding:8px;font:14px inherit}
.rop-review.is-bad{border-color:var(--bad);color:var(--bad)}
.rop-check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;cursor:pointer}.rop-check input{width:18px;height:18px;margin-top:1px;accent-color:var(--ac)}.rop-check span{display:grid;gap:2px}
.rop-pub{display:grid;gap:10px;border-top:1px solid var(--ln);padding-top:14px}
.rop-vers{list-style:none;padding:0;margin:0;display:grid;gap:8px}.rop-vers li{border:1px solid var(--ln);border-radius:10px;padding:10px}
.rop-vh{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rop-dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:6px 0 0;font-size:13px}.rop-dl dt{color:var(--mu);text-transform:capitalize}.rop-dl dd{margin:0;white-space:pre-wrap;min-width:0;overflow-wrap:anywhere}
.rop-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--ln);border:1px solid var(--ln);border-radius:10px;overflow:hidden}
.rop-kv>div,.rop-metrics>div{background:var(--p);padding:10px 12px;display:grid;gap:3px}.rop-kv span,.rop-metrics span{font-size:11px;color:var(--mu);text-transform:uppercase;letter-spacing:.08em}.rop-kv b,.rop-metrics b{font-size:18px;font-family:var(--mono)}
.rop-tbl{width:100%;border-collapse:collapse;font-size:13px;display:block;overflow-x:auto}.rop-tbl th,.rop-tbl td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--ln);white-space:nowrap}.rop-tbl th{font-size:11px;color:var(--mu);text-transform:uppercase;letter-spacing:.06em}
.rop-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.rop-form{display:grid;gap:10px;border:1px solid var(--ln);border-radius:12px;padding:14px}.rop-form label{display:grid;gap:4px;font-size:12.5px;font-weight:600}
.rop-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.rop-callout{display:grid;gap:6px;border:1px solid var(--warn);border-radius:10px;padding:12px;background:color-mix(in srgb,var(--warn) 8%,transparent)}
.rop-reqs{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.rop-reqs li{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;border:1px solid var(--ln);border-radius:10px;padding:8px 10px}.rop-reqs li div{display:grid}
.rop-req-ic{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;font:800 11px var(--mono);border:1px solid currentColor}
.rop-reqs .is-ok .rop-req-ic{color:var(--ok)}.rop-reqs .is-block{border-color:var(--bad)}.rop-reqs .is-block .rop-req-ic{color:var(--bad)}.rop-reqs .is-warn .rop-req-ic{color:var(--warn)}
.rop-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.rop-media{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.rop-media img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;border:1px solid var(--ln)}
.rop-tl{list-style:none;margin:0;padding:0;display:grid;gap:0}.rop-tl li{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--ln)}.rop-tl-at{font:12px var(--mono);color:var(--mu)}.rop-tl p{margin:3px 0 0;font-size:13.5px}
/* dispatch */
.rop-single{padding:16px;display:grid;gap:14px;min-width:0}
.rop-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;background:var(--ln);border:1px solid var(--ln);border-radius:12px;overflow:hidden;align-items:stretch}.rop-metrics>.rop-btn{border-radius:0;border:0}
.rop-techs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.rop-tech{flex:0 0 200px;border:1px solid var(--ln);border-radius:10px;padding:10px;display:grid;gap:4px;align-content:start}
.rop-tech.is-over,.rop-lane.is-over{border-color:var(--ac);background:color-mix(in srgb,var(--ac) 8%,transparent)}
.rop-lanes{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:10px;overflow-x:auto;padding-bottom:6px}
.rop-lane{border:1px solid var(--ln);border-radius:12px;background:var(--bg2);display:flex;flex-direction:column;min-height:240px}
.rop-lane.is-tech{background:repeating-linear-gradient(-45deg,var(--bg2) 0 10px,var(--p) 10px 20px)}
.rop-lane header{display:flex;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--ln)}.rop-lane>.rop-hint{padding:6px 12px 0}
.rop-lane ul{list-style:none;margin:0;padding:8px;display:grid;gap:6px}
.rop-cnt{font:700 12px var(--mono);background:var(--p);border:1px solid var(--ln);border-radius:6px;padding:1px 7px}
.rop-dcard{width:100%;text-align:left;display:grid;gap:3px;border:1px solid var(--ln);background:var(--p);color:var(--pi);border-radius:9px;padding:9px 10px;cursor:grab;font:inherit;touch-action:manipulation}
.rop-dcard.is-pick{border-color:var(--ac);box-shadow:0 0 0 2px color-mix(in srgb,var(--ac) 35%,transparent)}
.rop-dcard.is-block{border-left:3px solid var(--bad)}.rop-dcard.is-over{border-left:3px solid var(--warn)}
.rop-movehere{margin:8px;border:1px dashed var(--ac);background:none;color:var(--ac);font:700 12px inherit;border-radius:8px;padding:8px;cursor:pointer;min-height:36px}
.rop-pending{display:grid;gap:10px;border:2px solid var(--ac);border-radius:12px;padding:14px;background:var(--p)}.rop-pending label{display:grid;gap:4px;font-size:12.5px}
.rop-settings{max-width:720px}.rop-settings h3{margin:0}
/* states */
.rop-skel{display:grid;gap:8px;padding:12px}.rop-skel i{display:block;height:44px;border-radius:9px;background:linear-gradient(90deg,var(--bg2),color-mix(in srgb,var(--bg2) 60%,var(--p)),var(--bg2));background-size:200% 100%;animation:rop-sh 1.3s linear infinite}
@keyframes rop-sh{to{background-position:-200% 0}}
.rop-empty{display:grid;gap:4px;padding:28px 16px;text-align:center;color:var(--mu)}.rop-empty b{color:var(--pi)}
.rop-errbox{display:grid;gap:8px;padding:16px;margin:12px;border:1px solid var(--bad);border-radius:10px;color:var(--pi)}.rop-errbox b{color:var(--bad)}
.rop-warn{margin:8px;padding:7px 10px;border-radius:8px;font-size:12px;background:color-mix(in srgb,var(--warn) 14%,transparent)}
.rop-err-inline{display:block;font-size:12px;color:var(--bad)}
/* native tools */
details.rop-native{border:1px solid var(--mt-border,var(--stroke,#3a3d42));border-radius:12px;margin:0 0 16px;background:var(--mt-panel,var(--surface,#1d1f22));color:var(--mt-panel-ink,var(--ink,#e9e6df))}
details.rop-native>summary{cursor:pointer;padding:13px 16px;font-weight:800;list-style:none;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;min-height:44px}
details.rop-native>summary::-webkit-details-marker{display:none}details.rop-native>summary::before{content:"+";font-family:monospace;font-weight:800}details.rop-native[open]>summary::before{content:"-"}
details.rop-native>summary span{font-weight:500;font-size:12px;color:var(--mt-panel-muted,var(--muted,#9a978f))}
.rop-native-b{padding:0 12px 12px;min-width:0}
@media (prefers-reduced-motion:reduce){.rop-skel i{animation:none}.rop-btn{transition:none}}
/* tablet: collapse to two columns, phone: stacked */
@media (max-width:1100px){.rop-panes{grid-template-columns:var(--rop-nav,260px) 6px minmax(0,1fr);max-height:none}.rop-panes>.rop-split[data-split="lines"]{display:none}.rop-lines{grid-column:3}.rop-ws{grid-column:1/-1;border-top:1px solid var(--ln)}}
@media (max-width:767px){.rop-panes{display:flex;flex-direction:column;min-height:0}.rop-split{display:none}.rop-nav .rop-scroll{max-height:42dvh}.rop-lines .rop-scroll{max-height:40dvh}.rop-wsh{position:static}.rop-top{padding:10px 12px}.rop-views{width:100%;overflow-x:auto}.rop-tl li{grid-template-columns:1fr}.rop-hero-empty{padding:24px 16px}.rop-hero-empty h2{font-size:22px}}
.rop-chat{display:grid;gap:8px;border-top:1px solid var(--ln);padding-top:12px}
.rop-msgs{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:260px;overflow:auto}.rop-msgs li{border:1px solid var(--ln);border-radius:9px;padding:7px 10px}.rop-msgs p{margin:3px 0 0;font-size:13.5px;white-space:pre-wrap}
.rop-chatf{display:flex;gap:8px}.rop-chatf .rop-in{flex:1}
.rop-callout-sm{margin:0;font-size:12.5px;font-weight:700;padding:8px 10px;border-radius:8px;border:1px solid var(--warn);background:color-mix(in srgb,var(--warn) 10%,transparent)}
.rop-cmp{width:100%;font-size:12.5px;border:1px solid var(--ln);border-radius:8px;padding:6px 10px}.rop-cmp summary{cursor:pointer;font-weight:700}
.rop-vid{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--ln);border-radius:8px;font-size:12px}
.rop-dept{padding:6px 10px}.rop-dept select{width:100%}
.rop-lf{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px 10px 0;min-width:0}.rop-lf label,.rop-lf select,.rop-dept select{min-width:0;max-width:100%;width:100%}
