/* [claude-opus-5-5 2026-10-11] The operator console's Home, Events and Stats (console.js), in the site's compact desktop
   vocabulary (registers, inset wells, segment and fill meters, lamps, dense tables; Silver first). Theme colours come from
   the theme variables; state tones and the chart palette are the shared fixed ones. The 2000s Windows theme restyles
   these parts in theme-luna.css. */
@layer refined {
  .cx-root{display:flex;flex-direction:column;gap:12px}
  .cx-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:12px;align-items:start}
  .cx-grid.cx-even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .cx-grid>.panel{min-width:0;height:100%}
  .cx-stack{display:flex;flex-direction:column;gap:12px}
  .cx-alerts{display:flex;flex-direction:column;gap:6px}.cx-alerts:empty{display:none}
  .cx-alerts .u-notice span{flex:1}
  .cx-head-right{display:flex;align-items:center;gap:8px;min-width:0}
  .cx-scope{flex-wrap:wrap}.cx-scope button{flex:0 0 auto;white-space:nowrap}
  .cx-small{font-size:10.5px}
  /* wells */
  .cx-wells{grid-template-columns:repeat(4,minmax(0,1fr));padding:10px 14px 0}
  .cx-money{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 14px}
  .cx-tr-wells{grid-template-columns:repeat(4,minmax(0,1fr));padding:10px 14px 0}
  .cx-g-wells{grid-template-columns:repeat(5,minmax(0,1fr))}
  .cx-root .u-val small{font-size:11px;font-weight:400;color:var(--muted)}
  .cx-dec-well .u-val{color:color-mix(in srgb,var(--viz-1) 55%,var(--text))}
  .cx-pre-well .u-val{color:color-mix(in srgb,var(--viz-5) 55%,var(--text))}
  .cx-ttft-well .u-val{color:color-mix(in srgb,var(--viz-4) 50%,var(--text))}
  .cx-neg,.cx-bad-t{color:#f0a296}.cx-good-t{color:#8fd49b}.cx-warn-t{color:#f0d19b}
  /* graph */
  .cx-chart{padding:8px 14px 4px}
  .cx-chart .u-legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:10.5px;color:var(--muted);margin-bottom:4px}
  .cx-graph{width:100%;height:118px}
  .cx-growth{width:100%;height:auto}
  .cx-ax{font-size:9.5px;fill:var(--subtle);font-variant-numeric:tabular-nums}.cx-ax.pre{fill:color-mix(in srgb,var(--viz-5) 60%,var(--subtle))}
  .cx-dec{fill:none;stroke:var(--viz-1);stroke-width:1.6;vector-effect:non-scaling-stroke}
  .cx-dec-area{fill:var(--viz-1);fill-opacity:.14;stroke:none}
  .cx-pre{fill:none;stroke:var(--viz-5);stroke-width:1.3;vector-effect:non-scaling-stroke}
  .cx-sc{fill:none;stroke-width:1.6}.cx-hist{fill:none;stroke:var(--viz-neutral);stroke-width:2}
  .cx-root .u-grid{stroke:var(--line);stroke-opacity:.6;stroke-dasharray:2 3;vector-effect:non-scaling-stroke}
  .cx-root .u-ref{stroke:var(--muted);stroke-opacity:.5;stroke-dasharray:3 3}
  /* tables */
  .cx-nodes td a,.cx-user-table td a{color:var(--text)}
  .cx-nodes td:first-child,.cx-user-table td:first-child{white-space:nowrap}
  .cx-nn{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}
  .cx-nodes td a:hover,.cx-user-table td a:hover{text-decoration:underline;text-underline-offset:2px}
  .cx-picked>*{background:color-mix(in srgb,var(--mint) 7%,transparent)}
  .cx-q{display:inline!important;color:#f0d19b}
  .cx-wr{min-width:120px}.cx-wr-val{display:block;font-size:11.5px;font-variant-numeric:tabular-nums}
  /* label / value rows */
  .cx-rows{margin:0;padding:4px 14px 10px}
  .cx-rows>div{display:grid;grid-template-columns:118px minmax(0,1fr);gap:10px;padding:5px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent);font-size:11.5px;align-items:center}
  .cx-rows>div:last-child{border-bottom:0}
  .cx-rows dt{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cx-rows dd{margin:0;min-width:0;color:var(--text)}
  .cx-rows dd a{color:var(--mint)}
  .cx-rows .u-meter{margin-top:4px}
  .cx-left{max-width:240px}
  .u-meter i.error{background:linear-gradient(#f08a7e,#c2493b)}
  .cx-plans{display:flex;flex-wrap:wrap;gap:4px}
  .cx-plans span{font-size:10.5px;padding:1px 6px;border-radius:3px;border:1px solid var(--line);background:var(--raised);color:var(--muted);white-space:nowrap}
  .cx-plans b{color:var(--text);font-weight:600;margin-left:2px}
  .cx-strip{display:grid;grid-template-columns:repeat(60,minmax(0,1fr));gap:1px;width:100%;max-width:300px;padding:2px;border-radius:2px;background:var(--u-trough);box-shadow:inset 0 1px 2px #0008}
  .cx-strip i{height:10px;border-radius:1px;background:#3a3d42}
  .cx-strip i.a{background:linear-gradient(#5fd17a,#169a3a)}.cx-strip i.p{background:linear-gradient(#ffd27a,#c98500)}.cx-strip i.d{background:linear-gradient(#f08a7e,#c2493b)}
  /* traffic bars */
  .cx-bars{display:flex;align-items:flex-end;gap:2px;height:64px;margin:10px 14px 0;padding:3px;border-radius:3px;background:var(--u-trough);box-shadow:inset 0 1px 2px #0009,0 1px #ffffff08}
  .cx-bars span{flex:1;height:100%;display:flex;flex-direction:column-reverse;gap:1px}
  .cx-bars i{display:block;border-radius:1px 1px 0 0;box-shadow:inset 0 1px #ffffff40}
  .cx-bars i.ok{background:linear-gradient(color-mix(in srgb,var(--viz-1) 70%,#fff),var(--viz-1))}
  .cx-bars i.bad{background:linear-gradient(#f08a7e,#c2493b)}
  .cx-bars-x{display:flex;justify-content:space-between;padding:3px 14px 10px;font-size:9.5px;color:var(--subtle)}
  /* events */
  .cx-ev-list{list-style:none;margin:0;padding:2px 0 4px}
  .cx-ev-list li.u-empty{padding:14px}
  .cx-ev>a,.cx-ev>div{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px;padding:5px 14px;color:var(--text)}
  .cx-ev>a:hover{background:#ffffff07}
  .cx-ev+.cx-ev>a,.cx-ev+.cx-ev>div{border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent)}
  .cx-ev-main{min-width:0;display:flex;align-items:baseline;gap:7px}
  .cx-ev-main strong{font-size:11.5px;font-weight:600;white-space:nowrap}
  .cx-ev-main small{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
  .cx-ev time{font-size:10px;color:var(--subtle);white-space:nowrap;font-variant-numeric:tabular-nums}
  .cx-ev-ico{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:4px;border:1px solid;flex:none;box-shadow:inset 0 1px 0 #ffffff14,0 1px 2px #0006;vertical-align:middle}
  .cx-ev-ico svg{width:13px;height:13px}
  .cx-ev-ico.ok{background:#203a2d;border-color:#557f64;color:#bce7ca}
  .cx-ev-ico.warn{background:#352b1c;border-color:#8b7047;color:#f0d19b}
  .cx-ev-ico.error{background:#382028;border-color:#925c6a;color:#f6c3ce}
  .cx-ev.quiet .cx-ev-ico,tr.quiet .cx-ev-ico{background:var(--raised);border-color:var(--line);color:var(--muted)}
  .cx-ev-table td{vertical-align:middle}
  .cx-ev-table td .cx-ev-ico{margin-right:8px}
  .cx-ev-table tr.quiet td{color:var(--muted)}
  .cx-time{width:56px}
  .cx-ev-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px}
  .cx-ev-toolbar .segmented{max-width:none}
  .cx-ev-toolbar select{width:auto;max-width:180px}
  .cx-ev-toolbar .checkbox-label{margin:0}
  .cx-spacer{flex:1}
  .cx-alert-set{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted)}
  .cx-alert-set label{display:inline-flex;align-items:center;gap:6px;margin:0}
  .cx-alert-set select{width:auto;padding:4px 8px}
  /* stats */
  .cx-stats .u-table tbody th[scope=row]{white-space:nowrap}
  .cx-period th[scope=row]{font-weight:500;color:var(--text);white-space:nowrap}
  .cx-period td,.cx-proj td,.cx-terms td{font-variant-numeric:tabular-nums}
  .cx-proj th[scope=row],.cx-terms th[scope=row]{font-weight:500;white-space:nowrap}
  .cx-sw{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;vertical-align:0;box-shadow:inset 0 1px #ffffff40}
  .cx-g-top{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
  .cx-assume{display:grid;grid-template-columns:auto minmax(90px,140px) auto;gap:6px 10px;align-items:center;font-size:11.5px}
  .cx-assume label{margin:0;color:var(--muted)}
  .cx-assume small{color:var(--subtle);font-size:10px}
  .cx-in{display:flex;align-items:center;gap:4px}.cx-in i{font-style:normal;color:var(--muted);font-size:11px}
  .cx-in input{padding:4px 7px;font-size:11.5px}
  .cx-assume .form-error{grid-column:1/-1;margin:0}
  .cx-form-actions{grid-column:1/-1;display:flex;gap:8px;margin-top:4px}
  .cx-rent td small{display:block}
  .cx-rent td.cx-now{background:color-mix(in srgb,var(--mint) 8%,transparent)}
  .cx-foot{margin:0;padding:0 2px;font-size:10.5px;color:var(--subtle);list-style:none}
  ul.cx-foot li+li{margin-top:2px}
  /* events bell in the top bar */
  .cx-bell{position:relative}
  .cx-bell-n{position:absolute;top:2px;right:1px;min-width:13px;height:13px;padding:0 3px;border-radius:7px;font-size:9px;line-height:13px;font-weight:700;text-align:center;color:#fff;background:#c2493b;box-shadow:0 0 0 1px var(--bg)}
  .cx-bell-n:empty{display:none}
  /* tray balloons (alerts on every page) */
  .cx-tray{position:fixed;right:16px;bottom:16px;z-index:120;display:flex;flex-direction:column;gap:8px;width:320px;max-width:calc(100vw - 32px);pointer-events:none}
  .cx-balloon{pointer-events:auto;cursor:pointer;display:grid;grid-template-columns:24px minmax(0,1fr) 20px;gap:9px;align-items:start;padding:9px 10px;border-radius:5px;border:1px solid var(--line);
    background:linear-gradient(var(--raised),var(--panel));color:var(--text);box-shadow:inset 0 1px 0 #ffffff12,0 8px 24px #0009;animation:cx-in .2s ease-out;transition:opacity .5s,transform .5s}
  .cx-balloon.lvl-2{border-color:#925c6a}
  .cx-balloon.out{opacity:0;transform:translateY(6px)}
  .cx-balloon-main{min-width:0;display:flex;flex-direction:column;gap:2px}
  .cx-balloon-main strong{font-size:12px}.cx-balloon-main small{font-size:11px;color:var(--muted);margin:0}
  .cx-balloon-x{color:var(--muted);display:grid;place-items:center;width:18px;height:18px;border-radius:3px}.cx-balloon-x:hover{background:#ffffff10;color:var(--text)}
  .cx-balloon-x svg{width:11px;height:11px}
  @keyframes cx-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  @media(prefers-reduced-motion:reduce){.cx-balloon{animation:none;transition:none}}
  /* narrow */
  @media(max-width:1100px){.cx-grid,.cx-grid.cx-even,.cx-g-top{grid-template-columns:minmax(0,1fr)}.cx-g-wells{grid-template-columns:repeat(3,minmax(0,1fr))}}
  @media(max-width:640px){.cx-wells,.cx-tr-wells,.cx-g-wells{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-rows>div{grid-template-columns:96px minmax(0,1fr)}
    .cx-assume{grid-template-columns:minmax(0,1fr) minmax(90px,120px)}.cx-assume small{grid-column:1/-1;margin-top:-4px}.cx-head-right .u-live-tag{display:none}}
}
/* [claude-opus-5-5 2026-10-11] Operator pages: a wider canvas; node names and table asides stay on one line. */
.workspace-root.operator-wide .content:not(.chat-route){max-width:1280px}
.np-name,.node-label{white-space:nowrap}
.u-table td .u-aside .node-label,.u-table td small .node-label{white-space:nowrap}
.fin-rentals div{white-space:nowrap}
/* [claude-opus-5-5 2026-10-11] Finances and Campaigns figures as compact inset readouts (the visual language's wells), not
   big stat cards: label, value, one context line, on every theme. */
.workspace-root .stat-grid.fin-kpis{gap:6px;margin-bottom:12px}
.workspace-root .stat.fin-kpi{padding:6px 9px 7px;border-radius:4px;border:1px solid var(--u-well-edge,#0007);background:var(--u-well-bg,linear-gradient(#0000002e,#00000014));box-shadow:var(--u-well-shadow,inset 0 1px 2px #0006)}
.workspace-root .stat.fin-kpi::before,.workspace-root .stat.fin-kpi>.surface-edge{display:none}
.workspace-root .stat.fin-kpi small{display:block;font-size:10px;color:var(--subtle);padding:0;border:0;margin:0}
.workspace-root .stat.fin-kpi strong{display:block;font-size:17px;font-weight:600;letter-spacing:0;margin:2px 0 1px;line-height:1.25}
.workspace-root .stat.fin-kpi p{font-size:10.5px;margin:0;line-height:1.35}

/* [claude-opus-5-5 2026-10-12] Alert rules register, sound schemes, silent markers, the balloon's mute link. */
.cx-alert-set input[type=range]{width:80px;accent-color:var(--mint)}
.cx-alert-set label svg{width:13px;height:13px}
.cx-rules .u-cap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:42px;padding:7px 14px;border-bottom:1px solid var(--line)}
.cx-rules .u-cap h2{font-size:14px;margin:0}.cx-rules-note{font-size:11px;color:var(--muted);margin-right:auto}
.cx-rules-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.cx-rules-col+.cx-rules-col{border-left:1px solid var(--line)}
.cx-rules .u-band{padding:5px 14px;font-size:10.5px;font-weight:500;color:var(--muted);background:linear-gradient(#00000026,#00000012);border-bottom:1px solid var(--line)}
.cx-rules .u-band small{margin-left:6px;color:var(--subtle);font-weight:400}
.cx-rules-table{width:100%;border-collapse:collapse}
.cx-rules-table th,.cx-rules-table td{height:30px;padding:3px 14px;font-size:12px;border-bottom:1px solid #ffffff08;vertical-align:middle;text-align:left;white-space:nowrap}
.cx-rules-table th{font-weight:500}.cx-rules-table th small{margin-left:6px;font-size:10px;color:var(--subtle);font-weight:400}
.cx-rules-table td.num{text-align:right}
.cx-rules-table .segmented button{min-height:22px;padding:1px 8px;font-size:11px}
.cx-rules-table .pill{margin-left:6px;font-size:10px}
.cx-sound-file{max-width:220px;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
.cx-file{cursor:pointer}
.cx-rules-foot{display:flex;gap:14px;align-items:center;padding:8px 14px;font-size:11.5px}
.cx-rules-status{margin-left:auto;color:var(--muted)}
.cx-muted{margin-left:8px;font-size:10px;color:var(--subtle)}
.cx-balloon-mute{grid-column:2;justify-self:start;font-size:11px}
@media(max-width:900px){.cx-rules-grid{grid-template-columns:1fr}.cx-rules-col+.cx-rules-col{border-left:0;border-top:1px solid var(--line)}.cx-rules-table{display:block;overflow-x:auto}}
.cx-scheme-name{width:180px;height:24px;padding:2px 8px;font-size:11.5px}
.cx-rules-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.cx-rules-col{min-width:0}
.cx-rules-table th,.cx-rules-table td{padding:3px 10px}.cx-rules-table th:first-child{padding-left:14px}
.cx-rules-table th{white-space:normal;line-height:1.25}.cx-rules-table th small{display:block;margin:1px 0 0}
.cx-rules-table .segmented button{padding:1px 7px}
.cx-rules-table td.num{width:1%}
.cx-sound-table .cx-sound-file{max-width:150px}
.cx-sound-table td.num .text-button+.text-button,.cx-sound-table td.num .cx-file{margin-left:8px}

/* [claude-opus-5-5 2026-10-12] Events: the filter bar and clears. */
.cx-ev-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:6px 10px;font-size:11.5px;color:var(--muted)}
.cx-ev-filters label{display:inline-flex;align-items:center;gap:6px;margin:0}
.cx-ev-filters select{width:auto;max-width:240px;padding:3px 8px}
.cx-ev-search{width:170px;height:26px;padding:2px 8px;font-size:11.5px}

/* [claude-opus-5-5 2026-10-12] Sounds: Windows-style scheme controls, program events with a sound each. */
.cx-snd-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid var(--line);font-size:11.5px;color:var(--muted)}
.cx-snd-bar label{display:inline-flex;align-items:center;gap:8px;margin:0}
.cx-snd-bar select{width:auto;min-width:220px;padding:3px 8px}
.cx-snd-lib{font-size:11px}
.cx-snd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(520px,1fr));align-items:start}
.cx-snd-group{min-width:0;border-right:1px solid var(--line)}
.cx-snd-table th{width:42%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cx-snd-table td select{width:100%;max-width:100%;padding:2px 6px;font-size:11.5px;height:24px}
.cx-snd-table td.num{white-space:nowrap}.cx-snd-table td.num .cx-file{margin-left:10px}
.cx-snd-table tr.set th{color:var(--text)}.cx-snd-table tr:not(.set) select{color:var(--muted)}
.cx-rules-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:900px){.cx-snd-grid{grid-template-columns:1fr}.cx-snd-group{border-right:0}}

/* [claude-opus-5-5 2026-10-12] Stats: the All time column, set apart. */
.cx-period th[data-col=all]{border-left:1px solid var(--line)}.cx-period th[data-col=all] small{display:block;font-size:9.5px;font-weight:400;color:var(--subtle)}
.cx-period td:last-child{border-left:1px solid var(--line);font-weight:600}

.cx-period{table-layout:fixed}.cx-period thead th:first-child{width:24%}
