.fluxuscodex-page {
   max-width: 100%;
   padding: 0 12px 24px;
}

.fluxuscodex-actions {
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   gap: 8px;
   margin-bottom: 14px;
}

.fluxuscodex-reset-panel {
   max-width: 1320px;
   margin: 0 auto 16px;
   padding: 14px 16px;
   border: 1px solid #f0b6b6;
   border-left: 4px solid #c92a2a;
   border-radius: 8px;
   background: #fff8f8;
}

.fluxuscodex-reset-panel h3 {
   display: flex;
   align-items: center;
   gap: 8px;
   margin: 0 0 8px;
   color: #742020;
   font-size: 17px;
}

.fluxuscodex-reset-form {
   display: grid;
   grid-template-columns: minmax(220px, 280px) minmax(260px, 1fr) auto;
   gap: 8px;
   align-items: center;
   margin: 12px 0 8px;
}

.fluxuscodex-source-badge {
   display: inline-flex;
   align-items: center;
   padding: 3px 8px;
   border-radius: 999px;
   background: #eaf5fa;
   color: #0f5e82;
   font-size: 12px;
   font-weight: 700;
}

.fluxuscodex-source-editor {
   min-width: 280px;
}

.fluxuscodex-source-editor summary {
   cursor: pointer;
   color: #0f5e82;
   font-weight: 700;
}

.fluxuscodex-source-editor form {
   display: grid;
   gap: 6px;
   margin-top: 8px;
}

.fluxuscodex-source-editor label {
   margin-top: 4px;
   color: #344055;
   font-size: 12px;
   font-weight: 700;
}

.fluxuscodex-readonly-text {
   min-height: 118px;
   overflow: auto;
   white-space: normal;
}

.fluxuscodex-platform-intro {
   max-width: 960px;
   margin: 0 auto 18px;
   text-align: center;
   color: #4f5f73;
   font-size: 1rem;
}

.fluxuscodex-module-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(220px, 1fr));
   gap: 12px;
   max-width: 1320px;
   margin: 0 auto 14px;
}

.fluxuscodex-module-order-bar {
   align-items: center;
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   justify-content: flex-end;
   max-width: 1320px;
   margin: -4px auto 14px;
}

.fluxuscodex-module-order-bar .btn {
   font-size: .78rem;
   opacity: .72;
   padding: 2px 8px;
}

.fluxuscodex-module-card {
   display: grid;
   grid-template-columns: 42px minmax(0, 1fr);
   gap: 12px;
   min-height: 150px;
   padding: 16px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #fff;
   position: relative;
}

.fluxuscodex-module-card > div:last-child {
   min-width: 0;
}

.fluxuscodex-module-card.future {
   background: #f8fafc;
}

.fluxuscodex-module-icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 42px;
   height: 42px;
   border-radius: 8px;
   background: #eef4ff;
   color: #206bc4;
   font-size: 1.45rem;
}

.fluxuscodex-module-card h3,
.fluxuscodex-notice-panel h3,
.fluxuscodex-quick-links h3 {
   margin: 0 0 6px;
   color: #1f2a3d;
}

.fluxuscodex-module-card p {
   margin: 0 0 10px;
   color: #667085;
}

.fluxuscodex-module-status {
   display: inline-flex;
   align-items: center;
   min-height: 24px;
   padding: 2px 8px;
   border-radius: 999px;
   background: #e7f6ec;
   color: #2f9e44;
   font-weight: 700;
   font-size: .82rem;
}

.fluxuscodex-module-status.future {
   background: #edf0f5;
   color: #667085;
}

.fluxuscodex-module-order-controls {
   display: none;
   gap: 4px;
   position: absolute;
   bottom: 12px;
   right: 12px;
   z-index: 2;
}

.fluxuscodex-module-order-controls .btn {
   align-items: center;
   background: rgba(255, 255, 255, .86);
   display: inline-flex;
   height: 22px;
   justify-content: center;
   opacity: .72;
   padding: 0;
   width: 22px;
}

.fluxuscodex-module-order-controls .btn i {
   font-size: .82rem;
}

.fluxuscodex-module-grid.is-ordering .fluxuscodex-module-card {
   outline: 1px dashed #b7c3d5;
   outline-offset: -5px;
}

.fluxuscodex-module-grid.is-ordering .fluxuscodex-module-card > div:nth-child(2) {
   padding-bottom: 24px;
}

.fluxuscodex-module-grid.is-ordering .fluxuscodex-module-order-controls {
   display: inline-flex;
}

.fluxuscodex-evidence-section {
   margin-top: 18px;
}

.fluxuscodex-evidence-upload {
   align-items: center;
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   margin: 10px 0 14px;
}

.fluxuscodex-evidence-upload-fields,
.fluxuscodex-evidence-metadata-form,
.fluxuscodex-evidence-replace-form {
   align-items: end;
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   width: 100%;
}

.fluxuscodex-evidence-upload-fields label,
.fluxuscodex-evidence-metadata-form label,
.fluxuscodex-evidence-replace-form label {
   color: #4f5f73;
   display: flex;
   flex-direction: column;
   font-size: .82rem;
   gap: 4px;
   min-width: 150px;
}

.fluxuscodex-evidence-upload input[type="file"] {
   max-width: 420px;
}

.fluxuscodex-evidence-lock {
   align-self: center;
   color: #b42318;
   font-weight: 700;
   max-width: 360px;
}

.fluxuscodex-evidence-replace-form {
   border-top: 1px solid #d9dee8;
   margin-top: 10px;
   padding-top: 10px;
}

.fluxuscodex-evidence-replace-form strong {
   align-self: center;
   color: #1f2a3d;
}

.fluxuscodex-evidence-replace-form input[type="file"] {
   max-width: 420px;
}

.fluxuscodex-evidence-missing td {
   background: #fff7ed;
}

.fluxuscodex-module-action {
   margin-top: 12px;
}

.fluxuscodex-notice-panel,
.fluxuscodex-quick-links {
   max-width: 1320px;
   margin: 0 auto 14px;
   padding: 14px 16px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #fff;
}

.fluxuscodex-notice-panel p {
   margin: 0;
   color: #4f5f73;
}

.fluxuscodex-first-cycle {
   max-width: 1320px;
   margin: 0 auto 14px;
   display: grid;
   grid-template-columns: minmax(220px, 1fr) 2fr auto;
   gap: 14px;
   align-items: center;
   background: #fff;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   padding: 14px 16px;
}

.fluxuscodex-first-cycle h3 {
   margin: 0 0 4px;
   font-size: 17px;
   color: #1f2a3d;
}

.fluxuscodex-cycle-steps {
   display: grid;
   grid-template-columns: repeat(4, minmax(110px, 1fr));
   gap: 8px;
}

.fluxuscodex-cycle-step {
   display: flex;
   align-items: center;
   gap: 6px;
   min-height: 36px;
   padding: 8px 10px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   color: #2f3b52;
   background: #f8fafc;
   text-decoration: none;
   font-size: 12px;
   font-weight: 700;
}

.fluxuscodex-cycle-step.done {
   border-color: #86efac;
   background: #f0fdf4;
   color: #166534;
}

.fluxuscodex-cycle-step.pending {
   border-color: #fde68a;
   background: #fffbeb;
   color: #92400e;
}

.fluxuscodex-cycle-step:hover {
   text-decoration: none;
   filter: brightness(0.98);
}

@media (max-width: 900px) {
   .fluxuscodex-first-cycle {
      grid-template-columns: 1fr;
   }

   .fluxuscodex-cycle-steps {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}

.fluxuscodex-quick-links .fluxuscodex-actions {
   justify-content: flex-start;
   margin-bottom: 0;
}

.fluxuscodex-ged-hub {
   max-width: 1320px;
   margin: 0 auto 16px;
   padding: 14px 16px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #fff;
}

.fluxuscodex-ged-hub h3 {
   margin: 0 0 4px;
   color: #1f2a3d;
}

.fluxuscodex-compliance-hero {
   display: grid;
   grid-template-columns: minmax(260px, 1.25fr) minmax(260px, .85fr);
   gap: 18px;
   align-items: center;
   max-width: 1320px;
   margin: 0 auto 16px;
   padding: 18px;
   border: 1px solid #c9d7ea;
   border-radius: 8px;
   background: linear-gradient(135deg, #ffffff 0%, #eef7ff 46%, #effdf5 100%);
   box-shadow: 0 14px 34px rgba(15, 94, 130, .12);
}

.fluxuscodex-compliance-copy h3 {
   margin: 6px 0 8px;
   color: #142033;
   font-size: 1.45rem;
}

.fluxuscodex-compliance-copy h3 strong {
   color: #0f766e;
}

.fluxuscodex-compliance-copy p {
   max-width: 760px;
   margin: 0;
   color: #4f5f73;
}

.fluxuscodex-kicker {
   color: #206bc4;
   font-size: .78rem;
   font-weight: 800;
   letter-spacing: .02em;
   text-transform: uppercase;
}

.fluxuscodex-compliance-pill-row {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   margin-top: 14px;
}

.fluxuscodex-compliance-pill-row span {
   padding: 6px 10px;
   border: 1px solid rgba(32, 107, 196, .16);
   border-radius: 999px;
   background: rgba(255, 255, 255, .78);
   color: #31435b;
}

.fluxuscodex-gauge {
   position: relative;
   min-height: 190px;
   padding: 8px 6px 0;
}

.fluxuscodex-gauge svg {
   display: block;
   width: 100%;
   max-width: 380px;
   margin: 0 auto;
   overflow: visible;
}

.fluxuscodex-gauge path {
   fill: none;
   stroke-linecap: round;
   stroke-width: 20;
}

.fluxuscodex-gauge-track {
   stroke: #d9e4ef;
}

.fluxuscodex-gauge-progress {
   stroke: url(#fluxusGaugeGradient);
   filter: drop-shadow(0 5px 10px rgba(14, 165, 233, .24));
}

.fluxuscodex-gauge text {
   fill: #61738b;
   font-size: 12px;
   font-weight: 700;
}

.fluxuscodex-gauge-needle {
   transform: rotate(var(--angle));
   transform-origin: 120px 120px;
   transition: transform .6s ease;
}

.fluxuscodex-gauge-needle line {
   stroke: #111827;
   stroke-linecap: round;
   stroke-width: 5;
}

.fluxuscodex-gauge-needle circle {
   fill: #111827;
   stroke: #ffffff;
   stroke-width: 3;
}

.fluxuscodex-gauge-score {
   position: absolute;
   left: 50%;
   bottom: 0;
   display: grid;
   transform: translateX(-50%);
   text-align: center;
}

.fluxuscodex-gauge-score strong {
   color: #142033;
   font-size: 2rem;
   line-height: 1;
}

.fluxuscodex-gauge-score span {
   color: #0f766e;
   font-weight: 800;
}

.fluxuscodex-compliance-breakdown {
   grid-column: 1 / -1;
   display: grid;
   grid-template-columns: repeat(6, minmax(120px, 1fr));
   gap: 8px;
}

.fluxuscodex-compliance-breakdown div {
   position: relative;
   min-height: 58px;
   overflow: hidden;
   padding: 8px 10px;
   border: 1px solid rgba(15, 94, 130, .14);
   border-radius: 8px;
   background: rgba(255, 255, 255, .74);
}

.fluxuscodex-compliance-breakdown span,
.fluxuscodex-compliance-breakdown strong {
   position: relative;
   z-index: 1;
   display: block;
}

.fluxuscodex-compliance-breakdown span {
   color: #53657c;
   font-size: .78rem;
}

.fluxuscodex-compliance-breakdown strong {
   color: #162236;
   font-size: 1.05rem;
}

.fluxuscodex-compliance-breakdown i {
   position: absolute;
   left: 0;
   bottom: 0;
   height: 5px;
   border-radius: 0 999px 999px 0;
   background: linear-gradient(90deg, #ef4444, #f59e0b, #22c55e, #06b6d4);
}

.fluxuscodex-ged-menu-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(190px, 1fr));
   gap: 10px;
   margin-top: 12px;
}

@media (max-width: 900px) {
   .fluxuscodex-compliance-hero {
      grid-template-columns: 1fr;
   }

   .fluxuscodex-compliance-breakdown {
      grid-template-columns: repeat(2, minmax(120px, 1fr));
   }
}

.fluxuscodex-ged-menu-card {
   display: grid;
   grid-template-columns: 28px minmax(0, 1fr);
   gap: 3px 10px;
   min-height: 82px;
   padding: 12px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #f8fafc;
   color: #1f2a3d;
   text-decoration: none;
}

.fluxuscodex-ged-menu-card:hover {
   background: #eef4ff;
   color: #1f2a3d;
   text-decoration: none;
}

.fluxuscodex-ged-menu-card i {
   grid-row: span 2;
   color: #206bc4;
   font-size: 1.35rem;
   line-height: 1.2;
}

.fluxuscodex-ged-menu-card strong {
   min-width: 0;
   font-size: .95rem;
}

.fluxuscodex-ged-menu-card span {
   min-width: 0;
   color: #667085;
   font-size: .82rem;
   line-height: 1.25;
}

.fluxuscodex-training-grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
   gap: 12px;
   max-width: 1320px;
   margin: 0 auto 14px;
}

.fluxuscodex-training-card {
   display: flex;
   flex-direction: column;
   gap: 8px;
   min-height: 180px;
   padding: 14px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #fff;
   color: #1f2a3d;
   text-decoration: none;
}

.fluxuscodex-training-card:hover {
   background: #f8fafc;
   color: #1f2a3d;
   text-decoration: none;
}

.fluxuscodex-training-card span {
   color: #206bc4;
   font-size: .75rem;
   font-weight: 700;
}

.fluxuscodex-training-card strong {
   font-size: 1rem;
}

.fluxuscodex-training-card p,
.fluxuscodex-training-card small {
   color: #667085;
}

.fluxuscodex-training-card p {
   flex: 1;
   margin: 0;
}

.fluxuscodex-training-progress {
   width: 100%;
   height: 8px;
   overflow: hidden;
   border-radius: 999px;
   background: #e9edf3;
}

.fluxuscodex-training-progress i {
   display: block;
   height: 100%;
   border-radius: 999px;
   background: #2f9e44;
}

.fluxuscodex-training-flow {
   max-width: 1320px;
   margin: 0 auto 18px;
}

.fluxuscodex-training-step {
   display: grid;
   grid-template-columns: 44px minmax(0, 1fr);
   gap: 12px;
   margin-bottom: 12px;
}

.fluxuscodex-training-node {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 38px;
   height: 38px;
   border: 2px solid #d9dee8;
   border-radius: 50%;
   background: #fff;
   color: #206bc4;
   font-weight: 700;
}

.fluxuscodex-training-step-body {
   min-width: 0;
   padding: 14px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #fff;
}

.fluxuscodex-training-step-body h4 {
   margin: 0 0 6px;
   color: #1f2a3d;
}

.fluxuscodex-training-step-body p {
   color: #4f5f73;
}

.fluxuscodex-training-richtext h5 {
   margin: 14px 0 6px;
   color: #1f2a3d;
   font-size: 1rem;
   font-weight: 700;
}

.fluxuscodex-training-richtext h5:first-child {
   margin-top: 0;
}

.fluxuscodex-training-richtext p {
   margin: 0 0 8px;
}

.fluxuscodex-training-richtext ul,
.fluxuscodex-training-richtext ol {
   margin: 0 0 10px 22px;
   padding: 0;
   color: #4f5f73;
}

.fluxuscodex-training-richtext li {
   margin-bottom: 4px;
}

.fluxuscodex-training-editor-toolbar {
   display: flex;
   align-items: center;
   gap: 6px;
   flex-wrap: wrap;
   margin-bottom: 6px;
   padding: 6px;
   border: 1px solid #c8d2df;
   border-radius: 8px 8px 0 0;
   background: #f8fafc;
}

.fluxuscodex-training-editor {
   min-height: 260px;
   font-family: inherit;
   line-height: 1.45;
   padding: 12px;
   border: 1px solid #c8d2df;
   border-top: 0;
   border-radius: 0 0 8px 8px;
   background: #fff;
   color: #1f2a3d;
   overflow: auto;
}

.fluxuscodex-training-editor:focus {
   outline: none;
   box-shadow: 0 0 0 3px rgba(32, 107, 196, .15);
}

.fluxuscodex-training-editor-select {
   width: 118px;
}

.fluxuscodex-training-editor-size {
   width: 92px;
}

.fluxuscodex-training-color-label {
   display: inline-flex;
   align-items: center;
   gap: 4px;
   min-height: 30px;
   padding: 2px 8px;
   border: 1px solid #c8d2df;
   border-radius: 4px;
   background: #fff;
   color: #4f5f73;
   font-size: .82rem;
}

.fluxuscodex-training-color-label input {
   width: 28px;
   height: 22px;
   padding: 0;
   border: 0;
   background: transparent;
}

.fluxuscodex-training-screen {
   display: block;
   width: 100%;
   max-height: 560px;
   object-fit: contain;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #111827;
}

.fluxuscodex-training-empty,
.fluxuscodex-training-notes {
   padding: 10px 12px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #f8fafc;
   color: #667085;
}

.fluxuscodex-training-notes {
   margin-top: 10px;
}

.fluxuscodex-training-paste-zone {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 6px;
   min-height: 156px;
   padding: 14px;
   border: 2px dashed #c8d2df;
   border-radius: 8px;
   background: #f8fafc;
   color: #1f2a3d;
   cursor: text;
   text-align: center;
}

.fluxuscodex-training-paste-zone:hover,
.fluxuscodex-training-paste-zone:focus,
.fluxuscodex-training-paste-zone.is-dragging {
   border-color: #206bc4;
   background: #eef4ff;
   outline: none;
}

.fluxuscodex-training-paste-main {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
}

.fluxuscodex-training-paste-main i {
   color: #206bc4;
   font-size: 1.35rem;
}

.fluxuscodex-training-paste-sub {
   color: #667085;
   font-size: .85rem;
}

.fluxuscodex-training-paste-preview {
   width: 100%;
   max-height: 360px;
   object-fit: contain;
   margin-top: 8px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #111827;
}

.fluxuscodex-training-upload-row {
   display: flex;
   align-items: center;
   gap: 10px;
   flex-wrap: wrap;
   margin-top: 8px;
}

.fluxuscodex-training-upload-row input[type="file"] {
   display: none;
}

.fluxuscodex-training-upload-row small {
   color: #667085;
}

.fluxuscodex-footer {
   max-width: 1320px;
   margin: 24px auto 8px;
   padding-top: 10px;
   border-top: 1px solid #d9dee8;
   color: #667085;
   font-size: .82rem;
   text-align: center;
}

.fluxuscodex-ged-back-link {
   display: flex;
   justify-content: center;
   max-width: 1320px;
   margin: 18px auto 10px;
}

.fluxuscodex-filter-card {
   width: 100%;
   max-width: 1320px;
   margin: 0 auto 14px;
   padding: 14px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #fff;
}

.fluxuscodex-document-operation-actions {
   max-width: 1320px;
   justify-content: flex-start;
   margin: 0 auto 12px;
}

.fluxuscodex-operation-intro {
   max-width: 1320px;
   margin: 0 auto 12px;
   padding: 12px 14px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #fff;
}

.fluxuscodex-operation-intro h3 {
   margin: 0 0 4px;
   color: #1f2a3d;
}

.fluxuscodex-operation-intro p {
   margin: 0 0 8px;
}

.fluxuscodex-dashboard {
   display: grid;
   grid-template-columns: repeat(4, minmax(150px, 1fr));
   gap: 10px;
   max-width: 1320px;
   margin: 0 auto 14px;
}

.fluxuscodex-dashboard-shell {
   max-width: 1320px;
   margin: 0 auto 16px;
}

.fluxuscodex-dashboard-head {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 16px;
   margin-bottom: 12px;
   padding: 14px 16px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #fff;
}

.fluxuscodex-dashboard-head h3,
.fluxuscodex-panel h4 {
   margin: 0;
   color: #1f2a3d;
}

.fluxuscodex-dashboard-head p {
   margin: 4px 0 0;
   color: #667085;
}

.fluxuscodex-health {
   min-width: 150px;
   padding: 10px 12px;
   border-radius: 8px;
   border: 1px solid #d9dee8;
   text-align: right;
   background: #f8fafc;
}

.fluxuscodex-health span {
   display: block;
   color: #667085;
   font-size: .82rem;
   font-weight: 600;
}

.fluxuscodex-health strong {
   display: block;
   color: #2f9e44;
   font-size: 1.6rem;
   line-height: 1.1;
}

.fluxuscodex-health.warning strong {
   color: #f59f00;
}

.fluxuscodex-health.danger strong {
   color: #d63939;
}

.fluxuscodex-kpi-grid {
   grid-template-columns: repeat(4, minmax(180px, 1fr));
   max-width: 100%;
}

.fluxuscodex-dashboard-card {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 8px;
   padding: 10px 12px;
   border: 1px solid #d9dee8;
   border-left: 4px solid #f0ad4e;
   border-radius: 8px;
   background: #fff;
}

.fluxuscodex-dashboard-card.kpi {
   position: relative;
   min-height: 78px;
   display: grid;
   grid-template-columns: 28px minmax(0, 1fr) auto;
   column-gap: 12px;
   padding: 12px 14px;
   overflow: hidden;
}

.fluxuscodex-dashboard-card.kpi i {
   color: #667085;
   font-size: 1.35rem;
   line-height: 1;
}

.fluxuscodex-dashboard-card.kpi span {
   color: #344054;
}

.fluxuscodex-dashboard-card.kpi strong {
   color: #1f2a3d;
}

a.fluxuscodex-dashboard-card {
   color: inherit;
   text-decoration: none;
}

a.fluxuscodex-dashboard-card:hover {
   background: #f6f8fb;
   color: inherit;
   text-decoration: none;
}

.fluxuscodex-dashboard-card.danger {
   border-left-color: #d63939;
}

.fluxuscodex-dashboard-card.info {
   border-left-color: #206bc4;
}

.fluxuscodex-dashboard-card.success {
   border-left-color: #2f9e44;
}

.fluxuscodex-dashboard-card.attention {
   border-left-color: #f76707;
}

.fluxuscodex-dashboard-card.approval.danger {
   color: #d63939;
}

.fluxuscodex-dashboard-card.approval.danger span,
.fluxuscodex-dashboard-card.approval.danger strong {
   color: #d63939;
}

.fluxuscodex-dashboard-card.warning {
   border-left-color: #f59f00;
}

.fluxuscodex-dashboard-card span {
   min-width: 0;
   font-weight: 600;
}

.fluxuscodex-dashboard-card strong {
   font-size: 1.35rem;
}

.fluxuscodex-dashboard-panels {
   display: grid;
   grid-template-columns: minmax(0, 1.45fr) minmax(280px, .85fr);
   gap: 12px;
   margin-top: 12px;
}

.fluxuscodex-home-link {
   display: flex;
   justify-content: center;
   margin-top: 14px;
}

.fluxuscodex-panel {
   padding: 14px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #fff;
}

.fluxuscodex-panel h4 {
   margin-bottom: 10px;
}

.fluxuscodex-muted {
   color: #667085;
}

.fluxuscodex-mini-table-wrap {
   overflow-x: auto;
}

.fluxuscodex-mini-table {
   width: 100%;
   min-width: 560px;
   border-collapse: collapse;
}

.fluxuscodex-mini-table th,
.fluxuscodex-mini-table td {
   padding: 8px 6px;
   border-bottom: 1px solid #edf0f5;
   text-align: left;
}

.fluxuscodex-mini-table th {
   color: #344054;
   background: #f8fafc;
   font-weight: 700;
}

.fluxuscodex-responsible-list {
   display: grid;
   gap: 10px;
}

.fluxuscodex-responsible-row {
   display: grid;
   gap: 6px;
}

.fluxuscodex-responsible-row div:first-child {
   display: flex;
   justify-content: space-between;
   gap: 10px;
}

.fluxuscodex-responsible-row strong,
.fluxuscodex-responsible-row span {
   min-width: 0;
}

.fluxuscodex-responsible-row span {
   color: #667085;
   white-space: nowrap;
}

.fluxuscodex-bar {
   height: 8px;
   overflow: hidden;
   border-radius: 999px;
   background: #edf0f5;
}

.fluxuscodex-bar span {
   display: block;
   height: 100%;
   border-radius: inherit;
   background: #206bc4;
}

.fluxuscodex-tabs {
   display: flex;
   flex-wrap: wrap;
   gap: 6px;
   max-width: 1320px;
   margin: 0 auto 12px;
   border-bottom: 1px solid #d9dee8;
}

.fluxuscodex-tab {
   display: inline-flex;
   align-items: center;
   min-height: 38px;
   padding: 8px 12px;
   border: 1px solid transparent;
   border-bottom: 0;
   border-radius: 6px 6px 0 0;
   color: #49566a;
   font-weight: 600;
   text-decoration: none;
}

.fluxuscodex-tab:hover {
   background: #f6f8fb;
   color: #1f2a3d;
   text-decoration: none;
}

.fluxuscodex-tab.active {
   border-color: #d9dee8;
   background: #fff;
   color: #1f2a3d;
}

.fluxuscodex-tab-panel {
   display: none;
}

.fluxuscodex-tab-panel.active {
   display: block;
}

.fluxuscodex-required {
   color: #d63939;
   font-weight: 700;
   margin-right: 4px;
}

.fluxuscodex-filter-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(180px, 1fr));
   gap: 12px;
   align-items: end;
}

.fluxuscodex-field label {
   display: block;
   margin-bottom: 4px;
   font-weight: 600;
}

.fluxuscodex-field .select2,
.fluxuscodex-field .select2-container,
.fluxuscodex-field input[type="text"],
.fluxuscodex-field select {
   max-width: 100%;
}

.fluxuscodex-date-range {
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
   gap: 6px;
   align-items: center;
}

.fluxuscodex-date-range .input-group {
   max-width: 100%;
}

.fluxuscodex-filter-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
}

.fluxuscodex-audit-filters {
   display: grid;
   grid-template-columns: repeat(4, minmax(180px, 1fr));
   gap: 12px;
   align-items: end;
}

.fluxuscodex-audit-table td {
   vertical-align: top;
}

.fluxuscodex-audit-table details {
   max-width: 280px;
}

.fluxuscodex-audit-diff {
   display: grid;
   grid-template-columns: minmax(90px, auto) minmax(160px, 1fr);
   gap: 2px 8px;
   margin: 0;
}

.fluxuscodex-audit-diff dt {
   color: #4f5f73;
   font-weight: 700;
}

.fluxuscodex-audit-diff dd {
   margin: 0;
   word-break: break-word;
}

.fluxuscodex-list-tools {
   display: flex;
   justify-content: space-between;
   align-items: center;
   flex-wrap: wrap;
   gap: 10px;
   max-width: 1320px;
   margin: 14px auto 8px;
}

.fluxuscodex-legend {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   align-items: center;
}

.fluxuscodex-table-wrap {
   max-width: 100%;
   overflow-x: auto;
   -webkit-overflow-scrolling: touch;
}

.fluxuscodex-table-wrap table {
   min-width: 680px;
}

.fluxuscodex-table-wrap .fluxuscodex-document-list {
   min-width: 1040px;
}

.fluxuscodex-table-wrap .fluxuscodex-orphan-table {
   min-width: 1120px;
}

.fluxuscodex-orphan-summary .fluxuscodex-dashboard-card strong {
   white-space: nowrap;
}

.fluxuscodex-danger-zone {
   max-width: 1320px;
   margin: 14px auto 0;
   padding: 14px;
   border: 1px solid #f1b8b8;
   border-left: 4px solid #d63939;
   border-radius: 8px;
   background: #fff7f7;
}

.fluxuscodex-danger-zone h3 {
   margin: 0 0 6px;
   color: #b42318;
}

.fluxuscodex-danger-zone p {
   margin: 0 0 10px;
   color: #667085;
}

.fluxuscodex-danger-zone input[type="password"] {
   max-width: 320px;
}

.fluxuscodex-orphan-actions {
   display: grid;
   grid-template-columns: repeat(2, minmax(180px, max-content)) minmax(280px, 1fr);
   gap: 10px;
   align-items: end;
}

.fluxuscodex-orphan-attach {
   display: grid;
   grid-template-columns: minmax(220px, 1fr) max-content;
   gap: 8px;
   align-items: end;
}

.fluxuscodex-orphan-attach label {
   grid-column: 1 / -1;
   margin: 0;
   font-weight: 600;
}

.fluxuscodex-collapsible {
   width: 100%;
}

.fluxuscodex-collapsible summary {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   cursor: pointer;
   padding: 7px 12px;
   border: 1px solid #cfd7e6;
   border-radius: 6px;
   background: #fff;
   color: #2d3748;
   font-weight: 600;
}

.fluxuscodex-collapsible summary:hover {
   background: #f6f8fb;
}

.fluxuscodex-collapsible[open] summary {
   margin-bottom: 10px;
}

.fluxuscodex-collapsible-card {
   max-width: 1320px;
   margin: 14px auto 0;
   padding: 12px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #fff;
}

.fluxuscodex-approval-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 6px;
   margin-top: 8px;
}

.fluxuscodex-approval-actions .form-control {
   flex: 1 1 220px;
   min-width: 180px;
}

.fluxuscodex-approval-status {
   font-weight: 700;
}

.fluxuscodex-approval-status.approved {
   color: #2f9e44;
}

.fluxuscodex-approval-status.rejected {
   color: #d63939;
}

.fluxuscodex-approval-status.pending {
   color: #f59f00;
}

.fluxuscodex-approval-status.correction {
   color: #d97706;
}

.fluxuscodex-relation-picker,
.fluxuscodex-permission-picker {
   display: none;
   max-width: 720px;
}

.fluxuscodex-relation-picker.active,
.fluxuscodex-permission-picker.active {
   display: block;
}

.fluxuscodex-relation-picker + .fluxuscodex-relation-picker,
.fluxuscodex-permission-picker + .fluxuscodex-permission-picker {
   margin-top: 8px;
}

.fluxuscodex-relation-picker label,
.fluxuscodex-permission-picker label {
   display: block;
   margin-bottom: 4px;
   font-weight: 600;
}

.fluxuscodex-responsive-form {
   max-width: 1320px;
   margin-left: auto;
   margin-right: auto;
}

.fluxuscodex-responsive-form input[type="text"],
.fluxuscodex-responsive-form input[type="number"],
.fluxuscodex-responsive-form input[type="file"],
.fluxuscodex-responsive-form textarea,
.fluxuscodex-responsive-form .select2,
.fluxuscodex-responsive-form .select2-container,
.fluxuscodex-responsive-form .input-group {
   max-width: 100%;
}

.fluxuscodex-responsive-form code {
   white-space: normal;
   overflow-wrap: anywhere;
}

.fluxuscodex-control-guidance {
   margin-top: 12px;
   padding: 14px;
   border: 1px solid #d8e2ef;
   border-radius: 8px;
   background: #f8fbff;
   color: #344055;
}

.fluxuscodex-control-guidance-empty {
   color: #66758c;
}

.fluxuscodex-control-guidance-header {
   display: flex;
   gap: 10px;
   align-items: flex-start;
   margin-bottom: 12px;
}

.fluxuscodex-control-guidance-header i {
   color: #1677a7;
   font-size: 22px;
   line-height: 1.1;
}

.fluxuscodex-control-guidance-header strong,
.fluxuscodex-control-guidance-header span,
.fluxuscodex-control-guidance-header small {
   display: block;
}

.fluxuscodex-control-guidance-header span {
   color: #1677a7;
   font-weight: 700;
   margin-top: 2px;
}

.fluxuscodex-control-guidance-header small {
   color: #66758c;
   margin-top: 3px;
}

.fluxuscodex-control-guidance-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 12px;
}

.fluxuscodex-control-guidance-grid section {
   min-width: 0;
}

.fluxuscodex-control-guidance-grid h5 {
   margin: 0 0 5px;
   font-size: 13px;
   font-weight: 700;
   color: #243047;
}

.fluxuscodex-control-guidance-grid p {
   margin: 0;
   line-height: 1.45;
   color: #46546a;
}

.fluxuscodex-template-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   align-items: center;
   margin-top: 14px;
}

.fluxuscodex-template-hint {
   color: #66758c;
   font-size: 12px;
}

.fluxuscodex-identity-section {
   max-width: 1320px;
   margin: 0 auto 16px;
   padding: 16px;
   border: 1px solid #d8e2ef;
   border-radius: 8px;
   background: #ffffff;
}

.fluxuscodex-identity-section h3 {
   display: flex;
   align-items: center;
   gap: 8px;
   margin: 0 0 14px;
   font-size: 18px;
   color: #243047;
}

.fluxuscodex-identity-section h3 i {
   color: #1677a7;
}

.fluxuscodex-identity-nist {
   display: inline-flex;
   margin-bottom: 12px;
   padding: 4px 8px;
   border-radius: 6px;
   background: #eaf5fa;
   color: #0f5e82;
   font-size: 12px;
   font-weight: 700;
}

.fluxuscodex-identity-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 12px;
}

.fluxuscodex-identity-field {
   display: flex;
   flex-direction: column;
   gap: 5px;
}

.fluxuscodex-identity-field-missing {
   padding: 8px;
   border: 1px solid #d63939;
   border-radius: 6px;
   background: #fff5f5;
}

.fluxuscodex-identity-field > span {
   font-weight: 700;
   color: #344055;
}

.fluxuscodex-identity-field-title {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   line-height: 1.3;
}

.fluxuscodex-help-button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 18px;
   height: 18px;
   flex: 0 0 18px;
   border: 1px solid #9ec8e2;
   border-radius: 50%;
   background: #eaf5fa;
   color: #0f5e82;
   font-size: 12px;
   font-weight: 800;
   line-height: 1;
   cursor: pointer;
}

.fluxuscodex-help-button:hover,
.fluxuscodex-help-button:focus {
   border-color: #1677a7;
   background: #1677a7;
   color: #ffffff;
   outline: none;
}

.fluxuscodex-help-modal {
   position: fixed;
   inset: 0;
   z-index: 5000;
   display: none;
   align-items: center;
   justify-content: center;
   padding: 24px;
   background: rgba(21, 32, 46, 0.48);
}

.fluxuscodex-help-modal[aria-hidden="false"] {
   display: flex;
}

.fluxuscodex-help-dialog {
   position: relative;
   width: min(620px, 100%);
   max-height: calc(100vh - 48px);
   overflow: auto;
   padding: 22px;
   border-radius: 8px;
   background: #ffffff;
   box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}

.fluxuscodex-help-dialog h3 {
   margin: 0 42px 16px 0;
   color: #243047;
   font-size: 20px;
}

.fluxuscodex-help-close {
   position: absolute;
   top: 14px;
   right: 14px;
   width: 32px;
   height: 32px;
   border: 1px solid #d8e2ef;
   border-radius: 6px;
   background: #ffffff;
   color: #344055;
   font-size: 24px;
   line-height: 1;
   cursor: pointer;
}

.fluxuscodex-help-close:hover,
.fluxuscodex-help-close:focus {
   border-color: #1677a7;
   color: #1677a7;
   outline: none;
}

.fluxuscodex-help-block,
.fluxuscodex-help-example {
   margin-top: 12px;
}

.fluxuscodex-help-block strong,
.fluxuscodex-help-example strong {
   display: block;
   margin-bottom: 4px;
   color: #243047;
}

.fluxuscodex-help-block p,
.fluxuscodex-help-example p {
   margin: 0;
   color: #526179;
   line-height: 1.5;
}

.fluxuscodex-help-example {
   padding: 12px;
   border-left: 4px solid #1677a7;
   border-radius: 6px;
   background: #f2f8fc;
}

.fluxuscodex-identity-field textarea {
   min-height: 92px;
}

@media (max-width: 860px) {
   .fluxuscodex-control-guidance-grid {
      grid-template-columns: 1fr;
   }

   .fluxuscodex-identity-grid {
      grid-template-columns: 1fr;
   }

   .fluxuscodex-reset-form {
      grid-template-columns: 1fr;
   }
}

.fluxuscodex-responsive-form .fluxuscodex-code-input,
.fluxuscodex-code-input {
   max-width: 220px;
}

.fluxuscodex-pagination {
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   gap: 8px;
   margin-top: 14px;
}

.fluxuscodex-analytics-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(280px, 1fr));
   gap: 12px;
   max-width: 1320px;
   margin: 14px auto;
}

.fluxuscodex-analytics-wide {
   max-width: 1320px;
   margin: 14px auto;
}

.fluxuscodex-analytics-list {
   display: grid;
   gap: 10px;
}

.fluxuscodex-analytics-row {
   display: grid;
   gap: 6px;
}

.fluxuscodex-analytics-row div:first-child {
   display: flex;
   justify-content: space-between;
   gap: 10px;
}

.fluxuscodex-analytics-row strong {
   min-width: 0;
   overflow-wrap: anywhere;
}

.fluxuscodex-analytics-row span {
   color: #667085;
   white-space: nowrap;
}

.fluxuscodex-analytics-days {
   display: flex;
   align-items: end;
   gap: 8px;
   min-height: 145px;
   overflow-x: auto;
   padding: 8px 2px;
}

.fluxuscodex-analytics-day {
   display: grid;
   justify-items: center;
   align-items: end;
   min-width: 42px;
   gap: 4px;
}

.fluxuscodex-analytics-day span {
   display: block;
   width: 22px;
   border-radius: 6px 6px 0 0;
   background: #206bc4;
}

.fluxuscodex-analytics-day strong {
   font-size: .8rem;
}

.fluxuscodex-analytics-day small {
   color: #667085;
   font-size: .72rem;
}

.fluxuscodex-easy-entry {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   padding: 14px;
   border: 1px solid #b7d7ff;
   border-radius: 8px;
   background: linear-gradient(90deg, #eef7ff 0%, #f7fbff 55%, #f5fff7 100%);
}

.fluxuscodex-easy-entry strong,
.fluxuscodex-easy-entry span {
   display: block;
}

.fluxuscodex-easy-entry span {
   color: #4f5f73;
   font-size: .88rem;
}

.fluxuscodex-easy-shell {
   max-width: 1180px;
   margin: 0 auto 24px;
}

.fluxuscodex-easy-hero {
   display: grid;
   grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
   gap: 16px;
   align-items: stretch;
   margin-bottom: 14px;
   padding: 18px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #fff;
}

.fluxuscodex-easy-kicker {
   display: inline-flex;
   margin-bottom: 6px;
   padding: 3px 8px;
   border-radius: 999px;
   background: #e7f6ec;
   color: #2f9e44;
   font-size: .78rem;
   font-weight: 700;
}

.fluxuscodex-easy-hero h2 {
   margin: 0 0 8px;
   color: #1f2a3d;
}

.fluxuscodex-easy-hero p {
   max-width: 780px;
   margin: 0;
   color: #4f5f73;
}

.fluxuscodex-easy-doc {
   display: flex;
   flex-direction: column;
   justify-content: center;
   gap: 4px;
   padding: 14px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #f8fafc;
}

.fluxuscodex-easy-doc strong {
   color: #206bc4;
   font-size: .78rem;
   text-transform: uppercase;
}

.fluxuscodex-easy-doc span {
   color: #1f2a3d;
   font-weight: 700;
}

.fluxuscodex-easy-doc small {
   color: #667085;
}

.fluxuscodex-easy-wizard {
   padding: 16px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #fff;
}

.fluxuscodex-easy-steps {
   display: grid;
   grid-template-columns: repeat(5, minmax(0, 1fr));
   gap: 8px;
   margin-bottom: 16px;
}

.fluxuscodex-easy-step {
   display: flex;
   align-items: center;
   gap: 8px;
   min-height: 44px;
   padding: 8px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #f8fafc;
   color: #667085;
}

.fluxuscodex-easy-step span {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 26px;
   height: 26px;
   border-radius: 999px;
   background: #edf0f5;
   color: #4f5f73;
   font-weight: 700;
}

.fluxuscodex-easy-step.active {
   border-color: #206bc4;
   background: #eef4ff;
   color: #1f2a3d;
}

.fluxuscodex-easy-step.active span {
   background: #206bc4;
   color: #fff;
}

.fluxuscodex-easy-step.done span {
   background: #2f9e44;
   color: #fff;
}

.fluxuscodex-easy-panel {
   display: none;
   min-height: 330px;
}

.fluxuscodex-easy-panel.active {
   display: block;
}

.fluxuscodex-easy-panel h3 {
   margin: 0 0 14px;
   color: #1f2a3d;
}

.fluxuscodex-easy-choice-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 12px;
}

.fluxuscodex-easy-choice {
   display: grid;
   grid-template-columns: 38px minmax(0, 1fr);
   gap: 4px 10px;
   min-height: 126px;
   padding: 14px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #f8fafc;
   cursor: pointer;
}

.fluxuscodex-easy-choice input {
   position: absolute;
   opacity: 0;
   pointer-events: none;
}

.fluxuscodex-easy-choice i {
   grid-row: span 2;
   color: #206bc4;
   font-size: 1.8rem;
}

.fluxuscodex-easy-choice strong {
   color: #1f2a3d;
}

.fluxuscodex-easy-choice span {
   color: #667085;
}

.fluxuscodex-easy-choice:has(input:checked) {
   border-color: #206bc4;
   background: #eef4ff;
   box-shadow: inset 0 0 0 1px #206bc4;
}

.fluxuscodex-easy-choice.disabled {
   opacity: .55;
   cursor: not-allowed;
}

.fluxuscodex-easy-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 12px;
}

.fluxuscodex-easy-field {
   min-width: 0;
   padding: 12px;
   border: 1px solid #e5e8ef;
   border-radius: 8px;
   background: #fbfcfe;
}

.fluxuscodex-easy-field.wide {
   grid-column: 1 / -1;
}

.fluxuscodex-easy-field label {
   display: block;
   margin-bottom: 5px;
   color: #26364d;
   font-weight: 700;
}

.fluxuscodex-easy-field small {
   display: block;
   margin-top: 5px;
   color: #667085;
}

.fluxuscodex-easy-preview {
   display: flex;
   flex-direction: column;
   justify-content: center;
   gap: 4px;
   padding: 12px;
   border: 1px solid #bfe3cd;
   border-radius: 8px;
   background: #f5fff7;
}

.fluxuscodex-easy-preview span,
.fluxuscodex-easy-summary span {
   color: #667085;
   font-size: .78rem;
   font-weight: 700;
   text-transform: uppercase;
}

.fluxuscodex-easy-preview strong {
   color: #1f2a3d;
   font-size: 1.05rem;
}

.fluxuscodex-easy-summary {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 10px;
   margin-bottom: 12px;
}

.fluxuscodex-easy-summary div {
   padding: 12px;
   border: 1px solid #e5e8ef;
   border-radius: 8px;
   background: #f8fafc;
}

.fluxuscodex-easy-summary strong {
   display: block;
   margin-top: 3px;
   color: #1f2a3d;
   word-break: break-word;
}

.fluxuscodex-easy-nav {
   display: flex;
   justify-content: flex-end;
   gap: 8px;
   margin-top: 16px;
   padding-top: 12px;
   border-top: 1px solid #e5e8ef;
}

@media (max-width: 1100px) {
   .fluxuscodex-easy-hero,
   .fluxuscodex-easy-steps,
   .fluxuscodex-easy-choice-grid,
   .fluxuscodex-easy-grid,
   .fluxuscodex-easy-summary {
      grid-template-columns: 1fr;
   }

   .fluxuscodex-easy-entry,
   .fluxuscodex-easy-nav {
      align-items: stretch;
      flex-direction: column;
   }

   .fluxuscodex-module-grid {
      grid-template-columns: repeat(2, minmax(220px, 1fr));
   }

   .fluxuscodex-ged-menu-grid {
      grid-template-columns: repeat(2, minmax(190px, 1fr));
   }

   .fluxuscodex-dashboard {
      grid-template-columns: repeat(2, minmax(150px, 1fr));
   }

   .fluxuscodex-kpi-grid {
      grid-template-columns: repeat(2, minmax(180px, 1fr));
   }

   .fluxuscodex-dashboard-panels {
      grid-template-columns: 1fr;
   }

   .fluxuscodex-filter-grid {
      grid-template-columns: repeat(2, minmax(180px, 1fr));
   }

   .fluxuscodex-audit-filters {
      grid-template-columns: repeat(2, minmax(180px, 1fr));
   }

   .fluxuscodex-analytics-grid {
      grid-template-columns: 1fr;
   }
}

@media (max-width: 700px) {
   .fluxuscodex-page {
      padding: 0 6px 18px;
   }

   .fluxuscodex-module-grid {
      grid-template-columns: 1fr;
   }

   .fluxuscodex-module-card {
      grid-template-columns: 36px minmax(0, 1fr);
   }

   .fluxuscodex-ged-menu-grid {
      grid-template-columns: 1fr;
   }

   .fluxuscodex-module-icon {
      width: 36px;
      height: 36px;
      font-size: 1.2rem;
   }

   .fluxuscodex-filter-grid {
      grid-template-columns: 1fr;
   }

   .fluxuscodex-audit-filters {
      grid-template-columns: 1fr;
   }

   .fluxuscodex-dashboard {
      grid-template-columns: 1fr;
   }

   .fluxuscodex-kpi-grid {
      grid-template-columns: 1fr;
   }

   .fluxuscodex-dashboard-head {
      align-items: stretch;
      flex-direction: column;
   }

   .fluxuscodex-health {
      width: 100%;
      text-align: left;
   }

   .fluxuscodex-date-range {
      grid-template-columns: 1fr;
   }

   .fluxuscodex-date-range span {
      display: none;
   }

   .fluxuscodex-list-tools {
      align-items: flex-start;
      flex-direction: column;
   }

   .fluxuscodex-tabs {
      flex-direction: column;
      border-bottom: 0;
   }

   .fluxuscodex-tab {
      width: 100%;
      border: 1px solid #d9dee8;
      border-radius: 6px;
   }

   .fluxuscodex-filter-actions .btn,
   .fluxuscodex-actions .btn,
   .fluxuscodex-approval-actions .btn,
   .fluxuscodex-pagination .btn,
   .fluxuscodex-orphan-actions .btn {
      width: 100%;
   }

   .fluxuscodex-orphan-actions,
   .fluxuscodex-orphan-attach {
      grid-template-columns: 1fr;
   }

   .fluxuscodex-responsive-form,
   .fluxuscodex-responsive-form tbody,
   .fluxuscodex-responsive-form tr,
   .fluxuscodex-responsive-form th,
   .fluxuscodex-responsive-form td {
      display: block;
      width: 100%;
   }

   .fluxuscodex-responsive-form td {
      border-left: 0;
      border-right: 0;
   }

   .fluxuscodex-responsive-form td:nth-child(odd) {
      padding-bottom: 2px;
      font-weight: 600;
   }

   .fluxuscodex-responsive-form td:nth-child(even) {
      padding-top: 2px;
   }

.fluxuscodex-responsive-form .btn {
      max-width: 100%;
      white-space: normal;
   }
}

/* Forms: catalogo setorial */
.fluxuscodex-forms {
   display: grid;
   gap: 20px;
   width: calc(100% - 24px);
   max-width: 1320px;
   margin: 0 auto;
   padding: 0 0 32px;
}

.fluxuscodex-forms-intro {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   width: 100%;
   max-width: none;
   margin: 0;
   padding: 20px 22px;
   border-radius: 12px;
   box-shadow: 0 6px 20px rgba(31, 42, 61, .05);
}

.fluxuscodex-forms-intro .fluxuscodex-actions {
   flex: 0 0 auto;
   margin: 0;
}

.fluxuscodex-forms-sector {
   width: 100%;
   max-width: 1320px;
   margin: 0 auto;
}

.fluxuscodex-forms-sector-header {
   display: flex;
   align-items: center;
   gap: 12px;
   margin-bottom: 12px;
   padding: 0 2px;
}

.fluxuscodex-forms-sector-header h2 {
   margin: 0;
   color: #1f2a3d;
   font-size: 1.2rem;
   line-height: 1.25;
}

.fluxuscodex-forms-sector-header p {
   margin: 2px 0 0;
   color: #667085;
   font-size: .82rem;
}

.fluxuscodex-forms-sector-icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 38px;
   height: 38px;
   flex: 0 0 38px;
   border-radius: 10px;
   background: #eaf2ff;
   color: #206bc4;
   font-size: 1.15rem;
}

.fluxuscodex-forms-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 14px;
   width: 100%;
}

.fluxuscodex-forms-card {
   min-height: 185px;
   padding: 18px;
   border-radius: 12px;
   box-shadow: 0 5px 16px rgba(31, 42, 61, .045);
   transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.fluxuscodex-forms-card:hover {
   border-color: #a9c7ed;
   box-shadow: 0 9px 24px rgba(32, 107, 196, .1);
   transform: translateY(-1px);
}

.fluxuscodex-forms-card-body {
   display: flex;
   min-width: 0;
   flex-direction: column;
}

.fluxuscodex-forms-card-body > p {
   flex: 1 1 auto;
}

.fluxuscodex-forms-card .badge {
   padding: 5px 8px;
   border-radius: 6px;
   font-weight: 600;
   white-space: normal;
}

.fluxuscodex-forms-card .fluxuscodex-module-action {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   margin-top: auto;
}

.fluxuscodex-required {
   color: #d63939;
   font-weight: 800;
}

@media (max-width: 1050px) {
   .fluxuscodex-forms-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}

@media (max-width: 700px) {
   .fluxuscodex-forms {
      gap: 16px;
      padding: 0 8px 24px;
   }

   .fluxuscodex-forms-intro {
      align-items: stretch;
      flex-direction: column;
      padding: 16px;
   }

   .fluxuscodex-forms-intro .fluxuscodex-actions,
   .fluxuscodex-forms-intro .btn {
      width: 100%;
   }

   .fluxuscodex-forms-grid {
      grid-template-columns: 1fr;
   }

   .fluxuscodex-forms-card {
      min-height: 0;
   }
}

.fluxuscodex-infrastructure {
   display: grid;
   gap: 18px;
}

.fluxuscodex-infra-hero {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 20px;
   padding: 24px;
   border-radius: 14px;
   background: linear-gradient(135deg, #0f5132, #13795b);
   color: #fff;
}

.fluxuscodex-infra-hero h2,
.fluxuscodex-infra-hero p {
   margin: 0;
   color: inherit;
}

.fluxuscodex-infra-hero p {
   margin-top: 8px;
   max-width: 760px;
}

.fluxuscodex-infra-kpis,
.fluxuscodex-infra-actions {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 12px;
}

.fluxuscodex-infra-kpis article,
.fluxuscodex-infra-actions a,
.fluxuscodex-infra-sector {
   padding: 18px;
   border: 1px solid #dbe5df;
   border-radius: 12px;
   background: #fff;
}

.fluxuscodex-infra-kpis article,
.fluxuscodex-infra-actions a {
   display: flex;
   align-items: center;
   gap: 13px;
   color: #1f2a3d;
   text-decoration: none;
}

.fluxuscodex-infra-kpis i,
.fluxuscodex-infra-actions i {
   color: #13795b;
   font-size: 1.7rem;
}

.fluxuscodex-infra-kpis strong,
.fluxuscodex-infra-kpis span {
   display: block;
}

.fluxuscodex-infra-kpis strong {
   font-size: 1.55rem;
}

.fluxuscodex-infra-actions h3,
.fluxuscodex-infra-actions p {
   margin: 0;
}

.fluxuscodex-infra-actions p {
   margin-top: 5px;
   color: #667085;
}

.fluxuscodex-infra-form-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 12px;
   margin: 14px 0;
}

.fluxuscodex-infra-form-grid label {
   display: grid;
   gap: 6px;
   font-weight: 600;
}

.fluxuscodex-infra-form-grid .wide {
   grid-column: 1 / -1;
}

@media (max-width: 760px) {
   .fluxuscodex-infra-hero {
      align-items: flex-start;
      flex-direction: column;
   }

   .fluxuscodex-infra-kpis,
   .fluxuscodex-infra-actions,
   .fluxuscodex-infra-form-grid {
      grid-template-columns: 1fr;
   }

   .fluxuscodex-infra-form-grid .wide {
      grid-column: auto;
   }
}

/* Restored GOVERNANCA risk map styles from pre-update backup. */
.fluxuscodex-risk-map {
   position: relative;
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 12px;
   margin: 16px 0;
   padding: 0 0 26px 26px;
}

.fluxuscodex-risk-axis {
   position: absolute;
   color: #667085;
   font-size: .78rem;
   font-weight: 700;
   text-transform: uppercase;
}

.fluxuscodex-risk-axis.y {
   top: 50%;
   left: 0;
   transform: translate(-42%, -50%) rotate(-90deg);
}

.fluxuscodex-risk-axis.x {
   right: 0;
   bottom: 0;
}

.fluxuscodex-risk-quadrant {
   min-height: 210px;
   padding: 14px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #fff;
}

.fluxuscodex-risk-quadrant.critical {
   border-left: 5px solid #d63939;
}

.fluxuscodex-risk-quadrant.high {
   border-left: 5px solid #f76707;
}

.fluxuscodex-risk-quadrant.medium {
   border-left: 5px solid #f59f00;
}

.fluxuscodex-risk-quadrant.low {
   border-left: 5px solid #2f9e44;
}

.fluxuscodex-risk-quadrant-head {
   display: flex;
   justify-content: space-between;
   gap: 12px;
   margin-bottom: 12px;
}

.fluxuscodex-risk-quadrant-head h4 {
   margin: 0;
   color: #1f2a3d;
}

.fluxuscodex-risk-quadrant-head span {
   color: #667085;
   font-size: .84rem;
   text-align: right;
}

.fluxuscodex-risk-pills {
   display: grid;
   gap: 8px;
}

.fluxuscodex-risk-pill,
.fluxuscodex-risk-empty {
   display: flex;
   justify-content: space-between;
   gap: 10px;
   padding: 8px 10px;
   border: 1px solid #edf0f5;
   border-radius: 8px;
   background: #f8fafc;
   color: #344054;
   font-size: .86rem;
}

.fluxuscodex-risk-pill strong {
   color: #1f2a3d;
}

.fluxuscodex-risk-empty {
   color: #667085;
}

.fluxuscodex-risk-badge {
   display: inline-flex;
   align-items: center;
   min-height: 24px;
   padding: 2px 8px;
   border-radius: 999px;
   color: #fff;
   font-size: .78rem;
   font-weight: 700;
}

.fluxuscodex-risk-badge.risk-critical {
   background: #d63939;
}

.fluxuscodex-risk-badge.risk-high {
   background: #f76707;
}

.fluxuscodex-risk-badge.risk-medium {
   background: #f59f00;
}

.fluxuscodex-risk-badge.risk-low {
   background: #2f9e44;
}

/* GED bundle and production GED helpers. */
.fluxuscodex-bundle-progress-card {
   max-width: 920px;
   margin: 16px auto;
   padding: 18px;
   border: 1px solid #d8dfe8;
   border-radius: 8px;
   background: #fff;
   box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
}

.fluxuscodex-bundle-progress-card h2 {
   margin: 0 0 8px;
   color: #1f2a3d;
   font-size: 1.25rem;
}

.fluxuscodex-bundle-progress {
   height: 26px;
   overflow: hidden;
   border-radius: 6px;
   background: #e9eef5;
}

.fluxuscodex-bundle-progress-bar {
   display: flex;
   align-items: center;
   justify-content: center;
   min-width: 90px;
   height: 100%;
   color: #fff;
   background: #2f7d32;
   font-size: .82rem;
   font-weight: 700;
   transition: width .4s ease;
}

.fluxuscodex-bundle-progress-bar.active {
   background-image: linear-gradient(45deg, rgba(255, 255, 255, .18) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .18) 50%, rgba(255, 255, 255, .18) 75%, transparent 75%, transparent);
   background-size: 32px 32px;
   animation: fluxuscodex-bundle-progress 1s linear infinite;
}

.fluxuscodex-bundle-progress-bar.complete {
   background: #2f7d32;
}

@keyframes fluxuscodex-bundle-progress {
   from {
      background-position: 0 0;
   }
   to {
      background-position: 32px 0;
   }
}

.fluxuscodex-easy-page {
   padding-bottom: 28px;
}

.fluxuscodex-inline-controls {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 6px;
}

.fluxuscodex-section {
   max-width: 1320px;
   margin: 0 auto 14px;
   padding: 14px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #fff;
}

@media (max-width: 1100px) {
   .fluxuscodex-risk-map {
      grid-template-columns: 1fr;
   }
}

@media (max-width: 700px) {
   .fluxuscodex-risk-map {
      padding-left: 0;
   }

   .fluxuscodex-risk-axis {
      display: none;
   }

   .fluxuscodex-risk-quadrant-head {
      flex-direction: column;
   }

   .fluxuscodex-risk-quadrant-head span {
      text-align: left;
   }
}


/* Restored DATABOOK A4 preview styles from pre-update backup - 20260630_201004 */
.fluxuscodex-preview-section-navigator {
   max-width: 1120px;
   margin: 0 auto 16px;
}

.fluxuscodex-section-tabs {
   display: flex;
   align-items: end;
   gap: 0;
   overflow-x: auto;
   overflow-y: hidden;
   padding: 0;
   scroll-behavior: smooth;
}

.fluxuscodex-section-tabs::-webkit-scrollbar {
   height: 7px;
}

.fluxuscodex-section-tabs::-webkit-scrollbar-thumb {
   background-color: #cdd4df;
   border-radius: 6px;
}

.fluxuscodex-section-tabs-arrow {
   width: 32px;
   height: 34px;
   border: 1px solid #cdd4df;
   border-bottom: 0;
   border-radius: 6px 6px 0 0;
   background: #fff;
   color: #1f2a3d;
   display: inline-flex;
   align-items: center;
   justify-content: center;
}

.fluxuscodex-section-tabs-arrow:disabled {
   opacity: 0.35;
   cursor: not-allowed;
}

.fluxuscodex-section-tab {
   flex: 0 0 auto;
   max-width: 190px;
   min-width: 98px;
}

.fluxuscodex-section-tab.is-active {
   z-index: 2;
}

.fluxuscodex-section-tab.is-used .fluxuscodex-tab {
   border-color: #b7e4c7;
   background: #f0fdf4;
}

.fluxuscodex-section-tab.is-used .fluxuscodex-section-tab-rank,
.fluxuscodex-section-tab.is-used .fluxuscodex-section-tab-name {
   color: #166534;
}

.fluxuscodex-section-tab.is-used .fluxuscodex-section-tab-meta {
   color: #2f6f46;
}

.fluxuscodex-section-tab.is-active.is-used .fluxuscodex-tab {
   border-color: #206bc4;
   border-top-color: #86efac;
   background: #f0fdf4;
   box-shadow: inset 0 3px 0 #86efac;
}

.fluxuscodex-section-tab.is-hidden .fluxuscodex-tab {
   background: #f8fafc;
   opacity: .72;
}

.fluxuscodex-section-tab.is-hidden.is-used .fluxuscodex-tab {
   background: #f0fdf4;
}

.fluxuscodex-section-tab-compact {
   min-width: 98px;
   max-width: 170px;
}

.fluxuscodex-section-tab a {
   text-decoration: none;
}

.fluxuscodex-section-tab .fluxuscodex-tab {
   width: 100%;
}

.fluxuscodex-section-tab-rank {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: 26px;
   font-weight: 700;
   color: #1f2a3d;
   font-size: .78rem;
}

.fluxuscodex-section-tab-name {
   display: inline-block;
   min-width: 0;
   max-width: 128px;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
   font-weight: 700;
   color: #0f1b2e;
   margin: 0;
}

.fluxuscodex-section-tab-meta {
   display: none;
}

.fluxuscodex-section-tab.is-active .fluxuscodex-section-tab-rank,
.fluxuscodex-section-tab.is-active .fluxuscodex-section-tab-name {
   color: #206bc4;
}

.fluxuscodex-section-tab-actions,
.fluxuscodex-section-tab-action-form {
   display: none;
}

.fluxuscodex-section-action-toolbar {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 6px;
   margin: -6px 0 14px;
   padding: 8px;
   border: 1px solid #b7e4c7;
   border-radius: 6px;
   background: #f0fdf4;
}

.fluxuscodex-section-action-toolbar-label {
   margin-right: 4px;
   color: #166534;
   font-weight: 700;
   font-size: .85rem;
}

.fluxuscodex-section-action-form {
   margin: 0;
}

.fluxuscodex-section-action-toolbar .btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 4px;
   min-width: 32px;
   height: 32px;
   padding: 4px 8px;
   line-height: 1;
}

.fluxuscodex-tab {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   min-height: 38px;
   padding: 8px 12px 7px;
   border: 1px solid transparent;
   border-bottom: 0;
   border-radius: 6px 6px 0 0;
   color: #49566a;
   font-weight: 600;
   text-decoration: none;
}

.fluxuscodex-tab:hover {
   background: #f6f8fb;
   color: #1f2a3d;
   text-decoration: none;
}

.fluxuscodex-tab.active,
.fluxuscodex-section-tab.is-active .fluxuscodex-tab {
   border-color: #d9dee8;
   background: #fff;
   color: #1f2a3d;
   box-shadow: 0 -1px 0 #fff inset;
}

.fluxuscodex-section-tab.is-complete .fluxuscodex-tab {
   border-color: #b7e4c7;
   background: #f0fdf4;
}

.fluxuscodex-section-tab.is-attention .fluxuscodex-tab {
   border-color: #fde68a;
   background: #fffbeb;
}

.fluxuscodex-section-tab.is-attention .fluxuscodex-section-tab-rank,
.fluxuscodex-section-tab.is-attention .fluxuscodex-section-tab-name {
   color: #92400e;
}

.fluxuscodex-section-tab.is-pending.is-used .fluxuscodex-tab {
   border-color: #d9dee8;
   background: #fff;
}

.fluxuscodex-section-tab.is-pending.is-used .fluxuscodex-section-tab-rank,
.fluxuscodex-section-tab.is-pending.is-used .fluxuscodex-section-tab-name {
   color: #1f2a3d;
}

.fluxuscodex-section-tab.is-active.is-complete .fluxuscodex-tab {
   border-color: #206bc4;
   border-top-color: #86efac;
   background: #f0fdf4;
   box-shadow: inset 0 3px 0 #86efac;
}

.fluxuscodex-section-tab.is-active.is-attention .fluxuscodex-tab {
   border-color: #206bc4;
   border-top-color: #fde68a;
   background: #fffbeb;
   box-shadow: inset 0 3px 0 #facc15;
}

.fluxuscodex-completion-panel {
   margin: 14px 0;
   padding: 14px;
   border: 1px solid #d9e1ec;
   border-radius: 6px;
   background: #fff;
   box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.fluxuscodex-completion-panel-compact {
   margin-top: 0;
}

.fluxuscodex-completion-head {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 12px;
   margin-bottom: 10px;
}

.fluxuscodex-completion-head h3 {
   margin: 0 0 4px;
   color: #102033;
   font-size: 1rem;
}

.fluxuscodex-completion-percent {
   flex: 0 0 auto;
   padding: 5px 10px;
   border-radius: 999px;
   border: 1px solid #b6d4fe;
   background: #eef6ff;
   color: #0f4c81;
   font-weight: 700;
   font-size: .85rem;
}

.fluxuscodex-completion-summary {
   display: grid;
   grid-template-columns: repeat(4, minmax(110px, 1fr));
   gap: 8px;
   margin-bottom: 12px;
}

.fluxuscodex-completion-card {
   padding: 10px;
   border: 1px solid #d9e1ec;
   border-radius: 6px;
   background: #f8fafc;
}

.fluxuscodex-completion-card strong {
   display: block;
   color: #111827;
   font-size: 1.35rem;
   line-height: 1.1;
}

.fluxuscodex-completion-card span {
   color: #526071;
   font-size: .82rem;
   font-weight: 600;
}

.fluxuscodex-completion-card.is-complete {
   border-color: #b7e4c7;
   background: #f0fdf4;
}

.fluxuscodex-completion-card.is-attention {
   border-color: #fde68a;
   background: #fffbeb;
}

.fluxuscodex-completion-card.is-pending {
   border-color: #fecaca;
   background: #fff5f5;
}

.fluxuscodex-completion-state {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: 82px;
   padding: 4px 8px;
   border-radius: 999px;
   border: 1px solid #d9e1ec;
   background: #f8fafc;
   color: #1f2a3d;
   font-size: .78rem;
   font-weight: 700;
   white-space: nowrap;
}

.fluxuscodex-completion-state.is-complete {
   border-color: #b7e4c7;
   background: #dcfce7;
   color: #166534;
}

.fluxuscodex-completion-state.is-attention {
   border-color: #fde68a;
   background: #fef3c7;
   color: #92400e;
}

.fluxuscodex-completion-state.is-pending {
   border-color: #fecaca;
   background: #fee2e2;
   color: #991b1b;
}

.fluxuscodex-completion-table-wrap {
   margin-top: 8px;
}

.fluxuscodex-completion-table td {
   vertical-align: middle;
}

.fluxuscodex-completion-checks {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
}

.fluxuscodex-completion-check {
   display: inline-flex;
   align-items: center;
   gap: 5px;
   padding: 5px 8px;
   border: 1px solid #d9e1ec;
   border-radius: 6px;
   background: #f8fafc;
   color: #475569;
   font-size: .82rem;
   font-weight: 600;
}

.fluxuscodex-completion-check.is-ok {
   border-color: #b7e4c7;
   background: #f0fdf4;
   color: #166534;
}

.fluxuscodex-completion-check.is-missing {
   border-color: #fecaca;
   background: #fff5f5;
   color: #991b1b;
}

.fluxuscodex-completion-check.is-warning {
   border-color: #fde68a;
   background: #fffbeb;
   color: #92400e;
}

.fluxuscodex-workflow-panel {
   margin: 14px 0;
   padding: 14px;
   border: 1px solid #d9e1ec;
   border-radius: 6px;
   background: #fff;
   box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.fluxuscodex-audit-panel {
   margin: 14px 0;
   padding: 14px;
   border: 1px solid #d9e1ec;
   border-radius: 6px;
   background: #fff;
   box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.fluxuscodex-audit-panel-collapsed {
   padding: 10px 12px;
}

.fluxuscodex-audit-disclosure > .fluxuscodex-muted {
   margin: 10px 0;
}

.fluxuscodex-audit-summary {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   cursor: pointer;
   color: #102033;
   font-weight: 700;
   list-style: none;
}

.fluxuscodex-audit-summary::-webkit-details-marker {
   display: none;
}

.fluxuscodex-audit-summary span:first-child {
   display: inline-flex;
   align-items: center;
   gap: 6px;
}

.fluxuscodex-audit-summary:hover {
   color: #2f6f24;
}

.fluxuscodex-permission-panel,
.fluxuscodex-review-request-panel,
.fluxuscodex-review-status-panel {
   margin: 14px 0;
   padding: 14px;
   border: 1px solid #d9e1ec;
   border-radius: 6px;
   background: #fff;
   box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.fluxuscodex-review-request-panel h3,
.fluxuscodex-review-status-panel h3 {
   margin: 0 0 4px;
   color: #102033;
   font-size: 1rem;
}

.fluxuscodex-permission-checks {
   display: flex;
   flex-wrap: wrap;
   gap: 8px 12px;
}

.fluxuscodex-permission-checks label {
   display: inline-flex;
   align-items: center;
   gap: 5px;
   margin: 0;
   color: #344054;
   font-size: .84rem;
   font-weight: 600;
}

.fluxuscodex-audit-head {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 12px;
   margin-bottom: 10px;
}

.fluxuscodex-audit-head h3 {
   margin: 0 0 4px;
   color: #102033;
   font-size: 1rem;
}

.fluxuscodex-audit-count {
   flex: 0 0 auto;
   padding: 5px 10px;
   border-radius: 999px;
   border: 1px solid #d9e1ec;
   background: #f8fafc;
   color: #344054;
   font-weight: 700;
   font-size: .84rem;
}

.fluxuscodex-workflow-head {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 12px;
   margin-bottom: 10px;
}

.fluxuscodex-workflow-head h3 {
   margin: 0 0 4px;
   color: #102033;
   font-size: 1rem;
}

.fluxuscodex-workflow-status {
   flex: 0 0 auto;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: 100px;
   padding: 5px 10px;
   border-radius: 999px;
   border: 1px solid #d9e1ec;
   background: #f8fafc;
   color: #1f2a3d;
   font-weight: 700;
   font-size: .84rem;
}

.fluxuscodex-workflow-status.is-status-2 {
   border-color: #fde68a;
   background: #fffbeb;
   color: #92400e;
}

.fluxuscodex-workflow-status.is-status-3 {
   border-color: #b7e4c7;
   background: #f0fdf4;
   color: #166534;
}

.fluxuscodex-workflow-status.is-status-4 {
   border-color: #fecaca;
   background: #fff5f5;
   color: #991b1b;
}

.fluxuscodex-workflow-trace {
   display: grid;
   grid-template-columns: repeat(3, minmax(160px, 1fr));
   gap: 8px;
   margin-bottom: 12px;
}

.fluxuscodex-workflow-trace div {
   padding: 9px 10px;
   border: 1px solid #e2e8f0;
   border-radius: 6px;
   background: #f8fafc;
}

.fluxuscodex-workflow-trace strong,
.fluxuscodex-workflow-trace span,
.fluxuscodex-workflow-trace small {
   display: block;
}

.fluxuscodex-workflow-trace strong {
   color: #334155;
   font-size: .78rem;
}

.fluxuscodex-workflow-trace span {
   margin-top: 3px;
   color: #111827;
   font-weight: 700;
}

.fluxuscodex-workflow-trace small {
   color: #64748b;
}

.fluxuscodex-workflow-actions label {
   display: block;
   margin-bottom: 4px;
   color: #334155;
   font-weight: 700;
}

.fluxuscodex-workflow-actions textarea {
   margin-bottom: 8px;
}

.fluxuscodex-section-readonly-content {
   min-height: 220px;
   padding: 12px;
   border: 1px solid #d9e1ec;
   border-radius: 6px;
   background: #f8fafc;
}

.fluxuscodex-tab-panel {
   display: none;
}

.fluxuscodex-tab-panel.active {
   display: block;
}

.fluxuscodex-required {
   color: #d63939;
   font-weight: 700;
   margin-right: 4px;
}

.fluxuscodex-filter-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(180px, 1fr));
   gap: 12px;
   align-items: end;
}

.fluxuscodex-field label {
   display: block;
   margin-bottom: 4px;
   font-weight: 600;
}

.fluxuscodex-field .select2,
.fluxuscodex-field .select2-container,
.fluxuscodex-field input[type="text"],
.fluxuscodex-field select {
   max-width: 100%;
}

.fluxuscodex-date-range {
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
   gap: 6px;
   align-items: center;
}

.fluxuscodex-date-range .input-group {
   max-width: 100%;
}

.fluxuscodex-filter-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
}

.fluxuscodex-audit-filters {
   display: grid;
   grid-template-columns: repeat(4, minmax(180px, 1fr));
   gap: 12px;
   align-items: end;
}

.fluxuscodex-audit-table td {
   vertical-align: top;
}

.fluxuscodex-audit-table details {
   max-width: 280px;
}

.fluxuscodex-audit-diff {
   display: grid;
   grid-template-columns: minmax(90px, auto) minmax(160px, 1fr);
   gap: 2px 8px;
   margin: 0;
}

.fluxuscodex-audit-diff dt {
   color: #4f5f73;
   font-weight: 700;
}

.fluxuscodex-audit-diff dd {
   margin: 0;
   word-break: break-word;
}

.fluxuscodex-list-tools {
   display: flex;
   justify-content: space-between;
   align-items: center;
   flex-wrap: wrap;
   gap: 10px;
   max-width: 1320px;
   margin: 14px auto 8px;
}

.fluxuscodex-legend {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   align-items: center;
}

.fluxuscodex-table-wrap {
   max-width: 100%;
   overflow-x: auto;
   -webkit-overflow-scrolling: touch;
}

.fluxuscodex-table-wrap table {
   min-width: 680px;
}

.fluxuscodex-table-wrap .fluxuscodex-document-list {
   min-width: 1040px;
}

.fluxuscodex-table-wrap .fluxuscodex-orphan-table {
   min-width: 1120px;
}

.fluxuscodex-orphan-summary .fluxuscodex-dashboard-card strong {
   white-space: nowrap;
}

.fluxuscodex-danger-zone {
   max-width: 1320px;
   margin: 14px auto 0;
   padding: 14px;
   border: 1px solid #f1b8b8;
   border-left: 4px solid #d63939;
   border-radius: 8px;
   background: #fff7f7;
}

.fluxuscodex-danger-zone h3 {
   margin: 0 0 6px;
   color: #b42318;
}

.fluxuscodex-danger-zone p {
   margin: 0 0 10px;
   color: #667085;
}

.fluxuscodex-danger-zone input[type="password"] {
   max-width: 320px;
}

.fluxuscodex-orphan-actions {
   display: grid;
   grid-template-columns: repeat(2, minmax(180px, max-content)) minmax(280px, 1fr);
   gap: 10px;
   align-items: end;
}

.fluxuscodex-orphan-attach {
   display: grid;
   grid-template-columns: minmax(220px, 1fr) max-content;
   gap: 8px;
   align-items: end;
}

.fluxuscodex-orphan-attach label {
   grid-column: 1 / -1;
   margin: 0;
   font-weight: 600;
}

.fluxuscodex-collapsible {
   width: 100%;
}

.fluxuscodex-collapsible summary {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   cursor: pointer;
   padding: 7px 12px;
   border: 1px solid #cfd7e6;
   border-radius: 6px;
   background: #fff;
   color: #2d3748;
   font-weight: 600;
}

.fluxuscodex-collapsible summary:hover {
   background: #f6f8fb;
}

.fluxuscodex-collapsible[open] summary {
   margin-bottom: 10px;
}

.fluxuscodex-collapsible-card {
   max-width: 1320px;
   margin: 14px auto 0;
   padding: 12px;
   border: 1px solid #d9dee8;
   border-radius: 8px;
   background: #fff;
}

.fluxuscodex-approval-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 6px;
   margin-top: 8px;
}

.fluxuscodex-approval-actions .form-control {
   flex: 1 1 220px;
   min-width: 180px;
}

.fluxuscodex-approval-status {
   font-weight: 700;
}

.fluxuscodex-approval-status.approved {
   color: #2f9e44;
}

.fluxuscodex-approval-status.rejected {
   color: #d63939;
}

.fluxuscodex-approval-status.pending {
   color: #f59f00;
}

.fluxuscodex-approval-status.correction {
   color: #d97706;
}

.fluxuscodex-relation-picker,
.fluxuscodex-permission-picker {
   display: none;
   max-width: 720px;
}

.fluxuscodex-relation-picker.active,
.fluxuscodex-permission-picker.active {
   display: block;
}

.fluxuscodex-relation-picker + .fluxuscodex-relation-picker,
.fluxuscodex-permission-picker + .fluxuscodex-permission-picker {
   margin-top: 8px;
}

.fluxuscodex-relation-picker label,
.fluxuscodex-permission-picker label {
   display: block;
   margin-bottom: 4px;
   font-weight: 600;
}

.fluxuscodex-responsive-form {
   max-width: 1320px;
   margin-left: auto;
   margin-right: auto;
}

.fluxuscodex-responsive-form input[type="text"],
.fluxuscodex-responsive-form input[type="number"],
.fluxuscodex-responsive-form input[type="file"],
.fluxuscodex-responsive-form textarea,
.fluxuscodex-responsive-form .select2,
.fluxuscodex-responsive-form .select2-container,
.fluxuscodex-responsive-form .input-group {
   max-width: 100%;
}

.fluxuscodex-responsive-form code {
   white-space: normal;
   overflow-wrap: anywhere;
}

.fluxuscodex-responsive-form .fluxuscodex-code-input,
.fluxuscodex-code-input {
   max-width: 220px;
}

.fluxuscodex-pagination {
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   gap: 8px;
   margin-top: 14px;
}

.fluxuscodex-analytics-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(280px, 1fr));
   gap: 12px;
   max-width: 1320px;
   margin: 14px auto;
}

.fluxuscodex-analytics-wide {
   max-width: 1320px;
   margin: 14px auto;
}

.fluxuscodex-analytics-list {
   display: grid;
   gap: 10px;
}

.fluxuscodex-analytics-row {
   display: grid;
   gap: 6px;
}

.fluxuscodex-analytics-row div:first-child {
   display: flex;
   justify-content: space-between;
   gap: 10px;
}

.fluxuscodex-analytics-row strong {
   min-width: 0;
   overflow-wrap: anywhere;
}

.fluxuscodex-analytics-row span {
   color: #667085;
   white-space: nowrap;
}

.fluxuscodex-analytics-days {
   display: flex;
   align-items: end;
   gap: 8px;
   min-height: 145px;
   overflow-x: auto;
   padding: 8px 2px;
}

.fluxuscodex-analytics-day {
   display: grid;
   justify-items: center;
   align-items: end;
   min-width: 42px;
   gap: 4px;
}

.fluxuscodex-analytics-day span {
   display: block;
   width: 22px;
   border-radius: 6px 6px 0 0;
   background: #206bc4;
}

.fluxuscodex-analytics-day strong {
   font-size: .8rem;
}

.fluxuscodex-analytics-day small {
   color: #667085;
   font-size: .72rem;
}

.fluxuscodex-databook-preview {
   display: grid;
   gap: 18px;
   justify-content: center;
   padding: 10px 0 28px;
   background: #eef2f7;
   counter-reset: databook-page;
}

.fluxuscodex-a4-page {
   position: relative;
   width: 210mm;
   min-height: 297mm;
   padding: 28mm 22mm 22mm;
   overflow: hidden;
   background: #fff;
   border: 1px solid #d9dee8;
   box-shadow: 0 10px 32px rgba(15, 23, 42, .12);
   color: #111827;
}

.fluxuscodex-a4-page::before {
   content: "";
   position: absolute;
   inset: 0;
   pointer-events: none;
   background:
      linear-gradient(126deg, transparent 0 8%, rgba(39, 146, 214, .12) 8% 15%, transparent 15% 100%),
      linear-gradient(306deg, transparent 0 7%, rgba(39, 146, 214, .10) 7% 13%, transparent 13% 100%);
}

.fluxuscodex-a4-page > * {
   position: relative;
   z-index: 1;
}

.fluxuscodex-databook-preview.is-under-construction .fluxuscodex-a4-page:not(.fluxuscodex-a4-cover)::after {
   content: "EM CONSTRUÇÃO";
   position: absolute;
   top: 48%;
   left: 50%;
   z-index: 0;
   pointer-events: none;
   color: rgba(71, 85, 105, .12);
   font-size: 28mm;
   font-weight: 800;
   letter-spacing: 0;
   text-transform: uppercase;
   transform: translate(-50%, -50%) rotate(-28deg);
   white-space: nowrap;
}

.fluxuscodex-a4-page:not(.fluxuscodex-a4-cover) {
   counter-increment: databook-page;
}

.fluxuscodex-a4-cover {
   display: block;
   padding: 16mm;
   background: #202326;
   color: #f8fafc;
}

.fluxuscodex-a4-cover::before {
   background:
      linear-gradient(132deg, transparent 0 9%, rgba(201, 113, 59, .42) 9% 9.35%, transparent 9.35% 100%),
      linear-gradient(312deg, transparent 0 16%, rgba(230, 221, 142, .36) 16% 16.35%, transparent 16.35% 100%),
      linear-gradient(225deg, rgba(5, 12, 20, .95), rgba(35, 37, 37, .97));
}

.fluxuscodex-a4-cover-dark_lines::before {
   background:
      linear-gradient(132deg, transparent 0 9%, rgba(201, 113, 59, .45) 9% 9.3%, transparent 9.3% 100%),
      linear-gradient(312deg, transparent 0 16%, rgba(230, 221, 142, .38) 16% 16.35%, transparent 16.35% 100%),
      linear-gradient(42deg, transparent 0 31%, rgba(95, 105, 98, .42) 31% 31.45%, transparent 31.45% 100%),
      radial-gradient(circle at 76% 12%, rgba(255, 255, 255, .08), transparent 19%),
      linear-gradient(225deg, rgba(3, 10, 18, .98), rgba(35, 36, 35, .98));
}

.fluxuscodex-a4-cover-blue_tech::before {
   background:
      linear-gradient(126deg, transparent 0 11%, rgba(60, 160, 205, .48) 11% 11.55%, transparent 11.55% 100%),
      linear-gradient(306deg, transparent 0 19%, rgba(144, 211, 232, .34) 19% 19.45%, transparent 19.45% 100%),
      radial-gradient(circle at 82% 18%, rgba(94, 180, 220, .22), transparent 23%),
      linear-gradient(225deg, rgba(4, 18, 33, .98), rgba(20, 39, 51, .96));
}

.fluxuscodex-a4-cover-graphite::before {
   background:
      linear-gradient(90deg, rgba(255, 255, 255, .05) 0 50%, transparent 50% 100%),
      linear-gradient(135deg, transparent 0 22%, rgba(255, 255, 255, .16) 22% 22.2%, transparent 22.2% 100%),
      linear-gradient(315deg, transparent 0 12%, rgba(120, 184, 75, .22) 12% 12.45%, transparent 12.45% 100%),
      linear-gradient(225deg, rgba(18, 20, 22, .99), rgba(45, 47, 46, .98));
}

.fluxuscodex-a4-cover-logo {
   position: absolute;
   top: 18mm;
   left: 18mm;
   z-index: 1;
   color: rgba(248, 250, 252, .78);
   font-size: .88rem;
   font-weight: 700;
   letter-spacing: 0;
}

.fluxuscodex-a4-cover-brand h1 {
   margin: 83mm 0 6px;
   color: rgba(248, 250, 252, .58);
   font-size: 3.45rem;
   font-weight: 400;
   letter-spacing: 0;
   text-align: center;
}

.fluxuscodex-a4-cover-brand p,
.fluxuscodex-a4-cover-title p {
   margin: 0;
   color: #cbd5e1;
   text-align: center;
}

.fluxuscodex-a4-cover-title h2 {
   margin: 0 0 8px;
   color: #f8fafc;
   font-size: 1.4rem;
   text-align: center;
}

.fluxuscodex-a4-cover-number {
   position: absolute;
   right: 30mm;
   bottom: 34mm;
   color: rgba(248, 250, 252, .76);
   text-align: right;
}

.fluxuscodex-a4-cover-number span,
.fluxuscodex-a4-cover-number strong {
   display: block;
}

.fluxuscodex-a4-data-sheet-page::before {
   background:
      linear-gradient(126deg, transparent 0 8%, rgba(65, 166, 218, .18) 8% 15%, transparent 15% 100%),
      linear-gradient(306deg, transparent 0 6%, rgba(65, 166, 218, .14) 6% 12%, transparent 12% 100%),
      radial-gradient(circle at 88% 10%, rgba(65, 166, 218, .20), transparent 20%),
      linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .98));
}

.fluxuscodex-a4-data-sheet-header {
   display: grid;
   justify-items: end;
   gap: 2px;
   margin: -18mm 0 18mm;
   color: #07364a;
   text-align: right;
}

.fluxuscodex-a4-data-sheet-header strong {
   font-size: .86rem;
}

.fluxuscodex-a4-data-sheet-header span {
   color: #4b5563;
   font-size: .68rem;
   line-height: 1.3;
}

.fluxuscodex-a4-service-sheet {
   display: grid;
   grid-template-columns: 44% 56%;
   border: 1px solid #111827;
   background: rgba(255, 255, 255, .94);
}

.fluxuscodex-a4-service-title {
   display: grid;
   align-content: center;
   min-height: 58mm;
   padding: 8mm;
   background: #003f0b;
   color: #fff;
}

.fluxuscodex-a4-service-title strong {
   display: block;
   font-size: 1.42rem;
   font-weight: 500;
}

.fluxuscodex-a4-service-title span {
   display: block;
   font-size: .76rem;
}

.fluxuscodex-a4-service-table {
   width: 100%;
   border-collapse: collapse;
}

.fluxuscodex-a4-service-table th,
.fluxuscodex-a4-service-table td {
   padding: 5px 7px;
   border: 1px solid #111827;
   color: #111827;
   font-size: .78rem;
   vertical-align: top;
}

.fluxuscodex-a4-service-table th {
   width: 38%;
   font-weight: 700;
   text-align: left;
}

.fluxuscodex-a4-service-bottom {
   grid-column: 1 / -1;
   display: grid;
   grid-template-columns: 22% 28% 50%;
   border-top: 1px solid #111827;
}

.fluxuscodex-a4-service-bottom div {
   min-height: 16mm;
   padding: 4mm;
   border-right: 1px solid #111827;
   color: #111827;
   font-size: .68rem;
}

.fluxuscodex-a4-service-bottom div:last-child {
   border-right: 0;
}

.fluxuscodex-a4-service-bottom strong,
.fluxuscodex-a4-service-bottom span {
   display: block;
}

.fluxuscodex-a4-checkbox {
   display: inline-block;
   width: 4mm;
   height: 4mm;
   margin: 0 3mm 0 2mm;
   border: 1px solid #1f2937;
   vertical-align: middle;
}

.fluxuscodex-a4-checkbox.is-checked {
   background: #111827;
}

.fluxuscodex-a4-header {
   display: grid;
   justify-items: end;
   gap: 2px;
   min-height: 18mm;
   margin-bottom: 12mm;
   color: #07364a;
   text-align: right;
}

.fluxuscodex-a4-header strong {
   font-size: 1rem;
}

.fluxuscodex-a4-header span {
   font-size: .82rem;
}

.fluxuscodex-a4-title {
   margin: 0 0 12mm;
   color: #07425f;
   font-size: 1.35rem;
   font-weight: 500;
}

.fluxuscodex-a4-subtitle {
   margin: 24mm 0 6mm;
   color: #07425f;
   font-size: 1rem;
}

.fluxuscodex-a4-data-table,
.fluxuscodex-a4-revision-table {
   width: 100%;
   border-collapse: collapse;
   background: rgba(255, 255, 255, .92);
}

.fluxuscodex-a4-data-table th,
.fluxuscodex-a4-data-table td,
.fluxuscodex-a4-revision-table th,
.fluxuscodex-a4-revision-table td {
   padding: 7px 8px;
   border: 1px solid #111827;
   vertical-align: top;
   font-size: .82rem;
}

.fluxuscodex-a4-data-table th,
.fluxuscodex-a4-revision-table th {
   color: #111827;
   font-weight: 700;
   text-align: left;
}

.fluxuscodex-a4-summary {
   margin: 0;
   padding: 0;
   list-style: none;
}

.fluxuscodex-a4-summary li {
   display: flex;
   align-items: baseline;
   gap: 4px;
   margin-bottom: 7px;
   padding: 0;
   border: 0;
   font-size: .82rem;
   line-height: 1.25;
}

.fluxuscodex-a4-summary li::after {
   content: "";
   flex: 1;
   border-bottom: 1px dotted #111827;
   transform: translateY(-2px);
}

.fluxuscodex-a4-summary span {
   order: 0;
   max-width: 145mm;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.fluxuscodex-a4-summary em {
   order: 2;
   color: #111827;
   font-style: normal;
   white-space: nowrap;
}

.fluxuscodex-a4-content {
   font-size: .92rem;
   line-height: 1.45;
   color: #111827;
   text-align: justify;
   overflow-wrap: anywhere;
   word-break: normal;
}

.fluxuscodex-a4-content p {
   margin: 0 0 9px;
}

.fluxuscodex-a4-content h1,
.fluxuscodex-a4-content h2,
.fluxuscodex-a4-content h3,
.fluxuscodex-a4-content h4 {
   margin: 12px 0 8px;
   color: #07425f;
   line-height: 1.25;
   text-align: left;
}

.fluxuscodex-a4-content h1 {
   font-size: 1.3rem;
}

.fluxuscodex-a4-content h2 {
   font-size: 1.15rem;
}

.fluxuscodex-a4-content h3,
.fluxuscodex-a4-content h4 {
   font-size: 1rem;
}

.fluxuscodex-a4-content ul,
.fluxuscodex-a4-content ol {
   margin: 0 0 10px 20px;
   padding: 0;
}

.fluxuscodex-a4-content li {
   margin-bottom: 4px;
}

.fluxuscodex-a4-content img {
   max-width: 100%;
   height: auto;
   object-fit: contain;
}

.fluxuscodex-a4-content table {
   width: 100%;
   max-width: 100%;
   border-collapse: collapse;
   table-layout: fixed;
}

.fluxuscodex-a4-content th,
.fluxuscodex-a4-content td {
   padding: 6px 7px;
   border: 1px solid #111827;
   vertical-align: top;
   overflow-wrap: anywhere;
}

.fluxuscodex-a4-empty {
   color: #6b7280;
   font-style: italic;
}

.fluxuscodex-a4-reference-block {
   margin-top: 12mm;
   padding: 8mm;
   border: 1px solid #cbd5e1;
   background: rgba(248, 250, 252, .88);
}

.fluxuscodex-a4-reference-block h3,
.fluxuscodex-a4-reference-block h4 {
   margin: 0 0 6px;
   color: #07425f;
}

.fluxuscodex-a4-reference-block ul {
   margin: 0 0 10px 18px;
   padding: 0;
}

.fluxuscodex-a4-reference-block li {
   margin-bottom: 6px;
}

.fluxuscodex-a4-reference-block span,
.fluxuscodex-a4-reference-block em {
   color: #4b5563;
}

.fluxuscodex-a4-footer {
   position: absolute;
   right: 22mm;
   bottom: 14mm;
   color: #075985;
   font-size: .82rem;
}

.fluxuscodex-a4-footer-numbered::after {
   content: "Página " counter(databook-page);
}

.fluxuscodex-a4-footer-numbered:not(:empty)::after {
   content: " | Página " counter(databook-page);
}

.fluxuscodex-a4-attachment-meta {
   display: grid;
   gap: 4px;
   margin-bottom: 8mm;
   padding: 6mm;
   border: 1px solid #cbd5e1;
   background: rgba(248, 250, 252, .9);
   color: #111827;
}

.fluxuscodex-a4-attachment-meta span,
.fluxuscodex-a4-attachment-meta a {
   color: #4b5563;
}

.fluxuscodex-a4-attachment-frame {
   display: grid;
   place-items: center;
   min-height: 170mm;
   border: 1px solid #cbd5e1;
   background: #f8fafc;
}

.fluxuscodex-a4-attachment-frame img {
   max-width: 100%;
   max-height: 170mm;
   object-fit: contain;
}

.fluxuscodex-a4-pdf-frame iframe {
   width: 100%;
   min-height: 170mm;
   border: 0;
   background: #fff;
}

.fluxuscodex-a4-pdf-preview-page {
   display: flex;
   flex-direction: column;
}

.fluxuscodex-a4-pdf-page-caption {
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto;
   gap: 2px 8px;
   margin-bottom: 5mm;
   padding: 3mm 4mm;
   border: 1px solid #d9e1ec;
   background: rgba(248, 250, 252, .92);
   color: #111827;
   font-size: .76rem;
}

.fluxuscodex-a4-pdf-page-caption strong {
   color: #07425f;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.fluxuscodex-a4-pdf-page-caption span {
   color: #4b5563;
}

.fluxuscodex-a4-pdf-page-caption a {
   grid-row: 1 / span 2;
   grid-column: 2;
   align-self: center;
   color: #206bc4;
   white-space: nowrap;
}

.fluxuscodex-a4-pdf-page-frame {
   min-height: 196mm;
   max-height: 196mm;
   overflow: hidden;
   background: #fff;
}

.fluxuscodex-a4-pdf-page-frame img {
   max-width: 100%;
   max-height: 196mm;
   object-fit: contain;
}

.fluxuscodex-a4-attachment-placeholder {
   padding: 10mm;
   border: 1px dashed #94a3b8;
   background: rgba(248, 250, 252, .92);
   color: #111827;
}

.fluxuscodex-databook-attachment-picker {
   display: grid;
   gap: 8px;
}

.fluxuscodex-databook-attachment-option {
   display: grid;
   grid-template-columns: minmax(0, 1fr) 90px;
   gap: 8px;
   align-items: center;
   padding: 8px;
   border: 1px solid #d9e1ec;
   background: #f8fafc;
}

.fluxuscodex-databook-attachment-option small {
   grid-column: 1 / -1;
   color: #667085;
}

@media print {
   .fluxuscodex-actions,

.fluxuscodex-governance-inventory p {
   margin-bottom: 12px;
}

.fluxuscodex-governance-kpis {
   display: grid;
   grid-template-columns: repeat(4, minmax(160px, 1fr));
   gap: 10px;
   margin: 12px 0;
}

.fluxuscodex-governance-kpis div {
   min-height: 84px;
   padding: 12px;
   border: 1px solid #d9dee8;
   border-left: 4px solid #206bc4;
   border-radius: 8px;
   background: #f8fafc;
}

.fluxuscodex-governance-kpis span,
.fluxuscodex-governance-kpis small {
   display: block;
   color: #667085;
   font-weight: 600;
}

.fluxuscodex-governance-kpis strong {
   display: block;
   margin: 3px 0;
   color: #1f2a3d;
   font-size: 1.6rem;
   line-height: 1.1;
}

.fluxuscodex-governance-columns {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 12px;
   margin-top: 12px;
}

.fluxuscodex-governance-columns > div {
   padding: 12px;
   border: 1px solid #edf0f5;
   border-radius: 8px;
   background: #fff;
}

.fluxuscodex-governance-columns h4,
.fluxuscodex-governance-inventory h4 {
   margin: 0 0 8px;
   color: #1f2a3d;
}

.fluxuscodex-compact-list {
   display: grid;
   gap: 7px;
   margin: 0;
   padding-left: 18px;
}

.fluxuscodex-risk-asset-table {
   margin-top: 8px;
}

@media (max-width: 1000px) {
   .fluxuscodex-governance-kpis,
   .fluxuscodex-governance-columns {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}

@media (max-width: 700px) {
   .fluxuscodex-governance-kpis,
   .fluxuscodex-governance-columns {
      grid-template-columns: 1fr;
   }
}

}

/* Login Fluxus: painel de vidro sobre a imagem institucional. */
body.welcome-anonymous:has(#login_name) .container-tight {
   width: min(calc(100% - 32px), 36rem);
   max-width: 36rem !important;
}

body.welcome-anonymous:has(#login_name) .main-content-card {
   overflow: hidden;
   border: 1px solid rgba(255, 255, 255, .42);
   border-radius: 18px;
   background: rgba(10, 27, 44, .58);
   box-shadow: 0 24px 64px rgba(0, 0, 0, .32);
   color: #fff;
   -webkit-backdrop-filter: blur(18px) saturate(125%);
   backdrop-filter: blur(18px) saturate(125%);
}

body.welcome-anonymous:has(#login_name) .main-content-card .card-body {
   padding: clamp(2rem, 5vw, 3.25rem);
   background: transparent;
}

body.welcome-anonymous:has(#login_name) .main-content-card .row {
   margin: 0;
}

body.welcome-anonymous:has(#login_name) .main-content-card .col-md-5 {
   flex: 0 1 25rem;
   width: 100%;
   max-width: 25rem;
   padding: 0;
}

body.welcome-anonymous:has(#login_name) .main-content-card h2,
body.welcome-anonymous:has(#login_name) .main-content-card .form-label,
body.welcome-anonymous:has(#login_name) .main-content-card .form-check-label {
   color: #fff;
   text-shadow: 0 1px 2px rgba(0, 0, 0, .28);
}

body.welcome-anonymous:has(#login_name) .main-content-card .card-header {
   border-bottom-color: rgba(255, 255, 255, .22);
}

body.welcome-anonymous:has(#login_name) .main-content-card .form-control,
body.welcome-anonymous:has(#login_name) .main-content-card .form-select {
   border-color: rgba(255, 255, 255, .64);
   background-color: rgba(255, 255, 255, .9);
   box-shadow: 0 4px 14px rgba(0, 0, 0, .12);
   color: #182433;
}

body.welcome-anonymous:has(#login_name) .main-content-card .form-control:focus,
body.welcome-anonymous:has(#login_name) .main-content-card .form-select:focus {
   border-color: #8dccff;
   background-color: rgba(255, 255, 255, .98);
   box-shadow: 0 0 0 .25rem rgba(54, 156, 255, .28);
}

body.welcome-anonymous:has(#login_name) .main-content-card .btn-primary {
   border-color: #1684d6;
   background: rgba(22, 132, 214, .94);
   box-shadow: 0 8px 20px rgba(0, 70, 130, .28);
   color: #fff !important;
   font-weight: 700;
}

body.welcome-anonymous:has(#login_name) .main-content-card .btn-primary:hover,
body.welcome-anonymous:has(#login_name) .main-content-card .btn-primary:focus {
   border-color: #31a2f4;
   background: #168fe2;
   color: #fff !important;
}

body.welcome-anonymous:has(#login_name) .main-content-card .btn-primary:active {
   color: #fff !important;
}

body.welcome-anonymous:has(#login_name) .container-tight > .text-muted,
body.welcome-anonymous:has(#login_name) .container-tight > .text-muted a {
   color: rgba(255, 255, 255, .9) !important;
   text-shadow: 0 1px 3px rgba(0, 0, 0, .8);
}

@media (max-width: 575.98px) {
   body.welcome-anonymous:has(#login_name) .container-tight {
      width: min(calc(100% - 24px), 36rem);
   }

   body.welcome-anonymous:has(#login_name) .main-content-card {
      border-radius: 14px;
      background: rgba(10, 27, 44, .68);
   }

   body.welcome-anonymous:has(#login_name) .main-content-card .card-body {
      padding: 1.5rem;
   }
}

/* Identidade Fluxus na barra principal do GLPI, sem fundo adicional. */
.page .navbar-brand {
   background: transparent !important;
}

.page .navbar-brand .glpi-logo {
   width: 150px;
   max-width: 100%;
   height: 52px;
   background: transparent url("../pics/logo_Fluxus_fundoBranco.png") center / 110px auto no-repeat !important;
}

body.navbar-collapsed .page .navbar-brand .glpi-logo {
   width: 40px;
   height: 40px;
   background-size: 62px auto !important;
}

/* Marca especifica da tela de login. */
body.welcome-anonymous:has(#login_name) .glpi-logo {
   content: none !important;
   display: block;
   width: 100%;
   height: 260px;
   margin-inline: auto;
   background: transparent url("../pics/logo-glpi-fluxos.png") center / 480px auto no-repeat !important;
}

body.welcome-anonymous:has(#login_name) .fluxuscodex-login-logo {
   display: block;
   width: 100%;
   height: 260px;
   margin-inline: auto;
   background: transparent url("../pics/logo-glpi-fluxos.png") center / 480px auto no-repeat;
}

body.welcome-anonymous:has(#login_name) .fluxuscodex-login-brand {
   width: 100%;
   margin: 0 0 clamp(10px, 2vw, 18px);
   text-align: center;
}

body.welcome-anonymous:has(#login_name) .fluxuscodex-login-brand .fluxuscodex-login-logo {
   margin-bottom: 0 !important;
}

body.welcome-anonymous:has(#login_name) .main-content-card .card-body h2 {
   margin-top: 0;
   text-align: center;
}

@media (max-width: 575.98px) {
   body.welcome-anonymous:has(#login_name) .glpi-logo,
   body.welcome-anonymous:has(#login_name) .fluxuscodex-login-logo {
      height: 220px;
      background-size: min(110vw, 400px) auto !important;
   }
}

/* Base responsiva comum a todas as telas operacionais Fluxus. */
.fluxuscodex-page {
   width: 100%;
   max-width: 100%;
   min-width: 0;
   padding-inline: clamp(8px, 2vw, 24px);
   overflow-wrap: anywhere;
}

.fluxuscodex-page img,
.fluxuscodex-page video,
.fluxuscodex-page iframe {
   max-width: 100%;
}

.fluxuscodex-page .fluxuscodex-table-wrap,
.fluxuscodex-page .table-responsive {
   width: 100%;
   max-width: 100%;
   overflow-x: auto;
   -webkit-overflow-scrolling: touch;
}

.fluxuscodex-page input,
.fluxuscodex-page select,
.fluxuscodex-page textarea,
.fluxuscodex-page .select2-container {
   max-width: 100%;
}

.fluxuscodex-page .fluxuscodex-actions,
.fluxuscodex-page .btn-list {
   flex-wrap: wrap;
}

@media (max-width: 767.98px) {
   .fluxuscodex-page {
      padding-inline: 8px;
   }

   .fluxuscodex-page [class*="-grid"],
   .fluxuscodex-page [class*="-columns"],
   .fluxuscodex-page [class*="-kpis"] {
      grid-template-columns: minmax(0, 1fr);
   }

   .fluxuscodex-page .fluxuscodex-actions > .btn,
   .fluxuscodex-page .fluxuscodex-actions > form,
   .fluxuscodex-page .fluxuscodex-actions > form > .btn {
      max-width: 100%;
   }

   .fluxuscodex-databook-attachment-option {
      grid-template-columns: minmax(0, 1fr);
   }
}
.fluxus-stage-grid{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));gap:10px}.fluxus-stage-card{position:relative;overflow:hidden;display:block;background:#fff;border:1px solid #e6e9ef;border-radius:12px;padding:13px 15px;box-shadow:0 6px 18px rgba(25,36,52,.05);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.fluxus-stage-card:hover,.fluxus-stage-card:focus-visible{transform:translateY(-2px);box-shadow:0 9px 22px rgba(25,36,52,.11);border-color:var(--stage-color);text-decoration:none}.fluxus-stage-card.is-active{border-color:var(--stage-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--stage-color) 22%,transparent)}.fluxus-stage-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--stage-color)}.fluxus-stage-card span{display:block;color:#667085;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fluxus-stage-card strong{display:block;color:var(--stage-color);font-size:1.65rem;line-height:1.1;margin-top:6px}.fluxus-filter-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(180px,.8fr) minmax(260px,1.4fr) auto;gap:10px;margin-bottom:10px}.fluxus-filter-value{display:flex;gap:8px}@media(max-width:1100px){.fluxus-stage-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:900px){.fluxus-stage-grid{grid-template-columns:repeat(2,1fr)}.fluxus-filter-row{grid-template-columns:1fr}.fluxus-filter-value{flex-wrap:wrap}}
.fluxus-stage-grid{grid-template-columns:repeat(8,minmax(115px,1fr));gap:9px}
@media(max-width:1100px){.fluxus-stage-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.fluxus-stage-grid{grid-template-columns:repeat(2,1fr)}}
.fluxus-priority-section{max-width:1180px;margin:20px auto 0;text-align:center}.fluxus-priority-section h2{margin:0 0 10px;color:#526174;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.fluxus-priority-grid{display:grid;grid-template-columns:repeat(5,minmax(155px,1fr));gap:14px;justify-content:center}.fluxus-priority-card{position:relative;overflow:hidden;display:flex;min-height:104px;flex-direction:column;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--priority-color) 32%,#e6e9ef);border-radius:15px;background:color-mix(in srgb,var(--priority-color) 7%,#fff);box-shadow:0 7px 20px rgba(25,36,52,.07);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.fluxus-priority-card:hover,.fluxus-priority-card:focus-visible{transform:translateY(-2px);border-color:var(--priority-color);box-shadow:0 10px 24px color-mix(in srgb,var(--priority-color) 18%,transparent);text-decoration:none}.fluxus-priority-card.is-active{border-color:var(--priority-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--priority-color) 24%,transparent)}.fluxus-priority-card::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--priority-color)}.fluxus-priority-card span{color:#536174;font-size:.88rem;font-weight:650}.fluxus-priority-card strong{margin-top:7px;color:var(--priority-color);font-size:2rem;line-height:1}@media(max-width:1000px){.fluxus-priority-grid{grid-template-columns:repeat(3,minmax(155px,1fr))}}@media(max-width:650px){.fluxus-priority-grid{grid-template-columns:repeat(2,minmax(130px,1fr));gap:10px}.fluxus-priority-card{min-height:92px}}@media(max-width:390px){.fluxus-priority-grid{grid-template-columns:1fr}}

/* Indicador visual uniforme para todos os campos obrigatorios do GLPI e Fluxus. */
label .required,
.form-label .required,
.fluxuscodex-required-mark {
    color: #d63939 !important;
    margin-left: 0.2em;
    font-weight: 700;
}
