.app-root {
    height: 100vh;
    display: grid;
    grid-template-columns: 260px 1fr 320px;
    grid-template-rows: 1fr;
  }
.leftbar, .rightbar {
    padding: 12px;
    border-right: 1px solid var(--border);
    background: var(--panel);
    height: 100vh;
    box-sizing: border-box;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  .leftbar {
    overflow-y: auto;
  }
  .rightbar { border-right: none; border-left: 1px solid var(--border); }
  .leftbar-section {
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--panel2);
    margin-bottom: 12px;
  }
  .leftbar-section .title {
    font-size: 12px;
    color: var(--muted);
    margin-bottom: 8px;
  }
  .main {
    display: grid;
    grid-template-rows: 1fr auto;
    min-width: 0;
  }
  .canvas-wrap {
    position: relative;
    min-width: 0;
    min-height: 0;
    border-bottom: 1px solid var(--border);
  }
  .statusbar {
    display: flex;
    gap: 18px;
    padding: 8px 12px;
    font-size: 12px;
    color: var(--muted);
    background: #ffffff;
  }
  .status-item { white-space: nowrap; }
