:root{color-scheme:light;--bg: #f3f4f6;--panel: #ffffff;--panel-soft: #f8fafc;--line: #eceff3;--text: #17191f;--muted: #777f8e;--accent: #2f6df6;--accent-soft: #edf3ff;--danger: #b42318;--danger-soft: #fef2f2;--success: #16a34a;--success-soft: #f0fdf4;--warning: #b45309;--warning-soft: #fffbeb;--row-hover: #f7f9fc;--shadow: 0 2px 8px rgba(24, 32, 48, .08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr;gap:8px;padding:8px;background:var(--bg)}.app-header{background:var(--panel);border-radius:10px;padding:12px 20px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow)}.app-header h1{margin:0;font-size:1.1rem;font-weight:600;flex:1}.env-select{padding:5px 8px;background:var(--bg);border:1px solid var(--line);border-radius:5px;color:var(--text);font-size:.8rem;max-width:320px}.env-select:focus{outline:2px solid var(--accent)}.operator-area{display:flex;align-items:center;gap:10px}.operator-area .operator-name{font-size:.85rem;color:var(--muted);font-weight:500}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:auto;gap:8px;align-content:start}.panel-wide{grid-column:1 / -1}.panel{background:var(--panel);border-radius:10px;padding:18px 20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;overflow:hidden}.panel-title{margin:0;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.panel-actions{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:.8rem;font-weight:500;background:var(--panel-soft);color:var(--muted)}.badge.connected{background:var(--success-soft);color:var(--success)}.badge.disconnected{background:var(--danger-soft);color:var(--danger)}.badge.connecting,.badge.reconnecting{background:var(--warning-soft);color:var(--warning)}.badge.acknowledged{background:var(--success-soft);color:var(--success)}.badge.pending{background:var(--warning-soft);color:var(--warning)}.badge.failed{background:var(--danger-soft);color:var(--danger)}.badge.expired{background:var(--panel-soft);color:var(--muted)}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th{text-align:left;padding:6px 10px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:0;background:var(--panel)}.data-table td{padding:7px 10px;border-bottom:1px solid var(--line);vertical-align:top}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--row-hover)}.table-scroll{overflow-y:auto;max-height:260px;flex:1}.detail-grid{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:0;font-size:.875rem}.detail-grid dt{color:var(--muted);font-weight:500;white-space:nowrap;padding:2px 0}.detail-grid dd{margin:0;padding:2px 0;word-break:break-all}.app-btn{--btn-solid: var(--accent);--btn-on-solid: #ffffff;--btn-border: var(--accent);--btn-focus: var(--accent);align-items:center;background:var(--btn-solid);border:1px solid var(--btn-border);border-radius:6px;color:var(--btn-on-solid);cursor:pointer;display:inline-flex;font-family:inherit;font-size:inherit;font-weight:500;gap:.5rem;justify-content:center;line-height:1.25;padding:.5rem .75rem;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;white-space:nowrap}.app-btn:hover:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb,var(--btn-solid) 88%,#000);border-color:color-mix(in srgb,var(--btn-border) 88%,#000)}.app-btn:active:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb,var(--btn-solid) 78%,#000);border-color:color-mix(in srgb,var(--btn-border) 78%,#000)}.app-btn:focus-visible{outline:2px solid var(--btn-focus);outline-offset:2px}.app-btn:disabled,.app-btn[aria-disabled=true]{opacity:.4;cursor:not-allowed}.app-btn--secondary{--btn-solid: var(--panel-soft);--btn-on-solid: var(--text);--btn-border: var(--line)}.app-btn--success{--btn-solid: var(--success);--btn-border: var(--success);--btn-focus: var(--success)}.app-btn--warn{--btn-solid: var(--warning);--btn-border: var(--warning);--btn-focus: var(--warning)}.app-btn--danger{--btn-solid: var(--danger);--btn-border: var(--danger);--btn-focus: var(--danger)}.app-btn--small{font-size:.875rem;padding:.375rem .625rem}.app-btn--large{font-size:1.05rem;min-height:52px;padding:14px}.error-text{color:var(--danger);font-size:.8rem}.muted{color:var(--muted)}.mono{font-family:ui-monospace,Cascadia Code,monospace;font-size:.8rem}.empty-state{padding:24px;text-align:center;color:var(--muted);font-size:.875rem}@media(max-width:720px){.dashboard-grid{grid-template-columns:1fr}}:root{--osk-h: 270px}body.osk-open .content{padding-bottom:var(--osk-h)}body.osk-open .overlay{align-items:flex-start;padding-top:16px;padding-bottom:var(--osk-h);overflow-y:auto}
