.jsc-public-body{margin:0;background:#f2f7f8;color:#102746;font-family:Arial,Helvetica,sans-serif}.jsc-public-header{height:66px;background:#00634b;color:#fff;border-bottom:3px solid #c8a84e;display:flex;align-items:center;padding:0 30px;gap:14px}.jsc-brand{display:flex;align-items:center;gap:10px}.jsc-brand img{width:120px;height:50px;object-fit:contain;background:#fff;border-radius:4px}.jsc-brand div{display:flex;flex-direction:column}.jsc-brand b{font-size:17px}.jsc-brand span{font-size:10px;margin-top:3px}.jsc-public-header nav{margin-left:auto;display:flex;gap:24px}.jsc-public-header nav a{color:#fff;text-decoration:none;font-size:12px;padding:25px 0 21px}.jsc-public-header nav a.active{border-bottom:3px solid #fff}.jsc-public-header i{font-size:12px}.jsc-public-wrap{padding:20px 30px 35px}.jsc-public-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.jsc-public-heading h1{margin:0;font-size:28px}.jsc-public-heading p{margin:4px 0;color:#617887;font-size:13px}.secure{background:#e6f4f0;color:#176854;border:1px solid #cde8df;padding:10px 14px;border-radius:7px;font-size:11px}.jsc-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.jsc-steps span{position:relative;text-align:center;font-size:12px;font-weight:700;color:#73828c;padding-bottom:11px;border-bottom:3px solid #d7e2df}.jsc-steps span:before{content:attr(data-step);display:inline-grid}.jsc-steps span.active{color:#173f50;border-bottom-color:#c8a84e}.jsc-steps span b{display:block}.jsc-public-form{max-width:1440px;margin:auto}.jsc-top-grid,.jsc-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.jsc-form-card{background:#fff;border:1px solid #dce7e3;border-radius:10px;padding:14px;margin-bottom:14px;box-shadow:0 5px 18px rgba(17,57,45,.06)}.jsc-card-title{display:flex;gap:10px;align-items:center;margin-bottom:13px}.jsc-card-title>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#007354;color:#fff;font-weight:900}.jsc-card-title h2{margin:0;font-size:16px}.jsc-card-title small{font-size:10px;color:#79909a}.jsc-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.jsc-field,.jsc-form-card .form-group,.jsc-form-card .param{margin-bottom:10px}.jsc-field label,.jsc-form-card .label{display:block;font-size:11px;font-weight:800;color:#26455a;margin-bottom:4px}.jsc-field input,.jsc-field textarea,.jsc-form-card input[type=text],.jsc-form-card input[type=email],.jsc-form-card select,.jsc-form-card textarea{width:100%;box-sizing:border-box;border:1px solid #cfdcd8;border-radius:7px;padding:9px;background:#fff;font-size:12px}.jsc-field textarea{min-height:150px;resize:vertical}.required:after{content:' *';color:#d63636}.word-count{text-align:right;font-size:10px;color:#68808b;margin-top:4px}.jsc-upload{display:grid;grid-template-columns:1fr 1.3fr;gap:15px;align-items:center;border-top:1px solid #edf2f0;padding-top:10px}.jsc-upload h3{font-size:13px;margin:0;color:#145a49}.jsc-upload h3 small{font-weight:400;color:#6f7f87}.jsc-upload p{font-size:10px;color:#78909a;margin:4px 0}.drop{border:1px dashed #93b7ac;min-height:74px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;background:#f8fcfb}.upload-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#167b5c;color:#fff;font-weight:900}.drop button{border:0;background:#006b4f;color:#fff;padding:7px 11px;border-radius:5px;font-weight:700}.jsc-checkline{display:block;font-size:11px;color:#365466;line-height:1.45;padding:8px 0}.jsc-checkline input{margin-right:7px}.jsc-form-actions{display:flex;justify-content:space-between;gap:10px}.jsc-btn{display:inline-flex;justify-content:center;align-items:center;border:1px solid #cbdad5;background:#fff;color:#173b4e;border-radius:7px;padding:10px 16px;text-decoration:none;font-weight:700}.jsc-primary{background:#006b4f;color:#fff;border-color:#006b4f;min-width:250px}.jsc-form-card h2{font-size:16px;margin:0 0 8px}.jsc-public-form .radio-custom,.jsc-public-form .checkbox-custom{margin:4px 0;font-size:11px}.jsc-public-form .radio-custom label,.jsc-public-form .checkbox-custom label{font-weight:500;display:inline}
@media(max-width:900px){.jsc-public-header{height:auto;flex-wrap:wrap;padding:10px 15px}.jsc-public-header nav{order:3;width:100%;overflow:auto}.jsc-public-heading,.jsc-top-grid,.jsc-bottom-grid,.jsc-two,.jsc-upload{grid-template-columns:1fr}.jsc-public-wrap{padding:15px}.secure{max-width:none}.jsc-steps{grid-template-columns:1fr 1fr}.jsc-public-header i{display:none}}

/* HESK-native attachment engine integrated with the JSC form builder. */
.jsc-hesk-attachment-upload .jsc-upload-engine{min-width:0}.jsc-hesk-attachment-upload .dropzone{min-height:82px;border:1px dashed #93b7ac;border-radius:8px;background:#f8fcfb;padding:10px;box-sizing:border-box}.jsc-hesk-attachment-upload .fileinput-button{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;background:#006b4f;border-color:#006b4f;color:#fff;border-radius:6px;padding:8px 12px;font-weight:700;cursor:pointer}.jsc-hesk-attachment-upload .link{display:inline-block;margin-top:5px;font-size:10px}.jsc-hesk-attachment-upload .attachment-row{background:#fff;border:1px solid #dce7e3;border-radius:7px;padding:7px}
.jsc-builder-section .jsc-engine-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px}.jsc-engine-field{width:var(--jsc-field-width,100%);box-sizing:border-box}.jsc-engine-field label{display:block;font-size:11px;font-weight:800;color:#26455a;margin-bottom:4px}.jsc-engine-field .jsc-fe-input{width:100%;box-sizing:border-box;border:1px solid #cfdcd8;border-radius:7px;padding:9px;background:#fff;font-size:12px}.jsc-engine-field textarea.jsc-fe-input{resize:vertical;min-height:120px}.jsc-field-help{display:block;color:#78909a;font-size:10px;margin:-1px 0 4px}.jsc-choice{display:inline-flex!important;align-items:center;gap:5px;margin:5px 12px 5px 0!important;font-weight:600!important}.jsc-protected-component{box-sizing:border-box}.security-ok{padding:10px;border-radius:7px;background:#e6f4f0;color:#176854}.jsc-public-form .jsc-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.jsc-form-actions{display:flex;justify-content:space-between;gap:10px;align-items:center}.jsc-engine-field select option[hidden]{display:none}.jsc-public-form .required:after{content:' *';color:#d63636}
@media(max-width:900px){.jsc-public-form .jsc-bottom-grid{grid-template-columns:1fr}.jsc-engine-field{width:100%!important}}

/* FINAL public-form width fix: percentage widths are true flex-basis values. */
.jsc-builder-section .jsc-engine-grid{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:12px;
}
.jsc-builder-section .jsc-engine-field{
    flex:0 0 calc(var(--jsc-field-width,100%) - 6px);
    width:var(--jsc-field-width,100%) !important;
    max-width:calc(var(--jsc-field-width,100%) - 6px);
    min-width:0;
    box-sizing:border-box;
}
.jsc-builder-section .jsc-hesk-attachment-upload{
    flex:0 0 calc(var(--jsc-field-width,100%) - 6px);
    max-width:calc(var(--jsc-field-width,100%) - 6px);
}
@media(max-width:900px){
    .jsc-builder-section .jsc-engine-field,
    .jsc-builder-section .jsc-hesk-attachment-upload{
        flex-basis:100%;
        max-width:100%;
        width:100%!important;
    }
}


/* JSC Form Builder v20: one 12-column responsive layout engine shared with admin. */
.jsc-builder-section .jsc-engine-grid{
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:12px;
    align-items:start;
}
.jsc-builder-section .jsc-engine-field,
.jsc-builder-section .jsc-hesk-attachment-upload{
    grid-column:span var(--jsc-field-span,12)!important;
    width:auto!important;
    max-width:none!important;
    min-width:0;
    flex:none!important;
}
.jsc-builder-section .jsc-upload{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(280px,1.35fr);gap:16px}
@media(max-width:900px){
    .jsc-builder-section .jsc-engine-grid{grid-template-columns:1fr}
    .jsc-builder-section .jsc-engine-field,
    .jsc-builder-section .jsc-hesk-attachment-upload{grid-column:1!important}
    .jsc-builder-section .jsc-upload{grid-template-columns:1fr}
}

/* v40.7.4.26 RC7 — pre-review required-field guidance */
.jsc-public-form .jsc-field-error{border-radius:8px;background:#fff6f6;box-shadow:0 0 0 2px rgba(190,38,38,.08);padding:6px}
.jsc-public-form .jsc-invalid-field,
.jsc-public-form .jsc-field-error .jsc-fe-input,
.jsc-public-form .jsc-field-error input,
.jsc-public-form .jsc-field-error select,
.jsc-public-form .jsc-field-error textarea{border-color:#c62828!important;box-shadow:0 0 0 2px rgba(198,40,40,.12)!important;background:#fffafa!important}
.jsc-public-form label.jsc-required-missing{color:#b42318!important}
.jsc-public-form label.jsc-required-missing:not(.required)::after{content:' *';color:#c62828;font-weight:900}
.jsc-review-validation{border:1px solid #efb3b3;border-left:5px solid #c62828;background:#fff4f4;color:#7d1b1b;border-radius:8px;padding:12px 14px;margin:10px 0 14px}
.jsc-review-validation strong{display:block;margin-bottom:6px}
.jsc-review-validation ul{margin:5px 0 0 18px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 24px}
.jsc-review-validation li{font-size:12px;font-weight:700}
@media(max-width:760px){.jsc-review-validation ul{grid-template-columns:1fr}}

/* v40.7.4.26 RC21 — Word-style 600-word description editor */
.jsc-word-editor{border:1px solid #cfdcd8;border-radius:9px;background:#fff;overflow:hidden;box-shadow:0 1px 0 rgba(10,75,55,.02)}
.jsc-word-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:7px 8px;border-bottom:1px solid #dde7e3;background:linear-gradient(180deg,#fbfdfc,#f3f8f6)}
.jsc-word-toolbar button{min-width:31px;height:30px;border:1px solid #cbdad5;border-radius:5px;background:#fff;color:#244b55;font-size:11px;font-weight:700;padding:0 8px;cursor:pointer}.jsc-word-toolbar button:hover,.jsc-word-toolbar button:focus{border-color:#6aa18f;background:#eef8f4;outline:none}.jsc-word-toolbar .sep{width:1px;height:22px;background:#d8e3df;margin:0 2px}
.jsc-word-page{min-height:210px;padding:18px 20px;background:#fff;color:#1d3e50;font:13px/1.65 Arial,Helvetica,sans-serif;outline:none;overflow-wrap:anywhere}.jsc-word-page:focus{box-shadow:inset 0 0 0 2px rgba(0,107,79,.12)}.jsc-word-page:empty:before{content:attr(data-placeholder);color:#8ba09a;pointer-events:none}.jsc-word-page p{margin:.55em 0}.jsc-word-page p:first-child{margin-top:0}.jsc-word-page ul,.jsc-word-page ol{margin:.55em 0 .55em 1.65em;padding:0}.jsc-word-page li{margin:.22em 0}.jsc-word-page blockquote{margin:.7em 0;padding:7px 11px;border-left:3px solid #c9a33b;background:#fffaf0;color:#52645d}.jsc-word-page u{text-underline-offset:2px}
.jsc-rich-source{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:.01!important;padding:0!important;border:0!important}
.jsc-word-editor-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px;border-top:1px solid #edf2f0;background:#fbfdfc;color:#70867f;font-size:9.5px}.jsc-word-editor-status .word-count{margin:0;color:#607a73;font-size:10px;white-space:nowrap}.jsc-word-editor.is-near-limit .word-count{color:#a56a00}.jsc-word-editor.is-at-limit .word-count{color:#b42318}
@media(max-width:640px){.jsc-word-toolbar{gap:4px}.jsc-word-toolbar button{padding:0 6px}.jsc-word-page{min-height:190px;padding:14px}.jsc-word-editor-status{align-items:flex-start;flex-direction:column;gap:4px}}
