// Common styles for ElementPopup and PagePopup components .settings-popup { position: fixed; background: white; border-radius: 8px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); z-index: 10; width: 860px; max-height: 600px; display: flex; flex-direction: column; } .popup-header { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1rem; border-bottom: 1px solid #e0e0e0; background: #f9f9f9; } .header-left { display: flex; align-items: center; gap: 0.5rem; } .close-btn { background: none; border: none; cursor: pointer; font-size: 1.5rem; line-height: 1; padding: 0; color: #666; } .popup-body { display: flex; flex: 1; overflow: hidden; } .popup-controls { flex: 1; padding: 1rem; overflow-y: auto; background-color: var(--color-panel-bg); } .settings-subsection h4 { margin: 0 0 0.5rem 0; font-size: 0.875rem; font-weight: 600; } // Label with CSS tooltip // .label-with-tooltip { // text-decoration: underline dotted; // text-underline-offset: 2px; // cursor: help; // position: relative; // &::after { // content: attr(data-css); // position: absolute; // bottom: 100%; // left: 0; // margin-bottom: 4px; // padding: 0.25rem 0.5rem; // background: var(--color-browngray-700, #3d3d3d); // color: var(--color-browngray-100, #f5f5f5); // font-family: "Courier New", Courier, monospace; // font-size: 0.75rem; // border-radius: 4px; // white-space: nowrap; // opacity: 0; // visibility: hidden; // transition: // opacity 0.15s ease, // visibility 0.15s ease; // z-index: 10; // } // &:hover::after { // opacity: 1; // visibility: visible; // } // } // Inheritance lock/unlock button .inheritance-btn { display: flex; align-items: center; gap: 0.5rem; padding: 0; background: transparent; border: none; cursor: pointer; font-size: 0.875rem; color: #666; transition: color 0.2s; &:hover { color: #333; } svg { width: 1.25rem; height: 1.25rem; } } // CSS Editor panel .popup-css { flex: 1; background: #f5f5f5; display: flex; flex-direction: column; border-left: 1px solid #e0e0e0; } .css-header { display: flex; justify-content: space-between; align-items: center; padding: 0.5rem 0.75rem; background: #e8e8e8; border-bottom: 1px solid #d0d0d0; font-size: 0.875rem; font-weight: 600; } // Toggle switch for edit mode .toggle { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; font-size: 0.75rem; font-weight: normal; color: #666; input[type="checkbox"] { position: absolute; opacity: 0; width: 0; height: 0; } } .toggle-switch { position: relative; display: inline-block; width: 36px; height: 18px; background: #ccc; border-radius: 18px; transition: background 0.2s ease; &::after { content: ""; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; background: white; border-radius: 50%; transition: transform 0.2s ease; } } .toggle input[type="checkbox"]:checked + .toggle-switch { background: #61afef; &::after { transform: translateX(18px); } } // CSS readonly display .readonly { flex: 1; margin: 0; padding: 0.75rem; background: #1e1e1e; color: #abb2bf; font-family: "Courier New", Courier, monospace; font-size: 0.75rem; line-height: 1.5; overflow-y: auto; white-space: pre-wrap; } // CSS textarea editor .popup-css textarea { flex: 1; width: 100%; background: #1e1e1e; color: #abb2bf; border: none; padding: 0.75rem; font-family: "Courier New", Courier, monospace; font-size: 0.75rem; line-height: 1.5; resize: none; outline: none; }