.n3600-progress { min-width: 0; max-width: 100%; margin-bottom: 24px; border-top: 3px solid #9a793e; }
.n3600-progress header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.n3600-progress h3 { margin: 8px 0; }
.n3600-progress p { color: #55534d; line-height: 1.7; overflow-wrap: anywhere; }
.n3600-progress .n3600-notice { background: #f6f1e6; padding: 12px; border-radius: 8px; }
.n3600-table-scroll { overflow-x: auto; max-width: 100%; }
.n3600-progress table { width: 100%; min-width: 820px; border-collapse: collapse; font-size: 14px; text-align: left; }
.n3600-progress th, .n3600-progress td { padding: 12px; border-bottom: 1px solid #e6e1d7; overflow-wrap: anywhere; max-width: 230px; }
.n3600-progress thead { background: #f7f5f0; }
.n3600-inviter-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 12px; margin-top: 12px; align-items: start; }
.n3600-inviter-card { position: relative; box-sizing: border-box; min-width: 0; height: 600px; display: grid; grid-template-rows: 76px 24px 76px minmax(0, 1fr) 38px; border: 1px solid #d8cbb4; background: #fffdf8; border-top: 3px solid #9a793e; }
.n3600-progress .n3600-inviter-card > header { padding: 12px 12px 4px; gap: 8px; align-items: flex-start; }
.n3600-progress .n3600-inviter-card h4 { margin: 3px 0 0; font-size: 20px; line-height: 1.3; overflow-wrap: anywhere; max-height: 52px; overflow: auto; }
.n3600-progress .n3600-inviter-card > header > div { min-width: 0; }
.n3600-card-sales { padding: 0 12px 8px; display: grid; grid-template-columns: 1fr auto; gap: 4px 8px; align-content: start; overflow: auto; font-size: 12px; color: #786746; }
.n3600-card-sales strong { font-size: 23px; color: #342c20; font-variant-numeric: tabular-nums; }
.n3600-card-sales small { grid-column: 1 / -1; font-size: 11px; line-height: 1.4; }
.n3600-top-members { display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); min-height: 0; }
.n3600-top-members > .n3600-member { overflow: auto; }
.n3600-empty-slot { color: #827663; display: flex; align-items: center; justify-content: center; font-size: 12px; }
.n3600-member-expander, .n3600-card-footer { border-top: 1px solid #e6dfd2; font-size: 13px; color: #786746; }
.n3600-member-expander summary { cursor: pointer; padding: 9px 12px; line-height: 18px; }
.n3600-collapse-label, .n3600-member-expander[open] .n3600-expand-label { display: none; }
.n3600-member-expander[open] .n3600-collapse-label { display: inline; }
.n3600-expanded-members { position: absolute; z-index: 2; top: 178px; bottom: 38px; left: 0; right: 0; overflow-y: auto; overscroll-behavior: contain; background: #fffdf8; border-top: 1px solid #d8cbb4; box-shadow: 0 -4px 12px #342c2014; }
.n3600-card-footer { padding: 9px 12px; text-align: center; }
.n3600-card-label, .n3600-card-count { font-size: 12px; color: #786746; line-height: 1.4; }
.n3600-card-count { max-width: 120px; text-align: right; }
.n3600-progress .n3600-card-period { margin: 0; padding: 0 12px 8px; font-size: 12px; line-height: 1.4; color: #827663; }
.n3600-members { list-style: none; padding: 0; margin: 0; }
.n3600-member { padding: 10px 12px; border-top: 1px solid #e6dfd2; min-width: 0; }
.n3600-member-name { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; overflow-wrap: anywhere; }
.n3600-member-name strong { font-size: 15px; line-height: 1.4; }
.n3600-member-name span { font-size: 12px; color: #827663; }
.n3600-member-amounts { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 8px; margin: 6px 0; }
.n3600-member-amounts dt { font-size: 12px; color: #827663; margin-bottom: 2px; }
.n3600-member-amounts dd { margin: 0; font-size: 18px; line-height: 1.3; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; color: #342c20; }
.n3600-progress .n3600-member-net { margin: 4px 0 0; font-size: 12px; line-height: 1.4; }
.n3600-progress .n3600-member-status { margin: 3px 0 0; color: #786746; font-size: 12px; line-height: 1.4; }
.n3600-source-notes { margin: 16px 0; padding: 12px 16px; background: #f7f3ea; font-size: 13px; }
.n3600-source-notes summary { cursor: pointer; color: #786746; }
.n3600-unresolved { margin-top: 24px; border: 1px dashed #b9a78a; background: #faf6ee; padding: 16px; }
.n3600-unresolved h4 { margin: 0; }
@media (max-width: 600px) { .n3600-progress { padding: 16px; } .n3600-progress header { align-items: flex-start; } }
