/* JSC Public Complaint/Petition Form v20.4
   Alignment correction + database-driven right sidebar presentation. */

/* ------------------------------------------------------------
   Field alignment
   ------------------------------------------------------------ */
.jsc-builder-section .jsc-engine-grid{
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:12px;
    align-items:start!important;
}
.jsc-builder-section .jsc-engine-field{
    display:flex!important;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    min-width:0;
    box-sizing:border-box;
}
/* Reserve the same label height for fields sharing a row so every input starts
   on the same baseline. The long disability label can still wrap cleanly. */
.jsc-builder-section .jsc-engine-field > label:not(.jsc-choice){
    display:flex!important;
    align-items:flex-end;
    min-height:30px;
    margin:0 0 5px!important;
    line-height:1.25!important;
    font-size:11px!important;
}
.jsc-builder-section .jsc-engine-field .jsc-fe-input,
.jsc-builder-section .jsc-engine-field input[type="text"],
.jsc-builder-section .jsc-engine-field input[type="email"],
.jsc-builder-section .jsc-engine-field input[type="tel"],
.jsc-builder-section .jsc-engine-field input[type="date"],
.jsc-builder-section .jsc-engine-field select{
    min-height:38px!important;
    height:38px;
    margin:0!important;
}
.jsc-builder-section .jsc-engine-field textarea.jsc-fe-input{
    min-height:116px!important;
    height:auto!important;
    margin:0!important;
}
/* Help text now lives below the control, so it cannot push neighbouring
   controls down by a different amount. */
.jsc-builder-section .jsc-field-help{
    display:block!important;
    margin:5px 0 0!important;
    min-height:0!important;
    line-height:1.35!important;
    color:#78909a;
    font-size:10px;
}
.jsc-builder-section .jsc-choice{
    min-height:25px;
    margin:3px 14px 3px 0!important;
}
.jsc-form-sections-grid>.jsc-section-half{align-self:stretch}

/* ------------------------------------------------------------
   Dynamic right sidebar
   ------------------------------------------------------------ */
.jsc-public-sidebar .jsc-side-block,
.jsc-public-sidebar .jsc-side-dynamic{min-width:0}
.jsc-side-media{
    width:100%;
    aspect-ratio:var(--jsc-side-ratio,16 / 9);
    overflow:hidden;
    background:#eef3f1;
}
.jsc-side-media.is-auto{aspect-ratio:auto}
.jsc-side-media img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-position:center center;
}
.jsc-side-media.is-auto img{height:auto!important}
.jsc-side-accent-green.jsc-side-hero .jsc-side-hero__caption{background:linear-gradient(135deg,#006143,#007554)}
.jsc-side-accent-gold.jsc-side-hero .jsc-side-hero__caption{background:linear-gradient(135deg,#8d6500,#b98708)}
.jsc-side-accent-blue.jsc-side-hero .jsc-side-hero__caption{background:linear-gradient(135deg,#164e82,#2573b6)}
.jsc-side-accent-neutral.jsc-side-hero .jsc-side-hero__caption{background:linear-gradient(135deg,#344d5a,#536b75)}
.jsc-side-accent-gold.jsc-side-dynamic{background:#fff8e9;border-color:#efd9a1}
.jsc-side-accent-gold.jsc-side-dynamic h3 span{background:#c18704}
.jsc-side-accent-blue.jsc-side-dynamic h3 span{background:#2b6ea9}
.jsc-side-accent-neutral.jsc-side-dynamic h3 span{background:#62757e}
.jsc-side-dynamic p:last-child,.jsc-side-dynamic ul:last-child{margin-bottom:0}
.jsc-side-dynamic a{word-break:break-word}

@media(max-width:920px){
    .jsc-builder-section .jsc-engine-field > label:not(.jsc-choice){min-height:0;align-items:flex-start}
}


/* JSC v40.7.4.0 guided intake */
.jsc-public-form .jsc-phone-e164{display:grid;grid-template-columns:minmax(160px,.42fr) minmax(0,1fr);gap:10px;align-items:center}
.jsc-public-form .jsc-phone-e164 .jsc-phone-code,.jsc-public-form .jsc-phone-e164 input[type=tel]{width:100%;min-width:0}
.jsc-public-form .jsc-routing-alert{display:none;margin:10px 0 0;padding:11px 13px;border:1px solid #d7b452;border-left:4px solid #b78600;border-radius:7px;background:#fff9e8;color:#694e00;font-size:13px;line-height:1.45}
.jsc-public-form .jsc-routing-alert.is-visible{display:block}
@media(max-width:640px){.jsc-public-form .jsc-phone-e164{grid-template-columns:1fr}}

/* v40.7.4.24 — pre-submission PDF-style review */
body.jsc-review-open{overflow:hidden!important}.jsc-review-overlay[hidden]{display:none!important}.jsc-review-overlay{position:fixed;inset:0;z-index:99999;background:rgba(8,34,30,.72);padding:28px;overflow:auto}.jsc-review-document{position:relative;max-width:920px;margin:0 auto;background:#fff;border:1px solid #0b7458;border-radius:8px;box-shadow:0 24px 80px rgba(0,0,0,.28);padding:28px 30px 24px;color:#18354b}.jsc-review-close{position:absolute;right:15px;top:12px;border:0;background:#eef5f2;border-radius:50%;width:36px;height:36px;font-size:24px;color:#31564e;cursor:pointer}.jsc-review-header{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:3px solid #d0ad38;padding:0 45px 15px 0}.jsc-review-header>div{display:flex;flex-direction:column;gap:4px;color:#00674e}.jsc-review-header strong{font-size:20px;letter-spacing:.03em}.jsc-review-header small{font-size:11px;color:#607970}.jsc-review-badge{font-size:11px;font-weight:800;color:#8a5b00;background:#fff5d5;border:1px solid #e4c35b;border-radius:999px;padding:7px 10px}.jsc-review-title{text-align:center;padding:20px 0 8px}.jsc-review-title h2{margin:0;font-size:22px;color:#16344b}.jsc-review-title p{margin:5px 0 0;color:#6e807d;font-size:12px}.jsc-review-section{margin:13px 0}.jsc-review-section h3{margin:0;background:#087859;color:#fff;padding:8px 10px;font-size:12px;letter-spacing:.025em}.jsc-review-section table{width:100%;border-collapse:collapse}.jsc-review-section th,.jsc-review-section td{border:1px solid #d4dfdc;padding:8px 10px;text-align:left;font-size:12px;vertical-align:top}.jsc-review-section th{width:28%;background:#f2f6f5;color:#31564e}.jsc-review-section p{border:1px solid #d4dfdc;border-top:0;margin:0;padding:10px;font-size:12px}.jsc-review-text{border:1px solid #d4dfdc;border-top:0;padding:10px}.jsc-review-text strong{font-size:11px;color:#31564e}.jsc-review-text p{border:0;padding:5px 0 0;line-height:1.55}.jsc-review-actions{border-top:3px solid #d0ad38;margin-top:20px;padding-top:16px;display:flex;justify-content:space-between;gap:12px}.jsc-routing-alert .jsc-route-go{display:inline-flex;margin-top:8px;border:0;border-radius:6px;background:#006b4f;color:#fff;padding:8px 11px;font-weight:700;cursor:pointer}@media(max-width:700px){.jsc-review-overlay{padding:10px}.jsc-review-document{padding:20px 14px}.jsc-review-header{align-items:flex-start;flex-direction:column}.jsc-review-section th{width:38%}.jsc-review-actions{flex-direction:column}.jsc-review-actions .jsc-btn{width:100%;box-sizing:border-box}}

/* v40.7.4.26 - guided personnel search, court-specific case codes and PDF-style verification */
.jsc-person-combobox{background-image:none!important}
.jsc-person-combobox-help{display:block;margin-top:6px;color:#5f7772;font-size:11px;line-height:1.45}
.jsc-review-validation{margin:0 0 12px;padding:11px 13px;border:1px solid #e4b35b;background:#fff8e8;color:#6f4d0e;border-radius:7px;font-size:12px;line-height:1.45}
.jsc-review-validation strong{display:block;margin-bottom:3px;color:#5e3d00}
.jsc-review-validation span{display:block}
body.jsc-review-open{overflow:hidden!important}
.jsc-review-overlay{background:rgba(4,31,28,.78);padding:22px}
.jsc-review-document{max-width:980px;border:2px solid #087257;border-radius:2px;padding:18px 22px 20px;box-shadow:0 28px 90px rgba(0,0,0,.35)}
.jsc-review-document:before{content:"";position:absolute;inset:5px;border:1px solid #c9a333;pointer-events:none}
.jsc-review-close{z-index:2;right:12px;top:10px;background:#fff;border:1px solid #cedbd7;color:#17463d}
.jsc-review-header{position:relative;z-index:1;align-items:center;border-bottom:0;padding:6px 48px 18px 6px}
.jsc-review-brand{display:flex!important;flex-direction:row!important;align-items:center;gap:18px!important}
.jsc-review-brand img{display:block;width:185px;max-height:72px;object-fit:contain}
.jsc-review-brand>div{display:flex;flex-direction:column;gap:3px}
.jsc-review-brand strong{font-size:21px;color:#087257;letter-spacing:.015em}
.jsc-review-brand small{color:#385c6c;font-size:11px}
.jsc-review-badge{white-space:nowrap;color:#8a5b00;background:#fff7d8;border-color:#d8b548}
.jsc-review-title{position:relative;z-index:1;padding:20px 0 14px;text-align:center}
.jsc-review-kicker{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;color:#788783;margin-bottom:5px}
.jsc-review-title h2{font-size:23px;letter-spacing:.02em;color:#142e4a}
.jsc-review-title p{max-width:660px;margin:6px auto 0;line-height:1.5}
#jsc-review-content{position:relative;z-index:1}
.jsc-review-section{margin:15px 2px}
.jsc-review-section h3{padding:0 10px 7px;background:transparent;color:#858d8d;font-size:11px;letter-spacing:.02em;font-weight:800}
.jsc-review-section table{width:100%;table-layout:fixed;border-collapse:collapse}
.jsc-review-section th,.jsc-review-section td{border:1px solid #becfd6;padding:8px 9px;font-size:11.5px;line-height:1.35;word-break:break-word}
.jsc-review-section th{width:18%;background:#fbfcfc;color:#2d4a5b;font-weight:700}
.jsc-review-section td{width:32%;background:#fff;color:#233d50}
.jsc-review-narrative{min-height:78px;border:1px solid #becfd6;padding:10px;background:#fff}
.jsc-review-narrative strong{display:block;color:#31566a;font-size:11px;margin-bottom:5px}
.jsc-review-narrative p{border:0!important;margin:0!important;padding:0!important;line-height:1.55!important}
.jsc-review-subject{padding:8px 0 0;font-size:11.5px;color:#496676}
.jsc-review-subject strong{color:#2b5266}
.jsc-review-attachments thead th{background:#f8fbfa;color:#18533f;font-weight:800}
.jsc-review-attachments th:first-child,.jsc-review-attachments td:first-child{width:6%}
.jsc-review-footer-note{position:relative;z-index:1;border-top:3px solid #c9a333;margin:19px 2px 0;padding:9px 2px 2px;display:flex;justify-content:space-between;gap:16px;font-size:10px;color:#687c78}
.jsc-review-footer-note strong{color:#31564e;text-align:right}
.jsc-review-actions{position:relative;z-index:1;margin-top:12px;padding-top:12px;border-top:1px solid #dce5e2}
.jsc-review-actions .jsc-primary{min-width:230px}
@media(max-width:760px){.jsc-review-overlay{padding:8px}.jsc-review-document{padding:14px 10px}.jsc-review-brand{align-items:flex-start!important}.jsc-review-brand img{width:140px}.jsc-review-brand strong{font-size:16px}.jsc-review-header{flex-direction:column;align-items:flex-start}.jsc-review-section table,.jsc-review-section tbody,.jsc-review-section tr,.jsc-review-section th,.jsc-review-section td{display:block;width:100%!important;box-sizing:border-box}.jsc-review-section th{border-bottom:0}.jsc-review-section td{margin-bottom:3px}.jsc-review-footer-note{flex-direction:column}.jsc-review-footer-note strong{text-align:left}}

/* RC12 guided-intake cascade status */
.jsc-cascade-status{display:block;margin-top:6px;font-weight:700;color:#276653}
.jsc-cascade-status.is-error{color:#9a5b00}
.jsc-engine-field[hidden]{display:none!important}

/* RC21 review preserves the safe formatting from the Word-style description editor. */
.jsc-review-rich{margin-top:6px;color:#173f4b;line-height:1.6}.jsc-review-rich p{margin:.45em 0}.jsc-review-rich ul,.jsc-review-rich ol{margin:.45em 0 .45em 1.5em;padding:0}.jsc-review-rich li{margin:.2em 0}.jsc-review-rich blockquote{margin:.6em 0;padding:7px 10px;border-left:3px solid #c9a33b;background:#fffaf0}.jsc-review-rich h3{margin:.6em 0 .3em;color:#174f43;font-size:13px}

/* RC46 — review readability and attachment verification */
.jsc-review-title p,
.jsc-review-section h3,
.jsc-review-section th,
.jsc-review-section td,
.jsc-review-narrative,
.jsc-review-narrative strong,
.jsc-review-subject,
.jsc-review-footer-note,
.jsc-review-validation,
.jsc-review-validation li,
.jsc-review-kicker,
.jsc-review-badge,
.jsc-review-brand small {
    font-size:13px!important;
    line-height:1.45;
}
.jsc-review-actions .jsc-btn{font-size:13px!important;min-height:44px}
