- 선 글 한 줄 = 그 구간(업체 · 공통 · 시점 → 중점) · 글 화면 자리에 도로 구분 ▾ · km 칸 · Enter · 칸 밖 = 반영 · Esc = 취소 - 값은 모달과 한 벌(legAt · setLeg) · 시점 → 중점 km = 중점 측점 · 표 셈 그대로 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01STqEqztUthVFBmEP18wBSz
150 lines
2.9 KiB
CSS
150 lines
2.9 KiB
CSS
/* B08 거리이정표(244) — 경로 컨테이너 · 단추 줄 · 그림. 색은 테마 변수만(밝음 · 어두움 같이). */
|
|
|
|
.b08-milestone {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-8);
|
|
}
|
|
|
|
.b08-milestone__route {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-8);
|
|
padding: var(--spacing-16);
|
|
}
|
|
|
|
.b08-milestone__route h4 {
|
|
margin: var(--spacing-8) 0 0;
|
|
font-size: var(--text-caption);
|
|
color: var(--color-text-secondary);
|
|
}
|
|
|
|
.b08-milestone__head {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: flex-end;
|
|
gap: var(--spacing-8) var(--spacing-16);
|
|
}
|
|
|
|
.b08-milestone__head > .ui-field {
|
|
min-width: 160px;
|
|
}
|
|
|
|
.b08-milestone__bar {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--spacing-8);
|
|
}
|
|
|
|
.b08-milestone__image {
|
|
max-width: 100%;
|
|
max-height: 70vh;
|
|
object-fit: contain;
|
|
align-self: flex-start;
|
|
border: 1px solid var(--color-border);
|
|
}
|
|
|
|
/* 244-2 다이어그램 — 상자 · 선 · km 글(테마 변수) */
|
|
.b08-milestone__diagram {
|
|
overflow: auto;
|
|
max-height: 48vh;
|
|
border: 1px solid var(--color-border);
|
|
border-radius: 6px;
|
|
background: var(--color-surface);
|
|
}
|
|
|
|
.b08-milestone__diagram svg {
|
|
display: block;
|
|
margin: 0 auto;
|
|
font-size: 13px;
|
|
}
|
|
|
|
.b08-milestone__line {
|
|
stroke: var(--color-text-secondary);
|
|
stroke-width: 1.5;
|
|
}
|
|
|
|
.b08-milestone__box rect {
|
|
fill: var(--color-surface);
|
|
stroke: var(--color-text-secondary);
|
|
stroke-width: 1.2;
|
|
}
|
|
|
|
.b08-milestone__box text,
|
|
.b08-milestone__plus text {
|
|
fill: var(--color-text);
|
|
}
|
|
|
|
.b08-milestone__box.is-site rect {
|
|
fill: var(--color-surface-raised);
|
|
stroke-dasharray: 4 3;
|
|
}
|
|
|
|
.b08-milestone__box.is-base rect,
|
|
.b08-milestone__box.is-start rect,
|
|
.b08-milestone__box.is-mid rect {
|
|
stroke: var(--color-accent);
|
|
}
|
|
|
|
.b08-milestone__box.is-route {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.b08-milestone__box.is-route:hover rect,
|
|
.b08-milestone__box.is-route:focus-visible rect {
|
|
stroke: var(--color-accent);
|
|
stroke-width: 2;
|
|
}
|
|
|
|
.b08-milestone__plus {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.b08-milestone__plus circle {
|
|
fill: var(--color-surface);
|
|
stroke: var(--color-accent);
|
|
stroke-width: 1.5;
|
|
}
|
|
|
|
.b08-milestone__km {
|
|
fill: var(--color-text);
|
|
font-size: 12px;
|
|
paint-order: stroke;
|
|
stroke: var(--color-surface);
|
|
stroke-width: 4px;
|
|
stroke-linejoin: round;
|
|
}
|
|
|
|
/* 모달 구간 · 표 줄 — 칸 · [×] 한 줄(244-4) */
|
|
.b08-milestone__line-edit {
|
|
display: flex;
|
|
align-items: flex-end;
|
|
gap: 8px;
|
|
}
|
|
|
|
.b08-milestone__diagram svg.is-panning {
|
|
cursor: grabbing;
|
|
}
|
|
|
|
/* 선 글 바로 고침(244-4 ⑥) — 글 아래 작은 판 */
|
|
.b08-milestone__km tspan {
|
|
cursor: text;
|
|
}
|
|
|
|
.b08-milestone__leg-edit {
|
|
position: fixed;
|
|
z-index: 1000;
|
|
display: flex;
|
|
align-items: flex-end;
|
|
gap: 6px;
|
|
padding: 6px;
|
|
border: 1px solid var(--color-border);
|
|
border-radius: 6px;
|
|
background: var(--color-surface);
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
.b08-milestone__leg-edit .ui-input {
|
|
width: 80px;
|
|
}
|