.rw-process-flow {
    margin: 12px 0 14px;
    padding: 12px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

#selectionAiPanel .rw-process-flow i,
#selectionAiPanel .rw-type-flow i,
#selectionAiPanel .rw-formal-chains i,
#selectionAiPanel .rw-role-route i,
#meetingResultsAiAskPanel .rw-process-flow i,
#meetingResultsAiAskPanel .rw-formal-chains i,
#meetingResultsAiAskPanel .rw-role-route i,
#mainAnalysisContent .rw-process-flow i,
#mainAnalysisContent .rw-type-flow i,
#mainAnalysisContent .rw-formal-chains i,
#mainAnalysisContent .rw-role-route i {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    visibility: visible !important;
    overflow: visible !important;
}

.rw-process-flow[hidden] {
    display: none !important;
}

.rw-formal-chains[hidden] {
    display: none !important;
}

.rw-role-route[hidden] {
    display: none !important;
}

.rw-process-flow .rw-info-button {
    display: none !important;
}

.rw-process-flow__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.rw-process-flow__title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #0f172a;
    font-family: 'Outfit', 'Inter', sans-serif;
    font-size: .98rem;
    font-weight: 950;
    line-height: 1.25;
}

.rw-process-flow__title i {
    color: #0ea5e9;
}

.rw-process-flow__copy {
    margin: 3px 0 0;
    color: #475569;
    font-size: .78rem;
    font-weight: 760;
    line-height: 1.45;
}

.rw-process-flow__badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 28px;
    padding: 5px 9px;
    border: 1px solid #bae6fd;
    border-radius: 999px;
    background: #f0f9ff;
    color: #0369a1;
    font-size: .74rem;
    font-weight: 900;
    white-space: nowrap;
}

.rw-process-flow__steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.rw-process-flow__step {
    min-width: 0;
    padding: 9px 9px 8px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
}

.rw-process-flow__step-head {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 950;
    line-height: 1.22;
}

.rw-process-flow__info {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    min-width: 24px;
    margin-left: auto;
    border: 1px solid #bae6fd;
    border-radius: 999px;
    background: #f0f9ff;
    color: #0369a1;
    cursor: pointer;
}

.rw-process-flow__info:hover,
.rw-process-flow__info:focus-visible {
    border-color: #38bdf8;
    background: #e0f2fe;
    outline: none;
}

.rw-process-flow__info i {
    font-size: .72rem;
    color: #0369a1 !important;
}

.rw-process-flow__step-head span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.rw-process-flow__step-head i {
    color: #64748b;
}

.rw-process-flow__status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 7px;
    color: #64748b;
    font-size: .7rem;
    font-weight: 900;
    line-height: 1.2;
}

.rw-process-flow__step.is-found {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.rw-process-flow__step.is-found .rw-process-flow__step-head i,
.rw-process-flow__step.is-found .rw-process-flow__status {
    color: #15803d;
}

.rw-process-flow__step.is-possible {
    border-color: #fde68a;
    background: #fffbeb;
}

.rw-process-flow__step.is-possible .rw-process-flow__step-head i,
.rw-process-flow__step.is-possible .rw-process-flow__status {
    color: #b45309;
}

.rw-process-flow__step.is-missing {
    border-color: #e2e8f0;
    background: #f8fafc;
}

.rw-process-flow__hint {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 10px;
    padding: 9px 10px;
    border: 1px solid #fed7aa;
    border-radius: 8px;
    background: #fff7ed;
    color: #7c2d12;
    font-size: .78rem;
    font-weight: 820;
    line-height: 1.45;
}

.rw-process-flow__hint i {
    flex: 0 0 auto;
    margin-top: 2px;
    color: #ea580c;
}

.rw-process-flow__hint span {
    display: block;
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
}

#selectionAiPanel .rw-process-flow__hint,
#meetingResultsAiAskPanel .rw-process-flow__hint {
    display: flex !important;
    grid-template-columns: none !important;
}

#selectionAiPanel .rw-process-flow__hint span,
#meetingResultsAiAskPanel .rw-process-flow__hint span {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.rw-process-flow__detail {
    margin-top: 10px;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #f8fbff;
    color: #0f172a;
    overflow: hidden;
}

.rw-process-flow__detail[hidden] {
    display: none !important;
}

.rw-process-flow__detail-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid #dbeafe;
    background: #eff6ff;
}

.rw-process-flow__detail-head strong {
    display: block;
    font-family: 'Outfit', 'Inter', sans-serif;
    font-size: .92rem;
    font-weight: 950;
    line-height: 1.25;
}

.rw-process-flow__detail-head span {
    display: block;
    margin-top: 2px;
    color: #475569;
    font-size: .76rem;
    font-weight: 780;
    line-height: 1.35;
}

.rw-process-flow__detail-head small {
    display: block;
    margin-top: 4px;
    color: #075985;
    font-size: .72rem;
    font-weight: 850;
    line-height: 1.35;
}

.rw-process-flow__detail-guidance {
    padding: 10px 12px;
    border-bottom: 1px solid #dbeafe;
    background: #ffffff;
    color: #334155;
    font-size: .78rem;
    font-weight: 760;
    line-height: 1.45;
}

.rw-process-flow__detail-guidance strong {
    display: block;
    margin-bottom: 3px;
    color: #0f172a;
    font-family: 'Outfit', 'Inter', sans-serif;
    font-size: .82rem;
    font-weight: 950;
}

.rw-process-flow__detail-guidance span {
    display: block;
}

.rw-process-flow__detail-search {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.rw-process-flow__detail-search span {
    color: #64748b;
    font-size: .72rem;
    font-weight: 900;
}

.rw-process-flow__detail-search code {
    padding: 2px 6px;
    border: 1px solid #bae6fd;
    border-radius: 999px;
    background: #f0f9ff;
    color: #075985;
    font-family: 'Inter', sans-serif;
    font-size: .72rem;
    font-weight: 900;
}

.rw-process-flow__detail-action {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
}

.rw-process-flow__detail-action div {
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    background: #f8fafc;
}

.rw-process-flow__detail-action strong {
    display: block;
    margin: 0 0 3px;
    color: #075985;
    font-family: 'Outfit', 'Inter', sans-serif;
    font-size: .72rem;
    font-weight: 950;
}

.rw-process-flow__detail-action span {
    display: block;
    color: #334155;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.35;
}

.rw-process-flow__detail-missing {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #e2e8f0;
}

.rw-process-flow__detail-missing strong {
    flex: 0 0 auto;
    margin: 0;
    color: #92400e;
    font-size: .72rem;
    font-weight: 950;
}

.rw-process-flow__detail-missing span {
    display: inline-flex;
    align-items: center;
    padding: 2px 7px;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    background: #fff7ed;
    color: #7c2d12;
    font-size: .72rem;
    font-weight: 850;
}

.rw-process-flow__detail-missing em {
    color: #92400e;
    font-style: normal;
    font-size: .72rem;
    font-weight: 900;
}

.rw-process-flow__detail-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    min-width: 30px;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    background: #ffffff;
    color: #075985;
    cursor: pointer;
}

.rw-process-flow__detail-list {
    margin: 0;
    padding: 10px 12px 10px 30px;
    max-height: 240px;
    overflow: auto;
    color: #334155;
    font-size: .78rem;
    font-weight: 760;
    line-height: 1.45;
}

.rw-process-flow__detail-list li + li {
    margin-top: 5px;
}

.rw-process-flow__source-link {
    display: inline;
    width: auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1e3a8a;
    font: inherit;
    font-weight: 850;
    text-align: left;
    cursor: pointer;
}

.rw-process-flow__source-link:hover,
.rw-process-flow__source-link:focus-visible {
    color: #075985;
    text-decoration: underline;
    outline: none;
}

.rw-process-flow__detail-more {
    padding: 8px 12px 10px;
    border-top: 1px solid #dbeafe;
    color: #64748b;
    font-size: .76rem;
    font-weight: 850;
}

.rw-flow-control {
    margin: 12px 0 14px;
    padding: 12px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.rw-flow-control[hidden] {
    display: none !important;
}

.rw-flow-control__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.rw-flow-control__title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #0f172a;
    font-family: 'Outfit', 'Inter', sans-serif;
    font-size: .98rem;
    font-weight: 950;
    line-height: 1.25;
}

.rw-flow-control__title i {
    color: #0ea5e9;
}

.rw-flow-control__copy {
    margin: 3px 0 0;
    color: #475569;
    font-size: .78rem;
    font-weight: 760;
    line-height: 1.45;
}

.rw-flow-control__badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 28px;
    padding: 5px 9px;
    border: 1px solid #bae6fd;
    border-radius: 999px;
    background: #f0f9ff;
    color: #0369a1;
    font-size: .74rem;
    font-weight: 900;
    white-space: nowrap;
}

.rw-flow-control__summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.rw-flow-control__summary span,
.rw-flow-control__summary button {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    color: #334155;
    font-family: 'Outfit', 'Inter', sans-serif;
    font-size: .72rem;
    font-weight: 900;
    line-height: 1.3;
    text-align: left;
}

.rw-flow-control__summary button {
    cursor: pointer;
}

.rw-flow-control__summary button:hover,
.rw-flow-control__summary button:focus-visible,
.rw-flow-control__summary button[aria-pressed="true"] {
    border-color: #38bdf8;
    background: #e0f2fe;
    color: #075985;
    outline: none;
}

.rw-flow-control__summary button.is-muted {
    color: #64748b;
}

.rw-flow-control__summary button:disabled {
    cursor: default;
    opacity: .72;
}

.rw-flow-control__summary span.is-good,
.rw-flow-control__summary button.is-good {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #15803d;
}

.rw-flow-control__summary span.is-watch,
.rw-flow-control__summary button.is-watch {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.rw-flow-control__filter-note {
    margin-top: 8px;
    padding: 7px 9px;
    border: 1px solid #bae6fd;
    border-radius: 8px;
    background: #f0f9ff;
    color: #075985;
    font-size: .72rem;
    font-weight: 850;
    line-height: 1.35;
}

.rw-flow-control__issues {
    display: grid;
    gap: 7px;
    margin-top: 10px;
}

.rw-flow-control__issues[hidden] {
    display: none !important;
}

.rw-flow-control__issue {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 10px;
    border: 1px solid #fed7aa;
    border-radius: 8px;
    background: #fff7ed;
}

.rw-flow-control__issue strong,
.rw-flow-control__issue span {
    display: block;
    min-width: 0;
}

.rw-flow-control__issue strong {
    color: #0f172a;
    font-size: .8rem;
    font-weight: 950;
    line-height: 1.25;
}

.rw-flow-control__issue span {
    margin-top: 2px;
    color: #7c2d12;
    font-size: .72rem;
    font-weight: 820;
    line-height: 1.35;
}

.rw-flow-control__issue small {
    display: block;
    margin-top: 6px;
    color: #334155;
    font-size: .7rem;
    font-weight: 760;
    line-height: 1.4;
}

.rw-flow-control__issue small b {
    color: #075985;
    font-weight: 950;
}

.rw-flow-control__issue button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 0 0 auto;
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid #bae6fd;
    border-radius: 999px;
    background: #f0f9ff;
    color: #0369a1;
    font-family: 'Outfit', 'Inter', sans-serif;
    font-size: .72rem;
    font-weight: 900;
    cursor: pointer;
}

.rw-flow-control__issue button:hover,
.rw-flow-control__issue button:focus-visible {
    border-color: #38bdf8;
    background: #e0f2fe;
    outline: none;
}

.rw-flow-control__ok {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding: 9px 10px;
    border: 1px solid #bbf7d0;
    border-radius: 8px;
    background: #f0fdf4;
    color: #15803d;
    font-size: .78rem;
    font-weight: 850;
    line-height: 1.4;
}

.rw-type-flow {
    margin: 12px 0 14px;
    padding: 12px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.rw-type-flow[hidden] {
    display: none !important;
}

.rw-type-flow__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.rw-type-flow__title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #0f172a;
    font-family: 'Outfit', 'Inter', sans-serif;
    font-size: .98rem;
    font-weight: 950;
    line-height: 1.25;
}

.rw-type-flow__title i {
    color: #0ea5e9;
}

.rw-type-flow__copy {
    margin: 3px 0 0;
    color: #475569;
    font-size: .78rem;
    font-weight: 760;
    line-height: 1.45;
}

.rw-type-flow__badge,
.rw-type-flow__summary span,
.rw-type-flow__card-head span,
.rw-type-flow__card-summary span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 900;
    line-height: 1.3;
}

.rw-type-flow__badge {
    min-height: 28px;
    padding: 5px 9px;
    border: 1px solid #bae6fd;
    background: #f0f9ff;
    color: #0369a1;
    white-space: nowrap;
}

.rw-type-flow__summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

.rw-type-flow__summary span {
    padding: 7px 9px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #334155;
}

.rw-type-flow__summary span.is-good,
.rw-type-flow__card-summary span.is-good {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #15803d;
}

.rw-type-flow__summary span.is-watch,
.rw-type-flow__card-summary span.is-watch {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.rw-type-flow__summary span.is-neutral,
.rw-type-flow__card-summary span.is-neutral {
    border-color: #cbd5e1;
    background: #f8fafc;
    color: #475569;
}

.rw-type-flow__cards {
    display: grid;
    gap: 10px;
}

.rw-type-flow__card {
    padding: 10px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
}

.rw-type-flow__card.is-good {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.rw-type-flow__card.is-watch {
    border-color: #fde68a;
    background: #fffbeb;
}

.rw-type-flow__card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.rw-type-flow__card-head h4 {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    margin: 0;
    color: #0f172a;
    font-family: 'Outfit', 'Inter', sans-serif;
    font-size: .9rem;
    font-weight: 950;
    line-height: 1.25;
}

.rw-type-flow__card-head h4 i {
    color: #0369a1;
}

.rw-type-flow__card-head span {
    flex: 0 0 auto;
    padding: 4px 8px;
    border: 1px solid #bae6fd;
    background: #f0f9ff;
    color: #0369a1;
}

.rw-type-flow__steps {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}

.rw-type-flow__steps span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 7px;
    border: 1px solid rgba(14, 165, 233, .22);
    border-radius: 999px;
    background: rgba(240, 249, 255, .82);
    color: #075985;
    font-size: .7rem;
    font-weight: 900;
    line-height: 1.25;
}

.rw-type-flow__steps span small {
    color: inherit;
    font-size: .62rem;
    font-weight: 950;
    opacity: .76;
}

.rw-type-flow__steps span.is-required {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #1d4ed8;
}

.rw-type-flow__steps span.is-conditional {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.rw-type-flow__steps span.is-optional,
.rw-type-flow__steps span.is-not_applicable {
    border-color: #cbd5e1;
    background: #f8fafc;
    color: #475569;
}

.rw-type-flow__steps span.is-context {
    border-color: #bae6fd;
    background: #f0f9ff;
    color: #0369a1;
}

.rw-type-flow__card-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.rw-type-flow__card-summary span {
    padding: 5px 8px;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    color: #334155;
}

.rw-type-flow__issues {
    display: grid;
    gap: 7px;
    margin-top: 9px;
}

.rw-type-flow__issue {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 10px;
    border: 1px solid #fed7aa;
    border-radius: 8px;
    background: #fff7ed;
}

.rw-type-flow__issue strong,
.rw-type-flow__issue span {
    display: block;
    min-width: 0;
}

.rw-type-flow__issue strong {
    color: #0f172a;
    font-size: .8rem;
    font-weight: 950;
    line-height: 1.25;
}

.rw-type-flow__issue span {
    margin-top: 2px;
    color: #7c2d12;
    font-size: .72rem;
    font-weight: 820;
    line-height: 1.35;
}

.rw-type-flow__issue small {
    display: block;
    margin-top: 6px;
    color: #334155;
    font-size: .7rem;
    font-weight: 760;
    line-height: 1.4;
}

.rw-type-flow__issue small b {
    color: #075985;
    font-weight: 950;
}

.rw-type-flow__issue button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 0 0 auto;
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid #bae6fd;
    border-radius: 999px;
    background: #f0f9ff;
    color: #0369a1;
    font-family: 'Outfit', 'Inter', sans-serif;
    font-size: .72rem;
    font-weight: 900;
    cursor: pointer;
}

.rw-type-flow__issue button:hover,
.rw-type-flow__issue button:focus-visible {
    border-color: #38bdf8;
    background: #e0f2fe;
    outline: none;
}

.rw-type-flow__ok {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 9px;
    padding: 8px 9px;
    border: 1px solid #bbf7d0;
    border-radius: 8px;
    background: #ffffff;
    color: #15803d;
    font-size: .74rem;
    font-weight: 850;
    line-height: 1.4;
}

.rw-formal-chains {
    margin: 12px 0 14px;
    padding: 12px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.rw-formal-chains__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.rw-formal-chains__title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #0f172a;
    font-family: 'Outfit', 'Inter', sans-serif;
    font-size: .98rem;
    font-weight: 950;
    line-height: 1.25;
}

.rw-formal-chains__title i {
    color: #0ea5e9;
}

.rw-formal-chains__copy {
    margin: 3px 0 0;
    color: #475569;
    font-size: .78rem;
    font-weight: 760;
    line-height: 1.45;
}

.rw-formal-chains__badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 28px;
    padding: 5px 9px;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    background: #fff7ed;
    color: #9a3412;
    font-size: .74rem;
    font-weight: 900;
    white-space: nowrap;
}

.rw-formal-chains__cards {
    display: grid;
    gap: 10px;
}

.rw-formal-chains__card {
    padding: 10px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
}

.rw-formal-chains__card.is-good {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.rw-formal-chains__card.is-watch {
    border-color: #fde68a;
    background: #fffbeb;
}

.rw-formal-chains__card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.rw-formal-chains__card-head h4 {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: #0f172a;
    font-family: 'Outfit', 'Inter', sans-serif;
    font-size: .9rem;
    font-weight: 950;
    line-height: 1.25;
}

.rw-formal-chains__card-head p {
    margin: 3px 0 0;
    color: #475569;
    font-size: .74rem;
    font-weight: 760;
    line-height: 1.4;
}

.rw-formal-chains__card-head span {
    flex: 0 0 auto;
    padding: 4px 8px;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    background: #fff7ed;
    color: #9a3412;
    font-size: .7rem;
    font-weight: 900;
}

.rw-formal-chains__steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
    gap: 7px;
}

.rw-formal-chains__steps button {
    min-width: 0;
    padding: 7px 8px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
    color: #334155;
    font-family: 'Outfit', 'Inter', sans-serif;
    text-align: left;
    cursor: pointer;
}

.rw-formal-chains__steps button:disabled {
    cursor: default;
}

.rw-formal-chains__steps button b,
.rw-formal-chains__steps button small {
    display: block;
    min-width: 0;
}

.rw-formal-chains__steps button b {
    font-size: .72rem;
    font-weight: 950;
    line-height: 1.25;
}

.rw-formal-chains__steps button small {
    margin-top: 3px;
    color: inherit;
    font-size: .64rem;
    font-weight: 850;
    opacity: .82;
    line-height: 1.25;
}

.rw-formal-chains__steps button.is-good {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #15803d;
}

.rw-formal-chains__steps button.is-watch {
    border-color: #fed7aa;
    background: #fff7ed;
    color: #9a3412;
}

.rw-formal-chains__steps button.is-neutral,
.rw-formal-chains__steps button.is-na {
    border-color: #e2e8f0;
    background: #f8fafc;
    color: #64748b;
}

.rw-formal-chains__steps button:hover:not(:disabled),
.rw-formal-chains__steps button:focus-visible:not(:disabled) {
    border-color: #38bdf8;
    background: #e0f2fe;
    outline: none;
}

.rw-formal-chains__advice {
    display: grid;
    gap: 4px;
    margin-top: 9px;
    padding: 8px 9px;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    background: #f8fbff;
    color: #334155;
    font-size: .72rem;
    font-weight: 760;
    line-height: 1.4;
}

.rw-formal-chains__advice b {
    color: #075985;
    font-weight: 950;
}

.rw-formal-chains__issues {
    display: grid;
    gap: 7px;
    margin-top: 9px;
}

.rw-formal-chains__issue {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 10px;
    border: 1px solid #fed7aa;
    border-radius: 8px;
    background: #fff7ed;
}

.rw-formal-chains__issue strong,
.rw-formal-chains__issue span {
    display: block;
    min-width: 0;
}

.rw-formal-chains__issue strong {
    color: #0f172a;
    font-size: .8rem;
    font-weight: 950;
    line-height: 1.25;
}

.rw-formal-chains__issue span {
    margin-top: 2px;
    color: #7c2d12;
    font-size: .72rem;
    font-weight: 820;
    line-height: 1.35;
}

.rw-formal-chains__issue button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 0 0 auto;
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid #bae6fd;
    border-radius: 999px;
    background: #f0f9ff;
    color: #0369a1;
    font-family: 'Outfit', 'Inter', sans-serif;
    font-size: .72rem;
    font-weight: 900;
    cursor: pointer;
}

.rw-formal-chains__issue button:hover,
.rw-formal-chains__issue button:focus-visible {
    border-color: #38bdf8;
    background: #e0f2fe;
    outline: none;
}

.rw-formal-chains__ok {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 9px;
    padding: 8px 9px;
    border: 1px solid #bbf7d0;
    border-radius: 8px;
    background: #ffffff;
    color: #15803d;
    font-size: .74rem;
    font-weight: 850;
    line-height: 1.4;
}

.rw-role-route {
    margin: 12px 0 14px;
    padding: 12px;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #f8fbff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.rw-role-route__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.rw-role-route__title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #0f172a;
    font-family: 'Outfit', 'Inter', sans-serif;
    font-size: .98rem;
    font-weight: 950;
    line-height: 1.25;
}

.rw-role-route__title i {
    color: #2563eb;
}

.rw-role-route__copy {
    margin: 3px 0 0;
    color: #475569;
    font-size: .78rem;
    font-weight: 760;
    line-height: 1.45;
}

.rw-role-route__badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 28px;
    padding: 5px 9px;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: .74rem;
    font-weight: 900;
    white-space: nowrap;
}

.rw-role-route__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.rw-role-route__card {
    min-width: 0;
    padding: 10px;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    background: #ffffff;
}

.rw-role-route__card.is-watch {
    border-color: #fed7aa;
    background: #fff7ed;
}

.rw-role-route__card.is-good {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.rw-role-route__card h4 {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 7px;
    color: #0f172a;
    font-family: 'Outfit', 'Inter', sans-serif;
    font-size: .82rem;
    font-weight: 950;
    line-height: 1.25;
}

.rw-role-route__card h4 i {
    color: #0ea5e9;
}

.rw-role-route__card strong,
.rw-role-route__card span {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.rw-role-route__card strong {
    color: #0f172a;
    font-size: .78rem;
    font-weight: 950;
    line-height: 1.35;
}

.rw-role-route__card span {
    margin-top: 4px;
    color: #475569;
    font-size: .72rem;
    font-weight: 760;
    line-height: 1.4;
}

.rw-role-route__card button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 9px;
    padding: 7px 10px;
    border: 1px solid #bae6fd;
    border-radius: 999px;
    background: #f0f9ff;
    color: #0369a1;
    font-family: 'Outfit', 'Inter', sans-serif;
    font-size: .72rem;
    font-weight: 900;
    cursor: pointer;
}

.rw-role-route__card button:hover,
.rw-role-route__card button:focus-visible {
    border-color: #38bdf8;
    background: #e0f2fe;
    outline: none;
}

.rw-role-route__steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
}

.rw-role-route__steps span {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid #e0e7ff;
    border-radius: 8px;
    background: #ffffff;
    color: #334155;
    font-size: .74rem;
    font-weight: 800;
    line-height: 1.35;
}

.rw-role-route__steps b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    min-width: 20px;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: .7rem;
}

@media (max-width: 980px) {
    .rw-process-flow__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rw-flow-control__summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rw-type-flow__head,
    .rw-formal-chains__head,
    .rw-role-route__head {
        flex-direction: column;
    }

    .rw-role-route__grid,
    .rw-role-route__steps {
        grid-template-columns: 1fr;
    }

    .rw-process-flow__detail-action {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .rw-process-flow__head {
        flex-direction: column;
    }

    .rw-process-flow__badge {
        white-space: normal;
    }

    .rw-process-flow__steps {
        grid-template-columns: 1fr;
    }

    .rw-flow-control__head,
    .rw-flow-control__issue,
    .rw-type-flow__issue,
    .rw-formal-chains__issue,
    .rw-role-route__head,
    .rw-formal-chains__card-head {
        flex-direction: column;
        align-items: stretch;
    }

    .rw-flow-control__summary {
        grid-template-columns: 1fr;
    }
}
