html, body, #root { margin: 0; padding: 0; width: 100%; height: 100%; overflow: hidden; background-color: #edeef0; } .App { text-align: center; font-family: Arial, sans-serif; background-color: #edeef0; position: relative; user-select: none; flex-direction: column; height: 100vh; width: 100vw; overflow: hidden; padding: 0px 0px 0px 0px; } .main-container { display: flex; flex: 1; height: calc(100vh - 40px); /* - высота панели управления */ min-height: calc(100vh - 65px); position: relative; } .main-canvas-container { padding-top: 5px; padding-right: 5px; height: 100%; flex: 1; } .canvas-container { flex: 1; height: 100%; background-color: #fff; border: 2px solid #e3e8e6; box-sizing: border-box; } .controlPanel { width: 100%; height: 30px; background-color: white; color: white; display: flex; align-items: center; padding: 0 20px; box-sizing: border-box; justify-content: space-between; align-items: center; } .toolbar { width: 218px; margin: 4.5px 4px 0px 4px; height: 100%; padding: 5px; border: 2px solid #e3e8e6; background-color: white; box-sizing: border-box; } .toolbarElements { width: 100%; height: calc(100% - 40px); border: 1px solid #ccc; position: relative; } .tabButtons { display: flex; flex-wrap: wrap; } .tabButtons [data-row='1'] { width: 51px; } .tabButtons [data-row="2"] { width: 68px; border-bottom: 1px solid #ccc; } .tabButtons button { font-size: 12px; padding: 2px 0px 2px 1px; border: 1px solid #eee; background-color: white; cursor: pointer; overflow: hidden; text-overflow: ellipsis; } .tabButtons button.activeTab { background-color: #e0e0e0; font-weight: bold; } .toolbarBlocks { width: 100%; max-height: calc((100% - 58px) / 3 * 2); display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 10px; box-sizing: border-box; overflow-y: auto; } @keyframes pulse { from { r: 4; stroke: rgba(255, 215, 0, 0.4); stroke-width: 0; } to { r: 7; stroke: rgba(255, 215, 0, 1); stroke-width: 3; } } .custom-fbd-block { background-color: whitesmoke; border: 1.5px solid black; box-sizing: border-box; position: relative; font-family: Arial, sans-serif; user-select: none; border-radius: 4px; } .custom-fbd-block .block-title { padding-top: 6px; font-size: 14px; text-align: left; pointer-events: none; } .toolbarLines svg { background-color: white; transition: background-color 0.2s ease; border: 0px solid #e3e8e6; } .toolbarLines svg.activeLine { background-color: #e3e8e6; border: 0px solid #e3e8e6; } .toolbarLines { width: 100%; height: auto; position: absolute; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr 1fr; box-sizing: border-box; } .toolbarLines button { margin: 0 !important; padding: 0 !important; border: 1px solid #e3e8e6 !important; border-radius: 0 !important; cursor: pointer; box-sizing: border-box; display: flex; align-items: center; justify-content: center; } .toolbarLines button.notActiveEdgeTab { background-color: white !important; } .toolbarLines button.activeEdgeTab { background-color: #e3e8e6 !important; font-weight: bold; } /* Стили для мини-превью блоков внутри тулбара */ .toolbar-block { background-color: whitesmoke; border: 1.4px solid black; box-sizing: border-box; justify-content: flex-start; position: relative; font-family: Arial, sans-serif; user-select: none; border-radius: 4px; cursor: move; margin: 0 auto; } .toolbar-block .preview-title { font-size: 12px; text-align: left; padding-top: 10px; pointer-events: none; } .preview-port { position: absolute; width: 6px; height: 6px; border-radius: 50%; } .toolbarLines button svg { background: transparent !important; width: 100%; height: 100%; } .control-button { font-size: 13px; border: none; padding: 3px 6px; border-radius: 4px; cursor: pointer; font-weight: bold; transition: background-color 0.2s ease; } .svg-export-button { background-color: #1717D8; /*background-color: #E00010;*/ color: white; } .svg-export-button:hover { background-color: #1111a8; } .clear-button { background-color: #D8000A; color: white; } .clear-button:hover { background-color: #a80007; }