body { font-family: Segoe UI, Arial, sans-serif; background: #f3f2f1; margin: 0; }
header { background: #0078d4; color: #fff; padding: 1rem 2rem; display: flex; justify-content: space-between; align-items: center; }
header h1 { font-size: 1.3rem; margin: 0; }
main { max-width: 900px; margin: 2rem auto; background: #fff; padding: 2rem; border-radius: 6px; box-shadow: 0 2px 6px rgba(0,0,0,.1); }
label { display: block; font-weight: 600; margin-top: 1rem; }
input, textarea { width: 100%; padding: .5rem; margin-top: .3rem; box-sizing: border-box; border: 1px solid #c8c6c4; border-radius: 4px; font: inherit; }
input[readonly] { background: #f3f2f1; }
textarea { min-height: 120px; resize: vertical; }
button { background: #0078d4; color: #fff; border: none; padding: .6rem 1.2rem; border-radius: 4px; cursor: pointer; font: inherit; }
button:hover { background: #106ebe; }
header button { background: #fff; color: #0078d4; }
button.secondary { background: #fff; color: #0078d4; border: 1px solid #0078d4; margin-left: .5rem; }
button.secondary:hover { background: #f3f2f1; }
.actions { margin-top: 1rem; }
h2 { font-size: 1.1rem; margin-top: 2rem; border-bottom: 1px solid #edebe9; padding-bottom: .3rem; }
pre { background: #1e1e1e; color: #d4d4d4; padding: 1rem; border-radius: 4px; overflow: auto; max-height: 400px; white-space: pre-wrap; word-break: break-word; }
button:disabled { opacity: .6; cursor: wait; }
.tabs { display: flex; gap: .3rem; border-bottom: 2px solid #edebe9; margin-bottom: 1rem; }
.tabs .tab { background: transparent; color: #323130; border-radius: 4px 4px 0 0; border-bottom: 2px solid transparent; margin-bottom: -2px; }
.tabs .tab:hover { background: #f3f2f1; }
.tabs .tab.active { color: #0078d4; border-bottom-color: #0078d4; font-weight: 600; }
.conclusion-intro { border-left: 4px solid #0078d4; padding: .25rem 1.25rem 1rem; margin: .5rem 0 1.5rem; }
.conclusion-intro h2 { border: 0; margin: .25rem 0 .5rem; padding: 0; font-size: 1.6rem; }
.conclusion-intro p:last-child { color: #605e5c; max-width: 720px; line-height: 1.6; }
.eyebrow { color: #0078d4; font-size: .8rem; font-weight: 700; text-transform: uppercase; margin: 0; }
.insight-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.insight-card { border: 1px solid #d2d0ce; border-radius: 6px; background: #fff; transition: border-color .18s ease, box-shadow .18s ease; }
.insight-card:hover, .insight-card[open] { border-color: #0078d4; box-shadow: 0 3px 12px rgba(0, 120, 212, .1); }
.insight-card summary { display: flex; align-items: center; gap: 1rem; min-height: 84px; padding: 1rem; cursor: pointer; list-style: none; }
.insight-card summary::-webkit-details-marker { display: none; }
.insight-card summary::after { content: "+"; margin-left: auto; color: #0078d4; font-size: 1.4rem; font-weight: 400; }
.insight-card[open] summary::after { content: "−"; }
.card-index { color: #0078d4; font-size: .85rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.insight-card strong, .insight-card small { display: block; }
.insight-card strong { line-height: 1.35; }
.insight-card small { color: #605e5c; margin-top: .25rem; }
.card-content { border-top: 1px solid #edebe9; padding: .25rem 1rem 1rem; line-height: 1.55; }
.card-content p { margin: .75rem 0; }
.fit-label { color: #323130; font-size: .9rem; font-weight: 600; }
.decision-strip { display: grid; grid-template-columns: auto 1fr 1fr; gap: .75rem 1rem; align-items: center; margin-top: 1.25rem; padding: 1rem; border-top: 2px solid #323130; background: #f3f2f1; line-height: 1.45; }
.decision-strip strong { color: #0078d4; }
@media (max-width: 650px) {
	.insight-grid { grid-template-columns: 1fr; }
	.decision-strip { grid-template-columns: 1fr; }
	.tabs { overflow-x: auto; }
	.tabs .tab { flex: 0 0 auto; }
}
.hint { color: #605e5c; font-size: .9rem; }
textarea[readonly] { background: #f3f2f1; font-family: Consolas, monospace; font-size: .8rem; min-height: 90px; }
table { width: 100%; border-collapse: collapse; margin-top: 1rem; }
th, td { border: 1px solid #edebe9; padding: .4rem .6rem; text-align: left; }
th { background: #f3f2f1; }
tbody tr:nth-child(even) { background: #faf9f8; }
tfoot td { font-weight: 600; background: #f3f2f1; }
.num { text-align: right; white-space: nowrap; }
.badge { display: inline-block; padding: .15rem .6rem; border-radius: 10px; font-size: .85rem; background: #edebe9; color: #323130; white-space: nowrap; }
.status-progress { background: #deecf9; color: #0078d4; }
.status-planned { background: #f4e5fb; color: #8764b8; }
.status-done { background: #dff6dd; color: #107c10; }
.status-waiting { background: #fff4ce; color: #8a6d00; }
.status-suspended { background: #fde7e9; color: #a4262c; }
.hidden { display: none; }
.message { margin-top: 1rem; padding: .8rem; border-radius: 4px; }
.success { background: #dff6dd; color: #107c10; }
.error { background: #fde7e9; color: #a4262c; }
