/* Visual source: TriboSolver 3.0.0 native desktop acceptance captures. */
:root {
  --ts3-menu-height: 22px;
  --ts3-toolbar-height: 48px;
  --ts3-header-height: 70px;
  --ts3-tree-width: 300px;
  --ts3-navy: #0a3553;
  --ts3-blue: #087fb6;
  --ts3-blue-dark: #066994;
  --ts3-action-blue: #087aad;
  --ts3-menu-text: #666666;
  --ts3-selection: #e8f4fb;
  --ts3-work-surface: #f4f4f4;
  --ts3-border: #b9ccda;
  --ts3-muted: #45647d;
}

html, body { background: #fff; }
.tribosolver-app { width: 100%; min-height: 100vh; margin: 0; color: #111; background: #fff; font-family: "Segoe UI", Arial, sans-serif; font-size: 13px; }
.product-header { position: sticky; z-index: 1000; top: 0; display: block; min-height: var(--ts3-header-height); padding: 0; color: #111; background: #fff; border-bottom: 1px solid #b7c8d4; box-shadow: none; }
.desktop-menu-bar { display: flex; height: var(--ts3-menu-height); align-items: center; gap: 20px; padding: 0 8px; border-bottom: 1px solid #edf0f2; }
.desktop-menu-item { color: var(--ts3-menu-text); font-size: 12px; text-decoration: none; }
.desktop-menu-item:hover, .desktop-menu-item:focus-visible { color: var(--ts3-navy); }
.toolbar-row { display: flex; height: var(--ts3-toolbar-height); min-width: 0; align-items: center; gap: 8px; padding: 3px 9px; }
.product-actions { display: flex; min-width: 0; align-items: center; gap: 6px; overflow-x: auto; padding: 0; scrollbar-width: thin; }
.product-action { display: inline-flex; width: auto; min-width: max-content; min-height: 38px; align-items: center; gap: 5px; padding: 3px 7px; color: #111; background: transparent; border: 1px solid transparent; border-radius: 3px; text-decoration: none; }
.product-action:hover, .product-action:focus-visible { color: #111; background: var(--ts3-selection); border-color: #8cc5e3; outline: 0; }
.product-action:disabled { filter: grayscale(1); opacity: .42; }
.toolbar-icon { display: block; width: 27px; height: 27px; object-fit: contain; }
.toolbar-help-icon { color: #1ba7eb; font-size: 28px; font-weight: 700; line-height: 1; }
.toolbar-label { position: static; width: auto; height: auto; overflow: visible; clip: auto; clip-path: none; white-space: nowrap; font-size: 12px; }
.account-name { color: var(--ts3-muted); font-size: 12px; }
.account-avatar { width: 26px; height: 26px; }
.product-action-status { position: absolute; top: var(--ts3-header-height); right: 8px; width: auto; min-height: 0; padding: 5px 10px; color: var(--ts3-navy); background: #fff8cf; border: 1px solid #d5c46b; border-radius: 3px; font-size: 12px; }

.workflow-shell { display: grid; grid-template-columns: var(--ts3-tree-width) minmax(0, 1fr); min-height: calc(100vh - var(--ts3-header-height)); margin: 0; }
#sidebar { position: sticky; top: var(--ts3-header-height); align-self: start; min-height: calc(100vh - var(--ts3-header-height)); max-height: calc(100vh - var(--ts3-header-height)); overflow: auto; padding: 0 15px 12px; background: #fff; border-right: 1px solid #b7c8d4; }
.sidebar-brand { display: flex; height: 122px; align-items: center; justify-content: center; flex-direction: column; gap: 2px; }
.sidebar-brand-logo { width: 140px; height: 76px; object-fit: contain; }
.sidebar-brand-edition { margin-top: -7px; color: var(--ts3-navy); font-size: 18px; font-weight: 800; letter-spacing: .4px; }
.sidebar-eyebrow, .sidebar-title, .sidebar-description, #sidebar-toggle, #navbar-toggle { display: none; }
#home-page { display: none !important; }
#menu-list { gap: 0; }
#menu-list .nav-link, #menu-list .nav-link-complete, #menu-list .nav-link-active { position: relative; display: flex; min-height: 48px; align-items: center; gap: 8px; padding: 5px 8px 5px 27px; color: var(--ts3-navy); background: #fff; border: 0; border-radius: 0; font-size: 13px; line-height: 1.15; }
#menu-list .nav-link:hover, #menu-list .nav-link-complete:hover { color: var(--ts3-navy); background: #f3f8fb; }
#menu-list .nav-link-active, #menu-list .nav-link-active:hover, #menu-list .nav-link.active, #menu-list .nav-link.active:hover { color: var(--ts3-navy); background: var(--ts3-selection); box-shadow: inset 3px 0 0 var(--ts3-blue); font-weight: 400; }
.page-simulation #simulation-page,
.page-contact_model #contact_model-page,
.page-material_properties #material_properties-page,
.page-friction_model #friction_model-page,
.page-thermal_properties #thermal-properties-page,
.page-lubricant_properties #lubricant-properties-page,
.page-contact_conditions #contact_conditions-page,
.page-numerical_grid #numerical_grid-page,
.page-macro_geometry #macro_geometry-page,
.page-micro_geometry #micro_geometry-page,
.page-run_calculation #run_calculation-page,
.page-result #result-page { color: var(--ts3-navy); background: var(--ts3-selection); box-shadow: inset 3px 0 0 var(--ts3-blue); }
.workflow-step-number { position: absolute; left: 5px; top: 15px; display: inline-block; width: 12px; height: 12px; color: #4a4a4a; font-size: 0; }
.workflow-step-number::before { content: ""; display: block; width: 7px; height: 7px; margin: 1px; border: solid #4a4a4a; border-width: 0 1px 1px 0; transform: rotate(45deg); }
.workflow-step-icon { width: 31px; height: 31px; flex: 0 0 31px; object-fit: contain; }
.workflow-step-copy { display: flex; min-width: 0; flex-direction: column; }
.workflow-step-label { color: var(--ts3-navy); font-weight: 700; }
.workflow-step-summary { overflow: hidden; padding-top: 5px; color: var(--ts3-muted); font-style: italic; text-overflow: ellipsis; white-space: nowrap; }

.workflow-content { min-width: 0; padding: 0; background: var(--ts3-work-surface); }
#page-content > .card { min-height: calc(100vh - var(--ts3-header-height)); background: var(--ts3-work-surface); border: 0; border-radius: 0; box-shadow: none; }
#page-content > .card > .card-header { min-height: 105px; padding: 28px 32px 12px; color: var(--ts3-navy); background: var(--ts3-work-surface); border: 0; border-radius: 0; text-align: left; }
#page-content > .card > .card-header h1 { margin: 0; padding: 0; color: var(--ts3-navy); font-size: 25px; font-weight: 750; line-height: 1.2; text-align: center; text-transform: none; }
.page-description { margin: 10px 0 0; color: var(--ts3-muted); font-size: 13px; }
#page-content > .card > .card-body { padding: 12px 29px 28px; background: var(--ts3-work-surface); }
#page-content .card-footer { display: flex; min-height: 59px; align-items: center; justify-content: flex-end; gap: 8px; margin-top: auto; padding: 9px; background: #fff; border-top: 1px solid #b7c8d4; border-radius: 0; }
#page-content .choice-row { justify-content: flex-start; gap: 14px; flex-wrap: wrap; overflow: visible; padding: 1px; }
#page-content .choice-row > .col { min-width: 0; max-width: 180px; flex: 0 0 180px; padding: 0; }
#page-content .choice-row .btn { display: flex; width: 100%; height: 218px; min-height: 218px; align-items: center; justify-content: space-between; flex-direction: column; padding: 17px 11px 20px; color: var(--ts3-navy); background: #fff; border: 1px solid var(--ts3-border); border-radius: 9px; box-shadow: none !important; white-space: normal; }
#page-content .choice-row .btn:hover, #page-content .choice-row .btn:focus-visible, #page-content .choice-row .btn-img-selected { color: var(--ts3-navy); background: var(--ts3-selection); border: 3px solid var(--ts3-blue); padding: 15px 9px 18px; box-shadow: none !important; }
#page-content .choice-row .btn.btn-img-selected { position: relative; background: #d9effc; border-color: #066994; box-shadow: 0 0 0 2px #9bd0eb !important; }
#page-content .choice-row .btn.btn-img-selected::after { content: "Selected"; position: absolute; top: 8px; right: 8px; padding: 3px 7px; color: #fff; background: #066994; border-radius: 4px; font-size: 11px; font-weight: 700; letter-spacing: .02em; }
#page-content .choice-row .btn.btn-img-selected h3 { font-weight: 700; }
#page-content .choice-row .btn h3 { order: 2; min-height: 0; margin: 8px 0 0; color: var(--ts3-navy); font-size: 16px; font-weight: 500; }
#page-content .choice-row .imgClick { order: 1; width: 100%; height: 145px; object-fit: contain; }
#cm-checkboxes { margin: 10px 0 0; }
#page-content fieldset, #page-content .card-body > .row:not(.btn-row):not(.choice-row), #page-content .form-section { background: #fff; border: 1px solid var(--ts3-border); border-radius: 9px; }
#page-content .form-control, #page-content .form-select { min-height: 35px; padding: 5px 8px; background: #fff; border: 1px solid #abc2d2; border-radius: 5px; font-size: 13px; }
#page-content label, #page-content .form-label { color: #111; font-size: 13px; }
#page-content h2, #page-content h3 { color: var(--ts3-navy); }
#page-content .prev-btn, #page-content .next-btn, #page-content .btn-primary, #page-content .btn-secondary { min-width: 96px; min-height: 39px; padding: 8px 14px; color: var(--ts3-navy); background: #fff; border: 1px solid #94b3c8; border-radius: 6px; box-shadow: none; font-size: 13px; }
#page-content .next-btn, #page-content .btn-primary { color: #fff; background: var(--ts3-action-blue); border-color: var(--ts3-blue-dark); }

/* The Results explorer uses a consistent plot canvas and quiet, grouped controls. */
#page-content .results-page .results-picker,
#page-content .results-page .results-quantity,
#page-content .results-page .results-coordinates { padding: 18px; margin: 0 0 16px; background: #fff; border: 1px solid var(--ts3-border); border-radius: 10px; }
#page-content .results-page .results-picker > .col,
#page-content .results-page .results-quantity > .col { min-width: 0; }
#page-content .results-page .results-coordinates { max-width: 680px; }
#page-content .results-page .results-quantity:has(> #key-dropdown-row[style*="display: none"]):has(> #quantity-details[style*="display: none"]),
#page-content .results-page .results-coordinates:has(> #axis-input-row[style*="display: none"]),
#page-content .results-page #title-row:empty,
#page-content .results-page #value-row:empty { display: none; }
#page-content .results-page #graph-row { margin-top: 6px; }
#page-content .results-page .results-plot-card { min-width: 0; height: 100%; padding: 12px; background: #fff; border: 1px solid var(--ts3-border); border-radius: 10px; box-shadow: 0 3px 12px rgb(10 53 83 / 5%); }
#page-content .results-page .results-plot-title { margin: 2px 4px 8px; font-size: 15px; font-weight: 700; }
#page-content .results-page #c-2d-graph,
#page-content .results-page #c-3d-graph { width: 100%; height: 460px; }
#page-content .results-page #graph-row > [class*="col"]:has(#c-2d-graph[style*="display: none"]),
#page-content .results-page #graph-row > [class*="col"]:has(#c-3d-graph[style*="display: none"]) { display: none; }
#page-content .results-page #result-comparison { padding: 18px; background: #fff; border: 1px solid var(--ts3-border); border-radius: 10px; }
#page-content .results-page .Select-control,
#page-content .results-page .Select-menu-outer { border-color: #abc2d2; }

@media (max-width: 767.98px) {
  .desktop-menu-bar { display: none; }
  .product-header { min-height: 50px; }
  .toolbar-row { height: 50px; padding: 3px 6px; }
  .product-actions { gap: 2px; }
  .product-action { min-height: 40px; padding: 2px 5px; }
  .toolbar-icon { width: 24px; height: 24px; }
  .toolbar-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  .account-name, .account-avatar { display: none; }
  .workflow-shell { display: block; min-height: 0; }
  #sidebar { position: static; min-height: 0; max-height: 280px; overflow-x: hidden; padding: 0 8px 6px; border-right: 0; border-bottom: 1px solid #b7c8d4; }
  .sidebar-brand { height: 62px; flex-direction: row; justify-content: flex-start; padding-left: 8px; }
  .sidebar-brand-logo { width: 85px; height: 48px; }
  .sidebar-brand-edition { margin: 0; font-size: 14px; }
  .sidebar-title { display: block; padding-left: 8px; color: var(--ts3-navy); font-size: 13px; }
  #navbar-toggle { display: inline-block; min-width: 36px; min-height: 34px; padding: 0; border-radius: 3px; }
  #menu-list .nav-link, #menu-list .nav-link-complete, #menu-list .nav-link-active { min-height: 42px; }
  #page-content > .card { min-height: 560px; }
  #page-content > .card > .card-header { min-height: 94px; padding: 22px 14px 10px; }
  #page-content > .card > .card-header h1 { font-size: 23px; }
  #page-content > .card > .card-body { padding: 10px 8px 22px; }
  #page-content .choice-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #page-content .choice-row > .col { min-width: 0; max-width: none; }
  #page-content .choice-row .btn { height: 185px; min-height: 185px; }
  #page-content .choice-row .imgClick { height: 118px; }
}
