.procedure-trigger { position: fixed; top: 50%; right: 0; z-index: 1035; width: 42px; padding: 14px 10px; transform: translateY(calc(-50% - 235px)); border: 0; border-radius: 8px 0 0 8px; background: steelblue; box-shadow: 0 4px 14px rgba(0,0,0,.2); color: #fff; font-size: 14px; font-weight: bold; line-height: 1.35; letter-spacing: .08em; text-align: center; transition: right .25s ease, background-color .2s ease; }
.procedure-trigger:hover, .procedure-trigger:focus { background: #337ab7; color: #fff; outline: 2px solid #fff; outline-offset: -4px; }
.procedure-trigger-icon { display: block; width: 25px; height: 25px; margin: 0 auto 7px; border-radius: 50%; background: rgba(255,255,255,.18); font-size: 17px; line-height: 25px; }
.procedure-trigger-label { display: block; writing-mode: vertical-rl; }
.procedure-overlay { position: fixed; inset: 0; z-index: 1050; visibility: hidden; background: rgba(20,39,55,.46); opacity: 0; transition: visibility 0s linear .25s, opacity .25s ease; }
.procedure-drawer { position: fixed; top: 0; right: 0; bottom: 0; z-index: 1055; width: 560px; max-width: 92vw; visibility: hidden; overflow-x: hidden; overflow-y: auto; transform: translateX(100%); background: #f4f7fa; box-shadow: -10px 0 32px rgba(20,39,55,.22); transition: visibility 0s linear .25s, transform .25s ease; }
.procedure-is-open .procedure-overlay, .procedure-is-open .procedure-drawer { visibility: visible; transition-delay: 0s; }
.procedure-is-open .procedure-overlay { opacity: 1; }
.procedure-is-open .procedure-drawer { transform: translateX(0); }
.procedure-is-open .procedure-trigger { right: 560px; }
body.procedure-is-open { overflow: hidden; }
.procedure-header { position: sticky; top: 0; z-index: 2; display: flex; align-items: flex-start; padding: 25px 26px 21px; border-bottom: 1px solid #dce5ec; background: #fff; }
.procedure-header > div { flex: 1; }
.procedure-eyebrow { color: steelblue; font-size: 11px; font-weight: bold; letter-spacing: .16em; }
.procedure-header h2 { margin: 4px 0; color: #203442; font-size: 25px; font-weight: bold; }
.procedure-header p { margin: 0; color: #687d8b; font-size: 13px; }
.procedure-close { width: 40px; height: 40px; margin-left: 14px; padding: 0; border: 1px solid #ccd9e2; border-radius: 50%; background: #fff; color: #566d7c; font-size: 26px; line-height: 36px; }
.procedure-close:hover, .procedure-close:focus { border-color: #1769aa; color: #1769aa; outline: none; }
.procedure-body { padding: 22px 24px 32px; }
.procedure-section { margin-bottom: 24px; }
.procedure-section-heading { display: flex; align-items: flex-start; margin-bottom: 12px; }
.procedure-section-number { flex: 0 0 27px; height: 27px; margin-right: 10px; border-radius: 50%; background: #dbeaf7; color: #1769aa; font-weight: bold; line-height: 27px; text-align: center; }
.procedure-section-heading h3 { margin: 1px 0 2px; color: #2b424f; font-size: 16px; font-weight: bold; }
.procedure-section-heading p { margin: 0; color: #758894; font-size: 12px; }
.procedure-action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.procedure-action { display: grid; grid-template-columns: 40px 1fr 14px; gap: 10px; align-items: center; width: 100%; min-height: 78px; padding: 12px; border: 1px solid #d8e3ea; border-radius: 3px; background: #fff; color: #29424f; box-shadow: 0 1px 2px rgba(27,58,78,.08); font-family: inherit; text-align: left; cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease; }
.procedure-action:hover, .procedure-action:focus { border-color: steelblue; box-shadow: 0 3px 9px rgba(70,130,180,.14); color: steelblue; text-decoration: none; }
.procedure-action-primary { border-color: #a9cce7; background: #f4f9fd; }
.procedure-action-icon { width: 38px; height: 38px; border-radius: 3px; background: #e8f1f8; color: steelblue; font-size: 15px; font-weight: bold; line-height: 38px; text-align: center; }
.procedure-action strong, .procedure-action small { display: block; }
.procedure-action strong { font-size: 14px; }
.procedure-action small { margin-top: 3px; color: #758894; font-size: 11px; line-height: 1.4; }
.procedure-action-arrow { color: #91a4b0; font-size: 24px; }
.procedure-task-group-picker { margin-top: 12px; padding: 13px 14px 14px; border: 1px solid #d8e3ea; border-left: 4px solid steelblue; border-radius: 3px; background: #fff; }
.procedure-task-group-picker label { display: block; margin-bottom: 2px; color: #29424f; font-size: 14px; font-weight: bold; }
.procedure-task-group-picker p { margin: 0 0 9px; color: #758894; font-size: 11px; }
.procedure-task-group-picker select { width: 100%; height: 38px; color: #29424f; font-size: 13px; }
.procedure-calendar-link { display: grid; grid-template-columns: 32px 1fr 14px; gap: 10px; align-items: center; padding: 14px 16px; border-radius: 3px; background: midnightblue; color: #fff; }
.procedure-calendar-link:hover, .procedure-calendar-link:focus { background: steelblue; color: #fff; text-decoration: none; }
.procedure-calendar-link strong, .procedure-calendar-link small { display: block; }
.procedure-calendar-link small { margin-top: 2px; color: #d6e2e9; }
.procedure-step-drawer { position: fixed; top: 0; right: 0; bottom: 0; z-index: 1060; width: 560px; max-width: 92vw; visibility: hidden; overflow-x: hidden; overflow-y: auto; transform: translateX(100%); background: #f4f7fa; box-shadow: -10px 0 32px rgba(20,39,55,.22); transition: visibility 0s linear .25s, transform .25s ease; }
.procedure-step-drawer.is-open { visibility: visible; transform: translateX(0); transition-delay: 0s; }
.procedure-step-header { position: sticky; top: 0; z-index: 1; display: flex; justify-content: space-between; align-items: center; padding: 17px 24px; border-bottom: 1px solid #dce5ec; background: #fff; }
.procedure-step-back { padding: 8px 14px 8px 10px; border: 1px solid #ccd9e2; border-radius: 3px; background: #fff; color: #35627e; font-size: 13px; font-weight: bold; }
.procedure-step-back span { margin-right: 4px; font-size: 21px; line-height: 10px; vertical-align: -1px; }
.procedure-step-back:hover, .procedure-step-back:focus { border-color: steelblue; color: steelblue; outline: none; }
.procedure-step-header .procedure-close { margin-left: 0; }
.procedure-step-body { padding: 26px 28px 38px; }
.procedure-step-body h2 { margin: 5px 0 7px; color: #203442; font-size: 25px; font-weight: bold; }
.procedure-step-description { min-height: 40px; margin: 0 0 18px; color: #687d8b; font-size: 13px; line-height: 1.6; }
.procedure-target-summary { display: flex; align-items: center; margin-bottom: 22px; padding: 14px 16px; border-left: 4px solid steelblue; background: #eaf3f9; color: #29424f; }
.procedure-target-summary span { flex: 0 0 34px; height: 34px; margin-right: 11px; border-radius: 50%; background: steelblue; color: #fff; font-size: 14px; font-weight: bold; line-height: 34px; text-align: center; }
.procedure-target-summary strong { font-size: 14px; }
.procedure-field { margin-bottom: 18px; }
.procedure-field[hidden] { display: none !important; }
.procedure-field label { display: block; margin-bottom: 7px; color: #2b424f; font-size: 14px; font-weight: bold; }
.procedure-field select { width: 100%; height: 42px; border-color: #c9d7e0; color: #29424f; background-color: #fff; font-size: 13px; }
.procedure-field select:focus { border-color: steelblue; box-shadow: 0 0 0 2px rgba(70,130,180,.14); }
.procedure-field .select2-container { width: 100% !important; }
.procedure-field .select2-container .select2-selection--single { height: 42px; border-color: #c9d7e0; border-radius: 4px; background: #fff; }
.procedure-field .select2-container .select2-selection--single .select2-selection__rendered { padding-right: 34px; color: #29424f; font-size: 13px; line-height: 40px; }
.procedure-field .select2-container .select2-selection--single .select2-selection__arrow { height: 40px; }
.procedure-field .select2-container--focus .select2-selection--single, .procedure-field .select2-container--open .select2-selection--single { border-color: steelblue; box-shadow: 0 0 0 2px rgba(70,130,180,.14); }
.procedure-step-drawer .select2-dropdown { z-index: 1070; border-color: #c9d7e0; font-size: 13px; }
.procedure-is-open > .select2-container--open { z-index: 1070; }
.procedure-is-open > .select2-container--open .select2-dropdown { border-color: #c9d7e0; font-size: 13px; }
.procedure-step-drawer .select2-search__field { border-color: #c9d7e0; }
.procedure-is-open > .select2-container--open .select2-search__field { border-color: #c9d7e0; }
.procedure-field small { display: block; margin-top: 6px; color: #758894; font-size: 11px; }
.procedure-step-message { min-height: 20px; margin: 1px 0 8px; color: #687d8b; font-size: 12px; }
.procedure-step-message.is-error { color: #b5332f; }
.procedure-step-actions { display: flex; flex-direction: column; gap: 9px; }
.procedure-step-submit { width: 100%; padding: 11px 18px; border-color: #337ab7; background: steelblue; font-size: 15px; font-weight: bold; }
.procedure-step-submit:hover, .procedure-step-submit:focus { border-color: #286090; background: #337ab7; }
.procedure-step-submit[disabled] { border-color: #c8d3da; background: #c8d3da; color: #fff; opacity: 1; }
.procedure-step-submit[hidden] { display: none !important; }
.procedure-application-note { margin: -2px 2px 2px; padding: 9px 11px; border-left: 3px solid #e6a23c; background: #fff8e8; color: #76531b; font-size: 12px; line-height: 1.6; }
.procedure-application-note[hidden] { display: none !important; }
.procedure-step-alternative { width: 100%; padding: 10px 18px; border-color: #9fb4c1; color: #35627e; background: #fff; font-size: 14px; font-weight: bold; }
.procedure-step-alternative:hover, .procedure-step-alternative:focus { border-color: steelblue; color: steelblue; background: #f4f9fd; }
.procedure-step-alternative[hidden] { display: none !important; }
.procedure-step-application { width: 100%; padding: 10px 18px; border-color: #9fb4c1; color: #35627e; background: #fff; font-size: 14px; font-weight: bold; }
.procedure-step-application:hover, .procedure-step-application:focus { border-color: steelblue; color: steelblue; background: #f4f9fd; }
.procedure-step-application[hidden] { display: none !important; }
.procedure-record-actions { margin-top: 2px; padding: 10px 11px 11px; border: 1px solid #d5e1e8; border-left: 4px solid steelblue; background: #fff; }
.procedure-record-actions[hidden], .procedure-record-actions button[hidden] { display: none !important; }
.procedure-record-actions-label { display: block; margin-bottom: 7px; color: #526b79; font-size: 11px; font-weight: bold; }
.procedure-record-action-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.procedure-record-actions .btn { width: 100%; min-width: 0; padding: 8px 4px 7px; border-color: #9fb4c1; color: #35627e; background: #fff; line-height: 1.2; }
.procedure-record-actions .btn strong, .procedure-record-actions .btn small { display: block; }
.procedure-record-actions .btn strong { font-size: 13px; }
.procedure-record-actions .btn small { margin-top: 3px; color: #758894; font-size: 10px; font-weight: normal; }
.procedure-record-actions .btn:hover, .procedure-record-actions .btn:focus { border-color: steelblue; color: steelblue; background: #f4f9fd; }
.procedure-record-actions .btn:hover small, .procedure-record-actions .btn:focus small { color: steelblue; }
@media (max-width: 609px) { .procedure-trigger { top: 12px; transform: none; } .procedure-is-open .procedure-trigger { right: 92vw; } .procedure-action-grid { grid-template-columns: 1fr; } .procedure-header { padding: 20px; } .procedure-body { padding: 18px 16px 28px; } }
@media (max-width: 609px) { .procedure-step-header { padding: 15px 16px; } .procedure-step-body { padding: 22px 18px 32px; } }
@media (prefers-reduced-motion: reduce) { .procedure-trigger, .procedure-overlay, .procedure-drawer, .procedure-action, .procedure-step-drawer { transition: none; } }
