:root {
  --ceo-radius: 3px;
}

/* Numeric values are entered directly; browser stepper controls are never part of CEO-OS UI. */
input[type="number"] {
  appearance: textfield !important;
  -moz-appearance: textfield !important;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  display: none !important;
  margin: 0 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

html,
body:not(#ceo-radius-override-a):not(#ceo-radius-override-b):not(#ceo-radius-override-c),
body:not(#ceo-radius-override-a):not(#ceo-radius-override-b):not(#ceo-radius-override-c) *,
body:not(#ceo-radius-override-a):not(#ceo-radius-override-b):not(#ceo-radius-override-c) *::before,
body:not(#ceo-radius-override-a):not(#ceo-radius-override-b):not(#ceo-radius-override-c) *::after {
  border-radius: var(--ceo-radius) !important;
}

/* The viewport-edge navigation rail is structural chrome, not a rounded UI control. */
body:not(#ceo-radius-override-a):not(#ceo-radius-override-b):not(#ceo-radius-override-c) :is(#app > .sidebar, #portalSidebar) {
  border-radius: 0 !important;
}

/* The rail toggle is the sole approved circular control. */
body:not(#ceo-radius-override-a):not(#ceo-radius-override-b):not(#ceo-radius-override-c) :is(#sidebarToggle.sidebar-toggle, #portalMenuToggle.portal-menu-toggle) {
  border-radius: 50% !important;
}

/* The IP station switch is an edge-aligned text tab strip, not a rounded control. */
body:not(#ceo-radius-override-a):not(#ceo-radius-override-b):not(#ceo-radius-override-c) #ipAccountingTabs.ip-accounting-tabs > button {
  border-radius: 0 !important;
}

body:not(#ceo-radius-override-a):not(#ceo-radius-override-b):not(#ceo-radius-override-c) input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid #718497 !important;
  background-color: #fff !important;
  background-image: none !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  cursor: pointer;
}

body:not(#ceo-radius-override-a):not(#ceo-radius-override-b):not(#ceo-radius-override-c) input[type="checkbox"]:checked {
  border-color: #29384a !important;
  background-color: #29384a !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.4' d='m4 10 4 4 8-9'/%3E%3C/svg%3E") !important;
  background-size: 16px !important;
}

body:not(#ceo-radius-override-a):not(#ceo-radius-override-b):not(#ceo-radius-override-c) :is(thead, tbody, tfoot, tr, th, td) {
  border-radius: 0 !important;
}
