.indy-gsc, .indy-gsc * { box-sizing: border-box; }
.indy-gsc { width: 100%; min-width: 0; padding: 28px 0 48px; background: #f7f8fa; color: #17212b; }
.indy-gsc .indy-gsc__wrap { width: min(880px, calc(100% - 24px)); margin: auto; min-width: 0; }
.indy-gsc h1, .indy-gsc h2, .indy-gsc h3 { color: #17212b; line-height: 1.2; }
.indy-gsc h1 { font-size: 2rem; letter-spacing: -.035em; max-width: 860px; margin: 12px 0 18px; }
.indy-gsc h2 { font-size: 1.35rem; margin: 0; }
.indy-gsc h3 { font-size: 1.05rem; }
.indy-gsc p { line-height: 1.65; margin: 12px 0; }
.indy-gsc a { color: #9b3900; text-underline-offset: 3px; }
.indy-gsc a:hover { color: #662600; }
.indy-gsc .indy-gsc__hero { padding: 12px 0 28px; }
.indy-gsc .indy-gsc__hero > p:not(.indy-gsc__eyebrow) { max-width: 730px; color: #52606d; font-size: 1.05rem; }
.indy-gsc .indy-gsc__eyebrow { color: #a13b00; font-size: .78rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.indy-gsc .indy-gsc__pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.indy-gsc .indy-gsc__pills span { font-size: .78rem; padding: 6px 12px; border: 1px solid #e0e4e8; border-radius: 20px; background: #fff; color: #3c4b59; }
.indy-gsc .indy-gsc__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; }
.indy-gsc .indy-gsc__form { display: grid; gap: 20px; margin: 0; min-width: 0; }
.indy-gsc .indy-gsc__card { min-width: 0; border: 1px solid #dde2e7; border-radius: 16px; padding: 20px 16px; background: #fff; box-shadow: 0 4px 20px #17212b04; }
.indy-gsc .indy-gsc__step { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; flex-wrap: wrap; }
.indy-gsc .indy-gsc__step > span { display: grid; place-items: center; flex: 0 0 34px; height: 34px; border-radius: 50%; background: #fff0e5; color: #a13b00; font-weight: 800; }
.indy-gsc .indy-gsc__step small { margin-left: auto; color: #596672; font-size: .78rem; }
.indy-gsc .indy-gsc__muted { font-size: .9rem; color: #52606d; overflow-wrap: anywhere; }
.indy-gsc .indy-gsc__upload { display: flex; flex-direction: column; gap: 8px; padding: 22px 16px; background: #fffbf8; border: 1.5px dashed #b95b24; border-radius: 10px; min-width: 0; cursor: pointer; }
.indy-gsc .indy-gsc__upload strong { font-size: 1rem; }
.indy-gsc .indy-gsc__upload span { font-size: .8rem; color: #596672; }
.indy-gsc .indy-gsc__upload input { max-width: 100%; min-width: 0; font-size: .85rem; }
.indy-gsc .indy-gsc__upload input::file-selector-button { min-height: 48px; padding: 10px 16px; margin: 8px 8px 8px 0; border: 1px solid #ae4000; border-radius: 6px; background: #ae4000; color: #fff; font: inherit; font-size: 1rem; cursor: pointer; }
.indy-gsc .indy-gsc__upload input::file-selector-button:hover { background: #853100; }
.indy-gsc .indy-gsc__art-card { min-width: 0; border: 1px solid #cad3dc; border-radius: 12px; padding: 14px 10px; margin-top: 20px; background: #f9fafc; }
.indy-gsc .indy-gsc__art-header { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-bottom: 6px; }
.indy-gsc .indy-gsc__art-header > img { width: 64px; height: 64px; object-fit: contain; background: #edf0f4; border: 1px solid #d7dfe7; border-radius: 7px; flex: 0 0 64px; }
.indy-gsc .indy-gsc__art-header > div { flex: 1; min-width: 100px; overflow-wrap: anywhere; }
.indy-gsc .indy-gsc__art-header > .indy-gsc__card-controls { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex: 1 0 100%; min-width: 0; }
.indy-gsc .indy-gsc__art-header h3 { margin: 0; font-size: 1rem; }
.indy-gsc .indy-gsc__art-header p { margin: 5px 0; }
.indy-gsc .indy-gsc__art-summary { font-size: .95rem; color: #874000; }
.indy-gsc [data-card-body] > .indy-gsc__actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; }
.indy-gsc .indy-gsc__row { margin: 12px 0 0; padding: 10px 12px; min-width: 0; border: 1px solid #dfe4e9; border-radius: 10px; background: #fcfcfd; }
.indy-gsc .indy-gsc__row legend { width: auto; float: none; margin: 0; padding: 0 7px; font-size: .82rem; font-weight: 800; }
.indy-gsc .indy-gsc__row-footer { display: flex; justify-content: flex-end; grid-column: 2; }
.indy-gsc .indy-gsc__row-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 0 8px; }
.indy-gsc .indy-gsc__row-tools > .indy-gsc__details { margin: 0; border: 0; min-width: 0; }
.indy-gsc .indy-gsc__row-tools > .indy-gsc__details[open] { grid-column: 1 / -1; }
.indy-gsc .indy-gsc__row-tools > .indy-gsc__details > summary { padding: 10px 0; min-height: 44px; font-size: .85rem; }
.indy-gsc .indy-gsc__row-grid, .indy-gsc .indy-gsc__simple-row { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; }
.indy-gsc .indy-gsc__simple-row[data-row-primary] { grid-template-columns: minmax(0, 1fr) minmax(80px, .4fr); gap: 10px; align-items: end; }
.indy-gsc .indy-gsc__row[data-custom="true"] [data-row-primary] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.indy-gsc .indy-gsc__row[data-custom="true"] [data-row-primary] > label:last-child { grid-column: 1 / -1; }
.indy-gsc .indy-gsc__card-controls > .indy-gsc__card-toggle { min-height: 44px; font-size: .9rem; padding: 8px 12px; }
.indy-gsc .indy-gsc__collapsed-sizes { font-size: .95rem; color: #344350; margin: 10px 0 0; overflow-wrap: anywhere; }
.indy-gsc .indy-gsc__field { display: flex; flex-direction: column; gap: 7px; min-width: 0; font-size: 1rem; font-weight: 650; color: #344350; }
.indy-gsc .indy-gsc__field input, .indy-gsc .indy-gsc__field select { width: 100%; min-width: 0; max-width: 100%; height: 44px; padding: 8px 9px; border: 1px solid #bcc6cf; border-radius: 6px; color: #17212b; background-color: #fff; font: inherit; font-size: 1rem; line-height: 1.2; text-overflow: ellipsis; }
.indy-gsc .indy-gsc__field select { padding-right: 25px; }
.indy-gsc .indy-gsc__field select:disabled { background: #edf0f3; color: #596672; opacity: 1; }
.indy-gsc .indy-gsc__check { display: flex; align-items: center; gap: 10px; font-size: .88rem; margin: 18px 0 8px; cursor: pointer; min-height: 44px; }
.indy-gsc .indy-gsc__check input { width: 19px; height: 19px; flex: 0 0 19px; accent-color: #a13b00; }
.indy-gsc .indy-gsc__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; align-items: center; }
.indy-gsc .indy-gsc__primary, .indy-gsc .indy-gsc__secondary, .indy-gsc .indy-gsc__text-button, .indy-gsc .indy-gsc__remove { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; max-width: 100%; border-radius: 7px; padding: 12px 16px; font: inherit; font-size: 1rem; font-weight: 750; text-align: center; line-height: 1.4; cursor: pointer; text-decoration: none; white-space: normal; }
.indy-gsc .indy-gsc__primary { width: 100%; background: #ae4000; border: 1px solid #ae4000; color: #fff; }
.indy-gsc .indy-gsc__primary:hover { background: #853100; border-color: #853100; color: #fff; }
.indy-gsc .indy-gsc__primary:disabled { background: #5b6671; border-color: #5b6671; color: #fff; cursor: wait; }
.indy-gsc .indy-gsc__secondary { background: #fff; border: 1px solid #bcc6cf; color: #263747; }
.indy-gsc .indy-gsc__secondary:hover { background: #edf1f4; color: #17212b; }
.indy-gsc .indy-gsc__text-button, .indy-gsc .indy-gsc__remove { color: #994000; background: transparent; border: 1px solid transparent; }
.indy-gsc .indy-gsc__text-button:hover, .indy-gsc .indy-gsc__remove:hover { background: #fff0e5; color: #773000; }
.indy-gsc [data-card-body] > .indy-gsc__actions > [data-card-custom] { justify-self: center; min-height: 44px; padding: 8px 12px; font-size: .9rem; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; box-shadow: none; }
.indy-gsc .indy-gsc__remove { font-size: .9rem; padding: 8px; flex-shrink: 0; }
.indy-gsc button.indy-gsc__remove { min-height: 44px; padding: 8px; background: transparent; border: 0; box-shadow: none; color: #52606d; font-size: .85rem; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.indy-gsc button.indy-gsc__remove:hover { background: #edf1f4; color: #263747; }
.indy-gsc .indy-gsc__add-design { margin-top: 24px; padding: 20px 16px; border: 1px solid #d7e2ec; border-radius: 10px; background: #f3f7fb; }
.indy-gsc .indy-gsc__add-design h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0; font-size: 1.1rem; }
.indy-gsc .indy-gsc__add-design h3 > span { color: #52606d; font-size: .85rem; font-weight: 500; }
.indy-gsc .indy-gsc__add-design > p { margin: 8px 0 16px; }
.indy-gsc .indy-gsc__add-design > button { display: flex; width: 100%; }
.indy-gsc .indy-gsc__add-design > .indy-gsc__secondary { border-color: #105d99; color: #12466e; min-height: 52px; }
.indy-gsc .indy-gsc__add-design > .indy-gsc__secondary:hover { background: #105d99; color: #fff; }
.indy-gsc .indy-gsc__add-design > .indy-gsc__text-button { margin-top: 8px; text-decoration: underline; text-underline-offset: 3px; font-size: .95rem; font-weight: 600; box-shadow: none; }
.indy-gsc .indy-gsc__add-design > p:last-child { margin: 14px 0 0; }
.indy-gsc .indy-gsc__details { border-top: 1px solid #dce2e8; margin: 18px 0; }
.indy-gsc .indy-gsc__details > summary { cursor: pointer; min-height: 48px; padding: 14px 0; color: #314b60; font-size: .95rem; font-weight: 650; }
.indy-gsc .indy-gsc__details > summary:hover { color: #873200; }
.indy-gsc .indy-gsc__details > summary:focus-visible { outline: 3px solid #145da0; outline-offset: 3px; }
.indy-gsc .indy-gsc__details-body { padding: 8px 0 16px; }
.indy-gsc .indy-gsc__row-grid > p { grid-column: 1/-1; }
.indy-gsc .indy-gsc__size-summary { color: #4c5c69; font-size: .85rem; margin: 8px 0 4px; }
.indy-gsc :is(button,a,input,select):focus-visible { outline: 3px solid #145da0; outline-offset: 3px; }
.indy-gsc .indy-gsc__feedback { color: #4b5965; font-size: .86rem; overflow-wrap: anywhere; }
.indy-gsc .indy-gsc__feedback:empty { display: none; }
.indy-gsc .indy-gsc__result > h2 { font-size: 1.65rem; margin-bottom: 18px; }
.indy-gsc .indy-gsc__empty { padding: 40px 8px; text-align: center; color: #596672; }
.indy-gsc .indy-gsc__empty > span { font-size: 4rem; line-height: 1; color: #c4cdd5; }
.indy-gsc .indy-gsc__length { display: grid; gap: 6px; background: #fff3e9; border-radius: 10px; padding: 18px 14px; margin-bottom: 18px; }
.indy-gsc .indy-gsc__length strong { font-size: 1.65rem; letter-spacing: -.03em; line-height: 1.2; }
.indy-gsc .indy-gsc__length span { font-size: .85rem; color: #514537; }
.indy-gsc .indy-gsc__sheet-control { display: flex; gap: 14px; align-items: end; flex-wrap: wrap; margin-bottom: 14px; }
.indy-gsc .indy-gsc__sheet-control label { flex: 1; }
.indy-gsc .indy-gsc__sheet-control > span { font-size: .8rem; padding-bottom: 10px; }
.indy-gsc .indy-gsc__preview { max-height: 470px; overflow: auto; border: 1px solid #c4cdd5; border-radius: 6px; background: #e9edf1; padding: 12px; }
.indy-gsc .indy-gsc__preview canvas { width: 100%; height: auto; display: block; margin: 0 auto; background: #fff; }
.indy-gsc .indy-gsc__price { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px 12px; align-items: center; margin: 22px 0 16px; }
.indy-gsc .indy-gsc__price > span { font-size: .9rem; font-weight: 750; }
.indy-gsc .indy-gsc__price strong { font-size: 2rem; letter-spacing: -.04em; }
.indy-gsc .indy-gsc__price small { grid-column: 1/-1; color: #596672; font-size: .82rem; }
.indy-gsc .indy-gsc__breakdown { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px 12px; font-size: .8rem; margin: 16px 0; }
.indy-gsc .indy-gsc__breakdown dt { font-weight: 500; }
.indy-gsc .indy-gsc__breakdown dd { margin: 0; text-align: right; }
.indy-gsc .indy-gsc__download { margin-top: 10px; width: 100%; }
.indy-gsc .indy-gsc__help { margin-top: 36px; padding-top: 30px; border-top: 1px solid #dce2e7; }
.indy-gsc .indy-gsc__help > div { display: grid; gap: 10px 28px; margin-top: 15px; }
.indy-gsc .indy-gsc__help article { min-width: 0; }
.indy-gsc .indy-gsc__help p { color: #596672; font-size: .88rem; }
.indy-gsc [hidden] { display: none; }
.indy-gsc button.indy-gsc__guide-start { margin-top: 20px; min-height: 56px; padding: 14px 24px; gap: 12px; background: #105d99; border: 2px solid #105d99; color: #fff; font-size: 1.05rem; box-shadow: 0 5px 16px #105d9926; }
.indy-gsc button.indy-gsc__guide-start:hover { background: #084775; border-color: #084775; color: #fff; }
.indy-gsc .indy-gsc__guide-start svg { width: 24px; height: 24px; flex: 0 0 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.indy-gsc .indy-gsc__layout-disclosure { border-top: 0; margin-block: 24px; }
.indy-gsc .indy-gsc__layout-disclosure > summary { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 16px; border: 2px solid #105d99; border-radius: 10px; background: #edf6ff; color: #12466e; font-size: 1rem; font-weight: 750; list-style: none; }
.indy-gsc .indy-gsc__layout-disclosure > summary::marker { content: ''; }
.indy-gsc .indy-gsc__layout-disclosure > summary::-webkit-details-marker { display: none; }
.indy-gsc .indy-gsc__layout-disclosure > summary > span { flex: 1; min-width: 0; }
.indy-gsc .indy-gsc__layout-disclosure > summary svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.indy-gsc .indy-gsc__layout-icon { width: 26px; height: 26px; flex: 0 0 26px; }
.indy-gsc .indy-gsc__layout-chevron { width: 20px; height: 20px; flex: 0 0 20px; }
.indy-gsc .indy-gsc__layout-disclosure[open] > summary { background: #dceeff; }
.indy-gsc .indy-gsc__layout-disclosure[open] .indy-gsc__layout-chevron { transform: rotate(180deg); }
.indy-gsc .indy-gsc__layout-disclosure > summary:hover { background: #105d99; color: #fff; }
.indy-gsc .indy-gsc__guide-highlight { position: fixed; z-index: 100005; pointer-events: none; border: 3px solid #1368a5; border-radius: 8px; box-shadow: 0 0 0 3px #fff; }
.indy-gsc .indy-gsc__guide { position: fixed; z-index: 100006; width: min(360px, calc(100% - 24px)); padding: 16px; background: #fff; color: #17212b; border: 2px solid #1368a5; border-radius: 14px; box-shadow: 0 8px 35px #17212b38; overflow: auto; overscroll-behavior: contain; }
.indy-gsc .indy-gsc__guide-arrow { position: fixed; width: 16px; height: 16px; z-index: 100005; transform: rotate(45deg); background: #fff; border: 2px solid #1368a5; pointer-events: none; }
.indy-gsc .indy-gsc__guide h2 { font-size: 1.25rem; margin: 6px 0 10px; }
.indy-gsc .indy-gsc__guide p { margin: 8px 0; font-size: 1rem; line-height: 1.5; }
.indy-gsc .indy-gsc__guide > .indy-gsc__eyebrow { font-size: .8rem; }
.indy-gsc .indy-gsc__guide-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; }
.indy-gsc .indy-gsc__guide-toolbar .indy-gsc__eyebrow { font-size: .8rem; margin: 0; }
.indy-gsc .indy-gsc__guide-toolbar > button { min-height: 44px; padding: 8px 12px; font-size: .9rem; }
.indy-gsc .indy-gsc__guide .indy-gsc__guide-voice-note { color: #4c5c69; font-size: .88rem; }
.indy-gsc .indy-gsc__guide-voice-note:empty { display: none; }
.indy-gsc .indy-gsc__guide-status { color: #8b3100; font-weight: 650; }
.indy-gsc .indy-gsc__guide-status:empty { display: none; }
.indy-gsc .indy-gsc__guide-actions { display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; margin-top: 16px; position: sticky; bottom: -16px; background: #fff; padding-block: 8px; }
.indy-gsc .indy-gsc__guide-actions > button { min-width: 0; padding-inline: 10px; }
.indy-gsc .indy-gsc__guide-actions > button:disabled { opacity: .55; cursor: default; }
.indy-gsc .indy-gsc__guide-without { padding: 4px 0; }
.indy-gsc .indy-gsc__guide h2:focus { outline: none; }
@media (min-width: 544px) {
 .indy-gsc { padding-top: 36px; }
 .indy-gsc h1 { font-size: 2.65rem; }
 .indy-gsc .indy-gsc__card { padding: 26px; }
 .indy-gsc .indy-gsc__row-grid, .indy-gsc .indy-gsc__simple-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .indy-gsc .indy-gsc__art-card { padding: 18px 14px; }
 .indy-gsc .indy-gsc__art-header > .indy-gsc__card-controls { flex: 0 1 auto; }
}
@media (min-width: 922px) {
 .indy-gsc .indy-gsc__layout { grid-template-columns: minmax(0,1fr); gap: 24px; }
 .indy-gsc .indy-gsc__help > div { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .indy-gsc .indy-gsc__result { position: static; }
}
