

/* Start:/local/components/toolsdrawing/femshared/fem_surface_viewer.css?17881084742744*/
.fem-surface-viewer {
  margin: 1rem 0;
  padding: 0.85rem;
  border: 1px solid #d8dee6;
  border-radius: 8px;
  background: #fff;
}

.fem-surface-viewer[hidden] {
  display: none;
}

.fem-surface-viewer__canvas {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  border-radius: 6px;
  background: #eef2f5;
}

.fem-surface-viewer__canvas canvas {
  display: block;
  width: 100%;
}

.fem-surface-viewer__result-tabs {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  min-height: 2.7rem;
  padding: 0 0.65rem;
  border-bottom: 1px solid #cbd5e1;
  background: rgba(255, 255, 255, 0.96);
}

.fem-surface-viewer__result-tab {
  position: relative;
  padding: 0.65rem 0.8rem 0.55rem;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: #0b4d8c;
  cursor: pointer;
  font: inherit;
  font-size: 0.84rem;
}

.fem-surface-viewer__result-tab.is-active {
  border-bottom-color: #0b4d8c;
  color: #0b4d8c;
  font-weight: 600;
}

.fem-surface-viewer__result-view {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3.4rem 0.75rem 0.75rem;
  background: #eef2f5;
  color: #5f6b7a;
}

.fem-surface-viewer__result-view[hidden] {
  display: none !important;
}

.fem-surface-viewer__result-view[data-empty="true"] {
  font-size: 0.9rem;
}

.fem-surface-viewer__result-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}

.fem-surface-viewer__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.7rem;
}

.fem-surface-viewer__select {
  border: 1px solid #9ec3e6;
  border-radius: 5px;
  background: #fff;
  color: #0b4d8c;
  cursor: pointer;
}

.fem-surface-viewer__select.is-active {
  color: #fff;
  background: #0b4d8c;
}

.fem-surface-viewer__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.55rem;
  color: #5f6b7a;
  font-size: 0.84rem;
}

.fem-surface-viewer__legend span::before {
  display: inline-block;
  width: 0.75rem;
  height: 0.75rem;
  margin-right: 0.3rem;
  border-radius: 2px;
  content: "";
  vertical-align: -0.08rem;
}

.fem-surface-viewer__legend .is-fixed::before {
  background: #2563eb;
}

.fem-surface-viewer__legend .is-loaded::before {
  background: #dc2626;
}

.fem-surface-viewer__status {
  flex: 1 1 260px;
  margin: 0;
  color: #5f6b7a;
  font-size: 0.88rem;
}

.fem-surface-viewer__hint {
  margin: 0.45rem 0 0;
  color: #5f6b7a;
  font-size: 0.84rem;
}

/* End */


/* Start:/local/components/toolsdrawing/femcodeaster/templates/.default/style.css?178809796011158*/
﻿.fem-codeaster {
  --fa-bg: #f4f6f8;

  --fa-border: #d8dee6;

  --fa-muted: #5f6b7a;

  --fa-ok: #1a7f4b;

  --fa-bad: #8a2f14;

  --fa-blue: #0b4d8c;

  --fa-blue-dark: #083a6b;

  --fa-blue-light: #e8f2fb;
}

.fem-codeaster__field {
  margin-bottom: 1rem;
}

.fem-codeaster__hint {
  color: var(--fa-muted);

  font-size: 0.92rem;

  margin-top: 0.35rem;
}

.fem-codeaster__options {
  margin: 1rem 0;

  padding: 0.85rem 1rem;

  background: #fff;

  border: 1px solid var(--fa-border);

  border-radius: 8px;
}

.fem-codeaster__options-title {
  margin: 0 0 0.65rem;

  font-weight: 600;
}

.fem-codeaster__grid {
  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));

  gap: 0.75rem 1rem;

  margin-bottom: 0.75rem;
}

.fem-codeaster__grid label {
  display: block;

  font-size: 0.88rem;

  margin-bottom: 0.25rem;
}

.fem-codeaster__grid input,
.fem-codeaster__grid select {
  width: 100%;

  max-width: 220px;
}

.fem-codeaster__result {
  margin-top: 1.5rem;
}

.fem-codeaster__error {
  padding: 0.75rem 1rem;

  border: 1px solid #e4572e;

  background: #fff5f2;

  border-radius: 6px;

  color: var(--fa-bad);
}

/* ——— Results dashboard (mockup) ——— */

.fem-codeaster-dashboard {
  background: #fff;

  border: 1px solid var(--fa-border);

  border-radius: 10px;

  padding: 1rem 1rem 1.25rem;

  box-shadow: 0 2px 10px rgba(15, 35, 60, 0.06);
}

.fem-codeaster-dashboard__status {
  margin: 1rem 0 0;

  color: var(--fa-muted);

  font-size: 0.95rem;
}

.fem-codeaster-dashboard__note {
  margin: 0 0 0.85rem;

  padding: 0.55rem 0.75rem;

  background: var(--fa-blue-light);

  border-radius: 6px;

  color: var(--fa-blue-dark);

  font-size: 0.88rem;
}

.fem-codeaster-dashboard__note--warn {
  background: #fff8eb;

  border: 1px solid #f0d9a8;

  color: #8a5a00;
}

.fem-codeaster-dashboard__errors {
  margin: 0.35rem 0 0.85rem 1.1rem;

  padding: 0;

  color: #8a5a00;

  font-size: 0.84rem;
}

.fem-codeaster-dashboard__stepper {
  display: flex;

  align-items: stretch;

  gap: 0.35rem;

  overflow-x: auto;

  padding-bottom: 0.35rem;

  margin-bottom: 1rem;
}

.fem-codeaster-dashboard__step {
  flex: 1 1 0;

  min-width: 118px;

  text-align: center;

  padding: 0.55rem 0.35rem 0.65rem;

  border: 1px solid var(--fa-border);

  border-radius: 8px;

  background: #fafbfc;
}

.fem-codeaster-dashboard__step--active {
  border-color: #7eb8e8;

  background: var(--fa-blue-light);

  box-shadow: inset 0 0 0 1px #b8d9f5;
}

.fem-codeaster-dashboard__step--done {
  border-color: #b8d9f5;

  background: #f3f9ff;
}

.fem-codeaster-dashboard__step-num {
  font-size: 0.72rem;

  font-weight: 700;

  color: var(--fa-blue);

  margin-bottom: 0.25rem;
}

.fem-codeaster-dashboard__step-title {
  font-size: 0.72rem;

  line-height: 1.25;

  color: #2a3340;

  margin-top: 0.35rem;
}

.fem-codeaster-dashboard__step-arrow {
  display: flex;

  align-items: center;

  color: #9ab4cc;

  font-size: 1.2rem;

  padding: 0 0.1rem;
}

.fem-codeaster-dashboard__thumb {
  height: 52px;

  margin: 0 auto;

  border-radius: 6px;

  background: linear-gradient(145deg, #e8edf2, #cfd8e2);

  position: relative;

  overflow: hidden;
}

.fem-codeaster-dashboard__thumb--step {
  display: flex;

  align-items: center;

  justify-content: center;

  background: linear-gradient(180deg, #fff, #eef3f8);

  border: 1px solid #d5dee8;
}

.fem-codeaster-dashboard__file {
  font-size: 0.72rem;

  font-weight: 700;

  color: var(--fa-blue);
}

.fem-codeaster-dashboard__thumb--part {
  background:
    radial-gradient(circle at 62% 38%, #d5dde6 0 18%, transparent 19%),
    linear-gradient(145deg, #b8c4d0, #8fa0b0);
  clip-path: polygon(18% 78%, 38% 22%, 72% 18%, 88% 55%, 62% 82%);
}

.fem-codeaster-dashboard__thumb--loads::after {
  content: "";

  position: absolute;

  left: 50%;

  top: 18%;

  width: 0;

  height: 0;

  border-left: 6px solid transparent;

  border-right: 6px solid transparent;

  border-bottom: 14px solid #e74c3c;

  transform: translateX(-50%);
}

.fem-codeaster-dashboard__thumb--calc {
  background:
    repeating-linear-gradient(
      45deg,
      rgba(11, 77, 140, 0.15) 0 2px,
      transparent 2px 6px
    ),
    linear-gradient(145deg, #b8c4d0, #8fa0b0);
}

.fem-codeaster-dashboard__thumb--report {
  display: flex;

  align-items: center;

  justify-content: center;

  background: #fff;

  border: 1px solid #d5dee8;
}

.fem-codeaster-dashboard__report-icon {
  width: 28px;

  height: 34px;

  border: 2px solid var(--fa-blue);

  border-radius: 3px;

  position: relative;
}

.fem-codeaster-dashboard__report-icon::before {
  content: "";

  position: absolute;

  left: 4px;

  right: 4px;

  top: 8px;

  height: 2px;

  background: #9ec3e6;

  box-shadow:
    0 5px 0 #9ec3e6,
    0 10px 0 #f0a060;
}

.fem-codeaster-dashboard__layout {
  display: grid;

  grid-template-columns: minmax(0, 1fr) 280px;

  gap: 1rem;

  align-items: start;
}

.fem-codeaster-dashboard__layout--full {
  grid-template-columns: minmax(0, 1fr);
}

.fem-codeaster-dashboard__scale {
  display: flex;

  align-items: center;

  justify-content: flex-end;

  gap: 0.35rem;

  padding: 0.35rem 0.65rem 0.5rem;

  font-size: 0.72rem;

  color: var(--fa-muted);
}

.fem-codeaster-dashboard__scale-bar {
  width: 48px;

  height: 8px;

  border-radius: 4px;

  background: linear-gradient(
    90deg,
    #0000ff,
    #00ffff,
    #00ff00,
    #ffff00,
    #ff0000
  );
}

.fem-codeaster-dashboard__kpis {
  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 0.65rem;

  margin-top: 0.85rem;
}

.fem-codeaster-dashboard__kpi {
  display: grid;

  grid-template-columns: auto 1fr;

  grid-template-rows: auto auto;

  gap: 0.1rem 0.45rem;

  align-items: center;

  padding: 0.65rem 0.75rem;

  border: 1px solid var(--fa-border);

  border-radius: 8px;

  background: #fafbfc;
}

.fem-codeaster-dashboard__kpi-icon {
  grid-row: 1 / span 2;

  width: 28px;

  height: 28px;

  display: flex;

  align-items: center;

  justify-content: center;

  border-radius: 6px;

  background: var(--fa-blue-light);

  color: var(--fa-blue);

  font-weight: 700;

  font-size: 0.95rem;
}

.fem-codeaster-dashboard__kpi-label {
  font-size: 0.72rem;

  color: var(--fa-muted);
}

.fem-codeaster-dashboard__kpi-value {
  font-size: 1rem;

  color: #1a1f2e;
}

.fem-codeaster-dashboard__downloads {
  display: flex;

  flex-wrap: wrap;

  gap: 0.5rem;

  margin-top: 0.85rem;
}

.fem-codeaster-dashboard__dl-secondary {
  background: #fff;

  color: var(--fa-blue);

  border: 1px solid #9ec3e6;
}

.fem-codeaster-dashboard__aside {
  display: flex;

  flex-direction: column;

  gap: 0.85rem;
}

.fem-codeaster-dashboard__side-card {
  border: 1px solid var(--fa-border);

  border-radius: 8px;

  overflow: hidden;

  background: #fff;
}

.fem-codeaster-dashboard__side-title {
  margin: 0;

  padding: 0.55rem 0.75rem;

  font-size: 0.88rem;

  font-weight: 600;

  color: #fff;

  background: var(--fa-blue-dark);
}

.fem-codeaster-dashboard__analysis-list,
.fem-codeaster-dashboard__benefits {
  list-style: none;

  margin: 0;

  padding: 0.55rem 0.65rem 0.65rem;
}

.fem-codeaster-dashboard__analysis-item {
  display: flex;

  gap: 0.55rem;

  align-items: flex-start;

  padding: 0.45rem 0.35rem;

  border-radius: 6px;

  font-size: 0.82rem;

  color: #2a3340;
}

.fem-codeaster-dashboard__analysis-item--active {
  background: var(--fa-blue-light);
}

.fem-codeaster-dashboard__analysis-item small {
  color: var(--fa-muted);
}

.fem-codeaster-dashboard__analysis-icon {
  flex: 0 0 22px;

  width: 22px;

  height: 22px;

  border-radius: 5px;

  background: var(--fa-blue-light);
}

.fem-codeaster-dashboard__analysis-icon--linear_static {
  background: linear-gradient(135deg, #4a90d9, #0b4d8c);
}

.fem-codeaster-dashboard__analysis-icon--nonlinear {
  background: linear-gradient(135deg, #6bbf59, #2d7a46);
}

.fem-codeaster-dashboard__analysis-icon--thermal {
  background: linear-gradient(135deg, #f0a030, #d9480f);
}

.fem-codeaster-dashboard__analysis-icon--buckling {
  background: linear-gradient(135deg, #9b59b6, #6c3483);
}

.fem-codeaster-dashboard__analysis-icon--frequency {
  background: linear-gradient(135deg, #3498db, #1a5276);
}

.fem-codeaster-dashboard__analysis-icon--contact {
  background: linear-gradient(135deg, #95a5a6, #566573);
}

.fem-codeaster-dashboard__benefits li {
  position: relative;

  padding: 0.35rem 0 0.35rem 1.35rem;

  font-size: 0.84rem;

  color: #2a3340;
}

.fem-codeaster-dashboard__benefits li::before {
  content: "✓";

  position: absolute;

  left: 0;

  color: var(--fa-ok);

  font-weight: 700;
}

@media (max-width: 960px) {
  .fem-codeaster-dashboard__layout {
    grid-template-columns: 1fr;
  }

  .fem-codeaster-dashboard__kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .fem-codeaster-dashboard__kpis {
    grid-template-columns: 1fr;
  }

  .fem-codeaster-dashboard__stepper {
    flex-wrap: wrap;
  }

  .fem-codeaster-dashboard__step-arrow {
    display: none;
  }
}

.fem-codeaster-dashboard__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.55rem 0.85rem;
  margin: 0.85rem 0;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--fa-border);
  border-radius: 8px;
  background: #fafbfc;
  font-size: 0.88rem;
}

.fem-codeaster-dashboard__fact dt {
  margin: 0;
  color: var(--fa-muted);
  font-size: 0.72rem;
}

.fem-codeaster-dashboard__fact dd {
  margin: 0.1rem 0 0;
  font-weight: 600;
  color: #1a1f2e;
}

.fem-codeaster-dashboard__vm {
  margin-top: 0.85rem;
  border: 1px solid var(--fa-border);
  border-radius: 8px;
  overflow: hidden;
}

.fem-codeaster-dashboard__vm table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}

.fem-codeaster-dashboard__vm th,
.fem-codeaster-dashboard__vm td {
  padding: 0.45rem 0.75rem;
  border-bottom: 1px solid var(--fa-border);
  text-align: left;
}

.fem-codeaster-dashboard__vm th {
  background: #f7f9fb;
  width: 58%;
  font-weight: 600;
}

.fem-codeaster-dashboard__bc {
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.8rem;
  background: #fff8eb;
  border: 1px solid #f0d9a8;
  border-radius: 6px;
  color: #8a5a00;
  font-size: 0.88rem;
}

.fem-codeaster-dashboard__peak {
  margin: 0.55rem 0 0;
  padding: 0.55rem 0.75rem;
  background: #fff5f2;
  border: 1px solid #e4572e;
  border-radius: 6px;
  color: var(--fa-bad);
  font-size: 0.86rem;
}

/* End */
/* /local/components/toolsdrawing/femshared/fem_surface_viewer.css?17881084742744 */
/* /local/components/toolsdrawing/femcodeaster/templates/.default/style.css?178809796011158 */
