/* Store onboarding (decided 2026-11-01): sign-up's store step, the application a
   store sees until StemLot verifies it, and Account → Team. */

/* Sign-up: the store first, from the Washington LCB list. */
.signup-store-form .signup-group { gap: 14px; }
.signup-lookup-error { margin: 0; }
.signin-card .signup-lookup-error { margin: 0; }
.signup-license { display: grid; gap: 8px; min-width: 0; padding: 16px; border: 1px solid #d5e6d9; border-radius: 10px; background: #f4f9f5; color: #1f3a26; }
.signup-license-label { display: inline-flex; align-items: center; gap: 6px; margin: 0; color: #2f5f3a; font-size: 13px; font-weight: 600; line-height: 1.4; }
.signup-license-label .icon { width: 16px; height: 16px; stroke-width: 2; }
.signup-license-name { margin: 0; color: #151515; font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -.2px; overflow-wrap: anywhere; }
.signup-license-name:focus { outline: none; }
.signup-license-name:focus-visible { outline: 2px solid #151515; outline-offset: 3px; }
.signup-license-address { margin: 0; color: #3b3b3b; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.signup-license-facts { display: grid; grid-template-columns: repeat(3, minmax(0, auto)); justify-content: start; gap: 6px 22px; margin: 4px 0 0; }
.signup-license-facts > div { min-width: 0; }
.signup-license-facts dt { color: #5f6f62; font-size: 11px; font-weight: 600; letter-spacing: .4px; text-transform: uppercase; }
.signup-license-facts dd { margin: 2px 0 0; color: #1f1f1f; font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
.signup-license-note { margin: 4px 0 0; color: #6b4a00; font-size: 13px; line-height: 1.5; }
.signup-license.is-other { border-color: #edc9c4; background: #fff4f2; color: #6e2018; }
.signup-license.is-other p { margin: 0; color: #9c2b20; font-size: 14px; line-height: 1.5; }
.signup-vendor-link { justify-self: start; color: #151515; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.signup-license.is-missing { border-color: #e6dcc0; background: #fffaf0; color: #5a4300; }
.signup-license-missing { margin: 0; font-size: 14px; line-height: 1.55; }
.signup-license-missing strong { display: block; margin-bottom: 4px; color: #3d2e00; font-weight: 650; }
.signup-license-missing:focus { outline: none; }
.signup-license-missing:focus-visible { outline: 2px solid #151515; outline-offset: 3px; }
.signup-store-actions { display: grid; gap: 14px; }
.signin-card .signup-change { justify-self: center; min-height: 44px; padding: 8px 12px; color: #262626; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.signin-card .signup-change:hover:not(:disabled) { color: #000; }
/* The confirmed store above the person's own details. */
.signup-store { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; min-width: 0; margin: 0 0 24px; padding: 14px 16px; border: 1px solid #e3e3e3; border-radius: 10px; background: #fafafa; }
.signup-store-text { display: grid; gap: 2px; min-width: 0; }
.signup-store-text p { margin: 0; color: #4a4a4a; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.signup-store-label { color: #6b6b6b !important; font-size: 11px !important; font-weight: 600; letter-spacing: .4px; text-transform: uppercase; }
.signup-store h2 { margin: 0; color: #151515; font-size: 16px; font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; }
.signup-store-note { margin-top: 4px !important; color: #2f5f3a !important; font-weight: 600; }
.signup-store-note.is-review { color: #6b4a00 !important; }
.signin-card .signup-store .signup-change { flex: 0 0 auto; justify-self: auto; min-height: 40px; padding: 6px 4px; }
.signup-attest { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; color: #262626; font-size: 14px; font-weight: 500; line-height: 1.5; cursor: pointer; }
.signin-form .signup-attest input { flex: 0 0 auto; width: 20px; height: 20px; margin: 1px 0 0; padding: 0; accent-color: #111; }
.signup-sent-store { margin-top: 12px !important; padding: 12px 14px; border: 1px solid #bee4cf; border-radius: 8px; background: #effaf3; color: #176b43 !important; font-size: 14px !important; line-height: 1.5; }
.signup-sent-store.is-review { border-color: #e6dcc0; background: #fffaf0; color: #5a4300 !important; }

/* The application: where the store stands, its license and what happens next. */
.portal-workspace-shell .application-page { max-width: 1040px; }
.application-heading { display: grid; gap: 6px; margin-bottom: var(--section-gap); }
.application-store { color: #6b6b6b; font-size: 13px; font-weight: 600; letter-spacing: .3px; text-transform: uppercase; overflow-wrap: anywhere; }
.application-heading h1 { color: #1f1f1f; font-size: clamp(24px, 3vw, 27px); font-weight: 650; line-height: 1.2; letter-spacing: -.4px; }
.application-heading h1:focus { outline: none; }
.application-heading h1:focus-visible { outline: 2px solid #2463c5; outline-offset: 3px; }
.application-reason { max-width: 720px; color: #3d3d3d; font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.application-layout { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "status" "documents" "next"; gap: var(--section-gap); align-items: start; }
.application-status { grid-area: status; }
.application-documents { grid-area: documents; }
.application-next { grid-area: next; }
@container workspace (min-width: 860px) {
  .application-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); grid-template-areas: "status documents" "next documents"; }
}
.application-card { min-width: 0; padding: var(--panel-padding); border: 1px solid #dedede; border-radius: 10px; background: #fff; color: #303030; }
.application-card h2 { margin-bottom: 12px; color: #222; font-size: 17px; font-weight: 700; }
.application-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; margin: 0; }
.application-facts > div { min-width: 0; }
.application-facts .application-fact-wide { grid-column: 1 / -1; }
.application-facts dt { margin-bottom: 4px; color: #6f6f6f; font-size: 11px; letter-spacing: .6px; text-transform: uppercase; }
.application-facts dd { margin: 0; color: #272727; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.application-badge, .verification-badge { display: inline-flex; align-items: center; padding: 2px 10px; border-radius: 999px; background: #fff3d6; color: #6b4a00; font-size: 13px; font-weight: 600; line-height: 20px; white-space: nowrap; }
.application-badge.is-verified, .verification-badge.is-verified { background: #e9f4ec; color: #2f5f3a; }
.application-badge.is-rejected, .verification-badge.is-rejected { background: #fdeceb; color: #9c2b20; }
.application-badge.is-suspended, .verification-badge.is-suspended { background: #eeeeee; color: #3d3d3d; }
.application-help { margin: 0; color: #666; font-size: 13px; line-height: 1.55; }
.application-documents > .application-help { margin-bottom: 14px; }
.application-empty { margin: 0 0 14px; color: #666; font-size: 14px; }
.application-files { display: grid; margin: 0 0 14px; padding: 0; list-style: none; border-top: 1px solid #ececec; }
.application-file { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 12px 0; border-bottom: 1px solid #ececec; }
.application-file-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 8px; background: #f3f3f3; color: #3b3b3b; }
.application-file-icon .icon { width: 18px; height: 18px; }
.application-file-text { display: grid; gap: 2px; flex: 1 1 auto; min-width: 0; }
.application-file-name { color: #222; font-size: 14px; font-weight: 600; line-height: 1.4; text-decoration: underline; text-decoration-color: #c4c4c4; text-underline-offset: 3px; overflow-wrap: anywhere; }
.application-file-name:hover { text-decoration-color: currentColor; }
.application-file-details { color: #6b6b6b; font-size: 12px; line-height: 1.5; }
.application-file-delete { flex: 0 0 auto; min-height: 40px; margin: 0; padding: 8px 14px; border: 1px solid #d0d0d0; border-radius: 7px; background: #fff; color: #333; font-size: 13px; font-weight: 550; line-height: 20px; }
.application-file-delete:hover:not(:disabled) { border-color: #8f8f8f; background: #fafafa; }
.application-upload { display: grid; gap: 8px; justify-items: start; margin-bottom: 16px; }
.application-file-input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.application-upload-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 18px; border: 1px solid #1c1c1c; border-radius: 8px; background: #fff; color: #1c1c1c; font-size: 14px; font-weight: 600; line-height: 22px; cursor: pointer; }
.application-upload-button .icon { width: 18px; height: 18px; }
.application-upload-button:hover { background: #f2f2f2; }
.application-upload-button.is-disabled { opacity: .44; cursor: not-allowed; }
.application-upload-button.is-disabled:hover { background: #fff; }
.application-file-input:focus-visible + .application-upload-button { outline: 2px solid #2463c5; outline-offset: 3px; }
.application-problem { margin: 0 0 16px; }
.application-review { display: grid; gap: 8px; justify-items: start; padding-top: 16px; border-top: 1px solid #ececec; }
.application-review-button { min-height: 48px; margin: 0; padding: 12px 22px; border: 1px solid #1c1c1c; border-radius: 8px; background: #1c1c1c; color: #fff; font-size: 15px; font-weight: 600; line-height: 22px; }
.application-review-button:hover:not(:disabled) { background: #333; border-color: #333; }
.application-steps { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: application-step; }
.application-steps li { position: relative; min-height: 26px; padding-left: 38px; color: #333; font-size: 14px; line-height: 1.55; counter-increment: application-step; }
.application-steps li::before { content: counter(application-step); position: absolute; left: 0; top: 0; display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background: #f1f1f1; color: #333; font-size: 13px; font-weight: 650; }

/* Account: the store's verification, and the team. */
.account-verification { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.account-application-link { color: #222; font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.team-intro { margin-top: 0; }
.team-list { display: grid; margin: 10px 0 0; padding: 0; list-style: none; }
.team-member { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 0; padding: 12px 0; border-top: 1px solid #ececec; }
.team-member-text { display: grid; gap: 2px; flex: 1 1 220px; min-width: 0; }
.team-member-name { color: #262626; font-size: 14px; font-weight: 600; line-height: 21px; overflow-wrap: anywhere; }
.team-member-email { color: #555; font-size: 13px; line-height: 20px; overflow-wrap: anywhere; }
.team-member-details { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 4px; }
.team-role, .team-status, .team-you { padding: 2px 8px; border-radius: 10px; background: #f0f0f0; color: #4a4a4a; font-size: 12px; font-weight: 550; line-height: 18px; }
.team-role.is-owner { background: #e8eefc; color: #23408e; }
.team-status { background: #fff3d6; color: #6b4a00; }
.team-you { background: #fff; border: 1px solid #dcdcdc; padding: 1px 7px; }
.team-added { color: #6b6b6b; font-size: 12px; line-height: 18px; }
.team-remove, .team-remove-cancel { flex: 0 0 auto; min-height: 40px; margin: 0; padding: 8px 14px; border: 1px solid #d0d0d0; border-radius: 7px; background: #fff; color: #333; font-size: 13px; font-weight: 550; line-height: 20px; }
.team-remove:hover:not(:disabled), .team-remove-cancel:hover:not(:disabled) { border-color: #8f8f8f; background: #fafafa; }
.team-confirm { display: grid; gap: 10px; flex: 1 1 100%; padding: 12px 14px; border: 1px solid #edc9c4; border-radius: 8px; background: #fff7f5; }
.team-confirm p { margin: 0; color: #6e2018; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.team-confirm-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.team-remove-confirm { min-height: 40px; margin: 0; padding: 8px 16px; border: 1px solid #9c2b20; border-radius: 7px; background: #9c2b20; color: #fff; font-size: 13px; font-weight: 600; line-height: 20px; }
.team-remove-confirm:hover:not(:disabled) { background: #842318; border-color: #842318; }
.team-add { display: grid; gap: 8px; margin-top: 16px; padding-top: 16px; border-top: 1px solid #ececec; }
.team-add label { color: #262626; font-size: 13px; font-weight: 600; }
.team-add-row { display: flex; gap: 10px; min-width: 0; }
.team-add-row input { flex: 1 1 auto; min-width: 0; height: 44px; padding: 10px 12px; border: 1px solid #cfcfcf; border-radius: 8px; background: #fff; font-size: 14px; }
.team-add-button { flex: 0 0 auto; min-height: 44px; margin: 0; padding: 10px 20px; border: 1px solid #1c1c1c; border-radius: 8px; background: #1c1c1c; color: #fff; font-size: 14px; font-weight: 600; line-height: 22px; }
.team-add-button:hover:not(:disabled) { background: #333; border-color: #333; }
.team-problem { margin: 2px 0 0; }

@media (max-width: 900px) {
  .portal-workspace-shell .application-page { padding: 0; }
  .application-heading { padding: 18px var(--page-gutter) 0; }
  .application-card { padding: 18px var(--page-gutter); border-width: 1px 0; border-radius: 0; }
  .application-card h2 { font-size: 16px; }
}
@media (max-width: 520px) {
  .signup-license-facts { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .signup-store { flex-direction: column; }
  .signin-card .signup-store .signup-change { align-self: flex-start; }
  .application-facts { grid-template-columns: minmax(0, 1fr); }
  .application-file { flex-wrap: wrap; }
  .application-file-delete { margin-left: 48px; }
  .application-upload, .application-review { justify-items: stretch; }
  .application-upload-button, .application-review-button { width: 100%; min-height: 48px; font-size: 16px; }
  .team-add-row { flex-direction: column; }
  .team-add-button { width: 100%; min-height: 48px; font-size: 16px; }
  .team-add-row input { height: 48px; font-size: 16px; }
}
