.panel-container .panel-body dt,
.panel-container dl dt {
   font-size: 12px;
}
.panel-container .panel-body dd,
.panel-container dl dd {
   font-size: 14px;
}

.table > tbody > tr > td {
   overflow: visible !important;
}

.table {
   overflow: visible !important;
}

.table-responsive {
   overflow-x: auto;
   overflow-y: visible !important;
}

.table > tbody > tr > td .status-badge {
   overflow: visible !important;
   position: relative;
   z-index: 1;
}

.table-id-cell {
   font-weight: 500 !important;
}

.table .btn-sm {
   padding: 8px 14px;
   font-size: 12px;
   font-weight: 500;
   border-radius: 6px;
   border: none;
   transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
   box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
   margin: 0;
}

.table .btn-info {
   background: linear-gradient(135deg, #94C11F 0%, #7aa319 100%);
   color: #ffffff;
}

.table .btn-info:hover {
   background: linear-gradient(135deg, #7aa319 0%, #6e9a1c 100%);
   box-shadow: 0 3px 8px rgba(148, 193, 31, 0.3);
   transform: translateY(-1px);
}

.table .btn-info:active,
.table .btn-info:focus {
   outline: none;
   background: linear-gradient(135deg, #7aa319 0%, #6e9a1c 100%);
   box-shadow: 0 1px 3px rgba(148, 193, 31, 0.2);
   transform: none;
}

.table .btn-info:focus:not(:active) {
   background: linear-gradient(135deg, #94C11F 0%, #7aa319 100%);
   box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.table > tbody > tr > td {
   border-bottom: 1px solid var(--app-reg-show-table-cell-border) !important;
   position: relative;
}

.table > tbody > tr > td .btn-sm {
   border: none !important;
   box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
   vertical-align: middle;
   display: inline-block;
}

.table-actions-cell {
   border-bottom: 1px solid var(--app-reg-show-table-cell-border) !important;
   padding: 8px 6px !important;
   text-align: center;
   vertical-align: middle !important;
}

.table > tbody > tr > td .status-badge {
   display: inline-block;
   margin: 0;
   vertical-align: middle;
}

.table-travel {
   width: 100%;
}

.table-travel:not(.table-bordered) {
   background-color: var(--app-reg-show-table-travel-bg);
   margin: 24px 0;
   border: 1px solid var(--app-reg-show-table-travel-border);
   padding: 0;
   border-radius: 8px;
   overflow: hidden;
}

.table.table-travel.table-bordered {
   margin: 12px 0 0;
   background-color: var(--app-reg-show-table-travel-bg);
}

.table-travel th,
.table-travel td {
   text-align: center;
   padding: 14px 16px;
   border: 1px solid var(--app-reg-show-table-travel-border);
}

.table.table-travel.table-bordered > thead > tr > th,
.table.table-travel.table-bordered > tbody > tr > td {
   border-color: var(--app-reg-show-table-travel-border);
}

.table-travel th {
   background: var(--app-reg-show-table-travel-th-bg);
   color: var(--app-reg-show-table-travel-th-fg);
   font-weight: 600;
}

.observation-textarea {
   width: 100%;
   min-height: 120px;
   padding: 14px;
   border: 1px solid var(--app-reg-show-obs-border);
   border-radius: 6px;
   font-size: 14px;
   line-height: 1.6;
   color: var(--app-reg-show-obs-color);
   background: var(--app-reg-show-obs-bg);
   transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
   font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

.observation-textarea:focus {
   border-color: #27ae60;
   box-shadow: 0 0 0 3px rgba(39, 174, 96, 0.2);
   outline: none;
}

.observation-textarea::placeholder {
   color: var(--app-reg-show-obs-placeholder);
   font-style: italic;
}

.observation-textarea:hover:not(:focus) {
   border-color: var(--app-reg-show-obs-placeholder);
}

.invalid-label {
   color: var(--app-reg-show-invalid-label);
   font-weight: 500;
   font-size: 13px;
}

.reg-show-justificativa-preview-img {
   max-width: 100%;
   max-height: 300px;
   height: auto;
   width: auto;
   display: block;
   border: 1px solid var(--app-reg-show-preview-img-border);
   border-radius: 4px;
   padding: 5px;
}

.reg-show-embed-pdf-frame {
   width: 100%;
   max-width: 600px;
   height: 400px;
   background-color: var(--app-reg-show-pdf-chrome);
   border: 1px solid var(--app-reg-show-embed-border);
   border-radius: 4px;
   overflow: hidden;
}

.reg-show-inline-hint-muted {
   display: inline-block;
   margin-bottom: 10px;
   margin-left: 15px;
   color: var(--app-reg-show-inline-hint);
   font-size: 12px;
}

.pdf-preview-container {
   width: 100%;
   border-radius: 8px;
   overflow: hidden;
   margin-top: 8px;
}

.pdf-preview-container .document-pdf-placeholder {
   min-height: 250px;
}

.pdf-preview-container .document-pdf-viewer {
   width: 100%;
   height: 500px;
   background: var(--app-reg-show-pdf-chrome);
   border-radius: 8px;
   overflow: hidden;
}

.pdf-preview-container .document-pdf-iframe {
   width: 100%;
   height: 100%;
   border: none;
   position: relative;
   width: 300px;
   height: 300px;
   background-color: var(--app-color-bg-page);
   display: flex;
   justify-content: center;
   align-items: center;
   border-radius: 8px;
   overflow: hidden;
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.custom-margin {
   margin-bottom: 20px;
}

.custom-padding {
   padding: 15px;
}

.label-margin-bottom {
   margin-bottom: 25px;
}

.fake-text-box {
   border: 1px solid var(--app-reg-show-fake-box-border);
   padding: 20px 24px;
   border-radius: 8px;
   background-color: var(--app-reg-show-fake-box-bg);
   margin-top: 24px;
   box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.fake-text-box h4 {
   margin-top: 0;
   color: var(--app-reg-show-fake-box-heading);
   font-weight: 600;
   font-size: 16px;
}

.fake-text-box .footer-text {
   margin-top: 16px;
   font-style: italic;
   color: var(--app-reg-show-fake-box-footer);
   font-size: 14px;
}

#section-cid-registration .table-card-responsive--reg-show-cid-form-fit {
   overflow: visible !important;
}

.cid-registration-notes {
   padding: 16px 20px;
   margin-top: 0;
   background: var(--app-cid-notes-bg);
   border-top: 1px solid var(--app-cid-notes-border);
}

.cid-registration-notes__row {
   display: flex;
   align-items: flex-start;
   gap: 8px;
   margin-bottom: 8px;
   font-size: 12px;
   line-height: 1.6;
   color: var(--app-cid-notes-text);
}

.cid-registration-notes__row:last-child {
   margin-bottom: 0;
}

.cid-registration-notes__bullet {
   color: var(--app-cid-notes-bullet);
   font-weight: 400;
   margin-top: 2px;
   flex-shrink: 0;
}

.cid-registration-notes__text {
   flex: 1;
}

.cid-search-link-btn {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   padding: 6px 12px;
   font-size: 12px;
   font-weight: 500;
   color: var(--app-cid-search-link-color);
   text-decoration: none;
   border: 1px solid var(--app-cid-search-link-border);
   border-radius: 6px;
   background: var(--app-cid-search-link-bg);
   transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
   white-space: nowrap;
}

.cid-search-link-btn:hover {
   background: var(--app-cid-search-link-hover-bg);
   border-color: var(--app-cid-search-link-hover-border);
   color: var(--app-cid-search-link-hover-color);
   text-decoration: none;
   box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.cid-search-link-btn:active {
   background: var(--app-cid-search-link-hover-bg);
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

html.app-theme-dark a.cid-search-link-btn,
html.app-theme-dark a.cid-search-link-btn:visited {
   color: var(--app-cid-search-link-color);
}

html.app-theme-dark a.cid-search-link-btn:hover,
html.app-theme-dark a.cid-search-link-btn:focus {
   color: var(--app-cid-search-link-hover-color);
}

.cid-search-link-btn i {
   font-size: 11px;
   opacity: 0.7;
}

.cid-search-link-btn:hover i {
   opacity: 1;
}

#section-cid-registration .reg-show-cid-form-table {
   margin: 0;
   border: none;
}

#section-cid-registration .reg-show-cid-form-table tbody td .form-control {
   border: 1.5px solid var(--app-cid-control-border);
   border-radius: 5px;
   padding: 10px 14px;
   font-size: 13px;
   color: var(--app-cid-control-color);
   transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
   background: var(--app-cid-control-bg);
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
   height: auto;
   width: 100%;
   box-sizing: border-box;
}

#section-cid-registration .reg-show-cid-form-table tbody td .form-control:focus {
   border-color: #27ae60;
   box-shadow: 0 0 0 3px rgba(39, 174, 96, 0.2);
   outline: none;
}

#section-cid-registration .reg-show-cid-form-table tbody td .form-control:disabled {
   background: var(--app-cid-control-disabled-bg);
   color: var(--app-cid-control-disabled-color);
   cursor: not-allowed;
   opacity: 0.7;
}

#section-cid-registration .reg-show-cid-form-table tbody td .form-control::placeholder {
   color: var(--app-cid-placeholder-color);
   opacity: 0.75;
   font-size: 12px;
}

#section-cid-registration .reg-show-cid-form-table tbody td input[type="checkbox"] {
   width: 18px;
   height: 18px;
   cursor: pointer;
   accent-color: #27ae60;
   border-radius: 3px;
   border: 2px solid var(--app-cid-checkbox-border);
   transition: all 0.2s ease;
}

#section-cid-registration .reg-show-cid-form-table tbody td input[type="checkbox"]:checked {
   background-color: #27ae60;
   border-color: #27ae60;
}

#section-cid-registration .reg-show-cid-form-table tbody td input[type="checkbox"]:disabled {
   opacity: 0.5;
   cursor: not-allowed;
}

#section-cid-registration .reg-show-cid-form-table tbody td input[type="checkbox"]:hover:not(:disabled) {
   border-color: #27ae60;
   transform: scale(1.08);
}

#section-cid-registration .reg-show-cid-form-table tbody td {
   overflow: hidden;
   position: relative;
}

#section-cid-registration .reg-show-cid-form-table tbody td .input-group {
   display: flex;
   align-items: stretch;
   width: 100%;
   max-width: 100%;
   box-sizing: border-box;
   margin: 0;
}

#section-cid-registration .reg-show-cid-form-table tbody td .input-group .form-control {
   border-top-right-radius: 0;
   border-bottom-right-radius: 0;
   border-right: none;
   flex: 1 1 auto;
   min-width: 0;
   max-width: calc(100% - 50px);
   box-sizing: border-box;
   overflow: hidden;
   text-overflow: ellipsis;
}

#section-cid-registration .reg-show-cid-form-table tbody td .input-group-btn {
   display: flex;
   flex-shrink: 0;
   width: auto;
   max-width: 50px;
   align-items: stretch;
}

#section-cid-registration .reg-show-cid-form-table tbody td .input-group-btn .btn {
   border: 1.5px solid var(--app-cid-input-group-btn-border);
   border-left: none;
   border-top-left-radius: 0;
   border-bottom-left-radius: 0;
   background: var(--app-cid-input-group-btn-bg);
   color: var(--app-cid-input-group-btn-color);
   padding: 0;
   transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
   box-shadow: none;
   display: flex;
   align-items: center;
   justify-content: center;
   height: 100%;
   min-width: 40px;
   width: 40px;
   flex-shrink: 0;
   box-sizing: border-box;
   white-space: nowrap;
   margin: 0;
   vertical-align: top;
   position: relative;
   top: 0;
   transform: none;
}

#section-cid-registration .reg-show-cid-form-table tbody td .input-group-btn .btn:hover {
   background: var(--app-cid-input-group-btn-hover-bg);
   color: #27ae60;
   border-color: #27ae60;
   transform: none;
   top: 0;
   position: relative;
}

#section-cid-registration .reg-show-cid-form-table tbody td .input-group-btn .btn:active,
#section-cid-registration .reg-show-cid-form-table tbody td .input-group-btn .btn:focus {
   transform: none;
   top: 0;
   position: relative;
   outline: none;
}

#section-cid-registration .reg-show-cid-form-table tbody td .input-group-btn .btn:focus {
   outline: none;
   box-shadow: 0 0 0 3px rgba(39, 174, 96, 0.1);
}

#section-cid-registration .reg-show-cid-form-table tbody td .input-group-btn .btn i {
   font-size: 13px;
}

.text-center {
   text-align: center;
}

.col-md-4 {
   padding-left: 15px;
   padding-right: 15px;
}

.text-success {
   color: #27ae60;
   font-weight: 500;
}

.text-danger {
   color: #e74c3c;
   font-weight: 500;
}

.text-info {
   color: #4a90e2;
   font-weight: 500;
}

.text-warning {
   color: #f39c12;
   font-weight: 500;
}

.internal-observations-body {
   padding: 24px !important;
}

.internal-observations-label {
   display: block;
   font-weight: 600;
   font-size: 14px;
   color: var(--app-internal-obs-label-color);
   margin-bottom: 10px;
   letter-spacing: 0.01em;
}

.internal-observations-textarea {
   margin-bottom: 24px;
}

.internal-observations-textarea-input {
   border: 1.5px solid var(--app-internal-obs-textarea-border);
   border-radius: 6px;
   padding: 12px 16px;
   font-size: 14px;
   color: var(--app-internal-obs-textarea-color);
   transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
   background: var(--app-internal-obs-textarea-bg);
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
   resize: vertical;
   min-height: 120px;
   font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
   line-height: 1.6;
}

.internal-observations-textarea-input:focus {
   border-color: #27ae60;
   box-shadow: 0 0 0 3px rgba(39, 174, 96, 0.2);
   outline: none;
}

.internal-observations-textarea-input::placeholder {
   color: var(--app-timeline-muted-color);
   opacity: 0.7;
}

.internal-observations-file {
   margin-bottom: 0;
}

.file-input-wrapper {
   position: relative;
   display: flex;
   align-items: stretch;
   width: 100%;
   margin-bottom: 8px;
   border-radius: 6px;
   overflow: hidden;
   border: 1.5px solid var(--app-file-input-wrapper-border);
   background: var(--app-file-input-wrapper-bg);
}

.file-input-wrapper:focus-within {
   border-color: var(--app-reg-show-file-input-focus-border);
   box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.1);
}

.file-input {
   position: absolute;
   width: 0.1px;
   height: 0.1px;
   opacity: 0;
   overflow: hidden;
   z-index: -1;
}

.file-input-display {
   flex: 1;
   display: flex;
   align-items: center;
   padding: 12px 16px;
   background: var(--app-file-input-display-bg);
   min-height: 44px;
   border-right: 1px solid var(--app-file-input-display-border);
}

.file-input-text {
   font-size: 14px;
   color: var(--app-file-input-text-color);
   font-style: italic;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

.file-input-text.file-input-selected {
   color: var(--app-file-input-text-selected-color);
   font-style: normal;
   font-weight: 500;
}

.file-input-text.file-input-selected i {
   margin-right: 8px;
   color: var(--app-file-input-text-color);
}

.file-input-button {
   flex-shrink: 0;
   padding: 12px 20px;
   background: var(--app-file-input-button-bg);
   color: var(--app-file-input-button-color);
   border: none;
   font-size: 14px;
   font-weight: 500;
   cursor: pointer;
   transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
   display: flex;
   align-items: center;
   gap: 8px;
   white-space: nowrap;
   border-left: 1px solid var(--app-file-input-button-border);
}

.file-input-button:hover {
   background: var(--app-file-input-button-hover-bg);
   color: var(--app-file-input-button-hover-color);
}

.file-input-button:active {
   background: var(--app-file-input-button-hover-bg);
}

.file-input-button i {
   font-size: 15px;
}

.file-input-help {
   display: block;
   margin-top: 8px;
   font-size: 12px;
   color: var(--app-file-input-help-color);
   font-weight: 400;
}

.file-input-error {
   display: flex;
   align-items: center;
   gap: 6px;
   margin-top: 8px;
   padding: 8px 12px;
   background: var(--app-file-input-error-bg);
   border: 1px solid var(--app-file-input-error-border);
   border-radius: 5px;
   color: var(--app-file-input-error-color);
   font-size: 13px;
   font-weight: 500;
}

.file-input-error i {
   font-size: 14px;
}

.preview-container {
   margin-top: 20px;
   border-radius: 8px;
   overflow: hidden;
   border: 1px solid var(--app-preview-border);
   background: var(--app-preview-bg);
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.preview-header {
   display: flex;
   align-items: center;
   padding: 12px 16px;
   background: var(--app-preview-header-bg);
   border-bottom: 1px solid var(--app-preview-header-border);
}

.preview-header span {
   font-size: 13px;
   font-weight: 600;
   color: var(--app-preview-header-text);
   text-transform: uppercase;
   letter-spacing: 0.5px;
}

.preview-close {
   background: transparent;
   border: none;
   color: var(--app-reg-show-preview-close);
   cursor: pointer;
   padding: 4px 8px;
   border-radius: 4px;
   transition: all 0.2s ease;
   display: flex;
   align-items: center;
   justify-content: center;
   width: 28px;
   height: 28px;
}

.preview-close:hover {
   background: var(--app-reg-show-preview-close-hover-bg);
   color: var(--app-reg-show-preview-close-hover-fg);
}

.preview-close i {
   font-size: 14px;
}

.preview-image {
   max-width: 100%;
   max-height: 400px;
   height: auto;
   width: auto;
   display: block;
   margin: 0 auto;
   padding: 20px;
}

.preview-pdf {
   width: 100%;
   height: 500px;
   background-color: var(--app-reg-show-pdf-chrome);
   overflow: hidden;
}

.preview-pdf iframe {
   width: 100%;
   height: 100%;
   border: none;
}

.documents-container {
   padding: 24px !important;
}

.documents-grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
   gap: 28px;
   margin: 0;
}

@media (min-width: 1400px) {
   .documents-grid {
      grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
      gap: 32px;
   }
}

.document-card {
   background: var(--app-reg-show-doc-card-bg);
   border-radius: 16px;
   border: 1px solid var(--app-reg-show-doc-card-border);
   box-shadow: var(--app-reg-show-doc-card-shadow);
   transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
   overflow: hidden;
   display: flex;
   flex-direction: column;
   position: relative;
}

.document-card::before {
   display: none;
}

.document-card-header {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   padding: 18px 22px;
   background: var(--app-reg-show-doc-header-bg);
   border-bottom: 1px solid var(--app-reg-show-doc-header-border);
}

.document-card-title {
   flex: 1;
   min-width: 0;
}

.document-title-row {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 12px;
   margin-bottom: 8px;
}

.document-title {
   margin: 0;
   font-size: 15px;
   font-weight: 600;
   color: var(--app-reg-show-doc-title);
   line-height: 1.4;
   word-wrap: break-word;
   flex: 1;
   min-width: 0;
}

.document-category-badge {
   display: inline-flex;
   align-items: center;
   gap: 5px;
   padding: 3px 8px;
   border-radius: 4px;
   font-size: 11px;
   font-weight: 500;
   text-transform: none;
   letter-spacing: normal;
   white-space: nowrap;
   flex-shrink: 0;
   background: var(--app-reg-show-doc-badge-bg);
   color: var(--app-reg-show-doc-badge-fg);
   border: 1px solid var(--app-reg-show-doc-badge-border);
   box-shadow: none;
}

.document-category-badge i {
   font-size: 11px;
   color: var(--app-reg-show-doc-icon-muted);
   opacity: 0.9;
}

.document-date {
   display: flex;
   align-items: center;
   gap: 6px;
   font-size: 12px;
   color: var(--app-reg-show-doc-date);
   font-weight: 400;
}

.document-date i {
   font-size: 11px;
}

.document-card-actions {
   flex-shrink: 0;
   margin-left: 12px;
}

.document-approval-icon {
   display: inline-block;
   width: 24px;
   height: 24px;
   cursor: pointer;
   border-radius: 50%;
   transition: all 0.2s ease;
}

.document-card-body {
   padding: 22px;
   flex: 1;
   display: flex;
   flex-direction: column;
   background: var(--app-reg-show-doc-card-bg);
}

.document-image-wrapper {
   position: relative;
   width: 100%;
   border-radius: 12px;
   overflow: hidden;
   background: var(--app-reg-show-doc-image-wrap-bg);
   border: 2px solid var(--app-reg-show-doc-image-wrap-border);
   transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.document-image-wrapper:hover {
   border-color: var(--app-reg-show-doc-image-wrap-hover-border);
   box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.document-image {
   width: 100%;
   height: auto;
   max-height: 450px;
   object-fit: contain;
   display: block;
   cursor: pointer;
   transition: transform 0.2s ease;
}

.document-image:hover {
   transform: scale(1.02);
}

.document-image-skeleton {
   width: 100%;
   height: 400px;
   background: linear-gradient(
      90deg,
      var(--app-reg-show-skeleton-a) 25%,
      var(--app-reg-show-skeleton-b) 50%,
      var(--app-reg-show-skeleton-a) 75%
   );
   background-size: 200% 100%;
   animation: skeleton-loading 1.5s ease-in-out infinite;
   border-radius: 12px;
   display: flex;
   align-items: center;
   justify-content: center;
}

.document-image-skeleton::before {
   content: '';
   width: 60px;
   height: 60px;
   border: 3px solid var(--app-reg-show-skeleton-ring);
   border-top-color: var(--app-reg-show-skeleton-ring-top);
   border-radius: 50%;
   animation: skeleton-spin 0.8s linear infinite;
}

@keyframes skeleton-loading {
   0% {
      background-position: 200% 0;
   }
   100% {
      background-position: -200% 0;
   }
}

@keyframes skeleton-spin {
   0% {
      transform: rotate(0deg);
   }
   100% {
      transform: rotate(360deg);
   }
}


.document-pdf-wrapper {
   width: 100%;
   min-height: 300px;
   border-radius: 8px;
   overflow: hidden;
   background: var(--app-reg-show-pdf-wrap-bg);
   border: 1px solid var(--app-reg-show-pdf-wrap-border);
   position: relative;
}

.document-pdf-skeleton {
   width: 100%;
   height: 400px;
   background: linear-gradient(
      90deg,
      var(--app-reg-show-skeleton-a) 25%,
      var(--app-reg-show-skeleton-b) 50%,
      var(--app-reg-show-skeleton-a) 75%
   );
   background-size: 200% 100%;
   animation: skeleton-loading 1.5s ease-in-out infinite;
   border-radius: 8px;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 16px;
}

.document-pdf-skeleton::before {
   content: '';
   width: 80px;
   height: 100px;
   background: linear-gradient(
      90deg,
      var(--app-reg-show-skeleton-pdf-mid) 25%,
      var(--app-reg-show-skeleton-pdf-dark) 50%,
      var(--app-reg-show-skeleton-pdf-mid) 75%
   );
   background-size: 200% 100%;
   animation: skeleton-loading 1.5s ease-in-out infinite;
   border-radius: 4px;
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.document-pdf-skeleton::after {
   content: 'Carregando PDF...';
   color: var(--app-reg-show-skeleton-label);
   font-size: 14px;
   font-weight: 500;
}

.document-pdf-placeholder {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   padding: 48px 20px;
   text-align: center;
   min-height: 300px;
   background: var(--app-reg-show-pdf-placeholder-bg);
   border-radius: 8px;
}

.document-pdf-placeholder i {
   font-size: 56px;
   color: var(--app-reg-show-pdf-placeholder-icon);
   margin-bottom: 12px;
   opacity: 0.9;
}

.document-pdf-placeholder p {
   margin: 0 0 24px 0;
   font-size: 15px;
   color: var(--app-reg-show-pdf-placeholder-text);
   font-weight: 500;
   letter-spacing: -0.01em;
}

.document-pdf-btn {
   padding: 10px 20px;
   font-size: 13px;
   font-weight: 500;
   border-radius: 6px;
   background: var(--app-reg-show-pdf-btn-bg);
   border: 1px solid var(--app-reg-show-pdf-btn-border);
   color: var(--app-reg-show-pdf-btn-fg);
   box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
   transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   letter-spacing: 0.01em;
   line-height: 1.2;
   height: auto;
}

.document-pdf-btn:hover {
   background: var(--app-reg-show-pdf-btn-hover-bg);
   border-color: var(--app-reg-show-pdf-btn-hover-border);
   color: var(--app-reg-show-pdf-btn-hover-fg);
   box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
   transform: translateY(-1px);
}

.document-pdf-btn:active {
   transform: translateY(0);
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
   background: var(--app-reg-show-pdf-btn-active-bg);
}

.document-pdf-btn i {
   font-size: 14px;
   color: var(--app-reg-show-pdf-btn-icon);
   line-height: 1.2;
   display: inline-block;
   margin: 0;
   padding: 0;
   vertical-align: middle;
   position: relative;
   top: -0.05em;
}

.document-pdf-btn:hover i {
   color: var(--app-reg-show-pdf-btn-hover-fg);
}

.document-pdf-viewer {
   width: 100%;
   height: 500px;
   background: var(--app-reg-show-pdf-chrome);
}

.document-pdf-iframe {
   width: 100%;
   height: 100%;
   border: none;
}

.document-audio {
   width: 100%;
   padding: 20px;
   background: var(--app-reg-show-audio-bg);
   border-radius: 8px;
   border: 1px solid var(--app-reg-show-audio-border);
}

.document-audio-player {
   width: 100%;
}

.document-excel {
   width: 100%;
}

.document-excel-placeholder {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   padding: 40px 20px;
   text-align: center;
   background: var(--app-reg-show-pdf-wrap-bg);
   border-radius: 8px;
   border: 1px solid var(--app-reg-show-pdf-wrap-border);
   min-height: 200px;
}

.document-excel-placeholder i {
   font-size: 64px;
   color: #27ae60;
   margin-bottom: 16px;
}

.document-excel-placeholder p {
   margin: 0 0 20px 0;
   font-size: 14px;
   color: var(--app-reg-show-doc-date);
   font-weight: 500;
}

.document-email {
   width: 100%;
}

.document-email-placeholder {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   padding: 40px 20px;
   text-align: center;
   background: var(--app-reg-show-pdf-wrap-bg);
   border-radius: 8px;
   border: 1px solid var(--app-reg-show-pdf-wrap-border);
   min-height: 200px;
}

.document-email-placeholder i {
   font-size: 64px;
   color: #94C11F;
   margin-bottom: 16px;
}

.document-email-placeholder p {
   margin: 0 0 20px 0;
   font-size: 14px;
   color: var(--app-reg-show-doc-date);
   font-weight: 500;
}

.document-download-btn {
   padding: 10px 20px;
   font-size: 14px;
   border-radius: 6px;
   display: inline-flex;
   align-items: center;
   gap: 8px;
}



.custom-modal-backdrop {
   position: fixed !important;
   top: 0 !important;
   left: 0 !important;
   right: 0 !important;
   bottom: 0 !important;
   width: 100vw !important;
   height: 100vh !important;
   background-color: rgba(0, 0, 0, 0.85) !important;
   z-index: 1060 !important;
   cursor: pointer !important;
   pointer-events: auto !important;
}

#imageViewerModal {
   z-index: 1070 !important;
   position: fixed !important;
   top: 0 !important;
   left: 0 !important;
   right: 0 !important;
   bottom: 0 !important;
}

#imageViewerModal.modal {
   z-index: 1070 !important;
   pointer-events: none !important;
}

#imageViewerModal.modal.in,
#imageViewerModal.modal.show {
   z-index: 1070 !important;
   pointer-events: none !important;
}

.image-viewer-dialog {
   z-index: 1071 !important;
   opacity: 1 !important;
   pointer-events: auto !important;
   margin: 30px auto !important;
   position: relative !important;
   max-height: 90vh !important;
   overflow: hidden !important;
}

#imageViewerModal.modal.in .image-viewer-dialog,
#imageViewerModal.modal.show .image-viewer-dialog,
#imageViewerModal.modal.fade.in .image-viewer-dialog {
   opacity: 1 !important;
   transform: translate(0, 0) !important;
   pointer-events: auto !important;
   z-index: 1071 !important;
}

.image-viewer-modal {
   border-radius: 12px !important;
   border: 1px solid var(--app-reg-show-doc-card-border) !important;
   box-shadow: var(--app-reg-show-doc-card-shadow) !important;
   background: var(--app-reg-show-doc-card-bg) !important;
   opacity: 1 !important;
   z-index: 1072 !important;
   position: relative !important;
   pointer-events: auto !important;
   display: flex !important;
   flex-direction: column !important;
   max-height: 90vh !important;
   overflow: hidden !important;
}

.image-viewer-modal,
.image-viewer-modal *,
.image-viewer-header,
.image-viewer-header *,
.image-viewer-body,
.image-viewer-body *,
.image-viewer-footer,
.image-viewer-footer *,
.image-viewer-container,
.image-viewer-container *,
.image-viewer-controls,
.image-viewer-controls *,
.image-viewer-btn,
.image-viewer-modal .close,
.image-viewer-modal button,
.image-viewer-modal img,
.image-viewer-modal h4,
.image-viewer-modal span {
   pointer-events: auto !important;
   opacity: 1 !important;
}

.image-viewer-btn,
.image-viewer-modal .close,
.image-viewer-modal button {
   cursor: pointer !important;
   pointer-events: auto !important;
}

.image-viewer-header {
   background: var(--app-reg-show-doc-card-bg) !important;
   border-bottom: 1px solid var(--app-reg-show-doc-header-border);
   border-radius: 12px 12px 0 0;
   padding: 18px 24px;
   opacity: 1 !important;
   position: relative;
   z-index: 1;
   display: flex;
   align-items: center;
   justify-content: space-between;
   box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
}

.image-viewer-header .modal-title {
   font-weight: 600;
   color: var(--app-reg-show-doc-title) !important;
   font-size: 15px;
   margin: 0;
   letter-spacing: -0.01em;
   opacity: 1 !important;
   flex: 1;
   text-align: center;
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   width: calc(100% - 80px);
}

.image-viewer-header .close {
   opacity: 0.6 !important;
   transition: all 0.2s ease;
   font-size: 20px;
   font-weight: 400;
   color: var(--app-reg-show-preview-close) !important;
   background: transparent;
   border: none;
   padding: 6px;
   border-radius: 6px;
   line-height: 1;
   width: 32px;
   height: 32px;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-left: auto;
}

.image-viewer-header .close:hover {
   opacity: 1 !important;
   background: var(--app-reg-show-preview-close-hover-bg);
   color: var(--app-reg-show-preview-close-hover-fg) !important;
}

.image-viewer-body {
   padding: 20px;
   background: var(--app-color-bg-page) !important;
   display: flex;
   align-items: center;
   justify-content: center;
   height: calc(85vh - 140px);
   overflow: hidden !important;
   opacity: 1 !important;
   position: relative;
   z-index: 1;
}

.image-viewer-container {
   width: 100%;
   height: 100%;
   max-width: 100%;
   max-height: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 0;
   opacity: 1 !important;
   position: relative;
   z-index: 2;
   overflow: hidden !important;
}

.image-viewer-container--grabbable {
   cursor: grab;
}

.image-viewer-container--grabbable:active,
.image-viewer-container--grabbing {
   cursor: grabbing;
}

.image-viewer-img {
   max-width: calc(100% - 4px) !important;
   max-height: calc(100% - 4px) !important;
   width: auto !important;
   height: auto !important;
   object-fit: contain !important;
   border-radius: 6px;
   box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
   transition: transform 0.3s ease;
   background: var(--app-reg-show-doc-card-bg) !important;
   padding: 2px;
   opacity: 1 !important;
   position: relative;
   z-index: 3;
   border: 1px solid var(--app-reg-show-embed-border);
   display: block;
   overflow: hidden !important;
}

#imageViewerModal,
#imageViewerModal .modal-dialog,
#imageViewerModal .modal-content,
#imageViewerModal .modal-body,
#imageViewerModal .image-viewer-body,
#imageViewerModal .image-viewer-container {
   overflow: hidden !important;
   overflow-x: hidden !important;
   overflow-y: hidden !important;
}

.image-viewer-footer {
   background: var(--app-reg-show-doc-card-bg) !important;
   border-top: 1px solid var(--app-reg-show-doc-header-border);
   border-radius: 0 0 12px 12px;
   padding: 16px 24px;
   display: flex;
   justify-content: center;
   opacity: 1 !important;
   position: relative;
   z-index: 1;
   box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.05);
}

.image-viewer-controls {
   display: flex;
   gap: 6px;
   flex-wrap: wrap;
   justify-content: center;
   align-items: center;
}

.image-viewer-btn {
   padding: 10px;
   font-size: 0;
   border-radius: 8px;
   border: 1px solid var(--app-reg-show-pdf-btn-border);
   background: var(--app-reg-show-pdf-btn-bg) !important;
   color: var(--app-reg-show-pdf-btn-fg) !important;
   transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 40px;
   height: 40px;
   opacity: 1 !important;
   position: relative;
   z-index: 1;
   box-shadow: none;
   cursor: pointer;
}

.image-viewer-btn:hover {
   background: var(--app-reg-show-pdf-btn-hover-bg) !important;
   border-color: var(--app-reg-show-pdf-btn-hover-border);
   color: var(--app-reg-show-pdf-btn-hover-fg) !important;
   transform: translateY(-1px);
   box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.image-viewer-btn:active {
   transform: translateY(0);
   box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
   background: var(--app-reg-show-pdf-btn-active-bg) !important;
}

.image-viewer-btn i {
   font-size: 16px;
   opacity: 1 !important;
   margin: 0;
}

.image-viewer-btn:last-child {
   background: var(--app-reg-show-pdf-btn-bg) !important;
   border-color: var(--app-reg-show-pdf-btn-border);
   color: var(--app-reg-show-pdf-btn-icon) !important;
}

.image-viewer-btn:last-child:hover {
   background: var(--app-reg-show-pdf-btn-hover-bg) !important;
   border-color: var(--app-reg-show-pdf-btn-hover-border);
   color: var(--app-reg-show-pdf-btn-hover-fg) !important;
}

@media (max-width: 768px) {
   .documents-grid {
      grid-template-columns: 1fr;
      gap: 16px;
   }

   .image-viewer-controls {
      flex-direction: column;
      width: 100%;
   }

   .image-viewer-btn {
      width: 100%;
      justify-content: center;
   }

   #imageViewerModal .modal-dialog {
      max-width: 95% !important;
      width: 95% !important;
   }
}

.timeline {
   list-style: none;
   padding: 0;
   position: relative;
}

.timeline:before {
   content: '';
   position: absolute;
   top: 0;
   bottom: 0;
   left: 50%;
   width: 2px;
   background: var(--app-timeline-line);
   margin-left: -1px;
   z-index: 1;
}

.timeline > li {
   margin-bottom: 30px;
   position: relative;
}

.timeline > li > .timeline-badge {
   position: absolute !important;
   top: 20px !important;
   left: 50% !important;
   width: 16px !important;
   height: 16px !important;
   margin-left: -8px !important;
   background: var(--app-timeline-badge-bg) !important;
   border-radius: 50% !important;
   border: 3px solid var(--app-timeline-badge-ring) !important;
   box-shadow: 0 2px 8px rgba(149, 165, 166, 0.3), 0 0 0 4px rgba(149, 165, 166, 0.1) !important;
   z-index: 2;
   transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
   line-height: 1;
}

.timeline > li:hover > .timeline-badge {
   transform: scale(1.2);
   box-shadow: 0 4px 12px rgba(149, 165, 166, 0.4), 0 0 0 6px rgba(149, 165, 166, 0.15) !important;
}

.timeline > li > .timeline-panel {
   background: var(--app-timeline-panel-bg) !important;
   border-radius: 12px !important;
   padding: 20px 24px !important;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04) !important;
   margin-bottom: 0 !important;
   border: 1px solid var(--app-timeline-panel-border) !important;
   position: relative;
   width: 46% !important;
   float: left;
   transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.timeline > li > .timeline-panel:hover {
   box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.08) !important;
   transform: translateY(-2px);
}

.timeline > li > .timeline-panel:before {
   content: '';
   position: absolute;
   top: 23px;
   right: -9px;
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 9px 0 9px 11px;
   border-color: transparent transparent transparent var(--app-timeline-panel-border);
   z-index: 1;
   pointer-events: none;
}

.timeline > li > .timeline-panel:after {
   content: '';
   position: absolute;
   top: 24px;
   right: -8px;
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 8px 0 8px 10px;
   border-color: transparent transparent transparent var(--app-timeline-panel-bg);
   z-index: 2;
   pointer-events: none;
}

.timeline > li.timeline-inverted > .timeline-panel {
   float: right !important;
}

.timeline > li.timeline-inverted > .timeline-panel:before {
   right: auto !important;
   left: -9px !important;
   border-width: 9px 11px 9px 0 !important;
   border-color: transparent var(--app-timeline-panel-border) transparent transparent !important;
}

.timeline > li.timeline-inverted > .timeline-panel:after {
   right: auto !important;
   left: -8px !important;
   border-width: 8px 10px 8px 0 !important;
   border-color: transparent var(--app-timeline-panel-bg) transparent transparent !important;
}

.timeline-heading {
   margin-bottom: 12px;
   padding-bottom: 10px;
   border-bottom: 1px solid var(--app-timeline-heading-border);
}

.timeline-title {
   font-size: 16px;
   font-weight: 600;
   color: var(--app-timeline-title-color);
   margin: 0 0 8px 0;
   line-height: 1.4;
   letter-spacing: -0.2px;
}

.timeline-body {
   color: var(--app-timeline-body-color);
   font-size: 14px;
   line-height: 1.7;
   margin-top: 12px;
}

.timeline-body p {
   margin-bottom: 10px;
}

.timeline-body ul {
   margin-top: 8px;
   padding-left: 20px;
}

.timeline-body li {
   margin-bottom: 6px;
   color: var(--app-timeline-body-color);
}

.panel-container .text-muted {
   color: var(--app-timeline-muted-color) !important;
   font-size: 13px;
}

.history-timeline-container {
   position: relative;
}

.history-scroll-to-top-btn {
   width: 36px;
   height: 36px;
   border-radius: 50%;
   background: var(--app-history-scroll-bg);
   border: 1px solid var(--app-history-scroll-border);
   color: var(--app-history-scroll-color);
   box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
   cursor: pointer;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
   padding: 0;
   font-size: 13px;
   opacity: 0.7;
}

.history-scroll-to-top-btn:hover {
   background: var(--app-history-scroll-hover-bg);
   border-color: var(--app-history-scroll-border);
   color: var(--app-history-scroll-color);
   box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
   opacity: 1;
   transform: translateY(-1px);
}

.history-scroll-to-top-btn:active {
   transform: translateY(0);
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.history-scroll-to-top-btn i {
   line-height: 1;
}

.status-badge {
   display: inline-block;
   padding: 6px 14px;
   border-radius: 20px;
   font-size: 13px;
   font-weight: 500;
   line-height: 1.4;
   text-align: center;
   white-space: nowrap;
   border: none;
   margin: 0;
   vertical-align: middle;
}

table[ng-table="registrationHistoryTable"] .status-badge {
   white-space: normal !important;
   word-wrap: break-word !important;
   word-break: break-word !important;
   max-width: 100% !important;
   min-width: 0 !important;
   display: inline-block !important;
}

table[ng-table="registrationHistoryTable"] tbody tr td:nth-child(3) {
   min-width: 0 !important;
   max-width: 100% !important;
   overflow-wrap: break-word !important;
   word-break: break-word !important;
}

.registration-show-table-card {
   margin-bottom: 20px;
}

.registration-show-table-card__empty {
   padding: 24px 16px;
   margin: 0;
}

.table-responsive.table-card-responsive.table-card-responsive--req-history-fit {
   overflow-x: hidden;
   max-width: 100%;
}

#registrationHistoryTable.req-history-list-table {
   table-layout: fixed;
   width: 100%;
   max-width: 100%;
   min-width: 0;
}

#registrationHistoryTable.req-history-list-table col.rh-col--id {
   width: 56px;
}

#registrationHistoryTable.req-history-list-table col.rh-col--date {
   width: 108px;
}

#registrationHistoryTable.req-history-list-table col.rh-col--status {
   width: 18%;
}

#registrationHistoryTable.req-history-list-table col.rh-col--owner {
   width: 14%;
}

#registrationHistoryTable.req-history-list-table col.rh-col--location {
   width: 14%;
}

#registrationHistoryTable.req-history-list-table col.rh-col--service {
   width: 18%;
}

#registrationHistoryTable.req-history-list-table col.rh-col--cardtype {
   width: 12%;
}

#registrationHistoryTable.req-history-list-table col.rh-col--actions {
   width: 52px;
}

#registrationHistoryTable.req-history-list-table thead th,
#registrationHistoryTable.req-history-list-table tbody td {
   vertical-align: middle;
   font-size: 13px;
   padding: 8px 6px;
}

#registrationHistoryTable.req-history-list-table td.table-actions-cell .btn-sm {
   margin: 0;
   vertical-align: middle;
}

.table-responsive.table-card-responsive.table-card-responsive--reg-show-employees-fit {
   overflow-x: hidden;
   max-width: 100%;
}

#registrationEmployeeShowTable.reg-show-employee-table {
   table-layout: fixed;
   width: 100%;
   max-width: 100%;
   min-width: 0;
}

#registrationEmployeeShowTable.reg-show-employee-table col.emp-col--nome {
   width: 58%;
}

#registrationEmployeeShowTable.reg-show-employee-table col.emp-col--cpf {
   width: 42%;
}

#registrationEmployeeShowTable.reg-show-employee-table thead th,
#registrationEmployeeShowTable.reg-show-employee-table tbody td {
   vertical-align: middle;
   font-size: 13px;
   padding: 8px 6px;
}

.table-responsive.table-card-responsive.table-card-responsive--reg-show-payments-fit {
   overflow-x: auto;
   max-width: 100%;
   -webkit-overflow-scrolling: touch;
}

#registrationPaymentShowTable.reg-show-payment-table {
   table-layout: fixed;
   margin-bottom: 0;
}

#registrationPaymentShowTable.reg-show-payment-table thead th,
#registrationPaymentShowTable.reg-show-payment-table tbody td {
   vertical-align: middle;
   font-size: 13px;
   padding: 8px 6px;
}

.table-responsive.table-card-responsive.table-card-responsive--reg-show-cid-history-fit {
   overflow-x: hidden;
   max-width: 100%;
}

#cidHistoryShowTable.reg-show-cid-history-table {
   table-layout: fixed;
   width: 100%;
   max-width: 100%;
   min-width: 0;
}

#cidHistoryShowTable.reg-show-cid-history-table col.cidh-col--cid {
   width: 34%;
}

#cidHistoryShowTable.reg-show-cid-history-table col.cidh-col--date {
   width: 33%;
}

#cidHistoryShowTable.reg-show-cid-history-table col.cidh-col--perm {
   width: 33%;
}

#cidHistoryShowTable.reg-show-cid-history-table thead th,
#cidHistoryShowTable.reg-show-cid-history-table tbody td {
   vertical-align: middle;
   font-size: 13px;
   padding: 8px 6px;
}

.table-responsive.table-card-responsive.table-card-responsive--sched-history-fit {
   overflow-x: hidden;
   max-width: 100%;
}

#scheduleRegistrationHistoryShowTable.sched-history-list-table {
   table-layout: fixed;
   width: 100%;
   max-width: 100%;
   min-width: 0;
}

#scheduleRegistrationHistoryShowTable.sched-history-list-table col.sh-col--date {
   width: 100px;
}

#scheduleRegistrationHistoryShowTable.sched-history-list-table col.sh-col--status {
   width: 14%;
}

#scheduleRegistrationHistoryShowTable.sched-history-list-table col.sh-col--owner {
   width: 14%;
}

#scheduleRegistrationHistoryShowTable.sched-history-list-table col.sh-col--location {
   width: 12%;
}

#scheduleRegistrationHistoryShowTable.sched-history-list-table col.sh-col--service {
   width: 18%;
}

#scheduleRegistrationHistoryShowTable.sched-history-list-table col.sh-col--cardtype {
   width: 12%;
}

#scheduleRegistrationHistoryShowTable.sched-history-list-table col.sh-col--numero {
   width: 100px;
}

#scheduleRegistrationHistoryShowTable.sched-history-list-table col.sh-col--actions {
   width: 52px;
}

#scheduleRegistrationHistoryShowTable.sched-history-list-table thead th,
#scheduleRegistrationHistoryShowTable.sched-history-list-table tbody td {
   vertical-align: middle;
   font-size: 13px;
   padding: 8px 6px;
}

#scheduleRegistrationHistoryShowTable.sched-history-list-table td.table-actions-cell .btn-sm {
   margin: 0;
   vertical-align: middle;
}

.table-responsive.table-card-responsive.table-card-responsive--reg-show-cid-form-fit {
   overflow-x: auto;
   max-width: 100%;
}

#cidRegistrationShowTable.reg-show-cid-form-table {
   table-layout: fixed;
   width: 100%;
   max-width: 100%;
   min-width: 0;
}

#cidRegistrationShowTable.reg-show-cid-form-table col.cidreg-col--cid {
   width: 36%;
}

#cidRegistrationShowTable.reg-show-cid-form-table col.cidreg-col--principal {
   width: 14%;
}

#cidRegistrationShowTable.reg-show-cid-form-table col.cidreg-col--permanente {
   width: 14%;
}

#cidRegistrationShowTable.reg-show-cid-form-table col.cidreg-col--date {
   width: 36%;
}

#cidRegistrationShowTable.reg-show-cid-form-table thead th {
   vertical-align: middle;
   font-size: 13px;
   padding: 10px 8px;
}

#cidRegistrationShowTable.reg-show-cid-form-table td.reg-show-cid-form-table__cell {
   padding: 12px 10px;
   vertical-align: middle;
}

.protocol-status-pending {
   background-color: var(--app-protocol-pending-bg);
   color: var(--app-protocol-pending-fg);
}

.protocol-status-danger {
   background-color: var(--app-protocol-danger-bg);
   color: var(--app-protocol-danger-fg);
}

.protocol-status-success {
   background-color: var(--app-protocol-success-bg);
   color: var(--app-protocol-success-fg);
}

.protocol-status-default {
   background-color: var(--app-protocol-default-bg);
   color: var(--app-protocol-default-fg);
}

.solicitation-header-card {
   margin-bottom: 30px;
   position: relative;
}

.solicitation-header-card.solicitation-header-sticky {
   margin-bottom: 0;
}

.solicitation-header-spacer {
   display: block;
   width: 100%;
   transition: height 0.3s ease;
}

.solicitation-header {
   background: var(--app-solicitation-header-bg);
   border-bottom: 1px solid var(--app-solicitation-header-border);
   padding: 20px 24px !important;
   transition: all 0.3s ease;
}

.solicitation-header.solicitation-header-pinned {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   z-index: 1050;
   box-shadow: var(--app-solicitation-header-pinned-shadow);
   background: var(--app-solicitation-header-pinned-bg);
   border-bottom: 1px solid var(--app-solicitation-header-border);
   margin: 0;
   width: 100%;
   max-width: 100%;
   box-sizing: border-box;
   padding-left: 20px !important;
   padding-right: 20px !important;
}

.solicitation-pin-btn {
   transition: all 0.2s ease;
}

.solicitation-pin-btn:hover {
   color: #94C11F !important;
}

.solicitation-pin-btn .pin-active {
   color: #94C11F;
   transform: rotate(45deg);
}

.solicitation-pin-btn {
   padding: 4px 8px !important;
   min-width: auto;
   color: var(--app-solicitation-pin-color, #64748b) !important;
   transition: all 0.2s ease;
}

.solicitation-pin-btn:hover {
   color: #94C11F !important;
   background-color: rgba(74, 144, 226, 0.1) !important;
}

.solicitation-pin-btn i {
   font-size: 14px;
}

.solicitation-title {
   display: flex;
   align-items: baseline;
   gap: 6px;
}

.solicitation-label {
   font-size: 15px;
   font-weight: 500;
   color: var(--app-solicitation-label-color);
   letter-spacing: -0.2px;
}

.solicitation-id {
   font-size: 16px;
   font-weight: 600;
   color: var(--app-solicitation-id-color);
   letter-spacing: -0.3px;
}

.solicitation-separator {
   color: var(--app-solicitation-separator-color);
   font-weight: 400;
   margin: 0 4px;
}

.solicitation-service {
   font-size: 15px;
   font-weight: 500;
   color: #94C11F;
   letter-spacing: -0.1px;
}

.card-type-badge {
   background-color: var(--app-card-type-badge-bg);
   color: var(--app-card-type-badge-color);
   margin-left: 8px;
}

.solicitation-export-btn {
   margin-left: 12px;
   padding: 6px 14px;
   font-size: 13px;
   font-weight: 500;
   border-radius: 6px;
   transition: all 0.2s ease;
}

.solicitation-export-btn:hover {
   transform: translateY(-1px);
   box-shadow: 0 4px 8px rgba(74, 144, 226, 0.2);
}

.solicitation-actions-dropdown {
   margin-left: auto;
}

.section-subtitle-toolbar {
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   margin-bottom: 10px;
   gap: 12px;
   flex-wrap: wrap;
}

.section-subtitle-toolbar__title {
   margin: 0;
   padding: 0;
   flex: 1;
   min-width: 0;
}

.section-subtitle-toolbar__actions {
   display: flex;
   gap: 8px;
   flex-shrink: 0;
   align-items: center;
}

.section-subtitle-toolbar--medic-collapsed {
   margin-bottom: 14px;
   padding: 14px 16px 14px 18px;
   border-radius: 8px;
   border: 1px solid var(--app-reg-show-fake-box-border);
   background-color: var(--app-reg-show-fake-box-bg);
   box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
   border-left: 4px solid #94c11f;
}

.section-subtitle-toolbar--medic-collapsed .section-subtitle-toolbar__title {
   font-weight: 600;
   font-size: 16px;
   letter-spacing: 0.01em;
}

html.app-theme-dark .section-subtitle-toolbar--medic-collapsed {
   box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}

.toggle-empty-fields-btn {
   padding: 4px 10px;
   font-size: 11px;
   font-weight: 500;
   border-radius: 4px;
   background: var(--app-toggle-empty-btn-bg);
   border: 1px solid var(--app-toggle-empty-btn-border);
   color: var(--app-toggle-empty-btn-color);
   transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
   outline: none;
   letter-spacing: 0.01em;
   line-height: 1.4;
   min-height: 24px;
}

.toggle-empty-fields-btn:hover {
   background: var(--app-toggle-empty-btn-hover-bg);
   border-color: var(--app-toggle-empty-btn-hover-border);
   color: var(--app-toggle-empty-btn-hover-color);
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.toggle-empty-fields-btn:active {
   background: var(--app-toggle-empty-btn-hover-bg);
   border-color: var(--app-toggle-empty-btn-hover-border);
   color: var(--app-toggle-empty-btn-hover-color);
   box-shadow: 0 0 1px rgba(0, 0, 0, 0.03);
}

.toggle-empty-fields-btn:focus {
   outline: none;
   background: var(--app-toggle-empty-btn-bg);
   border-color: var(--app-toggle-empty-btn-hover-border);
   color: var(--app-toggle-empty-btn-hover-color);
   box-shadow: 0 0 0 2px rgba(148, 163, 184, 0.08);
}

.toggle-empty-fields-btn:focus:not(:active) {
   background: var(--app-toggle-empty-btn-bg);
   border-color: var(--app-toggle-empty-btn-hover-border);
   color: var(--app-toggle-empty-btn-hover-color);
   box-shadow: 0 0 0 2px rgba(148, 163, 184, 0.08);
}

.timeline-heading small.text-muted {
   display: flex;
   align-items: center;
   gap: 6px;
   color: var(--app-timeline-muted-color) !important;
   font-size: 12px;
   font-weight: 400;
}

.timeline-heading small.text-muted .glyphicon-time {
   font-size: 12px;
   opacity: 0.7;
}

@media (max-width: 767px) {
   .timeline:before {
      left: 20px;
   }

   .timeline-badge {
      left: 20px;
      margin-left: 0;
   }

   .timeline-panel {
      width: calc(100% - 50px);
      float: right !important;
      margin-left: 50px;
   }

   .timeline > li > .timeline-panel:before {
      left: -9px !important;
      right: auto !important;
      top: 23px;
      border-width: 9px 11px 9px 0 !important;
      border-color: transparent var(--app-timeline-panel-border) transparent transparent !important;
      filter: none;
   }

   .timeline > li > .timeline-panel:after {
      left: -8px !important;
      right: auto !important;
      top: 24px;
      border-width: 8px 10px 8px 0 !important;
      border-color: transparent var(--app-timeline-panel-bg) transparent transparent !important;
      filter: none;
   }
}

.side-index {
   position: fixed;
   right: 18px;
   top: 50%;
   transform: translateY(-50%);
   z-index: 1000;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 18px;
   padding: 20px 12px;
   background: var(--app-side-index-surface);
   border: 1px solid var(--app-side-index-border);
   border-radius: 35px;
   box-shadow: var(--app-side-index-shadow), inset 0 1px 0 var(--app-side-index-inset);
   backdrop-filter: blur(16px) saturate(180%);
   -webkit-backdrop-filter: blur(16px) saturate(180%);
   opacity: 0.3;
   transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
   height: auto;
   max-height: 80vh;
}

.side-index:hover {
   opacity: 1;
   background: var(--app-side-index-surface-hover);
   border-color: var(--app-side-index-border-hover);
   box-shadow: var(--app-side-index-shadow-hover), inset 0 1px 0 var(--app-side-index-inset-hover);
   transform: translateY(-50%) scale(1.03);
}

.side-index-item {
   position: relative;
   width: 7px;
   height: 7px;
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   border-radius: 50%;
   transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
   background: linear-gradient(135deg, #94C11F 0%, #7aa319 100%);
   opacity: 0.4;
   user-select: none;
}

.side-index:hover .side-index-item {
   opacity: 0.7;
}

.side-index-item:hover {
   background: linear-gradient(135deg, #94C11F 0%, #7aa319 100%);
   transform: scale(2);
   opacity: 1;
   box-shadow: 0 3px 12px rgba(148, 193, 31, 0.5),
               0 0 0 3px rgba(148, 193, 31, 0.15);
}

.side-index-item:hover .side-index-tooltip {
   opacity: 1;
   visibility: visible;
   transform: translateY(-50%) translateX(-8px);
}

.side-index-tooltip {
   position: absolute;
   right: 18px;
   top: 50%;
   transform: translateY(-50%) translateX(-10px);
   background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%);
   color: #ffffff;
   padding: 4px 8px;
   border-radius: 5px;
   font-size: 7.5px;
   font-weight: 500;
   white-space: nowrap;
   opacity: 0;
   visibility: hidden;
   transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
   pointer-events: none;
   box-shadow: 0 3px 12px rgba(0, 0, 0, 0.25),
               0 1px 3px rgba(0, 0, 0, 0.15);
   z-index: 1001;
   letter-spacing: 0.05px;
   text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
   border: 1px solid rgba(255, 255, 255, 0.08);
   line-height: 1.15;
}

.side-index-tooltip::before {
   content: '';
   position: absolute;
   right: -6px;
   top: 50%;
   transform: translateY(-50%);
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 6px 0 6px 6px;
   border-color: transparent transparent transparent #1a202c;
   filter: drop-shadow(1px 0 2px rgba(0, 0, 0, 0.25));
}

.side-index-tooltip::after {
   content: '';
   position: absolute;
   right: -5px;
   top: 50%;
   transform: translateY(-50%);
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 5px 0 5px 5px;
   border-color: transparent transparent transparent #2d3748;
}

.side-index-item.active {
   background: linear-gradient(135deg, #94C11F 0%, #7aa319 100%);
   opacity: 1;
   width: 9px;
   height: 9px;
   box-shadow: 0 2px 8px rgba(148, 193, 31, 0.4),
               0 0 0 2px rgba(148, 193, 31, 0.2);
   animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
   0%, 100% {
      box-shadow: 0 2px 8px rgba(148, 193, 31, 0.4),
                  0 0 0 2px rgba(148, 193, 31, 0.2);
   }
   50% {
      box-shadow: 0 2px 12px rgba(148, 193, 31, 0.6),
                  0 0 0 3px rgba(148, 193, 31, 0.3);
   }
}

#userAddressEditModal .edit-address-without-address {
   margin-top: 0;
   margin-bottom: 0;
}
