/* Customer workspace: solid surfaces, clear actions and separate financial states. */
.cp-customer { --cp-text:#182230; --cp-muted:#536174; --cp-line:#dce2eb; color:var(--cp-text); background:#f6f7fb; min-height:calc(100vh - 72px); padding:40px 24px 72px; overflow-wrap:anywhere; }
.cp-customer[hidden] { display:none!important; }
.cp-workspace-container { max-width:1240px; margin:0 auto; }
.cp-workspace-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:30px; }
.cp-workspace-heading h1 { color:var(--cp-text); font-size:clamp(1.8rem,3vw,2.6rem); line-height:1.2; margin:5px 0 10px; letter-spacing:-.035em; }
.cp-workspace-heading p { color:var(--cp-muted); max-width:620px; line-height:1.65; }
.cp-workspace-heading .cp-eyebrow { color:#244bff; text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; font-weight:800; }
.cp-layout { display:grid; grid-template-columns:clamp(210px,13.125rem,35%) minmax(0,1fr); gap:26px; align-items:start; }
.cp-navigation { position:sticky; top:calc(var(--site-header-height,76px) + 24px); display:flex; flex-direction:column; gap:7px; max-height:calc(100dvh - var(--site-header-height,76px) - 48px); overflow-y:auto; scroll-padding-block:10px; border:1px solid var(--cp-line); border-radius:14px; padding:10px; background:#fff; }
.cp-navigation > * { flex-shrink:0; }
.cp-navigation a,.cp-navigation button { display:block; min-width:0; max-width:100%; font:inherit; font-size:.9375rem; line-height:1.5; color:var(--cp-muted); background:transparent; border:1px solid transparent; border-radius:10px; padding:12px 14px; text-decoration:none; text-align:left; cursor:pointer; min-height:46px; }
.cp-navigation a:hover,.cp-navigation button:hover { color:#1738ce; background:#edf1ff; }
.cp-navigation a[aria-current=page] { color:#fff; font-weight:700; background:#244bff; border-color:#244bff; box-shadow:none; }
.cp-navigation button { margin-top:9px; border-top-color:var(--cp-line); border-radius:0 0 10px 10px; }
.cp-main { min-width:0; }
.cp-summary { display:grid; grid-template-columns:1.2fr .85fr 1fr; gap:22px; border:1px solid var(--cp-line); border-radius:14px; padding:26px; margin-bottom:30px; background:#fff; }
.cp-summary > div { min-width:0; }
.cp-summary > div > span { display:block; font-size:.8125rem; line-height:1.55; color:var(--cp-muted); margin-bottom:10px; }
.cp-summary strong { font-size:1.2rem; line-height:1.4; color:var(--cp-text); font-weight:750; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.cp-summary > div:first-child strong { font-size:1.8rem; letter-spacing:-.03em; }
.cp-summary small { display:inline-block; max-width:100%; color:var(--cp-muted); font-size:.8125rem; font-weight:500; white-space:normal; letter-spacing:normal; }
.cp-summary > p { grid-column:1/-1; font-size:.8125rem; color:var(--cp-muted); line-height:1.65; margin:0; padding-top:18px; border-top:1px solid var(--cp-line); }
.cp-summary > p:only-child { padding-top:0; border:0; }
.cp-section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.cp-section-heading h2 { color:var(--cp-text); font-size:1.5rem; line-height:1.35; margin:0; letter-spacing:-.02em; }
.cp-help { color:var(--cp-muted); font-size:.875rem; line-height:1.7; margin:12px 0; overflow-wrap:anywhere; }
.cp-customer .cp-button { display:inline-flex; justify-content:center; align-items:center; min-width:0; max-width:100%; min-height:46px; padding:11px 16px; border:1px solid #244bff; border-radius:10px; background:#244bff; color:#fff; font:inherit; font-size:.875rem; font-weight:650; line-height:1.4; white-space:normal; cursor:pointer; text-align:center; text-decoration:none; box-shadow:none; }
.cp-customer .cp-button:hover { background:#1738ce; border-color:#1738ce; }
.cp-customer .cp-button-secondary { color:#182230; background:#fff; border-color:#7b899c; }
.cp-customer .cp-button-secondary:hover { color:#1738ce; background:#edf1ff; border-color:#244bff; }
.cp-customer .cp-button-quiet { color:#1738ce; border-color:transparent; background:transparent; text-decoration:underline; text-underline-offset:4px; }
.cp-customer .cp-button-quiet:hover { background:#edf1ff; border-color:transparent; }
.cp-customer .cp-button-danger { background:#b42318; border-color:#b42318; color:#fff; }
.cp-customer .cp-button-danger:hover { background:#8e1c13; border-color:#8e1c13; }
.cp-customer .cp-button:disabled { color:#536174; background:#e7ebf2; border-color:#cbd3df; opacity:1; cursor:not-allowed; }
.cp-customer :is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid #244bff; outline-offset:3px; }
.cp-customer :is(h1,h2)[tabindex]:focus-visible { outline:2px solid #244bff; outline-offset:6px; border-radius:3px; }
.cp-filters { display:flex; align-items:flex-end; gap:12px; flex-wrap:wrap; margin:22px 0 12px; padding:20px; background:#fff; border:1px solid var(--cp-line); border-radius:12px; }
.cp-filters > label { flex:1 1 220px; min-width:0; }
.cp-customer label { display:flex; flex-direction:column; gap:8px; font-size:.875rem; color:var(--cp-text); font-weight:650; }
.cp-customer input,.cp-customer select,.cp-customer textarea { width:100%; min-width:0; min-height:46px; padding:11px 12px; color:var(--cp-text); background:#fff; border:1px solid #7b899c; border-radius:10px; font:inherit; font-size:1rem; line-height:1.5; color-scheme:light; }
.cp-customer input::placeholder,.cp-customer textarea::placeholder { color:var(--cp-muted); opacity:1; }
.cp-customer textarea { min-height:140px; resize:vertical; }
.cp-customer label[hidden] { display:none!important; }
.cp-cards { display:grid; gap:20px; }
.cp-card { background:#fff; border:1px solid var(--cp-line); border-radius:14px; padding:26px; min-width:0; }
.cp-card-heading { display:flex; align-items:center; gap:14px; margin-bottom:18px; min-width:0; }
.cp-card-heading > div { min-width:0; }
.cp-card-heading h3 { color:var(--cp-text); font-size:1.125rem; line-height:1.5; overflow-wrap:anywhere; margin:0; letter-spacing:-.015em; }
.cp-service-icon { display:grid; place-items:center; flex-shrink:0; width:46px; height:46px; border-radius:10px; background:transparent; color:#244bff; }
.cp-service-icon > svg { width:25px; height:25px; }
.cp-service-icon .service-mark { width:46px; height:46px; }
.cp-service-icon .service-mark svg { width:30px; height:30px; }
.cp-price { color:var(--cp-text); font-size:1.75rem; font-weight:800; margin:8px 0 22px; line-height:1.4; letter-spacing:-.025em; font-variant-numeric:tabular-nums; }
.cp-price > span { display:inline-block; max-width:100%; font-size:.875rem; color:var(--cp-muted); font-weight:500; white-space:normal; letter-spacing:normal; }
.cp-state-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:22px; padding:18px 0; border-top:1px solid var(--cp-line); border-bottom:1px solid var(--cp-line); }
.cp-state-list > div { min-width:0; }
.cp-state-list dt,.cp-facts dt { font-size:.8125rem; color:var(--cp-muted); margin-bottom:8px; line-height:1.5; }
.cp-state-list dd { margin:0; }
.cp-status { display:inline-flex; align-items:center; min-width:0; max-width:100%; gap:6px; font-size:.8125rem; line-height:1.5; padding:6px 9px; border:1px solid transparent; border-radius:8px; font-weight:650; overflow-wrap:anywhere; }
.cp-status > span { flex-shrink:0; }
.cp-status-confirmed { color:#137547; border-color:#a9d8bd; background:#e8f7ee; }
.cp-status-waiting { color:#925000; border-color:#e7c47e; background:#fff4d8; }
.cp-status-failure { color:#b42318; border-color:#e6a29c; background:#fff0ed; }
.cp-status-cancelled { color:#536174; border-color:#cbd3df; background:#edf0f5; }
.cp-status-information { color:#1738ce; border-color:#abb9ff; background:#edf1ff; }
.cp-test { display:inline-block; margin-top:6px; font-size:.75rem; font-weight:700; line-height:1.5; color:#925000; background:#fff4d8; border:1px solid #e7c47e; border-radius:6px; padding:3px 8px; }
.cp-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 26px; margin:20px 0; }
.cp-facts > div { min-width:0; }
.cp-facts dd { color:var(--cp-text); font-size:.9375rem; line-height:1.65; margin:0; overflow-wrap:anywhere; }
.cp-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:22px; }
.cp-inline-status { color:#1738ce; font-size:.875rem; line-height:1.7; margin-top:12px; overflow-wrap:anywhere; }
.cp-inline-status:empty,.cp-inline-error:empty { display:none; }
.cp-inline-error { padding:14px; border-radius:10px; border:1px solid #e6a29c; background:#fff0ed; color:#b42318; font-size:.875rem; line-height:1.65; margin-top:14px; }
.cp-confirmation,.cp-refund-form { padding:22px; margin-top:20px; background:#f6f7fb; border:1px solid #dce2eb; border-radius:12px; }
.cp-confirmation { border-color:#e7c47e; background:#fffaf0; }
.cp-confirmation h4,.cp-refund-form h3 { color:var(--cp-text); font-size:1.0625rem; margin:0 0 12px; line-height:1.5; }
.cp-confirmation > p { color:var(--cp-muted); font-size:.9375rem; line-height:1.7; }
.cp-refund-context { border-bottom:1px solid var(--cp-line); margin:22px 0; padding-bottom:8px; }
.cp-refund-context .cp-card-heading { margin-bottom:12px; }
.cp-record { border-top:1px solid var(--cp-line); margin-top:22px; padding-top:10px; }
.cp-record summary { color:#1738ce; padding:12px 3px; font-size:.875rem; line-height:1.5; cursor:pointer; min-height:44px; font-weight:650; }
.cp-response { margin-top:20px; padding:18px; background:#f6f7fb; border:1px solid var(--cp-line); border-left:3px solid #244bff; border-radius:10px; }
.cp-response h4 { color:var(--cp-text); font-size:.9375rem; margin:0 0 9px; }
.cp-response p { color:var(--cp-muted); font-size:.9375rem; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; margin:0; }
.cp-pagination { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:15px; margin-top:26px; font-size:.875rem; color:var(--cp-muted); }
.cp-pagination[hidden] { display:none; }
.cp-notice { padding:30px; background:#fff; border:1px solid var(--cp-line); border-radius:14px; }
.cp-notice h3 { color:var(--cp-text); font-size:1.125rem; margin:0 0 11px; line-height:1.5; }
.cp-notice p { font-size:.9375rem; line-height:1.75; color:var(--cp-muted); margin:0 0 20px; }
.cp-notice-failure { border-color:#e6a29c; background:#fff0ed; }
.cp-notice-failure h3 { color:#b42318; }
.cp-skeleton { padding:26px; border:1px solid var(--cp-line); border-radius:14px; background:#fff; min-height:200px; }
.cp-skeleton span { display:block; height:17px; width:75%; background:#e7ebf2; border-radius:6px; margin:14px 0 25px; }
.cp-skeleton span:first-child { width:45%; height:26px; }
@media (max-width:1000px) {
  .cp-layout { grid-template-columns:190px minmax(0,1fr); gap:20px; }
  .cp-summary { grid-template-columns:1fr 1fr; }
  .cp-summary > div:first-child { grid-column:1/-1; }
  .cp-state-list { grid-template-columns:1fr; gap:12px; }
  .cp-state-list > div { display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .cp-state-list dt { margin:0; flex-basis:35%; }
  .cp-state-list dd { text-align:right; }
}
@media (max-width:900px) {
  .cp-layout { grid-template-columns:1fr; gap:22px; }
  .cp-navigation { position:static; max-height:none; overflow:visible; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
  .cp-navigation a { text-align:center; padding:11px 6px; font-size:.875rem; }
  .cp-navigation button { grid-column:1/-1; margin-top:0; min-height:44px; text-align:center; font-size:.875rem; padding:9px; }
}
@media (max-width:620px) {
  .cp-customer { padding:28px 16px 48px; }
  .cp-workspace-heading { align-items:flex-start; flex-direction:column; gap:16px; margin-bottom:22px; }
  .cp-summary { padding:20px; gap:20px 18px; }
  .cp-summary strong { font-size:1.0625rem; }
  .cp-summary > div:first-child strong { font-size:1.8rem; }
  .cp-section-heading { align-items:center; flex-wrap:wrap; gap:12px; }
  .cp-section-heading h2 { font-size:1.375rem; }
  .cp-section-heading .cp-button { padding:10px 12px; font-size:.8125rem; }
  .cp-card { padding:22px 18px; }
  .cp-facts { grid-template-columns:1fr; gap:16px; }
  .cp-confirmation,.cp-refund-form { padding:18px 14px; }
  .cp-actions .cp-button { flex:1 1 180px; }
  .cp-filters { padding:18px 14px; gap:14px 10px; }
  .cp-filters > label { flex-basis:100%; }
  .cp-filters > .cp-button { flex:1 1 100px; }
  .cp-navigation { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cp-navigation a { font-size:.875rem; padding:11px 6px; }
  .cp-notice { padding:24px 20px; }
  .cp-pagination > span { order:-1; flex-basis:100%; text-align:center; }
  .cp-pagination .cp-button { flex:1 1 7rem; }
}
@media (max-width:360px) {
  .cp-customer { padding-inline:12px; }
  .cp-summary { grid-template-columns:1fr; }
  .cp-card { padding:20px 15px; }
  .cp-state-list > div { display:block; }
  .cp-state-list dt { margin-bottom:6px; }
  .cp-state-list dd { text-align:left; }
  .cp-pagination { gap:8px; }
  .cp-pagination .cp-button { padding-inline:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .cp-customer *,.cp-customer *::before,.cp-customer *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
@media (max-height:600px) {
  .cp-navigation { position:static; max-height:none; overflow:visible; }
}
