.solution-art { padding: 0; border-color: #cfdcf4; background: linear-gradient(145deg, #f9fbff, #edf3ff); }
.solution-art-header { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 18px; border-bottom: 1px solid #dce6f7; color: #62718d; font: 800 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }
.solution-art-header b { display: inline-flex; align-items: center; gap: 7px; color: #498165; font: 700 10px/1 inherit; letter-spacing: 0; }
.solution-art-header i { width: 7px; height: 7px; border-radius: 50%; background: #4db98a; box-shadow: 0 0 0 4px rgba(77, 185, 138, .13); }
.solution-art-board { display: grid; grid-template-columns: 1fr .96fr 1fr; align-items: center; gap: 12px; min-height: 230px; padding: 25px 20px 19px; }
.solution-art-input, .solution-art-output { display: grid; gap: 8px; }
.solution-art-input small, .solution-art-output small { margin-bottom: 4px; color: #8794aa; font: 800 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }
.solution-art-input span, .solution-art-output span { padding: 9px 10px; border: 1px solid #d9e3f4; border-radius: 8px; color: #52637f; background: rgba(255, 255, 255, .8); font-size: 11px; font-weight: 800; }
.solution-art-output { text-align: right; }
.solution-art-engine { display: grid; min-height: 145px; place-items: center; align-content: center; padding: 18px; border: 1px solid #b9cef4; border-radius: 16px; color: #fff; background: linear-gradient(145deg, #3d70d7, #5c88e6); box-shadow: 0 17px 28px rgba(57, 101, 194, .22); text-align: center; }
.solution-art-engine i { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: rgba(255, 255, 255, .16); font-size: 17px; font-style: normal; font-weight: 800; }
.solution-art-engine strong { margin-top: 9px; font-size: 12px; }
.solution-art-engine small { margin-top: 4px; opacity: .72; font-size: 9px; }
.solution-art-footer { display: flex; justify-content: center; gap: 12px; padding: 13px 18px; border-top: 1px solid #dce6f7; color: #6e7c95; font-size: 10px; font-weight: 800; }
.solution-art-footer b { color: #7896d6; }

.solutions-workbench-section { background: linear-gradient(180deg, #f5f8fd 0%, #fff 100%); }
.solution-workbench { display: grid; grid-template-columns: 252px minmax(0, 1fr); gap: 18px; align-items: stretch; }
.solution-rail { display: flex; flex-direction: column; justify-content: space-between; padding: 28px; border-radius: 18px; color: #fff; background: linear-gradient(160deg, #293f78, #496fc7); box-shadow: 0 20px 36px rgba(47, 74, 135, .18); }
.solution-rail > div > span, .solution-stage header > span { color: #bcd2ff; font: 800 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .09em; }
.solution-rail h3 { margin: 18px 0 0; font-size: 27px; letter-spacing: -.06em; line-height: 1.2; }
.solution-rail p { margin: 17px 0 0; color: #d7e3ff; font-size: 12px; line-height: 1.75; }
.solution-rail ol { display: grid; gap: 13px; margin: 32px 0 0; padding: 0; list-style: none; }
.solution-rail li { display: flex; align-items: center; gap: 10px; color: #e8efff; font-size: 12px; font-weight: 800; }
.solution-rail li b { display: grid; width: 25px; height: 25px; place-items: center; border: 1px solid rgba(255, 255, 255, .3); border-radius: 7px; font: 800 9px/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
.solution-stages { display: grid; gap: 12px; }
.solution-stage { position: relative; display: grid; grid-template-columns: 176px minmax(0, 1fr); gap: 18px; padding: 20px; border: 1px solid #dfe7f4; border-radius: 16px; background: rgba(255, 255, 255, .88); box-shadow: 0 10px 24px rgba(47, 72, 122, .045); }
.solution-stage::before { position: absolute; top: 28px; bottom: 28px; left: 12px; width: 3px; border-radius: 3px; content: ''; background: #86a5ea; }
.stage-plan::before { background: #5fb497; }
.stage-decision::before { background: #d69a60; }
.solution-stage header { padding-left: 8px; }
.solution-stage h3 { margin: 10px 0 0; color: #334767; font-size: 18px; letter-spacing: -.04em; }
.solution-stage header p { margin: 8px 0 0; color: #77849a; font-size: 11px; line-height: 1.6; }
.stage-items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.stage-items article, .decision-note { min-height: 122px; padding: 15px; border: 1px solid #e4ebf6; border-radius: 10px; background: #fbfcff; }
.stage-items article b { color: #6686cf; font: 800 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
.stage-plan .stage-items article b { color: #328c6e; }
.stage-decision .stage-items article b { color: #bd7136; }
.stage-items h4 { margin: 11px 0 6px; color: #405370; font-size: 14px; }
.stage-items p { margin: 0; color: #77849a; font-size: 11px; line-height: 1.55; }
.stage-items small { display: block; margin-top: 12px; color: #8796ad; font-size: 10px; line-height: 1.45; }
.stage-decision .stage-items { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); }
.decision-note { display: grid; align-content: center; color: #fff; border-color: #dce7fc; background: linear-gradient(135deg, #edf4ff, #f8fbff); }
.decision-note strong { color: #456ec4; font-size: 14px; }
.decision-note span { margin-top: 7px; color: #7184a3; font-size: 11px; line-height: 1.6; }

@media (max-width: 900px) { .solution-workbench { grid-template-columns: 1fr; } .solution-rail { min-height: 0; } .solution-rail ol { grid-template-columns: repeat(3, 1fr); margin-top: 24px; } .solution-stage { grid-template-columns: 1fr; } .solution-stage::before { top: 14px; right: 28px; bottom: auto; left: 28px; width: auto; height: 3px; } .solution-stage header { padding: 10px 8px 0; } }
@media (max-width: 700px) { .solution-art-board { grid-template-columns: 1fr; gap: 12px; padding: 18px; } .solution-art-engine { min-height: 110px; order: -1; } .solution-art-output { text-align: left; } .solution-art-input, .solution-art-output { grid-template-columns: repeat(2, 1fr); } .solution-art-input small, .solution-art-output small { grid-column: 1 / -1; } .solution-art-footer { flex-wrap: wrap; gap: 7px; } .solution-rail { padding: 24px; } .solution-rail ol { grid-template-columns: 1fr; gap: 9px; } .solution-stage { padding: 18px; } .stage-items, .stage-decision .stage-items { grid-template-columns: 1fr; } }
