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;
}