:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#173b3c;background:#f2f5f3;--accent:#107765;--line:#dce5df;--muted:#6f8480}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:10px 15px;background:white;color:inherit}button:hover{background:#e8f3ee}button.primary,.login button{background:var(--accent);color:white;border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:7px;padding:9px;width:100%;color:inherit}label{display:block;font-size:12px;font-weight:650;color:#60756f;margin:12px 0}label>input,label>select,label>textarea{display:block;margin-top:6px}input[type=checkbox]{width:auto}small{color:var(--muted)}h1{font-size:30px;letter-spacing:-1px;margin:0 0 8px}h2{font-size:18px;margin:0 0 14px}h3{font-size:15px}p{line-height:1.5}.login{max-width:480px;margin:12vh auto;padding:42px;border:1px solid var(--line);border-radius:22px;background:white}.brand{font-size:21px;font-weight:750;letter-spacing:-.6px;margin-bottom:36px}.shell{display:grid;grid-template-columns:224px 1fr;min-height:100vh}.sidebar{background:#143d37;color:#e6f0eb;padding:28px 20px;position:sticky;top:0;height:100vh;overflow:auto}.sidebar button{display:block;width:100%;text-align:left;border:0;color:#b7d0c6;background:transparent;margin:7px 0}.sidebar button.active{background:#2a574c;color:white}.sidebar small{color:#99b7aa}.sidebar .brand{color:white}.nav-spacer{height:28px}.workspace{min-width:0;padding:34px 40px}.topline,.toolbar,.row{display:flex;gap:12px;align-items:center;justify-content:space-between}.topline{margin-bottom:26px}.breadcrumb{color:var(--muted);font-size:12px;margin-bottom:14px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:5px 9px;border-radius:30px;background:#e6f2ea;color:#24835e}.pill.warn{background:#fff0d9;color:#94691f}.pill.off{background:#ebeeed;color:#7c8983}.toolbar{margin-bottom:24px;justify-content:flex-start}.toolbar input{max-width:360px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:18px}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 2px 5px #173b3c03}.card[draggable=true]{cursor:grab}.device-icon{font-size:27px;width:48px;height:48px;border-radius:12px;background:#f5f4e9;display:grid;place-items:center}.card .controls{margin-top:18px;display:flex;gap:6px;flex-wrap:wrap}.card .controls button{font-size:12px;padding:7px 10px}.subtle{color:var(--muted);font-size:12px}.stats{display:flex;gap:14px;margin-bottom:28px}.stats>div{padding:14px 22px;background:white;border:1px solid var(--line);border-radius:12px;min-width:140px}.stats strong{font-size:22px;display:block}.scenario-list{display:flex;flex-direction:column;gap:14px}.flow-mini{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.flow-mini span{padding:8px 12px;border-radius:7px;background:#f1f5f2;font-size:12px}.editor{display:grid;grid-template-columns:180px minmax(300px,1fr) 300px;min-height:650px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white}.palette,.inspector{padding:18px;background:#fff}.palette{border-right:1px solid var(--line)}.inspector{border-left:1px solid var(--line);max-height:76vh;overflow:auto}.palette button{display:block;width:100%;margin:8px 0;font-size:12px;text-align:left}.canvas{padding:28px 25px;background-color:#f7f9f6;background-image:radial-gradient(#cfdcd3 1px,transparent 1px);background-size:18px 18px;overflow:auto;max-height:76vh}.node{max-width:440px;margin:0 auto 20px;padding:18px;background:white;border:1px solid var(--line);border-left:4px solid #7b9e89;border-radius:11px;position:relative;box-shadow:0 5px 15px #173b3c06}.node:after{content:'↓';position:absolute;bottom:-22px;left:50%;color:#8aa398}.node:last-child:after{display:none}.node.trigger{border-left-color:#d5a64f}.node.condition{border-left-color:#759cce}.node.action{border-left-color:#339e80}.node h3{margin:4px 0 10px}.node.selected{outline:2px solid #107765}.node button{font-size:10px;padding:4px 7px}.schema-group{border:1px solid #e5ece6;border-radius:9px;padding:10px;margin-top:12px}.schema-group summary{font-size:12px;cursor:pointer}.array-item{border-left:2px solid #cfddd2;padding-left:10px}.array-actions{display:flex;gap:4px;margin:7px 0}.array-actions button{font-size:10px;padding:4px 7px}.error{color:#a83a30}.timeline{border-left:2px solid #d2e3d7;padding-left:22px}.timeline>article{margin:18px 0;padding:15px;background:white;border:1px solid var(--line);border-radius:10px}pre{white-space:pre-wrap;word-break:break-word;font-size:11px}.wide-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;background:#fff}td,th{padding:12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}#toast{position:fixed;bottom:22px;right:22px;max-width:540px;background:#173d36;color:white;border-radius:10px;padding:16px;display:none;z-index:99}dialog{border:1px solid var(--line);border-radius:16px;width:min(850px,95vw);max-height:85vh;padding:28px}dialog::backdrop{background:#0a302b55}.modal-head{display:flex;justify-content:space-between}.no-data{padding:45px;background:white;border-radius:14px;border:1px dashed var(--line);color:var(--muted)}.room-drop.dragover{background:#3d6b5c!important}.code-editor{min-height:250px;font-family:monospace}.demo-banner{background:#f8e6bc;color:#76581d;padding:10px 20px;font-size:12px}.full-width{grid-column:1/-1}@media(max-width:1100px){.workspace{padding:24px}.editor{grid-template-columns:145px 1fr}.inspector{grid-column:1/-1;max-height:none}}@media(max-width:700px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar .brand{margin:0}.sidebar nav{display:flex;flex-wrap:wrap}.sidebar button{width:auto}.nav-spacer,.sidebar .rooms-nav{display:none}.workspace{padding:20px 14px}.topline{flex-wrap:wrap}.editor{grid-template-columns:1fr}.palette{display:flex;flex-wrap:wrap}.palette button{width:auto}.stats{flex-wrap:wrap}.stats>div{min-width:110px;flex:1}.login{margin:6vh 16px;padding:26px}}
