:root {
  --pw-bg: #071015;
  --pw-surface: #0d1a21;
  --pw-surface-2: #111f27;
  --pw-line: #293c47;
  --pw-text: #f5f7fa;
  --pw-muted: #aab9c8;
  --pw-orange: #ff7417;
  --pw-green: #29d982;
  --pw-red: #ff5261;
  --pw-yellow: #ffc342;
}

.pw-public-shell { width: min(1120px, calc(100% - 32px)); margin: 0 auto; padding: 38px 0 72px; color: var(--pw-text); }
.pw-public-shell.is-narrow { width: min(780px, calc(100% - 32px)); }
.pw-back-link, .pw-breadcrumb a { color: var(--pw-orange); font-weight: 800; text-decoration: none; }
.pw-public-heading { padding: 28px 0 24px; }
.pw-public-heading > span { color: var(--pw-orange); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.pw-public-heading h1 { margin: 5px 0 8px; color: var(--pw-text); font-size: clamp(34px, 5vw, 56px); line-height: 1; letter-spacing: 0; }
.pw-public-heading p, .pw-form-help { margin: 0; color: var(--pw-muted); }
.pw-form-card, .pw-status-card, .pw-callout, .pw-timeline, .pw-admin-empty, .pw-claim-card { border: 1px solid var(--pw-line); border-radius: 7px; background: var(--pw-surface); }
.pw-form-card > section, .pw-form-card > form > section { padding: 22px; border-bottom: 1px solid var(--pw-line); }
.pw-form-card h2 { margin: 0 0 16px; font-size: 20px; }
.pw-form-card > form { padding: 22px; display: grid; gap: 14px; }
.pw-form-card > form > section { margin: -22px -22px 0; }
.pw-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.pw-form-grid label, .pw-message-form label, .pw-claim-actions label { display: grid; gap: 6px; min-width: 0; color: var(--pw-text); font-size: 13px; font-weight: 800; }
.pw-form-grid label > span, .pw-message-form label > span, .pw-claim-actions label > span { display: flex; gap: 5px; align-items: baseline; }
.pw-form-grid label b { color: var(--pw-red); }
.pw-form-grid label.is-wide { grid-column: span 1; }
.pw-form-grid label.is-full { grid-column: 1 / -1; }
.pw-form-grid input, .pw-form-grid select, .pw-form-grid textarea, .pw-message-form textarea, .pw-claim-actions input, .pw-claim-actions textarea, .pw-preference-row select { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid #39505d; border-radius: 5px; outline: 0; background: #071218; color: var(--pw-text); }
.pw-form-grid textarea, .pw-message-form textarea, .pw-claim-actions textarea { resize: vertical; }
.pw-form-grid input:focus, .pw-form-grid select:focus, .pw-form-grid textarea:focus, .pw-message-form textarea:focus { border-color: var(--pw-orange); box-shadow: 0 0 0 3px rgba(255,116,23,.16); }
.pw-form-help { margin-top: 12px; font-size: 12px; }
.pw-form-actions { padding: 16px 22px; display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.pw-public-shell .v2-button { min-height: 42px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--pw-line); border-radius: 5px; color: var(--pw-text); font-weight: 900; text-decoration: none; cursor: pointer; }
.pw-public-shell .v2-button-primary { border-color: var(--pw-orange); background: var(--pw-orange); color: #111; }
.pw-public-shell .v2-button-secondary { background: var(--pw-surface-2); }
.pw-callout { margin: 14px 0; padding: 16px; display: flex; align-items: flex-start; gap: 10px; flex-wrap: wrap; }
.pw-callout strong { width: 100%; }
.pw-callout span { flex: 1 1 420px; color: var(--pw-muted); }
.pw-callout.is-success { border-color: #176b46; background: #0d2d22; }
.pw-callout.is-warning { border-color: #80570b; background: #312713; }
.pw-callout.is-error { border-color: #8a2631; background: #35161c; }
.pw-status-card { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); margin-bottom: 16px; }
.pw-status-card > div { min-width: 0; padding: 16px; display: grid; gap: 4px; border-right: 1px solid var(--pw-line); }
.pw-status-card > div:last-child { border-right: 0; }
.pw-status-card span, .pw-status-card small { color: var(--pw-muted); font-size: 12px; }
.pw-status { min-height: 26px; width: fit-content; padding: 3px 9px; display: inline-flex; align-items: center; border-radius: 30px; background: #27343b; color: #dce6ec; font-size: 11px; font-weight: 900; text-transform: capitalize; }
.pw-status.is-approved, .pw-status.is-booked, .pw-status.is-accepted, .pw-status.is-available { background: #0b3d2b; color: #61f1a6; }
.pw-status.is-denied, .pw-status.is-cancelled, .pw-status.is-declined, .pw-status.is-unavailable { background: #471c23; color: #ff8993; }
.pw-status.is-submitted, .pw-status.is-verifying, .pw-status.is-pending_review, .pw-status.is-open, .pw-status.is-responses, .pw-status.is-reviewing, .pw-status.is-limited, .pw-status.is-duplicate { background: #443314; color: #ffd36d; }
.pw-timeline { padding: 18px; }
.pw-timeline h2 { margin: 0 0 12px; }
.pw-timeline article { display: grid; grid-template-columns: 12px 1fr; gap: 10px; padding: 10px 0; }
.pw-timeline article > span { width: 10px; height: 10px; margin-top: 5px; border-radius: 50%; background: var(--pw-orange); }
.pw-timeline article div { display: grid; gap: 3px; }
.pw-timeline article p { margin: 0; color: var(--pw-muted); }
.pw-timeline time { color: var(--pw-muted); font-size: 11px; }
.pw-claim-prompt { margin-top: 18px; padding: 12px 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #273640; color: #aebbc5; }
.pw-claim-prompt div { display: grid; }
.pw-claim-prompt a { color: var(--pw-orange); font-size: 13px; font-weight: 800; }

.pw-page-actions, .pw-breadcrumb { margin-bottom: 14px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.pw-breadcrumb span { color: var(--pw-muted); }
.pw-count { color: var(--pw-muted); font-size: 12px; }
.pw-inbox { padding-bottom: 0; }
.pw-notification-list { margin: 0 -16px; }
.pw-notification { min-height: 104px; padding: 15px 16px; display: grid; grid-template-columns: 10px minmax(0,1fr) auto; gap: 13px; align-items: start; border-top: 1px solid var(--pw-line); }
.pw-notification.is-unread { background: rgba(255,116,23,.055); }
.pw-notification-mark { width: 8px; height: 8px; margin-top: 8px; border-radius: 50%; background: #536670; }
.pw-notification.is-unread .pw-notification-mark { background: var(--pw-orange); box-shadow: 0 0 12px rgba(255,116,23,.5); }
.pw-notification h3 { margin: 3px 0 4px; font-size: 16px; }
.pw-notification p { margin: 0; color: var(--pw-muted); }
.pw-notification-meta { display: flex; gap: 12px; color: #8397a3; font-size: 11px; }
.pw-notification-actions { display: flex; align-items: center; gap: 8px; }
.pw-link-button { padding: 7px; border: 0; background: transparent; color: var(--pw-muted); cursor: pointer; }
.pw-preferences { margin-top: 14px; }
.pw-preference-head, .pw-preference-row { display: grid; grid-template-columns: minmax(220px,1.4fr) repeat(3,minmax(130px,1fr)); gap: 10px; align-items: center; }
.pw-preference-head { padding: 9px 0; color: var(--pw-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.pw-preference-row { padding: 10px 0; border-top: 1px solid var(--pw-line); }
.pw-mobile-label { display: none; }
.pw-delivery-settings { margin-bottom: 14px; padding: 14px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; border: 1px solid var(--pw-line); border-radius: 6px; background: #09151b; }
.pw-delivery-settings label, .pw-settings-form label, .pw-inline-form label { display: grid; gap: 6px; color: var(--pw-text); font-size: 12px; font-weight: 800; }
.pw-delivery-settings input, .pw-settings-form input, .pw-inline-form input, .pw-inline-form select { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid #39505d; border-radius: 5px; background: #071218; color: var(--pw-text); }
.pw-input-suffix { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px; }
.pw-input-suffix b { color: var(--pw-muted); }

.pw-standard-grid { margin-bottom: 22px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.pw-standard-grid article { padding: 18px; border: 1px solid var(--pw-line); border-radius: 7px; background: var(--pw-surface); }
.pw-standard-grid h2 { margin: 0 0 8px; font-size: 18px; }
.pw-standard-grid p { margin: 0; color: var(--pw-muted); }
.pw-check-line { grid-template-columns: auto minmax(0,1fr) !important; align-items: start; }
.pw-check-line input { width: 20px; min-height: 20px; margin-top: 1px; }
.pw-simple-list { display: grid; }
.pw-simple-list > article, .pw-simple-list > a, .pw-simple-list > div { min-width: 0; padding: 12px 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-top: 1px solid var(--pw-line); color: inherit; text-decoration: none; }
.pw-simple-list > :first-child { border-top: 0; }
.pw-simple-list > article > div, .pw-simple-list > a > span, .pw-simple-list > div > span { min-width: 0; display: grid; gap: 3px; }
.pw-simple-list small, .pw-simple-list span { color: var(--pw-muted); }
.pw-account-grid { margin-bottom: 14px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.pw-settings-form { display: grid; gap: 12px; }
.pw-inline-form, .pw-action-row { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; }
.pw-inline-form label { flex: 1 1 220px; }
.pw-danger-zone { border-color: #71323a !important; }
.pw-two-factor-key { margin-bottom: 14px; padding: 14px; display: grid; gap: 4px; border: 1px solid #80570b; border-radius: 6px; background: #312713; }
.pw-two-factor-key span { color: var(--pw-muted); font-size: 12px; }
.pw-two-factor-key strong { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; letter-spacing: 0; }
.aw-button.is-danger { border-color: #b9363d; background: #b9363d; color: #fff; }
.pw-public-shell .aw-panel, .pw-admin-content .aw-panel { padding: 16px; border: 1px solid var(--pw-line); border-radius: 7px; background: var(--pw-surface); color: var(--pw-text); }
.pw-public-shell .aw-panel-head, .pw-admin-content .aw-panel-head { margin-bottom: 12px; display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.pw-public-shell .aw-panel-head h2, .pw-admin-content .aw-panel-head h2 { margin: 0; }
.pw-public-shell .aw-panel-head p, .pw-admin-content .aw-panel-head p { margin: 4px 0 0; color: var(--pw-muted); }
.pw-job-list { display: grid; gap: 10px; }
.pw-job-list > article { padding: 14px; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: start; gap: 14px; border: 1px solid var(--pw-line); border-radius: 6px; background: var(--pw-surface); color: var(--pw-text); }
.pw-job-list article > div { min-width: 0; display: grid; gap: 4px; }
.pw-job-list p { margin: 5px 0 0; color: #ff8993; overflow-wrap: anywhere; }
.pw-job-list small, .pw-job-list article > div > span { color: var(--pw-muted); }

.pw-request-list-row > a { min-height: 72px; padding: 10px 4px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.pw-request-list-row > a > span { display: grid; gap: 3px; }
.pw-request-list-row small, .aw-table td > small { display: block; color: var(--pw-muted); }
.pw-request-hero { margin-bottom: 14px; padding: 22px; display: flex; justify-content: space-between; gap: 20px; border: 1px solid #71401f; border-radius: 7px; background: #171a1d; }
.pw-request-hero h2 { margin: 9px 0 6px; font-size: 32px; }
.pw-request-hero p { max-width: 760px; margin: 0; color: var(--pw-muted); }
.pw-request-hero-actions { display: flex; gap: 8px; align-items: flex-start; flex-wrap: wrap; }
.pw-cancel-menu { position: relative; }
.pw-cancel-menu summary { list-style: none; cursor: pointer; }
.pw-cancel-menu form { position: absolute; z-index: 5; right: 0; top: calc(100% + 6px); width: 300px; padding: 12px; border: 1px solid var(--pw-line); border-radius: 6px; background: #0b171d; box-shadow: 0 18px 40px #0008; }
.pw-cancel-menu label { display: grid; gap: 6px; }
.pw-cancel-menu textarea { width: 100%; padding: 8px; border: 1px solid #39505d; border-radius: 5px; background: #071218; color: var(--pw-text); }
.pw-detail-grid { margin-bottom: 14px; display: grid; grid-template-columns: minmax(0,1.45fr) minmax(300px,.55fr); gap: 14px; }
.pw-definition-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.pw-definition-grid .is-wide { grid-column: 1/-1; }
.pw-definition-grid dt { color: var(--pw-muted); }
.pw-selected-vendor { display: grid; gap: 7px; }
.pw-selected-vendor strong { font-size: 20px; }
.pw-selected-vendor span { color: var(--pw-muted); }
.pw-selected-vendor a, .pw-good { color: var(--pw-green); font-weight: 800; }
.pw-empty { min-height: 110px; display: grid; place-content: center; justify-items: center; gap: 4px; padding: 18px; text-align: center; }
.pw-empty span { color: var(--pw-muted); }
.pw-response-section, .pw-matches { margin-bottom: 14px; }
.pw-comparison-wrap { overflow-x: auto; }
.pw-comparison { width: 100%; min-width: 1180px; border-collapse: collapse; }
.pw-comparison th { padding: 10px; color: var(--pw-muted); font-size: 11px; text-align: left; }
.pw-comparison td { padding: 12px 10px; border-top: 1px solid var(--pw-line); vertical-align: top; }
.pw-comparison td strong, .pw-comparison td small { display: block; }
.pw-comparison td small { margin-top: 4px; max-width: 190px; color: var(--pw-muted); }
.pw-match-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.pw-match-card { min-width: 0; padding: 14px; border: 1px solid var(--pw-line); border-radius: 6px; background: #09151b; }
.pw-match-card.is-unavailable { opacity: .72; }
.pw-match-card header, .pw-match-card footer { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.pw-match-card h3 { margin: 0; }
.pw-match-card header div span, .pw-match-card footer > span { color: var(--pw-muted); font-size: 12px; }
.pw-match-reasons { min-height: 132px; padding: 10px 0 10px 18px; }
.pw-match-reasons li { margin: 5px 0; }
.pw-match-reasons .is-pass::marker { color: var(--pw-green); }
.pw-match-reasons .is-warning::marker { color: var(--pw-yellow); }
.pw-message-thread { display: grid; gap: 9px; max-height: 560px; overflow-y: auto; }
.pw-message { width: min(82%,700px); padding: 11px 13px; border: 1px solid var(--pw-line); border-radius: 6px; background: #09151b; }
.pw-message.is-vendor { margin-left: auto; border-color: #75401f; background: #2c1c12; }
.pw-message.is-system { width: 100%; background: #14232b; }
.pw-message header { display: flex; justify-content: space-between; gap: 10px; }
.pw-message time { color: var(--pw-muted); font-size: 11px; }
.pw-message p { margin: 6px 0 0; }
.pw-message-form { margin-top: 14px; display: grid; gap: 9px; }
.pw-message-form button { justify-self: end; }
.pw-timeline-panel .pw-timeline { padding: 0; border: 0; background: transparent; }
.pw-side-stack { display: grid; align-content: start; gap: 12px; }
.pw-vendor-response .pw-status-card { grid-template-columns: 1fr; margin: 0; }
.pw-vendor-response .pw-status-card > div { border-right: 0; border-bottom: 1px solid var(--pw-line); }
.pw-vendor-response .pw-status-card > div:last-child { border-bottom: 0; }

.pw-admin-content { padding-bottom: 50px; }
.pw-admin-tabs { display: flex; gap: 6px; margin: 14px 0; overflow-x: auto; }
.pw-admin-tabs a { min-height: 38px; padding: 0 13px; display: inline-flex; align-items: center; border: 1px solid var(--admin-border,#293036); border-radius: 5px; white-space: nowrap; text-decoration: none; }
.pw-admin-tabs a[aria-current="page"] { border-color: var(--admin-orange,#ff7a1a); background: #3b2417; color: var(--admin-orange,#ff7a1a); }
.pw-admin-empty { min-height: 240px; display: grid; place-content: center; justify-items: center; gap: 6px; color: var(--pw-text); }
.pw-admin-empty span { color: var(--pw-muted); }
.pw-claim-list { display: grid; gap: 12px; }
.pw-claim-card { color: var(--pw-text); }
.pw-claim-card > header { padding: 16px; display: flex; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--pw-line); }
.pw-claim-card h2 { margin: 3px 0; }
.pw-claim-card header p, .pw-claim-card header div > span { margin: 0; color: var(--pw-muted); }
.pw-claim-evidence { padding: 16px; }
.pw-claim-evidence dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.pw-claim-evidence dt { color: var(--pw-muted); font-size: 11px; }
.pw-claim-evidence dd { margin: 2px 0; overflow-wrap: anywhere; }
.pw-claim-evidence > p { padding: 12px; background: #09151b; }
.pw-duplicate-warning { padding: 10px; border: 1px solid #80570b; border-radius: 5px; background: #312713; }
.pw-claim-actions { padding: 16px; display: grid; grid-template-columns: minmax(0,1fr) 190px; gap: 10px; border-top: 1px solid var(--pw-line); }
.pw-claim-actions > div { grid-column: 1/-1; display: flex; gap: 8px; flex-wrap: wrap; }
.pw-reviewed-note { padding: 16px; display: grid; gap: 5px; border-top: 1px solid var(--pw-line); }
.pw-reviewed-note span, .pw-reviewed-note small { color: var(--pw-muted); }

.pw-onboarding-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); gap: 10px; }
.pw-onboarding-list a { min-height: 52px; padding: 10px 12px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--aw-border,#2b3b44); color: inherit; text-decoration: none; }
.pw-onboarding-list a span { width: 22px; height: 22px; flex: 0 0 22px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid currentColor; }
.pw-onboarding-list a.is-complete { color: #34d399; }
.pw-fieldset { margin: 0; padding: 14px; display: grid; gap: 10px; border: 1px solid var(--aw-border,#2b3b44); }
.pw-fieldset legend { padding: 0 6px; font-weight: 700; }
.pw-permission-list { display: grid; gap: 8px; }
.pw-permission-list form { display: grid; grid-template-columns: minmax(180px,1fr) minmax(130px,190px) auto; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--pw-line); }
.pw-permission-list form:first-child { border-top: 0; }
.pw-permission-list form > span strong, .pw-permission-list form > span small { display: block; }
.pw-permission-list form > span small { color: var(--pw-muted); }
.pw-status.is-passed { background: #0b3d2b; color: #61f1a6; }
.pw-status.is-failed { background: #471c23; color: #ff8993; }
.pw-status.is-pending { background: #443314; color: #ffd36d; }
.pw-accessibility-list { display: grid; gap: 12px; margin-top: 14px; }
.pw-accessibility-list article { padding: 16px; }
.pw-accessibility-list article > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.pw-accessibility-list h2 { margin: 7px 0 2px; font-size: 18px; }
.pw-accessibility-list small { color: var(--pw-muted); }
.pw-accessibility-form { display: grid; grid-template-columns: minmax(180px,.5fr) minmax(220px,1fr); gap: 10px; margin-top: 14px; }
.pw-accessibility-form label { display: grid; gap: 5px; font-weight: 700; }
.pw-accessibility-form .is-wide { grid-column: 1 / -1; }
.pw-accessibility-form button { justify-self: start; }

@media (max-width: 980px) {
  .pw-detail-grid { grid-template-columns: 1fr; }
  .pw-match-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pw-definition-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pw-standard-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pw-preference-head { display: none; }
  .pw-preference-row { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .pw-preference-row > strong { grid-column: 1/-1; }
  .pw-mobile-label { display: block; color: var(--pw-muted); font-size: 11px; }
}

@media (max-width: 680px) {
  .pw-public-shell { width: min(100% - 20px,1120px); padding-top: 20px; }
  .pw-form-grid, .pw-match-grid, .pw-definition-grid, .pw-claim-actions { grid-template-columns: 1fr; }
  .pw-form-grid label.is-full, .pw-form-grid label.is-wide, .pw-definition-grid .is-wide, .pw-claim-actions > div { grid-column: auto; }
  .pw-request-hero, .pw-page-actions, .pw-claim-prompt { align-items: stretch; flex-direction: column; }
  .pw-notification { grid-template-columns: 8px minmax(0,1fr); }
  .pw-notification-actions { grid-column: 2; }
  .pw-preference-row { grid-template-columns: 1fr; }
  .pw-delivery-settings, .pw-standard-grid, .pw-account-grid { grid-template-columns: 1fr; }
  .pw-preference-row > strong { grid-column: auto; }
  .pw-status-card { grid-template-columns: 1fr; }
  .pw-status-card > div { border-right: 0; border-bottom: 1px solid var(--pw-line); }
  .pw-status-card > div:last-child { border-bottom: 0; }
  .pw-message { width: 95%; }
  .pw-claim-evidence dl { grid-template-columns: 1fr 1fr; }
  .pw-job-list > article { grid-template-columns: minmax(0,1fr) auto; }
  .pw-job-list > article form { grid-column: 1 / -1; }
  .pw-accessibility-list article > header { flex-direction: column; }
  .pw-accessibility-form { grid-template-columns: 1fr; }
  .pw-accessibility-form .is-wide { grid-column: auto; }
  .pw-permission-list form { grid-template-columns: 1fr; }
}
