/* FitsCalc Direct UI Visual Consistency R3
   Residual presentation normalization. No engineering logic or data. */
html[data-fc-visual-consistency="r3"],body[data-fc-visual-consistency="r3"]{
  --fc-vr3-bg:#e7ebe8;
  --fc-vr3-surface:#f8f9f7;
  --fc-vr3-surface-2:#eef1ee;
  --fc-vr3-border:#aab5ae;
  --fc-vr3-border-strong:#718078;
  --fc-vr3-text:#172129;
  --fc-vr3-muted:#53625b;
  --fc-vr3-primary:#365c76;
  --fc-vr3-primary-hover:#28465b;
  --fc-vr3-focus:#2b6f9a;
  --fc-vr3-font:"Segoe UI",Arial,sans-serif;
  color-scheme:light;
}
body[data-fc-visual-consistency="r3"]{margin:0;min-height:100%;background:var(--fc-vr3-bg);color:var(--fc-vr3-text);font-family:var(--fc-vr3-font);font-size:14px;line-height:1.4;}
body[data-fc-visual-consistency="r3"] :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="color"]),select,textarea){
  box-sizing:border-box;min-height:36px;border:1px solid var(--fc-vr3-border-strong);border-radius:4px;background:#fff;color:#111;font:400 13px/1.35 var(--fc-vr3-font);box-shadow:inset 0 1px 2px rgba(0,0,0,.08);
}
body[data-fc-visual-consistency="r3"] :where(input,select,textarea,button):focus-visible{outline:2px solid var(--fc-vr3-focus);outline-offset:2px;}
body[data-fc-visual-consistency="r3"] :where(button,input[type="button"],input[type="submit"],input[type="reset"]){
  box-sizing:border-box;min-height:36px;border:1px solid var(--fc-vr3-border-strong);border-radius:4px;background:var(--fc-vr3-surface-2);color:var(--fc-vr3-text);font:600 13px/1.2 var(--fc-vr3-font);padding:7px 12px;cursor:pointer;
}
body[data-fc-visual-consistency="r3"] :where(button,input[type="button"],input[type="submit"],input[type="reset"]):hover{border-color:var(--fc-vr3-primary);}
body[data-fc-visual-consistency="r3"] :where(table:not([role="presentation"])){border-collapse:collapse;background:#fff;color:#111;}
body[data-fc-visual-consistency="r3"] :where(table:not([role="presentation"]) th,table:not([role="presentation"]) td){border-color:var(--fc-vr3-border);}
body[data-fc-visual-consistency="r3"] :where(fieldset){border:1px solid var(--fc-vr3-border);border-radius:6px;background:var(--fc-vr3-surface);}
body[data-fc-visual-consistency="r3"] :where(legend){font-weight:600;color:#243945;}
/* Office family: unify chrome and controls but preserve each tool's working canvas/layout. */
body[data-fc-visual-consistency="r3"][data-fc-visual-profile="office"] :where(main,.app,.tool,.workspace,.page,.container){box-sizing:border-box;}
body[data-fc-visual-consistency="r3"][data-fc-visual-profile="office"] :where(.toolbar,.controls,.control-bar,.actions,.form-row,.field-row){gap:8px;}
/* Legacy engineering controls get the same control language without disturbing module-specific geometry. */
body[data-fc-visual-consistency="r3"][data-fc-visual-profile="legacy-controls"] :where(main,.fc-module-main){box-sizing:border-box;}
/* Standalone/simulator pages are intentionally not forced into semantic main/h1 wrappers. */
body[data-fc-visual-consistency="r3"][data-fc-visual-structural-exempt="standalone"],
body[data-fc-visual-consistency="r3"][data-fc-visual-structural-exempt="simulator"]{background:var(--fc-vr3-bg);font-family:var(--fc-vr3-font);}
/* Tools landing gets a shared style anchor without changing navigation behavior. */
body[data-fc-visual-consistency="r3"][data-fc-visual-profile="landing"]{background:var(--fc-vr3-bg);}
@media(max-width:900px){
  body[data-fc-visual-consistency="r3"] :where(input,select,textarea,button){max-width:100%;}
}
