.app-body{--warn-bg: #fff4dc;--warn-tx: #7a4b00}.app-acc{border-top: 1px solid var(--line)}.app-acc:last-of-type{border-bottom: 1px solid var(--line)}.app-acc summary{display: flex;align-items: center;justify-content: space-between;gap: 12px;min-height: 44px;font-size: 13px;font-weight: 700;cursor: pointer;list-style: none}.app-acc summary::-webkit-details-marker{display: none}.app-acc summary::after{content: '';width: 8px;height: 8px;border-right: 2px solid var(--mu);border-bottom: 2px solid var(--mu);transform: rotate(45deg);transition: transform 160ms ease-out}.app-acc[open] summary::after{transform: rotate(-135deg)}.app-fields{display: grid;grid-template-columns: 1fr 1fr;gap: 12px;padding: 4px 0 16px}.app-fields .app-field{margin: 0;min-width: 0}.app-fields .full{grid-column: 1 / -1}.app-fields label{display: block;margin-bottom: 4px;font-size: 12px;font-weight: 600;color: var(--ink)}.app-fields label .unit{font-weight: 500;color: var(--mu);white-space: nowrap}.app-input{width: 100%;min-height: 40px;padding: 0 10px;font: 500 14px/1.2 var(--font);color: var(--ink);background: #fff;border: 1px solid var(--field);border-radius: 8px}.app-input:disabled{color: #6b7886;background: #e2e9ef;cursor: not-allowed}.app-input[aria-invalid=true]{border-color: var(--leak);box-shadow: 0 0 0 1px var(--leak)}.app-input:focus-visible{outline: 3px solid var(--navy);outline-offset: 1px}.app-note{margin: 4px 0 0;font-size: 12px;line-height: 1.4;color: var(--mu)}.app-case{display: grid;grid-template-columns: 1fr 1fr;gap: 8px;margin-top: 16px}.app-case .app-btn{width: 100%}.app-msg{margin: 12px 0 0;padding: 8px 10px;font-size: 12px;line-height: 1.4;border-radius: 8px}.app-msg[data-tone=error]{color: #9b2231;background: #fbe4e7}.app-msg[data-tone=ok]{color: #145c40;background: #dff2e8}.app-run--views{grid-template-rows: auto minmax(0, 1fr);grid-template-columns: minmax(0, 1fr)}.app-viewtabs{display: flex;gap: 4px;padding: 8px 16px 0;overflow-x: auto;background: #fff;border-bottom: 1px solid var(--line)}.app-viewtabs button{padding: 10px 14px;font: 600 13px/1 var(--font);color: var(--mu);white-space: nowrap;background: transparent;border: 0;border-bottom: 2px solid transparent;cursor: pointer;transition: color 160ms ease-out, border-color 160ms ease-out}.app-viewtabs button[aria-selected=true]{color: var(--accent);border-bottom-color: var(--accent)}@media (hover: hover) and (pointer: fine){.app-viewtabs button[aria-selected=false]:hover{color: var(--ink)}}.app-view{display: flex;flex-direction: column;gap: 16px;min-height: 0;padding: 16px;overflow-y: auto}.app-view[hidden]{display: none}.app-view > *{min-width: 0;flex: none}.app-card{padding: 16px;background: #fff;border: 1px solid var(--line);border-radius: 10px}.app-card > h2{margin: 0 0 12px;font-size: 14px;font-weight: 700;letter-spacing: 0;text-transform: none}.kv{display: grid;grid-template-columns: repeat(4, minmax(0, 1fr));gap: 12px 16px;margin: 0}.kv dt{font-size: 12px;color: var(--mu)}.kv dd{margin: 0;font-size: 18px;font-weight: 700;line-height: 1.3;font-variant-numeric: tabular-nums}.kv small{display: block;font-size: 12px;font-weight: 500;color: var(--mu)}.app-status{margin: 0;padding: 10px 12px;font-size: 13px;line-height: 1.5;background: #eef2f6;border-radius: 8px}.app-status[data-tone=ok]{color: #145c40;background: #dff2e8}.app-status[data-tone=warn]{color: var(--warn-tx);background: var(--warn-bg)}.app-status[data-tone=error]{color: #9b2231;background: #fbe4e7}.app-status ul{margin: 0;padding-left: 18px}.app-chartbox{height: 340px}.app-chartbox canvas{display: block;width: 100%;height: 100%}.app-legend--row{margin-top: 8px}.formula{padding: 10px 12px;font: 12px/1.6 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color: var(--ink);background: #f3f6f9;border: 1px solid var(--line);border-radius: 8px;overflow-x: auto}.app-tablewrap{overflow-x: auto}.app-table{width: 100%;border-collapse: collapse;font-size: 13px}.app-table th{padding: 8px;font-size: 12px;font-weight: 700;text-align: left;color: var(--mu);white-space: nowrap;border-bottom: 1px solid var(--line)}.app-table td{padding: 6px 8px;white-space: nowrap;font-variant-numeric: tabular-nums;border-bottom: 1px solid var(--line)}.app-table td .app-input{min-width: 88px;min-height: 36px}.app-table td.empty{padding: 16px 8px;white-space: normal;color: var(--mu);text-align: left}.app-section-head{display: flex;align-items: center;justify-content: space-between;gap: 12px;margin-bottom: 8px}.app-section-head h2{margin: 0}.app-undo{display: flex;align-items: center;justify-content: space-between;gap: 12px;margin: 0;padding: 10px 12px;font-size: 13px;color: #fff;background: var(--app-bar);border-radius: 8px}.app-undo[hidden]{display: none}.app-undo button{padding: 4px 8px;font: 700 13px/1 var(--font);color: var(--cyan);background: none;border: 0;text-decoration: underline;cursor: pointer}.report-head{display: flex;align-items: center;justify-content: space-between;gap: 16px;margin-bottom: 8px}.report-head img{height: 36px;width: auto}.report-head p{margin: 0;font-size: 12px;color: var(--mu);text-align: right}.report-fig{display: block;width: 100%;height: auto;margin-top: 8px;border: 1px solid var(--line);border-radius: 8px}.report-body h3{margin: 16px 0 6px;font-size: 13px;font-weight: 700}.report-body p, .report-body li{font-size: 13px;line-height: 1.6}.report-body ul{margin: 0;padding-left: 18px}@media (max-width: 899px){.app-run--views{grid-template-rows: auto auto;overflow-y: auto}.app-viewtabs{padding: 8px 12px 0}.app-view{padding: 12px;overflow: visible}.kv{grid-template-columns: repeat(2, minmax(0, 1fr))}.app-chartbox{height: 300px}}@media print{.app-body{overflow: visible;background: #fff}.app{display: block;height: auto}.app-bar, .app-setup, .app-tabs, .app-viewtabs, .noprint{display: none !important}.app-work{display: block}.app-run, .app-run--views{display: block;overflow: visible}.app-view{display: none !important;overflow: visible;padding: 0}.app-view[data-view=rep]{display: block !important}.app-card{break-inside: avoid;border-color: #ccc}.report-head img{height: 32px}}