/* A single field and action system for public, learner, instructor and staff workflows. */
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search):not(.search-filters):not(.ghri-catalog-search){box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px 12px;width:100%;min-width:0;max-width:100%;margin:24px 0;font-family:inherit;font-size:15px;line-height:1.6}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search):not(.search-filters):not(.ghri-catalog-search)>:where(:not(button):not(.button):not(input[type=submit]):not(input[type=button]):not(input[type=reset]):not(input[type=hidden])){flex:0 0 100%;width:100%;min-width:0;max-width:100%;margin:0}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search):not(.search-filters):not(.ghri-catalog-search)>label:has(+input:not([type=hidden])),:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search):not(.search-filters):not(.ghri-catalog-search)>label:has(+select),:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search):not(.search-filters):not(.ghri-catalog-search)>label:has(+textarea),:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search):not(.search-filters):not(.ghri-catalog-search)>label:has(+.ghri-file-control){margin-bottom:-16px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) input[type=hidden]{display:none!important}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) label{display:block;min-width:0;max-width:100%;margin:0;color:#203c52;font-size:14px;font-weight:550;line-height:1.55;overflow-wrap:anywhere}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) :is(input:not([type]),input[type=text],input[type=email],input[type=url],input[type=tel],input[type=password],input[type=search],input[type=number],input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week],textarea,select){display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:48px;margin:0;padding:11px 14px;border:1px solid #c1ced8;border-radius:4px;background:#fff;color:#17344c;box-shadow:none;font-family:inherit;font-size:16px;font-weight:400;line-height:1.5}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) label>:is(input:not([type]),input[type=text],input[type=email],input[type=url],input[type=tel],input[type=password],input[type=search],input[type=number],input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week],textarea,select){margin-top:8px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) :is(input:not([type]),input[type=text],input[type=email],input[type=url],input[type=tel],input[type=password],input[type=search],input[type=number],input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week],textarea,select):focus{border-color:#2077b8;outline:3px solid #2077b826;outline-offset:1px;box-shadow:none}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) :is(input:not([type]),input[type=text],input[type=email],input[type=url],input[type=tel],input[type=password],input[type=search],input[type=number],input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week],textarea,select)::placeholder{color:#748491;opacity:1}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) :is(input:not([type]),input[type=text],input[type=email],input[type=url],input[type=tel],input[type=password],input[type=search],input[type=number],input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week],textarea,select):disabled{background:#f1f4f6;color:#6b7c89;cursor:not-allowed}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) textarea:not([hidden]){min-height:144px;resize:vertical}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) :is(textarea[name=body],textarea[name=full_text],textarea[name=transcript],textarea[rows="10"]){min-height:220px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) textarea[name=assignment_prompt]{min-height:168px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) select:not([hidden]){padding-right:34px;text-overflow:ellipsis}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) select[multiple]{min-height:168px;padding:10px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) input[type=color]{display:block;box-sizing:border-box;width:92px;height:48px;min-height:48px;max-width:100%;padding:5px;margin-top:8px;border:1px solid #c1ced8;border-radius:4px;background:#fff}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) :is(input[type=checkbox],input[type=radio]){appearance:auto;display:inline-block;flex:0 0 18px;order:-1;box-sizing:border-box;width:18px;height:18px;min-height:18px;max-width:18px;margin:3px 0 0;padding:0;box-shadow:none;accent-color:#174568;vertical-align:text-top}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) :is(input[type=checkbox],input[type=radio])::before{content:none}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) label+label{margin-top:24px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) label:is(.checkbox,:has(>input[type=checkbox]),:has(>input[type=radio])){display:flex;align-items:flex-start;gap:12px;font-size:14px;font-weight:400;line-height:1.65}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) :is(input[type=checkbox],input[type=radio]):focus-visible{outline:3px solid #2077b8;outline-offset:3px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) fieldset{min-width:0;margin:0;padding:22px;border:1px solid #dbe3e9;border-radius:5px;background:#fcfdfe}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) fieldset>legend{width:auto;max-width:100%;padding:0 8px;color:#23445d;font-size:15px;font-weight:600;line-height:1.5;white-space:normal}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) fieldset>label+label{margin-top:16px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) :is(button,input[type=submit],input[type=button],input[type=reset]):where(:not(.ghri-file-remove)){display:inline-flex;align-items:center;justify-content:center;flex:0 1 auto;gap:10px;box-sizing:border-box;min-height:48px;max-width:100%;width:auto;margin:0;padding:11px 20px;border:1px solid #173c59;border-radius:4px;background:#173c59;color:#fff;font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;white-space:normal;text-align:center;text-decoration:none;overflow-wrap:anywhere;cursor:pointer;box-shadow:none}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) :is(button,input[type=submit],input[type=button],input[type=reset]):where(:not(.ghri-file-remove)):hover{background:#244f6d;border-color:#244f6d;color:#fff}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) :is(button,input[type=submit],input[type=button],input[type=reset]):where(:not(.ghri-file-remove)):focus-visible{outline:3px solid #2077b8;outline-offset:3px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) :is(button.outline,input[type=reset],[data-add-question]){background:#fff;color:#174568;border-color:#afc1ce}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) :is(button.outline,input[type=reset],[data-add-question]):hover{background:#f0f5f8;color:#174568;border-color:#174568}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) button.button-link-delete{background:transparent;color:#a12b2f;border-color:transparent;padding:8px 0;min-height:44px;text-decoration:underline;text-underline-offset:3px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) button.button-link-delete:hover{background:transparent;border-color:transparent;color:#7d1e23}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) :is(button,input[type=submit],input[type=button],input[type=reset]):where(:not(.ghri-file-remove)):disabled{opacity:.6;cursor:not-allowed}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search):not(.search-filters):not(.ghri-catalog-search)>p{color:#596e7d;font-size:13px;line-height:1.7}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search):not(.search-filters):not(.ghri-catalog-search)>:first-child:is(p,h2,h3),:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search):not(.search-filters):not(.ghri-catalog-search)>.ghri-form-heading{margin-top:0}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-field{min-width:0;margin:0 0 24px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search):not(.search-filters):not(.ghri-catalog-search)>.ghri-field,:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-form-grid>.ghri-field{margin:0}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-field:last-child{margin-bottom:0}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0;padding-top:4px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-form-heading h3{font-family:inherit;margin:0 0 10px;font-size:25px;line-height:1.25;font-weight:600;letter-spacing:-.025em}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-form-heading p{margin:0;font-size:14px;color:#607482;line-height:1.7}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-form-section{width:100%;min-width:0;border-top:1px solid #e0e7ec;padding-top:24px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-form-section>h3{font-family:inherit;margin:0 0 20px;font-size:18px;line-height:1.4;font-weight:600;letter-spacing:-.015em}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-form-grid>.ghri-form-wide{grid-column:1/-1}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-form-consent{padding-top:4px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-file-control{margin:0}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) label+.ghri-file-control{margin-top:0}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-file-control .ghri-file-dropzone input[type=file].ghri-file-native{position:absolute;inset:0;width:100%;height:100%;max-width:none;min-height:0;margin:0;padding:0;border:0;opacity:0}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-file-control .ghri-file-remove{min-height:36px;margin:0;padding:6px 4px}
.institute-form{padding:32px;border:1px solid #dce4ea;border-radius:6px;background:#fff}
.ghri-record-editor{max-width:100%}
.ghri-field{min-width:0;margin:0 0 24px}
.ghri-quiz-editor{margin-top:12px;min-width:0}
.ghri-quiz-question{min-width:0;border:1px solid #d4dfe7;border-radius:5px;padding:22px;margin:18px 0;background:#fafcfd}
.ghri-quiz-question:first-child{margin-top:0}
.ghri-quiz-question legend{font-weight:600;padding:0 8px}
.ghri-answer-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;margin:20px 0}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) .ghri-quiz-question{margin:0 0 16px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) .ghri-quiz-question label{display:block;margin:0}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) .ghri-answer-options>label+label{margin-top:0}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) .ghri-quiz-question textarea{min-height:104px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) .ghri-quiz-question>label{margin-bottom:20px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) .ghri-quiz-question>label:last-of-type{margin-bottom:8px}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) .ghri-quiz-editor>p.description{font-size:12px;line-height:1.7;color:#607482;margin:12px 0 0}
:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) .ghri-choice-filter{width:100%;margin:8px 0!important}
.ghri-values{margin:0;padding-left:20px}.ghri-values li{margin:5px 0}
.ghri-steps{display:flex;gap:0;margin:20px 0;overflow:auto}.ghri-steps span{padding:12px 18px;border-bottom:3px solid #cdd8e2;white-space:nowrap}.ghri-steps .is-complete{border-color:#287048}.ghri-steps .is-current{border-color:#176bb0;background:#eaf3fc;font-weight:600}
.ghri-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.ghri-kpis strong{font-size:30px;display:block;color:#17344e}
.ghri-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0}
.ghri-card .description{color:#526878;font-size:13px}
.ghri-status-good{color:#18613d}.ghri-status-attention{color:#8b4c00}.ghri-status-off{color:#596673}.ghri-grid>details>summary{font-size:17px;font-weight:600;cursor:pointer}
#ghri_details .inside{display:flex;flex-wrap:wrap;gap:24px;min-width:0;padding:20px;font-family:Inter,system-ui,sans-serif}
#ghri_details .inside>*{width:100%;min-width:0;margin:0}
#ghri_details .inside .ghri-field{margin:0}
#ghri_details .inside .ghri-field>label{margin:0}
@media(max-width:680px){
 .institute-form{padding:24px 20px}
 :is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search):not(.search-filters):not(.ghri-catalog-search){gap:24px 12px}
 :is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-form-grid,.ghri-answer-options{grid-template-columns:minmax(0,1fr)}
 :is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-form-grid>.ghri-form-wide{grid-column:auto}
 :is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) fieldset,.ghri-quiz-question{padding:18px 14px}
 :is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-form-heading h3{font-size:23px}
 .ghri-steps span{padding:9px}
 #ghri_details .inside{padding:15px}
}
@media(max-width:380px){.institute-form{padding:22px 16px}:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form,.cookie-panel,:where(#ghri_details .inside)) :is(button,input[type=submit],input[type=button],input[type=reset]):where(:not(.ghri-file-remove)){padding:11px 16px}:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-form-actions{align-items:stretch}:is(.institute-form,.ghri-record-editor,.ghri-admin form,.ghri-theme main form):not(.nav-search) .ghri-form-actions>button{width:100%}}

/* Shared document pickers retain the browser's native file input and form submission. */
.ghri-file-control{box-sizing:border-box;min-width:0;width:100%;margin:8px 0 20px;font-weight:400;text-align:left}
.ghri-file-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;min-height:158px;padding:24px 18px;border:2px dashed #9babb8;border-radius:4px;background:#f7f9fb;color:#162e42;text-align:center;transition:border-color .15s,background-color .15s}
.ghri-file-dropzone:hover,.ghri-file-control.is-dragging .ghri-file-dropzone{border-color:#1c5275;background:#edf4f8}
.ghri-file-dropzone:focus-within{outline:3px solid #176aa6;outline-offset:3px}
.ghri-file-control .ghri-file-dropzone input[type=file].ghri-file-native{position:absolute;z-index:1;inset:0;box-sizing:border-box;display:block;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;opacity:0;cursor:pointer}
.ghri-file-icon{display:block;width:28px;height:28px;margin-bottom:4px;color:#536f85;pointer-events:none}
.ghri-file-icon svg{display:block;width:100%;height:100%}
.ghri-file-title{display:block;font-size:16px;font-weight:650;line-height:1.4;pointer-events:none}
.ghri-file-browse{display:block;color:#0067b9;font-size:14px;line-height:1.5;pointer-events:none}
.ghri-file-browse strong{text-decoration:underline;text-underline-offset:3px;font-weight:600}
.ghri-file-hint{display:block;font-size:12px;line-height:1.5;color:#566778;pointer-events:none}
.ghri-file-control .ghri-file-list{display:grid;gap:0;list-style:none;margin:10px 0 0;padding:0}
.ghri-file-control .ghri-file-list:empty{display:none}
.ghri-file-control .ghri-file-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin:0;padding:9px 0;border-bottom:1px solid #dce3e9;font-size:14px;line-height:1.5}
.ghri-file-name{min-width:0;overflow-wrap:anywhere;color:#18364d}
.ghri-file-name small{display:block;color:#607181;font-size:12px}
.ghri-file-control button.ghri-file-remove{flex-shrink:0;display:inline-block;width:auto;min-height:36px;margin:0;padding:6px 4px;border:0;border-radius:2px;background:transparent;color:#0067b9;font:inherit;font-size:13px;line-height:1.5;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ghri-file-control button.ghri-file-remove:hover{color:#004f91;background:#edf4f8}
.ghri-file-control button.ghri-file-remove:focus-visible{outline:3px solid #176aa6;outline-offset:2px}
.ghri-file-control .ghri-file-status{margin:8px 0 0;font-size:12px;line-height:1.5;color:#536675;font-weight:400}
.ghri-file-control.is-invalid .ghri-file-status{color:#a21e21}
.ghri-file-control.is-invalid .ghri-file-dropzone{border-color:#a21e21}
.ghri-file-control.is-disabled .ghri-file-dropzone{opacity:.55;background:#f0f2f4;border-color:#abb5be}
.ghri-file-control.is-disabled input[type=file].ghri-file-native{cursor:not-allowed}
.ghri-file-control.is-disabled .ghri-file-remove{display:none}
@media(max-width:600px){.ghri-file-dropzone{min-height:146px;padding:20px 12px}.ghri-file-title{font-size:15px}.ghri-file-control .ghri-file-list li{gap:8px}}
@media(prefers-reduced-motion:reduce){.ghri-file-dropzone{transition:none}}

/* Search layouts supply their own grid gaps. */
:is(.ghri-theme main form.search-filters,.ghri-theme main form.ghri-catalog-search)>label+label{margin-top:0}
