:root{--jsa-so-brand:#1abc9c;--jsa-so-brand-dark:#169f87;--jsa-so-text:#0e3d5c;--jsa-so-border:#e2e8f0;--jsa-so-bg:#f9fbfc;--jsa-so-radius:8px;--jsa-so-shadow:0 2px 8px rgba(0,0,0,.06);--jsa-so-blue:#318fff}.jsa-so-shell{max-width:1180px;margin:0 auto;background:#fff;color:#0f172a;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.jsa-so-shell.is-embedded{max-width:none;margin:0}.jsa-so-header h1{font-size:1.45rem;color:#003b63;margin:16px 0 18px;font-weight:800}.jsa-so-card{background:var(--jsa-so-bg);box-shadow:0 1px 4px rgba(0,0,0,.04)}.jsa-so-tabs{display:flex;gap:1rem;padding:.75rem 1.25rem;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.04);border:0;font-size:.9rem}.jsa-so-tab{display:flex;align-items:center;gap:.45rem;padding:.55rem 1.15rem;border:0;border-radius:8px;background:none;cursor:pointer;color:#2f2f2f;transition:background .2s,color .2s,box-shadow .2s}.jsa-so-tab:hover:not(.active){background:#f3f8f8}.jsa-so-tab.active{background:var(--jsa-so-brand);color:#fff;box-shadow:var(--jsa-so-shadow)}.jsa-so-tab i{font-size:1rem}.jsa-so-badge,.jsa-so-status-badge{background:#cbd5e1;color:#fff;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700;margin-left:4px}.jsa-so-status-badge{background:#cbd5e1}.jsa-so-mobile-tabs{display:none;width:100%;padding:.6rem;font-size:1rem;border:0;border-bottom:1px solid var(--jsa-so-border);border-radius:0;background:#fff}.jsa-so-content{padding:2rem 1.75rem;min-height:0}.jsa-so-panel.hidden{display:none}@media(max-width:768px){.jsa-so-tabs{display:none}.jsa-so-mobile-tabs{display:block}.jsa-so-content{padding:1rem}}.block-title{margin:2rem 0 .85rem;font-size:1.25rem;color:var(--jsa-so-text);display:flex;align-items:center;gap:.55rem;font-weight:700}.block-title:before{content:'';width:9px;height:9px;background:var(--jsa-so-brand);border-radius:50%}.block-title:first-of-type{margin-top:0}.card,.service-group,.grid-card,.jsa-so-form-card,.comment-card{background:#fff;border:1px solid var(--jsa-so-border);border-radius:var(--jsa-so-radius);padding:1.25rem 1.5rem;margin:1.3rem 0;box-shadow:0 1px 4px rgba(0,0,0,.04)}.form-row,.form-row-3{display:grid;gap:1.1rem 1.4rem}.form-row{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.form-row-3,.grid-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem 1.5rem}.form-field{display:flex;flex-direction:column}.form-field label{font-weight:600;margin-bottom:.4rem;color:#374151}.form-field input,.form-field select,.form-field textarea,.service-item input,.service-item select,.request-doc-row textarea,.request-doc-row select{padding:.6rem .85rem;border:1px solid var(--jsa-so-border);border-radius:var(--jsa-so-radius);font-size:.95rem;background:#fff;transition:border-color .2s,box-shadow .2s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--jsa-so-brand);outline:none;box-shadow:0 0 0 3px rgba(26,188,156,.16)}.group-title{margin:0 0 1rem;font-weight:700;color:var(--jsa-so-text);font-size:1.05rem}.service-grid{display:grid;gap:1rem 1.4rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.service-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .9rem;border:1px solid var(--jsa-so-border);border-radius:var(--jsa-so-radius);box-shadow:0 1px 4px rgba(0,0,0,.04)}.service-item.field-full{align-items:stretch;flex-direction:column}.service-item input[type=number]{width:95px;flex:0 0 auto}.service-icon{margin-right:.5rem;color:var(--jsa-so-brand);font-size:1rem;vertical-align:middle}.purpose-grid{display:flex;flex-wrap:wrap;gap:1.25rem;padding:.5rem 0}.form-actions{text-align:left;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--jsa-so-border);display:flex;gap:1rem}.btn{display:inline-flex!important;align-items:center!important;gap:8px!important;border:1px solid transparent!important;border-radius:6px!important;padding:8px 12px!important;font-weight:700!important;font-size:14px!important;cursor:pointer!important;text-decoration:none!important}.btn-primary{background:var(--jsa-so-brand)!important;color:#fff!important}.btn-primary:hover{background:var(--jsa-so-brand-dark)!important}.btn-secondary{background:#e8f4f8!important;color:#075985!important;border-color:#bfe3ee!important}.btn-danger{background:#ef4444!important;color:#fff!important}.btn-muted{background:#e5eef3!important;color:#0f172a!important}.btn-green{background:#22c55e!important;color:#fff!important}.btn-sm{font-size:.82rem!important;padding:6px 10px!important}.styled-table,.assoc-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08);border-radius:8px;overflow:hidden;margin:1rem 0}.styled-table th,.assoc-table th{padding:1rem 1.1rem;background:#318fff!important;color:#fff!important;text-align:left}.assoc-table th{background:#2da4c8!important}.styled-table td,.assoc-table td{padding:.9rem 1.1rem;border-bottom:1px solid #e5e7eb}.styled-table tbody tr:nth-of-type(even),.assoc-table tbody tr:nth-of-type(even){background:#f3f3f3}.table-search{width:100%;padding:.75rem 1rem;border:1px solid var(--jsa-so-border);border-radius:6px;margin:1rem 0;background:#eef2f6}.payments-header{display:flex;align-items:center;justify-content:space-between}.payments-header h2{font-size:2rem;margin:0 0 1rem;color:#333}.total-chip{background:#0f4a7a;color:#fff;padding:12px 16px;border-radius:10px;box-shadow:var(--jsa-so-shadow);display:flex;gap:12px;align-items:center}.chip-value{background:rgba(255,255,255,.16);border-radius:6px;padding:4px 8px;font-weight:800}.payments-toolbar,.docs-toolbar,.assoc-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 12px}.request-doc-row{display:flex;align-items:center;gap:10px;margin:10px 0}.request-doc-row textarea{flex:1;min-height:52px}.documents-title{font-size:1.8rem;font-weight:800;color:var(--jsa-so-brand);margin-bottom:1rem}.comment-thread{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.comment-row{background:#fff;border:1px solid var(--jsa-so-border);border-left:5px solid transparent;border-radius:var(--jsa-so-radius);padding:1rem 1.25rem;box-shadow:0 1px 4px rgba(0,0,0,.04)}.comment-row:hover{box-shadow:var(--jsa-so-shadow);border-left-color:var(--jsa-so-brand)}.comment-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.comment-type{display:inline-block;font-size:.75rem;font-weight:700;padding:.35rem .75rem;border-radius:999px;text-transform:uppercase;letter-spacing:.5px;background:#eaf1f8;color:#0e3a60;border:1px solid #0e3a60}.comment-author{display:inline-flex;align-items:center;font-size:.85rem;background:#f4f6f8;color:#0e3a60;padding:.35rem .75rem;border-radius:999px;font-weight:500;gap:.4rem}.comment-date{font-size:.75rem;color:#6b7280;font-style:italic;text-align:right}.comment-text{font-size:1rem;color:#374151;line-height:1.45;margin-top:.75rem}.jsa-so-modal{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center}.jsa-so-modal[hidden]{display:none}.jsa-so-modal-content{position:relative;background:#fff;width:96vw;height:96vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.25);overflow:hidden}.jsa-so-modal-close{position:absolute;top:8px;right:12px;z-index:3;border:0;background:#fff;font-size:28px;line-height:1;cursor:pointer}.jsa-so-modal iframe{border:0;width:100%;height:100%}.jsa-so-modal-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fff;z-index:2}.jsa-so-modal-loader.is-hidden{display:none}.loader-circle{width:34px;height:34px;border-radius:50%;border:4px solid rgba(0,0,0,.15);border-top-color:var(--jsa-so-brand);animation:jsaSoSpin .8s linear infinite}@keyframes jsaSoSpin{to{transform:rotate(360deg)}}.jsa-so-toast{position:fixed;right:18px;bottom:18px;z-index:999999}.jsa-so-toast .toast{background:#111827;color:#fff;padding:10px 14px;border-radius:10px;box-shadow:0 8px 20px rgba(0,0,0,.18);margin-top:8px}.jsa-so-alert,.jsa-so-notice{padding:12px 14px;border-radius:8px;margin:1rem 0}.jsa-so-alert-error{background:#fff1f2;color:#b91c1c;border:1px solid #fecdd3}.jsa-so-notice-warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}@media(max-width:900px){.styled-table thead,.assoc-table thead{display:none}.styled-table,.styled-table tbody,.styled-table tr,.styled-table td,.assoc-table,.assoc-table tbody,.assoc-table tr,.assoc-table td{display:block;width:100%}.styled-table tr,.assoc-table tr{border:1px solid #e5e7eb;border-radius:6px;margin-bottom:10px}.styled-table td,.assoc-table td{border:none;border-bottom:1px solid #f1f5f9}.service-item{display:block}.service-item input[type=number]{width:100%;margin-top:.4rem}.request-doc-row{display:block}.request-doc-row textarea,.request-doc-row select{width:100%;margin-bottom:8px}}

/* v1.0.2 Required Docs badge state colors: gray when none, red when any docs are missing, teal when complete. */
.jsa-so-badge.jsa-so-required-docs-badge.is-empty{background:#cbd5e1!important;color:#fff!important;}
.jsa-so-badge.jsa-so-required-docs-badge.is-missing{background:#e74c3c!important;color:#fff!important;}
.jsa-so-badge.jsa-so-required-docs-badge.is-complete{background:#6BC3D0!important;color:#fff!important;}
.documents-title .md-count.is-empty{color:#94a3b8;}
.documents-title .md-count.is-missing{color:#e74c3c;}
.documents-title .md-count.is-complete{color:#0ea5b7;}

/* v1.0.4 required-doc action loading states */
.jsa-so-shell .btn.is-loading,
.jsa-so-shell button.is-loading {
  position: relative;
  pointer-events: none;
  opacity: 0.78;
}
.jsa-so-shell .btn.is-loading::before,
.jsa-so-shell button.is-loading::before {
  content: "";
  display: inline-block;
  width: 0.85em;
  height: 0.85em;
  margin-right: 0.45em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 999px;
  vertical-align: -0.12em;
  animation: jsaSoSpin 0.7s linear infinite;
}
.jsa-so-shell form.is-loading textarea,
.jsa-so-shell form.is-loading select,
.jsa-so-shell form.is-loading input {
  opacity: 0.65;
}
@keyframes jsaSoSpin { to { transform: rotate(360deg); } }

/* v1.0.5 Service Order operations redesign */
.jsa-so-shell{max-width:none;width:100%;}
.jsa-so-content{max-width:none;}
.jsa-so-content > #overview.jsa-so-panel{max-width:none;background:transparent;border:0;box-shadow:none;padding:0;}
.jsa-so-overview-workspace{width:min(100%,1600px);margin:0 auto;}
.jsa-so-overview-form{margin:0;}
.jsa-so-sticky-summary{position:sticky;top:var(--jsa-so-sticky-offset,0);z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border:1px solid #dce3ec;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.08);padding:12px 16px;margin-bottom:18px;}
.jsa-so-summary-main{display:flex;align-items:center;gap:10px;min-width:220px;flex-wrap:wrap;}
.jsa-so-summary-kicker{display:block;width:100%;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:800;line-height:1;}
.jsa-so-summary-title{font-size:1.18rem;font-weight:850;color:#0e3d5c;}
.jsa-so-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;background:#e8f4f8;color:#075985;font-weight:800;font-size:.78rem;border:1px solid #bfe3ee;}
.jsa-so-summary-money{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;}
.jsa-so-summary-money span{display:inline-flex;align-items:center;gap:5px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:7px 10px;color:#475569;font-size:.86rem;}
.jsa-so-summary-money strong{color:#0f172a;font-size:.95rem;}
.jsa-so-summary-money .is-due{background:#fff1f1;border-color:#fecaca;color:#991b1b;}
.jsa-so-summary-money .is-due strong{color:#b91c1c;}
.jsa-so-summary-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:220px;}
.jsa-so-save-state{font-size:.82rem;font-weight:800;border-radius:999px;padding:5px 9px;background:#eef2f7;color:#475569;white-space:nowrap;}
.jsa-so-save-state.is-dirty{background:#fff7ed;color:#c2410c;}
.jsa-so-save-state.is-saving{background:#eff6ff;color:#1d4ed8;}
.jsa-so-save-state.is-error{background:#fef2f2;color:#b91c1c;}
.jsa-so-save-state.is-saved{background:#ecfdf5;color:#047857;}
.jsa-so-save-btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:10px;background:#1abc9c;color:#fff;padding:10px 14px;font-weight:850;cursor:pointer;box-shadow:0 6px 16px rgba(26,188,156,.22);}
.jsa-so-save-btn:hover{background:#169f87;}
.jsa-so-save-btn.is-dirty{background:#0e3d5c;}
.jsa-so-save-btn.is-loading{opacity:.78;pointer-events:none;}
.jsa-so-overview-top-grid{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(460px,1.1fr);gap:16px;align-items:stretch;margin-bottom:16px;}
.jsa-so-inner-panel{background:#fff;border:1px solid #dce3ec;border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.04);padding:16px;}
.jsa-so-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.jsa-so-panel-heading h3{margin:0;color:#0e3d5c;font-size:1.05rem;font-weight:850;}
.jsa-so-core-grid{display:grid;grid-template-columns:minmax(210px,1.1fr) repeat(4,minmax(135px,1fr));gap:10px;align-items:end;}
.jsa-so-core-grid .form-field label{font-size:.82rem;margin-bottom:.28rem;color:#475569;}
.jsa-so-core-grid .form-field input,.jsa-so-core-grid .form-field select{min-height:38px;padding:.48rem .65rem;}
.jsa-so-purpose-flags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.jsa-so-chip-toggle{cursor:pointer;}
.jsa-so-chip-toggle input{position:absolute;opacity:0;pointer-events:none;}
.jsa-so-chip-toggle span{display:inline-flex;align-items:center;justify-content:center;border:1px solid #dce3ec;border-radius:999px;background:#f8fafc;color:#334155;padding:7px 12px;font-weight:850;font-size:.82rem;transition:all .18s ease;}
.jsa-so-chip-toggle.is-selected span,.jsa-so-chip-toggle input:checked + span{background:#e7fbf6;border-color:#1abc9c;color:#0f766e;box-shadow:0 3px 8px rgba(26,188,156,.12);}
.jsa-so-selected-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;border-radius:999px;background:#1abc9c;color:#fff;font-weight:850;font-size:.78rem;}
.jsa-so-selected-list{display:grid;gap:8px;max-height:234px;overflow:auto;padding-right:4px;}
.jsa-so-selected-empty{border:1px dashed #cbd5e1;border-radius:12px;padding:16px;text-align:center;color:#64748b;background:#f8fafc;font-weight:700;}
.jsa-so-selected-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px;background:#f8fafc;font-size:.9rem;}
.jsa-so-selected-item span{display:inline-flex;align-items:center;gap:8px;color:#0e3d5c;font-weight:800;}
.jsa-so-selected-item i{color:#1abc9c;}
.jsa-so-selected-item strong{white-space:nowrap;color:#111827;}
.jsa-so-service-finder{margin-bottom:16px;}
.jsa-so-service-search-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.jsa-so-service-search{min-width:260px;flex:1;border:1px solid #dce3ec;border-radius:12px;padding:10px 12px;background:#fff;font-size:.95rem;}
.jsa-so-service-search:focus{outline:none;border-color:#1abc9c;box-shadow:0 0 0 3px rgba(26,188,156,.14);}
.jsa-so-service-filter-buttons{display:flex;gap:7px;flex-wrap:wrap;}
.jsa-so-service-filter-buttons button{border:1px solid #dce3ec;border-radius:999px;background:#fff;color:#334155;padding:8px 11px;font-weight:800;cursor:pointer;}
.jsa-so-service-filter-buttons button.active{background:#0e3d5c;color:#fff;border-color:#0e3d5c;}
.jsa-so-service-groups{display:grid;gap:14px;}
.jsa-so-service-group{background:#fff;border:1px solid #dce3ec;border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.04);overflow:hidden;}
.jsa-so-service-group[hidden]{display:none!important;}
.jsa-so-service-group-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#f8fafc;border-bottom:1px solid #e2e8f0;}
.jsa-so-service-group-header h3{margin:0;color:#0e3d5c;font-size:1rem;font-weight:850;}
.jsa-so-service-group-header span{color:#64748b;font-size:.8rem;font-weight:800;}
.jsa-so-group-toggle{border:1px solid #dce3ec;background:#fff;border-radius:8px;padding:7px 10px;font-weight:800;color:#0e3d5c;cursor:pointer;}
.jsa-so-service-group.is-collapsed .jsa-so-dense-service-grid,.jsa-so-service-group.is-collapsed .jsa-so-translation-grid{display:none;}
.jsa-so-dense-service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;padding:14px;}
.jsa-so-service-card{min-height:62px;display:grid;grid-template-columns:1fr 82px;gap:8px;align-items:center;border:1px solid #dce3ec;border-radius:12px;padding:9px 10px;background:#fff;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;}
.jsa-so-service-card[hidden]{display:none!important;}
.jsa-so-service-card.is-selected{border-color:#1abc9c;background:#f0fdfa;box-shadow:0 4px 12px rgba(26,188,156,.12);}
.jsa-so-service-card-main{display:grid;grid-template-columns:auto 22px 1fr;gap:7px;align-items:center;min-width:0;cursor:pointer;}
.jsa-so-service-card-main input{margin:0;}
.jsa-so-service-icon{color:#1abc9c;text-align:center;}
.jsa-so-service-label{font-size:.86rem;font-weight:850;color:#0f172a;line-height:1.15;overflow:hidden;text-overflow:ellipsis;}
.jsa-so-service-cost{width:82px;padding:8px;border-radius:8px;border:1px solid #dce3ec;text-align:right;font-size:.88rem;}
.jsa-so-no-cost{color:#94a3b8;text-align:center;font-weight:800;}
.jsa-so-translation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;padding:14px;}
.jsa-so-translation-grid .form-field[hidden]{display:none!important;}
.jsa-so-translation-grid .form-field{border:1px solid #dce3ec;border-radius:12px;background:#fff;padding:10px;}
.jsa-so-translation-grid .form-field label{font-size:.78rem;color:#475569;font-weight:850;margin-bottom:5px;}
.jsa-so-translation-grid .form-field input,.jsa-so-translation-grid .form-field select{width:100%;padding:8px;border-radius:8px;border:1px solid #dce3ec;}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;}
@media(max-width:1100px){.jsa-so-overview-top-grid{grid-template-columns:1fr}.jsa-so-core-grid{grid-template-columns:repeat(2,minmax(160px,1fr));}.jsa-so-field-service-type{grid-column:1/-1;}.jsa-so-sticky-summary{flex-direction:column;align-items:stretch}.jsa-so-summary-actions{justify-content:space-between;min-width:0}.jsa-so-summary-money{justify-content:flex-start}}
@media(max-width:680px){.jsa-so-content{padding:.75rem}.jsa-so-core-grid{grid-template-columns:1fr}.jsa-so-dense-service-grid,.jsa-so-translation-grid{grid-template-columns:1fr}.jsa-so-service-search{min-width:100%}.jsa-so-service-card{grid-template-columns:1fr}.jsa-so-service-cost{width:100%}.jsa-so-sticky-summary{top:0;border-radius:10px}.jsa-so-summary-money span{width:100%;justify-content:space-between}}

/* v1.0.6 workspace alignment and scroll-region refinement */
:root{
  --jsa-so-workspace-max: 1880px;
  --jsa-so-workspace-gutter: 40px;
  --jsa-so-command-top: 0px;
  --jsa-so-service-scroll-offset: 500px;
}
.jsa-so-shell,
.jsa-so-shell.is-embedded{
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  background: #fff;
}
.jsa-so-header,
.jsa-so-card{
  width: min(calc(100vw - var(--jsa-so-workspace-gutter)), var(--jsa-so-workspace-max));
  margin-inline: auto;
}
.jsa-so-header h1{
  margin: 16px 0 18px;
  padding: 0;
  line-height: 1.15;
}
.jsa-so-card{
  background: #fff;
}
.jsa-so-tabs{
  justify-content: center;
  gap: clamp(.45rem, 1.1vw, 1.25rem);
  padding-inline: clamp(.75rem, 1.4vw, 1.5rem);
}
.jsa-so-content{
  max-width: none !important;
  width: 100%;
  padding: 1.25rem 0 1.5rem;
}
.jsa-so-panel#overview,
.jsa-so-panel[id="overview"]{
  max-width: none !important;
  width: 100%;
}
.jsa-so-overview-workspace{
  width: min(calc(100vw - var(--jsa-so-workspace-gutter)), var(--jsa-so-workspace-max));
  margin-inline: auto;
}
.jsa-so-overview-command{
  position: sticky;
  top: var(--jsa-so-command-top);
  z-index: 30;
  background: #f6f9fc;
  padding: 0 0 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid rgba(226,232,240,.72);
}
.jsa-so-sticky-summary{
  position: relative;
  top: auto;
  margin-bottom: 14px;
}
.jsa-so-overview-top-grid{
  grid-template-columns: minmax(780px, 1.15fr) minmax(520px, .85fr);
  gap: 14px;
  margin-bottom: 12px;
}
.jsa-so-core-panel,
.jsa-so-selected-panel{
  min-width: 0;
}
.jsa-so-core-grid{
  grid-template-columns: minmax(210px,1.2fr) repeat(4,minmax(138px,1fr));
  gap: 10px;
  min-width: 0;
}
.jsa-so-core-grid .form-field{
  min-width: 0;
}
.jsa-so-core-grid .form-field input,
.jsa-so-core-grid .form-field select{
  width: 100%;
  box-sizing: border-box;
}
.jsa-so-service-finder{
  margin-bottom: 0;
}
.jsa-so-service-scroll-region{
  max-height: calc(100vh - var(--jsa-so-service-scroll-offset));
  min-height: 280px;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 8px 18px 0;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}
.jsa-so-service-scroll-region::-webkit-scrollbar,
.jsa-so-selected-list::-webkit-scrollbar{
  width: 10px;
}
.jsa-so-service-scroll-region::-webkit-scrollbar-thumb,
.jsa-so-selected-list::-webkit-scrollbar-thumb{
  background: #cbd5e1;
  border-radius: 999px;
  border: 2px solid #f6f9fc;
}
.jsa-so-service-groups{
  gap: 12px;
}
.jsa-so-dense-service-grid{
  grid-template-columns: repeat(auto-fill,minmax(200px,1fr));
  gap: 9px;
  padding: 12px;
}
.jsa-so-service-card{
  min-height: 54px;
  grid-template-columns: minmax(0,1fr) 74px;
  padding: 8px 9px;
}
.jsa-so-service-card-main{
  grid-template-columns: auto 20px minmax(0,1fr);
  gap: 6px;
}
.jsa-so-service-cost{
  width: 74px;
  padding: 7px;
}
.jsa-so-service-label{
  font-size: .82rem;
}
.jsa-so-translation-grid{
  grid-template-columns: repeat(auto-fill,minmax(205px,1fr));
  gap: 9px;
  padding: 12px;
}
.jsa-so-selected-list{
  max-height: 188px;
}
@media (min-width: 1500px){
  .jsa-so-service-filter-buttons button{padding:8px 13px;}
}
@media (max-width: 1320px){
  .jsa-so-overview-top-grid{grid-template-columns:1fr;}
  .jsa-so-core-grid{grid-template-columns:minmax(210px,1fr) repeat(2,minmax(150px,1fr));}
  .jsa-so-service-scroll-region{max-height:calc(100vh - 610px);}
}
@media (max-width: 900px), (max-height: 760px){
  :root{--jsa-so-workspace-gutter:24px;}
  .jsa-so-overview-command{position:static;}
  .jsa-so-service-scroll-region{max-height:none;overflow:visible;min-height:0;padding-right:0;}
  .jsa-so-tabs{justify-content:flex-start;overflow-x:auto;}
}
@media (max-width: 680px){
  :root{--jsa-so-workspace-gutter:16px;}
  .jsa-so-header,
  .jsa-so-card,
  .jsa-so-overview-workspace{width:min(calc(100vw - var(--jsa-so-workspace-gutter)), var(--jsa-so-workspace-max));}
  .jsa-so-content{padding:.75rem 0;}
  .jsa-so-core-grid{grid-template-columns:1fr;}
  .jsa-so-dense-service-grid,
  .jsa-so-translation-grid{grid-template-columns:1fr;}
}

/* v1.0.8 Barber's Board state dropdown */
.jsa-so-service-card--barber{
  align-items:start;
}
.jsa-so-service-card--barber .jsa-so-barber-state-wrap{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:auto minmax(170px,1fr) auto;
  gap:8px;
  align-items:center;
  margin-top:2px;
  padding-top:8px;
  border-top:1px dashed #cbd5e1;
}
.jsa-so-service-card--barber .jsa-so-barber-state-wrap[hidden]{display:none!important;}
.jsa-so-service-card--barber .jsa-so-barber-state-wrap label{
  color:#475569;
  font-size:.76rem;
  font-weight:850;
  margin:0;
}
.jsa-so-service-card--barber .jsa-so-barber-state-wrap select{
  min-width:0;
  width:100%;
  border:1px solid #dce3ec;
  border-radius:8px;
  padding:7px 9px;
  background:#fff;
  font-size:.84rem;
}
.jsa-so-service-card--barber.has-barber-state-warning{
  border-color:#f59e0b;
  background:#fffbeb;
}
.jsa-so-selected-item.has-warning{
  border-color:#f59e0b;
  background:#fffbeb;
}
.jsa-so-selected-item.has-warning span{
  color:#92400e;
}
@media(max-width:680px){
  .jsa-so-service-card--barber .jsa-so-barber-state-wrap{grid-template-columns:1fr;}
}


/* v1.1.2 viewport-contained service catalog scrolling
   Base: v1.0.9. Preserve the nested services scroll, but size the overview workspace
   to the visible viewport so the outer page does not need to scroll. */
body.jsa-service-orders-virtual {
  overflow-y: hidden;
}
.jsa-so-panel#overview:not(.hidden),
.jsa-so-panel[id="overview"]:not(.hidden) {
  overflow: hidden;
  min-height: 0;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-form,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-form {
  height: 100%;
  margin: 0;
  min-height: 0;
}
.jsa-so-overview-workspace {
  height: var(--jsa-so-workspace-height, calc(100vh - 180px));
  max-height: var(--jsa-so-workspace-height, calc(100vh - 180px));
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.jsa-so-overview-command {
  flex: 0 0 auto;
  position: relative;
  top: auto;
  z-index: 30;
  margin-bottom: 10px;
}
.jsa-so-service-scroll-region {
  flex: 1 1 auto;
  min-height: 120px;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.jsa-so-service-scroll-region .jsa-so-service-groups {
  padding-bottom: 18px;
}
@media (max-width: 900px) {
  body.jsa-service-orders-virtual {
    overflow-y: auto;
  }
  .jsa-so-overview-workspace {
    height: auto;
    max-height: none;
    overflow: visible;
  }
  .jsa-so-service-scroll-region {
    max-height: none !important;
    overflow: visible !important;
    min-height: 0;
    padding-right: 0;
  }
}

/* v1.1.3 client profile header link */
.jsa-so-header .jsa-so-client-link{color:#003b63;text-decoration:none;border-bottom:2px solid transparent;transition:color .18s ease,border-color .18s ease;}
.jsa-so-header .jsa-so-client-link:hover,.jsa-so-header .jsa-so-client-link:focus{color:#0f766e;border-bottom-color:#1abc9c;outline:none;}

/* v1.1.5 Association tab parity updates */
.assoc-wrap{background:#fff;border:1px solid #dbe3ea;border-radius:6px;padding:16px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.assoc-section{margin-bottom:22px}.assoc-section:last-of-type{margin-bottom:10px}
.assoc-actions{display:flex;justify-content:flex-end;gap:8px;margin:10px 0 18px;flex-wrap:wrap}
.assoc-toolbar{display:flex;justify-content:flex-start;gap:8px;margin:10px 0 18px;flex-wrap:wrap}
.assoc-footer{display:flex;justify-content:flex-start;gap:8px;padding-top:12px;border-top:1px dashed #d7e1ea;flex-wrap:wrap}
.assoc-table{margin:0 0 10px}.assoc-table th{background:#2da4c8!important}.assoc-table td:empty:before{content:'\00a0'}
@media(max-width:900px){.assoc-actions{justify-content:flex-start}.assoc-wrap{padding:12px}}

/* v1.1.6 Association alignment and no-reload refresh support */
.jsa-so-shell .assoc-actions{
  width:100% !important;
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:8px !important;
  margin:10px 0 18px !important;
  text-align:right !important;
}
.jsa-so-shell .assoc-actions .btn{
  margin-left:auto !important;
}
.jsa-so-shell .assoc-toolbar{
  width:100% !important;
  justify-content:flex-start !important;
}
@media(max-width:900px){
  .jsa-so-shell .assoc-actions{
    justify-content:flex-start !important;
    text-align:left !important;
  }
  .jsa-so-shell .assoc-actions .btn{
    margin-left:0 !important;
  }
}

/* v1.1.9 status button visibility fix: .btn uses display!important, so hidden also needs important. */
.jsa-so-shell .btn[hidden],
.jsa-so-shell [data-jsa-so-assoc-status][hidden]{display:none!important;}

/* v1.2.0 assigned worker row modal affordance */
.assoc-table .assoc-row[data-row-url]{cursor:pointer;transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease;}
.assoc-table .assoc-row[data-row-url]:hover{background:#eaf8fb!important;box-shadow:inset 4px 0 0 var(--jsa-so-brand);}
.assoc-table .assoc-row[data-row-url]:focus{outline:3px solid rgba(26,188,156,.25);outline-offset:-3px;background:#eaf8fb!important;}
.assoc-table .assoc-row[data-row-url] td:first-child{font-weight:700;color:#0e3d5c;}


/* v1.2.1 Translation document cards */
.translation-table td[data-label="View"]{min-width:280px;}
.jsa-so-shell .document-card.translation-document-card,
.jsa-so-shell .translation-document-card{display:flex!important;align-items:center;gap:12px;width:100%;max-width:520px;padding:12px 14px;border:1px solid #dce3ec;border-radius:12px;background:#fff;color:#0f172a!important;text-decoration:none!important;box-shadow:0 2px 8px rgba(15,23,42,.06);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
.jsa-so-shell .translation-document-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,23,42,.10);border-color:#1abc9c;}
.jsa-so-shell .translation-document-card .file-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;font-size:1.35rem;flex:0 0 auto;}
.jsa-so-shell .translation-document-card .file-icon.pdf{background:#fff1f2;color:#dc2626;}
.jsa-so-shell .translation-document-card .file-icon.doc{background:#eff6ff;color:#2563eb;}
.jsa-so-shell .translation-document-card .file-info{display:flex;flex-direction:column;min-width:0;line-height:1.25;}
.jsa-so-shell .translation-document-card .file-info strong{font-size:.94rem;color:#0e3d5c;white-space:normal;overflow-wrap:anywhere;}
.jsa-so-shell .translation-document-card .file-info span{margin-top:4px;color:#64748b;font-size:.82rem;font-weight:700;}
.jsa-so-muted-text{display:inline-flex;color:#64748b;font-weight:700;}
@media(max-width:900px){.translation-table td[data-label="View"]{min-width:0}.jsa-so-shell .translation-document-card{max-width:none;}}

/* v1.3.0 dynamic tab loading */
.jsa-so-content[data-jsa-so-dynamic-tabs="1"] .jsa-so-panel{
  min-height:260px;
}
.jsa-so-tab-loader{
  min-height:260px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#52616f;
  font-weight:600;
}
.jsa-so-spinner{
  width:22px;
  height:22px;
  border:3px solid rgba(0,0,0,.14);
  border-top-color:rgba(0,0,0,.55);
  border-radius:999px;
  animation:jsaSoSpin .8s linear infinite;
  flex:0 0 auto;
}
@keyframes jsaSoSpin{to{transform:rotate(360deg)}}
.jsa-so-badge.is-loading{opacity:.55;min-width:1.25em;text-align:center;}
.jsa-so-panel[data-loading="1"]{position:relative;}

#payments-table tr.clickable-row,
#payments-table tr[data-jsa-so-payment-row] {
  cursor: pointer;
}

#payments-table tr.clickable-row:hover,
#payments-table tr[data-jsa-so-payment-row]:hover {
  background: rgba(26, 188, 156, 0.08);
}

#payments-table tr.clickable-row:focus,
#payments-table tr[data-jsa-so-payment-row]:focus {
  outline: 2px solid rgba(26, 188, 156, 0.65);
  outline-offset: -2px;
}

/* v1.3.8 native Comments Manager integration */
[data-jsa-so-comments].jsa-so-comments-wrap {
  display: block;
}
[data-jsa-so-comments] .comments-toolbar {
  display: flex;
  justify-content: flex-start;
  gap: 0.75rem;
  margin: 0 0 1rem;
}
[data-jsa-so-comments] .jsa-toggle-btn {
  border: 0;
  border-radius: 8px;
  background: #1abc9c;
  color: #fff;
  font-weight: 700;
  padding: 0.75rem 1rem;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(26, 188, 156, 0.18);
}
[data-jsa-so-comments] .jsa-toggle-btn:hover {
  filter: brightness(0.96);
}
[data-jsa-so-comments] .jsa-form-wrapper {
  background: #fff;
  border: 1px solid rgba(12, 55, 88, 0.12);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(15, 35, 52, 0.08);
  margin-bottom: 1rem;
  padding: 1rem;
}
[data-jsa-so-comments] .jsa-cm-form .form-field {
  margin-bottom: 0.85rem;
}
[data-jsa-so-comments] .jsa-cm-form label {
  display: block;
  font-weight: 700;
  margin-bottom: 0.35rem;
  color: #0b3d5c;
}
[data-jsa-so-comments] .jsa-cm-form textarea,
[data-jsa-so-comments] .jsa-cm-form select,
[data-jsa-so-comments] .jsa-cm-editing textarea,
[data-jsa-so-comments] .jsa-cm-editing select {
  width: 100%;
  border: 1px solid rgba(12, 55, 88, 0.16);
  border-radius: 9px;
  padding: 0.75rem;
  background: #fff;
}
[data-jsa-so-comments] .jsa-cm-alert {
  border-radius: 9px;
  margin: 0 0 1rem;
  padding: 0.75rem 1rem;
  background: #ecfff9;
  color: #0d6b57;
  border: 1px solid rgba(26, 188, 156, 0.25);
}
[data-jsa-so-comments] .jsa-cm-alert.is-error {
  background: #fff2f2;
  border-color: rgba(239, 68, 68, 0.28);
  color: #991b1b;
}
[data-jsa-so-comments] .comment-thread {
  display: grid;
  gap: 0.9rem;
}
[data-jsa-so-comments] .comment-row {
  background: #fff;
  border: 1px solid rgba(12, 55, 88, 0.12);
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(15, 35, 52, 0.07);
  padding: 1rem;
}
[data-jsa-so-comments] .comment-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
[data-jsa-so-comments] .comment-header-left {
  flex: 1 1 auto;
  min-width: 0;
}
[data-jsa-so-comments] .comment-header-right {
  flex: 0 0 auto;
  display: grid;
  justify-items: end;
  gap: 0.3rem;
  color: #53687a;
  font-size: 0.88rem;
}
[data-jsa-so-comments] .comment-type {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 0.65rem;
  padding: 0.35rem 0.65rem;
}
[data-jsa-so-comments] .comment-type.internal-note {
  color: #075985;
  background: #e0f2fe;
}
[data-jsa-so-comments] .comment-type.public-note {
  color: #166534;
  background: #dcfce7;
}
[data-jsa-so-comments] .comment-text {
  color: #172b3a;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
[data-jsa-so-comments] .comment-author i {
  margin-right: 0.25rem;
}
[data-jsa-so-comments] .jsa-cm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.35rem;
  margin-top: 0.25rem;
}
[data-jsa-so-comments] .jsa-cm-iconbtn {
  align-items: center;
  background: #eef5f9;
  border: 0;
  border-radius: 7px;
  color: #0b3d5c;
  cursor: pointer;
  display: inline-flex;
  height: 32px;
  justify-content: center;
  width: 32px;
}
[data-jsa-so-comments] .jsa-cm-iconbtn:hover:not(:disabled) {
  background: #dff4ef;
  color: #06735f;
}
[data-jsa-so-comments] .jsa-cm-iconbtn:disabled,
[data-jsa-so-comments] .jsa-cm-iconbtn.is-disabled {
  cursor: not-allowed;
  opacity: 0.48;
}
[data-jsa-so-comments] .jsa-cm-delete:hover:not(:disabled) {
  background: #fee2e2;
  color: #b91c1c;
}
[data-jsa-so-comments] .jsa-cm-empty,
[data-jsa-so-comments] .jsa-cm-loading {
  background: #fff;
  border: 1px dashed rgba(12, 55, 88, 0.18);
  border-radius: 12px;
  color: #607284;
  padding: 1rem;
}
[data-jsa-so-comments] .jsa-cm-editing .form-field {
  margin-bottom: 0.8rem;
}
[data-jsa-so-comments] .jsa-cm-editing label {
  display: block;
  font-weight: 700;
  margin-bottom: 0.35rem;
}
[data-jsa-so-comments] .jsa-cm-edit-actions {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
}
@media (max-width: 720px) {
  [data-jsa-so-comments] .comment-header {
    display: block;
  }
  [data-jsa-so-comments] .comment-header-right {
    justify-items: start;
    margin-top: 0.85rem;
  }
  [data-jsa-so-comments] .jsa-cm-actions {
    justify-content: flex-start;
  }
}

/* v1.3.9 Service Order tab visual polish
   CSS-only enhancement for the Service Order / internal overview tab. */
:root{
  --jsa-so-app-bg:#eef5f7;
  --jsa-so-app-bg-2:#f8fbfc;
  --jsa-so-card-border:rgba(15,23,42,.09);
  --jsa-so-card-shadow:0 16px 38px rgba(15,23,42,.08);
  --jsa-so-card-shadow-soft:0 8px 22px rgba(15,23,42,.055);
  --jsa-so-radius-xl:24px;
  --jsa-so-radius-lg:18px;
  --jsa-so-accent-soft:rgba(26,188,156,.12);
}
.jsa-so-panel#overview:not(.hidden),
.jsa-so-panel[id="overview"]:not(.hidden){
  background:
    radial-gradient(circle at 12% 0%, rgba(26,188,156,.16), transparent 32%),
    radial-gradient(circle at 88% 8%, rgba(49,143,255,.13), transparent 34%),
    linear-gradient(180deg, var(--jsa-so-app-bg-2) 0%, var(--jsa-so-app-bg) 100%);
  border:1px solid rgba(15,23,42,.06);
  border-radius:var(--jsa-so-radius-xl);
  padding:clamp(14px,1.6vw,24px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-form,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-form{
  background:transparent;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-overview-workspace,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-overview-workspace{
  background:rgba(255,255,255,.62);
  border:1px solid rgba(255,255,255,.78);
  border-radius:var(--jsa-so-radius-xl);
  box-shadow:0 22px 60px rgba(15,23,42,.10);
  padding:clamp(12px,1.3vw,20px);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-overview-command,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-overview-command{
  background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(248,250,252,.78));
  border:1px solid rgba(226,232,240,.92);
  border-radius:22px;
  padding:10px;
  box-shadow:var(--jsa-so-card-shadow-soft);
  backdrop-filter:blur(10px);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-sticky-summary,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-sticky-summary{
  background:linear-gradient(135deg, #ffffff 0%, #f7fbfc 52%, #eefaf7 100%);
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  box-shadow:0 10px 30px rgba(15,23,42,.075);
  padding:14px 16px;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-summary-kicker,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-summary-kicker{
  color:#64748b;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-summary-title,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-summary-title{
  color:#0e3d5c;
  font-size:clamp(1.12rem,1.45vw,1.55rem);
  font-weight:950;
  letter-spacing:-.025em;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-status-pill,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-status-pill{
  background:#e8f7f3;
  color:#0f766e;
  border:1px solid rgba(26,188,156,.28);
  box-shadow:0 4px 10px rgba(26,188,156,.10);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-summary-money,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-summary-money{
  gap:10px;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-summary-money span,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-summary-money span{
  background:#f8fafc;
  border:1px solid rgba(226,232,240,.96);
  border-radius:14px;
  padding:8px 10px;
  color:#475569;
  box-shadow:0 4px 12px rgba(15,23,42,.035);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-summary-money strong,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-summary-money strong{
  color:#0f172a;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-summary-money .is-due,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-summary-money .is-due{
  background:#fff7ed;
  border-color:#fed7aa;
  color:#9a3412;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-save-state,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-save-state{
  border-radius:999px;
  padding:7px 10px;
  font-weight:900;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-save-btn,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-save-btn{
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg, #1abc9c 0%, #0f9f8a 100%);
  color:#fff;
  box-shadow:0 10px 22px rgba(26,188,156,.24);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-save-btn:hover,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-save-btn:hover{
  transform:translateY(-1px);
  filter:saturate(1.05);
  box-shadow:0 14px 28px rgba(26,188,156,.30);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-inner-panel,
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-group,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-inner-panel,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-group{
  border:1px solid var(--jsa-so-card-border);
  border-radius:var(--jsa-so-radius-lg);
  background:rgba(255,255,255,.96);
  box-shadow:var(--jsa-so-card-shadow-soft);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-panel-heading,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-panel-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid rgba(226,232,240,.78);
  margin:-2px 0 14px;
  padding-bottom:10px;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-panel-heading h3,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-panel-heading h3{
  margin:0;
  color:#0e3d5c;
  font-size:.98rem;
  font-weight:950;
  letter-spacing:-.015em;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-core-panel,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-core-panel{
  position:relative;
  overflow:hidden;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-core-panel:before,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-core-panel:before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,#1abc9c,#318fff);
  border-radius:999px;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-core-panel .form-field label,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-core-panel .form-field label{
  color:#475569;
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.01em;
}
.jsa-so-panel#overview:not(.hidden) .form-field input,
.jsa-so-panel#overview:not(.hidden) .form-field select,
.jsa-so-panel#overview:not(.hidden) .form-field textarea,
.jsa-so-panel[id="overview"]:not(.hidden) .form-field input,
.jsa-so-panel[id="overview"]:not(.hidden) .form-field select,
.jsa-so-panel[id="overview"]:not(.hidden) .form-field textarea{
  border-radius:12px;
  border-color:#dce7ef;
  background:#fbfdff;
}
.jsa-so-panel#overview:not(.hidden) .form-field input:focus,
.jsa-so-panel#overview:not(.hidden) .form-field select:focus,
.jsa-so-panel#overview:not(.hidden) .form-field textarea:focus,
.jsa-so-panel[id="overview"]:not(.hidden) .form-field input:focus,
.jsa-so-panel[id="overview"]:not(.hidden) .form-field select:focus,
.jsa-so-panel[id="overview"]:not(.hidden) .form-field textarea:focus{
  background:#fff;
  border-color:#1abc9c;
  box-shadow:0 0 0 4px rgba(26,188,156,.14);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-purpose-flags,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-purpose-flags{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:10px;
  margin-top:12px;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-chip-toggle span,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-chip-toggle span{
  border-radius:999px;
  border:1px solid #d9e5ec;
  background:#fff;
  box-shadow:0 3px 8px rgba(15,23,42,.035);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-chip-toggle.is-selected span,
.jsa-so-panel#overview:not(.hidden) .jsa-so-chip-toggle input:checked + span,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-chip-toggle.is-selected span,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-chip-toggle input:checked + span{
  background:linear-gradient(135deg,#e7fbf6,#f0fffb);
  border-color:rgba(26,188,156,.45);
  color:#0f766e;
  box-shadow:0 6px 14px rgba(26,188,156,.13);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-selected-panel,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-selected-panel{
  background:linear-gradient(180deg,#ffffff,#fbfefe);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-selected-count,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-selected-count{
  background:linear-gradient(135deg,#1abc9c,#318fff);
  box-shadow:0 8px 18px rgba(26,188,156,.18);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-selected-empty,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-selected-empty{
  border-color:#cde8e2;
  background:linear-gradient(180deg,#f8fffd,#f2fbf9);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-selected-item,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-selected-item{
  border-radius:14px;
  background:#fff;
  border-color:#dfe9ef;
  box-shadow:0 5px 14px rgba(15,23,42,.035);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-selected-item:hover,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-selected-item:hover{
  border-color:rgba(26,188,156,.42);
  transform:translateY(-1px);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-finder,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-finder{
  background:rgba(255,255,255,.92);
  border-color:rgba(15,23,42,.08);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-search,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-search{
  border-radius:999px;
  background:#f8fafc;
  border-color:#dce7ef;
  min-height:42px;
  padding-left:16px;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-filter-buttons button,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-filter-buttons button{
  border-radius:999px;
  background:#fff;
  border:1px solid #dce7ef;
  color:#0e3d5c;
  box-shadow:0 3px 10px rgba(15,23,42,.035);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-filter-buttons button.active,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-filter-buttons button.active{
  background:linear-gradient(135deg,#1abc9c,#169f87);
  border-color:#169f87;
  color:#fff;
  box-shadow:0 8px 18px rgba(26,188,156,.22);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-scroll-region,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-scroll-region{
  border-radius:20px;
  background:rgba(248,250,252,.72);
  border:1px solid rgba(226,232,240,.78);
  padding:10px 12px 18px 10px;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-group,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-group{
  overflow:hidden;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-group-header,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-group-header{
  background:linear-gradient(135deg,#ffffff,#f6fbfc);
  padding:14px 16px;
  border-bottom:1px solid rgba(226,232,240,.85);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-group-header h3,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-group-header h3{
  color:#0e3d5c;
  font-size:1.02rem;
  font-weight:950;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-group-header span,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-group-header span{
  color:#64748b;
  font-weight:850;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-group-toggle,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-group-toggle{
  border-radius:999px;
  border:1px solid #dce7ef;
  background:#fff;
  color:#0e3d5c;
  font-weight:850;
  padding:7px 11px;
  box-shadow:0 3px 10px rgba(15,23,42,.035);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-dense-service-grid,
.jsa-so-panel#overview:not(.hidden) .jsa-so-translation-grid,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-dense-service-grid,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-translation-grid{
  background:#fbfdff;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-card,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-card{
  border-radius:14px;
  border-color:#dce7ef;
  background:#fff;
  box-shadow:0 4px 12px rgba(15,23,42,.035);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-card:hover,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-card:hover{
  transform:translateY(-1px);
  border-color:rgba(26,188,156,.38);
  box-shadow:0 8px 18px rgba(15,23,42,.07);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-card.is-selected,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-card.is-selected{
  background:linear-gradient(135deg,#f0fdfa,#ffffff);
  border-color:rgba(26,188,156,.58);
  box-shadow:0 10px 22px rgba(26,188,156,.14);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-icon,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-icon{
  color:#169f87;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-card.is-selected .jsa-so-service-icon,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-card.is-selected .jsa-so-service-icon{
  color:#0f766e;
}
@media (max-width:900px){
  .jsa-so-panel#overview:not(.hidden),
  .jsa-so-panel[id="overview"]:not(.hidden){
    padding:10px;
    border-radius:18px;
  }
  .jsa-so-panel#overview:not(.hidden) .jsa-so-overview-workspace,
  .jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-overview-workspace{
    padding:10px;
    border-radius:18px;
  }
  .jsa-so-panel#overview:not(.hidden) .jsa-so-overview-command,
  .jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-overview-command{
    border-radius:16px;
  }
  .jsa-so-panel#overview:not(.hidden) .jsa-so-service-scroll-region,
  .jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-scroll-region{
    padding:8px;
    border-radius:16px;
  }
}


/* v1.4.0 Association workspace visual upgrade */
.jsa-so-shell .assoc-workspace{
  background:linear-gradient(180deg,#f8fafc 0%,#eef9f6 100%);
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  padding:22px;
  box-shadow:0 18px 45px rgba(15,23,42,.08);
}
.jsa-so-shell .assoc-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:stretch;
  margin-bottom:18px;
}
.jsa-so-shell .assoc-hero-main,
.jsa-so-shell .assoc-status-card,
.jsa-so-shell .assoc-card{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  box-shadow:0 10px 28px rgba(15,23,42,.06);
}
.jsa-so-shell .assoc-hero-main{padding:20px 22px;}
.jsa-so-shell .assoc-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#0f766e;
  background:#e6fffa;
  border:1px solid #b8f3e8;
  border-radius:999px;
  padding:5px 10px;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.jsa-so-shell .assoc-hero h2{margin:10px 0 6px;color:#0e3d5c;font-size:1.65rem;line-height:1.1;font-weight:900;}
.jsa-so-shell .assoc-hero p{margin:0;color:#64748b;line-height:1.45;font-size:.95rem;max-width:740px;}
.jsa-so-shell .assoc-status-card{
  min-width:245px;
  padding:16px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
}
.jsa-so-shell .assoc-status-label{font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#64748b;}
.jsa-so-shell .assoc-status-pill{
  display:inline-flex;
  width:max-content;
  align-items:center;
  gap:8px;
  border-radius:999px;
  padding:8px 12px;
  font-weight:900;
  font-size:.92rem;
  border:1px solid transparent;
}
.jsa-so-shell .assoc-status-pill.is-working{background:#fff7ed;color:#9a3412;border-color:#fed7aa;}
.jsa-so-shell .assoc-status-pill.is-complete{background:#ecfdf5;color:#047857;border-color:#a7f3d0;}
.jsa-so-shell .assoc-status-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;}
.jsa-so-shell .assoc-card{
  padding:0;
  overflow:hidden;
  margin:0 0 18px;
}
.jsa-so-shell .assoc-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.jsa-so-shell .assoc-card-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:18px 20px;
  border-bottom:1px solid rgba(15,23,42,.07);
  background:linear-gradient(180deg,#fff 0%,#f8fbfd 100%);
}
.jsa-so-shell .assoc-card-title-row{display:flex;align-items:center;gap:10px;margin-bottom:5px;}
.jsa-so-shell .assoc-card h3{margin:0;color:#0e3d5c;font-size:1.08rem;font-weight:900;display:flex;align-items:center;gap:9px;}
.jsa-so-shell .assoc-card h3 i{color:var(--jsa-so-brand);}
.jsa-so-shell .assoc-card p{margin:0;color:#64748b;font-size:.88rem;line-height:1.38;}
.jsa-so-shell .assoc-count-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 9px;
  border-radius:999px;
  background:#e6fffa;
  color:#0f766e;
  border:1px solid #b8f3e8;
  font-weight:900;
  font-size:.82rem;
}
.jsa-so-shell .assoc-table-shell{padding:16px 18px 18px;}
.jsa-so-shell .assoc-table{
  margin:0!important;
  box-shadow:none;
  border:1px solid #e2e8f0;
  border-radius:16px;
  overflow:hidden;
  border-collapse:separate;
  border-spacing:0;
}
.jsa-so-shell .assoc-table th{
  background:#0e7490!important;
  color:#fff!important;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.045em;
  padding:.82rem .95rem;
}
.jsa-so-shell .assoc-table td{padding:.82rem .95rem;color:#334155;vertical-align:middle;background:#fff;}
.jsa-so-shell .assoc-table tbody tr:nth-of-type(even){background:transparent;}
.jsa-so-shell .assoc-table tbody tr:nth-of-type(even) td{background:#f8fafc;}
.jsa-so-shell .assoc-table tbody tr:hover td{background:#eefcf8;}
.jsa-so-shell .assoc-role-pill{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:4px 9px;
  background:#eef6ff;
  color:#075985;
  border:1px solid #cce7ff;
  font-weight:800;
  font-size:.78rem;
}
.jsa-so-shell .assoc-delete-btn{
  background:#fff1f2!important;
  color:#be123c!important;
  border-color:#fecdd3!important;
  box-shadow:none!important;
}
.jsa-so-shell .assoc-delete-btn:hover{background:#ffe4e6!important;color:#9f1239!important;}
.jsa-so-shell .assoc-empty-state{
  margin:16px 18px 18px;
  padding:22px;
  border:1px dashed #b7d6d2;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f4fffc 100%);
  display:flex;
  align-items:center;
  gap:16px;
}
.jsa-so-shell .assoc-empty-state-compact{min-height:184px;align-items:flex-start;}
.jsa-so-shell .assoc-empty-icon{
  flex:0 0 auto;
  width:48px;
  height:48px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e6fffa;
  color:#0f766e;
  font-size:1.35rem;
  border:1px solid #b8f3e8;
}
.jsa-so-shell .assoc-empty-state h4{margin:0 0 5px;color:#0e3d5c;font-size:1.02rem;font-weight:900;}
.jsa-so-shell .assoc-empty-state p{margin:0 0 13px;color:#64748b;line-height:1.4;}
.jsa-so-shell .assoc-quick-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 18px;
  border-top:1px solid rgba(15,23,42,.07);
  background:#f8fafc;
}
.jsa-so-shell .assoc-quick-label{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#64748b;}
.jsa-so-shell .assoc-toolbar{margin:0!important;justify-content:flex-end!important;}
.jsa-so-shell .assoc-actions{margin:0!important;justify-content:flex-end!important;width:auto!important;}
.jsa-so-shell .assoc-actions .btn{margin-left:0!important;}
.jsa-so-shell .assoc-table .assoc-row[data-row-url]{cursor:pointer;}
.jsa-so-shell .assoc-table .assoc-row[data-row-url]:hover td{background:#eafbf8!important;box-shadow:inset 4px 0 0 var(--jsa-so-brand);}
.jsa-so-shell .assoc-table .assoc-row[data-row-url]:focus{outline:3px solid rgba(26,188,156,.25);outline-offset:-3px;background:#eaf8fb!important;}
@media(max-width:980px){
  .jsa-so-shell .assoc-hero{grid-template-columns:1fr;}
  .jsa-so-shell .assoc-status-card{min-width:0;}
  .jsa-so-shell .assoc-card-grid{grid-template-columns:1fr;}
}
@media(max-width:700px){
  .jsa-so-shell .assoc-workspace{padding:14px;border-radius:18px;}
  .jsa-so-shell .assoc-hero-main{padding:16px;}
  .jsa-so-shell .assoc-card-header{flex-direction:column;align-items:stretch;padding:16px;}
  .jsa-so-shell .assoc-card-header .btn{width:100%;justify-content:center!important;}
  .jsa-so-shell .assoc-empty-state{margin:14px;padding:16px;align-items:flex-start;}
  .jsa-so-shell .assoc-quick-actions{align-items:stretch;flex-direction:column;}
  .jsa-so-shell .assoc-toolbar{justify-content:flex-start!important;}
  .jsa-so-shell .assoc-toolbar .btn{width:100%;justify-content:center!important;}
  .jsa-so-shell .assoc-table-shell{padding:14px;}
  .jsa-so-shell .assoc-table tr{box-shadow:0 4px 14px rgba(15,23,42,.06);background:#fff;}
  .jsa-so-shell .assoc-table td{display:flex!important;justify-content:space-between;gap:12px;padding:.75rem .85rem;}
  .jsa-so-shell .assoc-table td:before{content:attr(data-label);font-weight:900;color:#0e3d5c;}
}

/* v1.4.1 Payments workspace visual upgrade */
.jsa-so-shell .payments-workspace{
  background:linear-gradient(180deg,#f8fafc 0%,#eef9f6 100%);
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  padding:22px;
  box-shadow:0 18px 45px rgba(15,23,42,.08);
}
.jsa-so-shell .payments-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,440px);
  gap:18px;
  align-items:stretch;
  margin-bottom:18px;
}
.jsa-so-shell .payments-hero-main,
.jsa-so-shell .payments-summary-card,
.jsa-so-shell .payments-action-card,
.jsa-so-shell .payments-card{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  box-shadow:0 10px 28px rgba(15,23,42,.06);
}
.jsa-so-shell .payments-hero-main{padding:20px 22px;}
.jsa-so-shell .payments-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#0f766e;
  background:#e6fffa;
  border:1px solid #b8f3e8;
  border-radius:999px;
  padding:5px 10px;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.jsa-so-shell .payments-hero h2{margin:10px 0 6px;color:#0e3d5c;font-size:1.65rem;line-height:1.1;font-weight:900;}
.jsa-so-shell .payments-hero p{margin:0;color:#64748b;line-height:1.45;font-size:.95rem;max-width:760px;}
.jsa-so-shell .payments-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.jsa-so-shell .payments-summary-card{padding:15px 16px;display:flex;flex-direction:column;gap:6px;min-height:86px;justify-content:center;}
.jsa-so-shell .payments-summary-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#64748b;}
.jsa-so-shell .payments-summary-card strong{font-size:1.25rem;color:#0e3d5c;font-weight:950;line-height:1.1;}
.jsa-so-shell .payments-summary-card.is-paid{background:linear-gradient(180deg,#fff 0%,#f0fdf4 100%);}
.jsa-so-shell .payments-summary-card.is-paid strong{color:#047857;}
.jsa-so-shell .payments-summary-card.is-due{background:linear-gradient(180deg,#fff 0%,#fff7ed 100%);}
.jsa-so-shell .payments-summary-card.is-due strong{color:#9a3412;}
.jsa-so-shell .payments-summary-card.is-status{background:linear-gradient(180deg,#fff 0%,#eef6ff 100%);}
.jsa-so-shell .payments-summary-card.is-status strong{font-size:1.05rem;color:#075985;}
.jsa-so-shell .payments-action-card{padding:0;margin:0 0 18px;overflow:hidden;}
.jsa-so-shell .payments-action-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:18px 20px;
  background:linear-gradient(180deg,#fff 0%,#f8fbfd 100%);
  border-bottom:1px solid rgba(15,23,42,.07);
}
.jsa-so-shell .payments-action-head h3,
.jsa-so-shell .payments-card h3{margin:0 0 5px;color:#0e3d5c;font-size:1.08rem;font-weight:900;display:flex;align-items:center;gap:9px;}
.jsa-so-shell .payments-action-head h3 i,
.jsa-so-shell .payments-card h3 i{color:var(--jsa-so-brand);}
.jsa-so-shell .payments-action-head p,
.jsa-so-shell .payments-card p{margin:0;color:#64748b;font-size:.88rem;line-height:1.38;}
.jsa-so-shell .payments-toolbar{margin:0!important;justify-content:flex-end!important;align-items:center;}
.jsa-so-shell .payments-card-actions{margin-left:auto!important;}
.jsa-so-shell .payments-card-header .payments-toolbar{align-self:flex-start;}
.jsa-so-shell .payments-form-card{
  margin:16px 18px 0!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid #dbe8ee!important;
  box-shadow:0 8px 24px rgba(15,23,42,.05)!important;
}
.jsa-so-shell .payments-form-title{grid-column:1/-1;margin-bottom:12px;}
.jsa-so-shell .payments-form-title h4{margin:0 0 4px;color:#0e3d5c;font-weight:900;font-size:1rem;}
.jsa-so-shell .payments-form-title p{margin:0;color:#64748b;font-size:.88rem;}
.jsa-so-shell .payments-card{padding:0;overflow:hidden;}
.jsa-so-shell .payments-card-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:18px 20px;
  border-bottom:1px solid rgba(15,23,42,.07);
  background:linear-gradient(180deg,#fff 0%,#f8fbfd 100%);
}
.jsa-so-shell .payments-card-title-row{display:flex;align-items:center;gap:10px;margin-bottom:5px;}
.jsa-so-shell .payments-count-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 9px;
  border-radius:999px;
  background:#e6fffa;
  color:#0f766e;
  border:1px solid #b8f3e8;
  font-weight:900;
  font-size:.82rem;
}
.jsa-so-shell .payments-table-tools{padding:16px 18px 0;}
.jsa-so-shell .payments-search{margin:0!important;background:#f8fafc!important;border-radius:14px!important;}
.jsa-so-shell .payments-table-shell{padding:16px 18px 18px;}
.jsa-so-shell .payments-table{
  margin:0!important;
  box-shadow:none!important;
  border:1px solid #e2e8f0;
  border-radius:16px!important;
  overflow:hidden;
  border-collapse:separate;
  border-spacing:0;
}
.jsa-so-shell .payments-table th{
  background:#0e7490!important;
  color:#fff!important;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.045em;
  padding:.82rem .95rem!important;
}
.jsa-so-shell .payments-table td{padding:.82rem .95rem!important;color:#334155;vertical-align:middle;background:#fff;}
.jsa-so-shell .payments-table tbody tr:nth-of-type(even){background:transparent!important;}
.jsa-so-shell .payments-table tbody tr:nth-of-type(even) td{background:#f8fafc;}
.jsa-so-shell .payments-table tbody tr[data-jsa-so-payment-row]{cursor:pointer;}
.jsa-so-shell .payments-table tbody tr[data-jsa-so-payment-row]:hover td{background:#eefcf8!important;box-shadow:inset 4px 0 0 var(--jsa-so-brand);}
.jsa-so-shell .payments-table tbody tr[data-jsa-so-payment-row]:focus{outline:3px solid rgba(26,188,156,.25);outline-offset:-3px;}
.jsa-so-shell .payment-type-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:5px 10px;
  font-size:.76rem;
  font-weight:900;
  border:1px solid transparent;
  white-space:nowrap;
}
.jsa-so-shell .payment-type-badge.is-payment{background:#ecfdf5;color:#047857;border-color:#a7f3d0;}
.jsa-so-shell .payment-type-badge.is-refund{background:#fffbeb;color:#92400e;border-color:#fde68a;}
.jsa-so-shell .payment-type-badge.is-bounce{background:#fff1f2;color:#be123c;border-color:#fecdd3;}
.jsa-so-shell .payment-type-badge.is-request{background:#eef6ff;color:#075985;border-color:#cce7ff;}
.jsa-so-shell .payments-action-cell{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.jsa-so-shell .payment-view-hint{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#0f766e;
  background:#e6fffa;
  border:1px solid #b8f3e8;
  border-radius:999px;
  padding:5px 9px;
  font-size:.75rem;
  font-weight:900;
  white-space:nowrap;
}
.jsa-so-shell .payments-delete-btn{
  background:#fff1f2!important;
  color:#be123c!important;
  border-color:#fecdd3!important;
  box-shadow:none!important;
}
.jsa-so-shell .payments-delete-btn:hover{background:#ffe4e6!important;color:#9f1239!important;}
.jsa-so-shell .payments-empty-state{
  margin:16px 18px 18px;
  padding:24px;
  border:1px dashed #b7d6d2;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f4fffc 100%);
  display:flex;
  align-items:center;
  gap:16px;
}
.jsa-so-shell .payments-empty-state[hidden]{display:none!important;}
.jsa-so-shell .payments-empty-icon{
  flex:0 0 auto;
  width:50px;
  height:50px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e6fffa;
  color:#0f766e;
  font-size:1.35rem;
  border:1px solid #b8f3e8;
}
.jsa-so-shell .payments-empty-state h4{margin:0 0 5px;color:#0e3d5c;font-size:1.02rem;font-weight:900;}
.jsa-so-shell .payments-empty-state p{margin:0 0 13px;color:#64748b;line-height:1.4;}
.jsa-so-shell .payments-empty-actions{display:flex;gap:10px;flex-wrap:wrap;}
@media(max-width:980px){
  .jsa-so-shell .payments-hero{grid-template-columns:1fr;}
  .jsa-so-shell .payments-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px){
  .jsa-so-shell .payments-workspace{padding:14px;border-radius:18px;}
  .jsa-so-shell .payments-hero-main{padding:16px;}
  .jsa-so-shell .payments-summary-grid{grid-template-columns:1fr;}
  .jsa-so-shell .payments-action-head,.jsa-so-shell .payments-card-header{flex-direction:column;align-items:stretch;padding:16px;}
  .jsa-so-shell .payments-toolbar{justify-content:flex-start!important;}
  .jsa-so-shell .payments-toolbar .btn,.jsa-so-shell .payments-empty-actions .btn{width:100%;justify-content:center!important;}
  .jsa-so-shell .payments-empty-state{margin:14px;padding:16px;align-items:flex-start;}
  .jsa-so-shell .payments-action-cell{align-items:flex-start;}
}

/* v1.4.6 Translation workspace polish */
.jsa-so-shell .translation-workspace{
  background:linear-gradient(180deg,#f8fafc 0%,#eefcf9 100%);
  border:1px solid rgba(20,184,166,.18);
  border-radius:24px;
  padding:22px;
  box-shadow:0 18px 44px rgba(15,23,42,.07);
}
.jsa-so-shell .translation-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(170px,240px);
  gap:18px;
  align-items:stretch;
  margin-bottom:18px;
}
.jsa-so-shell .translation-hero-main,
.jsa-so-shell .translation-summary-card,
.jsa-so-shell .translation-card{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  box-shadow:0 10px 28px rgba(15,23,42,.055);
}
.jsa-so-shell .translation-hero-main{padding:22px 24px;}
.jsa-so-shell .translation-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
  color:#0f766e;
  font-weight:900;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.jsa-so-shell .translation-hero-main h2{margin:0 0 7px;color:#0e3d5c;font-size:1.65rem;font-weight:950;letter-spacing:-.03em;}
.jsa-so-shell .translation-hero-main p{margin:0;color:#64748b;line-height:1.45;max-width:780px;}
.jsa-so-shell .translation-summary-card{
  padding:20px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  background:linear-gradient(180deg,#ffffff 0%,#e6fffa 100%);
}
.jsa-so-shell .translation-summary-label{color:#64748b;font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px;}
.jsa-so-shell .translation-summary-card strong{color:#0f766e;font-size:1.32rem;font-weight:950;letter-spacing:-.02em;}
.jsa-so-shell .translation-card{padding:0;overflow:hidden;}
.jsa-so-shell .translation-card-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:18px 20px;
  border-bottom:1px solid rgba(15,23,42,.07);
  background:linear-gradient(180deg,#fff 0%,#f8fbfd 100%);
}
.jsa-so-shell .translation-card-title-row{display:flex;align-items:center;gap:10px;margin-bottom:5px;}
.jsa-so-shell .translation-card h3{margin:0;color:#0e3d5c;font-size:1.08rem;font-weight:900;display:flex;align-items:center;gap:9px;}
.jsa-so-shell .translation-card h3 i{color:var(--jsa-so-brand);}
.jsa-so-shell .translation-card p{margin:0;color:#64748b;font-size:.88rem;line-height:1.38;}
.jsa-so-shell .translation-count-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 9px;
  border-radius:999px;
  background:#e6fffa;
  color:#0f766e;
  border:1px solid #b8f3e8;
  font-weight:900;
  font-size:.82rem;
}
.jsa-so-shell .translation-doc-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:16px;
  padding:18px;
}
.jsa-so-shell .translation-doc-card{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:18px;
  border:1px solid #dbe8ee;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.045);
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.jsa-so-shell .translation-doc-card:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(15,23,42,.08);border-color:#b8f3e8;}
.jsa-so-shell .translation-doc-icon{
  width:54px;
  height:54px;
  border-radius:17px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.55rem;
  background:#f1f5f9;
  color:#0f766e;
  border:1px solid #e2e8f0;
}
.jsa-so-shell .translation-doc-card.is-pdf .translation-doc-icon{background:#fff1f2;color:#dc2626;border-color:#fecdd3;}
.jsa-so-shell .translation-doc-card.is-word .translation-doc-icon{background:#eff6ff;color:#2563eb;border-color:#bfdbfe;}
.jsa-so-shell .translation-doc-body{min-width:0;}
.jsa-so-shell .translation-doc-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.jsa-so-shell .translation-doc-type{color:#64748b;font-size:.78rem;font-weight:850;}
.jsa-so-shell .translation-file-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:4px 9px;
  background:#f8fafc;
  color:#334155;
  border:1px solid #e2e8f0;
  font-size:.72rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.jsa-so-shell .translation-doc-card.is-pdf .translation-file-badge{background:#fff1f2;color:#be123c;border-color:#fecdd3;}
.jsa-so-shell .translation-doc-card.is-word .translation-file-badge{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;}
.jsa-so-shell .translation-doc-card h4{margin:0;color:#0e3d5c;font-size:1.02rem;font-weight:950;line-height:1.25;overflow-wrap:anywhere;}
.jsa-so-shell .translation-doc-details{margin-top:8px;color:#64748b;font-size:.84rem;font-weight:750;}
.jsa-so-shell .translation-doc-details span{display:inline-flex;align-items:center;gap:6px;}
.jsa-so-shell .translation-doc-details i{color:#0f766e;}
.jsa-so-shell .translation-doc-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-top:4px;}
.jsa-so-shell .translation-view-btn{display:inline-flex!important;align-items:center!important;gap:7px!important;border-radius:999px!important;}
.jsa-so-shell .translation-missing-link{display:inline-flex;align-items:center;gap:7px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;padding:7px 11px;font-size:.8rem;font-weight:900;}
.jsa-so-shell .translation-empty-state{
  margin:18px;
  padding:26px;
  border:1px dashed #b7d6d2;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f4fffc 100%);
  display:flex;
  align-items:center;
  gap:16px;
}
.jsa-so-shell .translation-empty-icon{
  flex:0 0 auto;
  width:54px;
  height:54px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e6fffa;
  color:#0f766e;
  font-size:1.45rem;
  border:1px solid #b8f3e8;
}
.jsa-so-shell .translation-empty-state h4{margin:0 0 6px;color:#0e3d5c;font-size:1.05rem;font-weight:950;}
.jsa-so-shell .translation-empty-state p{margin:0;color:#64748b;line-height:1.45;}
@media(max-width:900px){
  .jsa-so-shell .translation-hero{grid-template-columns:1fr;}
}
@media(max-width:680px){
  .jsa-so-shell .translation-workspace{padding:14px;border-radius:18px;}
  .jsa-so-shell .translation-hero-main,.jsa-so-shell .translation-summary-card{padding:16px;}
  .jsa-so-shell .translation-card-header{padding:16px;}
  .jsa-so-shell .translation-doc-grid{grid-template-columns:1fr;padding:14px;}
  .jsa-so-shell .translation-doc-card{grid-template-columns:1fr;}
  .jsa-so-shell .translation-doc-icon{width:48px;height:48px;}
  .jsa-so-shell .translation-doc-actions{justify-content:flex-start;}
  .jsa-so-shell .translation-view-btn{width:100%;justify-content:center!important;}
  .jsa-so-shell .translation-empty-state{margin:14px;padding:18px;align-items:flex-start;}
}

/* v1.4.7 Translation compact document cards */
.jsa-so-shell .translation-doc-grid{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:10px;
  padding:12px;
}
.jsa-so-shell .translation-doc-card{
  grid-template-columns:40px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:11px 12px;
  border-radius:14px;
  box-shadow:0 4px 14px rgba(15,23,42,.04);
}
.jsa-so-shell .translation-doc-card:hover{
  box-shadow:0 9px 20px rgba(15,23,42,.07);
}
.jsa-so-shell .translation-doc-icon{
  width:40px;
  height:40px;
  border-radius:11px;
  font-size:1.18rem;
}
.jsa-so-shell .translation-doc-icon .file-icon.pdf,
.jsa-so-shell .translation-doc-card.is-pdf .translation-doc-icon i{
  color:#dc2626;
}
.jsa-so-shell .translation-doc-icon .file-icon.doc,
.jsa-so-shell .translation-doc-card.is-word .translation-doc-icon i{
  color:#2563eb;
}
.jsa-so-shell .translation-doc-card.is-pdf .translation-doc-icon{
  background:#fff7f7;
  border-color:#fecdd3;
}
.jsa-so-shell .translation-doc-card.is-word .translation-doc-icon{
  background:#f5f9ff;
  border-color:#bfdbfe;
}
.jsa-so-shell .translation-doc-meta{
  gap:6px;
  margin-bottom:4px;
}
.jsa-so-shell .translation-doc-type{
  font-size:.72rem;
  line-height:1.1;
}
.jsa-so-shell .translation-file-badge{
  padding:2px 7px;
  font-size:.66rem;
  line-height:1.35;
}
.jsa-so-shell .translation-doc-card h4{
  font-size:.92rem;
  line-height:1.2;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.jsa-so-shell .translation-doc-details{
  margin-top:5px;
  font-size:.76rem;
}
.jsa-so-shell .translation-doc-actions{
  grid-column:auto;
  justify-content:flex-end;
  margin-top:0;
}
.jsa-so-shell .translation-view-btn{
  padding:7px 10px!important;
  font-size:.78rem!important;
  white-space:nowrap;
}
.jsa-so-shell .translation-view-btn i{
  font-size:.78rem;
}
.jsa-so-shell .translation-missing-link{
  padding:6px 9px;
  font-size:.74rem;
  white-space:nowrap;
}
@media(max-width:680px){
  .jsa-so-shell .translation-doc-grid{grid-template-columns:1fr;padding:12px;}
  .jsa-so-shell .translation-doc-card{grid-template-columns:38px minmax(0,1fr);align-items:start;}
  .jsa-so-shell .translation-doc-icon{width:38px;height:38px;font-size:1.1rem;}
  .jsa-so-shell .translation-doc-actions{grid-column:1/-1;justify-content:flex-start;margin-top:2px;}
  .jsa-so-shell .translation-view-btn{width:auto;justify-content:center!important;}
}

/* v1.4.8 Required Docs visual upgrade */
.jsa-so-shell .jsa-so-docs-workspace{
  background:linear-gradient(180deg,#f8fafc 0%,#eef8f6 100%);
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  padding:22px;
  box-shadow:0 18px 45px rgba(15,23,42,.08);
}
.jsa-so-shell .jsa-so-docs-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  background:linear-gradient(135deg,#0e3d5c 0%,#13746b 100%);
  color:#fff;
  border-radius:22px;
  padding:22px;
  box-shadow:0 14px 34px rgba(14,61,92,.18);
  margin-bottom:18px;
}
.jsa-so-shell .jsa-so-docs-hero.is-complete{background:linear-gradient(135deg,#0e5c43 0%,#16a34a 100%)}
.jsa-so-shell .jsa-so-docs-hero.is-empty{background:linear-gradient(135deg,#334155 0%,#0e7490 100%)}
.jsa-so-shell .jsa-so-section-kicker{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:rgba(255,255,255,.78);
}
.jsa-so-shell .jsa-so-docs-card .jsa-so-section-kicker{color:#0f766e}
.jsa-so-shell .jsa-so-docs-hero h2{
  display:flex;
  align-items:center;
  gap:10px;
  margin:4px 0 5px;
  font-size:1.95rem;
  line-height:1.1;
  color:#fff;
}
.jsa-so-shell .jsa-so-docs-hero p{margin:0;color:rgba(255,255,255,.86);font-size:.96rem}
.jsa-so-shell .jsa-so-docs-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(110px,1fr));
  gap:10px;
  min-width:360px;
}
.jsa-so-shell .jsa-so-docs-summary-card{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.2);
  border-radius:16px;
  padding:12px 14px;
  backdrop-filter:blur(8px);
}
.jsa-so-shell .jsa-so-docs-summary-card .summary-label{
  display:block;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:rgba(255,255,255,.72);
  margin-bottom:4px;
}
.jsa-so-shell .jsa-so-docs-summary-card strong{
  display:block;
  font-size:1.12rem;
  color:#fff;
  white-space:nowrap;
}
.jsa-so-shell .jsa-so-docs-card{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  padding:18px;
  box-shadow:0 10px 28px rgba(15,23,42,.055);
  margin-top:16px;
}
.jsa-so-shell .jsa-so-docs-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.jsa-so-shell .jsa-so-docs-card-head h3{
  margin:3px 0 4px;
  color:#0f172a;
  font-size:1.16rem;
  display:flex;
  align-items:center;
  gap:8px;
}
.jsa-so-shell .jsa-so-docs-card-head p{
  margin:0;
  color:#64748b;
  font-size:.91rem;
}
.jsa-so-shell .jsa-so-docs-tool-grid{
  display:grid;
  grid-template-columns:minmax(260px,1.1fr) minmax(260px,.9fr);
  gap:16px;
  margin-top:10px;
}
.jsa-so-shell .jsa-so-docs-tool-block{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:14px;
}
.jsa-so-shell .jsa-so-tool-label{
  display:block;
  margin:0 0 8px;
  color:#334155;
  font-weight:800;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.jsa-so-shell .jsa-so-docset-toolbar{margin:0;gap:8px}
.jsa-so-shell .jsa-so-quick-doc-row{margin:0;display:block}
.jsa-so-shell .jsa-so-quick-doc-row select{width:100%;margin:0;background:#fff}
.jsa-so-shell .jsa-so-doc-request-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
  margin:16px 0 0;
  padding-top:16px;
  border-top:1px solid #e2e8f0;
}
.jsa-so-shell .jsa-so-doc-request-field textarea{width:100%;min-height:64px;resize:vertical;margin:0}
.jsa-so-shell .jsa-so-docs-count-pill{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:3px 9px;
  font-size:.75rem;
  font-weight:900;
  background:#cbd5e1;
  color:#fff;
}
.jsa-so-shell .jsa-so-docs-count-pill.is-missing{background:#e74c3c}
.jsa-so-shell .jsa-so-docs-count-pill.is-complete{background:#16a34a}
.jsa-so-shell .jsa-so-docs-empty{
  text-align:center;
  padding:32px 18px;
  background:linear-gradient(180deg,#f8fafc,#fff);
  border:1px dashed #cbd5e1;
  border-radius:18px;
  color:#64748b;
}
.jsa-so-shell .jsa-so-docs-empty[hidden]{display:none!important}
.jsa-so-shell .jsa-so-docs-empty-icon{
  width:56px;
  height:56px;
  margin:0 auto 12px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e8f8f5;
  color:#0f766e;
  font-size:1.35rem;
}
.jsa-so-shell .jsa-so-docs-empty h4{margin:0 0 6px;color:#0f172a;font-size:1.05rem}
.jsa-so-shell .jsa-so-docs-empty p{margin:0;max-width:520px;margin-left:auto;margin-right:auto}
.jsa-so-shell .jsa-so-docs-table-shell[hidden]{display:none!important}
.jsa-so-shell .jsa-so-docs-table{
  box-shadow:none;
  border:1px solid #e2e8f0;
  border-radius:16px;
  overflow:hidden;
  margin:0;
}
.jsa-so-shell .jsa-so-docs-table th{
  background:#0e7490!important;
  color:#fff!important;
  padding:.85rem 1rem;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.jsa-so-shell .jsa-so-docs-table td{padding:.9rem 1rem;vertical-align:middle}
.jsa-so-shell .jsa-so-docs-table tbody tr:nth-of-type(even){background:#fbfdff}
.jsa-so-shell .jsa-so-docs-table tbody tr:hover{background:#f0fdfa}
.jsa-so-shell .jsa-so-docs-table .doc-description{font-weight:650;color:#0f172a;line-height:1.35}
.jsa-so-shell .jsa-so-doc-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:5px 10px;
  font-size:.75rem;
  font-weight:900;
  white-space:nowrap;
}
.jsa-so-shell .jsa-so-doc-status.is-requested{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}
.jsa-so-shell .jsa-so-doc-status.is-received{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.jsa-so-shell .jsa-so-doc-action-btn,.jsa-so-shell .jsa-so-doc-delete-btn{white-space:nowrap}
.jsa-so-shell .jsa-so-doc-delete-btn{
  background:#fff1f2!important;
  color:#be123c!important;
  border-color:#fecdd3!important;
}
.jsa-so-shell .jsa-so-doc-delete-btn:hover{background:#ffe4e6!important}
@media(max-width:860px){
  .jsa-so-shell .jsa-so-docs-workspace{padding:14px;border-radius:18px}
  .jsa-so-shell .jsa-so-docs-hero{grid-template-columns:1fr;padding:18px;border-radius:18px}
  .jsa-so-shell .jsa-so-docs-summary{min-width:0;grid-template-columns:repeat(3,1fr)}
  .jsa-so-shell .jsa-so-docs-tool-grid{grid-template-columns:1fr}
  .jsa-so-shell .jsa-so-doc-request-form{grid-template-columns:1fr}
  .jsa-so-shell .jsa-so-docs-card-head{flex-direction:column;align-items:stretch}
}
@media(max-width:900px){
  .jsa-so-shell .jsa-so-docs-table tr{background:#fff!important;border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(15,23,42,.06)}
  .jsa-so-shell .jsa-so-docs-table td{display:flex!important;justify-content:space-between;gap:16px;text-align:right}
  .jsa-so-shell .jsa-so-docs-table td:before{content:attr(data-label);font-weight:800;color:#475569;text-align:left}
  .jsa-so-shell .jsa-so-docs-table .doc-description{display:block!important;text-align:left}
  .jsa-so-shell .jsa-so-docs-table .doc-description:before{display:block;margin-bottom:5px}
}
@media(max-width:560px){
  .jsa-so-shell .jsa-so-docs-summary{grid-template-columns:1fr}
  .jsa-so-shell .jsa-so-docs-hero h2{font-size:1.55rem}
}

/* v1.4.9 Required Docs compact tools refinement */
.jsa-so-shell .jsa-so-docs-tools-card--compact{
  padding:16px;
}
.jsa-so-shell .jsa-so-docs-card-head--compact{
  margin-bottom:10px;
}
.jsa-so-shell .jsa-so-docs-card-head--compact h3{
  font-size:1.08rem;
  margin-bottom:2px;
}
.jsa-so-shell .jsa-so-docs-card-head--compact p{
  font-size:.86rem;
  max-width:680px;
}
.jsa-so-shell .jsa-so-docs-tool-grid--three{
  display:grid;
  grid-template-columns:minmax(180px,.8fr) minmax(280px,1.35fr) minmax(190px,.85fr);
  gap:12px;
  margin-top:8px;
}
.jsa-so-shell .jsa-so-docs-tool-block--compact{
  padding:12px;
  border-radius:15px;
  background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);
  min-width:0;
}
.jsa-so-shell .jsa-so-tool-card-head{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-bottom:10px;
}
.jsa-so-shell .jsa-so-tool-card-icon{
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:11px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e8f8f5;
  color:#0f766e;
  font-size:.9rem;
}
.jsa-so-shell .jsa-so-tool-card-head .jsa-so-tool-label{
  margin:0 0 2px;
  font-size:.76rem;
  letter-spacing:.055em;
}
.jsa-so-shell .jsa-so-tool-card-head p{
  margin:0;
  color:#64748b;
  font-size:.8rem;
  line-height:1.35;
}
.jsa-so-shell .jsa-so-docs-tool-block--compact .btn-sm{
  padding:5px 9px!important;
  font-size:.78rem!important;
}
.jsa-so-shell .jsa-so-docs-tool-block--compact .jsa-so-docset-toolbar{
  gap:7px;
}
.jsa-so-shell .jsa-so-docs-request-card .jsa-so-quick-doc-row select{
  min-height:38px;
  padding:.5rem .7rem;
  font-size:.9rem;
}
.jsa-so-shell .jsa-so-doc-request-form--compact{
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:end;
  margin:9px 0 0;
  padding-top:9px;
  border-top:1px solid #e2e8f0;
}
.jsa-so-shell .jsa-so-doc-request-form--compact textarea{
  min-height:44px;
  max-height:90px;
  padding:.5rem .7rem;
  font-size:.9rem;
}
.jsa-so-shell .jsa-so-copy-missing-btn{
  width:100%;
  justify-content:center!important;
  margin-top:2px;
}
.jsa-so-shell .jsa-so-docs-copy-card{
  display:flex;
  flex-direction:column;
}
.jsa-so-shell .jsa-so-docs-copy-card .jsa-so-copy-missing-btn{
  margin-top:auto;
}
@media(max-width:1020px){
  .jsa-so-shell .jsa-so-docs-tool-grid--three{
    grid-template-columns:1fr 1fr;
  }
  .jsa-so-shell .jsa-so-docs-request-card{
    grid-column:1/-1;
  }
}
@media(max-width:680px){
  .jsa-so-shell .jsa-so-docs-tool-grid--three{
    grid-template-columns:1fr;
  }
  .jsa-so-shell .jsa-so-doc-request-form--compact{
    grid-template-columns:1fr;
  }
  .jsa-so-shell .jsa-so-doc-request-form--compact .btn{
    width:100%;
    justify-content:center!important;
  }
}

/* v1.5.0 Required Docs streamlined tools layout */
.jsa-so-shell .jsa-so-docs-tools-card--streamlined{
  padding:14px;
}
.jsa-so-shell .jsa-so-docs-card-head--mini{
  margin-bottom:10px;
}
.jsa-so-shell .jsa-so-docs-card-head--mini p{
  margin:2px 0 0;
  font-size:.86rem;
  max-width:none;
}
.jsa-so-shell .jsa-so-docs-tool-grid--compact-row{
  grid-template-columns:minmax(190px,.85fr) minmax(260px,1.25fr) minmax(210px,.9fr);
  align-items:stretch;
  gap:10px;
  margin-top:8px;
}
.jsa-so-shell .jsa-so-docs-tool-grid--compact-row .jsa-so-docs-tool-block--compact{
  min-height:0;
  padding:10px 11px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.jsa-so-shell .jsa-so-tool-card-head--inline{
  align-items:center;
  margin-bottom:8px;
}
.jsa-so-shell .jsa-so-tool-card-head--inline .jsa-so-tool-card-icon{
  width:28px;
  height:28px;
  flex-basis:28px;
  border-radius:10px;
  font-size:.8rem;
}
.jsa-so-shell .jsa-so-tool-card-head--inline .jsa-so-tool-label{
  margin:0;
  font-size:.74rem;
}
.jsa-so-shell .jsa-so-tool-card-head--inline p{
  margin:1px 0 0;
  font-size:.76rem;
  line-height:1.25;
}
.jsa-so-shell .jsa-so-docs-quick-card .jsa-so-quick-doc-row select{
  min-height:34px;
  padding:.42rem .65rem;
  font-size:.86rem;
}
.jsa-so-shell .jsa-so-docs-docsets-card .jsa-so-docset-toolbar{
  margin-top:auto;
}
.jsa-so-shell .jsa-so-docs-copy-card .jsa-so-copy-missing-btn{
  margin-top:auto;
}
.jsa-so-shell .jsa-so-docs-oneoff-card{
  margin-top:10px;
  padding:10px 11px;
  display:grid;
  grid-template-columns:minmax(180px,.75fr) minmax(0,1.5fr);
  align-items:center;
  gap:12px;
}
.jsa-so-shell .jsa-so-doc-request-form--single-row{
  margin:0;
  padding:0;
  border-top:0;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
}
.jsa-so-shell .jsa-so-doc-request-form--single-row textarea{
  min-height:38px;
  max-height:74px;
  padding:.46rem .7rem;
  font-size:.88rem;
}
@media(max-width:1020px){
  .jsa-so-shell .jsa-so-docs-tool-grid--compact-row{grid-template-columns:1fr 1fr 1fr}
  .jsa-so-shell .jsa-so-docs-oneoff-card{grid-template-columns:1fr}
}
@media(max-width:780px){
  .jsa-so-shell .jsa-so-docs-tool-grid--compact-row{grid-template-columns:1fr}
  .jsa-so-shell .jsa-so-doc-request-form--single-row{grid-template-columns:1fr}
  .jsa-so-shell .jsa-so-doc-request-form--single-row .btn{width:100%;justify-content:center!important}
}

/* v1.5.1 Comments timeline visual upgrade */
[data-jsa-so-comments].jsa-so-comments-workspace {
  background: linear-gradient(180deg, #f8fbfc 0%, #edf8f5 100%);
  border: 1px solid rgba(15, 118, 110, 0.12);
  border-radius: 24px;
  box-shadow: 0 18px 45px rgba(15, 35, 52, 0.08);
  padding: 1.35rem;
}
[data-jsa-so-comments] .jsa-so-comments-hero {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 1rem;
  background: #fff;
  border: 1px solid rgba(12, 55, 88, 0.10);
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(15, 35, 52, 0.06);
  padding: 1.15rem 1.25rem;
  margin-bottom: 1rem;
}
[data-jsa-so-comments] .jsa-so-comments-kicker,
[data-jsa-so-comments] .jsa-cm-card-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #0f766e;
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
[data-jsa-so-comments] .jsa-so-comments-hero h2,
[data-jsa-so-comments] .jsa-cm-composer-head h3,
[data-jsa-so-comments] .jsa-so-comments-section-head h3,
[data-jsa-so-comments] .jsa-cm-edit-head h4 {
  color: #08344f;
  font-weight: 900;
  margin: 0.25rem 0 0;
}
[data-jsa-so-comments] .jsa-so-comments-hero h2 { font-size: 1.7rem; }
[data-jsa-so-comments] .jsa-so-comments-hero p,
[data-jsa-so-comments] .jsa-cm-composer-head p,
[data-jsa-so-comments] .jsa-so-comments-section-head p {
  color: #55708a;
  margin: 0.35rem 0 0;
}
[data-jsa-so-comments] .jsa-so-comments-hero-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  flex-wrap: wrap;
}
[data-jsa-so-comments] .jsa-so-comments-count-pill {
  align-items: center;
  background: #ecfff9;
  border: 1px solid rgba(26, 188, 156, 0.24);
  border-radius: 999px;
  color: #0f766e;
  display: inline-flex;
  gap: 0.4rem;
  padding: 0.55rem 0.8rem;
  white-space: nowrap;
}
[data-jsa-so-comments] .jsa-so-comments-count-pill strong {
  background: #1abc9c;
  border-radius: 999px;
  color: #fff;
  min-width: 1.6rem;
  padding: 0.12rem 0.45rem;
  text-align: center;
}
[data-jsa-so-comments] .comments-toolbar { display: none; }
[data-jsa-so-comments] .jsa-toggle-btn {
  align-items: center;
  display: inline-flex;
  gap: 0.45rem;
  border-radius: 12px;
  padding: 0.72rem 1rem;
}
[data-jsa-so-comments] .jsa-cm-composer-card,
[data-jsa-so-comments] .jsa-so-comments-timeline-card {
  background: #fff;
  border: 1px solid rgba(12, 55, 88, 0.11);
  border-radius: 20px;
  box-shadow: 0 12px 34px rgba(15, 35, 52, 0.065);
  margin: 0 0 1rem;
  padding: 1rem;
}
[data-jsa-so-comments] .jsa-cm-composer-head,
[data-jsa-so-comments] .jsa-so-comments-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid rgba(12, 55, 88, 0.08);
  margin-bottom: 1rem;
  padding-bottom: 0.85rem;
}
[data-jsa-so-comments] .jsa-cm-composer-head p,
[data-jsa-so-comments] .jsa-so-comments-section-head p {
  font-size: 0.88rem;
  max-width: 520px;
  text-align: right;
}
[data-jsa-so-comments] .jsa-cm-composer-grid,
[data-jsa-so-comments] .jsa-cm-edit-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 1rem;
  align-items: start;
}
[data-jsa-so-comments] .jsa-cm-type-field .btn,
[data-jsa-so-comments] .jsa-cm-edit-actions .btn {
  justify-content: center;
  width: 100%;
}
[data-jsa-so-comments] .jsa-cm-type-field select { margin-bottom: 0.75rem; }
[data-jsa-so-comments] .comment-thread {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin-top: 0;
  position: relative;
}
[data-jsa-so-comments] .comment-thread:before {
  background: linear-gradient(180deg, rgba(26,188,156,0.26), rgba(14,116,144,0.08));
  bottom: 0.65rem;
  content: '';
  left: 14px;
  position: absolute;
  top: 0.65rem;
  width: 2px;
}
[data-jsa-so-comments] .jsa-cm-timeline-item {
  border: 1px solid rgba(12, 55, 88, 0.10);
  border-left: 0;
  border-radius: 18px;
  box-shadow: 0 8px 26px rgba(15, 35, 52, 0.06);
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0;
  position: relative;
}
[data-jsa-so-comments] .jsa-cm-timeline-marker {
  display: flex;
  justify-content: center;
  padding-top: 1.15rem;
  position: relative;
  z-index: 1;
}
[data-jsa-so-comments] .jsa-cm-timeline-marker span {
  background: #fff;
  border: 3px solid #1abc9c;
  border-radius: 999px;
  box-shadow: 0 0 0 4px #ecfff9;
  height: 16px;
  width: 16px;
}
[data-jsa-so-comments] .jsa-cm-timeline-item .comment-main { padding: 1rem 1rem 1rem 0; }
[data-jsa-so-comments] .comment-header {
  align-items: flex-start;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
}
[data-jsa-so-comments] .jsa-cm-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 0.65rem;
}
[data-jsa-so-comments] .comment-type {
  border: 1px solid transparent;
  box-shadow: none;
  margin-bottom: 0;
}
[data-jsa-so-comments] .comment-type.internal-note {
  background: #e0f2fe;
  border-color: #bae6fd;
  color: #075985;
}
[data-jsa-so-comments] .comment-type.public-note {
  background: #dcfce7;
  border-color: #bbf7d0;
  color: #166534;
}
[data-jsa-so-comments] .comment-type.locked-note {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #475569;
  gap: 0.35rem;
}
[data-jsa-so-comments] .comment-text {
  background: #f8fafc;
  border: 1px solid rgba(12, 55, 88, 0.07);
  border-radius: 14px;
  color: #172b3a;
  line-height: 1.6;
  margin-top: 0;
  padding: 0.85rem 0.95rem;
}
[data-jsa-so-comments] .comment-header-right {
  align-items: flex-end;
  color: #53687a;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  min-width: 210px;
}
[data-jsa-so-comments] .comment-date {
  color: #0b3d5c;
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 800;
}
[data-jsa-so-comments] .comment-author {
  background: #f1f5f9;
  border-radius: 999px;
  color: #55708a;
  font-size: 0.78rem;
  padding: 0.28rem 0.6rem;
}
[data-jsa-so-comments] .jsa-cm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: flex-end;
  margin-top: 0.25rem;
}
[data-jsa-so-comments] .jsa-cm-iconbtn {
  border: 1px solid rgba(12, 55, 88, 0.10);
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 800;
  gap: 0.35rem;
  height: auto;
  min-height: 32px;
  padding: 0.35rem 0.62rem;
  width: auto;
}
[data-jsa-so-comments] .jsa-cm-iconbtn span { display: inline; }
[data-jsa-so-comments] .jsa-cm-delete {
  background: #fff5f5;
  color: #b91c1c;
}
[data-jsa-so-comments] .jsa-cm-empty {
  align-items: center;
  background: linear-gradient(135deg, #f8fffd 0%, #f8fbff 100%);
  border: 1px dashed rgba(26, 188, 156, 0.35);
  border-radius: 18px;
  color: #55708a;
  display: flex;
  gap: 1rem;
  padding: 1.35rem;
  position: relative;
  z-index: 1;
}
[data-jsa-so-comments] .jsa-cm-empty strong {
  color: #08344f;
  display: block;
  font-size: 1rem;
  margin-bottom: 0.25rem;
}
[data-jsa-so-comments] .jsa-cm-empty p { margin: 0 0 0.75rem; }
[data-jsa-so-comments] .jsa-cm-empty-icon {
  align-items: center;
  background: #dcfff6;
  border: 1px solid rgba(26, 188, 156, 0.28);
  border-radius: 16px;
  color: #0f766e;
  display: inline-flex;
  flex: 0 0 auto;
  height: 46px;
  justify-content: center;
  width: 46px;
}
[data-jsa-so-comments] .jsa-cm-editing {
  background: #f8fafc;
  border: 1px solid rgba(26, 188, 156, 0.18);
  border-radius: 16px;
  padding: 1rem;
}
[data-jsa-so-comments] .jsa-cm-edit-head { margin-bottom: 0.75rem; }
[data-jsa-so-comments] .jsa-cm-edit-head h4 { font-size: 1rem; }
[data-jsa-so-comments] .jsa-cm-edit-actions {
  display: grid;
  gap: 0.5rem;
  justify-content: stretch;
}
@media (max-width: 860px) {
  [data-jsa-so-comments].jsa-so-comments-workspace { padding: 0.85rem; }
  [data-jsa-so-comments] .jsa-so-comments-hero,
  [data-jsa-so-comments] .jsa-cm-composer-head,
  [data-jsa-so-comments] .jsa-so-comments-section-head {
    display: block;
  }
  [data-jsa-so-comments] .jsa-so-comments-hero-actions { justify-content: flex-start; margin-top: 0.85rem; }
  [data-jsa-so-comments] .jsa-cm-composer-head p,
  [data-jsa-so-comments] .jsa-so-comments-section-head p { text-align: left; }
  [data-jsa-so-comments] .jsa-cm-composer-grid,
  [data-jsa-so-comments] .jsa-cm-edit-grid,
  [data-jsa-so-comments] .comment-header {
    grid-template-columns: 1fr;
  }
  [data-jsa-so-comments] .comment-header-right { align-items: flex-start; min-width: 0; }
  [data-jsa-so-comments] .jsa-cm-actions { justify-content: flex-start; }
}

/* v1.5.3 Mailings tab */
.jsa-mailings-wrap{display:flex;flex-direction:column;gap:18px;color:#102033;}
.jsa-mailings-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:24px;border-radius:22px;background:linear-gradient(135deg,#f8fbff 0%,#eef6ff 100%);border:1px solid #dbe8f5;box-shadow:0 16px 40px rgba(15,44,75,.08);}
.jsa-mailings-hero-main h2{margin:6px 0 8px;font-size:28px;line-height:1.1;color:#102033;}
.jsa-mailings-hero-main p{margin:0;color:#5d6d7e;max-width:760px;}
.jsa-mailings-kicker{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#2f6f9f;}
.jsa-mailings-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.jsa-mailings-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.jsa-mailing-summary-card{padding:18px;border-radius:18px;background:#fff;border:1px solid #e2eaf3;box-shadow:0 10px 26px rgba(16,32,51,.06);}
.jsa-mailing-summary-card span{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#6c7a89;margin-bottom:8px;}
.jsa-mailing-summary-card strong{font-size:26px;line-height:1;color:#102033;}
.jsa-mailings-card{background:#fff;border:1px solid #e2eaf3;border-radius:22px;box-shadow:0 14px 34px rgba(16,32,51,.06);overflow:hidden;}
.jsa-mailings-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px;border-bottom:1px solid #edf2f7;background:#fbfdff;}
.jsa-mailings-toolbar h3{margin:0 0 5px;font-size:20px;color:#102033;}
.jsa-mailings-toolbar p{margin:0;color:#6c7a89;}
.jsa-mailings-toolbar-actions{display:flex;align-items:center;gap:12px;}
.jsa-mailings-toggle-cancelled{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:#405469;white-space:nowrap;}
.jsa-mailings-list{padding:18px;display:grid;gap:14px;}
.jsa-mailings-empty{padding:34px 18px;text-align:center;border:1px dashed #cfdbe8;border-radius:18px;background:#fbfdff;color:#5d6d7e;}
.jsa-mailings-empty h4{margin:10px 0 6px;color:#102033;font-size:20px;}
.jsa-mailings-empty p{margin:0 auto 18px;max-width:650px;}
.jsa-mailings-empty-icon{width:58px;height:58px;margin:0 auto;border-radius:18px;background:#eef6ff;color:#2f6f9f;display:grid;place-items:center;font-size:26px;}
.jsa-mailings-alert{padding:12px 16px;margin:14px 18px 0;border-radius:12px;background:#eefaf0;color:#17692a;border:1px solid #c8ebd0;font-weight:700;}
.jsa-mailings-alert.is-error{background:#fff1f1;color:#9b1c1c;border-color:#f1c7c7;}
.jsa-mailing-card{padding:18px;border-radius:18px;border:1px solid #dfe9f4;background:#fff;box-shadow:0 8px 22px rgba(16,32,51,.05);display:grid;gap:12px;}
.jsa-mailing-card.is-cancelled{opacity:.72;background:#f8fafc;border-style:dashed;}
.jsa-mailing-card-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;}
.jsa-mailing-card-header h4{margin:4px 0 4px;font-size:19px;color:#102033;}
.jsa-mailing-card-header p{margin:0;color:#6c7a89;}
.jsa-mailing-card-badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.jsa-mailing-status-badge,.jsa-mailing-ai-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;white-space:nowrap;background:#eef2f7;color:#425466;}
.jsa-mailing-status-badge.is-pending{background:#fff8df;color:#8a5b00;}
.jsa-mailing-status-badge.is-ready-to-mail{background:#e8f3ff;color:#0d5d99;}
.jsa-mailing-status-badge.is-mailed{background:#eaf7ef;color:#17723a;}
.jsa-mailing-status-badge.is-delivered{background:#e6f8ee;color:#0d7a3f;}
.jsa-mailing-status-badge.is-returned{background:#fff1e5;color:#b45309;}
.jsa-mailing-status-badge.is-cancelled{background:#f1f3f5;color:#6b7280;}
.jsa-mailing-status-badge.is-needs-review,.jsa-mailing-ai-badge.is-review{background:#fff3cd;color:#8a5b00;}
.jsa-mailing-card-address{padding:12px 14px;border-radius:14px;background:#f8fafc;color:#243447;line-height:1.45;}
.jsa-mailing-muted{color:#8a98a8;font-style:italic;}
.jsa-mailing-card-meta{display:flex;flex-wrap:wrap;gap:9px 18px;color:#526274;font-size:14px;}
.jsa-mailing-card-notes{padding:12px 14px;border-radius:14px;background:#fffdf5;border:1px solid #f2e9c8;color:#5a4b18;line-height:1.45;}
.jsa-mailing-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px;}
.jsa-mailing-modal-backdrop{position:fixed;inset:0;z-index:9999;background:rgba(9,18,33,.55);display:flex;align-items:center;justify-content:center;padding:24px;}
.jsa-mailing-modal-backdrop[hidden]{display:none!important;}
.jsa-mailing-modal{width:min(920px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;border:1px solid #dce6f2;box-shadow:0 24px 80px rgba(0,0,0,.25);}
.jsa-mailing-mailed-modal{width:min(520px,100%);}
.jsa-mailing-modal-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid #edf2f7;background:#fbfdff;border-radius:22px 22px 0 0;}
.jsa-mailing-modal-head h3{margin:4px 0 0;font-size:22px;color:#102033;}
.jsa-mailing-modal-close{border:0;background:#edf2f7;color:#2e4052;border-radius:999px;width:34px;height:34px;font-size:24px;line-height:1;cursor:pointer;}
.jsa-mailing-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px 22px;}
.jsa-mailing-form-street,.jsa-mailing-form-notes{grid-column:1/-1;}
.jsa-mailing-form-review{display:flex;align-items:end;}
.jsa-mailing-form-review label{display:flex!important;gap:8px;align-items:center;font-weight:800;}
.jsa-mailing-form-grid .form-field label,.jsa-mailing-modal .form-field label{font-weight:800;color:#30465c;margin-bottom:6px;}
.jsa-mailing-form-grid input,.jsa-mailing-form-grid select,.jsa-mailing-form-grid textarea,.jsa-mailing-modal .form-field input{width:100%;border:1px solid #ccd8e5;border-radius:12px;padding:10px 11px;background:#fff;color:#102033;}
.jsa-mailing-modal-error,.jsa-mailing-soft-warning{margin:0 22px 16px;padding:12px 14px;border-radius:12px;background:#fff3cd;border:1px solid #eed48a;color:#765500;font-weight:700;}
.jsa-mailing-modal-error{background:#fff1f1;border-color:#f1c7c7;color:#9b1c1c;}
.jsa-mailing-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 22px 22px;}
.jsa-mailing-mailed-modal form{padding:20px 0 0;}
@media (max-width:900px){.jsa-mailings-hero,.jsa-mailings-toolbar,.jsa-mailing-card-header{flex-direction:column}.jsa-mailings-summary{grid-template-columns:repeat(2,minmax(0,1fr));}.jsa-mailing-form-grid{grid-template-columns:1fr}.jsa-mailings-hero-actions{justify-content:flex-start}.jsa-mailing-modal-backdrop{align-items:flex-start;padding:12px}.jsa-mailing-modal{max-height:96vh}}
@media (max-width:560px){.jsa-mailings-summary{grid-template-columns:1fr}.jsa-mailing-card-meta{display:grid;gap:7px}.jsa-mailing-actions .btn{width:100%;}.jsa-mailing-modal-actions{flex-direction:column}.jsa-mailing-modal-actions .btn{width:100%;}}

/* v1.5.4 Service Order method selectors and logistics cleanup */
.jsa-so-service-card--method {
  align-items: stretch;
}
.jsa-so-service-method-wrap {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(226, 232, 240, .88);
}
.jsa-so-service-method-wrap[hidden] {
  display: none !important;
}
.jsa-so-service-method-wrap label {
  display: block;
  margin-bottom: 5px;
  color: #0f3f5f;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .02em;
}
.jsa-so-service-method-select {
  width: 100%;
  min-height: 34px;
  border: 1px solid #d7e3eb;
  border-radius: 10px;
  background: #fff;
  padding: 6px 9px;
  color: #0f172a;
  font-size: 12px;
}
.jsa-so-service-card--method .jsa-so-service-cost {
  min-width: 92px;
}

/* v1.5.5 Association status and originals indicator */
.jsa-so-shell .assoc-status-pill.is-closed-incomplete{background:#fff1f2;color:#be123c;border-color:#fecdd3;}
.jsa-so-shell .assoc-status-segments{display:flex;flex-wrap:wrap;gap:8px;}
.jsa-so-shell .assoc-status-btn{border:1px solid #dbe8ee;background:#fff;color:#334155;font-weight:850;border-radius:999px;padding:8px 12px;}
.jsa-so-shell .assoc-status-btn.is-active{background:#0f766e;color:#fff;border-color:#0f766e;box-shadow:0 6px 16px rgba(15,118,110,.2);}
.jsa-so-shell .assoc-status-btn[data-jsa-so-assoc-status="Complete"].is-active{background:#047857;border-color:#047857;}
.jsa-so-shell .assoc-status-btn[data-jsa-so-assoc-status="Closed Incomplete"].is-active{background:#be123c;border-color:#be123c;}
.jsa-so-shell .assoc-indicator-row{margin-top:4px;padding-top:12px;border-top:1px solid rgba(15,23,42,.08);display:flex;flex-direction:column;gap:6px;}
.jsa-so-shell .assoc-indicator-toggle{display:inline-flex;align-items:center;gap:9px;font-weight:900;color:#0e3d5c;cursor:pointer;}
.jsa-so-shell .assoc-indicator-toggle input{width:18px;height:18px;accent-color:#0f766e;}
.jsa-so-shell .assoc-indicator-toggle small,
.jsa-so-shell .assoc-indicator-row small{color:#64748b;font-size:.82rem;line-height:1.3;}
.jsa-so-shell .assoc-indicator-toggle.is-on{color:#047857;}
@media (max-width: 720px){
  .jsa-so-shell .assoc-status-segments{flex-direction:column;align-items:stretch;}
  .jsa-so-shell .assoc-status-btn{width:100%;justify-content:center;}
}


/* v1.5.6 - Orchestrator-aligned Service Order tab */
.jsa-so-panel#overview:not(.hidden) .jsa-so-overview-top-grid,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-overview-top-grid{
  grid-template-columns:minmax(560px,1.15fr) minmax(360px,.75fr) minmax(330px,.65fr);
  align-items:stretch;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-application-doc-panel,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-application-doc-panel{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff,#fbfdff);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-application-doc-panel:before,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-application-doc-panel:before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,#318fff,#1abc9c);
  border-radius:999px;
}
.jsa-so-application-doc-card{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:72px;
  padding:12px;
  border:1px solid #dce7ef;
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 14px rgba(15,23,42,.04);
}
.jsa-so-application-doc-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:14px;
  background:linear-gradient(135deg,#eff6ff,#e7fbf6);
  color:#0e3d5c;
  font-size:18px;
}
.jsa-so-application-doc-body{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
  flex:1 1 auto;
}
.jsa-so-application-doc-body strong{
  color:#0f172a;
  font-size:.92rem;
  font-weight:950;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.jsa-so-application-doc-body span{
  color:#64748b;
  font-size:.78rem;
  font-weight:750;
  line-height:1.25;
}
.jsa-so-application-doc-empty{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-height:72px;
  padding:13px 14px;
  border:1px dashed #cbd5e1;
  border-radius:14px;
  background:linear-gradient(180deg,#f8fafc,#ffffff);
  color:#64748b;
}
.jsa-so-application-doc-empty strong{
  color:#0e3d5c;
  font-size:.9rem;
  font-weight:950;
}
.jsa-so-application-doc-empty span{
  font-size:.78rem;
  line-height:1.35;
}
.jsa-so-doc-status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:5px 9px;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.01em;
  white-space:nowrap;
  border:1px solid transparent;
}
.jsa-so-doc-status-pill.is-uploaded{
  background:#e7fbf6;
  border-color:rgba(26,188,156,.35);
  color:#0f766e;
}
.jsa-so-doc-status-pill.is-missing{
  background:#f8fafc;
  border-color:#dbe3ec;
  color:#64748b;
}
.jsa-so-doc-open-btn{
  flex:0 0 auto;
  white-space:nowrap;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-group-header h3,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-group-header h3{
  letter-spacing:-.01em;
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-translation-group,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-translation-group{
  border-color:rgba(49,143,255,.22);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-translation-group .jsa-so-service-group-header,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-translation-group .jsa-so-service-group-header{
  background:linear-gradient(135deg,#ffffff,#f4f8ff);
}
.jsa-so-panel#overview:not(.hidden) .jsa-so-service-card--method .jsa-so-service-method-wrap,
.jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-service-card--method .jsa-so-service-method-wrap{
  background:#f8fafc;
  border:1px solid rgba(226,232,240,.9);
  border-radius:12px;
  padding:8px;
}
@media (max-width:1320px){
  .jsa-so-panel#overview:not(.hidden) .jsa-so-overview-top-grid,
  .jsa-so-panel[id="overview"]:not(.hidden) .jsa-so-overview-top-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:680px){
  .jsa-so-application-doc-card{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .jsa-so-doc-open-btn{
    width:100%;
    text-align:center;
  }
}
