/* Shared usability layer: no changes to forms, permissions, or calculation logic. */
:root { --ux-border:#dce4ee; --ux-shadow:0 3px 14px #18304c06; }
body { background:#f3f5f8; }
.portal-header:not(.portal-header--login) { background:linear-gradient(170deg,#1c2d44,#142033); }
.portal-brand__mark { border:1px solid #86b3ff30; box-shadow:0 3px 12px #0002; }
.portal-nav a { transition:background-color .15s,color .15s; }
.portal-nav a[aria-current=page] { background:#2c476a; }
.panel,.auth-card,.workspace,.results,.latest-products,.mtt-workspace,.mtt-editor,.mtt-documents { border-color:var(--ux-border); border-radius:12px; box-shadow:var(--ux-shadow); }
.panel__heading h2,.workspace__heading h2 { margin-top:0; }
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),select,textarea { border-radius:8px; transition:border-color .15s,box-shadow .15s; }
input[readonly],textarea[readonly] { background:#f4f6f9!important; }
input:disabled,select:disabled,textarea:disabled { background:#f1f4f8!important; color:#64748b; cursor:not-allowed; }
.table-wrap { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
.table-wrap:focus-visible { outline:3px solid #719ce0; outline-offset:3px; }
.portal-table-scroll { border-bottom:3px solid #9ab7df; }
td { font-variant-numeric:tabular-nums; }
.document-tabs,.section-nav { overflow-x:auto; overflow-y:hidden; flex-wrap:nowrap; padding-bottom:3px; }
.document-tabs a,.section-nav a { flex-shrink:0; white-space:nowrap; }
.notice { line-height:1.6; overflow-wrap:anywhere; }
.portal-menu-toggle,.portal-current-section { display:none; }
.portal-ux .mc-site-menu { display:none!important; }
.portal-current-section:empty { display:none!important; }
.cs2-filter-panel>summary { cursor:pointer; font-size:18px; font-weight:700; padding:5px 0 16px; color:#213b59; }
.cs2-filter-panel>summary small { display:block; font-size:12px; font-weight:400; color:#68798e; margin-top:6px; }
.cs2-model-picker { min-width:0; margin:0; padding:12px; border:1px solid #d8e2ef; border-radius:10px; background:#f7f9fc; }
.cs2-model-picker legend { font-size:13px; font-weight:700; padding:0 4px; }
.cs2-model-picker label { display:flex!important; align-items:center; gap:8px; padding:5px 0; font-size:13px; }
.cs2-model-picker input[type=checkbox] { width:17px!important; height:17px!important; min-height:0!important; margin:0; flex-shrink:0; }
.cs2-model-hint { font-size:12px; color:#64748b; line-height:1.5; margin:8px 0; }
.cs2-model-error { font-size:12px; color:#ac3030; margin:6px 0 0; }
.cs2-model-error:empty { display:none; }
main { min-width:0; }
button,a,input,select,textarea,summary { touch-action:manipulation; }
button:disabled { cursor:wait; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid #6598db; outline-offset:3px; }
.page>h1,.page>.page-heading h1 { letter-spacing:-.025em; }
.page>p,.page-heading p { line-height:1.65; }
.section-nav a,.document-tabs a { min-height:42px; display:inline-flex; align-items:center; }
@media(min-width:981px) {
  .portal-nav a { margin:3px 10px; border-radius:8px; }
  .portal-nav a[aria-current=page] { box-shadow:inset 3px 0 #83b4f4; }
}
@media(max-width:980px) {
  .portal-header.portal-ux { position:relative; }
  .portal-ux .portal-header__bar { flex-wrap:wrap; gap:12px; padding:16px 20px 12px; }
  .portal-ux .portal-brand { margin-right:auto; }
  .portal-ux .portal-menu-toggle { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 13px; border:1px solid #637894; background:#ffffff0a; color:#fff; font-size:14px; cursor:pointer; }
  .portal-ux .portal-menu-toggle:hover,.portal-ux .portal-menu-toggle[aria-expanded=true] { background:#304969; }
  .portal-ux .portal-current-section { display:block; flex-basis:100%; color:#c0cee1; font-size:13px; line-height:1.4; }
  .portal-header.portal-ux .portal-nav { display:none; }
  .portal-header.portal-ux.portal-menu-open .portal-nav { display:block; max-height:65vh; overflow-y:auto; border-top:1px solid #ffffff14; padding-top:10px; }
  .portal-ux .portal-account-wrap { align-self:start; padding-top:16px; }
  .portal-ux .portal-account__menu { max-width:calc(100vw - 28px); }
}
@media(max-width:640px) {
  .portal-ux .portal-header__bar { padding:14px 0 12px 14px; gap:10px; }
  .portal-ux .portal-brand { font-size:16px; gap:8px; }
  .portal-ux .portal-brand small { font-size:11px; }
  .portal-ux .portal-brand__mark { width:28px; height:32px; }
  .portal-ux .portal-account-wrap { padding:15px 12px 0 10px; }
  .portal-ux .portal-menu-toggle { font-size:13px; padding:8px 10px; }
  .panel,.workspace,.results,.latest-products { padding:18px; }
  .panel__heading { flex-wrap:wrap; gap:12px; margin-bottom:20px; }
  .form-grid { min-width:0; }
  .field,.file-field,.file-input { min-width:0; }
  input[type=file] { max-width:100%; font-size:14px; }
  .file-field,.file-input { padding:16px; }
  h1 { font-size:26px; } h2 { font-size:21px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
