:root{--primary: #3008ff;--primary-hover: #4524ff;--primary-soft: rgba(48, 8, 255, .18);--primary-border: rgba(48, 8, 255, .68);--bg-main: #020711;--bg-sidebar: #050b15;--bg-card: #07111f;--bg-card-soft: #0a1628;--bg-input: #08111d;--border-soft: rgba(255, 255, 255, .08);--border-medium: rgba(255, 255, 255, .14);--text-main: #f4f7fb;--text-soft: #c7d0dd;--text-muted: #9aa7b8;--success: #1fd18b;--warning: #ffc400;--danger: #ff4d4d;--layout-sidebar-width: 360px;--events-column-width: 1fr;font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-main);background:var(--bg-main)}*{box-sizing:border-box}body{margin:0;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(circle at 80% 12%,rgba(48,8,255,.13),transparent 28%),radial-gradient(circle at 12% 82%,rgba(35,126,255,.08),transparent 26%),var(--bg-main)}button,input,select{font:inherit}button{cursor:pointer}.app-shell{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:var(--layout-sidebar-width) minmax(0,1fr);padding:8px;gap:8px}.sidebar{position:relative;min-width:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:0;padding:22px 18px 18px;background:linear-gradient(180deg,#050b15fa,#030811fa);border-right:1px solid var(--border-soft)}.brand-block{border-bottom:1px solid var(--border-medium);padding:0 0 14px}.brand-logo{display:block;width:100%;height:64px;object-fit:contain;object-position:center;margin:0 auto 10px}.brand-meta{display:grid;gap:5px;margin-top:0;color:var(--text-muted);font-size:9px;line-height:1.25}.brand-subtitle{margin:0 0 6px;color:var(--text-soft);font-size:11px;font-weight:650;letter-spacing:0}.products-panel{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px}.products-panel header{padding:0 12px}.products-panel h2,.card h3{margin:0;font-size:18px;line-height:1.15;font-weight:650;letter-spacing:0}.products-panel p,.card p{margin:7px 0 0;color:var(--text-soft);font-size:13px}.sidebar-controls{min-height:0;align-self:start;display:grid;gap:14px;padding:8px 0 0;border-bottom:0}.control-section{display:grid;gap:10px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.07)}.control-section:last-child{padding-bottom:0;border-bottom:0}.sidebar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sidebar-actions .tool-button:first-child{grid-column:auto}.mdb-control{gap:8px}.mdb-init-button{width:100%}.sidebar-status{display:grid;gap:8px}.sidebar-status-pills{display:grid;grid-template-columns:1fr;gap:8px}.sidebar-credits{position:absolute;left:18px;bottom:18px;display:flex;align-items:flex-end;justify-content:flex-start;gap:6px;z-index:2}.credits-button,.mcp-button{width:48px;height:48px;display:inline-grid;place-items:center;border-radius:8px;background:#08111db8;box-shadow:inset 0 0 0 1px #ffffff05}.credits-button{color:var(--text-soft);border:1px solid var(--border-medium)}.credits-button:hover{color:var(--text-main);border-color:var(--primary-border);background:#3008ff2e}.mcp-button{color:#ff1744;border:2px solid #ff1744;font-size:13px;font-weight:850}.mcp-button:hover,.mcp-button.active{color:#ff4566;border-color:#ff4566;background:#ff17441f}.mcp-button.error{color:var(--warning);border-color:var(--warning)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:28px;overflow:auto;background:#020711b8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.credits-modal{position:fixed;left:max(18px,calc(50% - 270px));top:max(18px,calc(50% - 360px));width:min(540px,calc(100% - 36px));max-height:none;display:grid;gap:16px;padding:22px;overflow:visible;color:var(--text-main);border:1px solid var(--border-medium);border-radius:8px;background:linear-gradient(180deg,#07111ffa,#040a13fa);box-shadow:0 24px 70px #00000073}.credits-modal header{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:14px}.credits-icon{width:54px;height:54px;display:grid;place-items:center;color:var(--text-main);border:1px solid var(--primary-border);border-radius:8px;background:var(--primary-soft)}.mcp-modal-icon{color:#ff1744;border-color:#ff1744;background:#ff17441a;font-size:13px;font-weight:850}.credits-modal h2{margin:0;color:#2fa4ff;font-size:24px;line-height:1.1;font-weight:750;overflow-wrap:anywhere}.credits-modal p{margin:5px 0 0;color:var(--text-soft);font-size:14px}.credits-purpose{margin:-2px 0 0;padding:13px 14px;color:var(--text-soft);border:1px solid var(--border-soft);border-radius:8px;background:#08111d85;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.credits-list{display:grid;gap:10px;margin:0}.credits-list div{display:grid;grid-template-columns:116px minmax(0,1fr);align-items:center;gap:14px;padding:11px 12px;border:1px solid var(--border-soft);border-radius:8px;background:#08111dad}.credits-list dt{color:var(--text-muted);font-size:12px;font-weight:750;text-transform:uppercase}.credits-list dd{min-width:0;margin:0;color:var(--text-main);font-size:15px;font-weight:650;overflow-wrap:anywhere}.license-notice{display:grid;gap:6px;padding:14px;color:var(--text-soft);border:1px solid rgba(255,196,0,.28);border-radius:8px;background:#ffc40012;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.license-notice strong{color:var(--warning);font-size:13px}.mcp-error{border-color:#ff42605c;background:#ff174414}.mcp-error strong{color:#ff4566}.close-modal{width:100%;height:42px;justify-content:center}@media(max-width:720px),(max-height:620px){.credits-modal{left:18px;top:18px;width:auto;max-height:calc(100vh - 36px);overflow:auto}.modal-backdrop{padding:18px}.credits-list div{grid-template-columns:1fr;gap:4px}}.section-label,.mini-field span{color:var(--text-soft);font-size:12px;letter-spacing:0}.wifi-control{gap:8px}.wifi-grid{display:grid;grid-template-columns:minmax(0,1fr) 94px;gap:10px}.mini-field{display:grid;gap:4px}.mini-field input{width:100%;height:38px;padding:0 14px;color:var(--text-main);border:1px solid var(--border-soft);border-radius:8px;outline:none;background:var(--bg-input);font-size:14px}.mini-field input:focus{border-color:var(--primary-border)}.wifi-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-selector{min-height:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) 48px;gap:12px}.product-table{min-height:0;overflow:hidden;border:1px solid var(--border-soft);border-radius:8px;background:#07111f94}.product-row{width:100%;min-height:52px;display:grid;grid-template-columns:42px 28px minmax(0,1fr) 58px;align-items:center;gap:5px;padding:0 9px;border:0;border-bottom:1px solid rgba(255,255,255,.07);color:var(--text-main);background:transparent;text-align:left}.product-row:not(.product-head){cursor:pointer}.product-head{min-height:38px;color:var(--text-soft);font-size:13px;font-weight:650;background:#ffffff05}.product-row.active{background:#3008ff17}.product-row.empty{background:#ffc40009}.product-row.suspect{background:#ff4d4d12}.product-row:hover:not(.product-head){background:#ffffff09}.product-name{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;min-width:0}.product-copy{min-width:0;display:grid;gap:2px}.product-copy small{color:var(--text-muted);font-size:10px;line-height:1}.product-icon{font-size:16px;line-height:1}.stock-check{width:32px;height:32px;display:grid;place-items:center}.stock-check input{position:absolute;opacity:0;pointer-events:none}.stock-check span{width:20px;height:20px;border:1px solid rgba(255,255,255,.22);border-radius:6px;background:#08111deb}.stock-check input:checked+span{border-color:#1fd18bd9;background:#1fd18b2e}.stock-check input:checked+span:after{content:"";display:block;width:9px;height:5px;margin:5px 0 0 4px;border-left:2px solid var(--success);border-bottom:2px solid var(--success);transform:rotate(-45deg)}.product-row input{min-width:0;width:100%;height:30px;border:1px solid transparent;color:var(--text-main);background:transparent;outline:none;border-radius:6px;padding:0 3px;font-size:13px}.product-row input:focus{border-color:var(--primary-border);background:#08111dd9}.price-input{text-align:right}.primary-action,.tool-button,.cash-columns button,.danger-action,.secondary-action,.pill,.toggle{border:1px solid var(--border-medium);border-radius:8px;color:var(--text-main);background:#0a1628e6;transition:border-color .12s ease,background .12s ease,color .12s ease,transform .12s ease}.primary-action:hover,.tool-button:hover,.cash-columns button:hover,.secondary-action:hover{border-color:var(--primary-border);background:#3008ff1f}.primary-action{width:calc(100% - 24px);height:48px;margin:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--primary);color:#fff;border-color:var(--primary);font-weight:650}.primary-action:hover{background:var(--primary-hover)}.product-selector .primary-action{width:100%;margin:0}.products-card .product-table{overflow:hidden}.products-card .product-row{grid-template-columns:42px 30px minmax(0,1fr) 70px}.workspace{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr);gap:0;padding:0}.topbar,.vending-screen,.card{background:linear-gradient(180deg,#07111ff5,#050c17f5);border:1px solid var(--border-soft);border-radius:8px;box-shadow:inset 0 1px #ffffff06}.topbar{display:grid;grid-template-columns:minmax(230px,270px) minmax(104px,130px) 88px 106px 88px minmax(142px,1fr);gap:8px;align-items:center;padding:13px 14px}.field{display:grid;gap:8px}.field span,.status-cluster>span,.sidebar-status>span{color:var(--text-soft);font-size:12px;letter-spacing:0}.field select{width:100%;height:44px;padding:0 14px;color:var(--text-main);border:1px solid var(--border-soft);border-radius:8px;outline:none;background:var(--bg-input)}.field select:focus{border-color:var(--primary-border)}.sidebar-controls .field select{height:44px;padding:0 14px;font-size:14px}.tool-button{height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 8px;font-size:12px}.sidebar-controls .tool-button{height:34px;gap:6px;padding:0 10px;font-size:12px}.status-cluster{min-width:0;display:grid;grid-template-columns:1fr 78px 62px;gap:6px;align-items:end;padding-left:12px;border-left:1px solid var(--border-soft)}.status-cluster>span{grid-column:1 / -1;align-self:start}.pill{height:34px;font-weight:650;font-size:14px}.sidebar-status-pills .pill{min-width:0;padding:0 12px;font-size:12px}.status-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;text-align:left}.status-row span{min-width:0;color:var(--text-soft);font-weight:600}.status-row strong{color:var(--text-main);font-weight:750}.pill.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 0 18px #3008ff59}.pill.active span,.pill.active strong{color:#fff}.status-pill.error{color:var(--danger);border-color:#ff4d4db8;background:#ff4d4d14}.status-pill.error strong{color:var(--danger)}.vending-screen{min-width:0;min-height:0;display:grid;grid-template-columns:60px minmax(0,1fr);align-items:center;padding:8px 16px}.cart-icon{width:48px;height:48px;display:grid;place-items:center;color:var(--text-main);border:1px solid var(--primary-border);border-radius:50%;background:var(--primary-soft);box-shadow:0 0 18px #3008ff59}.vending-screen h1{margin:0 0 4px;color:#279cff;font-size:20px;line-height:1.1;font-weight:520}.vending-screen p{min-width:0;margin:0;color:var(--text-main);font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:14px;overflow-wrap:anywhere}.dashboard-grid{min-height:0;display:grid;grid-template-columns:minmax(420px,1fr) 8px minmax(420px,var(--events-column-width));grid-template-rows:minmax(350px,.86fr) minmax(400px,1.14fr);gap:8px}.products-card{grid-column:1;grid-row:1}.operation-card{grid-column:1;grid-row:2}.events-card{grid-column:3;grid-row:1 / 3}.dashboard-resizer{grid-column:2;grid-row:1 / 3;min-width:8px;border-radius:8px;cursor:col-resize;position:relative;touch-action:none}.dashboard-resizer:before{content:"";position:absolute;top:8px;bottom:8px;left:3px;width:2px;border-radius:999px;background:#ffffff14}.dashboard-resizer:hover:before,body.resizing-dashboard .dashboard-resizer:before{background:var(--primary);box-shadow:0 0 14px #3008ff8c}body.resizing-dashboard{cursor:col-resize;-webkit-user-select:none;user-select:none}.card{min-width:0;min-height:0;display:grid;grid-template-rows:66px minmax(0,1fr);overflow:hidden}.card-header{min-width:0;display:flex;align-items:start;justify-content:space-between;gap:16px;padding:16px 22px 8px}.card-title{display:flex;align-items:flex-start;gap:10px;min-width:0}.card-title>span{color:var(--primary);margin-top:3px}.card-body{min-width:0;min-height:0;padding:0 22px 16px}.cash-layout{min-height:0;height:100%;display:grid;grid-template-rows:52px 48px minmax(0,1fr);gap:8px}.credit{display:grid;place-items:center;align-content:center}.credit span{color:#24a3ff;font-size:13px}.credit strong{color:#24a3ff;font-size:30px;line-height:1;font-weight:420}.last-cash{display:grid;place-items:center;align-content:center;gap:2px;border:1px solid var(--border-soft);border-radius:8px;background:#08111db8}.last-cash span{color:var(--text-muted);font-size:14px}.last-cash strong{font-size:15px;font-weight:520}.cash-columns{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.cash-columns h4{height:18px;margin:0 0 5px;color:var(--text-soft);font-size:13px;font-weight:520;text-align:center}.cash-columns button{width:100%;height:28px;font-size:14px}.coin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.operation{min-height:0;height:100%;display:grid;grid-template-rows:repeat(5,minmax(0,1fr));gap:8px}.code-box{display:grid;place-items:center;align-content:center;gap:7px;border:1px solid var(--border-soft);border-radius:8px;background:#08111db8}.code-box span{color:var(--text-muted);font-size:14px}.code-box strong{color:#24a3ff;font-size:32px;line-height:1;font-weight:440}.sale-state,.danger-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-weight:650}.sale-state{color:var(--text-muted);border:1px solid var(--border-soft);background:#08111db8}.sale-state.pending{color:var(--warning);border-color:#ffc400a6;background:#ffc40014}.danger-action{color:var(--danger);border:1px solid rgba(255,77,77,.72);background:#ff4d4d14}.danger-action:hover{background:#ff4d4d24}.secondary-action{gap:10px;color:var(--text-soft)}.toggle{height:30px;display:inline-flex;align-items:center;gap:10px;padding:0 4px 0 12px;color:var(--text-soft);font-size:13px}.toggle span{width:38px;height:22px;display:inline-flex;align-items:center;padding:2px;border-radius:999px;background:#ffffff1f}.toggle span:before{content:"";width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .12s ease}.toggle.on{color:var(--text-main)}.toggle.on span{background:var(--primary)}.toggle.on span:before{transform:translate(16px)}.events-panel{min-width:0;min-height:0;height:100%;display:grid;grid-template-rows:40px 30px minmax(0,1fr);gap:10px}.manual-command{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 106px 112px 44px;gap:10px}.manual-command input{min-width:0;height:40px;padding:0 14px;color:var(--text-main);border:1px solid var(--border-soft);border-radius:8px;outline:none;background:#08111ddb;font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:13px}.manual-command input:focus{border-color:var(--primary-border)}.manual-command .tool-button{height:40px}.manual-command .tool-button.icon-only{width:44px;padding:0;justify-content:center}.manual-command .tool-button.danger{color:var(--danger);border-color:#ff4d5770;background:#ff4d5714}.event-filters{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.event-filter-options{min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.event-filter{height:30px;display:inline-flex;align-items:center;gap:8px;padding:0 10px;color:var(--text-soft);border:1px solid var(--border-soft);border-radius:8px;background:#08111d9e;font-size:12px;font-weight:800;-webkit-user-select:none;user-select:none}.event-filter input{width:15px;height:15px;margin:0;accent-color:var(--primary)}.event-filter.origin-vmc input{accent-color:#4da3ff}.event-filter.origin-pos input{accent-color:var(--success)}.event-filter.origin-log input{accent-color:var(--warning)}.event-filter-count{flex:0 0 auto;color:var(--text-muted);font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:12px}.event-log{width:100%;height:100%;overflow:auto;padding:14px 16px;border:1px solid var(--border-soft);border-radius:8px;background:#03081185;font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:13px;line-height:1.45;white-space:nowrap}.event-log::-webkit-scrollbar{width:8px;height:8px}.event-log::-webkit-scrollbar-track{background:#ffffff0a;border-radius:10px}.event-log::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:10px}.event-line{display:grid;grid-template-columns:74px 48px minmax(max-content,1fr);gap:12px;color:#e8eef7}.event-time{color:#a8b3c4}.event-origin{min-width:0;height:20px;display:inline-grid;place-items:center;align-self:start;border:1px solid rgba(255,255,255,.16);border-radius:6px;color:#c7d0dd;background:#ffffff0d;font-size:11px;font-weight:700}.origin-pos .event-origin{color:#1fd18b;border-color:#1fd18b6b;background:#1fd18b14}.origin-vmc .event-origin{color:#4da3ff;border-color:#4da3ff6b;background:#4da3ff14}.origin-log .event-origin{color:#ffc400;border-color:#ffc40075;background:#ffc40014}.event-line code{font:inherit}.event-line.has-tooltip code{cursor:help}.event-line.tx code{color:#3c8cff}.event-line.rx code{color:#4da3ff}.event-line.frame code{color:var(--primary)}.event-line.error code{color:var(--danger);font-weight:700}.footer{display:grid;grid-template-columns:150px minmax(0,1fr) 130px;align-items:center;color:var(--text-muted);font-size:12px;border-top:1px solid var(--border-soft);padding-top:8px}.footer span:last-child{text-align:right}@media(max-height:760px){.workspace{grid-template-rows:minmax(0,1fr);gap:0}.dashboard-grid{gap:8px;grid-template-rows:minmax(0,.9fr) minmax(0,1.1fr)}.card{grid-template-rows:54px minmax(0,1fr)}.card-header{padding:11px 18px 5px}.card-body{padding:0 18px 10px}.operation{grid-template-rows:repeat(5,minmax(0,1fr));gap:6px}.vending-screen{grid-template-columns:54px minmax(0,1fr);padding:8px 12px}.cart-icon{width:44px;height:44px}.vending-screen h1{margin-bottom:4px;font-size:18px}.vending-screen p{font-size:13px}}
