/* Amper shared visual system. Specific layouts stay in responsive.css. */
:root {
  --amper-graphite: #25282a;
  --amper-copper: #dfa17a;
  --amper-primary: #8b4a2c;
  --amper-primary-hover: #713c24;
  --amper-primary-soft: #f7ebe2;
  --amper-focus: rgba(139,74,44,.24);
  --amper-surface: #fff;
  --amper-page: #faf5ef;
  --amper-border: #ded7cf;
  --amper-ink: #25282a;
  --amper-muted: #625b55;
  --amper-radius: 16px;
  --amper-control-radius: 10px;
  --amper-shadow: 0 .2rem .8rem rgba(33,37,41,.045);
}

      .amper-brand {
          display: inline-flex;
          align-items: center;
          gap: 0.7rem;
          margin-right: 2rem;
          color: #ffffff;
          font-size: 1.15rem;
          font-weight: 800;
          letter-spacing: 0.08em;
          text-decoration: none;
      }

      .amper-brand:hover {
          color: #ffffff;
      }

      .amper-brand-icon {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          width: 38px;
          height: 38px;
          border-radius: 0.7rem;
          color: var(--amper-graphite);
          background: var(--amper-graphite);
          box-shadow: 0 0.25rem 0.75rem rgba(223, 161, 122, 0.15);
          transition:
              transform 0.2s ease,
              box-shadow 0.2s ease;
      }

      .amper-brand:hover .amper-brand-icon {
          transform: translateY(-1px);
          box-shadow: 0 0.4rem 1rem rgba(223, 161, 122, 0.22);
      }

      .amper-brand-text {
          line-height: 1;
      }

      .amper-navbar .navbar-toggler {
          padding: 0.4rem 0.55rem;
          border-color: rgba(255, 255, 255, 0.45);
      }

      .amper-nav-link {
          color: rgba(255, 255, 255, 0.92);
          text-decoration: none;
      }

      .amper-nav-link:hover,
      .amper-nav-link:focus {
          color: var(--amper-copper);
      }

      .amper-organization-form select {
          min-width: 150px;
      }

      .form-control.is-invalid,
      .form-select.is-invalid {
          border-color: #dc3545;
          background-color: #fff8f8;
      }

      .form-check-input.is-invalid ~ .form-check-label {
          color: #b02a37;
      }

      .amper-form-error-summary:focus {
          outline: 3px solid rgba(220, 53, 69, 0.25);
          outline-offset: 2px;
      }

      @media (max-width: 1399.98px) {
          .amper-brand {
              margin-right: 0;
          }

          .amper-navbar .navbar-collapse {
              margin-top: 0.85rem;
              padding-top: 0.75rem;
              padding-bottom: 0.35rem;
              border-top: 1px solid rgba(255, 255, 255, 0.16);
          }

          .amper-nav-link,
          .amper-profile-link {
              display: flex;
              align-items: center;
              min-height: 44px;
              padding: 0.55rem 0.25rem;
          }

          .amper-account {
              padding-top: 0.65rem;
              border-top: 1px solid rgba(255, 255, 255, 0.16);
          }

          .amper-organization-form {
              display: grid !important;
              grid-template-columns: minmax(0, 1fr) auto;
              width: 100%;
          }

          .amper-organization-form select {
              min-width: 0;
              width: 100%;
          }

          .amper-logout-form,
          .amper-logout-form .btn {
              width: 100%;
          }

          .amper-logout-form .btn {
              min-height: 42px;
          }
      }

      @media (min-width: 1400px) {
          .amper-navbar .navbar-collapse,
          .amper-account,
          .amper-nav-links {
              display: flex;
              align-items: center;
          }
      }


.work-shell {max-width:860px;margin:0 auto}
.work-shell .work-panel {background:#fff;border:1px solid #e1e4e8;border-radius:16px;padding:1.5rem}
.work-line {border:1px solid #e1e4e8;border-radius:12px;padding:1rem;background:#fff;margin-bottom:.75rem}
.work-line label {display:block;font-size:.87rem;font-weight:600;color:#48515b;margin-bottom:.35rem}
.work-line .form-control, .work-line .form-select {width:100%;min-width:0;font-size:1rem;min-height:44px}
.work-line [hidden] {display:none!important}
.work-actions > * + * {margin-left:.5rem}
.work-total {background:var(--amper-graphite);color:#fff;border-radius:14px;padding:1.2rem 1.5rem}
.work-total strong {font-size:1.85rem}
.work-remove {border:0;background:transparent;color:#a21d29;padding:.3rem .5rem}
.work-errors {color:#b42318;font-size:.875rem;margin-top:.25rem}
@media(max-width:575px){.work-shell .work-panel{padding:1rem}.work-line{padding:.85rem}.work-actions > * + * {margin-left:0;margin-top:.5rem}}


.work-detail-title {overflow-wrap:break-word;word-wrap:break-word}
.work-detail-status {display:inline-block;margin-bottom:1rem}
.work-detail-actions {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1.5rem}
.work-detail-actions .btn {width:100%;min-height:44px;white-space:normal;display:flex;align-items:center;justify-content:center}
.work-detail-total {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center}
.work-detail-total strong {white-space:nowrap}
@media(max-width:575px){.work-detail-actions{grid-template-columns:1fr}.work-detail-total{grid-template-columns:1fr}.work-detail-total strong{font-size:1.75rem!important}}


.work-sidebar .work-circuit-link {display:block;padding:.7rem .85rem;border-radius:.65rem;color:#343a40;text-decoration:none}
.work-sidebar .work-circuit-link:hover {background:#f1f4f8}
.work-sidebar .work-circuit-link[aria-current=page] {background:var(--amper-primary-soft);color:var(--amper-primary)}
.work-environment-header {display:flex;flex-direction:column;gap:.65rem;margin-bottom:.65rem;min-width:0}
.work-environment-name {display:block;overflow-wrap:break-word;word-break:normal;line-height:1.4}
.work-environment-actions {display:flex;flex-wrap:wrap;gap:.5rem}
.amper-app .work-environment-actions .btn {font-size:.8125rem;padding:.4rem .6rem;white-space:nowrap;flex:0 0 auto}
.work-panel summary {padding:1rem;cursor:pointer;font-weight:600}
.work-panel[open]>summary {border-bottom:1px solid #eee}
.work-panel details[open]>summary {border-bottom:1px solid #eee}
.work-sidebar {position:sticky;top:1rem}
.work-metric {background:#f8f9fa;border-radius:.7rem;padding:.8rem}
.next-step {border:1px solid var(--amper-border);border-radius:1rem;background:var(--amper-primary-soft)}

body {background:var(--amper-page);color:var(--amper-ink)}
.amper-app h1, .amper-app h2, .amper-app h3 {font-weight:650;overflow-wrap:break-word}
.amper-app .card, .amper-app .work-panel {
  background:var(--amper-surface);border:1px solid var(--amper-border);
  border-radius:var(--amper-radius);box-shadow:var(--amper-shadow);min-width:0;
}
.amper-app .card > .card-header:first-child {border-radius:15px 15px 0 0}
.amper-app .card-header {background:var(--amper-surface);border-bottom:1px solid var(--amper-border);padding:1rem 1.25rem}
.amper-app .card-body {padding:1.25rem}
.amper-app .form-label {font-weight:600;color:var(--amper-muted)}
.amper-app .form-control, .amper-app .form-select {
  min-height:44px;border-radius:var(--amper-control-radius);border-color:#cbd2d9;
}
.amper-app .form-control:focus, .amper-app .form-select:focus {border-color:var(--amper-primary)}
.amper-app .form-control.is-invalid, .amper-app .form-select.is-invalid {border-color:#dc3545}
.amper-app .btn {min-height:44px;border-radius:var(--amper-control-radius);display:inline-flex;align-items:center;justify-content:center;gap:.35rem;white-space:normal}
.amper-app .alert {border-radius:12px;overflow-wrap:break-word}
.amper-app .badge {border-radius:6px}
.amper-app .table > thead > tr > th {background:#f3f5f7;color:#48515b;font-size:.875rem;font-weight:600}
.amper-app .table > tbody > tr > td {padding-top:.85rem;padding-bottom:.85rem}
.amper-app .text-secondary {color:var(--amper-muted)!important}
.amper-app .next-step {background:var(--amper-primary-soft);border:1px solid var(--amper-border);box-shadow:var(--amper-shadow)}
.amper-app details > summary {overflow-wrap:break-word}
.amper-app .work-panel > summary {padding:1rem;cursor:pointer;font-weight:600}
.amper-app .work-panel[open] > summary {border-bottom:1px solid var(--amper-border)}
@media(max-width:767px) {
  .amper-app .card-body, .amper-app .card-header {padding:1rem}
  .amper-app .btn {max-width:100%}
}
@media(prefers-reduced-motion:reduce) { .amper-brand-icon {transition:none} }

.amper-app .amper-total {
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;
  background:var(--amper-ink);color:#fff;border-radius:14px;padding:1.2rem 1.5rem;
}
.amper-app .amper-total dt {font-size:1rem;font-weight:600}
.amper-app .amper-total dd {margin:0;font-size:1.5rem;font-weight:650}
@media(max-width:575px) { .amper-app .amper-total {grid-template-columns:1fr;gap:.5rem} }

/* Brand tokens also drive Bootstrap components and inherited module styles. */
:root {
  --bs-primary: var(--amper-primary);
  --bs-primary-rgb: 139,74,44;
  --bs-primary-text-emphasis: #713c24;
  --bs-primary-bg-subtle: var(--amper-primary-soft);
  --bs-primary-border-subtle: #d9bba8;
  --bs-body-bg: var(--amper-page);
  --bs-body-color: var(--amper-ink);
  --bs-link-color: var(--amper-primary);
  --bs-link-color-rgb: 139,74,44;
  --bs-link-hover-color: var(--amper-primary-hover);
  --bs-link-hover-color-rgb: 113,60,36;
  --bs-focus-ring-color: var(--amper-focus);
}
body.bg-light {background-color:var(--amper-page)!important}
.amper-navbar.bg-dark {background-color:var(--amper-graphite)!important;border-bottom:1px solid rgba(223,161,122,.3)}
.amper-brand-icon img,.login-icon img,.amper-home-logo img {display:block;width:100%;height:100%}
.amper-brand-icon {background:transparent;border-radius:11px}
.btn-primary {
  --bs-btn-color:#fff;--bs-btn-bg:var(--amper-primary);--bs-btn-border-color:var(--amper-primary);
  --bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--amper-primary-hover);--bs-btn-hover-border-color:var(--amper-primary-hover);
  --bs-btn-active-color:#fff;--bs-btn-active-bg:var(--amper-primary-hover);--bs-btn-active-border-color:var(--amper-primary-hover);
  --bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:var(--amper-primary);--bs-btn-disabled-border-color:var(--amper-primary);
  --bs-btn-focus-shadow-rgb:139,74,44;
}
.btn-outline-primary {
  --bs-btn-color:var(--amper-primary);--bs-btn-border-color:var(--amper-primary);
  --bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--amper-primary);--bs-btn-hover-border-color:var(--amper-primary);
  --bs-btn-active-color:#fff;--bs-btn-active-bg:var(--amper-primary-hover);--bs-btn-active-border-color:var(--amper-primary-hover);
  --bs-btn-disabled-color:var(--amper-primary);--bs-btn-disabled-border-color:var(--amper-primary);--bs-btn-focus-shadow-rgb:139,74,44;
}
.btn-outline-brand {
  --bs-btn-color:var(--amper-copper);--bs-btn-border-color:var(--amper-copper);
  --bs-btn-hover-color:var(--amper-graphite);--bs-btn-hover-bg:var(--amper-copper);--bs-btn-hover-border-color:var(--amper-copper);
  --bs-btn-active-color:var(--amper-graphite);--bs-btn-active-bg:var(--amper-copper);--bs-btn-active-border-color:var(--amper-copper);
  --bs-btn-focus-shadow-rgb:223,161,122;
}
.form-control:focus,.form-select:focus,.form-check-input:focus {
  border-color:var(--amper-primary);box-shadow:0 0 0 .25rem var(--amper-focus);
}
.form-check-input:checked {background-color:var(--amper-primary);border-color:var(--amper-primary)}
.form-control.is-invalid:focus,.form-select.is-invalid:focus {border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.2)}
.progress {--bs-progress-bar-bg:var(--amper-primary)}
.nav-pills {--bs-nav-pills-link-active-bg:var(--amper-primary)}
.list-group {--bs-list-group-active-bg:var(--amper-primary);--bs-list-group-active-border-color:var(--amper-primary)}
.pagination {--bs-pagination-color:var(--amper-primary);--bs-pagination-hover-color:var(--amper-primary-hover);--bs-pagination-active-bg:var(--amper-primary);--bs-pagination-active-border-color:var(--amper-primary);--bs-pagination-focus-box-shadow:0 0 0 .25rem var(--amper-focus)}
.accordion {--bs-accordion-active-color:var(--amper-primary-hover);--bs-accordion-active-bg:var(--amper-primary-soft);--bs-accordion-btn-focus-box-shadow:0 0 0 .25rem var(--amper-focus)}

.workspace-page--with-guide{padding-bottom:8rem}
.workspace-continue{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:1020;display:flex;align-items:center;gap:1rem;max-width:min(460px,calc(100vw - 2rem));padding:.85rem 1rem;background:var(--amper-surface);border:1px solid var(--amper-border);border-radius:14px;box-shadow:0 .3rem 1.5rem rgba(37,40,42,.16)}
.workspace-continue-label{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere;font-size:.9rem}
.workspace-continue .btn{flex-shrink:0;min-height:44px}
@media(max-width:575px){.workspace-continue{left:.65rem;right:.65rem;bottom:max(.65rem,env(safe-area-inset-bottom));max-width:none;gap:.65rem;padding:.7rem}.workspace-continue-label{flex:1}.workspace-page--with-guide{padding-bottom:10rem}}
@media print{.workspace-continue{display:none}.workspace-page--with-guide{padding-bottom:0}}

.project-guide-steps{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.75rem;margin:1rem 0 0;padding:0}
.project-guide-step{min-width:0;border:1px solid var(--amper-border);border-radius:12px;background:var(--amper-surface)}
.project-guide-step>a{display:flex;gap:.65rem;align-items:flex-start;min-height:100px;padding:1rem .8rem;color:var(--amper-ink);text-decoration:none;border-radius:11px}
.project-guide-step>a:hover{background:var(--amper-primary-soft)}
.project-guide-step>a:focus-visible{outline:3px solid var(--amper-primary);outline-offset:3px}
.project-guide-step strong{display:block;line-height:1.4;font-size:.875rem;overflow-wrap:anywhere}
.project-step-number{display:flex;align-items:center;justify-content:center;flex:0 0 30px;height:30px;border-radius:50%;background:#eae3dc;color:var(--amper-muted);font-size:.85rem;font-weight:700}
.project-step-status{display:block;margin-top:.5rem;color:var(--amper-muted);font-size:.75rem;font-weight:600}
.project-guide-step--completo{background:#f5faf7;border-color:#c4decf}
.project-guide-step--completo .project-step-number{background:#d8ece1;color:#237148}
.project-guide-step--completo .project-step-status{color:#237148}
.project-guide-step--pendiente .project-step-status{color:#865621}
@media(max-width:991px){.project-guide-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.project-guide-steps{grid-template-columns:1fr}.project-guide-step>a{min-height:80px}}

.amper-app .project-guide{background:var(--amper-surface)}

.amper-nav-link{white-space:nowrap}
.amper-profile-link{min-width:0;max-width:180px}
.amper-profile-link>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rv-continue .workspace-continue-label{flex:1}
.rv-continue .btn{max-width:55%;flex-shrink:1;white-space:normal}
@media(max-width:1399px){.amper-profile-link{max-width:100%}}
