:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#0f172a;--surface:#1e293b;--border:#334155;--text:#e2e8f0;--text-muted:#94a3b8;--accent:#38bdf8;--danger:#f87171;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.5rem 1rem;font-size:.9rem}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.5rem;font-size:.9rem}.page-status{color:var(--text-muted);text-align:center;padding:2rem}.error-text{color:var(--danger);font-size:.85rem}.auth-page{justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.5rem;width:100%;max-width:340px;padding:2rem;display:flex}.auth-card h1{margin:0 0 1rem;font-size:1.2rem}.auth-card label{color:var(--text-muted);margin-top:.5rem;font-size:.8rem}.auth-card button{background:var(--accent);color:#0f172a;border:none;margin-top:1rem;font-weight:600}.callback-page{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.callback-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:12px;width:100%;max-width:420px;padding:2rem 1.5rem}.callback-card h1{margin:0 0 .5rem;font-size:1.2rem}.callback-card p{color:var(--text-muted);margin:0;font-size:.9rem}.callback-card{flex-direction:column;align-items:center;gap:.75rem;display:flex}.callback-card h1{margin:0}.callback-icon{border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:.25rem;display:inline-flex}.callback-icon-success{color:#4ade80;background:#4ade8026}.callback-icon-error{color:var(--danger);background:#f8717126}.callback-icon-muted{color:var(--text-muted);background:#94a3b826}.callback-title-success{color:#4ade80;font-size:1.6rem!important}.callback-title-error{color:var(--danger)}.callback-lead{color:var(--text)!important}.callback-instruction{color:var(--text)!important;font-size:1rem!important}.callback-spinner{border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:44px;height:44px;margin-bottom:.5rem;animation:.8s linear infinite spin}.countdown{justify-content:center;align-items:center;margin:.5rem 0;display:inline-flex;position:relative}.countdown circle{fill:none;stroke-width:8px}.countdown-track{stroke:var(--border)}.countdown-ring{stroke:#4ade80;stroke-linecap:round;transition:stroke-dashoffset .25s linear,stroke .2s}.countdown-urgent .countdown-ring{stroke:var(--danger)}.countdown-value{flex-direction:column;align-items:center;font-family:ui-monospace,Menlo,monospace;font-size:2.25rem;font-weight:700;line-height:1;display:flex;position:absolute}.countdown-urgent .countdown-value{color:var(--danger)}.countdown-value small{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.25rem;font-size:.75rem;font-weight:600}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:250px;height:100vh;min-height:100vh;padding:1.5rem 1rem;transition:width .2s,padding .2s;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-top{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:2rem;display:flex}.sidebar-brand{white-space:nowrap;padding:0 .5rem;font-size:1.05rem;font-weight:700}.sidebar-toggle{width:30px;height:30px;color:var(--text-muted);border-color:var(--border);background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.sidebar-toggle:hover:not(:disabled){color:var(--accent)}.sidebar-icon{flex-shrink:0}.sidebar-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-nav{flex-direction:column;gap:.25rem;display:flex}.sidebar-link{color:var(--text-muted);border-radius:6px;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.9rem;text-decoration:none;display:flex}.sidebar-collapsed{width:68px;padding:1.5rem .75rem}.sidebar-collapsed .sidebar-top{flex-direction:column;gap:.75rem}.sidebar-collapsed .sidebar-brand{padding:0}.sidebar-collapsed .sidebar-label{display:none}.sidebar-collapsed .sidebar-link,.sidebar-collapsed .sidebar-logout{justify-content:center;padding:.6rem 0}.sidebar-link:hover{background:var(--bg);color:var(--text)}.sidebar-link.active{background:var(--bg);color:var(--accent);font-weight:600}.sidebar-logout{border-color:var(--danger);width:100%;color:var(--danger);background:0 0;justify-content:center;align-items:center;gap:.5rem;margin-top:auto;display:flex}.sidebar-logout:hover{background:var(--danger);color:var(--surface)}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:64px;padding:0 1.5rem;display:flex}.app-header h1{margin:0;font-size:1.1rem}.app-header-user{color:var(--text-muted);align-items:center;gap:1rem;display:flex}.app-content{flex:1;width:100%;min-width:0;padding:2rem 1.5rem}.dashboard-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.toolbar-filters{align-items:center;gap:.75rem;display:flex}.toolbar-filters-stacked{align-items:flex-end;gap:1rem}.toolbar-field{flex-direction:column;gap:.35rem;display:flex}.toolbar-field select,.toolbar-field input{height:36px}.toolbar-filters-stacked .toolbar-checkbox{height:36px;margin-left:0}.dashboard-toolbar label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem;font-weight:600}.dashboard-toolbar select{min-width:140px}.toolbar-checkbox{border-left:1px solid var(--border);text-transform:none;letter-spacing:normal;color:var(--text);cursor:pointer;align-items:center;gap:.4rem;margin-left:.75rem;padding-left:.75rem;font-size:.85rem;font-weight:400;display:flex}.toolbar-checkbox input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.1rem;padding:.5rem 1rem;display:flex}.stat-value{color:#4ade80;font-size:1.25rem;font-weight:700;line-height:1.2}.stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem;font-weight:600}.group-header-row td{background:var(--bg);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding-top:.5rem;padding-bottom:.5rem;font-size:.75rem;font-weight:600}.table-scroll{width:100%;overflow-x:auto}.sessions-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;min-width:960px;overflow:hidden}.sessions-table th,.sessions-table td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .8rem;font-size:.85rem}.sessions-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:600}.mono{color:var(--text-muted);font-family:ui-monospace,Menlo,monospace;font-size:.78rem}.status-badge{text-transform:capitalize;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;display:inline-block}.status-pending,.status-processing{color:#fbbf24;background:#422006}.status-approved{color:#4ade80;background:#052e16}.status-failed,.status-error{color:#f87171;background:#450a0a}.machine-status-on{color:#4ade80;text-transform:uppercase;background:#052e16}.machine-status-off{color:#cbd5e1;text-transform:uppercase;background:#334155}.machine-row:hover td,.machine-row-open td{background:#0f172a73}.machine-id-cell{font-weight:600}.expand-cell{width:44px}.expand-button{width:26px;height:26px;color:var(--text-muted);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.expand-chevron{transition:transform .15s}.expand-chevron.open{transform:rotate(90deg)}.machine-sessions-row>td{background:var(--bg);padding:.75rem 1rem 1rem 3.25rem}.nested-table{border-collapse:collapse;border:1px solid var(--border);border-radius:6px;width:100%;overflow:hidden}.nested-table th,.nested-table td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .75rem;font-size:.8rem}.nested-table tr:last-child td{border-bottom:none}.nested-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--surface);font-size:.68rem;font-weight:600}.switch-off-button{white-space:nowrap;border-color:var(--danger);color:var(--danger);background:0 0;padding:.3rem .75rem;font-size:.78rem;font-weight:600}.switch-off-button:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:var(--surface)}.row-actions{gap:.5rem;display:flex}.row-actions button{white-space:nowrap;border:1px solid var(--border);color:var(--text-muted);background:0 0;border-radius:6px;padding:.3rem .75rem;font-size:.78rem;font-weight:600}.row-actions button:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.row-actions .delete-button{border-color:var(--danger);color:var(--danger)}.row-actions .delete-button:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:var(--surface)}.action-message{border-radius:8px;margin:0 0 1rem;padding:.6rem 1rem;font-size:.85rem}.action-message-success{color:#4ade80;background:#4ade801a;border-left:3px solid #4ade80}.action-message-error{border-left:3px solid var(--danger);color:var(--danger);background:#f871711a}.summary-cards{flex-wrap:wrap;gap:1.25rem;display:flex}.summary-card{background:var(--surface);border:1px solid var(--border);border-left-width:4px;border-radius:12px;flex-direction:column;flex:220px;gap:.35rem;max-width:320px;padding:1.25rem 1.5rem;display:flex}.summary-card-compact{flex:0 260px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label value""hint value";align-items:center;gap:.15rem 1rem;max-width:260px;padding:.75rem 1rem;display:grid}.summary-card-compact .summary-card-label{grid-area:label}.summary-card-neutral{border-left-color:var(--accent)}.summary-card-active{border-left-color:#4ade80}.summary-card-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem;font-weight:600}.summary-card-value{font-size:2.25rem;font-weight:700;line-height:1.1}.summary-card-compact .summary-card-value{grid-area:value;font-size:1.6rem}.summary-card-compact .summary-card-hint{grid-area:hint}.summary-card-active .summary-card-value{color:#4ade80}.summary-card-hint{color:var(--text-muted);font-size:.8rem}.machine-overview{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.machine-overview-list{flex-direction:column;gap:1rem;display:flex}.machine-list-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.machine-list-header h3{margin:0;font-size:1rem}.machine-list-toolbar{margin-bottom:.25rem}.stat-group{gap:.75rem;display:flex}.stat-value-pending{color:#fbbf24}.stat-value-accent{color:var(--accent)}.stat-value-muted{color:var(--text-muted)}.status-canceled,.status-expired{color:#cbd5e1;background:#334155}.pagination{color:var(--text-muted);justify-content:center;align-items:center;gap:1rem;margin-top:1rem;font-size:.85rem;display:flex}.request-page{flex-direction:column;gap:1.5rem;max-width:1040px;display:flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;box-shadow:0 1px 2px #00000040}.panel-danger{border-color:var(--danger)}.panel-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.panel-header h2{margin:0;font-size:1rem;font-weight:600}.panel-subtitle{color:var(--text-muted);margin:.35rem 0 0;font-size:.85rem}.request-form{flex-direction:column;gap:1.25rem;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.form-field{flex-direction:column;gap:.4rem;min-width:0;display:flex}.form-field label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);justify-content:space-between;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;display:flex}.form-label-optional{letter-spacing:.04em;color:var(--text-muted);text-transform:uppercase;opacity:.85;font-size:.6rem;font-weight:600}.form-field input{background:var(--bg);width:100%;padding:.6rem .75rem;transition:border-color .15s,box-shadow .15s}.form-field textarea{resize:vertical;background:var(--bg);width:100%;min-height:6rem;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:6px;padding:.6rem .75rem}.form-field input:focus,.form-field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #38bdf833}.form-field-wide{grid-column:1/-1}.product-master-header,.products-page-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.machines-page-header{margin-bottom:1rem}.machines-add-button{margin-bottom:.25rem}.products-header-actions{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.product-status-control{align-items:center;gap:.65rem;display:flex}.product-modal-backdrop{z-index:1000;background:#000000b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.product-modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:min(100%,760px);max-height:min(92vh,900px);padding:1.5rem;overflow-y:auto;box-shadow:0 18px 60px #00000073}.product-modal-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.product-modal-header h2{margin:0;font-size:1.1rem}.confirm-dialog{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:min(100%,420px);padding:1.5rem;box-shadow:0 18px 60px #00000073}.confirm-dialog h2{margin:0 0 .6rem;font-size:1.1rem}.confirm-dialog p{color:var(--text-muted);margin:0 0 1.25rem;font-size:.9rem}.confirm-dialog .form-actions{margin:0}.product-option{min-height:42px;color:var(--text);justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.9rem;display:flex}.form-success{color:#16a34a;font-size:.9rem}.field-error{color:var(--danger);font-size:.75rem}@media (width<=520px){.products-page-header,.products-header-actions{align-items:flex-start}.products-page-header{flex-direction:column}.products-header-actions{justify-content:space-between;width:100%}.product-modal{padding:1rem}}.form-hint{color:var(--text-muted);font-size:.75rem}.url-bar{border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:stretch;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.url-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #38bdf833}.url-method{border-right:1px solid var(--border);color:#fbbf24;letter-spacing:.06em;background:#fbbf241f;align-items:center;padding:0 .9rem;font-size:.75rem;font-weight:700;display:flex}.url-bar input,.url-bar input:focus{box-shadow:none;background:0 0;border:none;border-radius:0;font-family:ui-monospace,Menlo,monospace;font-size:.85rem}.form-field select{background:var(--bg);width:100%;padding:.6rem .75rem}.form-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem;font-weight:600}.payload-preview{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin:0;padding:.75rem 1rem;font-size:.8rem;line-height:1.5;overflow-x:auto}.webhook-hint{margin:.75rem 0 0}.webhook-hint code{color:var(--text);font-family:ui-monospace,Menlo,monospace}.input-with-action{gap:.5rem;display:flex}.input-with-action input{flex:1;min-width:0}.form-actions{border-top:1px solid var(--border);justify-content:flex-end;padding-top:1.25rem;display:flex}.primary-button{background:var(--accent);color:#0f172a;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1.4rem;font-weight:600;transition:filter .15s;display:inline-flex}.primary-button:hover:not(:disabled){filter:brightness(1.1)}.ghost-button,.copy-button{color:var(--text-muted);background:0 0;flex-shrink:0;padding:.3rem .7rem;font-size:.75rem}.ghost-button:hover:not(:disabled),.copy-button:hover:not(:disabled){color:var(--accent)}.spinner{border:2px solid #0f172a4d;border-top-color:#0f172a;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.response-meta{align-items:center;gap:.75rem;display:flex}.http-status{border-radius:999px;padding:.2rem .65rem;font-family:ui-monospace,Menlo,monospace;font-size:.8rem;font-weight:600}.http-status-ok{color:#4ade80;background:#052e16}.http-status-error{color:#f87171;background:#450a0a}.response-time{color:var(--text-muted);font-family:ui-monospace,Menlo,monospace;font-size:.8rem}.response-layout{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1.5rem;display:grid}.response-groups{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.response-group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:0 0 .5rem;font-size:.75rem;font-weight:600}.response-fields{border:1px solid var(--border);border-radius:8px;margin:0;overflow:hidden}.response-field{border-bottom:1px solid var(--border);grid-template-columns:170px minmax(0,1fr);align-items:center;gap:1rem;padding:.7rem 1rem;display:grid}.response-field:last-child{border-bottom:none}.response-field:nth-child(odd){background:#0f172a59}.response-field dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem;font-weight:600}.response-field dd{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;margin:0;display:flex}.response-value{word-break:break-all;min-width:0;font-size:.875rem}.response-value.mono{color:var(--text)}.response-value a{color:var(--accent);text-decoration:none}.response-value a:hover{text-decoration:underline}.response-empty{color:var(--text-muted)}.qr-card{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-direction:column;align-items:center;gap:.75rem;margin:0;padding:1rem;display:flex}.qr-card img{background:#fff;border-radius:6px;width:220px;height:auto;padding:6px}.qr-card figcaption{color:var(--text-muted);text-align:center;max-width:200px;font-size:.75rem}.response-error{flex-direction:column;gap:1rem;display:flex}.response-error-message{border-left:3px solid var(--danger);color:var(--danger);background:#f871711a;border-radius:8px;margin:0;padding:.75rem 1rem;font-size:.9rem}.panel-danger .response-error-message{background:0 0;border-left:none;padding:0}.response-error-list{color:var(--text-muted);margin:0;padding-left:1.25rem;font-size:.85rem}.raw-response{border:1px solid var(--border);border-radius:8px;margin-top:1.25rem;overflow:hidden}.raw-response summary{cursor:pointer;color:var(--text-muted);justify-content:space-between;align-items:center;padding:.6rem 1rem;font-size:.8rem;font-weight:600;list-style:none;display:flex}.raw-response summary::-webkit-details-marker{display:none}.raw-response summary span:before{content:"▸";margin-right:.5rem;transition:transform .15s;display:inline-block}.raw-response[open] summary span:before{transform:rotate(90deg)}.raw-response pre{background:var(--bg);border-top:1px solid var(--border);white-space:pre-wrap;word-break:break-word;margin:0;padding:1rem;font-size:.8rem;line-height:1.5;overflow-x:auto}@media (width<=800px){.form-grid,.response-layout{grid-template-columns:minmax(0,1fr)}.qr-card{justify-self:start}.response-field{grid-template-columns:minmax(0,1fr);gap:.35rem}}.machine-control-list{gap:.75rem;display:grid}.machine-control-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:1rem}.machine-control-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.machine-control-summary h2{overflow-wrap:anywhere;margin:0 0 .25rem;font-size:1rem}.machine-control-summary p{color:var(--text-muted);margin:0;font-size:.85rem}.machine-control-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.machine-control-message{margin:.75rem 0 0}@media (width<=520px){.machine-control-card{padding:.75rem}.machine-control-header{align-items:flex-start}.machine-control-actions{flex-direction:column;align-items:flex-end}}.toggle{cursor:pointer;display:inline-block}.toggle-readonly{cursor:default}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-track{background:var(--border);border-radius:999px;width:40px;height:22px;transition:background .15s;display:block;position:relative}.toggle-thumb{background:#f8fafc;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px}.toggle input:checked+.toggle-track{background:#16a34a}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(18px)}.timer-idle{color:var(--text-muted)}.timer-active{color:var(--accent);font-family:ui-monospace,Menlo,monospace;font-weight:600}.toast-stack{z-index:100;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:1.5rem;right:1.5rem}.toast{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.75rem 1.25rem;font-size:.9rem;animation:.15s ease-out toast-in;box-shadow:0 4px 12px #0006}.toast-success{border-color:#16a34a}.toast-danger{border-color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
