geoproject-app/public/assets/css/style.css

399 lines
7.4 KiB
CSS
Raw Normal View History

body,
html {
padding: 0;
margin: 0;
2025-11-24 17:30:36 +01:00
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin: 0;
2025-11-24 17:30:36 +01:00
}
input,
select {
border: none;
outline: none;
border-radius: var(--border-radius);
2025-11-24 17:30:36 +01:00
}
button {
background-color: transparent;
border: none;
2025-11-24 17:30:36 +01:00
}
:root {
--color-panel-bg: #e8e6e5;
--color-browngray-050: #f5f3f0;
--color-browngray-200: #d0c4ba;
--color-browngray-300: #b5a9a1;
--color-page-highlight: #ff8a50;
--color-purple: #7136ff;
--border-radius: 0.2rem;
--space-xs: 0.5rem;
--curve: cubic-bezier(0.86, 0, 0.07, 1);
}
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
input,
select,
figcaption,
label {
font-family: sans-serif;
2025-11-24 17:30:36 +01:00
}
/* PagedJS print styles */
@page {
size: A4;
margin: 20mm 15mm 26mm 15mm;
}
h2 {
-moz-column-break-before: page;
break-before: page;
}
@page {
@bottom-center {
content: string(title);
}
}
.chapter > h2 {
string-set: title content(text);
}
select,
input[type=text],
input[type=number] {
background-color: var(--color-browngray-300);
}
.field--view-only {
opacity: 0.3;
}
/* Label with CSS tooltip */
.label-with-tooltip {
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
text-decoration-color: var(--color-browngray-200);
text-underline-offset: 2px;
cursor: help;
position: relative;
}
.label-with-tooltip::after {
content: attr(data-css);
position: absolute;
bottom: 100%;
left: 0;
margin-bottom: 4px;
padding: 0.25rem 0.5rem;
background: var(--color-browngray-700);
color: var(--color-browngray-100);
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;
}
.label-with-tooltip:hover::after {
opacity: 1;
visibility: visible;
}
.settings-section h2 {
border-bottom: 1px solid #000;
margin-bottom: var(--space-xs);
}
.settings-section .settings-subsection:not(:last-child) {
border-bottom: 1px solid var(--color-browngray-050);
}
.settings-section .settings-subsection {
padding: var(--space-xs) 0;
}
.settings-section .settings-subsection h3 {
margin-bottom: var(--space-xs);
}
.settings-section .settings-subsection .field {
display: flex;
}
.settings-section .settings-subsection .field label,
.settings-section .settings-subsection .field select {
width: 50%;
}
.settings-section .settings-subsection .field input {
padding: 0.1rem 0.1rem 0.1rem 0.3rem;
}
.settings-section .settings-subsection .field .input-with-unit {
display: flex;
gap: 0.3rem;
}
.settings-section .settings-subsection .field .input-with-unit .unit-toggle {
display: flex;
gap: 0.3rem;
}
.settings-section .settings-subsection .field .input-with-color {
width: 50%;
}
.settings-section .settings-subsection .field .input-with-color .clr-field {
display: flex;
}
.settings-section .settings-subsection .field .input-with-color .clr-field button {
position: absolute;
transform: none;
height: 1.1rem;
top: auto;
right: auto;
cursor: pointer;
}
.settings-section .settings-subsection .field .input-with-color .clr-field input {
padding-left: 2.5rem;
width: 100%;
}
.settings-section .settings-subsection.margins {
display: flex;
flex-wrap: wrap;
row-gap: var(--space-xs);
}
.settings-section .settings-subsection.margins h3 {
width: 100%;
}
.settings-section .settings-subsection.margins .field {
width: 50%;
}
.settings-section .settings-subsection.margins .field label {
2025-12-04 16:22:34 +01:00
width: 30%;
}
.settings-section .settings-subsection.margins .field .input-with-unit input {
width: 50%;
}
button {
cursor: pointer;
border: 1px solid var(--color-browngray-300);
color: var(--color-browngray-300);
background-color: var(--color-panel-bg);
border-radius: var(--border-radius);
padding: 0.1rem 0.3rem;
}
button.active {
border: 1px solid #000;
color: #000;
}
button.tab.active {
background-color: #000;
color: #fff;
border: none;
}
.settings-popup {
position: fixed;
background: white;
border-radius: 8px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
z-index: 10000;
width: 800px;
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: white;
display: flex;
flex-direction: column;
gap: 1rem;
}
.settings-subsection h4 {
margin: 0 0 0.5rem 0;
font-size: 0.875rem;
font-weight: 600;
}
.label-with-tooltip {
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
text-underline-offset: 2px;
cursor: help;
position: relative;
}
.label-with-tooltip::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;
}
.label-with-tooltip:hover::after {
opacity: 1;
visibility: visible;
}
.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;
}
.inheritance-btn:hover {
color: #333;
}
.inheritance-btn svg {
width: 1.25rem;
height: 1.25rem;
}
.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 {
display: flex;
align-items: center;
gap: 0.5rem;
cursor: pointer;
font-size: 0.75rem;
font-weight: normal;
color: #666;
}
.toggle 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;
}
.toggle-switch::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;
}
.toggle input[type=checkbox]:checked + .toggle-switch::after {
transform: translateX(18px);
}
.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;
}
.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;
}/*# sourceMappingURL=style.css.map */