Files
Aislo/E05_StabReport/E05_StabReport_UI_Style.css
T
eomsangdonandClaude Opus 5.5 e7afaa6664 feat(534-3): E05 안정성평가 보고서 — 빌더 · storage · 길 · 화면
- 빌더: E02 지반 · E03 2D 요약 · 측점별 저장본 · 대표 단면 · E04 3D 요약 → 프로그램 몫 시트(입력조건 · 측점표 · 대표단면 · 3D요약) · 사용자 몫(표지 · 개요)은 처음 한 번 · N.G 서식 10 · O.K 서식 11 직접 · 해석 지문
- 그림: 서버 SVG(지층 · 암 경계 · 우기 지하수위 · 임계면 · 노폭 · 비탈 높이 · 평면 위험 띠) → PNG(공용 svg_png) · fig/<측점 키>.png
- storage: 작업본 report.json · meta(지문 · 시트 서명) · 초기값 initial_snapshot · 갱신 덮임 목록 · 옛 판 _지난/
- 길: GET(없으면 처음 만듦) · PUT 판 409 + 서버 재계산 · refresh · reset · xlsx · pdf(POST 화면 책 · GET 작업본) · 그림
- 화면: 내장 엑셀(시트 탭 · 그림 겹판) · 캐시 · [저장] · [초기화] · [보고서 갱신] · 해석 바뀜 띠 · [엑셀] · [PDF] · [PDF 미리보기]
- 시험 test_534_3_e05_report 5

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:34:40 +09:00

82 lines
1.6 KiB
CSS

/* =============================================================================
* E05_StabReport_UI_Style.css
* E05 보고서 본문 — 위 띠 · 내장 엑셀 · PDF 미리보기 창. 색은 테마 토큰만(밝음 · 어두움 같이)
* ========================================================================== */
.e05-page {
display: flex;
flex-direction: column;
height: 100%;
min-height: 0;
box-sizing: border-box;
}
.e05-stale {
display: flex;
align-items: center;
gap: var(--spacing-12);
padding: var(--spacing-8) var(--spacing-16);
background: color-mix(in srgb, var(--color-warning) 18%, var(--color-surface));
color: var(--color-text);
border-bottom: 1px solid var(--color-border);
}
.e05-stale[hidden] {
display: none;
}
.e05-sheet {
flex: 1;
min-height: 0;
}
.e05-empty,
.e05-status,
.e05-hint {
margin: 0;
white-space: pre-line;
color: var(--color-text-muted);
}
.e05-empty {
padding: var(--spacing-16);
}
.e05-status.is-error {
color: var(--color-danger);
}
.e05-panel .ui-sidebar-actions {
flex-wrap: wrap;
}
.e05-preview {
position: fixed;
inset: 4vh 4vw;
z-index: 50;
display: flex;
flex-direction: column;
gap: var(--spacing-8);
padding: var(--spacing-12);
border-radius: var(--radius-sm);
background: var(--color-surface-raised);
box-shadow: 0 8px 32px rgb(0 0 0 / 35%);
}
.e05-preview[hidden] {
display: none;
}
.e05-preview__head {
display: flex;
justify-content: flex-end;
gap: var(--spacing-8);
}
.e05-preview__frame {
flex: 1;
width: 100%;
border: 0;
background: #fff;
}