:root{--background:#f7f4ed;--panel:#fffcf7;--panel-strong:#eef1eb;--ink:#172019;--muted:#667168;--line:#dde1da;--accent:#f26b2d;--accent-dark:#b84619;--ok:#087443;--warn:#a15c07;--bad:#b42318;--side:#10231a;--shadow:0 18px 50px #17201912}*{box-sizing:border-box}body{background:var(--background);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}input,select{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#fff;border-radius:12px;padding:0 11px}button,input,select{transition:border-color .16s,background-color .16s,color .16s,transform .16s}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #f26b2d47}.shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--side);color:#f8faf8;border-right:1px solid #202521;height:100vh;padding:22px 16px;position:sticky;top:0}.brand{align-items:center;gap:10px;margin-bottom:26px;font-size:18px;font-weight:800;display:flex}.brand img{object-fit:contain;width:38px;height:38px}.brand span{gap:1px;display:grid}.brand small{color:#93a299;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.nav{gap:4px;display:grid}.nav button{color:#d9dedb;text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;width:100%;min-height:43px;padding:0 11px;display:flex}.nav button.active,.nav button:hover{color:#fff;background:#1d392a;border-color:#33533e}.main{min-width:0;padding:28px clamp(20px,3vw,44px)}.topbar{justify-content:space-between;align-items:center;gap:16px;min-height:52px;margin-bottom:18px;display:flex}.title h1{letter-spacing:-.04em;margin:0;font-size:clamp(26px,3vw,36px)}.title p{color:var(--muted);margin:4px 0 0}.topbar-actions,.form-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button{border:1px solid var(--line);background:var(--panel);min-height:40px;color:var(--ink);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.button:not(:disabled):hover{border-color:#b9c1ba;transform:translateY(-1px)}.button.primary:not(:disabled):hover{background:#db5620;border-color:#db5620}.button.primary{background:var(--accent);color:#fffaf6;border-color:var(--accent)}.button.danger{color:var(--bad);border-color:#ddb4ad}.button:disabled{cursor:not-allowed;opacity:.55}.icon-button{border:1px solid var(--line);width:34px;height:34px;color:var(--ink);background:#fff;border-radius:8px;place-items:center;display:inline-grid}.metric-strip{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:18px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px;display:grid;overflow:hidden}.metric{border-right:1px solid var(--line);min-height:100px;padding:20px}.metric:nth-child(4n){border-right:0}.metric span{color:var(--muted);text-transform:uppercase;font-size:12px}.metric strong{letter-spacing:-.04em;margin-top:8px;font-size:30px;display:block}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;margin-bottom:20px;overflow:hidden}.panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:58px;padding:0 20px;display:flex}.panel-header h2{margin:0;font-size:16px}.panel>.form-row{padding:18px 20px 20px}.field{flex:190px;gap:7px;min-width:180px;display:grid}.field>span{color:var(--muted);font-size:12px;font-weight:800}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:860px}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:11px 13px;font-size:13px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;z-index:1;background:#faf8f2;font-size:11px;position:sticky;top:0}.row-actions{align-items:center;gap:8px;display:inline-flex}.status{background:var(--panel-strong);min-height:24px;color:var(--warn);border-radius:999px;align-items:center;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.status.active,.status.online,.status.acknowledged,.status.completed,.status.trialing{color:var(--ok)}.status.failed,.status.disabled,.status.rejected,.status.revoked,.status.suspended,.status.venue_suspended{color:var(--bad)}.status.in_session,.status.pending{color:var(--accent-dark)}.alert{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:44px;margin-bottom:14px;padding:10px 12px;display:flex}.alert.success{color:var(--ok);border-color:#a9d7bd}.alert.danger{color:var(--bad);border-color:#efb4ad}.empty-state{color:var(--muted);padding:24px}.ops-list{display:grid}.ops-list div{border-bottom:1px solid var(--line);grid-template-columns:180px minmax(0,1fr);gap:12px;padding:13px 15px;display:grid}.ops-list div:last-child{border-bottom:0}.ops-list span{color:var(--muted)}.login{background:linear-gradient(120deg, #10231af5, #10231ae6), var(--side);place-items:center;min-height:100vh;padding:28px;display:grid}.login-panel{border:1px solid var(--line);background:var(--panel);border-radius:24px;width:min(440px,100%);padding:36px;box-shadow:0 30px 100px #00000047}.login-panel img{object-fit:contain;width:58px;height:58px}.eyebrow{color:var(--accent-dark);letter-spacing:.12em;margin-top:24px;font-size:11px;font-weight:900;display:block}.login-panel h1{letter-spacing:-.05em;margin:8px 0;font-size:36px}.login-panel p{color:var(--muted);margin-bottom:20px}@media (max-width:900px){.shell{grid-template-columns:1fr}.sidebar{z-index:20;height:auto;padding:12px 14px;position:sticky;overflow:hidden}.brand{margin-bottom:10px}.nav{padding-bottom:3px;display:flex;overflow-x:auto}.nav button{flex:none;width:auto}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.metric:nth-child(2n){border-right:0}.topbar{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
