/* MasterTrace module styles. Built only from the MasterMind tokens in assets/mastermind-shell.css.
   Light theme only, no gradients, no new colours. */
[hidden]{display:none!important}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
a{color:var(--accent-deep)}
a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.mt-i{width:16px;height:16px;flex:0 0 auto;vertical-align:-3px}
body.mt-noscroll{overflow:hidden}
main{outline:none;min-width:0}
.wrap{min-width:0}
body.mt-bare .wrap{max-width:none}

/* shelf links are <a> in the module (same look as MasterMind's .tab buttons) */
a.tab{text-decoration:none}
.tab:focus-visible{outline:2px solid var(--accent-edge);outline-offset:1px}
.sideToggle:focus-visible{outline:2px solid var(--accent-edge)}
.side.min .bdndot{top:3px;right:6px}
@media (max-width:900px){.side .bdndot{top:3px;right:6px}}

/* header fit on narrow phones (MasterMind sizes otherwise) */
@media (max-width:520px){
  header{padding:18px 0 14px;gap:12px}
  header .brand img{width:40px;height:40px}
  header .brand{gap:9px}
  .wordmark{font-size:21px;letter-spacing:.12em}
  .tagline{font-size:9.5px;letter-spacing:.2em;margin-top:5px}
  .acctxt span{display:none}
  .acctbtn{padding:4px 10px 4px 4px}
}
@media (max-width:380px){.acctxt{display:none}}
.mt-acct{position:relative}
.mt-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:220px;background:var(--panel);border:1px solid var(--edge-soft);border-radius:12px;box-shadow:0 12px 28px rgba(var(--shade),.14);padding:6px;display:flex;flex-direction:column}
.mt-menu-who{font:600 12px var(--body);color:var(--faint);padding:8px 10px;border-bottom:1px solid var(--edge-soft);margin-bottom:4px;overflow-wrap:anywhere}
.mt-menu a,.mt-menu button{display:block;text-align:left;font:600 13px var(--body);color:var(--ink);background:transparent;border:0;border-radius:8px;padding:9px 10px;text-decoration:none;letter-spacing:0}
.mt-menu a:hover,.mt-menu button:hover{background:var(--panel-2);color:var(--ink)}
.bell{color:var(--ink);font-size:inherit}
.bell:hover{background:var(--panel-2);border-color:var(--edge-strong)}
.bell.ringing{color:var(--bad)}

/* headings */
h1.eyebrow{font-weight:400}
.mt-h{font:700 18px/1.3 var(--display);margin:0 0 6px;color:var(--ink)}
.mt-h3{font:700 12px var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.mt-p{font:400 14px/1.55 var(--body);color:var(--muted);margin:0 0 10px}
.mt-p:last-child{margin-bottom:0}
.mt-sub{font:600 12.5px/1.45 var(--body);color:var(--faint)}
.mt-mono{font-family:var(--mono);font-size:12.5px}
.mt-num{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.mt-boot{padding:60px 0;text-align:center;font:600 14px var(--body);color:var(--faint)}

/* cards (MasterMind white card) */
.mt-card{background:var(--panel);border:1px solid var(--edge-soft);border-radius:var(--r);box-shadow:0 1px 2px rgba(var(--shade),.06),0 8px 20px rgba(var(--shade),.07);padding:16px 18px;min-width:0;margin-bottom:14px}
.mt-card.flush{padding:0;overflow:hidden}
.mt-card>.mt-h3:first-child{margin-top:2px}
.mt-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:14px;align-items:start}
.mt-grid2>.mt-card{margin-bottom:0}
.mt-stack>*+*{margin-top:14px}
.mt-row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mt-spacer{flex:1 1 auto}

/* small buttons (same MasterMind button, smaller) */
button.mt-sm,.mt-sm{padding:7px 14px;font-size:12px}
button:disabled{opacity:.55;cursor:not-allowed}
button.danger:hover{background:#9a4734;border-color:#9a4734}
button.ghost.mt-bad{color:var(--bad);border-color:rgba(179,84,63,.45)}
button.ghost.mt-bad:hover{background:var(--bad-soft)}
.mt-icobtn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:9px;flex:0 0 auto}
.mt-icobtn .mt-i{width:16px;height:16px}
.mt-btnlink{display:inline-flex;align-items:center;gap:6px;font:600 13px var(--display);letter-spacing:.02em;color:var(--on-dark);background:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:11px 18px;text-decoration:none}
.mt-btnlink:hover{background:var(--accent-deep)}
.mt-btnlink.ghost{background:var(--panel);color:var(--ink);border-color:var(--edge)}
.mt-btnlink.ghost:hover{background:var(--panel-2)}
.mt-btnlink.mt-sm{padding:7px 14px;font-size:12px}
.mt-wide{width:100%}
.mt-linkbtn{background:none;border:0;padding:0;color:var(--accent-deep);font:inherit;font-weight:700;cursor:pointer;text-align:left;letter-spacing:0;border-radius:4px}
.mt-linkbtn:hover{background:none;color:var(--accent-deeper);text-decoration:underline}
.mt-ext{display:inline-flex;align-items:center;gap:5px;font:700 12.5px var(--body);color:var(--accent-deep);text-decoration:none;white-space:nowrap}
.mt-ext:hover{text-decoration:underline}
.mt-ext .mt-i{width:13px;height:13px}

/* tags (MasterMind small uppercase status tags) */
.tag{display:inline-flex;align-items:center;font:700 9.5px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;padding:5px 8px 4px;border-radius:5px;border:1px solid transparent;white-space:nowrap;vertical-align:middle}
.tag.bad{color:var(--bad);background:var(--bad-soft);border-color:rgba(179,84,63,.25)}
.tag.bad.solid{background:var(--bad);color:var(--on-dark);border-color:var(--bad)}
.tag.ok{color:var(--good-deep);background:rgba(46,138,87,.08);border-color:rgba(46,138,87,.25)}
.tag.acc{color:var(--accent-deep);background:var(--accent-soft);border-color:rgba(var(--accent-rgb),.25)}
.tag.warn{color:var(--warn-deep);background:var(--gold-soft);border-color:var(--gold-edge)}
.tag.ink{color:var(--ink);background:var(--panel-2);border-color:var(--edge)}
.tag.mut{color:var(--muted);background:var(--panel-2);border-color:var(--edge-soft)}
.tag.faint{color:var(--faint);background:var(--panel);border-color:var(--edge-soft)}
.chip{white-space:nowrap;background:var(--panel)}
.chip.nt{color:var(--muted);border-color:var(--edge)}
.mt-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.mt-count{font:700 11px var(--mono);color:var(--muted);background:var(--panel);border:1px solid var(--edge-soft);border-radius:6px;padding:2px 7px}

/* risk meter */
.mt-meter{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.mt-meter .bar{display:inline-block;width:64px;height:7px;border-radius:999px;background:var(--edge-soft);overflow:hidden}
.mt-meter .bar i{display:block;height:100%;border-radius:999px;background:var(--accent)}
.mt-meter.md .bar i{background:var(--warn)}
.mt-meter.hi .bar i{background:var(--bad)}
.mt-meter b{font:700 12.5px var(--mono);min-width:20px}

/* window panes */
.mt-panes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:14px;align-items:stretch}
.mt-panes .fwin.wide{grid-column:1/-1}
@media (min-width:1300px){.mt-panes{grid-template-columns:repeat(3,minmax(0,1fr))}.mt-panes .fwin.span2{grid-column:span 2}}
.fwin-title{margin:0;font-weight:400}
a.fwin-x{text-decoration:none;display:inline-flex;align-items:center}
.mt-maxbtn{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px!important}
.mt-maxbtn .mt-i{width:14px;height:14px}
.fwin-x:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.mt-fwin .fwin-body{min-height:120px}
.fwin.mt-max{position:fixed;inset:14px;z-index:70;max-height:none;overflow:hidden}
.fwin.mt-max .fwin-body{overflow:auto}
.mt-backdrop{position:fixed;inset:0;background:rgba(20,33,31,.38);z-index:65}
@media (max-width:700px){.fwin.mt-max{inset:8px}}

/* compact rows inside panes */
.mt-rows{display:flex;flex-direction:column}
.mt-rowi{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--edge-soft);min-width:0}
.mt-rowi:last-child{border-bottom:0}
.mt-rowi .main{min-width:0;flex:1 1 auto}
.mt-rowi .ttl{display:block;font:700 13.5px/1.35 var(--body);color:var(--ink);overflow-wrap:anywhere}
.mt-rowi button.ttl{background:none;border:0;padding:0;text-align:left;cursor:pointer;letter-spacing:0;border-radius:4px}
.mt-rowi button.ttl:hover{color:var(--accent-deep);text-decoration:underline;background:none}
.mt-rowi .meta{font:600 12px/1.45 var(--body);color:var(--faint);margin-top:3px;overflow-wrap:anywhere}
.mt-rowi .side-r{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto;text-align:right}
.mt-rowi .price{font:700 13px var(--mono);color:var(--ink)}
@media (max-width:480px){.mt-rowi{flex-direction:column;gap:6px}.mt-rowi .side-r{flex-direction:row;align-items:center;flex-wrap:wrap;text-align:left}}

/* tables: scroll inside their own box on small screens */
.mt-tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;border-radius:8px}
.mt-tblwrap table{min-width:var(--minw,720px)}
.mt-tblwrap td,.mt-tblwrap th{font-size:13px}
tr.mt-click{cursor:pointer}
tr.mt-click:hover td{background:var(--surface-4)}
tr.mt-click:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
td .ttl{font:700 13px/1.35 var(--body);color:var(--ink);display:block;max-width:360px;overflow-wrap:anywhere}
td .sub{font:600 11.5px/1.4 var(--body);color:var(--faint);display:block;margin-top:2px}
td.nowrap,th.nowrap{white-space:nowrap}
td.num,th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}

/* filter bar + sub-tabs */
.mt-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:14px}
.mt-filters .mt-field{flex:1 1 160px;min-width:0}
.mt-filters .mt-field.grow{flex:3 1 240px}
.mt-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.mt-field>span{font:700 10px var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.mt-field input,.mt-field select,.mt-field textarea{width:100%;min-width:0}
.mt-field textarea{min-height:90px;resize:vertical;font-weight:400;line-height:1.5}
.mt-check{display:inline-flex;align-items:center;gap:8px;font:600 13px var(--body);color:var(--ink);cursor:pointer}
.mt-check input{width:16px;height:16px;padding:0;accent-color:var(--accent)}
.mt-tabs{display:flex;gap:4px;border-bottom:1px solid var(--edge);margin:0 0 16px;overflow-x:auto;scrollbar-width:thin}
.mt-tabs button,.mt-tabs a{flex:0 0 auto;background:transparent;color:var(--muted);border:0;border-bottom:2px solid transparent;border-radius:0;padding:10px 12px 9px;font:600 13px var(--display);letter-spacing:.01em;text-decoration:none;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.mt-tabs button:hover,.mt-tabs a:hover{color:var(--ink);background:transparent;border-color:transparent;border-bottom-color:var(--edge-strong)}
.mt-tabs [aria-selected="true"],.mt-tabs .on{color:var(--accent-deep);border-bottom-color:var(--accent)!important}
.mt-tabs .mt-count{font-size:10.5px;padding:1px 6px}
.mt-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 2px 2px;font:600 12.5px var(--body);color:var(--faint)}

/* states */
.mt-sk{display:flex;flex-direction:column;gap:10px;padding:6px 0}
.mt-sk span{display:block;border-radius:6px;background:var(--panel-2);animation:mhpulse 1.4s ease-in-out infinite}
.mt-sk span:nth-child(2n){width:82%}
.mt-sk span:nth-child(3n){width:64%}
@keyframes mhpulse{50%{opacity:.5}}
@media (prefers-reduced-motion:reduce){.mt-sk span{animation:none}}
.mt-empty{padding:22px 16px;text-align:center;color:var(--faint);font:400 13.5px/1.5 var(--body)}
.mt-empty b{display:block;font:700 14px var(--body);color:var(--muted);margin-bottom:4px}
.mt-empty p{margin:0 auto;max-width:460px}
.mt-error{padding:16px;border:1px solid rgba(179,84,63,.3);background:var(--bad-soft);border-radius:10px;color:var(--ink)}
.mt-error b{display:block;font:700 14px var(--body);color:var(--bad);margin-bottom:4px}
.mt-error p{margin:0 0 10px;font:400 13.5px/1.5 var(--body)}
.mt-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;background:var(--surface-3);border:1px solid rgba(var(--accent-rgb),.22);font:400 13.5px/1.55 var(--body);color:var(--ink)}
.mt-note .mt-i{color:var(--accent-deep);margin-top:2px}
.mt-note.warn{background:var(--gold-soft);border-color:var(--gold-edge)}
.mt-note.warn .mt-i{color:var(--warn-deep)}

/* key/value lists */
.mt-kv{display:grid;grid-template-columns:minmax(110px,max-content) minmax(0,1fr);gap:8px 16px;margin:0;font-size:13.5px}
.mt-kv dt{font:700 10px/1.9 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.mt-kv dd{margin:0;min-width:0;overflow-wrap:anywhere;color:var(--ink)}
@media (max-width:420px){.mt-kv{grid-template-columns:1fr;gap:2px 0}.mt-kv dd{margin-bottom:8px}}
.mt-hash{font:400 11.5px/1.5 var(--mono);color:var(--muted);overflow-wrap:anywhere;word-break:break-all}

/* red flag cards */
.mt-flag{border-left:3px solid var(--bad)}
.mt-flag.medium{border-left-color:var(--warn)}
.mt-flag.done{border-left-color:var(--edge)}
.mt-flag-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.mt-flag-title{font:700 16px/1.35 var(--display);margin:0 0 4px;overflow-wrap:anywhere}
.mt-flag-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px 18px;margin:12px 0;padding:12px 0;border-top:1px solid var(--edge-soft);border-bottom:1px solid var(--edge-soft)}
.mt-flag-facts div{min-width:0}
.mt-flag-facts>div>span{display:block;font:700 10px var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:3px}
.mt-flag-facts b{font:700 13.5px/1.4 var(--body);overflow-wrap:anywhere}
.mt-gate{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:8px 18px}
.mt-gate li{display:flex;gap:10px;align-items:flex-start;font:400 13px/1.45 var(--body);color:var(--muted);min-width:0}
.mt-gate li b{display:block;color:var(--ink);font-weight:700}
.mt-gate .mk{flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(46,138,87,.4);color:var(--good);background:rgba(46,138,87,.07);margin-top:1px}
.mt-gate .mk .mt-i{width:12px;height:12px;stroke-width:3}
.mt-gate li.no .mk{border-color:rgba(179,84,63,.4);color:var(--bad);background:var(--bad-soft)}
.mt-gate li span.det{display:block;overflow-wrap:anywhere}
.mt-flag-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}
.mt-why{margin-top:4px}
.mt-why summary{cursor:pointer;font:700 12px var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep);padding:4px 0;list-style:none;display:inline-flex;align-items:center;gap:6px}
.mt-why summary::-webkit-details-marker{display:none}
.mt-why summary .mt-i{transition:transform .15s;width:14px;height:14px}
.mt-why[open] summary .mt-i{transform:rotate(90deg)}
.mt-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}
.mt-legend ol{margin:0;padding-left:20px;font:400 13px/1.6 var(--body);color:var(--muted)}
.mt-legend ol b{color:var(--ink)}

/* drawer */
.mt-drawer{position:fixed;top:0;right:0;bottom:0;z-index:80;width:min(620px,100vw);background:var(--bg);box-shadow:-12px 0 32px rgba(var(--shade),.18);display:flex;flex-direction:column;border-left:1px solid var(--edge)}
.mt-drawer-head{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:14px 18px;background:var(--panel);border-bottom:1px solid var(--edge-soft)}
.mt-drawer-head h2{font:700 15px/1.3 var(--display);margin:0;min-width:0;overflow-wrap:anywhere}
.mt-drawer-body{flex:1 1 auto;overflow:auto;padding:16px 18px 40px;overscroll-behavior:contain}
.mt-drawer .mt-backdrop{z-index:75}
body>.mt-backdrop{z-index:75}
body>.mt-backdrop.mt-maxbd{z-index:65}
@media (max-width:520px){.mt-drawer-body{padding:14px 14px 40px}}

/* dialog */
dialog.mt-dialog{border:0;border-radius:16px;padding:0;width:min(520px,calc(100vw - 24px));max-height:calc(100vh - 24px);box-shadow:0 20px 60px rgba(var(--shade),.25);color:var(--ink);background:var(--panel)}
dialog.mt-dialog.wide{width:min(760px,calc(100vw - 24px))}
dialog.mt-dialog::backdrop{background:rgba(20,33,31,.42)}
.mt-dialog form{display:flex;flex-direction:column;max-height:calc(100vh - 24px)}
.mt-dlg-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--edge-soft)}
.mt-dlg-head h2{font:700 17px/1.3 var(--display);margin:0}
.mt-dlg-body{padding:16px 18px;overflow:auto;display:flex;flex-direction:column;gap:12px}
.mt-dlg-err{margin:0 18px 6px;padding:9px 12px;border-radius:8px;background:var(--bad-soft);color:var(--bad);font:600 13px var(--body);border:1px solid rgba(179,84,63,.25)}
.mt-dlg-acts{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--edge-soft)}
.mt-choice{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--edge);border-radius:10px;padding:12px;cursor:pointer;font:400 13.5px/1.5 var(--body);color:var(--muted)}
.mt-choice b{display:block;color:var(--ink)}
.mt-choice input{margin-top:3px;accent-color:var(--accent);width:16px;height:16px;padding:0;flex:0 0 auto}
.mt-choice:has(input:checked){border-color:var(--accent);background:var(--surface-4)}

/* toasts */
.mt-toasts{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:100;display:flex;flex-direction:column;gap:8px;width:min(440px,calc(100vw - 24px));pointer-events:none}
.mt-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;justify-content:space-between;background:var(--panel);border:1px solid var(--edge-soft);border-left:4px solid var(--good);border-radius:10px;padding:11px 10px 11px 14px;font:600 13.5px/1.45 var(--body);color:var(--ink);box-shadow:0 10px 26px rgba(var(--shade),.18);transition:opacity .2s,transform .2s}
.mt-toast.bad{border-left-color:var(--bad)}
.mt-toast.warn{border-left-color:var(--warn)}
.mt-toast.out{opacity:0;transform:translateY(6px)}
.mt-toast-x{background:transparent;border:0;color:var(--faint);padding:2px;border-radius:6px;display:inline-flex}
.mt-toast-x:hover{background:var(--panel-2);color:var(--ink)}

/* sign-in */
.mt-signwrap{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center;padding:30px 0}
.mt-sign{width:min(420px,100%);padding:26px 26px 24px;display:flex;flex-direction:column;gap:12px}
.mt-signbrand{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.mt-signbrand img{width:46px;height:46px;border-radius:50%}
.mt-signbrand .wordmark{font-size:26px}
body.mt-bare .foot{margin-top:0}

/* command */
.mt-head-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
a.md-card{text-decoration:none}
.md-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.mt-kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.mt-map{height:340px;border-radius:10px;border:1px solid var(--edge-soft);background:var(--panel-2);z-index:0}
.fwin.mt-max .mt-map{height:100%;min-height:300px}
.fwin.mt-max .fwin-body{display:flex}
.fwin.mt-max .fwin-body>.mt-map{flex:1 1 auto}
.mt-mapkey{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font:600 12px var(--body);color:var(--muted)}
.mt-mapkey i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.mt-mapkey i.drop{background:var(--bad);opacity:.75}
.mt-mapkey i.na{background:var(--bad);border:2px solid var(--panel);box-shadow:0 0 0 1px var(--bad)}
.mt-mapkey i.au{background:var(--accent)}
.mt-mapkey i.cf{background:var(--warn)}
.mt-mapkey i.ord{background:var(--purple);width:7px;height:7px}
.leaflet-container{font-family:var(--body)}
.leaflet-popup-content{font:400 13px/1.45 var(--body);color:var(--ink);margin:12px 14px}
.leaflet-popup-content b{font-weight:700}
.mt-sectors{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:8px}
.mt-sector{border:1px solid var(--edge-soft);border-radius:10px;padding:10px 12px;background:var(--panel);min-width:0}
.mt-sector .nm{font:700 13px/1.35 var(--body);color:var(--ink);margin-bottom:6px;overflow-wrap:anywhere}
.mt-sector .ct{font:600 12px var(--body);color:var(--faint);margin-top:6px}
.mt-sector .er{font:400 12px/1.4 var(--body);color:var(--warn-deep);margin-top:6px;overflow-wrap:anywhere}
.mt-sector.running{border-color:var(--accent);background:var(--surface-4)}
.mt-sector.failed{border-color:rgba(179,84,63,.45)}
.mt-sector.blocked{border-color:var(--gold-edge)}
.mt-feed{list-style:none;margin:0;padding:0}
.mt-feed li{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--edge-soft);font:400 13px/1.45 var(--body);color:var(--ink);min-width:0}
.mt-feed li:last-child{border-bottom:0}
.mt-feed time{flex:0 0 auto;font:600 11.5px/1.7 var(--mono);color:var(--faint);min-width:92px}
.mt-feed span{min-width:0;overflow-wrap:anywhere}
@media (max-width:480px){.mt-feed li{flex-direction:column;gap:2px}}

/* battalion */
.mt-log{font:400 12px/1.6 var(--mono);color:var(--ink);background:var(--panel-2);border:1px solid var(--edge-soft);border-radius:10px;padding:10px 12px;max-height:280px;overflow:auto;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.mt-progress{height:8px;border-radius:999px;background:var(--edge-soft);overflow:hidden;margin:10px 0 4px}
.mt-progress i{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .3s}

/* tracking */
.mt-cy{height:560px;border:1px solid var(--edge-soft);border-radius:10px;background:var(--surface-4);min-width:0}
.mt-track{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}
@media (max-width:1100px){.mt-track{grid-template-columns:1fr}.mt-cy{height:460px}}
@media (max-width:600px){.mt-cy{height:380px}}
@media (max-height:500px){.mt-cy{height:320px}}
.mt-gkey{display:flex;flex-wrap:wrap;gap:6px 14px;font:600 12px var(--body);color:var(--muted);margin-top:10px}
.mt-gkey i{display:inline-block;width:11px;height:11px;margin-right:6px;vertical-align:-1px;border-radius:50%}
.mt-gkey i.sq{border-radius:2px}
.mt-gkey i.dm{transform:rotate(45deg);border-radius:1px;width:9px;height:9px}
.mt-tl{position:relative;overflow-x:auto}
.mt-tl svg{display:block;min-width:640px}
.mt-tl text{font-family:var(--body);font-size:11px;fill:var(--faint)}
.mt-tip{position:absolute;pointer-events:none;z-index:5;background:var(--ink);color:var(--on-dark);font:600 12px/1.4 var(--body);padding:7px 10px;border-radius:8px;max-width:260px;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.mt-tl rect.bar:hover,.mt-tl circle.dot:hover{opacity:.75}
.mt-reveal{background:none;border:0;padding:0 0 0 6px;color:var(--accent-deep);font:700 11.5px var(--body);letter-spacing:0;cursor:pointer}
.mt-reveal:hover{background:none;text-decoration:underline}
.mt-fullmap{height:600px}
@media (max-width:900px){.mt-fullmap{height:460px}}
@media (max-height:500px){.mt-fullmap{height:300px}.mt-map{height:260px}}
.mt-layers{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:12px}

/* cases */
.mt-timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--edge-soft)}
.mt-timeline li{position:relative;padding:0 0 14px 14px;font:400 13.5px/1.5 var(--body);color:var(--ink)}
.mt-timeline li::before{content:"";position:absolute;left:-21px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--panel);border:2px solid var(--accent)}
.mt-timeline .who{display:block;font:600 11.5px var(--body);color:var(--faint);margin-bottom:2px}
.mt-template{width:100%;min-height:170px;font:400 12.5px/1.5 var(--mono);color:var(--ink);background:var(--panel-2);resize:vertical}
.mt-casehead{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-start;justify-content:space-between}
.mt-casecode{font:700 13px var(--mono);color:var(--accent-deep);letter-spacing:.04em}
.mt-spark{display:block;width:100%;height:70px}
.mt-spark polyline{fill:none;stroke:var(--accent);stroke-width:2}
.mt-spark line.ws{stroke:var(--bad);stroke-dasharray:4 4;stroke-width:1}
.mt-spark circle{fill:var(--accent-deep)}
.mt-spark text{font:600 10px var(--body);fill:var(--faint)}

/* watchlist */
.mt-wl{list-style:none;margin:0 0 12px;padding:0}
.mt-wl li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--edge-soft);min-width:0}
.mt-wl li .v{min-width:0;overflow-wrap:anywhere;font:700 13px var(--body)}
.mt-wl li .n{display:block;font:600 11.5px var(--body);color:var(--faint)}
.mt-addrow{display:flex;gap:8px;flex-wrap:wrap}
.mt-addrow input{flex:1 1 160px;min-width:0}

/* settings */
.mt-keys{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px}
.mt-key{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--edge-soft);border-radius:10px;font:700 13.5px var(--body);flex-wrap:wrap}
.mt-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px}
.mt-recip{display:grid;grid-template-columns:minmax(120px,1fr) minmax(160px,1.6fr) minmax(130px,1.2fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--edge-soft)}
.mt-recip:last-child{border-bottom:0}
.mt-recip .nm{font:700 13.5px var(--body)}
@media (max-width:1100px){.mt-recip{grid-template-columns:1fr 1fr}.mt-recip .nm{grid-column:1/-1}}
@media (max-width:480px){.mt-recip{grid-template-columns:1fr}}

/* embedded in MasterMind (iframe or ?embed=1): no shelf/header, compact section bar instead */
body.mt-embed .wrap{padding-top:0}
.mt-subnav{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--edge);margin:0 0 4px;padding:10px 0}
.mt-subnav-in{position:relative;display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;padding:2px}
.mt-subnav a{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;font:600 12.5px var(--display);letter-spacing:.01em;color:var(--muted);text-decoration:none;padding:7px 12px;border:1px solid transparent;border-radius:9px;white-space:nowrap}
.mt-subnav a .mt-i{width:15px;height:15px}
.mt-subnav a:hover{background:var(--panel);border-color:var(--edge-soft);color:var(--ink)}
.mt-subnav a.on{background:var(--panel);border-color:var(--edge);color:var(--accent-deep);box-shadow:0 1px 2px rgba(var(--shade),.08)}
.mt-subdot{min-width:18px;height:18px;border-radius:999px;background:var(--bad);color:var(--on-dark);font:700 10px/18px var(--display);text-align:center;padding:0 5px}

/* command panes: list panes keep a steady height and scroll inside */
.mt-panes .fwin:not(.wide):not([data-pane="map"]) .fwin-body{max-height:470px;overflow:auto}
.mt-secrows .mt-rowi{padding:7px 0;align-items:center}
.mt-secrows .mt-rowi .ttl{font-size:13px}
.mt-count{white-space:nowrap}
.mt-panes .fwin[data-pane="map"] .fwin-body{display:flex;flex-direction:column}
.mt-panes .fwin[data-pane="map"] .mt-map{flex:1 1 auto;min-height:340px}
.mt-feed a{text-decoration:none;font-weight:600}
.mt-feed a:hover{text-decoration:underline}
main[tabindex]:focus,main[tabindex]:focus-visible{outline:none}
.mt-linkbtn{font:700 12.5px var(--body)}
.mt-filters .mt-field{flex:1 1 140px}
.mt-filters .mt-field.grow{flex:2 1 220px}

/* Desktop column balance (integration pass 24 Oct): fixed layout, explicit widths, nothing spills */
.mt-ltbl,.mt-stbl{table-layout:fixed;width:100%}
.mt-ltbl th:nth-child(1){width:33%}.mt-ltbl th:nth-child(2){width:9%}.mt-ltbl th:nth-child(3){width:8%}
.mt-ltbl th:nth-child(4){width:10%}.mt-ltbl th:nth-child(5){width:14%}.mt-ltbl th:nth-child(6){width:10%}
.mt-ltbl th:nth-child(7){width:10%}.mt-ltbl th:nth-child(8){width:6%}
.mt-ltbl td .ttl,.mt-ltbl td .sub{overflow-wrap:anywhere}
.mt-stbl th:nth-child(1){width:10%}.mt-stbl th:nth-child(2){width:19%}.mt-stbl th:nth-child(3){width:9%}
.mt-stbl th:nth-child(4){width:21%}.mt-stbl th:nth-child(5){width:15%}.mt-stbl th:nth-child(6){width:8%}
.mt-stbl th:nth-child(7){width:7%}.mt-stbl th:nth-child(8){width:11%}
.mt-stbl td .ttl{overflow-wrap:anywhere}
.mt-ltbl td.nowrap,.mt-stbl td.nowrap{white-space:normal;overflow-wrap:anywhere}
.mt-ltbl th:nth-child(1){width:31%}.mt-ltbl th:nth-child(6){width:12%}
.mt-ltbl td .chip,.mt-ltbl td .mt-chip{white-space:normal;line-height:1.3}
.mt-ltbl td .tag{white-space:normal;line-height:1.3;display:inline-block;max-width:100%}
