
/* CONTROL SYSTEMS V2 — operational logic layer */
.v2-logic-strip{margin:12px 0 16px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);background:color-mix(in srgb,var(--panel) 88%,var(--accent) 3%);border-radius:14px;display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;position:relative;z-index:20}.v2-logic-strip .v2-copy{display:flex;align-items:center;gap:12px;min-width:0}.v2-logic-strip strong{font-size:12px}.v2-logic-strip small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.v2-actions{display:flex;gap:7px;flex-wrap:wrap}.v2-chip{border:1px solid color-mix(in srgb,var(--ink) 15%,transparent);background:transparent;color:var(--ink);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:700}.v2-chip.active{background:var(--accent);color:#10120f;border-color:transparent}.v2-chip.danger{border-color:#ff5d6c;color:#ff5d6c}.v2-chip:disabled{opacity:.45;cursor:not-allowed}.v2-dock{position:fixed;right:14px;bottom:14px;z-index:9998;display:flex;align-items:center;gap:8px;padding:8px;background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(18px);border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:14px;box-shadow:0 20px 50px #0003}.v2-dock span{font:700 9px/1.2 "SFMono-Regular",Consolas,monospace;letter-spacing:.12em;color:var(--muted);padding:0 4px}.v2-dock button{border:0;background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink);border-radius:9px;padding:7px 9px;font-size:10px;font-weight:750}.v2-dock button:hover{background:color-mix(in srgb,var(--accent) 20%,transparent)}.v2-toast{position:fixed;left:50%;bottom:72px;transform:translate(-50%,14px);z-index:10001;background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:10px;font-size:11px;font-weight:700;opacity:0;pointer-events:none;transition:.2s}.v2-toast.show{opacity:1;transform:translate(-50%,0)}.v2-drawer-backdrop{position:fixed;inset:0;background:#0005;z-index:9998;opacity:0;pointer-events:none;transition:.2s}.v2-drawer-backdrop.open{opacity:1;pointer-events:auto}.v2-drawer{position:fixed;right:0;top:0;bottom:0;width:min(430px,92vw);z-index:9999;background:var(--panel);color:var(--ink);border-left:1px solid color-mix(in srgb,var(--ink) 14%,transparent);padding:20px;transform:translateX(102%);transition:.24s ease;overflow:auto;box-shadow:-30px 0 80px #0004}.v2-drawer.open{transform:none}.v2-drawer-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent);margin-bottom:14px}.v2-drawer-head h2{margin:3px 0;font-size:24px;letter-spacing:-.04em}.v2-drawer-close{border:0;background:transparent;color:var(--ink);font-size:20px}.v2-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v2-detail{padding:12px;border-radius:12px;background:color-mix(in srgb,var(--ink) 5%,transparent);border:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}.v2-detail strong{display:block;font-size:13px;margin-top:4px}.v2-feed{display:grid;gap:8px}.v2-feed-item{padding:10px 11px;border-radius:10px;border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);font-size:11px}.v2-feed-item small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.v2-row-action{border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);background:transparent;color:var(--ink);border-radius:8px;padding:5px 8px;font-size:9px;font-weight:750}.v2-state-tag{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800;background:color-mix(in srgb,var(--accent) 15%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.v2-state-tag.warn{background:#ff9b2917;border-color:#ff9b2950;color:#d97500}.v2-state-tag.danger{background:#ff405c17;border-color:#ff405c50;color:#ff405c}.v2-modal{position:fixed;inset:0;z-index:10002;display:none;align-items:center;justify-content:center;background:#0008;padding:18px}.v2-modal.open{display:flex}.v2-modal-card{width:min(520px,100%);background:var(--panel);color:var(--ink);border-radius:18px;border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);padding:18px;box-shadow:0 30px 100px #0006}.v2-form{display:grid;gap:10px}.v2-form label{font-size:10px;color:var(--muted)}.v2-form input,.v2-form select{width:100%;margin-top:5px;background:var(--bg);color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 15%,transparent);border-radius:10px;padding:10px}.v2-inner-state{margin:14px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.v2-inner-state .panel{padding:12px}.v2-inner-state strong{display:block;font-size:18px;margin-top:5px}.v2-empty{padding:22px;text-align:center;color:var(--muted);font-size:11px}.deal{cursor:pointer}.machine{cursor:pointer}.ticket{cursor:pointer}.load{cursor:pointer}
@media(max-width:700px){.v2-dock{left:10px;right:10px;bottom:10px;justify-content:space-between}.v2-dock span{display:none}.v2-logic-strip{margin:10px}.v2-inner-state{grid-template-columns:1fr}.v2-detail-grid{grid-template-columns:1fr}.v2-toast{bottom:66px;max-width:90vw;text-align:center}body[data-v2-page]:not([data-v2-page="dashboard"]){overflow-x:hidden}body[data-v2-page]:not([data-v2-page="dashboard"]) .app>div[style*="display:flex"]{display:block!important}body[data-v2-page]:not([data-v2-page="dashboard"]) aside[style*="width:210px"]{width:100%!important;min-height:auto!important;border-right:0!important;border-bottom:1px solid color-mix(in srgb,var(--ink) 13%,transparent);overflow:auto}body[data-v2-page]:not([data-v2-page="dashboard"]) aside[style*="width:210px"] nav{display:flex!important;gap:10px!important;white-space:nowrap!important;min-width:max-content}body[data-v2-page]:not([data-v2-page="dashboard"]) main[style*="padding:24px"]{padding:16px!important}body[data-v2-page]:not([data-v2-page="dashboard"]) h1{font-size:42px!important;line-height:.95!important}body[data-v2-page]:not([data-v2-page="dashboard"]) div[style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr 1fr!important}body[data-v2-page]:not([data-v2-page="dashboard"]) .table{min-width:620px}}
