.page {
min-width: 0;
}
.header {
margin-bottom: 4px;
}
.title {
font-size: 22px;
font-weight: 700;
margin: 0 0 4px;
}
.subtitle {
font-size: 13px;
color: var(--tx-d);
margin-bottom: 20px;
}
.sectionTitle {
font-size: 16px;
font-weight: 600;
margin: 0 0 8px;
color: var(--tx);
}
.readonlyNotice {
font-size: 12px;
color: var(--tx-d);
background: var(--pr-d);
border: 1px solid color-mix(in srgb, var(--pr) 30%, transparent);
border-radius: 8px;
padding: 10px 14px;
margin-bottom: 16px;
}
.readonlyStrong {
color: var(--pr);
font-weight: 600;
margin-right: 6px;
}
.card {
background: var(--sf);
border: 1px solid var(--bd);
border-radius: 12px;
overflow: hidden;
}
.block {
padding: 16px 20px;
border-bottom: 1px solid var(--bd);
}
.block:last-child {
border-bottom: none;
}
/* 見出しの右に `編集不可` / `編集済み` バッジが並ぶ(指示書AF 段階7-4)。
バッジの高さが行の高さを決めないよう align-items: center で揃える */
.blockTitle {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 8px;
font-size: 13px;
font-weight: 600;
color: var(--tx);
margin-bottom: 4px;
}
.blockDesc {
font-size: 12px;
color: var(--tx-m);
margin-bottom: 12px;
}
.defList {
display: flex;
flex-wrap: wrap;
gap: 12px 32px;
margin: 0;
}
.defRow {
display: flex;
align-items: center;
gap: 10px;
}
.defTerm {
font-size: 13px;
color: var(--tx-d);
margin: 0;
}
.defValue {
font-size: 14px;
font-weight: 600;
color: var(--tx);
margin: 0;
}
.gradeList {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 8px;
}
.gradeRow {
display: flex;
align-items: center;
gap: 10px;
}
.gradeCondition {
font-size: 13px;
color: var(--tx-d);
}
.note {
font-size: 11px;
color: var(--tx-m);
margin-top: 12px;
line-height: 1.6;
}
/* ---- 連続日数の表示上限(指示書AF 段階7)---- */
.limitRow {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 8px;
}
/* 入力欄の見た目は `DsLogScreen.module.css` の `.searchInput` に揃えてある
(幅だけは数値1つぶんに詰める) */
.limitInput {
width: 88px;
font-size: 13px;
padding: 6px 10px;
border: 1px solid var(--bd);
border-radius: 6px;
background: var(--sf-h);
color: var(--tx);
}
.limitInput:focus {
outline: none;
border-color: var(--ac);
}
.limitInput:disabled {
opacity: 0.6;
cursor: progress;
}
.limitUnit {
font-size: 13px;
color: var(--tx-d);
}
.saveButton,
.resetButton {
font-size: 12px;
font-weight: 600;
padding: 6px 14px;
border-radius: 6px;
cursor: pointer;
white-space: nowrap;
}
/* 主ボタンの見た目は `DetailLogScreen.module.css` の `.csvBtn`(CSV出力)に揃えてある */
.saveButton {
border: 1px solid transparent;
background: var(--pr-d);
color: var(--pr);
}
.resetButton {
border: 1px solid var(--bd);
background: transparent;
color: var(--tx-d);
}
.saveButton:disabled,
.resetButton:disabled {
opacity: 0.6;
cursor: progress;
}
.limitStatus {
font-size: 11px;
color: var(--tx-m);
}
.limitSaved {
font-size: 11px;
color: var(--ok);
}
.limitError {
margin-top: 6px;
font-size: 11px;
color: var(--ng);
}
.levelBadge {
display: inline-block;
font-size: 11px;
font-weight: 600;
padding: 2px 10px;
border-radius: 4px;
white-space: nowrap;
}
.levelInfo {
background: var(--pr-d);
color: var(--pr);
}
.levelWarn {
background: var(--wn-d);
color: var(--wn);
}
.levelCritical {
background: var(--ng-d);
color: var(--ng);
}
.adviceList {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 12px;
}
.adviceCard {
background: var(--sf-h);
border: 1px solid var(--bd);
border-radius: 10px;
padding: 14px 16px;
}
.adviceHead {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 6px;
}
.adviceIcon {
font-size: 14px;
}
.adviceRule {
font-size: 12px;
font-weight: 700;
font-family: var(--font-geist-mono), ui-monospace, monospace;
color: var(--tx-d);
}
.phaseBadge {
font-size: 11px;
padding: 2px 8px;
border-radius: 4px;
background: var(--bd);
color: var(--tx-d);
white-space: nowrap;
}
.customizedBadge {
font-size: 11px;
font-weight: 600;
padding: 2px 8px;
border-radius: 4px;
background: var(--ok-d);
color: var(--ok);
white-space: nowrap;
}
.adviceTitle {
font-size: 14px;
font-weight: 600;
color: var(--tx);
}
.adviceText {
font-size: 13px;
color: var(--tx-d);
line-height: 1.7;
margin-top: 4px;
}
.adviceFieldLabel {
font-size: 11px;
color: var(--tx-m);
margin-top: 10px;
}
.actionList {
margin: 4px 0 0;
padding-left: 20px;
}
.actionItem {
font-size: 13px;
color: var(--tx-d);
line-height: 1.7;
}
.conditionRow {
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: 8px;
margin-top: 12px;
padding-top: 10px;
border-top: 1px solid var(--bd);
}
.conditionLabel {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 11px;
color: var(--tx-m);
}
.lockBadge {
font-size: 10px;
padding: 1px 6px;
border-radius: 4px;
border: 1px solid var(--bd);
color: var(--tx-m);
white-space: nowrap;
}
.conditionText {
font-size: 12px;
color: var(--tx-d);
}
.empty {
padding: 20px;
font-size: 13px;
color: var(--tx-m);
text-align: center;
background: var(--sf-h);
border: 1px solid var(--bd);
border-radius: 10px;
margin-top: 12px;
}
.error {
padding: 16px 0 0;
font-size: 13px;
color: var(--ng);
}
.loading {
padding: 20px;
font-size: 13px;
color: var(--tx-m);
text-align: center;
}