*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans,system-ui, sans-serif);background:var(--bg-alt,#f6f6f6);color:var(--fg2,#363636);margin:0;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select{font:inherit}h1{color:var(--fg1,#1a1a1a);margin:0 0 .25rem;font-size:1.5rem}h2{color:var(--fg1,#1a1a1a);margin:0 0 .75rem;font-size:1.05rem}h3{margin:1.25rem 0 .5rem;font-size:.95rem}.nav{background:var(--surface-card,#fff);border-bottom:1px solid var(--hairline,#ececec);z-index:50;align-items:center;gap:.25rem;height:56px;padding:0 1.5rem;display:flex;position:sticky;top:0}.nav-brand{color:var(--brand,#45166a);white-space:nowrap;margin-right:1.5rem;font-weight:800}.nav-link{height:56px;color:var(--fg3,#5b5b5b);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;padding:0 .85rem;font-weight:500;display:flex}.nav-link:hover{color:var(--fg1,#1a1a1a)}.nav-link.active{color:var(--accent,#ff8200);border-bottom-color:var(--accent,#ff8200)}.nav-right{align-items:center;gap:.75rem;margin-left:auto;font-size:.8rem;display:flex}.icon-button{border:1px solid var(--border,#d9d9d9);width:32px;height:32px;color:var(--fg3,#5b5b5b);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.demo-banner{background:var(--accent-soft,#fff4e6);color:var(--fg1,#1a1a1a);text-align:center;border-bottom:1px solid var(--hairline,#ececec);padding:.4rem 1rem;font-size:.85rem}.page{max-width:1320px;margin:0 auto;padding:1.75rem 1.5rem 4rem}.page-header{margin-bottom:1.25rem}.header-side{flex-direction:column;align-items:flex-end;gap:.4rem;display:flex}.row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.card{background:var(--surface-card,#fff);border:1px solid var(--hairline,#ececec);border-radius:12px;margin-bottom:1rem;padding:1.25rem 1.5rem;box-shadow:0 1px 3px #0000000d}.card.flush{padding:0;overflow:hidden}.card.flush>h2,.card-head{padding:1rem 1.5rem .25rem}.card-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.card:not(.flush)>.card-head{margin-bottom:.5rem;padding:0}.card-head.wrap{flex-wrap:wrap;align-items:flex-start}.card.empty{text-align:center;color:var(--fg3,#5b5b5b);padding:2.5rem}.two-col{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:1rem;display:grid}.muted{color:var(--fg3,#5b5b5b)}.small{font-size:.8rem}.strong{color:var(--fg1,#1a1a1a);font-weight:600}.mono{font-family:var(--font-mono,monospace)}.link{color:var(--link,#8154a4)}.link:hover{color:var(--link-hover,#ff8200)}.error{color:var(--danger,#c8331c)}.hint{color:var(--fg3,#5b5b5b);background:var(--bg-tint,#f8f4fb);border-radius:8px;padding:.6rem .8rem}.notice{background:var(--accent-soft,#fff4e6);border-radius:8px;margin:.5rem 1.5rem;padding:.6rem .8rem}.card:not(.flush)>.notice{margin:0 0 .75rem}.button{border:1px solid var(--border,#d9d9d9);background:var(--surface-card,#fff);color:var(--fg1,#1a1a1a);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem 1rem;font-weight:600;display:inline-flex}.button.primary{background:var(--accent,#ff8200);border-color:var(--accent,#ff8200);color:#fff}.button.primary:hover:not(:disabled){background:var(--accent-hover,#e06a00)}.button.danger{background:var(--danger,#c8331c);border-color:var(--danger,#c8331c);color:#fff}.button:disabled{opacity:.45;cursor:not-allowed}.actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem;display:flex}.actions .input{width:auto;min-width:16rem}.input{border:1px solid var(--border,#d9d9d9);background:var(--surface-card,#fff);width:100%;color:var(--fg1,#1a1a1a);border-radius:8px;padding:.4rem .6rem}.input:focus{outline:2px solid var(--focus-ring,#ffb347);outline-offset:1px}.input.narrow{width:5.5rem}.form-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem 1rem;display:grid}.form-grid label{color:var(--fg3,#5b5b5b);flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.filters .input{width:auto}.check-row{cursor:pointer;align-items:center;gap:.5rem;padding:.35rem 0;display:flex}.check-row.inline{margin-right:1rem;display:inline-flex}.check-row.disabled{opacity:.55;cursor:not-allowed}.pick-list{max-height:28rem;margin:.75rem 0 0;padding:0;list-style:none;overflow-y:auto}.pick{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;gap:.75rem;padding:.55rem .7rem;display:flex}.pick:hover{background:var(--bg-tint,#f8f4fb)}.pick.selected{border-color:var(--brand,#45166a);background:var(--brand-soft,#efe6f6)}.pill{background:var(--bg-alt,#f6f6f6);color:var(--fg2,#363636);border:1px solid var(--hairline,#ececec);white-space:nowrap;border-radius:999px;margin-right:.25rem;padding:0 .55rem;font-size:.75rem;line-height:1.35rem;display:inline-block}.pill.ok{color:var(--success,#2f8f4f);background:#e6f4ea;border-color:#0000}.pill.warn{color:#8a5a00;background:#fdf3dc;border-color:#0000}.pill.danger{color:var(--danger,#c8331c);white-space:normal;background:#fdecea;border-color:#0000}.pill.info{background:var(--brand-soft,#efe6f6);color:var(--brand,#45166a);border-color:#0000}.tabs{border-bottom:1px solid var(--hairline,#ececec);gap:.25rem;margin-bottom:1rem;display:flex;overflow-x:auto}.tab{color:var(--fg3,#5b5b5b);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:.6rem 1rem;font-weight:600}.tab.active{color:var(--accent,#ff8200);border-bottom-color:var(--accent,#ff8200)}.tab .count{color:var(--danger,#c8331c);margin-left:.4rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--fg3,#5b5b5b);border-bottom:1px solid var(--hairline,#ececec);white-space:nowrap;padding:.6rem .75rem;font-size:.75rem}td{border-bottom:1px solid var(--hairline,#ececec);vertical-align:top;padding:.55rem .75rem}.card.flush th:first-child,.card.flush td:first-child{padding-left:1.5rem}tr:last-child td{border-bottom:none}tr.attention-row td{background:#ff82000f}table.users td{vertical-align:middle}table.users .input{min-width:8rem}table.devices .lines>div,table.devices .mono{white-space:nowrap}.attention{margin:0;padding:0;list-style:none}.attention>li{border-bottom:1px solid var(--hairline,#ececec);padding:.55rem 0}.attention>li:last-child{border-bottom:none}.attention strong{margin:0 .35rem}details summary{cursor:pointer;margin-top:.35rem}ul.plain{margin:.5rem 0;padding-left:1.2rem}.log{background:var(--bg-alt,#f6f6f6);max-height:22rem;font-family:var(--font-mono,monospace);white-space:pre-wrap;border-radius:8px;margin:.5rem 0 0;padding:.75rem;font-size:.78rem;overflow:auto}.job.running{border-left:4px solid var(--brand,#45166a)}.job.failed{border-left:4px solid var(--danger,#c8331c)}.save-bar{background:var(--surface-card,#fff);border-top:1px solid var(--hairline,#ececec);justify-content:flex-end;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex;position:sticky;bottom:0}.targets{margin-bottom:.25rem}@media (width<=640px){.page{padding:1.25rem 1rem 3rem}.nav{padding:0 1rem;overflow-x:auto}.nav-brand{margin-right:.75rem}.card{padding:1rem}.card.flush th:first-child,.card.flush td:first-child{padding-left:1rem}.actions .input{width:100%;min-width:0}}.audio-cell{align-items:center;gap:.5rem;display:flex}.audio-cell audio{width:16rem;max-width:100%;height:2rem}
